次の方法で共有


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
ターゲットが Signature パーツであるリレーションシップには、外部ターゲット モードがあります。署名パーツはパッケージ内にある必要があります。
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 Part 2 で指定) と異なっているか、パーツコンテンツがパーツのコンテンツ タイプと一致しませんでした。

注釈

CERT_CONTEXT構造で表される証明書が破損しているか、X.509 証明書でない場合、このメソッドはエラーを返します。さらに、呼び出し元によって使用される署名ポリシーによって、署名がまだ検証されるかどうかが決まります。 この種のエラーが返された後、 MoveNext メソッドまたは MovePrevious メソッドの呼び出しは、列挙子を反復処理し続けます。

列挙子が作成されると、現在の位置は列挙子の最初のポインターの前になります。 現在の位置を最初のポインターに設定するには、列挙子の作成後に MoveNext メソッドを呼び出します。

スレッド セーフ

オブジェクトのパッケージ化はスレッド セーフではありません。

詳細については、「Packaging API を使用したはじめに」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー msopc.h

こちらもご覧ください

証明書

コア パッケージ インターフェイス

デジタル署名の概要

Packaging API を使用したはじめに

IOpcCertificateEnumerator

IOpcCertificateSet

概要

パッケージ化 API プログラミング ガイド

パッケージ化 API リファレンス

API サンプルのパッケージ化

インターフェイスのパッケージ化

参照