RegEnumKeyW

指定した開かれているレジストリキーのサブキーを列挙する。(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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_advapi32_gen2.hs