Partager via


ZwDeleteFile, fonction (ntifs.h)

La routine ZwDeleteFile supprime le fichier spécifié.

Syntaxe

NTSYSAPI NTSTATUS ZwDeleteFile(
  [in] POBJECT_ATTRIBUTES ObjectAttributes
);

Paramètres

[in] ObjectAttributes

Pointeur vers une structure OBJECT_ATTRIBUTES qui contient les attributs fournis par l’appelant à utiliser pour l’objet fichier. Ces attributs incluent le ObjectName et le SECURITY_DESCRIPTOR, par exemple. Ce paramètre est initialisé en appelant la macro InitializeObjectAttributes.

Valeur de retour

ZwDeleteFile retourne STATUS_SUCCESS ou un état d’erreur approprié représentant l’état d’achèvement final de l’opération. Les codes d’état d’erreur possibles sont les suivants :

Retourner le code Description
STATUS_INSUFFICIENT_RESOURCES Impossible d’allouer une mémoire tampon temporaire requise par cette fonction.
STATUS_INVALID_PARAMETER Le paramètre ObjectAttributes spécifié était un pointeur NULL, et non un pointeur valide vers une structure OBJECT_ATTRIBUTES, ou certains des ObjectAttributes spécifiés membres de la structure n’étaient pas valides.
STATUS_OBJECT_NAME_INVALID Le paramètre ObjectAttributes contenait un ObjectName dans la structure OBJECT_ATTRIBUTES non valide, car une chaîne vide a été trouvée après le caractère OBJECT_NAME_PATH_SEPARATOR.
STATUS_OBJECT_NAME_NOT_FOUND Le paramètre ObjectAttributes contenait un membre ObjectName dans la structure OBJECT_ATTRIBUTES introuvable.
STATUS_OBJECT_PATH_NOT_FOUND Le paramètre ObjectAttributes contenait un membre ObjectName dans la structure OBJECT_ATTRIBUTES avec un chemin d’accès d’objet introuvable.
STATUS_OBJECT_PATH_SYNTAX_BAD Le paramètre ObjectAttributes ne contenait pas de membre RootDirectory , mais le membre ObjectName dans la structure OBJECT_ATTRIBUTES était une chaîne vide ou ne contenait pas de caractère OBJECT_NAME_PATH_SEPARATOR. Cela indique une syntaxe incorrecte pour le chemin d’accès de l’objet.

Remarques

ZwDeleteFile supprime l’objet de fichier spécifié.

La fonction ZwDeleteFile est appelée après la suppression de la macro InitializeAttributes OBJECT_ATTRIBUTES .

Il existe deux façons de spécifier le nom du fichier à supprimer avec ZwDeleteFile:

  • En tant que nom de chemin complet, fourni dans le ObjectName membre de l’entrée ObjectAttributes
  • En tant que chemin d’accès relatif au fichier de répertoire représenté par le handle dans le RootDirectory membre de l’entrée ObjectAttributes

Les appelants de ZwDeleteFile doivent s’exécuter à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées.

Si l’appel à la fonction ZwDeleteFile se produit en mode utilisateur, vous devez utiliser le nom «NtDeleteFile » au lieu de «ZwDeleteFile».

Pour les appels à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment de la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Using Nt and Zw Versions of the Native System Services Routines.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (voir la section Remarques)
règles de conformité DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Voir aussi

InitializeObjectAttributes

OBJECT_ATTRIBUTES