FILE_NOTIFY_EXTENDED_INFORMATION 结构 (ntifs.h)

DIRECTORY_NOTIFY_INFORMATION_CLASS为 DirectoryNotifyExtendedInformation 时,FILE_NOTIFY_EXTENDED_INFORMATION通过IRP_MN_NOTIFY_CHANGE_DIRECTORY次要函数代码提供有关目录更改的信息,以响应IRP_MJ_DIRECTORY_CONTROL请求。

语法

typedef struct _FILE_NOTIFY_EXTENDED_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;
  ULONG         FileNameLength;
  WCHAR         FileName[1];
} FILE_NOTIFY_EXTENDED_INFORMATION, *PFILE_NOTIFY_EXTENDED_INFORMATION;

成员

NextEntryOffset

必须跳过才能到达下一条记录的字节数。 值为零表示这是最后一条记录。

Action

已发生的更改类型。 此成员可以是以下值之一。

含义
FILE_ACTION_ADDED (0x00000001) 文件已添加到目录。
FILE_ACTION_REMOVED (0x00000002) 文件已从目录中删除。
FILE_ACTION_MODIFIED (0x00000003) 目录已修改。 这可以是时间戳或属性中的更改。
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) 目录已重命名,这是旧名称。
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) 目录已重命名,这是新名称。

CreationTime

创建目录或文件并将其添加到文件系统的日期和时间。

LastModificationTime

上次在文件系统中修改目录或文件内容的日期和时间。

LastChangeTime

上次在文件系统中更改目录或文件的元数据或内容的日期和时间。

LastAccessTime

上次在文件系统中访问目录或文件的日期和时间。

AllocatedLength

文件的分配大小(以字节为单位)。

FileSize

目录或文件的新大小(以字节为单位),如果大小保持不变,则为旧大小。

FileAttributes

文件属性,可以是以下各项的任意有效组合:

  • 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

目录或文件的重新分析点的标识符标记。

DUMMYUNIONNAME.EaSize

文件的扩展属性 (EA) 的组合长度(以字节为单位)。

FileId

目录或文件的标识符。 此数字由文件系统生成并分配给该文件。

ParentFileId

文件的父目录的标识符。

FileNameLength

记录的文件名部分的大小(以字节为单位)。 此值不包括终止 null 字符。

FileName[1]

包含相对于目录句柄的文件名的可变长度字段。 文件名采用 Unicode 字符格式,且不以 null 结尾。

要求

要求
Header ntifs.h

另请参阅

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx