BCryptImportKey

キー BLOB から対称キーをインポートする。

BCryptImportKey hAlgorithm, hImportKey, pszBlobType, phKey, pbKeyObject, cbKeyObject, pbInput, cbInput, dwFlags

hAlgorithm : [int] キーをインポートするアルゴリズムプロバイダのハンドル。BCryptOpenAlgorithmProvider 関数を呼び出して取得する。
hImportKey : [int] pbInput パラメータのキー BLOB をアンラップするのに必要なキー暗号化キーのハンドル。注: ハンドルはインポートされるキーを供給したプロバイダと同じプロバイダから供給されなければならない。
pszBlobType : [wstr] 
phKey : [var] インポートされたキーのハンドルを受け取る BCRYPT_KEY_HANDLE へのポインタ。このハンドルは BCryptEncrypt のようにキーを必要とする後続の関数で使用される。このハンドルが不要になったら、BCryptDestroyKey 関数に渡して解放しなければならない。
pbKeyObject : [var] インポートされたキーオブジェクトを受け取るバッファへのポインタ。cbKeyObject パラメータがこのバッファのサイズを示す。必要なバッファサイズは、BCryptGetProperty 関数を呼び出して BCRYPT_OBJECT_LENGTH プロパティを取得することで得られる。これは指定したアルゴリズムにおけるキーオブジェクトのサイズを返す。このメモリは phKey キーハンドルが破棄された後にのみ解放できる。
cbKeyObject : [int] pbKeyObject バッファのバイト単位のサイズ。
pbInput : [var] インポートするキー BLOB を格納したバッファのアドレス。cbInput パラメータがこのバッファのサイズを示す。pszBlobType パラメータがこのバッファに含まれるキー BLOB の種類を指定する。
cbInput : [int] pbInput バッファのバイト単位のサイズ。
dwFlags : [int] 関数の動作を変更するフラグの集合。現在定義されているフラグはないため、このパラメータには 0 を指定する。

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

解説

キー BLOB から対称キーをインポートする。

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

[備考]
プロバイダがサポートするプロセッサモードに応じて、BCryptImportKey
はユーザーモードまたはカーネルモードのいずれからでも呼び出せる。カーネルモードの呼び出し元は PASSIVE_LEVEL IRQL または
DISPATCH_LEVEL IRQL のいずれかで実行できる。現在の IRQL レベルが DISPATCH_LEVEL
である場合、hAlgorithm パラメータに渡すハンドルは BCRYPT_PROV_DISPATCH
フラグを指定してオープンされたものでなければならず、BCryptImportKey
関数に渡すポインタはページング不可(あるいはロックされた)メモリを参照しなければならない。この関数をカーネルモードで呼び出すには、Driver
Development Kit (DDK) に含まれる Cng.lib を使用する。Windows Server 2008 および
Windows Vista: この関数をカーネルモードで呼び出すには Ksecdd.lib を使用する。

情報

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