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)

另请参阅

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile