ZwDeleteFile-Funktion (ntifs.h)
Die ZwDeleteFile Routine löscht die angegebene Datei.
Syntax
NTSYSAPI NTSTATUS ZwDeleteFile(
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
Parameter
[in] ObjectAttributes
Ein Zeiger auf eine OBJECT_ATTRIBUTES Struktur, die die vom Aufrufer bereitgestellten Attribute enthält, die für das Dateiobjekt verwendet werden sollen. Zu diesen Attributen gehören beispielsweise die ObjectName- und die SECURITY_DESCRIPTOR. Dieser Parameter wird durch Aufrufen des InitializeObjectAttributes Makros initialisiert.
Rückgabewert
ZwDeleteFile- gibt STATUS_SUCCESS oder einen entsprechenden Fehlerstatus zurück, der den endgültigen Abschlussstatus des Vorgangs darstellt. Mögliche Fehlerstatuscodes sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Ein temporärer Puffer, der von dieser Funktion benötigt wird, konnte nicht zugeordnet werden. |
STATUS_INVALID_PARAMETER | Der angegebene ObjectAttributes- Parameter war ein NULL-Zeiger, kein gültiger Zeiger auf eine OBJECT_ATTRIBUTES-Struktur, oder einige der angegebenen ObjectAttributes Strukturmember waren ungültig. |
STATUS_OBJECT_NAME_INVALID | Der ObjectAttributes- Parameter enthielt eine ObjectName- in der OBJECT_ATTRIBUTES Struktur, die ungültig war, da nach dem OBJECT_NAME_PATH_SEPARATOR Zeichen eine leere Zeichenfolge gefunden wurde. |
STATUS_OBJECT_NAME_NOT_FOUND | Der ObjectAttributes- Parameter enthielt ein ObjectName-Element Element in der OBJECT_ATTRIBUTES Struktur, die nicht gefunden werden konnte. |
STATUS_OBJECT_PATH_NOT_FOUND | Der ObjectAttributes- Parameter enthielt ein ObjectName Element in der OBJECT_ATTRIBUTES-Struktur mit einem Objektpfad, der nicht gefunden werden konnte. |
STATUS_OBJECT_PATH_SYNTAX_BAD | Der ObjectAttributes--Parameter enthielt kein RootDirectory-element, aber das ObjectName-Element in der OBJECT_ATTRIBUTES-Struktur war eine leere Zeichenfolge oder enthielt kein OBJECT_NAME_PATH_SEPARATOR Zeichen. Dies gibt eine falsche Syntax für den Objektpfad an. |
Bemerkungen
ZwDeleteFile das angegebene Dateiobjekt löscht.
Die ZwDeleteFile--Funktion wird aufgerufen, nachdem das InitializeAttributes Makros verwendet wird, um Attribute in der OBJECT_ATTRIBUTES Struktur festzulegen, damit das Dateiobjekt gelöscht werden soll.
Es gibt zwei alternative Möglichkeiten, den Namen der Datei anzugeben, die mit ZwDeleteFile-gelöscht werden soll:
- Als vollqualifizierter Pfadname, der im ObjectName Member der Eingabe ObjectAttributes-
- Als Pfadname relativ zur Verzeichnisdatei, die durch das Handle im RootDirectory Member der Eingabe ObjectAttributes dargestellt wird
Aufrufer von ZwDeleteFile- müssen unter IRQL = PASSIVE_LEVEL und mit speziellen Kernel-APCs ausgeführt werden, dieaktiviert sind.
Wenn der Aufruf der ZwDeleteFile--Funktion im Benutzermodus auftritt, sollten Sie den Namen "NtDeleteFile " anstelle von "ZwDeleteFile" verwenden.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx und ZwXxx- Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |