IOpcCertificateEnumerator::GetCurrent 方法 (msopc.h)

取得列舉值目前位置的 CERT_CONTEXT 結構。

語法

HRESULT GetCurrent(
  [out, retval] const CERT_CONTEXT **certificate
);

參數

[out, retval] certificate

CERT_CONTEXT 結構的指標。 如果方法成功,請呼叫 CertFreeCertificateContext 函式以釋放 結構的記憶體。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼/值 描述
S_OK
此方法已成功。
E_POINTER
partReference 參數為 NULL
OPC_E_ENUM_COLLECTION_CHANGED
0x80510050
列舉值無效,因為基礎集已變更。
OPC_E_ENUM_INVALID_POSITION
0x80510053
列舉值無法從其目前位置執行此作業。
OPC_E_DS_EXTERNAL_SIGNATURE
0x8051001E
目標為簽章元件具有外部目標模式的關聯性;簽章元件必須位於封裝內部。
OPC_E_DS_INVALID_CERTIFICATE_RELATIONSHIP
0x8051001D
數位簽名憑證類型的關聯性具有外部目標模式。

如需此關聯性類型的詳細資訊,請參閱 OPC

OPC_E_DS_INVALID_RELATIONSHIP_TRANSFORM_XML
0x80510021
Transform 元素,指出使用關聯性轉換和轉換的選取準則不符合 OPC 中指定的架構。
OPC_E_DS_MISSING_CERTIFICATE_PART
0x80510056
包含憑證的元件,而且是數位簽名憑證類型關聯性的目標不存在。

如需此關聯性類型的詳細資訊,請參閱 OPC

OPC_E_DS_SIGNATURE_PROPERTY_MISSING_TARGET
0x80510045
SignatureProperty 元素遺漏必要的 Target 屬性。
OPC_E_UNEXPECTED_CONTENT_TYPE
0x80510005
元件的內容類型與 OPC、 ECMA-376 第 2 部分 () 中指定的預期內容類型不同,或元件內容不符合元件的內容類型。

備註

如果 CERT_CONTEXT 結構所代表的憑證已損毀或不是 X.509 憑證,則此方法會傳回錯誤;此外,呼叫端所使用的簽署原則會決定簽章是否仍會驗證。 傳回這類錯誤之後, 對MoveNextMovePrevious 方法的呼叫會繼續逐一查看列舉值。

建立列舉值時,目前的位置會位於列舉值的第一個指標之前。 若要將目前的位置設定為第一個指標,請在建立列舉值之後呼叫 MoveNext 方法。

執行緒安全性

封裝物件不是安全線程。

如需詳細資訊,請參閱使用封裝 API 使用者入門

規格需求

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

另請參閱

憑證

核心封裝介面

數位簽名概觀

使用封裝 API 使用者入門

IOpcCertificateEnumerator

IOpcCertificateSet

概觀

封裝 API 程式設計指南

封裝 API 參考

封裝 API 範例

封裝介面

參考