Метод ISCPSecureQuery2::MakeDecision2 (mswmdm.h)
Метод MakeDecision2 определяет, отвечает ли поставщик защищенного содержимого за содержимое, проверяя данные, которые Windows Media диспетчер устройств передает этому методу. Этот метод предоставляет два выходных параметра для обработки ошибок, расположение по умолчанию для обновления отозванных компонентов и битовый флаг, указывающий, какие компоненты были отозваны.
Синтаксис
HRESULT MakeDecision2(
[in] UINT fuFlags,
[in] BYTE *pData,
[in] DWORD dwSize,
[in] DWORD dwAppSec,
[in] BYTE *pbSPSessionKey,
[in] DWORD dwSessionKeyLen,
[in] IMDSPStorageGlobals *pStorageGlobals,
[in] BYTE *pAppCertApp,
[in] DWORD dwAppCertAppLen,
[in] BYTE *pAppCertSP,
[in] DWORD dwAppCertSPLen,
[in, out] LPWSTR *pszRevocationURL,
[in, out] DWORD *pdwRevocationURLLen,
[out] DWORD *pdwRevocationBitFlag,
[in, out] ULONGLONG *pqwFileSize,
[in] IUnknown *pUnknown,
[out] ISCPSecureExchange **ppExchange,
[in, out] BYTE [8] abMac
);
Параметры
[in] fuFlags
Флаги, описывающие данные, предлагаемые поставщику защищенного содержимого для принятия решений. Этот параметр должен быть включен в код проверки подлинности входного сообщения. Один или несколько из следующих флагов можно комбинировать с помощью побитового ИЛИ.
Flag | Описание |
---|---|
WMDM_SCP_DECIDE_DATA | Параметр pData указывает на данные для изучения. |
WMDM_MODE_TRANSFER_PROTECTED | Выходные данные объекта из интерфейса ISCPSecureExchange должны быть защищены. Если windows Media диспетчер устройств не устанавливает ни один или оба флага режима, диспетчер цифровых прав Windows Media решает, должны ли данные выходных объектов из интерфейса ISCPSecureExchange быть защищены или не защищены. |
WMDM_MODE_TRANSFER_UNPROTECTED | Выходные данные объекта из интерфейса ISCPSecureExchange должны быть незащищены. Если windows Media диспетчер устройств не устанавливает ни один или оба флага режима, диспетчер цифровых прав Windows Media решает, должны ли данные выходных объектов из интерфейса ISCPSecureExchange быть защищены или не защищены. |
[in] pData
Указатель на объект данных, содержащий данные для изучения. Этот параметр должен быть включен в код проверки подлинности входного сообщения и должен быть зашифрован.
[in] dwSize
DWORD , содержащий размер данных файла.
[in] dwAppSec
DWORD , содержащий длину (в байтах) члена dwAppSec структуры WMDMRIGHTS поставщика услуг и поставщика защищенного содержимого для проверки. Этот параметр должен быть включен в код проверки подлинности входного сообщения.
[in] pbSPSessionKey
Указатель на массив байтов, содержащий ключ сеанса для защиты связи с поставщиком услуг, на который указывает pStgGlobals . Этот параметр должен быть включен в код проверки подлинности входного сообщения и должен быть зашифрован.
[in] dwSessionKeyLen
DWORD , содержащий длину ключа сеанса.
[in] pStorageGlobals
Указатель на интерфейс IWMDMStorageGlobals в корневом хранилище носителя или устройства, из которого передается файл. Этот параметр должен быть включен в код проверки подлинности входного сообщения.
[in] pAppCertApp
Указатель на сертификат приложения объекта приложения.
[in] dwAppCertAppLen
DWORD , содержащий длину (в байтах) сертификата приложения.
[in] pAppCertSP
Указатель на сертификат приложения объекта поставщика услуг.
[in] dwAppCertSPLen
DWORD , содержащий длину (в байтах) сертификата приложения.
[in, out] pszRevocationURL
Указатель на буфер для хранения URL-адреса отзыва.
[in, out] pdwRevocationURLLen
Указатель на DWORD , содержащий размер буфера rpszRevocationURL в байтах.
[out] pdwRevocationBitFlag
Указатель на DWORD , содержащий флаг бита отзыва. Значение флага будет равно нулю или одному или нескольким из следующих имен флагов, объединенных с использованием побитового ИЛИ.
Значение | Описание |
---|---|
WMDM_WMDM_REVOKED | Сама диспетчер устройств Windows Media была отозвана. |
WMDM_APP_REVOKED | Приложение было отозвано, и его необходимо обновить перед передачей любого содержимого, защищенного DRM. |
WMDM_SP_REVOKED | Поставщик услуг был отозван и должен быть обновлен перед передачей в него любого содержимого, защищенного DRM. |
WMDM_SCP_REVOKED | Поставщик безопасного содержимого был отозван и должен быть обновлен перед передачей содержимого, защищенного DRM. |
[in, out] pqwFileSize
Указатель на QWORD , содержащий размер файла. Поставщик безопасного содержимого отвечает за обновление этого значения или установку его на нулевое значение, если на данный момент не удается определить размер целевого файла.
[in] pUnknown
Указатель на неизвестный интерфейс из приложения.
[out] ppExchange
Указатель на объект exchange, который получает интерфейс exchange.
[in, out] abMac
Массив из восьми байтов, содержащий код проверки подлинности сообщения для данных параметров этого метода. (WMDM_MAC_LENGTH определяется как 8.)
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возвращается код ошибки HRESULT .
Код возврата | Описание |
---|---|
|
Сертификат приложения, который поставщик безопасного содержимого использует для взаимодействия с клиентом DRM, был отозван. |
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | mswmdm.h |
Библиотека | Mssachlp.lib |