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::End2 或 IWMDMProgress3::End3 来获取完成状态。 这些方法将确保操作完成,并且还会返回包含成功或失败信息的 HRESULT。
如果应用程序使用 WMDM_MODE_THREAD 并传递非 null pProgress 参数,则应用程序必须确保在移动操作完成之前不会销毁 pProgress 所属的对象,因为 Windows Media 设备管理器 将向此对象发送进度通知。 此对象只有在收到结束通知后才能销毁。 如果不这样做,将导致访问冲突。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |