Método IRegistryKey::EnumerateKey (portcls.h)
El EnumerateKey
método devuelve información sobre las subclaves de la clave abierta.
Sintaxis
NTSTATUS EnumerateKey(
[in] ULONG Index,
[in] KEY_INFORMATION_CLASS KeyInformationClass,
[out] PVOID KeyInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Parámetros
[in] Index
Especifica el índice de subclave. Este parámetro identifica la subclave para la que se solicita información de clave. 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] KeyInformationClass
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_INFORMATION_CLASS:
- KeyBasicInformation
- KeyFullInformation
- KeyNodeInformation
[out] KeyInformation
Puntero al búfer de información 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_BASIC_INFORMATION, KEY_FULL_INFORMATION o KEY_NODE_INFORMATION, según el valor de KeyInformationClass. La estructura va seguida de una cadena de caracteres Unicode cuyo tamaño depende del tipo de información que se solicita sobre la clave.
[in] Length
Especifica el tamaño en bytes del búfer KeyInformation , que el autor de la llamada debe establecer según la keyInformationClass 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 realmente escritos en el búfer KeyInformation . 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
EnumerateKey
devuelve STATUS_SUCCESS si la llamada se realizó correctamente para recuperar la información solicitada en el búfer KeyInformation . 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 cualquier información. |
|
Indica que no hay más subclaves disponibles (el índice de subclave es mayor o igual que el número de subclaves). |
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | portcls.h (incluir Portcls.h) |
IRQL | PASSIVE_LEVEL |