Función RegEnumKeyExW (winreg.h)
Enumera las subclaves de la clave del Registro abierta especificada. La función recupera información sobre una subclave cada vez que se llama a ella.
Sintaxis
LSTATUS RegEnumKeyExW(
[in] HKEY hKey,
[in] DWORD dwIndex,
[out] LPWSTR lpName,
[in, out] LPDWORD lpcchName,
LPDWORD lpReserved,
[in, out] LPWSTR lpClass,
[in, out, optional] LPDWORD lpcchClass,
[out, optional] PFILETIME lpftLastWriteTime
);
Parámetros
[in] hKey
Identificador de una clave del Registro abierta. La clave debe haberse abierto con el derecho de acceso KEY_ENUMERATE_SUB_KEYS. Para obtener más información, consulte Derechos de acceso y seguridad de claves del Registro.
Este identificador lo devuelve el RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExo función RegOpenKeyTransacted. También puede ser una de las siguientes claves predefinidas:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_PERFORMANCE_DATA
- HKEY_USERS
[in] dwIndex
Índice de la subclave que se va a recuperar. Este parámetro debe ser cero para la primera llamada a la función RegEnumKeyEx y, a continuación, se incrementa para las llamadas posteriores.
Dado que las subclaves no están ordenadas, ninguna nueva subclave tendrá un índice arbitrario. Esto significa que la función puede devolver subclaves en cualquier orden.
[out] lpName
Puntero a un búfer que recibe el nombre de la subclave, incluida la terminación carácter null. La función copia solo el nombre de la subclave, no la jerarquía de claves completa, en el búfer.
Si se produce un error en la función, no se copia ninguna información en este búfer.
Para obtener más información, consulte límites de tamaño de elemento del Registro .
[in, out] lpcchName
Puntero a una variable que especifica el tamaño del búfer especificado por el parámetro lpName, en caracteres. Este tamaño debe incluir el carácter de terminación null. Si la función se ejecuta correctamente, la variable a la que apunta lpcName contiene el número de caracteres almacenados en el búfer, no incluida la terminación carácter nulo.
Para determinar el tamaño de búfer necesario, use la función
lpReserved
Este parámetro está reservado y debe ser NULL.
[in, out] lpClass
Puntero a un búfer que recibe la clase definida por el usuario de la subclave enumerada. Este parámetro puede ser null.
[in, out, optional] lpcchClass
Puntero a una variable que especifica el tamaño del búfer especificado por el parámetro lpClass, en caracteres. El tamaño debe incluir el carácter de terminación null. Si la función se ejecuta correctamente, lpcClass contiene el número de caracteres almacenados en el búfer, no incluida la terminación carácter null. Este parámetro solo se puede NULL si lpClass es NULL.
[out, optional] lpftLastWriteTime
Puntero a estructura FILETIME que recibe la hora en la que se escribió por última vez la subclave enumerada. Este parámetro puede ser null.
Valor devuelto
Si la función se ejecuta correctamente, se ERROR_SUCCESS el valor devuelto.
Si se produce un error en la función, el valor devuelto es un código de error del sistema . Si no hay más subclaves disponibles, la función devuelve ERROR_NO_MORE_ITEMS.
Si el búfer lpName es demasiado pequeño para recibir el nombre de la clave, la función devuelve ERROR_MORE_DATA.
Observaciones
Para enumerar subclaves, una aplicación debe llamar inicialmente a la función RegEnumKeyEx con el parámetro dwIndex establecido en cero. A continuación, la aplicación debe incrementar el parámetro dwIndex y llamar a RegEnumKeyEx hasta que no haya más subclaves (lo que significa que la función devuelve ERROR_NO_MORE_ITEMS).
La aplicación también puede establecer dwIndex en el índice de la última subclave de la primera llamada a la función y disminuir el índice hasta que se enumera la subclave con el índice 0. Para recuperar el índice de la última subclave, use la función
Mientras una aplicación usa la función RegEnumKeyEx, no debe realizar llamadas a ninguna función de registro que pueda cambiar la clave que se enumera.
Tenga en cuenta que las operaciones que acceden a determinadas claves del Registro se redirigen. Para obtener más información, vea de virtualización del Registro y datos de aplicación de 32 y 64 bits en el Registro.
Ejemplos
Para obtener un ejemplo, vea Enumerar subclaves del Registro.
Nota
El encabezado winreg.h define RegEnumKeyEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winreg.h (incluya Windows.h) |
biblioteca de |
Advapi32.lib |
DLL de |
Advapi32.dll |
Consulte también
RegQueryInfoKey de
de información general del Registro de