#ifndef _NTIOAPI_H
// NtQueryDirectoryFile types
typedef struct _FILE_DIRECTORY_INFORMATION
{
    ULONG NextEntryOffset;
    ULONG FileIndex;
    LARGE_INTEGER CreationTime;
    LARGE_INTEGER LastAccessTime;
    LARGE_INTEGER LastWriteTime;
    LARGE_INTEGER ChangeTime;
    LARGE_INTEGER EndOfFile;
    LARGE_INTEGER AllocationSize;
    ULONG FileAttributes;
    ULONG FileNameLength;
    _Field_size_bytes_(FileNameLength) WCHAR FileName[1];
} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;
View code on GitHubThis structure is documented in Windows Driver Kit.
Structure FILE_DIRECTORY_INFORMATION is returned as a result of call NtQueryDirectoryFile with FileDirectoryInformation information class. It contains some typical information about directory entries.
Offset (in bytes) of next FILE_DIRECTORY_INFORMATION structure placed in result buffer. If there's no more entries, NextEntryOffset is set to zero.
File index value, or zero, if directory indexing is not available.
Time of object creation;
Last access time. Means time when last open operation was performed.
Time of last write data.
Time of last change.
Specify length of file, in bytes.
Specify real size of file on device. It must be equal or greater to EndOfFile member.
Attributes of file.
Length of FileName array, in bytes.
UNICODE string specifying file name.