Функция DRMAcquireAdvisories (msdrm.h)

[Пакет SDK ДЛЯ AD RMS с функциональными возможностями, предоставляемыми

клиент в Msdrm.dll доступен для использования в Windows Server 2008, Windows Vista, Windows Server 2008 R2, Windows 7, Windows Server 2012 и Windows 8. Он может быть изменен или

недоступно в последующих версиях. Вместо этого используйте пакет SDK 2.1 служб Active Directory Rights Management.

который использует функциональные возможности, предоставляемые клиентом в Msipc.dll.]

Функция DRMAcquireAdvisories извлекает списки отзыва, необходимые для отправленной лицензии. Полученные списки отзыва добавляются в постоянное хранилище лицензий пользователя. Список отзыва — это подписанный документ XrML, в котором указываются субъекты, которые были отозваны, так как они больше не считаются надежными или допустимыми. Среди прочего, эти субъекты могут включать сертификаты учетных записей прав, сертификаты компьютеров, сертификаты подписи кода, манифесты и сертификаты лицензиара сервера.

Синтаксис

DRMEXPORT HRESULT UDAPICALL DRMAcquireAdvisories(
  [in]           DRMHSESSION hLicenseStorage,
  [in]           PWSTR       wszLicense,
  [in, optional] PWSTR       wszURL,
  [in]           VOID        *pvContext
);

Параметры

[in] hLicenseStorage

Дескриптор сеанса хранилища лицензий, созданного с помощью функции DRMCreateLicenseStorageSession .

[in] wszLicense

Указатель на строку Юникода, завершающуюся null, которая содержит лицензию, требующую списка отзыва. Это может быть любая лицензия или сертификат (либо цепочка сертификатов или объединенные лицензии), поддерживающие списки отзыва, включая лицензии конечных пользователей, сертификаты учетной записи прав или сертификаты лицензиара клиента.

[in, optional] wszURL

Указатель на строку Юникода, завершающуюся null, которая содержит дополнительный URL-адрес для запроса рекомендаций. Он будет проверяться в дополнение к URL-адресам, указанным в переданной лицензии. Для этого параметра можно задать значение NULL.

[in] pvContext

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

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

Если функция завершается успешно, функция возвращает S_OK.

Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Комментарии

Эта функция асинхронно извлекает списки рекомендаций. URL-адрес, по которому публикуется список отзыва, хранится в переданной лицензии, но его можно переопределить с помощью wszURL.

После получения списка рекомендаций его необходимо зарегистрировать с помощью DRMRegisterRevocationList. Проще всего перечислить все лицензии в хранилище лицензий с помощью DRMEnumerateLicense , а затем зарегистрировать каждую из них, а не пытаться найти только что приобретенный элемент.

Следует периодически удалять повторяющиеся или устаревшие списки отзыва из хранилища лицензий путем перечисления списков отзыва. Чтобы перечислить списки отзыва, вызовите DRMEnumerateLicense с флагом DRM_EL_EXPIRED , а затем вызовите DRMDeleteLicense. Так как перечисление и проверка лицензий могут занять много времени, приложение может выполнять эту задачу только периодически.

Приложение будет проинформировано о том, что необходимо получить новый список отзыва, если вызов функции DRMCreateBoundLicense возвращает E_DRM_BIND_REVOCATION_LIST_STALE или E_DRM_BIND_NO_APPLICABLE_REVOCATION_LIST.

Дополнительные сведения о списках отзыва и их создании см. в руководстве по развертыванию служб Active Directory Rights Management, которое поставляется со службами Rights Management.

Функция обратного вызова приложения, указанная в функции DRMCreateClientSession , будет вызвана с сообщением DRM_MSG_ACQUIRE_ADVISORY для предоставления отзывов о состоянии.

Требования

Требование Значение
Целевая платформа Windows
Header msdrm.h
Библиотека Msdrm.lib
DLL Msdrm.dll

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

Функции AD RMS

DRMRegisterRevocationList

Отзыв сертификата