FILE_NAMES_INFORMATION结构 (ntifs.h)
用于查询目录中文件名称的详细信息的 FILE_NAMES_INFORMATION 结构。
语法
typedef struct _FILE_NAMES_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;
成员
NextEntryOffset
如果缓冲区中存在多个条目,则下一个 FILE_NAMES_INFORMATION 项的字节偏移量。 如果没有其他条目遵循此成员,则此成员为零。
FileIndex
父目录中文件的字节偏移量。 对于文件系统(如 NTFS),此成员未定义,其中父目录中的文件位置未固定,可以随时更改以保持排序顺序。
FileNameLength
文件名字符串的长度。
FileName[1]
文件名字符串的第一个字符。 紧跟在内存中的字符串的其余部分。
言论
可通过以下任一方式查询此信息:
调用 ZwQueryDirectoryFile,将 FileNamesInformation 作为 fileInformationClass 的值传递给 fileInformationClass,并将调用方分配 FILE_NAMES_INFORMATION的结构化缓冲区作为 FileInformation的值传递。
使用主要函数代码IRP_MJ_DIRECTORY_CONTROL和次要函数代码IRP_MN_QUERY_DIRECTORY创建 IRP。
查询此信息不需要特定的访问权限。
此结构必须在 LONG(4 字节)边界上对齐。 如果缓冲区包含两个或多个这些结构,则每个条目中的 NextEntryOffset 值(最后一个除外)位于 4 字节边界上。
要求
要求 | 价值 |
---|---|
标头 | ntifs.h(包括 Ntifs.h、Fltkernel.h) |