Freigeben über


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)

Siehe auch

InitializeObjectAttributes-

OBJECT_ATTRIBUTES