Поделиться через


Метод IX509AttributeClientId::InitializeEncode (certenroll.h)

Метод InitializeEncode инициализирует атрибут из сведений о пользователе, клиентском компьютере и приложении, отправившемся запрос на сертификат.

Синтаксис

HRESULT InitializeEncode(
  [in]           RequestClientInfoClientId ClientId,
  [in, optional] BSTR                      strMachineDnsName,
  [in, optional] BSTR                      strUserSamName,
  [in, optional] BSTR                      strProcessName
);

Параметры

[in] ClientId

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

[in, optional] strMachineDnsName

Переменная BSTR , содержащая DNS-имя компьютера, на котором был создан запрос, например ComputerName.contoso.com. Если имя не указано, метод вызывает функцию GetComputerNameEx . Если не удается найти имя, метод завершается ошибкой.

[in, optional] strUserSamName

Переменная BSTR , содержащая имя диспетчера учетных записей безопасности (SAM) для пользователя в формате DomainName\UserName. Если имя не указано, метод вызывает функцию GetUserNameEx . Если не удается найти имя, метод завершается ошибкой.

[in, optional] strProcessName

Переменная BSTR , содержащая имя приложения, создавшего запрос на сертификат. Если имя не указано, метод вызывает функцию GetCommandLine и анализирует командную строку. Если не удается найти имя, метод завершается ошибкой.

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

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

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

Комментарии

Идентификатор объекта (OID) для этого атрибута XCN_OID_REQUEST_CLIENT_INFO (1.3.6.1.4.1.311.21.20). Дополнительные сведения см. в разделе CERTENROLL_OBJECTID. Атрибут создается в виде структуры абстрактной синтаксической нотации 1 (ASN.1), кодируемой с помощью Distinguished Encoding Rules (DER).

Прежде чем использовать объект IX509AttributeClientId, необходимо вызвать InitializeEncode или InitializeDecode. Эти два метода дополняют друг друга. Метод InitializeEncode позволяет создать закодированную структуру ASN.1 на основе необработанных данных, а метод InitializeDecode позволяет инициализировать необработанные данные из закодированной структуры ASN.1. Для получения необработанных данных можно вызвать следующие свойства:

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header certenroll.h
DLL CertEnroll.dll

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

IX509AttributeClientId

InitializeDecode