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 变量,其中包含 DomainName\UserName形式的用户 安全帐户管理器(SAM)名称。 如果未提供名称,该方法将调用 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。 该属性创建为 抽象语法表示法一(ASN.1)结构,该结构使用 可分辨编码规则(DER)进行编码。

必须先调用 InitializeEncodeInitializeDecode,然后才能使用 IX509AttributeClientId 对象。 这两种方法相互补充。 使用 InitializeEncode 方法,可以从原始数据构造编码的 ASN.1 结构,使用 InitializeDecode 方法可以从编码的 ASN.1 结构初始化原始数据。 可以调用以下属性来检索原始数据:

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 窗户
标头 certenroll.h
DLL CertEnroll.dll

另请参阅

IX509AttributeClientId

InitializeDecode