暗号化サービスプロバイダ (CSP) から暗号鍵または鍵ペアを安全にエクスポートする。
CryptExportKey hKey, hExpKey, dwBlobType, dwFlags, pbData, pdwDataLen
hKey : [int] エクスポートする鍵へのハンドル。 hExpKey : [int] 送信先ユーザーの暗号鍵へのハンドル。エクスポートされた鍵 BLOB 内の鍵データはこの鍵で暗号化される。これにより、送信先ユーザーだけが鍵 BLOB を利用できることが保証される。hExpKey と hKey は同じ CSP から取得しなければならない。 dwBlobType : [int] pbData にエクスポートする鍵 BLOB の種類を指定する。以下の定数のいずれかでなければならず、詳細は Cryptographic Key Storage and Exchange を参照。 dwFlags : [int] pbData : [var] 鍵 BLOB データを受け取るバッファへのポインタ。この BLOB のフォーマットは、dwBlobType パラメータで要求される BLOB の種類によって異なる。PRIVATEKEYBLOB、PUBLICKEYBLOB、SIMPLEBLOB のフォーマットについては Base Provider Key BLOBs を参照。このパラメータが NULL の場合、必要なバッファサイズが pdwDataLen パラメータが指す値に格納される。詳細は Retrieving Data of Unknown Length を参照。 pdwDataLen : [var] DWORD 値へのポインタ。入力時には pbData パラメータが指すバッファのサイズ (バイト単位) を含む。関数が戻ると、この値にはバッファに格納されたバイト数が含まれる。注: バッファに返されたデータを処理する際、アプリケーションは返されたデータの実際のサイズを使用しなければならない。実際のサイズは入力時に指定したバッファサイズよりわずかに小さい可能性がある。入力時には通常、想定される最大出力データが収まるようバッファサイズを大きめに指定する。出力時、このパラメータが指す変数はバッファにコピーされたデータの実際のサイズを反映するように更新される。pbData に必要なサイズを取得するには、pbData に NULL を渡す。必要なバッファサイズはこのパラメータが指す値に格納される。
(プラグイン / モジュール : advapi32.dll)
暗号化サービスプロバイダ (CSP) から暗号鍵または鍵ペアを安全にエクスポートする。 [戻り値] 関数が成功した場合はゼロ以外 (TRUE) を返す。失敗した場合はゼロ (FALSE) を返す。拡張エラー情報を取得するには GetLastError を呼び出す。「NTE」で始まるエラーコードは使用中の特定の CSP が生成する。次の表は、返される可能性のあるエラーコードの一部を示す。 (以下省略) [備考] PLAINTEXTKEYBLOB を使用する DES 鍵の任意の順列については、パリティビットを含めた完全な鍵サイズのみがエクスポートできる。サポートされる鍵サイズを以下に示す。 (以下省略)
| プラグイン / モジュール | advapi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_advapi32_gen2.hs |