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 變數,其中包含網域名稱\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 [僅限傳統型應用程式]
目標平台 Windows
標頭 certenroll.h
Dll CertEnroll.dll

另請參閱

IX509AttributeClientId

InitializeDecode