FILE_STAT_BASIC_INFORMATION 结构 (ntifs.h)
FILE_STAT_BASIC_INFORMATION 包含有关文件的基本元数据。
语法
typedef struct _FILE_STAT_BASIC_INFORMATION {
LARGE_INTEGER FileId;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER AllocationSize;
LARGE_INTEGER EndOfFile;
ULONG FileAttributes;
ULONG ReparseTag;
ULONG NumberOfLinks;
ULONG DeviceType;
ULONG DeviceCharacteristics;
ULONG Reserved;
LARGE_INTEGER VolumeSerialNumber;
FILE_ID_128 FileId128;
} FILE_STAT_BASIC_INFORMATION, *PFILE_STAT_BASIC_INFORMATION;
成员
FileId
指定文件的 ID。
CreationTime
指定文件的创建时间。
LastAccessTime
指定上次访问文件的时间。
LastWriteTime
指定上次写入文件的时间。
ChangeTime
指定上次更改文件的时间。
AllocationSize
文件分配大小(以字节为单位)。 通常,此值是基础物理设备的扇区或群集大小的倍数。
EndOfFile
绝对新的文件结尾位置,作为文件开头的字节偏移量。 EndOfFile 指定到文件末尾的字节偏移量。 由于此值从零开始,因此它实际上引用文件中的第一个可用字节。 换句话说, EndOfFile 是紧跟在文件中最后一个有效字节之后的字节的偏移量。
FileAttributes
文件属性,可以是以下各项的任意有效组合:
Attribute | 值 |
---|---|
FILE_ATTRIBUTE_READONLY | 0x00000001 |
FILE_ATTRIBUTE_HIDDEN | 0x00000002 |
FILE_ATTRIBUTE_SYSTEM | 0x00000004 |
FILE_ATTRIBUTE_DIRECTORY | 0x00000010 |
FILE_ATTRIBUTE_ARCHIVE | 0x00000020 |
FILE_ATTRIBUTE_NORMAL | 0x00000080 |
ReparseTag
重新分析点标记。 有关详细信息 ,请参阅关于重新分析点 。
NumberOfLinks
指定文件的链接数。
DeviceType
根据基础设备类型,在驱动程序调用 IoCreateDevice 时设置。 有关详细信息,请参阅 指定设备类型。
DeviceCharacteristics
设备特征。 有关相关值的说明,请参阅 DEVICE_OBJECT。
Reserved
预留给系统使用。
VolumeSerialNumber
文件所在的卷的序列号。
FileId128
文件的 128 字节文件引用号。 此数字由文件系统生成并分配给文件。
注解
可以通过以下任一方式查询此信息:
调用 ZwQueryDirectoryFile,将 FileStatBasicInformation 作为 FileInformationClass 的值传递,并将调用方分配 的FILE_ID_EXTD_DIR_INFORMATION结构化缓冲区作为 FileInformation 的值传递。
使用主函数代码IRP_MJ_DIRECTORY_CONTROL和次要函数代码IRP_MN_QUERY_DIRECTORY Create IRP。
无需特定访问权限即可查询此信息。
文件引用号(也称为文件 ID)保证仅在静态文件系统中是唯一的。 它们不保证随时间推移是唯一的,因为文件系统可以自由重复使用它们。 也不保证它们保持不变。 例如,FAT 文件系统从磁盘上的 DIRENT) 文件目录条目记录的字节偏移量 (生成文件引用号。 碎片整理可以更改此字节偏移量。 因此,FAT 文件引用编号可能会随时间而变化。
所有日期和时间均采用绝对系统时间格式。 绝对系统时间是自 1601 年初以来的 100 纳秒间隔数。
此结构必须在 LONGLONG (8 字节) 边界上对齐。 如果缓冲区包含其中两个或更多个结构,则每个条目中的 NextEntryOffset 值(最后一个除外)位于 8 字节边界上。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11,版本 24H2 |
标头 | ntifs.h |