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

Функция DRMActivate получает сертификат защищенного хранилища и сертификата компьютера для компьютера или сертификат учетной записи прав для пользователя.

Синтаксис

DRMEXPORT HRESULT UDAPICALL DRMActivate(
  [in] DRMHSESSION      hClient,
  [in] UINT             uFlags,
  [in] UINT             uLangID,
  [in] DRM_ACTSERV_INFO *pActServInfo,
  [in] VOID             *pvContext,
  [in] HWND             hParentWnd
);

Параметры

[in] hClient

Дескриптор сеанса клиента, созданный DRMCreateClientSession.

[in] uFlags

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

DRM_ACTIVATE_MACHINE

Активируйте компьютер. Флаг DRM_ACTIVATE_SILENT также является обязательным, но флаг DRM_ACTIVATE_GROUPIDENTITY не должен быть установлен. Параметр pActServInfo игнорируется.

Каждый компьютер активируется для каждого пользователя. Это значит, что сертификат компьютера создается и сохраняется для текущего пользователя, выполнившего вход.

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

DRM_ACTIVATE_GROUPIDENTITY

Активирует учетную запись прав. Этот флаг нельзя сочетать с DRM_ACTIVATE_MACHINE.

Флаг DRM_ACTIVATE_SILENT требуется для RMS версии 1.0 с пакетом обновления 2 (SP2) и Windows Vista. Однако флаг DRM_ACTIVATE_SILENT является необязательным для Windows Vista с пакетом обновления 1 (SP1) и Windows Server 2008.

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

DRM_ACTIVATE_TEMPORARY

Получите временный сертификат учетной записи прав (RAC). Временный RAC хорошо подходит только в течение короткого периода времени, но он хранится в постоянном хранилище лицензий. Этот флаг игнорируется в нерабокой активации; Дополнительные сведения см. в разделе Примечания.

DRM_ACTIVATE_CANCEL

Отмена выполняемой попытки активации.

DRM_ACTIVATE_SILENT

Активация пользователя без отображения диалогового окна ввода пароля Windows. Этот флаг является обязательным для DRM_ACTIVATE_MACHINE и необязательным для DRM_ACTIVATE_GROUPIDENTITY в зависимости от операционной системы. Дополнительные сведения см. в параметре DRM_ACTIVATE_GROUPIDENTITY .

Если этот флаг используется с DRM_ACTIVATE_GROUPIDENTITY, параметр pActServInfo не может иметь значение NULL. Если он используется с DRM_ACTIVATE_MACHINE, pActServInfo игнорируется.

DRM_ACTIVATE_SHARED_GROUPIDENTITY

Этот флаг не используется.

DRM_ACTIVATE_DELAYED

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

[in] uLangID

Идентификатор языка, используемый приложением. Если этот параметр равен нулю, используется идентификатор языка по умолчанию для вошедшего пользователя.

[in] pActServInfo

Необязательные сведения о сервере. Если клиент не настроен для использования службы федерации Active Directory (AD FS) (ADFS) с AD RMS, можно передать значение NULL, чтобы использовать службу Windows Live ID для обнаружения служб. Если клиент настроен для использования ADFS, необходимо передать URL-адрес сертификации Windows Live. Дополнительные сведения об обнаружении служб см. в разделе DRMGetServiceLocation.

[in] pvContext

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

[in] hParentWnd

Дескриптор родительского окна, используемый при активации нежилых идентификаторов Windows Live ID (только активация пользователем). При нежилой активации открывается окно Windows Live ID с запросом сведений о пользователе. Этот параметр позволяет приложению назначить произвольное окно в качестве родительского окна. Если этот параметр имеет значение NULL, используется активное окно.

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

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

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

Комментарии

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

Существует несколько вариантов активации.

Параметр Описание
Безмолвный или нерабоклимый Нежилая активация используется по умолчанию. Автоматическая активация определяется DRM_ACTIVATE_SILENT и требуется для активации компьютера. Если указана автоматическая активация и значение pActServInfo не равно NULL, функция создает и отправляет запрос на активацию по URL-адресу, указанному в члене wszURLpActServInfo. Дополнительные сведения см. в разделе DRM_ACTSERV_INFO.
Windows или Windows Live ID Это определяется типом дескриптора клиента, передаваемого в hClient.
Временная или постоянная Это относится только к сертификату учетной записи прав (RAC), но не к сертификату компьютера. По умолчанию используется постоянная активация. Временный задается флагом DRM_ACTIVATE_TEMPORARY . При получении временного RAC с помощью флага DRM_ACTIVATE_TEMPORARY , RAC хранится в постоянном хранилище лицензий, хотя срок его действия истекает в ближайшее время. Время действия по умолчанию для временного RAC составляет 15 минут, хотя это может быть изменено администратором службы AD RMS. Чтобы избежать загромождения хранилища лицензий с истекшим сроком действия racs, следует удалить временную RAC при завершении сеанса клиента.
 

В следующем списке описывается, что происходит с сочетаниями этих параметров.

Параметр Временный диск Постоянно
Автоматические окна Активация выполняется без диалогового окна. Пользователь, выполнивший вход, активирован. Активация выполняется без диалогового окна. Пользователь, выполнивший вход, активирован.
Нежилые окна Откроется диалоговое окно Пароль Windows. Указанный пользователь активируется. Откроется диалоговое окно Пароля Windows. Указанный пользователь активируется.
Автоматический идентификатор Windows Live ID Не допускается. Не допускается.
Нерабочий идентификатор Windows Live ID Откроется окно входа в Windows Live ID. Указанный пользователь активируется. Откроется окно входа в Windows Live ID. Указанный пользователь активируется.
 

Во время выполнения DRMActivate вызывает определяемую пользователем функцию обратного вызова и задает для параметра msgзначение DRM_MSG_ACTIVATE_MACHINE или DRM_MSG_ACTIVATE_GROUPIDENTITY. Дополнительные сведения см. в разделе Создание функции обратного вызова.

Требования

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

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

Функции AD RMS

Активация компьютера

Активация пользователя

Создание функции обратного вызова

DRMIsActivated