Compartir a través de


Función OREnumKey

Enumera las subclaves de la clave del Registro abierta especificada en un subárbol del Registro sin conexión. La función recupera información sobre una subclave cada vez que se llama.

Sintaxis

DWORD OREnumKey(
  _In_        ORHKEY    Handle,
  _In_        DWORD     dwIndex,
  _Out_       PWSTR     lpName,
  _Inout_     PDWORD    lpcName,
  _Out_opt_   PWSTR     lpClass,
  _Inout_opt_ PDWORD    lpcClass,
  _Out_opt_   PFILETIME lpftLastWriteTime
);

Parámetros

Identificador [in]

Identificador de una clave del Registro abierta en un subárbol del Registro sin conexión.

dwIndex [in]

Índice de la subclave que se va a recuperar. Este parámetro debe ser cero para la primera llamada a la función y, a continuación, incrementarse para las llamadas posteriores.

Dado que las subclaves no están ordenadas, ninguna subclave nueva tendrá un índice arbitrario. Esto significa que la función puede devolver subclaves en cualquier orden.

lpName [out]

Puntero a un búfer que recibe el nombre de la subclave, incluido el carácter nulo de terminación. 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, vea Límites de tamaño de elemento del Registro.

lpcName [in, out]

Puntero a una variable que especifica el tamaño del búfer especificado por el parámetro lpName , en WCHAR. El tamaño debe incluir el carácter nulo de terminación. 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 incluido el carácter nulo de terminación.

lpClass [out, optional]

Puntero a un búfer que recibe la cadena de clase terminada en null de la subclave enumerada. Este parámetro puede ser NULL.

lpcClass [in, out, optional]

Puntero a una variable que especifica el tamaño del búfer especificado por el parámetro lpClass , en WCHAR. El tamaño debe incluir el carácter nulo de terminación. Si la función se ejecuta correctamente, lpcClass contiene el número de caracteres almacenados en el búfer, no incluido el carácter nulo de terminación. Este parámetro solo puede ser NULL si lpClass es NULL.

lpftLastWriteTime [out, optional]

Puntero a la 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, el valor devuelto es ERROR_SUCCESS.

Si la función no se ejecuta correctamente, el valor devuelto es un código de error distinto de cero definido en Winerror.h. Puede usar la función FormatMessage con la marca FORMAT_MESSAGE_FROM_SYSTEM para obtener una descripción genérica del error. Entre los posibles códigos de error se incluyen los siguientes:

  • Si el búfer lpName es demasiado pequeño para recibir el nombre de la clave, la función devuelve ERROR_MORE_DATA.
  • Si no hay más subclaves disponibles, la función devuelve ERROR_NO_MORE_ITEMS.

Observaciones

Para enumerar subclaves, una aplicación debe llamar inicialmente a la función OREnumKey con el parámetro dwIndex establecido en cero. A continuación, la aplicación debe incrementar el parámetro dwIndex y llamar a OREnumKey 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 ORQueryInfoKey .

Mientras una aplicación usa la función OREnumKey , no debe realizar llamadas a ninguna función del Registro sin conexión que pueda cambiar la clave que se está enumerando.

Requisitos

Requisito Value
Redistribuible
Biblioteca del Registro sin conexión de Windows versión 1.0 o posterior
Encabezado
Offreg.h
Archivo DLL
Offreg.dll

Consulte también

ORCreateKey

ORDeleteKey

OROpenKey

ORQueryInfoKey