CryptGetProvParam

暗号化サービスプロバイダ (CSP) の動作を制御するパラメータを取得する。

CryptGetProvParam hProv, dwParam, pbData, pdwDataLen, dwFlags

hProv : [int] クエリ対象となる CSP のハンドル。このハンドルは CryptAcquireContext 関数を使用して作成されていなければならない。
dwParam : [int] クエリの内容。以下のクエリが定義されている。
pbData : [var] データを受け取るバッファへのポインタ。このデータの形式は dwParam の値によって異なる。dwParam が PP_USE_HARDWARE_RNG に設定されている場合、pbData は NULL に設定しなければならない。メモリ確保のためにこの情報のサイズを設定する目的で、このパラメータは NULL にできる。詳細は Retrieving Data of Unknown Length を参照。
pdwDataLen : [var] pbData パラメータが指すバッファのサイズ (バイト単位) を指定する DWORD 値へのポインタ。関数が戻るとき、DWORD 値にはバッファに格納された、または格納されるバイト数が含まれる。注: バッファに返されたデータを処理する際、アプリケーションは返されたデータの実際のサイズを使用しなければならない。実際のサイズは入力時に指定したバッファサイズよりわずかに小さい可能性がある (入力時には通常、想定される最大出力データが収まるようバッファサイズを大きめに指定するためである)。出力時、このパラメータが指す変数はバッファにコピーされたデータの実際のサイズを反映するように更新される。PP_ENUMALGS や PP_ENUMALGS_EX が設定されている場合、pdwDataLen パラメータは若干異なる動作をする。pbData が NULL、または pdwDataLen が指す値が小さすぎる場合、このパラメータで返される値は現在読み取っている項目のサイズではなく、列挙リスト内の最大項目のサイズとなる。PP_ENUMCONTAINERS が設定されている場合、関数の最初の呼び出しでは現在のプロバイダが許可する最大キーコンテナのサイズが返される。これは、既存の最長コンテナの長さや現在のコンテナの長さを返すといった他の挙動とは対照的である。後続の列挙呼び出しでは dwLen パラメータは変更されない。列挙された各コンテナについて、呼び出し元は必要に応じてプログラム的に null 終端文字列の長さを判定できる。列挙値のいずれかが読み取られ、pbData パラメータが NULL の場合、サイズ情報を正しく取得するには CRYPT_FIRST フラグを指定する必要がある。
dwFlags : [int] dwParam が PP_KEYSET_SEC_DESCR の場合、鍵が格納されているキーコンテナのセキュリティ記述子が取得される。このケースでは、要求するセキュリティ情報を示す SECURITY_INFORMATION ビット フラグを dwFlags で渡す。これらのフラグは Platform SDK で定義されている。SECURITY_INFORMATION ビット フラグはビット単位の OR 演算で組み合わせられる。

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

解説

暗号化サービスプロバイダ (CSP) の動作を制御するパラメータを取得する。

[戻り値]
関数が成功した場合、戻り値はゼロ以外 (TRUE) となる。失敗した場合、戻り値はゼロ (FALSE)
となる。拡張エラー情報を取得するには GetLastError を呼び出す。NTE で始まるエラーコードは使用中の特定の CSP
が生成する。以下のエラーコードが返される可能性がある。
(以下省略)

[備考]
この関数はマルチスレッドプログラムのスレッド上で使用してはならない。dwParam が PP_IMPTYPE の場合、pbData
に次の値が返される。
(以下省略)

情報

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