指定した開かれているレジストリキーのサブキーを列挙する。(RegEnumKeyW)
RegEnumKeyW hKey, dwIndex, lpName, cchName
hKey : [intptr] 開かれているレジストリキーへのハンドル。キーは KEY_ENUMERATE_SUB_KEYS アクセス権で開かれている必要がある。詳細はレジストリキーのセキュリティとアクセス権を参照のこと。 dwIndex : [int] 取得する hKey のサブキーのインデックス。この値は RegEnumKey 関数の最初の呼び出し時には 0 とし、後続の呼び出しで増分する。 lpName : [wstr] 終端 null 文字を含むサブキーの名前を受け取るバッファへのポインタ。この関数はサブキーの名前のみをコピーし、キー階層全体はコピーしない。 cchName : [int] lpName パラメータが指すバッファのサイズ(TCHAR 単位)。必要なバッファサイズを決定するには、RegQueryInfoKey 関数を使用して hKey パラメータで識別されるキーの最大サブキーのサイズを調べる。
(プラグイン / モジュール : advapi32.dll)
指定した開かれているレジストリキーのサブキーを列挙する。(RegEnumKeyW) [戻り値] 関数が成功した場合、戻り値は ERROR_SUCCESS となる。関数が失敗した場合、戻り値はシステムエラーコードとなる。これ以上サブキーがない場合、関数は ERROR_NO_MORE_ITEMS を返す。lpName バッファがキーの名前を受け取るには小さすぎる場合、関数は ERROR_MORE_DATA を返す。 [備考] サブキーを列挙するには、アプリケーションはまず dwIndex パラメータを 0 に設定して RegEnumKey 関数を呼び出す。その後、アプリケーションは dwIndex パラメータを増分し、さらにサブキーがなくなるまで(関数が ERROR_NO_MORE_ITEMS を返すまで)RegEnumKey 関数を呼び出す。アプリケーションは、最初の関数呼び出し時に dwIndex を最後のキーのインデックスに設定し、インデックス 0 のサブキーが列挙されるまでインデックスを減分することもできる。最後のサブキーのインデックスを取得するには、RegQueryInfoKey を使用する。アプリケーションが RegEnumKey 関数を使用している間、問い合わせ対象のキーを変更する可能性のある登録関数を呼び出してはならない。 > [!NOTE] > winreg.h ヘッダは RegEnumKey をエイリアスとして定義しており、UNICODE プリプロセッサ定数の定義に基づいて ANSI または Unicode 版を自動的に選択する。エンコーディングに中立なエイリアスをエンコーディング中立でないコードと混在させると、コンパイル時または実行時エラーとなる可能性がある。詳細は [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes) を参照のこと。
| プラグイン / モジュール | 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 |