CertFindCertificateInStore

dwFindType と関連する pvFindPara で指定した検索条件に一致する、ストア内の最初または次の証明書コンテキストを検索する。

CertFindCertificateInStore hCertStore, dwCertEncodingType, dwFindFlags, dwFindType, pvFindPara, pPrevCertContext

hCertStore : [int] 検索対象の証明書ストアのハンドル。
dwCertEncodingType : [int] 使用するエンコーディングの種類。証明書エンコーディング種別とメッセージエンコーディング種別の両方をビット単位 OR で組み合わせて指定する必要がある。例: X509_ASN_ENCODING | PKCS_7_ASN_ENCODING 現在定義されているエンコーディング種別は以下の通り。
dwFindFlags : [int] 一部の dwFindType 値と組み合わせて検索条件を変更する。大抵の dwFindType では使用されず 0 を指定する。詳細は Remarks 参照。
dwFindType : [int] 
pvFindPara : [intptr] dwFindType と共に使用するデータ項目または構造体を指すポインタ。
pPrevCertContext : [var] 前回この関数が返した CERT_CONTEXT 構造体へのポインタ。初回呼び出し時は NULL を指定する。条件に一致する後続証明書を得るには前回の戻り値を渡す。NULL でない値は本関数により解放される。

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

解説

dwFindType と関連する pvFindPara
で指定した検索条件に一致する、ストア内の最初または次の証明書コンテキストを検索する。

[戻り値]
成功時は読み取り専用の CERT_CONTEXT 構造体へのポインタを返す。検索条件に一致する証明書が見つからなかった場合は NULL
を返す。NULL でない戻り値は CertFreeCertificateContext で解放するか、次回呼び出しの
pPrevCertContext として渡して解放する必要がある。拡張エラー情報は GetLastError
で取得する。主なエラーコードは以下の通り。
(以下省略)

[備考]
dwFindFlags
パラメータは一部の検索種別の条件を変更するために使用する。CERT_UNICODE_IS_RDN_ATTRS_FLAG は
dwFindType が CERT_FIND_SUBJECT_ATTR または CERT_FIND_ISSUER_ATTR
の場合のみ使用され、pvFindPara が指す CERT_RDN_ATTR 構造体が Unicode
文字列で初期化されている場合に設定する必要がある。比較前に X509_UNICODE_NAME を使って変換される。以下の
dwFindFlags 値は dwFindType が CERT_FIND_ENKEY_USAGE の場合のみ使用される:
返されたコンテキストの複製は CertDuplicateCertificateContext で作成できる。返されたコンテキストは
CertAddCertificateContextToStore で別の証明書ストアに追加できる。返されたポインタは、次回呼び出しの
pPrevCertContext として渡すと解放される。そうでなければ CertFreeCertificateContext
で明示的に解放する。NULL でない pPrevCertContext はエラー時も必ず
CertFreeCertificateContext により解放される。

情報

プラグイン / モジュール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