FILE_NOTIFY_FULL_INFORMATION structure (ntifs.h)

Une structure FILE_NOTIFY_FULL_INFORMATION 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 DirectoryNotifyFullInformation.

Syntaxe

typedef struct _FILE_NOTIFY_FULL_INFORMATION {
  ULONG         NextEntryOffset;
  ULONG         Action;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastModificationTime;
  LARGE_INTEGER LastChangeTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER AllocatedLength;
  LARGE_INTEGER FileSize;
  ULONG         FileAttributes;
  union {
    ULONG ReparsePointTag;
    ULONG EaSize;
  } DUMMYUNIONNAME;
  LARGE_INTEGER FileId;
  LARGE_INTEGER ParentFileId;
  USHORT        FileNameLength;
  UCHAR         FileNameFlags;
  UCHAR         Reserved;
  WCHAR         FileName[1];
} FILE_NOTIFY_FULL_INFORMATION, *PFILE_NOTIFY_FULL_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) Un fichier a été ajouté au répertoire.
FILE_ACTION_REMOVED (0x00000002) Un fichier a été supprimé du répertoire.
FILE_ACTION_MODIFIED (0x00000003) Le répertoire a été modifié. Il peut s’agir d’une modification de l’horodatage ou des attributs.
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) Le répertoire a été renommé et il s’agit de l’ancien nom.
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) Le répertoire a été renommé et il s’agit du nouveau nom.

CreationTime

Date et heure de création et d’ajout du répertoire ou du fichier au système de fichiers.

LastModificationTime

Date et heure de la dernière modification du contenu du répertoire ou du fichier dans le système de fichiers.

LastChangeTime

Date et heure auxquelles les métadonnées ou le contenu du répertoire ou du fichier ont été modifiés pour la dernière fois dans le système de fichiers.

LastAccessTime

Date et heure de la dernière consultation du répertoire ou du fichier dans le système de fichiers.

AllocatedLength

Taille allouée du fichier, en octets.

FileSize

Nouvelle taille du répertoire ou du fichier en octets, ou ancienne taille si la taille est inchangée.

FileAttributes

Attributs de fichier, qui peuvent être n’importe quelle combinaison valide des éléments suivants :

  • FILE_ATTRIBUTE_READONLY
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_NORMAL
  • FILE_ATTRIBUTE_TEMPORARY
  • FILE_ATTRIBUTE_COMPRESSED

DUMMYUNIONNAME

DUMMYUNIONNAME.ReparsePointTag

Balise d’identificateur d’un point d’analyse pour le répertoire ou le fichier.

DUMMYUNIONNAME.EaSize

Longueur combinée des attributs étendus (EA) pour le fichier, en octets.

FileId

Identificateur du répertoire ou du fichier. Ce nombre est généré et affecté au fichier par le système de fichiers.

ParentFileId

Identificateur du répertoire parent du fichier.

FileNameLength

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

FileNameFlags

Indicateurs spécifiant le type de nom de fichier retourné, s’il est connu. Si aucun des indicateurs suivants n’est défini, le type de nom de fichier n’est pas connu. Si les deux indicateurs suivants sont définis, le nom de fichier agit à la fois comme nom long et nom court (à la fois le nom NTFS et le nom DOS) d’une paire de noms long/court.

Indicateur Valeur
FILE_NAME_NTFS (0x01) Le nom de fichier est le nom long (nom NTFS) d’une paire de noms long/court.
FILE_NAME_DOS (0x02) Le nom de fichier est le nom court (nom DOS) d’une paire de noms long/court.

Reserved

Réservé pour le système.

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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11, version 22H2
En-tête ntifs.h

Voir aussi

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx