次の方法で共有


CERT_STORE_PROV_INFO構造体 (wincrypt.h)

CERT_STORE_PROV_INFO構造体には、 を使用してストアを開いたときに、インストールされている CertDllOpenStoreProv 関数によって返される情報が含まれます。
CertOpenStore 関数。

ストアを開くとき、CertOpenStore 関数は、cbSize を除く、CERT_STORE_PROV_INFO構造体内のすべてのフィールドを 0 に設定します。これは、CERT_STORE_PROV_INFOのサイズに設定されます。 構造体は、インストール可能な CertDllOpenStoreProv 関数によって更新されます。 呼び出される追加のコールバック関数がない場合、 cStoreProvFunc は戻り時に 0 のままです。

構文

typedef struct _CERT_STORE_PROV_INFO {
  DWORD             cbSize;
  DWORD             cStoreProvFunc;
  void              **rgpvStoreProvFunc;
  HCERTSTOREPROV    hStoreProv;
  DWORD             dwStoreProvFlags;
  HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;

メンバー

cbSize

この構造体のサイズをバイト単位で格納します。

cStoreProvFunc

rgpvStoreProvFunc 配列内の要素の数を格納します。 このカウントには、実装された最後のコールバック関数の前にインデックスで使用される NULL 値を含める必要があります。 たとえば、コールバック関数が 1 つだけ実装されていても、インデックス 2 (CERT_STORE_PROV_WRITE_CERT_FUNC) にあり、インデックス 0 と 1 に NULL が設定されている場合は、このパラメーターに数値 3 を渡す必要があります。

rgpvStoreProvFunc

プロバイダーによって実装されるコールバック関数へのポインターの配列。 この配列は、次の表に示す値によってインデックスが作成され、表示される順序である必要があります。 関連付けられたコールバック関数も表示されます。 実装されていないすべてのコールバック関数を NULL に設定する必要があります。 配列には、すべてのコールバック関数インデックスを含める必要はありません。実装されているコールバック関数インデックスの中で最も高いものだけを含める必要があります。 たとえば、 CERT_STORE_PROV_WRITE_CERT_FUNC (2) コールバック関数のみが実装されている場合、配列には 3 つの要素のみを含める必要があります。

意味
CERT_STORE_PROV_CLOSE_FUNC
0 (0x0)

CertStoreProvCloseCallback

CERT_STORE_PROV_READ_CERT_FUNC
1 (0x1)

CertStoreProvReadCertCallback

CERT_STORE_PROV_WRITE_CERT_FUNC
2 (0x2)

CertStoreProvWriteCertCallback

CERT_STORE_PROV_DELETE_CERT_FUNC
3 (0x3)

CertStoreProvDeleteCertCallback

CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC
4 (0x4)

CertStoreProvSetCertPropertyCallback

CERT_STORE_PROV_READ_CRL_FUNC
5 (0x5)

CertStoreProvReadCRLCallback

CERT_STORE_PROV_WRITE_CRL_FUNC
6 (0x6)

CertStoreProvWriteCRLCallback

CERT_STORE_PROV_DELETE_CRL_FUNC
7 (0x7)

CertStoreProvDeleteCRLCallback

CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC
8 (0x8)

CertStoreProvSetCRLPropertyCallback

CERT_STORE_PROV_READ_CTL_FUNC
9 (0x9)

CertStoreProvReadCTL

CERT_STORE_PROV_WRITE_CTL_FUNC
10 (0xA)

CertStoreProvWriteCTL

CERT_STORE_PROV_DELETE_CTL_FUNC
11 (0xB)

CertStoreProvDeleteCTL

CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC
12 (0xC)

CertStoreProvSetCTLProperty

CERT_STORE_PROV_CONTROL_FUNC
13 (0xD)

CertStoreProvControl

CERT_STORE_PROV_FIND_CERT_FUNC
14 (0xE)

CertStoreProvFindCert

CERT_STORE_PROV_FREE_FIND_CERT_FUNC
15 (0xF)

CertStoreProvFreeFindCert

CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC
16 (0x10)

CertStoreProvGetCertProperty

CERT_STORE_PROV_FIND_CRL_FUNC
17 (0x11)

CertStoreProvFindCRL

CERT_STORE_PROV_FREE_FIND_CRL_FUNC
18 (0x12)

CertStoreProvFreeFindCRL

CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC
19 (0x13)

CertStoreProvGetCRLProperty

CERT_STORE_PROV_FIND_CTL_FUNC
20 (0x14)

CertStoreProvFindCTL

CERT_STORE_PROV_FREE_FIND_CTL_FUNC
21 (0x15)

CertStoreProvFreeFindCTL

CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC
22 (0x16)

CertStoreProvGetCTLProperty

hStoreProv

すべてのコールバックに渡される最初のパラメーターである 32 ビットのアプリケーション定義値。 アプリケーションでは、このメンバーの内容を必要に応じて指定できます。 通常、これは、開かれた各ストアのプロバイダー状態情報など、アプリケーションに固有のデータへのポインターです。

dwStoreProvFlags

プロバイダーの動作方法を指定するフラグのセットが含まれています。 0 または次の値の 1 つ以上の組み合わせを含みます。

意味
CERT_STORE_PROV_EXTERNAL_FLAG
1 (0x1)
プロバイダーは、ストアのキャッシュの外部にある 証明書証明書失効リストおよび証明書信頼リスト を格納します。
CERT_STORE_PROV_DELETED_FLAG
2 (0x2)
ストアが正常に削除されました。 CertStoreProvCloseCallback コールバックは呼び出されません。
CERT_STORE_PROV_NO_PERSIST_FLAG
4 (0x4)
既定では、プロバイダーはストアに加えられた変更を保持します。 このフラグが設定されている場合、プロバイダーはストアに加えられた変更を保持しません。
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8 (0x8)
プロバイダーは、システム ストアにコンテキストを保持します。
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16 (0x10)
プロバイダーは、LocalMachine システム ストアにコンテキストを保持します。

hStoreProvFuncAddr2

CryptGetOIDFunctionAddress によって返されるハンドルを格納します。 CertCloseStoreCryptFreeOIDFunctionAddress を呼び出して、null 以外の hStoreProvFuncAddr2 を解放します。 これにより、コールバックは、ストアが閉じられたときに解放される他のインストール可能な関数を 1 つ呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header wincrypt.h