Метод ISCPSecureExchange3::TransferContainerDataOnClearChannel (mswmdm.h)
Метод TransferContainerDataOnClearChannel передает данные файла контейнера поставщику содержимого через чистый канал. Поставщик содержимого разбивает контейнер внутри и сообщает, какие части содержимого доступны по мере их извлечения из контейнера.
Этот метод идентичен методу ISCPSecureExchange::TransferContainerData , за исключением того, что передаваемые этому методу параметры не шифруются. Следовательно, этот метод более эффективен.
Синтаксис
HRESULT TransferContainerDataOnClearChannel(
IMDSPDevice *pDevice,
BYTE *pData,
DWORD dwSize,
IWMDMProgress3 *pProgressCallback,
UINT *pfuReadyFlags
);
Параметры
pDevice
Указатель на объект устройства.
pData
Указатель на буфер, содержащий текущие данные, передаваемые из файла контейнера.
dwSize
Содержит количество байтов в буфере.
pProgressCallback
Обратный вызов хода выполнения, при котором поставщик содержимого может сообщать о ходе выполнения любых шагов, которые ему может потребоваться выполнить. Шаг будет определен параметром EventId методов IWMDMProgress3 .
pfuReadyFlags
Флаг, указывающий, какие части файла контейнера готовы к чтению. Этот параметр включен в код проверки подлинности выходного сообщения. Следующие флаги указывают, что готово.
Значение | Значение |
---|---|
|
Данные объекта доступны путем вызова метода GetObjectDataOnClearChannel . |
|
Поставщик содержимого определил, что он не требует дальнейшей обработки и /или изменения передаваемого файла. Диспетчер устройств Windows Media могут напрямую передать оставшуюся часть файла на устройство. |
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. Если метод завершается сбоем, он возвращает код ошибки HRESULT .
Код возврата | Описание |
---|---|
|
Вызывающий объект не авторизован для использования этого интерфейса. |
|
Вызывающий объект не имеет прав, необходимых для выполнения запрошенной операции. |
|
Недопустимый код проверки подлинности сообщения. |
|
Сбой метода. Завершите взаимодействие с поставщиком содержимого. |
|
Недопустимый параметр или является указателем NULL . |
|
Произошла неизвестная ошибка. |
Комментарии
Windows Media диспетчер устройств многократно вызывает этот метод, передавая данные из файла контейнера поставщику содержимого. Windows Media диспетчер устройств в конечном итоге вызывает этот метод с параметром dwSize, равным нулю, чтобы указать, что у него больше нет данных для передачи. Когда поставщик содержимого собирает данные и извлекает из них различные объекты, он сообщает в Windows Media диспетчер устройств какие объекты, если таковые имеются, доступны после каждого вызова. Если доступных объектов нет, поставщик содержимого возвращает S_OK с параметром pfuReadyFlags , равным нулю. Если поставщик содержимого определяет, что он не требует дальнейшей обработки и (или) изменения передаваемого файла, возвращается флаг WMDM_SCP_NO_MORE_CHANGES. Затем диспетчер устройств Windows Media могут напрямую передать оставшуюся часть файла на устройство.
Данные объекта передаются из поставщика содержимого путем вызова метода GetObjectDataOnClearChannel . Windows Media диспетчер устройств многократно вызывает Метод GetObjectDataOnClearChannel, пока не вернет ноль в третьем параметре pdwsize.
Метод ISCPSecureExchange::TransferComplete (или TransferCompleteForDevice, если сеанс активен) вызывается диспетчер устройств Windows Media, чтобы сообщить об окончании передачи данных.
Windows Media диспетчер устройств передает предоставленный приложением обратный вызов хода выполнения поставщику содержимого в параметре pProgressCallback. Поставщик содержимого может использовать этот параметр для отправки уведомлений о ходе выполнения любых шагов, которые ему необходимо выполнить. Сам шаг определяется с помощью EventId, который является первым параметром методов IWMDMProgress3. Конкретная реализация поставщика содержимого определяет значения EventId для приложений.
Этот метод идентичен методу ISCPSecureExchange::TransferContainerData , за исключением того, что передаваемые этому методу параметры не шифруются. Следовательно, этот метод более эффективен.
Требования
Целевая платформа | Windows |
Header | mswmdm.h |
Библиотека | Mssachlp.lib |