IWMDMStorageControl::Move 方法 (mswmdm.h)

Move 方法将当前存储移动到设备上的新位置。

语法

HRESULT Move(
  [in] UINT          fuMode,
  [in] IWMDMStorage  *pTargetObject,
  [in] IWMDMProgress *pProgress
);

参数

[in] fuMode

用于调用 Move 操作和要进行的移动类型的处理模式。 指定以下两种模式之一。 如果同时指定了两种模式,则使用块模式。

“模式” 说明
WMDM_MODE_BLOCK 该操作是使用块模式处理执行的。 在操作完成之前,调用不会返回。
WMDM_MODE_THREAD 该操作是使用线程模式处理执行的。 调用将立即返回,并且操作在后台线程中执行。
 

下表列出了指示对象移动到何处的标志。 此表中的一个值使用按位 OR 与上述 Mode 表中的一个值组合在一起。

标志 描述
WMDM_STORAGECONTROL_INSERTBEFORE 对象插入到目标对象之前。
WMDM_STORAGECONTROL_INSERTINTO 对象插入到目标对象中。
WMDM_STORAGECONTROL_INSERTAFTER 对象插入到目标对象之后。

[in] pTargetObject

指向要放置当前对象的之前或之后的 对象的指针。

[in] pProgress

指向已由应用程序实现的 IWMDMProgress 接口的可选指针,用于跟踪正在进行的操作的进度。

返回值

该方法返回 HRESULT。 Windows Media 设备管理器 中的所有接口方法都可以返回以下任一类错误代码:

  • 标准 COM 错误代码
  • 转换为 HRESULT 值的 Windows 错误代码
  • Windows Media 设备管理器错误代码
有关可能错误代码的广泛列表,请参阅 错误代码

注解

文件或目录只能在同一根存储中移动。

如果指定了WMDM_MODE_THREAD标志,则应通过调用 IWMDMProgress2::End2IWMDMProgress3::End3 来获取完成状态。 这些方法将确保操作完成,并且还会返回包含成功或失败信息的 HRESULT。

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

要求

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

另请参阅

IWMDMDevice::GetStatus

IWMDMProgress 接口

IWMDMStorage 接口

IWMDMStorageControl 接口