структура 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 |
Верхний колонтитул |
|