<Return[R]><Top>

RegEnumKeyEx

Declare Function Api_RegEnumKeyEx& Lib "advapi32" Alias "RegEnumKeyExA" (ByVal hKey&, ByVal dwIndex&, ByVal lpName$, lpcbName&, ByVal lpReserved&, ByVal lpClass$, lpftLastWriteTime As FILETIME)

Declare Function RegEnumKeyEx Lib "advapi32" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpftLastWriteTime As FILETIME) As Long

指定された 1 つのレジストリキーのサブキーを列挙する。この関数を 1 回呼び出すたびに、1 つのサブキーに関する情報を取得する。

RegEnumKey 関数とは異なり、サブキーのクラス名と最終書き込み時刻も取得する。

パラメータ
hKey
    現在開いている 1 つのキーのハンドルを指定する。

    代わりに、あらかじめ定義されている次の予約済みハンドルのいずれかを指定することもできる。
    HKEY_CLASSES_ROOT
    HKEY_CURRENT_CONFIG
    HKEY_CURRENT_USER
    HKEY_LOCAL_MACHINE
    HKEY_USERS
    Windows NT/2000:HKEY_PERFORMANCE_DATA も指定できる。
    Windows 95/98:HKEY_DYN_DATA も指定できる。
    hKey パラメータで指定したキーのサブキーが列挙される。
dwIndex
    取得するべきサブキーのインデックス番号を指定する。最初にこの関数を呼び出すときは、0 を指定する。

    そして、次の呼び出し時は 1、その次は 2 と、1 つずつ増やしていく。
    サブキーはインデックス番号の順に配置されているわけではないので、新しいサブキーを作成した場合、任意のインデックス番号が割り当て

    られる(現在の最大のインデックス番号に 1 を足した値とは限らない)。

    言い換えると、この関数で指定したインデックス番号と、返されるサブキーの間に直接の関係はなく、実行してみるまでは、どのサブキーが

    返されるのかわからない。
lpName
    1 個のバッファへのポインタを指定する。関数から制御が返ると、このバッファに、サブキーと最後の NULL が格納される。

    この関数は、サブキーの名前だけを格納する。階層全体を格納するわけではない。
lpcName
    lpName パラメータで指定したバッファのサイズ(終端の NULL 文字を含む)を TCHAR 単位で保持している、1 個の変数へのポインタを

    指定する。関数から制御が返ると、この変数に、同じバッファに格納された文字数が格納される(終端の NULL 文字を除く)。
lpReserved
    予約されている。NULL を指定する。
lpClass
    1 個のバッファへのポインタを指定する。関数から制御が返ると、このバッファに、列挙されたサブキーのクラスが格納される。

    現時点では、クラスはまったく定義されていない。アプリケーションはこのパラメータを無視するべきである(NULL を指定する)。

    この情報が不要な場合、NULL を指定する。
lpcClass
    lpClass パラメータが指すバッファのサイズ(終端の NULL 文字を含む)を TCHAR 単位で保持している、1 個の変数へのポインタを指定

    する。関数から制御が返ると、この変数に、lpClass パラメータが指すバッファに格納された文字数が格納される(終端の NULL 文字を

    除く)。lpClass パラメータで NULL を指定した場合に限って、lpcClass パラメータで NULL を指定できる。
lpftLastWriteTime
    1 個の FILETIME 構造体へのポインタを指定する。関数から制御が返ると、この構造体に、サブキーの最終書き込み時刻が格納され

    る。

戻り値
    関数が成功すると、ERROR_SUCCESS が返る。