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 字节文件引用编号。 此数字由文件系统分配,特定于文件系统。 (请注意,这与添加到 NTFS for Microsoft Windows 2000 的 16 字节“文件对象 ID”不同。
言论
可通过以下任一方式查询此信息:
调用 FltQueryInformationFile 或 ZwQueryInformationFile,将 FileInternalInformation 作为 fileInformation Class 的值传递,并将调用方分配的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 或 ZwQueryInformationFi le 的缓冲区的大小必须至少 sizeof(FILE_INTERNAL_INFORMATION)
。
此结构必须在 LONGLONG(8 字节)边界上对齐。
要求
要求 | 价值 |
---|---|
标头 | ntifs.h(包括 Ntifs.h、Fltkernel.h) |