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 |
---|---|
|
Indica que el búfer especificado es demasiado pequeño para recibir información. |
|
Indica que uno de los parámetros pasados al método no es válido. |
|
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 |