CryptDecrypt

CryptEncrypt 関数で以前に暗号化されたデータを復号する。

CryptDecrypt hKey, hHash, Final, dwFlags, pbData, pdwDataLen

hKey : [int] 復号に使用する鍵へのハンドル。アプリケーションはこのハンドルを CryptGenKey または CryptImportKey 関数を使用して取得する。
hHash : [int] ハッシュオブジェクトへのハンドル。データを復号と同時にハッシュ化する場合、このパラメータでハッシュオブジェクトへのハンドルを渡す。ハッシュ値は復号された平文で更新される。このオプションは、署名の検証と復号を同時に行う場合に有用である。
Final : [int] 復号対象の一連のデータのうち、これが最後のセクションかどうかを指定するブール値。これが最後または唯一のブロックであれば TRUE とする。そうでなければ FALSE とする。詳細は「Remarks」を参照。
dwFlags : [int] 以下のフラグ値が定義されている。
pbData : [var] 復号対象のデータを格納するバッファへのポインタ。復号が実行されると、平文は同じバッファに格納される。
pdwDataLen : [var] pbData バッファの長さを示す DWORD 値へのポインタ。この関数を呼び出す前に、呼び出し側は DWORD 値に復号するバイト数を設定する。戻り時には、DWORD 値には復号された平文のバイト数が格納される。

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

解説

CryptEncrypt 関数で以前に暗号化されたデータを復号する。

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

[備考]
大量のデータを復号する場合は、CryptDecrypt を繰り返し呼び出すことで複数セクションに分けて行える。Final パラメータは
CryptDecrypt の最後の呼び出しでのみ TRUE
に設定し、復号エンジンが復号処理を正しく完了できるようにする必要がある。Final が TRUE のときには以下の追加処理が実行される。
(以下省略)

情報

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