Функция 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

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