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::End2IWMDMProgress3::End3 来获取完成状态。 这些方法将确保操作完成,并且还会返回包含成功或失败信息的 HRESULT。

如果应用程序使用 WMDM_MODE_THREAD 并传递非 null的 pProgress 参数,则应用程序必须确保在读取操作完成之前不会销毁 pProgress 所属的对象,因为 Windows Media 设备管理器 将向此对象发送进度通知。 此对象只有在收到结束通知后才能销毁。 如果不这样做,将导致访问冲突。

要求

要求
目标平台 Windows
标头 mswmdm.h
Library Mssachlp.lib

另请参阅

IWMDMDevice::GetStatus

IWMDMOperation 接口

IWMDMProgress 接口

IWMDMStorageControl 接口

IWMDMStorageControl::Insert