Función ZwDeleteValueKey (wdm.h)
La rutina ZwDeleteValueKey elimina una entrada de valor que coincide con un nombre de una clave abierta en el Registro. Si no existe dicha entrada, se devuelve un error.
Sintaxis
NTSYSAPI NTSTATUS ZwDeleteValueKey(
[in] HANDLE KeyHandle,
[in] PUNICODE_STRING ValueName
);
Parámetros
[in] KeyHandle
Identificador de la clave del Registro que contiene la entrada de valor de interés. Esta clave debe haberse abierto con KEY_SET_VALUE establecido para el acceso deseado. Este identificador se crea mediante una llamada correcta a ZwCreateKey o ZwOpenKey.
[in] ValueName
Puntero a una estructura UNICODE_STRING que contiene el nombre de la entrada de valor que se va a eliminar. Este parámetro puede ser una cadena vacía si la entrada de valor no tiene nombre.
Valor devuelto
ZwDeleteValueKey devuelve STATUS_SUCCESS o un estado de error adecuado que representa el estado de finalización final de la operación. Entre los posibles códigos de estado de error se incluyen los siguientes:
Código devuelto | Descripción |
---|---|
STATUS_ACCESS_DENIED | El identificador KeyHandle no tiene el acceso KEY_SET_VALUE. |
STATUS_INSUFFICIENT_RESOURCES | No había recursos adicionales necesarios para esta función. |
STATUS_INVALID_HANDLE | El parámetro KeyHandle especificado era un puntero NULL o no un puntero válido a una clave del Registro abierta. |
STATUS_OBJECT_NAME_NOT_FOUND | No se encontró la entrada de clave del Registro ValueName . |
Comentarios
KeyHandle pasado a ZwDeleteValueKey debe haberse abierto para que el acceso de eliminación se realice correctamente. Los valores desiredAccess de KEY_SET_VALUE, KEY_WRITE y KEY_ALL_ACCESS incluyen la máscara de acceso KEY_SET_VALUE necesaria para eliminar el acceso. Para obtener una descripción de los valores posibles para DesiredAccess, vea ZwCreateKey.
Si las funciones de devolución de llamada están registradas para esta clave del Registro, se llamará a estas funciones de devolución de llamada.
Los controladores de dispositivo no deben intentar llamar directamente a ZwDeleteValueKey para eliminar entradas de valor en una subclave de \Registry.. \Clave ResourceMap . Solo el sistema puede escribir o eliminar entradas de valor en \Registry.. Árbol \HardwareDescription .
Si la llamada a esta función se produce en modo de usuario, debe usar el nombre "NtDeleteValueKey" en lugar de "ZwDeleteValueKey".
En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services 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 NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Consulte también
Uso de las versiones Nt y Zw de las rutinas nativas de System Services