CertSelectCertificateChains

指定した選択条件に基づいて証明書チェーンを取得する。

CertSelectCertificateChains pSelectionContext, dwFlags, pChainParameters, cCriteria, rgpCriteria, hStore, pcSelection, pprgpSelection

pSelectionContext : [var] この呼び出しで使用する証明書選択シナリオの GUID へのポインター。
dwFlags : [int] 証明書選択処理を制御するフラグ。このパラメーターには次のフラグを 0 個以上組み合わせて指定できる。
pChainParameters : [var] チェーン構築パラメーターを指定する CERT_SELECT_CHAIN_PARA 構造体へのポインター。NULL の場合、既定のパラメーターが使用される。CERT_SELECT_CHAIN_PARA 構造体の pChainPara メンバーは、強い署名を有効化するために使用できる CERT_CHAIN_PARA 構造体を指す。
cCriteria : [int] rgpCriteria 配列の要素数。
rgpCriteria : [var] 選択条件を定義する CERT_SELECT_CRITERIA 構造体の配列へのポインター。このパラメーターを NULL に設定する場合、cCriteria パラメーターの値は 0 でなければならない。
hStore : [int] 証明書を選択する元となるストアのハンドル。
pcSelection : [var] pprgpSelection パラメーターが指す配列の要素数を受け取る DWORD 値へのポインター。
pprgpSelection : [var] CERT_CHAIN_CONTEXT 構造体の配列を受け取る場所へのポインターのポインター。CertSelectCertificateChains 関数は、すべての選択条件に合致する証明書チェーンのみを返す。配列の要素は品質順に並び、品質の最も高いチェーンが先頭となる。配列用のメモリは CertSelectCertificateChains 関数が確保する。割り当てたメモリを解放するには、まず配列内の各チェーンコンテキストを CertFreeCertificateChain 関数で解放し、その後 CertFreeCertificateChainList 関数でメモリを解放しなければならない。

(プラグイン / モジュール : crypt32.dll)

解説

指定した選択条件に基づいて証明書チェーンを取得する。

[戻り値]
関数が成功した場合、戻り値は TRUE となる。関数が失敗した場合、戻り値は 0 (FALSE) となる。拡張エラー情報を取得するには
GetLastError 関数を呼び出す。
注意: 選択結果が 0 件となった場合でも、CertSelectCertificateChains 関数は TRUE
を返すが、pcSelection パラメーターが指す値は 0 に設定される。

[備考]
選択条件は dwFlags パラメーター、rgpCriteria
パラメーター、あるいはその両方で指定できる。選択条件を指定しない場合、関数は成功し、hStore
パラメーターで指定したストア内の全証明書についての証明書チェーンを返す。
選択された証明書チェーンは、次の優先順位ロジックに基づいて並べられる。
(以下省略)

情報

プラグイン / モジュールcrypt32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の crypt32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_crypt32_gen2.hs