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


Метод IMDSPDirectTransfer::TransferToDevice (mswmdm.h)

Метод TransferToDevice вызывается windows Media диспетчер устройств для делегирования содержимого, передаваемого содержимым поставщику услуг. Источник можно указать в виде файла или интерфейса операции.

Синтаксис

HRESULT TransferToDevice(
  [in]  LPCWSTR        pwszSourceFilePath,
  [in]  IWMDMOperation *pSourceOperation,
  [in]  UINT           fuFlags,
  [in]  LPWSTR         pwszDestinationName,
  [in]  IWMDMMetaData  *pSourceMetaData,
  [in]  IWMDMProgress  *pTransferProgress,
  [out] IMDSPStorage   **ppNewObject
);

Параметры

[in] pwszSourceFilePath

Имя исходного файла. Значение, содержащееся в этом параметре, следует игнорировать, если указано WMDM_CONTENT_OPERATIONINTERFACE.

[in] pSourceOperation

Указатель интерфейса операции, который выступает в качестве источника. Значение, содержащееся в этом параметре, следует игнорировать, если не указано WMDM_CONTENT_OPERATIONINTERFACE.

[in] fuFlags

Флаги, влияющие на поведение этого метода. Параметр fuFlags должен иметь одно из следующих значений.

Значение Описание
WMDM_CONTENT_FILE Источником является файл.
WMDM_CONTENT_FOLDER Источником является папка.
WMDM_FILE_CREATE_OVERWRITE Перезапишите целевой файл, если он уже существует.

[in] pwszDestinationName

Содержимое должно быть передано на устройство с таким именем. Это обязательный параметр.

[in] pSourceMetaData

Указатель интерфейса метаданных. Объект метаданных содержит свойства источника. Этот параметр является необязательным.

[in] pTransferProgress

Интерфейс обратного вызова хода выполнения. Поставщик услуг должен обновить сведения во время выполнения передачи. Этот параметр является необязательным.

[out] ppNewObject

Вновь созданный объект хранилища. Этот параметр является необязательным. Это значение может иметь значение NULL , если вызывающей объекту не требуется возвращать новый объект .

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

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
Выполняется одно из следующих условий.
  1. Указаны pwszSourceFileName и pSourceOperation ;

  2. pwszDestinationName не указано;

  3. FuFlags недопустим.

HRESULT_FROM_WIN32(ERROR_DISK_FULL)
Недостаточно места на диске.
HRESULT_FROM_WIN32(ERROR_FILE_EXISTS)
Файл уже существует, а WMDM_FILE_CREATE_OVERWRITE не указан. Если устройство допускает дублирование имен файлов, это может быть приемлемым, и эта ошибка не требуется возвращать.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
Передача указанного содержимого на устройстве не поддерживается.

Комментарии

Windows Media диспетчер устройств запросы интерфейса IMDSPDirectTransfer во время каждой передачи.

Если поставщик услуг поддерживает интерфейс IMDSPDirectTransfer, windows Media диспетчер устройств просто делегирует передачу содержимого поставщику услуг. В этом случае диспетчер устройств Windows Media не обрабатывает содержимое перед его отправкой поставщику услуг. Поставщик услуг получает полный контроль над источником.

Если поставщик услуг не поддерживает интерфейс IMDSPDirectTransfer, windows Media диспетчер устройств обрабатывает исходные файлы и отправляет байтовые пакеты поставщику услуг. Кроме того, для защищенного содержимого Windows Media диспетчер устройств вызывает защищенного поставщика содержимого для обработки содержимого перед его отправкой поставщику услуг.

Если поддерживается IMDSPDirectTransfer, Windows Media диспетчер устройств делегирует обработку содержимого поставщику службы. Это обеспечивает гибкость для поставщика услуг при обработке содержимого. В этом случае за обработку защищенного содержимого отвечает поставщик услуг.

Требования

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

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

Интерфейс IMDSPDirectTransfer

IMDSPObject::Close

IMDSPObject::Open

IMDSPObject::Write

Интерфейс IWMDMMetaData

Интерфейс IWMDMOperation

Интерфейс IWMDMProgress

Интерфейс IWMDMStorageControl