Поделиться через


Метод IWMDMStorageControl::Move (mswmdm.h)

Метод Move перемещает текущее хранилище в новое расположение на устройстве.

Синтаксис

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

Параметры

[in] fuMode

Режим обработки, с помощью которого вызывается операция перемещения , и тип перемещения, который необходимо выполнить. Укажите ровно один из следующих двух режимов. Если указаны оба режима, используется режим блокировки.

Режим Описание
WMDM_MODE_BLOCK Операция выполняется с помощью обработки в блочных режимах. Вызов не будет возвращать, пока операция не будет завершена.
WMDM_MODE_THREAD Операция выполняется с помощью обработки в потоковом режиме. Вызов возвращается немедленно, и операция выполняется в фоновом потоке.
 

В следующей таблице перечислены флаги, указывающие, куда перемещается объект. Одно значение из этой таблицы объединяется с одним значением из предыдущей таблицы Mode с использованием побитового ИЛИ.

Flag Описание
WMDM_STORAGECONTROL_INSERTBEFORE Объект вставляется перед целевым объектом .
WMDM_STORAGECONTROL_INSERTINTO Объект вставляется в целевой объект .
WMDM_STORAGECONTROL_INSERTAFTER Объект вставляется после целевого объекта.

[in] pTargetObject

Указатель на объект до или после которого требуется поместить текущий объект.

[in] pProgress

Необязательный указатель на интерфейс IWMDMProgress , реализованный приложением для отслеживания хода выполнения текущей операции.

Возвращаемое значение

Метод возвращает HRESULT. Все методы интерфейса в Windows Media диспетчер устройств могут возвращать любой из следующих классов кодов ошибок:

  • Стандартные коды ошибок COM
  • Коды ошибок Windows, преобразованные в значения HRESULT
  • Коды ошибок диспетчер устройств Windows Media
Подробный список возможных кодов ошибок см. в разделе Коды ошибок.

Комментарии

Файл или каталог можно перемещать только в пределах одного корневого хранилища.

Если указан флаг WMDM_MODE_THREAD, необходимо получить состояние завершения, вызвав IWMDMProgress2::End2 или IWMDMProgress3::End3. Эти методы гарантируют завершение операции, а также возвращают HRESULT со сведениями об успешном или неудачном выполнении.

Если приложение использует WMDM_MODE_THREAD и передает параметр pProgress, отличный от NULL, приложение должно гарантировать, что объект, которому принадлежит pProgress, не будет уничтожен до завершения операции перемещения, так как windows Media диспетчер устройств будет отправлять уведомления о ходе выполнения этому объекту. Этот объект можно уничтожить только после получения уведомления о завершении. Невыполнение этого действия приведет к нарушениям доступа.

Требования

Требование Значение
Целевая платформа Windows
Header mswmdm.h
Библиотека Mssachlp.lib

См. также раздел

IWMDMDevice::GetStatus

Интерфейс IWMDMProgress

Интерфейс IWMDMStorage

Интерфейс IWMDMStorageControl