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

Функция DRMDeleteLicense удаляет лицензию, сертификат лицензиара клиента, список отзыва или шаблон лицензии выдачи.

Синтаксис

DRMEXPORT HRESULT UDAPICALL DRMDeleteLicense(
  [in] DRMHSESSION hSession,
  [in] PWSTR       wszLicenseId
);

Параметры

[in] hSession

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

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

[in] wszLicenseId

Указатель на строку, завершающуюся пустым значением, которая содержит идентификатор удаляемой лицензии или шаблона. Идентификатор лицензии можно найти в элементе ID лицензии XrML, выполнив запрос с помощью функций запроса лицензии и константы g_wszQUERY_CONTENTIDVALUE . Идентификатор шаблона — это GUID. Идентификаторы GUID можно перечислить, вызвав функцию DRMEnumerateLicense .

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

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

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

Комментарии

Система AD RMS не проверка, чтобы определить, хранятся ли устаревшие лицензии или списки отзыва в хранилище лицензий, даже при получении новой лицензии или списка отзыва для уже принадлежащего содержимого. Поэтому важно иногда удалять лицензии или сертификаты. Этот процесс может занять много времени, поэтому лучше выполнять это действие время от времени или во время простоя программы.

При удалении лицензии конечного пользователя эта функция не будет автоматически удалять связанные списки отзыва.

При удалении лицензии с помощью идентификатора содержимого параметр hSession должен быть дескриптором сеанса клиента.

Идентификаторы лицензий и сертификатов можно перечислить с помощью DRMEnumerateLicense. Если у вас уже есть лицензия или сертификат, которые вы хотите удалить из хранилища лицензий, можно запросить их идентификатор (с помощью функций DRMParseUnboundLicense и DRMGetUnboundLicenseAttribute с константой g_wszQUERY_IDVALUE ) и передать значение в эту функцию.

Требования

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

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

Функции AD RMS

DRMEnumerateLicense

DRMGetUnboundLicenseAttribute

DRMParseUnboundLicense