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 objectName und die SECURITY_DESCRIPTOR. Dieser Parameter wird initialisiert, indem das Makro InitializeObjectAttributes aufgerufen wird.

Rückgabewert

ZwDeleteFile gibt STATUS_SUCCESS oder einen entsprechenden Fehler zurück, status die endgültige Vervollständigung status des Vorgangs darstellt. Mögliche Fehler status Codes sind:

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES Ein temporärer Puffer, der für diese Funktion erforderlich ist, konnte nicht zugewiesen 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 einen ObjectName in der OBJECT_ATTRIBUTES-Struktur , der ungültig war, weil nach dem OBJECT_NAME_PATH_SEPARATOR Zeichen eine leere Zeichenfolge gefunden wurde.
STATUS_OBJECT_NAME_NOT_FOUND Der ObjectAttributes-Parameter enthielt ein ObjectName-Element in der OBJECT_ATTRIBUTES-Struktur , das 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.

Hinweise

ZwDeleteFile löscht das angegebene Dateiobjekt.

Die ZwDeleteFile-Funktion wird aufgerufen, nachdem das Makro InitializeAttributes verwendet wird, um Attribute in der OBJECT_ATTRIBUTES-Struktur für das zu löschende Dateiobjekt festzulegen.

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 angegeben wird
  • 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 aktivierten speziellen Kernel-APCs ausgeführt werden.

Wenn der Aufruf der ZwDeleteFile-Funktion im Benutzermodus erfolgt, 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, 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
Unterstützte Mindestversion (Client) Windows XP
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (siehe Abschnitt Hinweise)
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Weitere Informationen

InitializeObjectAttributes

OBJECT_ATTRIBUTES