The ICcmAlternateDownloadProvider::DownloadContent method, in Configuration Manager, instructs the provider to download content.

	HRESULT DownloadContent(
			LPCWSTR szContentId, 
			LPCWSTR szContentVersion, 
			LPCWSTR szRemotePath, 
			LPCWSTR szLocalPath, 
			LPCWSTR szNotifyEndpoint, 
			LPCWSTR szNotifyData, 
			CCM_DTS_PRIORITY Priority, 
			DWORD dwTimeoutSeconds, 
			DWORD dwChunkSize, 
			DWORD dwFlags, 
			LPCWSTR szLocationOptions, 
			LPCWSTR szFileManifest, 
			LPCWSTR szOwnerSID, 
			BOOL bDeleteJobOnError, 
			LPCWSTR szProviderData, 
			LPCWSTR szPackageData, 
			GUID *pJobID
		); 

Parameters

szContentId

Data type: LPCWSTRQualifiers: [in]The content/package ID to download.
szContentVersion

Data type: LPCWSTRQualifiers: [in]The content/package version to download.
szRemotePath

Data type: LPCWSTRQualifiers: [in]A hint on where to download the content. The provider is free to ignore this and download using its own mechanisms.
szLocalPath

Data type: LPCWSTRQualifiers: [in]The directory to which the content should be downloaded. This directory should already exist on this call, and the provider should not change any ACLs on the directory itself for any reason.
szNotifyEndpoint

Data type: LPCWSTRQualifiers: [in]Endpoint to be used for notifying Content Transfer Manager. This should be passed verbatim into calls to SendNotify*ToCTM.
szNotifyData

Data type: LPCWSTRQualifiers: [in]Notification data specified by Content Transfer Manager This should be passed verbatim into calls to SendNotify*ToCTM
Priority

Data type: CCM_DTS_PRIORITYQualifiers: [in]The priority for the job. See notes on CCM_DTS_PRIORITY.
dwTimeoutSeconds

Data type: DWORDQualifiers: [in]The timeout for the job. If the timeout is reached, the job should report an error through SendNotifyErrorToCTM.
dwChunkSize

Data type: DWORDQualifiers: [in]The chunk size to use for notification. If progress notifications have been requested, Content Transfer Manager should be notified every dwChunkSize bytes.
dwFlags

Data type: DWORDQualifiers: [in]Flags for the job. This corresponds to an OR of CCM_DTS_FLAG values.
szLocationOptions

Data type: LPCWSTRQualifiers: [in]Reserved. Alternate providers should ignore this.
szFileManifest

Data type: LPCWSTRQualifiers: [in, unique]Reserved. Alternate providers should ignore this.
szOwnerSID

Data type: LPCWSTRQualifiers: [in]The user context in which the download should be performed.
bDeleteJobOnError

Data type: BOOLQualifiers: [in]Indicates whether or not a job should immediately fail due to a transient error condition. If this is false, then transient errors should simply cause the provider to internally retry unless the job times out or is instructed otherwise by Content Transfer Manager.
szProviderData

Data type: LPCWSTRQualifiers: [in]The provider-specific data specified in the CCM_DownloadProvider policy. This will be an empty string, if data was not specified.
szPackageData

Data type: LPCWSTRQualifiers: [in]The package-specific data specified server-side, wrapped in a <Data> XML element. This will be an empty string if data was not specified.
*pJobID

Data type: GUIDQualifiers: [out]The job ID which should be used for reference on subsequent calls.

Return Values

An HRESULT code. Possible values include, but are not limited to, the following:

S_OK

Success implies that discovery was triggered successfully. All other return values indicate failure.

Remarks

Note
If the provider cannot handle the request for any reason, it should return an error.

Requirements

Runtime Requirements

Development Requirements