|
ReactOS 0.4.17-dev-1190-g4c812f4
|

Go to the source code of this file.
Macros | |
| #define | NDEBUG |
| #define | NTFS_MAX_NAME_LENGTH 255 |
Functions | |||||||||||||||
| static NTSTATUS | NtfsGetStandardInformation (PNTFS_FCB Fcb, PDEVICE_OBJECT DeviceObject, PFILE_STANDARD_INFORMATION StandardInfo, PULONG BufferLength) | ||||||||||||||
| static NTSTATUS | NtfsGetPositionInformation (PFILE_OBJECT FileObject, PFILE_POSITION_INFORMATION PositionInfo, PULONG BufferLength) | ||||||||||||||
| static NTSTATUS | NtfsGetBasicInformation (PFILE_OBJECT FileObject, PNTFS_FCB Fcb, PDEVICE_OBJECT DeviceObject, PFILE_BASIC_INFORMATION BasicInfo, PULONG BufferLength) | ||||||||||||||
| static NTSTATUS | NtfsGetAttributeTagInformation (PNTFS_FCB Fcb, PFILE_ATTRIBUTE_TAG_INFORMATION AttributeTagInfo, PULONG BufferLength) | ||||||||||||||
| static NTSTATUS | NtfsGetEaInformation (PNTFS_FCB Fcb, PFILE_EA_INFORMATION EaInfo, PULONG BufferLength) | ||||||||||||||
| static NTSTATUS | NtfsGetNameInformation (PFILE_OBJECT FileObject, PNTFS_FCB Fcb, PDEVICE_OBJECT DeviceObject, PFILE_NAME_INFORMATION NameInfo, PULONG BufferLength) | ||||||||||||||
| static NTSTATUS | NtfsGetInternalInformation (PNTFS_FCB Fcb, PFILE_INTERNAL_INFORMATION InternalInfo, PULONG BufferLength) | ||||||||||||||
| static NTSTATUS | NtfsGetNetworkOpenInformation (PNTFS_FCB Fcb, PDEVICE_EXTENSION DeviceExt, PFILE_NETWORK_OPEN_INFORMATION NetworkInfo, PULONG BufferLength) | ||||||||||||||
| static NTSTATUS | NtfsGetStreamInformation (PNTFS_FCB Fcb, PDEVICE_EXTENSION DeviceExt, PFILE_STREAM_INFORMATION StreamInfo, PULONG BufferLength) | ||||||||||||||
| const PCSTR | GetInfoClassName (FILE_INFORMATION_CLASS infoClass) | ||||||||||||||
| NTSTATUS | NtfsQueryInformation (PNTFS_IRP_CONTEXT IrpContext) | ||||||||||||||
NtfsSetEndOfFile | |||||||||||||||
@implemented Sets the end of file (file size) for a given file.
| |||||||||||||||
| NTSTATUS | NtfsSetEndOfFile (PNTFS_FCB Fcb, PFILE_OBJECT FileObject, PDEVICE_EXTENSION DeviceExt, ULONG IrpFlags, BOOLEAN CaseSensitive, PLARGE_INTEGER NewFileSize) | ||||||||||||||
| static NTSTATUS NTAPI | NtfsSetAllocationInformation (_In_ PNTFS_FCB Fcb, _In_ PFILE_OBJECT FileObject, _In_ PDEVICE_EXTENSION DeviceExt, _In_ ULONG IrpFlags, _In_ BOOLEAN CaseSensitive, _In_ PLARGE_INTEGER AllocationSize) | ||||||||||||||
NtfsSetBasicInformation | |||||||||||||||
@implemented Applies a FILE_BASIC_INFORMATION to a file: its four timestamps and its attribute flags.
NTFS keeps a second copy of these in $FILE_NAME and a third in the parent directory's index entry; all three are updated here. | |||||||||||||||
| static NTSTATUS | NtfsSetBasicInformation (PDEVICE_EXTENSION DeviceExt, PNTFS_FCB Fcb, BOOLEAN CaseSensitive, PFILE_BASIC_INFORMATION BasicInfo) | ||||||||||||||
NtfsSetDispositionInformation | |||||||||||||||
@implemented Marks a file for deletion, or clears an existing mark.
| |||||||||||||||
| static NTSTATUS | NtfsSetDispositionInformation (PDEVICE_EXTENSION DeviceExt, PNTFS_FCB Fcb, PFILE_OBJECT FileObject, BOOLEAN CaseSensitive, PFILE_DISPOSITION_INFORMATION DispositionInfo) | ||||||||||||||
NtfsIsValidFileName | |||||||||||||||
Checks a single path component against what NTFS stores and Win32 can open. | |||||||||||||||
| static BOOLEAN | NtfsIsValidFileName (_In_ PCUNICODE_STRING Name) | ||||||||||||||
NtfsSetFileNameAttribute | |||||||||||||||
Rebuilds FileRecord so its only $FILE_NAME is one holding Value. Attributes stay sorted by type, which NTFS requires.
| |||||||||||||||
| static NTSTATUS | NtfsSetFileNameAttribute (_In_ PDEVICE_EXTENSION DeviceExt, _Inout_ PFILE_RECORD_HEADER FileRecord, _In_ PFILENAME_ATTRIBUTE Value, _In_ ULONG ValueLength) | ||||||||||||||
NtfsRenameFcbs | |||||||||||||||
Moves the FCB table over to NewPath: the renamed FCB, its other streams, and for a directory every FCB cached beneath it. | |||||||||||||||
| static VOID | NtfsRenameFcbs (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PNTFS_FCB Fcb, _In_ PCWSTR NewPath) | ||||||||||||||
NtfsCheckRenamePaths | |||||||||||||||
Fails if moving Fcb to NewPath would push any cached path past MAX_PATH. | |||||||||||||||
| static NTSTATUS | NtfsCheckRenamePaths (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PNTFS_FCB Fcb, _In_ PCWSTR NewPath) | ||||||||||||||
NtfsRelinkFileNames | |||||||||||||||
Adds back to the parent index the first Count $FILE_NAMEs in FileRecord. Used to undo a rename that failed after those names were taken out. | |||||||||||||||
| static VOID | NtfsRelinkFileNames (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PFILE_RECORD_HEADER FileRecord, _In_ ULONGLONG FileReference, _In_ ULONG Count, _In_ BOOLEAN CaseSensitive) | ||||||||||||||
NtfsBuildRenamePath | |||||||||||||||
Works out the new name and full path of a rename, and checks both.
| |||||||||||||||
| static NTSTATUS | NtfsBuildRenamePath (_In_ PNTFS_FCB Fcb, _In_opt_ PFILE_OBJECT TargetFileObject, _In_ PFILE_RENAME_INFORMATION RenameInfo, _In_ ULONG BufferLength, _Out_ PUNICODE_STRING NewName, _Out_writes_z_(MAX_PATH) PWSTR NewPath, _Out_ PULONGLONG TargetDirMft) | ||||||||||||||
NtfsFindLongFileName | |||||||||||||||
Finds the one non-DOS $FILE_NAME in FileRecord and the directory holding it. More than one long name, or names in more than one directory, means hard links, which rename doesn't handle. | |||||||||||||||
| static NTSTATUS | NtfsFindLongFileName (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PFILE_RECORD_HEADER FileRecord, _Outptr_ PFILENAME_ATTRIBUTE *LongName, _Out_ PULONGLONG ParentMft) | ||||||||||||||
NtfsClearRenameTarget | |||||||||||||||
Makes sure NewName is free in the target directory, deleting the file already there when that's allowed.
| |||||||||||||||
| static NTSTATUS | NtfsClearRenameTarget (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PNTFS_FCB Fcb, _In_ ULONGLONG TargetDirMft, _In_ PUNICODE_STRING NewName, _In_z_ PCWSTR NewPath, _In_ BOOLEAN ReplaceIfExists, _In_ BOOLEAN CaseSensitive, _Out_ PFILE_RECORD_HEADER Scratch) | ||||||||||||||
NtfsBuildRenamedFileName | |||||||||||||||
| static NTSTATUS | NtfsBuildRenamedFileName (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PFILENAME_ATTRIBUTE OldName, _In_ ULONGLONG TargetDirMft, _In_ PUNICODE_STRING NewName, _In_ BOOLEAN CaseSensitive, _Out_ PFILE_RECORD_HEADER Scratch, _Outptr_ PFILENAME_ATTRIBUTE *NewValue, _Out_ PULONG NewValueLength) | ||||||||||||||
NtfsUnlinkFileNames | |||||||||||||||
Takes every $FILE_NAME in FileRecord out of the ParentMft index. Removed receives how many were taken out, even on failure. | |||||||||||||||
| static NTSTATUS | NtfsUnlinkFileNames (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PFILE_RECORD_HEADER FileRecord, _In_ ULONGLONG ParentMft, _In_ BOOLEAN CaseSensitive, _Out_ PULONG Removed) | ||||||||||||||
NtfsCommitRename | |||||||||||||||
Swaps the file's names on disk for NewValue. On failure everything is put back as it was in Original.
| |||||||||||||||
| static NTSTATUS | NtfsCommitRename (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PNTFS_FCB Fcb, _Inout_ PFILE_RECORD_HEADER FileRecord, _In_ PFILE_RECORD_HEADER Original, _In_ ULONGLONG OldParentMft, _In_ ULONGLONG TargetDirMft, _In_ PFILENAME_ATTRIBUTE NewValue, _In_ ULONG NewValueLength, _In_ BOOLEAN CaseSensitive) | ||||||||||||||
NtfsSetRenameInformation | |||||||||||||||
@implemented Renames or moves a file or directory within the volume.
| |||||||||||||||
| static NTSTATUS | NtfsSetRenameInformation (_In_ PDEVICE_EXTENSION DeviceExt, _In_ PNTFS_FCB Fcb, _In_opt_ PFILE_OBJECT TargetFileObject, _In_ BOOLEAN ReplaceIfExists, _In_ BOOLEAN CaseSensitive, _In_ PFILE_RENAME_INFORMATION RenameInfo, _In_ ULONG BufferLength) | ||||||||||||||
| NTSTATUS | NtfsSetInformation (PNTFS_IRP_CONTEXT IrpContext) | ||||||||||||||
| const PCSTR GetInfoClassName | ( | FILE_INFORMATION_CLASS | infoClass | ) |
Definition at line 346 of file finfo.c.
Referenced by NtfsQueryInformation(), and NtfsSetInformation().
|
static |
Definition at line 1466 of file finfo.c.
Referenced by NtfsSetRenameInformation().
|
static |
Definition at line 1272 of file finfo.c.
Referenced by NtfsSetRenameInformation().
|
static |
Definition at line 1186 of file finfo.c.
Referenced by NtfsSetRenameInformation().
|
static |
Definition at line 1408 of file finfo.c.
Referenced by NtfsSetRenameInformation().
|
static |
Definition at line 1569 of file finfo.c.
Referenced by NtfsSetRenameInformation().
|
static |
Definition at line 1349 of file finfo.c.
Referenced by NtfsSetRenameInformation().
|
static |
Definition at line 129 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 100 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 155 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 227 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 180 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 248 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 78 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 45 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 276 of file finfo.c.
Referenced by NtfsQueryInformation().
|
static |
Definition at line 1007 of file finfo.c.
Referenced by NtfsBuildRenamePath().
| NTSTATUS NtfsQueryInformation | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 470 of file finfo.c.
Referenced by NtfsDispatch().
|
static |
Definition at line 1224 of file finfo.c.
Referenced by NtfsCommitRename().
|
static |
Definition at line 1143 of file finfo.c.
Referenced by NtfsSetRenameInformation().
|
static |
Definition at line 747 of file finfo.c.
Referenced by NtfsSetInformation().
|
static |
Definition at line 830 of file finfo.c.
Referenced by NtfsSetInformation().
|
static |
Definition at line 941 of file finfo.c.
Referenced by NtfsSetInformation().
| NTSTATUS NtfsSetEndOfFile | ( | PNTFS_FCB | Fcb, |
| PFILE_OBJECT | FileObject, | ||
| PDEVICE_EXTENSION | DeviceExt, | ||
| ULONG | IrpFlags, | ||
| BOOLEAN | CaseSensitive, | ||
| PLARGE_INTEGER | NewFileSize | ||
| ) |
Definition at line 625 of file finfo.c.
Referenced by NtfsSetAllocationInformation(), and NtfsSetInformation().
|
static |
Definition at line 1048 of file finfo.c.
Referenced by NtfsCommitRename().
| NTSTATUS NtfsSetInformation | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 1748 of file finfo.c.
Referenced by NtfsDispatch().
|
static |
Definition at line 1651 of file finfo.c.
Referenced by NtfsSetInformation().
|
static |
Definition at line 1518 of file finfo.c.
Referenced by NtfsCommitRename().