RegEnumKeyExW

指定されたオープンレジストリキーのサブキーを列挙する。1 回の呼び出しにつき 1 つのサブキーの情報を取得する。(Unicode)

RegEnumKeyExW hKey, dwIndex, lpName, lpcchName, lpReserved, lpClass, lpcchClass, lpftLastWriteTime

hKey : [intptr] オープン中のレジストリキーへのハンドル。KEY_ENUMERATE_SUB_KEYS アクセス権で開かれている必要がある。RegCreateKeyEx 等で取得したもの、または定義済みキーのいずれか。
dwIndex : [int] 取得するサブキーのインデックス。最初の呼び出しでは 0、その後の呼び出しではインクリメントする。サブキーは順序付けされていないので新しいサブキーは任意のインデックスを持つ。
lpName : [wstr] サブキー名(終端 NULL を含む)を受け取るバッファへのポインタ。関数はサブキー名のみをバッファにコピーし、完全なキー階層はコピーしない。失敗時は何もコピーされない。
lpcchName : [var] lpName バッファのサイズ(終端 NULL を含む文字数)を指定する変数へのポインタ。成功時、終端 NULL を含まない文字数が格納される。必要なバッファサイズは RegQueryInfoKey で取得できる。
lpReserved : [var] このパラメータは予約されており NULL でなければならない。
lpClass : [wstr] 列挙されたサブキーのユーザー定義クラスを受け取るバッファへのポインタ。NULL を指定可能。
lpcchClass : [var] lpClass バッファのサイズ(終端 NULL を含む文字数)を指定する変数へのポインタ。成功時は終端 NULL を含まない格納文字数。lpClass が NULL の場合のみ NULL を指定可能。
lpftLastWriteTime : [var] 列挙されたサブキーが最後に書き込まれた時刻を受け取る FILETIME 構造体へのポインタ。NULL を指定可能。

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

解説

指定されたオープンレジストリキーのサブキーを列挙する。1 回の呼び出しにつき 1 つのサブキーの情報を取得する。(Unicode)

[戻り値]
関数が成功した場合、戻り値は ERROR_SUCCESS。失敗した場合はシステムエラーコード。サブキーがもうない場合は
ERROR_NO_MORE_ITEMS。lpName バッファが小さすぎる場合は ERROR_MORE_DATA。

[備考]
サブキーを列挙するには最初 dwIndex を 0 にして呼び、ERROR_NO_MORE_ITEMS
が返るまでインクリメントしながら呼び出す。列挙中に列挙対象キーを変更する他のレジストリ関数を呼ばないこと。一部のレジストリキーへのアクセスはリダイレクトされる点に注意。

情報

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