IWMDMStorageControl::Read 方法 (mswmdm.h)
Read 方法将当前存储复制到计算机。
语法
HRESULT Read(
[in] UINT fuMode,
[in] LPWSTR pwszFile,
[in] IWMDMProgress *pProgress,
[in] IWMDMOperation *pOperation
);
参数
[in] fuMode
用于 读取 操作的处理模式。 下表列出了可在 fuMode 参数中指定的处理模式。 必须指定前两种模式中的一种,以及最后三种 (WMDM_CONTENT) 模式之一。 如果同时指定WMDM_MODE_BLOCK和WMDM_MODE_THREAD,则使用块模式。
“模式” | 说明 |
---|---|
WMDM_MODE_BLOCK | 该操作是使用块模式处理执行的。 在操作完成之前,调用不会返回。 |
WMDM_MODE_THREAD | 该操作是使用线程模式处理执行的。 调用将立即返回,并且操作在后台线程中执行。 |
WMDM_CONTENT_FILE | 调用方请求 Windows Media 设备管理器将文件从便携式设备读取到硬盘上的文件中。 调用方应在 pwszFileName 参数中指示文件的完整路径和名称。 |
WMDM_CONTENT_FOLDER | 调用方请求 Windows Media 设备管理器将指定文件夹、文件夹的内容以及任何子文件夹的内容从便携式设备读取到硬盘上。 调用方应在 pwszFileName 参数中指示硬盘上目标目录的完整路径。Microsoft 提供的任何服务提供商当前都不支持此功能。 |
WMDM_CONTENT_OPERATIONINTERFACE | 应用程序实现的 IWMDMOperation 接口用于读取数据,而不是传入文件名。 |
[in] pwszFile
指向可移植设备内容复制到的计算机上的完全限定文件名的指针。 文件名应包含扩展名;将不会使用设备上当前存储中的扩展。 如果在 fuMode 中指定了WMDM_CONTENT_OPERATIONINTERFACE,则忽略此参数。
[in] pProgress
指向应用程序实现的 IWMDMProgress 接口的可选指针,用于跟踪正在进行的操作的进度。
[in] pOperation
指向 IWMDMOperation 接口的 可选指针,一组可选方法,用于增强媒体设备的内容传输。 如果在 fuMode 中指定了WMDM_CONTENT_FILE或WMDM_CONTENT_FOLDER,此参数必须为 NULL。
返回值
该方法返回 HRESULT。 Windows Media 设备管理器 中的所有接口方法都可以返回以下任一类错误代码:
- 标准 COM 错误代码
- 转换为 HRESULT 值的 Windows 错误代码
- Windows Media 设备管理器错误代码
注解
此方法将自动覆盖 pwszFilename 指定的现有文件。 即使
如果指定了WMDM_MODE_THREAD标志,则应通过调用 IWMDMProgress2::End2 或 IWMDMProgress3::End3 来获取完成状态。 这些方法将确保操作完成,并且还会返回包含成功或失败信息的 HRESULT。
如果应用程序使用 WMDM_MODE_THREAD 并传递非 null的 pProgress 参数,则应用程序必须确保在读取操作完成之前不会销毁 pProgress 所属的对象,因为 Windows Media 设备管理器 将向此对象发送进度通知。 此对象只有在收到结束通知后才能销毁。 如果不这样做,将导致访问冲突。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |