Fonction ZwDeleteFile (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 de OBJECT_ATTRIBUTES qui contient les attributs fournis par l’appelant à utiliser pour l’objet fichier. Ces attributs incluent objectName et le SECURITY_DESCRIPTOR, par exemple. Ce paramètre est initialisé en appelant la macro InitializeObjectAttributes .

Valeur retournée

ZwDeleteFile retourne STATUS_SUCCESS ou une status d’erreur appropriée représentant la status d’achèvement finale de l’opération. Les codes de status d’erreur possibles incluent les éléments suivants :

Code de retour Description
STATUS_INSUFFICIENT_RESOURCES Une mémoire tampon temporaire requise par cette fonction n’a pas pu être allouée.
STATUS_INVALID_PARAMETER Le paramètre ObjectAttributes spécifié était un pointeur NULL, pas un pointeur valide vers une structure OBJECT_ATTRIBUTES , ou certains des membres de la structure ObjectAttributes spécifiés n’étaient pas valides.
STATUS_OBJECT_NAME_INVALID Le paramètre ObjectAttributes contenait un ObjectName dans la structure OBJECT_ATTRIBUTES qui n’était pas 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 de 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 l’utilisation de la macro InitializeAttributes pour définir des attributs dans la structure OBJECT_ATTRIBUTES de l’objet fichier à supprimer.

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

  • En tant que chemin d’accès complet, fourni dans le membre ObjectName 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 membre RootDirectory de l’entrée ObjectAttributes

Les appelants de ZwDeleteFile doivent être en cours d’exécution à 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 dans 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 Utilisation des versions Nt et Zw des routines des services système natifs.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Plateforme cible Universal
En-tête ntifs.h (inclure 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