共用方式為


IAlternativeName::InitializeFromRawData 方法 (certenroll.h)

InitializeFromRawData 方法會從數位簽名演算法 (DSA) GUID、X.500 目錄名稱或因特網通訊協定 (IP) 位址,初始化包含在 可辨別編碼規則 (DER) 編碼位元組數位中的 IP) 位址。

語法

HRESULT InitializeFromRawData(
  [in] AlternativeNameType Type,
  [in] EncodingType        Encoding,
  [in] BSTR                strRawData
);

參數

[in] Type

AlternativeNameType 列舉值,識別輸入字串所代表的名稱類型。 這必須是下列其中一個值。

意義
XCN_CERT_ALT_NAME_DIRECTORY_NAME
此名稱為 X.500 目錄名稱。
XCN_CERT_ALT_NAME_IP_ADDRESS
此名稱為IP位址。
XCN_CERT_ALT_NAME_GUID
名稱為 GUID。

[in] Encoding

EncodingType 列舉值,識別套用至 strRawData 參數的 Unicode 編碼類型。

[in] strRawData

包含 DER 編碼數據的 BSTR 變數。

傳回值

如果函式成功,函式會傳回 S_OK

如果函式失敗,它會傳回 HRESULT 值,指出錯誤。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

傳回碼 Description
HRESULT_FROM_WIN32 (ERROR_ALREADY_INITIALIZED)
對象已經初始化。

備註

未經處理的數據是位元組陣列,已使用 可辨別編碼規則 (DER) 進行編碼。 您必須將位元組陣列指定為 Unicode 編碼字串。

如果您使用這個方法來指定 DSA GUID (XCN_CERT_ALT_NAME_GUID) ,GUID 會與 XCN_OID_NTDS_REPLICATION (1.3.6.1.4.1.311.25.1) 對象標識符 (OID) ,並以八位 (字串) 編碼為八位字串。 您可以呼叫 ObjectId 屬性來擷取 OID。 您可以呼叫 RawData 屬性來擷取編碼的位元組陣列。

如果您使用這個方法來指定下列任何名稱類型,方法會傳回 E_INVALIDARG

Description
XCN_CERT_ALT_NAME_UNKNOWN 無法識別名稱類型。
XCN_CERT_ALT_NAME_RFC822_NAME 名稱是電子郵件位址。
XCN_CERT_ALT_NAME_DNS_NAME 此名稱為 DNS 名稱。
XCN_CERT_ALT_NAME_URL 此名稱為 URL。
XCN_CERT_ALT_NAME_REGISTERED_ID 此名稱為已註冊的 OID。
XCN_CERT_ALT_NAME_USER_PRINCIPLE_NAME 此名稱是UPN) (的用戶主體名稱
XCN_CERT_ALT_NAME_OTHER_NAME 名稱是由 OID 和位元組陣列所組成。
 

您可以使用 InitializeFromOtherName 方法來指定 OID 和對應的名稱字串,而且您可以使用 InitializeFromString 方法來指定電子郵件地址、DNS 名稱、URL、已註冊的 OID 或 使用者主體名稱 , (UPN) 。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 certenroll.h
Dll CertEnroll.dll

另請參閱

IAlternativeName