IMDSPDirectTransfer::TransferToDevice 方法 (mswmdm.h)
Windows Media 设备管理器调用 TransferToDevice 方法,以将内容传输内容委托给服务提供商。 可以将源指定为文件或操作接口。
语法
HRESULT TransferToDevice(
[in] LPCWSTR pwszSourceFilePath,
[in] IWMDMOperation *pSourceOperation,
[in] UINT fuFlags,
[in] LPWSTR pwszDestinationName,
[in] IWMDMMetaData *pSourceMetaData,
[in] IWMDMProgress *pTransferProgress,
[out] IMDSPStorage **ppNewObject
);
参数
[in] pwszSourceFilePath
源文件名称。 如果指定了WMDM_CONTENT_OPERATIONINTERFACE,则应忽略此参数中包含的值。
[in] pSourceOperation
用作源的操作接口指针。 除非指定了WMDM_CONTENT_OPERATIONINTERFACE,否则应忽略此参数中包含的值。
[in] fuFlags
影响此方法行为的标志。 fuFlags 参数必须是以下值之一。
值 | 说明 |
---|---|
WMDM_CONTENT_FILE | 源是文件。 |
WMDM_CONTENT_FOLDER | 源是一个文件夹。 |
WMDM_FILE_CREATE_OVERWRITE | 覆盖目标文件(如果已存在)。 |
[in] pwszDestinationName
应使用此名称将内容传输到设备。 此参数是必需的。
[in] pSourceMetaData
元数据接口指针。 元数据对象包含源属性。 此参数是可选的。
[in] pTransferProgress
进度回调接口。 服务提供商应在传输过程中更新信息。 此参数是可选的。
[out] ppNewObject
新建的存储对象。 此参数是可选的。 如果调用方不需要返回新对象,则可以为 NULL 。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
下列情况之一存在:
|
|
磁盘上没有足够的空间。 |
|
文件已存在,但未指定WMDM_FILE_CREATE_OVERWRITE。 如果设备允许重复的文件名,则可以接受此错误,并且不需要返回此错误。 |
|
设备上不支持传输指定内容。 |
注解
每次传输期间,Windows Media 设备管理器 IMDSPDirectTransfer 接口的查询。
如果服务提供商支持 IMDSPDirectTransfer 接口,Windows Media 设备管理器只需将内容传输委托给服务提供商。 在这种情况下,Windows Media 设备管理器在将内容发送到服务提供商之前不会对其进行任何处理。 服务提供商获得对源的完全控制。
如果服务提供商不支持 IMDSPDirectTransfer 接口,Windows Media 设备管理器处理源文件并将字节数据包发送到服务提供商。 此外,对于受保护的内容,Windows Media 设备管理器调用安全内容提供程序来处理内容,然后再将其发送到服务提供商。
如果支持 IMDSPDirectTransfer,Windows Media 设备管理器将内容处理委托给服务提供商。 这为服务提供商提供了处理内容的灵活性。 在这种情况下,服务提供商负责处理受保护的内容。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |