BCryptResolveProviders

指定された条件をすべて満たすプロバイダの集合を取得する。

BCryptResolveProviders pszContext, dwInterface, pszFunction, pszProvider, dwMode, dwFlags, pcbBuffer, ppBuffer

pszContext : [wstr] プロバイダを取得する対象コンテキストの識別子を含む、null 終端 Unicode 文字列へのポインタ。NULL または空文字列に設定された場合、既定のコンテキストが使用される。
dwInterface : [int] プロバイダがサポートしなければならないインターフェイスの識別子。CNG インターフェイス識別子のいずれかでなければならない。pszFunction パラメータが NULL でなく空文字列でもない場合、dwInterface に 0 を設定すれば、関数にインターフェイスを推測させることができる。
pszFunction : [wstr] プロバイダがサポートしなければならないアルゴリズムまたは関数の識別子を含む、null 終端 Unicode 文字列へのポインタ。標準の CNG アルゴリズム識別子、または別の登録済みアルゴリズムの識別子を指定できる。dwInterface に 0 以外の値が設定されている場合、すべてのアルゴリズムおよび関数を含めるために pszFunction に NULL を指定できる。
pszProvider : [wstr] 取得するプロバイダの名前を含む、null 終端 Unicode 文字列へのポインタ。このパラメータが NULL の場合、すべてのプロバイダが対象となる。このパラメータを使用すると、他の条件を満たすプロバイダが複数ある場合に、特定のプロバイダだけを取得対象として指定できる。
dwMode : [int] 
dwFlags : [int] 関数の動作を変更するフラグの集合。
pcbBuffer : [var] DWORD 値へのポインタで、入力時には ppBuffer パラメータが指すバッファのバイト単位のサイズを格納する。出力時には、バッファにコピーされたバイト数、またはバッファに必要なサイズ(バイト単位)を受け取る。
ppBuffer : [var] 指定された条件を満たすプロバイダの集合を受け取る CRYPT_PROVIDER_REFS ポインタのアドレス。このパラメータが NULL の場合、関数は STATUS_SUCCESS を返し、pcbBuffer パラメータが指す値にすべてのデータの必要なサイズ(バイト単位)を格納する。このパラメータが NULL ポインタのアドレスである場合、関数は必要なメモリを確保し、プロバイダ情報で埋め、そのメモリへのポインタをこのパラメータに格納する。このメモリの使用が終わったら、このポインタを BCryptFreeBuffer 関数に渡して解放する。このパラメータが非 NULL ポインタのアドレスである場合、関数はプロバイダ情報をそのバッファにコピーする。pcbBuffer パラメータにはバッファ全体のバイト単位のサイズを格納しておく必要がある。バッファがすべてのプロバイダ情報を保持するのに十分でない場合、関数は STATUS_BUFFER_TOO_SMALL を返す。

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

解説

指定された条件をすべて満たすプロバイダの集合を取得する。

[戻り値]
関数の成否を示すステータスコードを返す。
返される可能性のあるコードには次のものが含まれるが、これらに限られない。
(以下省略)

[備考]
BCryptResolveProviders はユーザーモードまたはカーネルモードのいずれからでも呼び出せる。カーネルモードの呼び出し元は
PASSIVE_LEVEL IRQL で実行されていなければならない。

情報

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