次の方法で共有


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

CSS_ENABLETEMPLATE フラグが dwFlags メンバーで設定されている場合は、pTemplateName を、ダイアログ ボックスの作成に使用する DialogBoxIndirectParam テンプレートを含むグローバル メモリ オブジェクトへのポインターに設定します。 ダイアログ ボックス テンプレートは、ダイアログ ボックスを記述するヘッダーで構成されます。 ヘッダーの後に、ダイアログ ボックスの各コントロールを記述する 1 つ以上の追加のデータ ブロックが続きます。 テンプレートでは、標準形式または拡張形式を使用できます。

CSS_ENABLETEMPLATEHANDLE フラグが dwFlags設定されている場合は、pTemplateName ダイアログ ボックス テンプレートを指定します。 pTemplateName は、ダイアログ ボックス テンプレートの名前を指定する null で終わる文字列へのポインターか、ダイアログ ボックス テンプレートのリソース識別子を指定する整数値です。 リソース識別子を指定する場合、上位ワードは 0 で、下位ワードには識別子を含める必要があります。 この整数値を作成する 1 つの方法は、MAKEINTRESOURCE マクロを使用する方法です。

dwFlags

このメンバーには、次の値のうち 1 つ以上を指定できます。

価値 意味
CSS_HIDE_PROPERTIES
[プロパティ] ボタンを非表示にします。
CSS_ENABLEHOOK
pfnHookでフック プロシージャ 渡します。
CSS_ALLOWMULTISELECT
証明書の複数選択を有効にします。 このオプションは現在サポートされていないため、無視されます。
CSS_SHOW_HELP
[ヘルプ] ボタンを表示します。
CSS_ENABLETEMPLATE
CertSelectCertificate 関数 DialogBoxIndirectParam 関数を呼び出してダイアログ ボックスを作成します。 詳細については、「pTemplateName」を参照してください。
CSS_ENABLETEMPLATEHANDLE
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 ヘッダーは、unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとしてCERT_SELECT_STRUCTを定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー cryptdlg.h

関連項目

CertSelectCertificate