Funzione ZwDeleteValueKey (wdm.h)

La routine ZwDeleteValueKey elimina una voce di valore corrispondente a un nome da una chiave aperta nel Registro di sistema. Se non esiste alcuna voce di questo tipo, viene restituito un errore.

Sintassi

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

Parametri

[in] KeyHandle

Handle della chiave del Registro di sistema contenente la voce di valore di interesse. Questa chiave deve essere stata aperta con KEY_SET_VALUE impostata per l'accesso desiderato. Questo handle viene creato da una chiamata riuscita a ZwCreateKey o ZwOpenKey.

[in] ValueName

Puntatore a una struttura UNICODE_STRING contenente il nome della voce del valore da eliminare. Questo parametro può essere una stringa vuota se la voce del valore non ha alcun nome.

Valore restituito

ZwDeleteValueKey restituisce STATUS_SUCCESS o uno stato di errore appropriato che rappresenta lo stato di completamento finale dell'operazione. I codici di stato degli errori possibili includono quanto segue:

Codice restituito Descrizione
STATUS_ACCESS_DENIED L'handle KeyHandle non dispone dell'accesso KEY_SET_VALUE.
STATUS_INSUFFICIENT_RESOURCES Le risorse aggiuntive richieste da questa funzione non erano disponibili.
STATUS_INVALID_HANDLE Il parametro KeyHandle specificato è un puntatore NULL o non un puntatore valido a una chiave del Registro di sistema aperta.
STATUS_OBJECT_NAME_NOT_FOUND Non è stata trovata la voce della chiave del Registro di sistema ValueName .

Commenti

KeyHandle passato a ZwDeleteValueKey deve essere stato aperto per l'eliminazione dell'accesso. I valori DesiredAccess di KEY_SET_VALUE, KEY_WRITE e KEY_ALL_ACCESS includono la maschera di accesso KEY_SET_VALUE necessaria per eliminare l'accesso. Per una descrizione dei valori possibili per DesiredAccess, vedere ZwCreateKey.

Se le funzioni di callback vengono registrate per questa chiave del Registro di sistema, queste funzioni di callback verranno chiamate.

I driver di dispositivo non devono tentare di chiamare ZwDeleteValueKey direttamente per eliminare le voci di valore in una sottochiave di \Registry.. \ResourceMap chiave. Solo il sistema può scrivere o eliminare voci di valore in \Registry.. \Albero HardwareDescription .

Se la chiamata a questa funzione si verifica in modalità utente, è necessario usare il nome "NtDeleteValueKey" anziché "ZwDeleteValueKey".

Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Uso di nt e zw versioni delle routine di Servizi di sistema nativo.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

Uso di nt e zw versioni delle routine di Servizi di sistema nativo

ZwCreateKey

ZwDeleteKey

ZwEnumerateValueKey

ZwOpenKey

ZwQueryValueKey

ZwSetValueKey