Função ZwDeleteValueKey (wdm.h)

A rotina ZwDeleteValueKey exclui uma entrada de valor correspondente a um nome de uma chave aberta no Registro. Se essa entrada não existir, um erro será retornado.

Sintaxe

NTSYSAPI NTSTATUS ZwDeleteValueKey(
  [in] HANDLE          KeyHandle,
  [in] PUNICODE_STRING ValueName
);

Parâmetros

[in] KeyHandle

O identificador para a chave do Registro que contém a entrada de valor de interesse. Essa chave deve ter sido aberta com KEY_SET_VALUE definido para o acesso desejado. Esse identificador é criado por uma chamada bem-sucedida para ZwCreateKey ou ZwOpenKey.

[in] ValueName

Ponteiro para uma estrutura UNICODE_STRING que contém o nome da entrada de valor a ser excluída. Esse parâmetro poderá ser uma cadeia de caracteres vazia se a entrada de valor não tiver nome.

Retornar valor

ZwDeleteValueKey retorna STATUS_SUCCESS ou um erro apropriado status que representa o status de conclusão final da operação. Possíveis códigos de status de erro incluem o seguinte:

Código de retorno Descrição
STATUS_ACCESS_DENIED O identificador KeyHandle não tem o acesso KEY_SET_VALUE.
STATUS_INSUFFICIENT_RESOURCES Recursos adicionais exigidos por essa função não estavam disponíveis.
STATUS_INVALID_HANDLE O parâmetro KeyHandle especificado era um ponteiro NULL ou não era um ponteiro válido para uma chave do Registro aberta.
STATUS_OBJECT_NAME_NOT_FOUND A entrada da chave do Registro ValueName não foi encontrada.

Comentários

O KeyHandle passado para ZwDeleteValueKey deve ter sido aberto para que o acesso de exclusão tenha êxito. Os valores desiredAccess de KEY_SET_VALUE, KEY_WRITE e KEY_ALL_ACCESS incluem a máscara de acesso KEY_SET_VALUE necessária para excluir o acesso. Para obter uma descrição dos valores possíveis para DesiredAccess, consulte ZwCreateKey.

Se as funções de retorno de chamada forem registradas para essa chave do Registro, essas funções de retorno de chamada serão chamadas.

Os drivers de dispositivo não devem tentar chamar ZwDeleteValueKey diretamente para excluir entradas de valor em uma subchave do \Registry.. \ResourceMap key. Somente o sistema pode gravar ou excluir entradas de valor no \Registry.. \Árvore HardwareDescription .

Se a chamada para essa função ocorrer no modo de usuário, você deverá usar o nome "NtDeleteValueKey" em vez de "ZwDeleteValueKey".

Para chamadas de drivers de modo kernel, as versões NtXxx e ZwXxx de uma rotina do Windows Native System Services podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Confira também

Usando versões Nt e Zw das rotinas de serviços do sistema nativo

ZwCreateKey

ZwDeleteKey

ZwEnumerateValueKey

ZwOpenKey

ZwQueryValueKey

ZwSetValueKey