CertOpenStore

指定したストアプロバイダー種別を使用して証明書ストアを開く。

CertOpenStore lpszStoreProvider, dwEncodingType, hCryptProv, dwFlags, pvPara

lpszStoreProvider : [str] ストアプロバイダー種別を含む NULL 終端 ANSI 文字列へのポインター。次の値が事前定義されたストア種別を表す。ストアプロバイダー種別により、pvPara パラメーターの内容、および dwFlags パラメーターの上位ワードの用途と意味が決まる。追加のストアプロバイダーは CryptInstallOIDFunctionAddress または CryptRegisterOIDFunction 関数でインストール/登録できる。ストアプロバイダーの追加について詳しくは「CertOpenStore 機能の拡張」を参照。
dwEncodingType : [int] 証明書エンコーディング種別およびメッセージエンコーディング種別を指定する。このエンコーディングは、CertSaveStore 関数の dwSaveAs パラメーターに CERT_STORE_SAVE_AS_PKCS7 を指定した場合にのみ使用される。それ以外の場合、dwMsgAndCertEncodingType パラメーターは使用されない。このパラメーターは lpszStoreProvider パラメーターに CERT_STORE_PROV_MSG、CERT_STORE_PROV_PKCS7、または CERT_STORE_PROV_FILENAME プロバイダー種別を指定した場合にのみ有効である。それ以外のプロバイダー種別では使用されず、0 に設定すべきである。
hCryptProv : [int] このパラメーターは使用されておらず、NULL に設定すべきである。Windows Server 2003 および Windows XP: 暗号化プロバイダーへのハンドル。このパラメーターに NULL を渡すと、適切な既定のプロバイダーが使用される。既定のプロバイダーの使用を推奨する。既定または指定された暗号化プロバイダーは、サブジェクト証明書または CRL の署名を検証するすべてのストア関数で使用される。このパラメーターのデータ型は HCRYPTPROV である。
dwFlags : [int] これらの値は、上位ワードと下位ワードの値をビット単位 OR で組み合わせて構成する。
pvPara : [intptr] 本関数に対する追加情報を含めることができる 32 ビット値。このパラメーターの内容は lpszStoreProvider などの他のパラメーターの値に依存する。

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

解説

指定したストアプロバイダー種別を使用して証明書ストアを開く。

[戻り値]
関数が成功した場合、証明書ストアへのハンドルを返す。ストアの使用を終えたら、CertCloseStore
関数を呼び出してハンドルを解放する。関数が失敗した場合、NULL を返す。拡張エラー情報を取得するには GetLastError
を呼び出す。
注意:
CreateFile、ReadFile、またはレジストリのエラーが伝播し、そのエラーコードが返されることがある。CertOpenStore
固有のエラーコードとして ERROR_FILE_NOT_FOUND があり、これは lpszStoreProvider
パラメーターで指定したプロバイダーが見つからなかったことを示す。

[備考]
システムストアは 1
つ以上の物理的な兄弟ストアから成るコレクションである。各システムストアには事前定義された物理兄弟ストアがある。CERT_SYSTEM_STORE_CURRENT_USER
の "My" などのシステムストアを開いた後、CertOpenStore
が呼び出され、システムストアコレクション内のすべての物理ストアが開かれる。これらの物理ストアは
CertAddStoreToCollection
関数を用いてシステムストアコレクションに追加される。これらの物理ストア内のすべての証明書、CRL、CTL
は、論理的なシステムストアコレクションを通じて利用可能となる。注意:
証明書コンテキストの順序はストア内で保持されない場合がある。特定の証明書にアクセスするには、ストア内の証明書を反復処理しなければならない。次のシステムストアの場所はリモートから開くことができる。
(以下省略)

情報

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