Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La rutina ZwQueryKey proporciona información sobre la clase de una clave del Registro y el número y tamaño de sus subclaves.
Syntax
NTSYSAPI NTSTATUS ZwQueryKey(
[in] HANDLE KeyHandle,
[in] KEY_INFORMATION_CLASS KeyInformationClass,
[out, optional] PVOID KeyInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Parámetros
[in] KeyHandle
Controle la clave del Registro para obtener información sobre. Este identificador se crea mediante una llamada correcta a ZwCreateKey o ZwOpenKey.
[in] KeyInformationClass
Especifica un KEY_INFORMATION_CLASS valor que determina el tipo de información devuelta en el búfer KeyInformation .
[out, optional] KeyInformation
Puntero a un búfer asignado por el autor de la llamada que recibe la información solicitada.
[in] Length
Especifica el tamaño, en bytes, del búfer KeyInformation .
[out] ResultLength
Puntero a una variable que recibe el tamaño, en bytes, de la información de clave solicitada. Si ZwQueryKey devuelve STATUS_SUCCESS, la variable contiene la cantidad de datos devueltos. Si ZwQueryKey devuelve STATUS_BUFFER_OVERFLOW o STATUS_BUFFER_TOO_SMALL, puede usar el valor de la variable para determinar el tamaño de búfer necesario.
Valor devuelto
ZwQueryKey devuelve STATUS_SUCCESS correcto o el código de error adecuado en caso de error. Entre los posibles valores de código de error se incluyen:
| Código de retorno | Description |
|---|---|
| STATUS_BUFFER_OVERFLOW | El búfer proporcionado es demasiado pequeño y solo se han escrito datos parciales en el búfer. * ResultLength se establece en el tamaño mínimo necesario para contener la información solicitada. |
| STATUS_BUFFER_TOO_SMALL | El búfer proporcionado es demasiado pequeño y no se ha escrito ningún dato en el búfer. * ResultLength se establece en el tamaño mínimo necesario para contener la información solicitada. |
| STATUS_INVALID_PARAMETER | El parámetro KeyInformationClass no es un valor válido KEY_INFORMATION_CLASS . |
Observaciones
KeyHandle pasado a ZwQueryKey debe haberse abierto con KEY_QUERY_VALUE acceso. Esto se logra pasando KEY_QUERY_VALUE, KEY_READ o KEY_ALL_ACCESS como parámetro DesiredAccess a ZwCreateKey o ZwOpenKey.
Si KeyInformationClass es KeyNameInformation o KeyHandleTagsInformation, no se aplica el requisito de KEY_QUERY_VALUE.
ZwQueryKey se puede usar para obtener información que puede usar para asignar búferes para contener datos del Registro, como el tamaño máximo de las entradas de valor o los nombres de subclave de una clave, o el número de subclaves. Por ejemplo, puede llamar a ZwQueryKey, usar la información devuelta para asignar un búfer para una subclave, llamar a ZwEnumerateKey para obtener el nombre de la subclave y pasar ese nombre a una rutina rtlXxxRegistry .
Para obtener más información sobre cómo trabajar con claves del Registro, consulte Uso del Registro en un controlador.
Si la llamada a esta función se produce en modo de usuario, debe usar el nombre "NtQueryKey" en lugar de "ZwQueryKey".
En el caso de las llamadas desde controladores en modo kernel, las NtXxx y Zwversiones de Xxx de una rutina de Servicios del sistema nativo de Windows pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones de NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.
Requisitos
| Requirement | Importancia |
|---|---|
| de la plataforma de destino de |
Universal |
| Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL de |
NtosKrnl.exe |
| irQL | PASSIVE_LEVEL |
| reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), IrqlZwPassive(wdm), PowerIrpDDis(wdm), ZwRegistryCreate(storport), ZwRegistryCreate(storport), ZwRegistryCreate(wdm), ZwRegistryOpen(storport), ZwRegistryOpen(storport), ZwRegistryOpen(wdm) |
Consulte también
KEY_VIRTUALIZATION_INFORMATION
Uso de versiones Nt y Zw de las rutinas de servicios del sistema nativo