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) |