Функция DRMParseUnboundLicense (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.]

Функция DRMParseUnboundLicense создает дескриптор для неограниченной лицензии, чтобы позволить приложению перемещаться по своим объектам и атрибутам. Дополнительные сведения см. в подразделе "Примечания".

Синтаксис

DRMEXPORT HRESULT UDAPICALL DRMParseUnboundLicense(
  [in]  PWSTR          wszCertificate,
  [out] DRMQUERYHANDLE *phQueryRoot
);

Параметры

[in] wszCertificate

Конечный сертификат проверяемой лицензии в виде обычного текста (без кодировки).

[out] phQueryRoot

Указатель на дескриптор корневого объекта лицензии. Вызовите DRMCloseQueryHandle , чтобы закрыть дескриптор.

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

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

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

Комментарии

Эта функция предназначена для запроса несвязанных лицензий конечных пользователей, а также для получения URL-адресов приобретения лицензий из лицензий на выдачу. Несвязанная лицензия конечного пользователя, полученная DRMEnumerateLicense , является цепочкой сертификатов. Чтобы правильно запросить саму несвязанную лицензию, сначала вызовите DRMDeconstructCertificateChain , чтобы получить первый элемент цепочки (нулевой элемент), который является фактической лицензией.

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

Можно изучить как привязанные, так и несвязанные лицензии. Решите ли вы использовать ограниченную или не связанную лицензию, зависит от того, нужно ли вам воспользоваться правами или просто изучить лицензию. Привязанные лицензии могут существовать только после создания безопасной среды с помощью DRMInitEnvironment. Однако для неограниченных лицензий не требуется безопасная среда.

Выходные данные этой функции можно передать в одну из DRMGetUnboundLicense_xxx функций. Единственный объект, который можно запросить в лицензии на выдачу, — это g_wszQUERY_DISTRIBUTIONPOINT. Вы можете запрашивать только g_wszQUERY_IDTYPE, g_wszQUERY_IDVALUE, g_wszQUERY_NAME, g_wszQUERY_ADDRESSTYPE и g_wszQUERY_ADDRESSVALUE.

Вызовите DRMCloseQueryHandle , чтобы закрыть необвязанный дескриптор лицензии, созданный при вызове этой функции.

Требования

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

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

Функции AD RMS

Запрос лицензий