CryptDuplicateKey

鍵とその状態の正確なコピーを作成する。

CryptDuplicateKey hKey, pdwReserved, dwFlags, phKey

hKey : [int] 複製する鍵へのハンドル。
pdwReserved : [var] 将来の使用のために予約されており、NULL でなければならない。
dwFlags : [int] 将来の使用のために予約されており、ゼロでなければならない。
phKey : [var] 複製された鍵へのハンドルのアドレス。鍵の使用が終わったら、CryptDestroyKey 関数を呼び出してハンドルを解放する。

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

解説

鍵とその状態の正確なコピーを作成する。

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

[備考]
CryptDuplicateKey は鍵とその正確な状態のコピーを作成する。この関数が使用できるシナリオの 1
つは、アプリケーションが同じ鍵で異なるソルト値を用いて 2 つの別々のメッセージを暗号化する必要がある場合である。元の鍵を生成してから
CryptDuplicateKey 関数で複製鍵を作成し、それぞれの鍵に異なるソルト値を CryptSetKeyParam
関数で個別に設定する。
CryptDuplicateKey で作成された鍵を破棄するには、CryptDestroyKey
を呼び出さなければならない。元の鍵を破棄しても、複製鍵は破棄されない。複製鍵が作成された後は、元の鍵とは独立している。2
つの鍵の間に共有状態は存在しない。

情報

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