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


Метод 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 . В настоящее время это не поддерживается поставщиками услуг, предоставляемыми корпорацией Майкрософт.
WMDM_CONTENT_OPERATIONINTERFACE Интерфейс IWMDMOperation , реализованный приложением, используется для чтения данных вместо передачи имени файла.

[in] pwszFile

Указатель на полное имя файла на компьютере, на который копируется содержимое с переносного устройства. Имя файла должно содержать расширение ; расширение из текущего хранилища на устройстве не будет использоваться. Если WMDM_CONTENT_OPERATIONINTERFACE указан в fuMode, этот параметр игнорируется.

[in] pProgress

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

[in] pOperation

Необязательный указатель на интерфейс IWMDMOperation , необязательный набор методов, используемых для улучшения передачи содержимого с устройства мультимедиа. Этот параметр должен иметь значение NULL , если в fuMode указан WMDM_CONTENT_FILE или WMDM_CONTENT_FOLDER.

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

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

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

Комментарии

Этот метод автоматически перезапишет существующие файлы, указанные pwszFilename. Это может быть успешно, даже если

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

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

Требования

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

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

IWMDMDevice::GetStatus

Интерфейс IWMDMOperation

Интерфейс IWMDMProgress

Интерфейс IWMDMStorageControl

IWMDMStorageControl::Insert