CERT_SELECT_STRUCT_A構造体 (cryptdlg.h)
CERT_SELECT_STRUCT構造には、証明書の選択ダイアログ ボックスに表示される証明書を選択する基準が含まれています。 この構造体は、 CertSelectCertificate 関数で使用されます。
構文
typedef struct tagCSSA {
DWORD dwSize;
HWND hwndParent;
HINSTANCE hInstance;
LPCSTR pTemplateName;
DWORD dwFlags;
LPCSTR szTitle;
DWORD cCertStore;
HCERTSTORE *arrayCertStore;
LPCSTR szPurposeOid;
DWORD cCertContext;
PCCERT_CONTEXT *arrayCertContext;
LPARAM lCustData;
PFNCMHOOKPROC pfnHook;
PFNCMFILTERPROC pfnFilter;
LPCSTR szHelpFileName;
DWORD dwHelpId;
HCRYPTPROV hprov;
} CERT_SELECT_STRUCT_A, *PCERT_SELECT_STRUCT_A;
メンバー
dwSize
この構造体のサイズ (バイト単位)。
hwndParent
CertSelectCertificate によって生成されるダイアログ ボックスの親ウィンドウへのハンドル。
hInstance
実行可能ファイルにダイアログ ボックス テンプレートが含まれているモジュールへのハンドル。
pTemplateName
dwFlags メンバーでCSS_ENABLETEMPLATE フラグが設定されている場合は、ダイアログ ボックスの作成に DialogBoxIndirectParam が使用するテンプレートを含むグローバル メモリ オブジェクトへのポインターに pTemplateName を設定します。 ダイアログ ボックス テンプレートは、ダイアログ ボックスを記述するヘッダーで構成されます。 ヘッダーの後に、ダイアログ ボックスの各コントロールを記述する 1 つ以上の追加のデータ ブロックが続きます。 テンプレートでは、標準形式または拡張形式のいずれかを使用できます。
CSS_ENABLETEMPLATEHANDLE フラグが dwFlags で設定されている場合、pTemplateName はダイアログ ボックス テンプレートを指定します。 pTemplateName は、ダイアログ ボックス テンプレートの名前を指定する null で終わる文字列へのポインターか、ダイアログ ボックス テンプレートのリソース識別子を指定する整数値です。 がリソース識別子を指定する場合、その上位ワードは 0 で、下位ワードには識別子を含める必要があります。 この整数値を作成する方法の 1 つは、 MAKEINTRESOURCE マクロを使用することです。
dwFlags
このメンバーには、次の値の 1 つ以上を指定できます。
値 | 意味 |
---|---|
|
[プロパティ] ボタンを非表示にします。 |
|
pfnHook でフック プロシージャを渡します。 |
|
証明書の複数選択を有効にします。 このオプションは現在サポートされておらず、無視されます。 |
|
[ヘルプ] ボタンを表示します。 |
|
CertSelectCertificate 関数が DialogBoxIndirectParam 関数を呼び出してダイアログ ボックスを作成します。 詳細については、「 pTemplateName」を参照してください。 |
|
ダイアログ ボックスを作成するために 、CertSelectCertificate 関数が DialogBoxParam 関数を呼び出すようにします。 詳細については、「 pTemplateName」を参照してください。 |
szTitle
ダイアログ ボックスのタイトルのテキストを含む文字列へのポインター。
cCertStore
arrayCertStore 配列内の要素の数。
arrayCertStore
ダイアログ ボックスで証明書を列挙して表示する証明書ストアの配列へのポインター。 cCertStore メンバーには、この配列内の要素の数が含まれています。
szPurposeOid
拡張キー使用法 (EKU) のオブジェクト識別子 (OID) の文字列表現へのポインター。 OID が指定されている場合は、この EKU を含む証明書のみが表示されます。
cCertContext
arrayCertContext 配列内の要素の数。 CertSelectCertificate 関数が戻った後、このメンバーには、ユーザーによって選択された証明書の数が含まれます。 現在、ユーザーが選択できる証明書は 1 つだけです。
arrayCertContext
CERT_CONTEXT構造体の配列へのポインター。 cCertContext メンバーは、この配列内の要素の数を指定します。 この配列には、少なくとも 1 つの要素が含まれている必要があります。
これらの構造で表される証明書は、 CertSelectCertificate 関数によって表示されるダイアログ ボックスが最初に表示されるときに選択されます。 現在、この配列の最初の証明書のみが使用されています。 CertSelectCertificate 関数が成功した場合、この配列の最初の証明書は CertFreeCertificateContext 関数で解放されます。 この配列の最初の要素が NULL の場合、ダイアログ ボックスで証明書は最初に選択されません。
CertSelectCertificate 関数が戻った後、この配列には、ユーザーによって選択された証明書が含まれます。 現在、ユーザーが選択できる証明書は 1 つだけです。
lCustData
pfnFilter によって参照されるフィルター プロシージャに渡されるカスタム データを保持するバイト値の配列へのポインター。 このカスタム データは、 CertSelectCertificate 関数では使用されません。
pfnHook
フック コールバック関数への PFNCMHOOKPROC 関数ポインター。 この関数は、メッセージがダイアログ ボックスによって処理される前に呼び出されます。 詳細については、「 フック」を参照してください。
pfnFilter
フィルター コールバック関数への PFNCMFILTERPROC 関数ポインター。 これは、ダイアログ ボックスで表示される証明書を決定するために呼び出されます。
szHelpFileName
ヘルプ ファイルへの完全なパスを含む null で終わる文字列へのポインター。
dwHelpId
トピックのコンテキスト識別子。 詳細については、「
WinHelp。
hprov
証明書の検証に使用する 暗号化サービス プロバイダー (CSP) へのハンドル。
注釈
注意
cryptdlg.h ヘッダーは、CERT_SELECT_STRUCTをエイリアスとして定義します。これは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | cryptdlg.h |