Undocumented functions of NTDLL

2OO1, 14 February


FILE_INFORMATION_CLASS
FILE_INFORMATION_CLASS

typedef enum _FILE_INFORMATION_CLASS {

FileDirectoryInformation=1, FileFullDirectoryInformation, FileBothDirectoryInformation, FileBasicInformation, FileStandardInformation, FileInternalInformation, FileEaInformation, FileAccessInformation, FileNameInformation, FileRenameInformation, FileLinkInformation, FileNamesInformation, FileDispositionInformation, FilePositionInformation, FileFullEaInformation, FileModeInformation, FileAlignmentInformation, FileAllInformation, FileAllocationInformation, FileEndOfFileInformation, FileAlternateNameInformation, FileStreamInformation, FilePipeInformation, FilePipeLocalInformation, FilePipeRemoteInformation, FileMailslotQueryInformation, FileMailslotSetInformation, FileCompressionInformation, FileCopyOnWriteInformation, FileCompletionInformation, FileMoveClusterInformation, FileQuotaInformation, FileReparsePointInformation, FileNetworkOpenInformation, FileObjectIdInformation, FileTrackingInformation, FileOleDirectoryInformation, FileContentIndexInformation, FileInheritContentIndexInformation, FileOleInformation, FileMaximumInformation } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;



Enumeration type FILE_INFORMATION_CLASS defines informational classes for File Objects. It's used by NtQueryInformationFile, NtQueryDirectoryFile and NtSetInformationFile functions.



Action
: Query
Buffer size
: 0x48
Structure
: FILE_DIRECTORY_INFORMATION
Function
: NtQueryDirectoryFile
Action
: Query
Buffer size
: 0x48
Structure
: FILE_FULL_DIR_INFORMATION
Function
: NtQueryDirectoryFile
Action
: Query
Buffer size
: 0x48
Structure
: FILE_BOTH_DIR_INFORMATION
Function
: NtQueryDirectoryFile
Action
: Query
Buffer size
: 0x28
Structure
: FILE_BASIC_INFORMATION
Function
: NtQueryInformationFile

Action
: Set
Buffer size
: 0x28
Structure
: FILE_BASIC_INFORMATION
Function
: NtSetInformationFile
Action
: Query
Buffer size
: 0x18
Structure
: FILE_STANDARD_INFORMATION
Function
: NtQueryInformationFile
Action
: Query
Buffer size
: 0x08
Structure
: FILE_INTERNAL_INFORMATION
Function
: NtQueryInformationFile
Action
: Query
Buffer size
: 0x04
Structure
: FILE_EA_INFORMATION
Function
: NtQueryInformationFile
Action
: Query
Buffer size
: 0x08+
Structure
: FILE_NAME_INFORMATION
Function
: NtQueryInformationFile
Action
: Set
Buffer size
: 0x10
Structure
: FILE_RENAME_INFORMATION
Function
: NtSetInformationFile
Action
: Set
Buffer size
: 0x10
Structure
: FILE_LINK_INFORMATION
Function
: NtSetInformationFile
Action
: Query
Buffer size
: 0x10
Structure
: FILE_NAMES_INFORMATION
Function
: NtQueryDirectoryFile
Action
: Set
Buffer size
: 0x01
Structure
: FILE_DISPOSITION_INFORMATION
Function
: NtSetInformationFile
Action
: Query
Buffer size
: 0x08
Structure
: FILE_POSITION_INFORMATION
Function
: NtQueryInformationFile

Action
: Set
Buffer size
: 0x08
Structure
: FILE_POSITION_INFORMATION
Function
: NtSetInformationFile
Action
: Query
Buffer size
: 0x68
Structure
: FILE_ALL_INFORMATION
Function
: NtQueryInformationFile
Action
: Set
Buffer size
: 0x08
Structure
: FILE_END_OF_FILE_INFORMATION
Function
: NtSetInformationFile
Action
: Query
Buffer size
: 0x08+
Structure
: FILE_NAME_INFORMATION
Function
: NtQueryInformationFile
Action
: Set
Buffer size
: 0x08
Structure
: FILE_COMPLETION_INFORMATION
Function
: NtSetInformationFile
Action
: Query
Buffer size
: 0x38
Structure
: FILE_NETWORK_OPEN_INFORMATION
Function
: NtQueryInformationFile
Requirements:
Library: ntdll.lib


See also:
NtQueryDirectoryFile
NtQueryInformationFile
NtQueryOleDirectoryFile
NtSetInformationFile