VTableProvStruc 構造体
VTableProvStruc 構造体には、暗号化サービス プロバイダー (CSP) 関数で使用できるコールバック関数へのポインターが含まれています。
構文
typedef struct VTableProvStruc {
DWORD Version;
FARPROC FuncVerifyImage;
FARPROC FuncReturnhWnd;
DWORD dwProvType;
BYTE *pbContextInfo;
DWORD cbContextInfo;
LPSTR pszProvName;
} VTableProvStruc, *PVTableProvStruc;
メンバー
-
Version
-
構造体のバージョンを示す DWORD 値。 この構造体の 3 つのバージョンが使用されます。 バージョンは 1、2、3 の番号で、構造体のどのメンバーが有効かを判断します。 バージョン 1 のメンバーは、この構造をサポートするすべてのシステムで有効です。
これはバージョン 1 のメンバーです。
-
FuncVerifyImage
-
CSP が読み込む DLL の署名を検証するために CSP が使用する FuncVerifyImage コールバック関数のアドレス。 CSP が関数呼び出しを行うすべての補助 DLL は、プライマリ CSP DLL と同じ方法 (および同じキーを使用) で署名する必要があります。 この署名を確実に行うには、 LoadLibrary 関数を使用して補助 DLL を動的に読み込む必要があります。 ただし、DLL が読み込まれる前に、DLL の署名を検証する必要があります。 次の例に示すように、CSP は FuncVerifyImage 関数を呼び出してこの検証を実行します。
この関数ポインターは、CSP コンテキストが解放されるまで格納および使用できます。
これはバージョン 1 のメンバーです。
-
FuncReturnhWnd
-
CSP が表示される任意のユーザー インターフェイスの親または所有者として使用する必要があるウィンドウ ハンドルを返す FuncReturnhWnd コールバック関数のアドレス。 ユーザーと直接通信しない CSP と、この目的で専用ハードウェアを使用する CSP は、このエントリを無視できます。 このウィンドウ ハンドルは既定では 0 ですが、 アプリケーションは CryptSetProvParam 関数を使用して PP_CLIENT_HWND プロパティを設定することで、これを別の値に設定できます。
この関数ポインターは、CSP コンテキストが解放されるまで格納および使用できます。
これはバージョン 1 のメンバーです。
-
dwProvType
-
取得するプロバイダーの種類を指定する DWORD 値。 次の プロバイダーの種類 は定義済みであり、 CSP の相互運用性に関するページで詳しく説明されています。
- PROV_RSA_FULL
- PROV_RSA_SIG
- PROV_DSS
- PROV_FORTEZZA
- PROV_MS_EXCHANGE
これはバージョン 2 のメンバーです。
-
pbContextInfo
-
コンテキスト情報の配列へのポインター。 pbContextInfo メンバーと cbContextInfo メンバーは、CPSetProvParam 関数が set と共に呼び出されたときに使用される情報セットPP_CONTEXT_INFO決定します。
これはバージョン 2 のメンバーです。
-
cbContextInfo
-
pbContextInfo 配列内の要素の数を示す DWORD 値。
これはバージョン 2 のメンバーです。
-
pszProvName
-
プロバイダーの名前を含む文字列。
これはバージョン 3 のメンバーです。
解説
VTableProvStruc 構造体内のポインターは、CPAcquireContext 関数内でのみ使用できます。 CPAcquireContext の呼び出しが完了した後に構造体のメンバーが必要な場合は、必要な構造体要素のコピーを CSP によって作成する必要があります。 この構造体の関数ポインターは、CSP コンテキストが解放されるまで格納および使用できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
ヘッダー |
|
Unicode 名と ANSI 名 |
VTableProvStrucW (Unicode) |