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 つの要素のみを含める必要があります。
hStoreProv
すべてのコールバックに渡される最初のパラメーターである 32 ビットのアプリケーション定義値。 アプリケーションでは、このメンバーの内容を必要に応じて指定できます。 通常、これは、開かれた各ストアのプロバイダー状態情報など、アプリケーションに固有のデータへのポインターです。
dwStoreProvFlags
プロバイダーの動作方法を指定するフラグのセットが含まれています。 0 または次の値の 1 つ以上の組み合わせを含みます。
値 | 意味 |
---|---|
|
プロバイダーは、ストアのキャッシュの外部にある 証明書、 証明書失効リスト、 および証明書信頼リスト を格納します。 |
|
ストアが正常に削除されました。 CertStoreProvCloseCallback コールバックは呼び出されません。 |
|
既定では、プロバイダーはストアに加えられた変更を保持します。 このフラグが設定されている場合、プロバイダーはストアに加えられた変更を保持しません。 |
|
プロバイダーは、システム ストアにコンテキストを保持します。 |
|
プロバイダーは、LocalMachine システム ストアにコンテキストを保持します。 |
hStoreProvFuncAddr2
CryptGetOIDFunctionAddress によって返されるハンドルを格納します。 CertCloseStore は CryptFreeOIDFunctionAddress を呼び出して、null 以外の hStoreProvFuncAddr2 を解放します。 これにより、コールバックは、ストアが閉じられたときに解放される他のインストール可能な関数を 1 つ呼び出すことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | wincrypt.h |