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


структура WM_GET_LICENSE_DATA

[Функция, связанная с этой страницей, Пакет SDK для формата Windows Media 11 — это устаревшая функция. Он был заменен исходным читателем и приемником записи. Средство чтения исходного кода и средство записи приемников оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код для чтения исходного кода и записи приемников вместо пакета SDK для Windows Media 11, если это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Структура WM_GET_LICENSE_DATA содержит сведения о том, где получить лицензию DRM.

Синтаксис

typedef struct _WMGetLicenseData {
  DWORD   dwSize;
  HRESULT hr;
  WCHAR   *wszURL;
  WCHAR   *wszLocalFilename;
  BYTE    *pbPostData;
  DWORD   dwPostDataSize;
} WM_GET_LICENSE_DATA;

Участники

dwSize

DWORD, содержащий размер WM_GET_LICENSE_DATA структуры в байтах.

Hr

Код возврата HRESULT .

wszURL

Строка, завершающаяся значением NULL, содержащая URL-адрес приобретения лицензий. Используйте эту строку и строку pbPostData в неумоляющем приобретении лицензий.

wszLocalFilename

Строка, завершающая значение NULL, содержащая локальную HTML-страницу, созданную компонентом DRM. При загрузке этой строки в браузер он автоматически перенаправляет HTTP-запрос на URL-адрес приобретения лицензии вместе с необходимыми данными после отправки. Использование этого локального URL-адреса теперь устарело. Рекомендуемый подход — использовать строки wszURL и pbPostData .

pbPostData

Указатель на массив байтов, содержащий данные, которые будут размещены на URL-адрес приобретения лицензии. В начало строки pbPostData необходимо добавить следующую строку: "nonsilent=1&challenge=". Результирующая строка должна быть добавлена в wszURL при создании HTTP-запроса.

dwPostDataSize

DWORD , указывающий размер pbPostData без строки nonsilent=1&challenge=, указанной в pbPostData.

Замечания

Эта заполненная структура возвращается в параметре pValue метода IWMStatusCallback::OnStatus, если WMT_STATUS равно WMT_NO_RIGHTS_EX или WMT_ACQUIRE_LICENSE. Для событий WMT_NO_RIGHTS_EX член отдела будет NS_E_LICENSE_REQUIRED, NS_E_LICENSE_OUTOFDATE или NS_E_LICENSE_INCORRECT_RIGHTS. Любая из этих ошибок указывает, что новая лицензия должна быть приобретена, перейдя по URL-адресу в члене wszURL .

Для событий WMT_ACQUIRE_LICENSE член отдела передает макрос SUCCEEDED, если лицензия была успешно приобретена. Если это событие получено после попытки автоматического приобретения, а hr равно NS_E_DRM_LICENSE_NOTACQUIRED, это означает, что только автоматическое приобретение поддерживается сервером лицензий для этой лицензии.

Пример приложения Audioplayer демонстрирует правильное использование сведений, возвращаемых в этой структуре.

Requirements

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Версия
Пакет SDK для Windows Media Format 7 или более поздние версии пакета SDK
Верхний колонтитул
Drmexternals.h

См. также

IWMDRMReader::AcquireLicense

Структуры