FILE_NOTIFY_INFORMATION structure (ntifs.h)

FILE_NOTIFY_INFORMATION décrit les modifications apportées à un répertoire. Elle est retournée en réponse à une demande de IRP_MJ_DIRECTORY_CONTROL avec un code de fonction secondaire IRP_MN_NOTIFY_CHANGE_DIRECTORY quand DIRECTORY_NOTIFY_INFORMATION_CLASS est DirectoryNotifyInformation.

Syntaxe

typedef struct _FILE_NOTIFY_INFORMATION {
  ULONG NextEntryOffset;
  ULONG Action;
  ULONG FileNameLength;
  WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;

Membres

NextEntryOffset

Nombre d’octets qui doivent être ignorés pour accéder à l’enregistrement suivant. La valeur zéro indique qu’il s’agit du dernier enregistrement.

Action

Type de modification qui s’est produite. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
FILE_ACTION_ADDED (0x00000001) Le fichier a été ajouté au répertoire.
FILE_ACTION_REMOVED (0x00000002) Le fichier a été supprimé du répertoire.
FILE_ACTION_MODIFIED (0x00000003) Le fichier a été modifié. Il peut s’agir d’une modification de l’horodatage ou des attributs.
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) Le fichier a été renommé et il s’agit de l’ancien nom.
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) Le fichier a été renommé et il s’agit du nouveau nom.
FILE_ACTION_ADDED_STREAM (0x00000006) Un flux nommé a été ajouté au fichier.
FILE_ACTION_REMOVED_STREAM (0x00000007) Un flux nommé a été supprimé du fichier.
FILE_ACTION_MODIFIED_STREAM (0x00000008) Un flux nommé a été modifié. La modification peut être une modification apportée aux données ou aux attributs du flux nommé.
FILE_ACTION_REMOVED_BY_DELETE (0x00000009) Un ID d’objet a été supprimé, car le fichier auquel l’ID d’objet faisait référence a été supprimé. Cette notification est envoyée uniquement lorsque le répertoire surveillé est le répertoire spécial « $Extend$ObjId :$O :$INDEX_ALLOCATION ».
FILE_ACTION_ID_NOT_TUNNELLED (0x0000000A) Une tentative de tunnel des informations d’ID d’objet vers un fichier en cours de création ou de renommage a échoué, car l’ID d’objet est utilisé par un autre fichier sur le même volume. Cette notification est envoyée uniquement lorsque le répertoire surveillé est le répertoire spécial « $Extend$ObjId :$O :$INDEX_ALLOCATION ».
FILE_ACTION_TUNNELLED_ID_COLLISION (0x0000000B) Une tentative de tunnel des informations d’ID d’objet dans un fichier en cours de renommage a échoué, car le fichier a déjà un ID d’objet. Cette notification est envoyée uniquement lorsque le répertoire surveillé est le répertoire spécial « $Extend$ObjId :$O :$INDEX_ALLOCATION ».

FileNameLength

Taille de la partie du nom de fichier de l’enregistrement, en octets. Cette valeur n’inclut pas le caractère null de fin.

FileName[1]

Champ de longueur variable qui contient le nom de fichier relatif au handle de répertoire. Le nom de fichier est au format caractère Unicode et n’est pas terminé par null.

S’il existe un nom court et un nom long pour le fichier, un seul de ces noms est retourné, mais il n’est pas spécifié lequel.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
En-tête ntifs.h

Voir aussi

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx