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 |