CryptCreateHash

データストリームのハッシュ処理を開始する。暗号化サービスプロバイダ (CSP) のハッシュオブジェクトへのハンドルを生成し、呼び出し元に返す。

CryptCreateHash hProv, Algid, hKey, dwFlags, phHash

hProv : [int] CryptAcquireContext の呼び出しで作成された CSP へのハンドル。
Algid : [int] 使用するハッシュアルゴリズムを識別する ALG_ID 値。このパラメータの有効な値は使用する CSP によって異なる。既定のアルゴリズムの一覧は「Remarks」を参照。
hKey : [int] ハッシュアルゴリズムが Hash-Based Message Authentication Code (HMAC) や Message Authentication Code (MAC) などのキー付きハッシュである場合、ハッシュに使用する鍵をこのパラメータで渡す。キーを使用しないアルゴリズムの場合、このパラメータはゼロに設定する必要がある。キー付きアルゴリズムの場合、鍵は RC2 などの暗号ブロック連鎖 (CBC) モードを持つブロック暗号鍵でなければならない。
dwFlags : [int] 以下のフラグ値が定義されている。
phHash : [var] 関数が新しいハッシュオブジェクトへのハンドルをコピーするアドレス。ハッシュオブジェクトの使用が終わったら、CryptDestroyHash 関数を呼び出してハンドルを解放する。

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

解説

データストリームのハッシュ処理を開始する。暗号化サービスプロバイダ (CSP)
のハッシュオブジェクトへのハンドルを生成し、呼び出し元に返す。

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

[備考]
Microsoft のサービスプロバイダとそれらが実装するアルゴリズムの一覧は Microsoft Cryptographic
Service Providers を参照。実際のハッシュの計算は CryptHashData 関数と
CryptHashSessionKey
関数で行う。これらの関数にはハッシュオブジェクトへのハンドルが必要である。すべてのデータをハッシュオブジェクトに追加した後、以下の操作のいずれかを実行できる。
(以下省略)

情報

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