ZwDeleteValueKey-Funktion (wdm.h)
Die ZwDeleteValueKey-Routine löscht einen Werteintrag, der einem Namen entspricht, aus einem geöffneten Schlüssel in der Registrierung. Wenn kein solcher Eintrag vorhanden ist, wird ein Fehler zurückgegeben.
Syntax
NTSYSAPI NTSTATUS ZwDeleteValueKey(
[in] HANDLE KeyHandle,
[in] PUNICODE_STRING ValueName
);
Parameter
[in] KeyHandle
Das Handle für den Registrierungsschlüssel, der den relevanten Werteintrag enthält. Dieser Schlüssel muss geöffnet worden sein, wobei KEY_SET_VALUE für den gewünschten Zugriff festgelegt wurde. Dieses Handle wird durch einen erfolgreichen Aufruf von ZwCreateKey oder ZwOpenKey erstellt.
[in] ValueName
Zeiger auf eine UNICODE_STRING-Struktur , die den Namen des zu löschenden Werteintrags enthält. Dieser Parameter kann eine leere Zeichenfolge sein, wenn der Werteintrag keinen Namen hat.
Rückgabewert
ZwDeleteValueKey gibt STATUS_SUCCESS oder einen entsprechenden Fehler zurück, status den endgültigen Abschluss status des Vorgangs darstellt. Mögliche Fehler status Codes sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_ACCESS_DENIED | Das KeyHandle-Handle verfügt nicht über den KEY_SET_VALUE Zugriff. |
STATUS_INSUFFICIENT_RESOURCES | Zusätzliche Ressourcen, die für diese Funktion erforderlich waren, waren nicht verfügbar. |
STATUS_INVALID_HANDLE | Der angegebene KeyHandle-Parameter war ein NULL-Zeiger oder kein gültiger Zeiger auf einen geöffneten Registrierungsschlüssel. |
STATUS_OBJECT_NAME_NOT_FOUND | Der Registrierungsschlüsseleintrag ValueName wurde nicht gefunden. |
Hinweise
Das an ZwDeleteValueKey übergebeneKeyHandle muss geöffnet worden sein, damit der Löschzugriff erfolgreich ist. Die DesiredAccess-Werte von KEY_SET_VALUE, KEY_WRITE und KEY_ALL_ACCESS enthalten die KEY_SET_VALUE Zugriffsmaske, die für den Löschzugriff erforderlich ist. Eine Beschreibung der möglichen Werte für DesiredAccess finden Sie unter ZwCreateKey.
Wenn Rückruffunktionen für diesen Registrierungsschlüssel registriert sind, werden diese Rückruffunktionen aufgerufen.
Gerätetreiber sollten nicht versuchen, ZwDeleteValueKey direkt aufzurufen, um Werteinträge in einem Unterschlüssel von \Registry zu löschen. \ResourceMap-Schlüssel . Nur das System kann Werteinträge in der \Registry schreiben oder löschen . \HardwareDescription-Struktur .
Wenn der Aufruf dieser Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtDeleteValueKey" anstelle von "ZwDeleteValueKey" verwenden.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |