Funzione ZwDeleteFile (ntifs.h)

La routine ZwDeleteFile elimina il file specificato.

Sintassi

NTSYSAPI NTSTATUS ZwDeleteFile(
  [in] POBJECT_ATTRIBUTES ObjectAttributes
);

Parametri

[in] ObjectAttributes

Puntatore a una struttura OBJECT_ATTRIBUTES che contiene gli attributi forniti dal chiamante da usare per l'oggetto file. Questi attributi includono ObjectName e il SECURITY_DESCRIPTOR, ad esempio. Questo parametro viene inizializzato chiamando la macro InitializeObjectAttributes .

Valore restituito

ZwDeleteFile restituisce STATUS_SUCCESS o uno stato di errore appropriato che rappresenta lo stato di completamento finale dell'operazione. I codici di stato degli errori possibili includono quanto segue:

Codice restituito Descrizione
STATUS_INSUFFICIENT_RESOURCES Impossibile allocare un buffer temporaneo richiesto da questa funzione.
STATUS_INVALID_PARAMETER Il parametro ObjectAttributes specificato è un puntatore NULL, non un puntatore valido a una struttura OBJECT_ATTRIBUTES o alcuni dei membri della struttura ObjectAttributes specificati non sono validi.
STATUS_OBJECT_NAME_INVALID Il parametro ObjectAttributes contiene un OggettoName nella struttura OBJECT_ATTRIBUTES non valida perché è stata trovata una stringa vuota dopo il carattere OBJECT_NAME_PATH_SEPARATOR.
STATUS_OBJECT_NAME_NOT_FOUND Il parametro ObjectAttributes contiene un membro ObjectName nella struttura OBJECT_ATTRIBUTES che non è stato trovato.
STATUS_OBJECT_PATH_NOT_FOUND Il parametro ObjectAttributes contiene un membro ObjectName nella struttura OBJECT_ATTRIBUTES con un percorso oggetto che non è stato trovato.
STATUS_OBJECT_PATH_SYNTAX_BAD Il parametro ObjectAttributes non contiene un membro RootDirectory , ma il membro ObjectName nella struttura OBJECT_ATTRIBUTES è una stringa vuota o non contiene un carattere OBJECT_NAME_PATH_SEPARATOR. Questo indica una sintassi errata per il percorso dell'oggetto.

Commenti

ZwDeleteFile elimina l'oggetto file specificato.

La funzione ZwDeleteFile viene chiamata dopo l'eliminazione della macro InitializeAttributes per impostare gli attributi nella struttura OBJECT_ATTRIBUTES per l'oggetto file da eliminare.

Esistono due modi alternativi per specificare il nome del file da eliminare con ZwDeleteFile:

  • Nome percorso completo fornito nel membro ObjectName dell'oggetto ObjectAttributes
  • Come pathname relativo al file di directory rappresentato dall'handle nel membro RootDirectorydell'oggetto ObjectAttributes di input

I chiamanti di ZwDeleteFile devono essere in esecuzione in IRQL = PASSIVE_LEVEL e con API kernel speciali abilitate.

Se la chiamata alla funzione ZwDeleteFile si verifica in modalità utente, è consigliabile usare il nome "NtDeleteFile" anziché "ZwDeleteFile".

Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Uso di nt e zw versioni delle routine di Servizi di sistema nativo.

Requisiti

Requisito Valore
Client minimo supportato Windows XP
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (vedere la sezione Osservazioni)
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

InitializeObjectAttributes

OBJECT_ATTRIBUTES