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


Метод IWMDRMLicenseManagement::AcquireLicense

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

Метод AcquireLicense асинхронно получает лицензию по указанному URL-адресу.

Синтаксис

HRESULT AcquireLicense(
  [in]  BSTR     bstrURL,
  [in]  BSTR     bstrHeaderData,
  [in]  BSTR     bstrActions,
  [in]  DWORD    dwFlags,
  [out] IUnknown **ppunkCancelationCookie
);

Параметры

bstrURL [in]

URL-адрес сервера лицензирования, с которого требуется получить лицензию. Передайте значение NULL , чтобы метод выполнил синтаксический анализ URL-адреса из заголовка содержимого.

bstrHeaderData [in]

Заголовок содержимого, передаваемый на сервер лицензирования. Если параметр bstrURL имеет значение NULL, метод анализирует URL-адрес из этого заголовка. Если параметру dwFlags присвоено значение WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT, задайте для этого значения идентификатор ключа, а не весь заголовок содержимого.

bstrActions [in]

Строка, содержащая ноль или более действий, для которых требуется запросить разрешение в лицензии. Строка должна быть отформатирована следующим образом:

  • Каждое действие должно быть определено в элементе ACTION. Данные элемента являются строкой действия.

  • Все элементы ACTION должны содержаться в элементе ACTIONLIST.

    Например, строка для запроса лицензии на воспроизведение содержимого имеет следующий формат:

    <ACTIONLIST><ACTION></ACTION></ACTIONLIST>
    

dwFlags [in]

Флаги параметров приобретения лицензий. Задайте для одной из констант в следующей таблице.

Константа Описание
WMDRM_ACQUIRE_LICENSE_SILENT Лицензия будет выдана непосредственно через Интернет без каких-либо подтверждений от клиентского приложения.
WMDRM_ACQUIRE_LICENSE_NONSILENT Подсистема DRM создаст запрос лицензии, который будет возвращен асинхронно для публикации на сервере лицензирования.
WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT То же, что и WMDRM_ACQUIRE_LICENSE_NONSILENT, за исключением того, что будет создан запрос лицензии DRM версии 1.

ppunkCancelationCookie [out]

Указатель, получающий указатель на интерфейс IUnknown объекта, который идентифицирует этот асинхронный вызов. Этот указатель интерфейса можно использовать для отмены асинхронного вызова путем вызова метода IWMDRMEventGenerator::CancelAsyncOperation .

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

Этот метод выполняется асинхронно. Он возвращается сразу после вызова, а затем создает событие MEWMDRMLicenseAcquisitionCompleted после завершения обработки. Для операций приобретения лицензий без автоматического использования значение события, полученное путем вызова IMFMediaEvent::GetValue , является указателем IUnknown . Вы можете вызвать метод QueryInterface полученного интерфейса IUnknown , чтобы получить экземпляр интерфейса IWMDRMNonSilentLicenseAquisition .

Дополнительные сведения об использовании асинхронных методов расширенных API клиента DRM Windows Media см. в статье Использование модели событий Media Foundation.

Требования

Требование Значение
Заголовок
Wmdrmsdk.h
Библиотека
Wmdrmsdk.lib

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

Интерфейс IWMDRMLicenseManagement

Автоматическое получение лицензии