FILE_INTERNAL_INFORMATION 结构 (ntifs.h)
FILE_INTERNAL_INFORMATION结构用于查询文件系统中文件的 8 字节文件引用号。
语法
typedef struct _FILE_INTERNAL_INFORMATION {
LARGE_INTEGER IndexNumber;
} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
成员
IndexNumber
文件的 8 字节文件引用号。 此数字由文件系统分配,特定于文件系统。 (请注意,这与添加到 Microsoft Windows 2000 的 NTFS 的 16 字节“文件对象 ID”不同。)
注解
可以通过以下任一方式查询此信息:
调用 FltQueryInformationFile 或 ZwQueryInformationFile,将 FileInternalInformation 作为 FileInformationClass 的值传递,并将调用方分配FILE_INTERNAL_INFORMATION结构化缓冲区作为 FileInformation 的值传递。
使用主函数代码 IRP_MJ_QUERY_INFORMATION创建 IRP。
无需特定访问权限即可查询此信息。
FILE_INTERNAL_INFORMATION 结构的 IndexNumber 成员与 FILE_ID_BOTH_DIR_INFORMATION 和 FILE_ID_FULL_DIR_INFORMATION 结构的 FileId 成员相同。
文件引用号(也称为文件 ID)保证仅在静态文件系统中是唯一的。 它们不保证随时间推移是唯一的,因为文件系统可以自由重复使用它们。 也不保证它们保持不变。 例如,FAT 文件系统从磁盘上的 DIRENT) 文件目录条目记录的字节偏移量 (生成文件引用号。 碎片整理可以更改此字节偏移量。 因此,FAT 文件引用编号可能会随时间而变化。
FileInformation 参数中传递给 FltQueryInformationFile 或 ZwQueryInformationFile 的缓冲区大小必须至少sizeof(FILE_INTERNAL_INFORMATION)
为 。
此结构必须在 LONGLONG (8 字节) 边界上对齐。
要求
要求 | 值 |
---|---|
Header | ntifs.h (包括 Ntifs.h、Fltkernel.h) |