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
包含创建请求的计算机的域名系统 (DNS) 名称的 BSTR 变量,例如 ComputerName.contoso.com
。 如果不提供名称,该方法将调用 GetComputerNameEx 函数。 如果找不到名称,该方法将失败。
[in, optional] strUserSamName
一个 BSTR 变量,其中包含 Security Accounts Manager (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。 属性创建为抽象语法表示法 One (ASN.1) 结构,该结构使用 可辨别编码规则 ( DER) 进行编码。
必须先调用 InitializeEncode 或 InitializeDecode ,然后才能使用 IX509AttributeClientId 对象。 这两种方法相互补充。 使用 InitializeEncode 方法可以从原始数据构造编码的 ASN.1 结构,而 InitializeDecode 方法使你能够从编码的 ASN.1 结构初始化原始数据。 可以调用以下属性来检索原始数据:
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |
DLL | CertEnroll.dll |