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 的值传递,并将调用方分配 的FILE_NAMES_INFORMATION结构化缓冲区作为 FileInformation 的值传递。

  • 创建包含主函数代码IRP_MJ_DIRECTORY_CONTROL和次要函数代码IRP_MN_QUERY_DIRECTORY的 IRP。

查询此信息不需要任何特定的访问权限。

此结构必须在 LONG (4 字节) 边界上对齐。 如果缓冲区包含其中两个或更多个结构,则每个条目中的 NextEntryOffset 值(最后一个除外)位于 4 字节边界上。

要求

要求
Header ntifs.h (包括 Ntifs.h、Fltkernel.h)

另请参阅

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile