Share via


Método IRegistryKey::EnumerateValueKey (portcls.h)

El EnumerateValueKey método devuelve información sobre una entrada del Registro que contiene una clave de valor.

Sintaxis

NTSTATUS EnumerateValueKey(
  [in]  ULONG                       Index,
  [in]  KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
  [out] PVOID                       KeyValueInformation,
  [in]  ULONG                       Length,
  [out] PULONG                      ResultLength
);

Parámetros

[in] Index

Especifica el índice de subclave. Este parámetro identifica la subclave cuyo valor se solicita. Si la clave contiene n subclaves, los índices válidos van de 0 a n-1. Si el índice supera este intervalo, el método devuelve STATUS_NO_MORE_ENTRIES.

[in] KeyValueInformationClass

Especifica el tipo de información que se va a devolver en el búfer. Establezca este parámetro en uno de los siguientes valores de enumeración KEY_VALUE_INFORMATION_CLASS:

  • KeyValueBasicInformation
  • KeyValueFullInformation
  • KeyValuePartialInformation

[out] KeyValueInformation

Puntero de salida para el valor de clave. Este parámetro apunta a un búfer asignado por el autor de la llamada en el que el método escribe los datos solicitados. El búfer contiene una estructura de tipo KEY_VALUE_BASIC_INFORMATION, KEY_VALUE_FULL_INFORMATION o KEY_VALUE_PARTIAL_INFORMATION, según el valor de KeyValueInformationClass. La estructura va seguida de datos adicionales cuyo tamaño depende del tipo de datos del valor de clave.

[in] Length

Tamaño en bytes del búfer KeyValueInformation , que el autor de la llamada debe establecer según la keyValueInformationClass especificada. Para que la llamada se realice correctamente, el búfer debe ser al menos tan grande como los datos que el método escribe en el búfer.

[out] ResultLength

Puntero de salida para la longitud de los datos resultantes. Este parámetro apunta a una variable ULONG asignada por el autor de la llamada en la que el método escribe un recuento que especifica el número de bytes escritos realmente en el búfer KeyValueInformation . Sin embargo, si la longitud del búfer especificada es demasiado pequeña para contener la información, el método genera el tamaño de búfer necesario y devuelve STATUS_BUFFER_OVERFLOW.

Valor devuelto

EnumerateValueKey devuelve STATUS_SUCCESS si la llamada se realizó correctamente al copiar la información solicitada en el búfer KeyValueInformation . Si el tamaño del búfer especificado es demasiado pequeño para recibir toda la información disponible, el método devuelve STATUS_BUFFER_OVERFLOW. De lo contrario, el método devuelve un código de error adecuado. En la tabla siguiente se muestran algunos de los posibles códigos de estado de retorno.

Código devuelto Descripción
STATUS_BUFFER_TOO_SMALL
Indica que el búfer especificado es demasiado pequeño para recibir información.
STATUS_INVALID_PARAMETER
Indica que uno de los parámetros pasados al método no es válido.
STATUS_NO_MORE_ENTRIES
Indica que no hay más claves de valor disponibles (el parámetro Index es mayor o igual que el número de claves de valor).

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado portcls.h (incluya Portcls.h)
IRQL PASSIVE_LEVEL

Consulte también

IRegistryKey

KEY_VALUE_BASIC_INFORMATION

KEY_VALUE_FULL_INFORMATION

KEY_VALUE_PARTIAL_INFORMATION

ZwEnumerateValueKey