ReactOS 0.4.16-dev-983-g23ad936
|
#include <ntifs.h>
#include <pseh/pseh2.h>
#include <section_attribs.h>
#include <pshpack1.h>
#include <poppack.h>
Go to the source code of this file.
Classes | |
struct | _BIOS_PARAMETERS_BLOCK |
struct | _EXTENDED_BIOS_PARAMETERS_BLOCK |
struct | _BOOT_SECTOR |
struct | _NTFS_INFO |
struct | NTFSIDENTIFIER |
struct | DEVICE_EXTENSION |
struct | NTFS_CCB |
struct | NTFS_GLOBAL_DATA |
struct | NTFS_RECORD_HEADER |
struct | _FILE_RECORD_HEADER |
struct | NTFS_ATTR_RECORD |
struct | NTFS_ATTRIBUTE_LIST_ITEM |
struct | STANDARD_INFORMATION |
struct | ATTRIBUTE_LIST |
struct | FILENAME_ATTRIBUTE |
struct | INDEX_HEADER_ATTRIBUTE |
struct | INDEX_ROOT_ATTRIBUTE |
struct | INDEX_BUFFER |
struct | INDEX_ENTRY_ATTRIBUTE |
struct | _B_TREE_KEY |
struct | _B_TREE_FILENAME_NODE |
struct | B_TREE |
struct | VOLINFO_ATTRIBUTE |
struct | REPARSE_POINT_ATTRIBUTE |
struct | NTFS_IRP_CONTEXT |
struct | _NTFS_ATTR_CONTEXT |
struct | _FCB |
struct | _FIND_ATTR_CONTXT |
struct | FIXUP_ARRAY |
Variables | |
PNTFS_GLOBAL_DATA | NtfsGlobalData |
DRIVER_DISPATCH | NtfsFsdDispatch |
FAST_IO_CHECK_IF_POSSIBLE | NtfsFastIoCheckIfPossible |
FAST_IO_READ | NtfsFastIoRead |
FAST_IO_WRITE | NtfsFastIoWrite |
DRIVER_INITIALIZE | DriverEntry |
#define CACHEPAGESIZE | ( | pDeviceExt | ) |
typedef struct _B_TREE_KEY B_TREE_KEY |
typedef struct _BOOT_SECTOR BOOT_SECTOR |
typedef struct _FIND_ATTR_CONTXT FIND_ATTR_CONTXT |
typedef struct _NTFS_INFO NTFS_INFO |
typedef struct DEVICE_EXTENSION NTFS_VCB |
typedef struct ATTRIBUTE_LIST * PATTRIBUTE_LIST |
typedef enum ATTRIBUTE_TYPE * PATTRIBUTE_TYPE |
typedef struct _B_TREE_FILENAME_NODE * PB_TREE_FILENAME_NODE |
typedef struct _B_TREE_KEY * PB_TREE_KEY |
typedef struct _BOOT_SECTOR * PBOOT_SECTOR |
typedef struct DEVICE_EXTENSION * PDEVICE_EXTENSION |
typedef struct _FILE_RECORD_HEADER * PFILE_RECORD_HEADER |
typedef struct FILENAME_ATTRIBUTE * PFILENAME_ATTRIBUTE |
typedef struct _FIND_ATTR_CONTXT * PFIND_ATTR_CONTXT |
typedef struct FIXUP_ARRAY * PFIXUP_ARRAY |
typedef struct INDEX_BUFFER * PINDEX_BUFFER |
typedef struct INDEX_ROOT_ATTRIBUTE * PINDEX_ROOT_ATTRIBUTE |
typedef struct _NTFS_ATTR_CONTEXT * PNTFS_ATTR_CONTEXT |
typedef struct NTFS_ATTR_RECORD * PNTFS_ATTR_RECORD |
typedef struct NTFS_GLOBAL_DATA * PNTFS_GLOBAL_DATA |
typedef struct _NTFS_INFO * PNTFS_INFO |
typedef struct NTFS_IRP_CONTEXT * PNTFS_IRP_CONTEXT |
typedef struct NTFS_RECORD_HEADER * PNTFS_RECORD_HEADER |
typedef struct DEVICE_EXTENSION * PNTFS_VCB |
typedef struct NTFSIDENTIFIER * PNTFSIDENTIFIER |
typedef struct STANDARD_INFORMATION * PSTANDARD_INFORMATION |
typedef struct VOLINFO_ATTRIBUTE * PVOLINFO_ATTRIBUTE |
Definition at line 159 of file ntfs.h.
NTSTATUS AddBitmap | ( | PNTFS_VCB | Vcb, |
PFILE_RECORD_HEADER | FileRecord, | ||
PNTFS_ATTR_RECORD | AttributeAddress, | ||
PCWSTR | Name, | ||
USHORT | NameLength | ||
) |
Definition at line 72 of file attrib.c.
Referenced by DECLARE_INTERFACE_(), CFontsDialog::InitToolbar(), and UpdateIndexAllocation().
NTSTATUS AddData | ( | PFILE_RECORD_HEADER | FileRecord, |
PNTFS_ATTR_RECORD | AttributeAddress | ||
) |
Definition at line 160 of file attrib.c.
Referenced by DECLARE_INTERFACE_(), and NtfsCreateFileRecord().
NTSTATUS AddFileName | ( | PFILE_RECORD_HEADER | FileRecord, |
PNTFS_ATTR_RECORD | AttributeAddress, | ||
PDEVICE_EXTENSION | DeviceExt, | ||
PFILE_OBJECT | FileObject, | ||
BOOLEAN | CaseSensitive, | ||
PULONGLONG | ParentMftIndex | ||
) |
Definition at line 230 of file attrib.c.
Referenced by NtfsCreateDirectory(), and NtfsCreateFileRecord().
NTSTATUS AddFixupArray | ( | PDEVICE_EXTENSION | Vcb, |
PNTFS_RECORD_HEADER | Record | ||
) |
Definition at line 2603 of file mft.c.
Referenced by CreateIndexBufferFromBTreeNode(), UpdateFileRecord(), and UpdateIndexEntryFileNameSize().
NTSTATUS AddIndexAllocation | ( | PNTFS_VCB | Vcb, |
PFILE_RECORD_HEADER | FileRecord, | ||
PNTFS_ATTR_RECORD | AttributeAddress, | ||
PCWSTR | Name, | ||
USHORT | NameLength | ||
) |
Definition at line 388 of file attrib.c.
Referenced by UpdateIndexAllocation().
NTSTATUS AddIndexRoot | ( | PNTFS_VCB | Vcb, |
PFILE_RECORD_HEADER | FileRecord, | ||
PNTFS_ATTR_RECORD | AttributeAddress, | ||
PINDEX_ROOT_ATTRIBUTE | NewIndexRoot, | ||
ULONG | RootLength, | ||
PCWSTR | Name, | ||
USHORT | NameLength | ||
) |
Definition at line 495 of file attrib.c.
Referenced by NtfsCreateDirectory().
NTSTATUS AddNewMftEntry | ( | PFILE_RECORD_HEADER | FileRecord, |
PDEVICE_EXTENSION | DeviceExt, | ||
PULONGLONG | DestinationIndex, | ||
BOOLEAN | CanWait | ||
) |
Definition at line 2022 of file mft.c.
Referenced by AddNewMftEntry(), NtfsCreateDirectory(), and NtfsCreateFileRecord().
NTSTATUS AddRun | ( | PNTFS_VCB | Vcb, |
PNTFS_ATTR_CONTEXT | AttrContext, | ||
ULONG | AttrOffset, | ||
PFILE_RECORD_HEADER | FileRecord, | ||
ULONGLONG | NextAssignedCluster, | ||
ULONG | RunLength | ||
) |
Definition at line 599 of file attrib.c.
Referenced by SetNonResidentAttributeDataLength().
NTSTATUS AddStandardInformation | ( | PFILE_RECORD_HEADER | FileRecord, |
PNTFS_ATTR_RECORD | AttributeAddress | ||
) |
Definition at line 766 of file attrib.c.
Referenced by NtfsCreateDirectory(), and NtfsCreateFileRecord().
ULONGLONG AttributeAllocatedLength | ( | PNTFS_ATTR_RECORD | AttrRecord | ) |
Definition at line 249 of file mft.c.
Referenced by NtfsGetFileSize(), NtfsGetStreamInformation(), NtfsReadFile(), NtfsSetEndOfFile(), and NtfsWriteFile().
ULONGLONG AttributeDataLength | ( | PNTFS_ATTR_RECORD | AttrRecord | ) |
Definition at line 259 of file mft.c.
Referenced by AddNewMftEntry(), AllocateIndexNode(), BrowseIndexEntries(), FreeClusters(), IncreaseMftSize(), InternalReadNonResidentAttributes(), NtfsAddFilenameToDirectory(), NtfsAllocateClusters(), NtfsGetFileSize(), NtfsGetFreeClusters(), NtfsGetStreamInformation(), NtfsGetVolumeData(), NtfsReadFCBAttribute(), NtfsReadFile(), NtfsSetEndOfFile(), NtfsWriteFile(), PrintAllVCNs(), SetAttributeDataLength(), UpdateFileNameRecord(), UpdateIndexEntryFileNameSize(), and UpdateMftMirror().
BOOLEAN CompareFileName | ( | PUNICODE_STRING | FileName, |
PINDEX_ENTRY_ATTRIBUTE | IndexEntry, | ||
BOOLEAN | DirSearch, | ||
BOOLEAN | CaseSensitive | ||
) |
Definition at line 2650 of file mft.c.
Referenced by BrowseIndexEntries(), BrowseSubNodeIndexEntries(), and UpdateIndexEntryFileNameSize().
LONG CompareTreeKeys | ( | PB_TREE_KEY | Key1, |
PB_TREE_KEY | Key2, | ||
BOOLEAN | CaseSensitive | ||
) |
Definition at line 417 of file btree.c.
Referenced by NtfsInsertKey().
NTSTATUS ConvertDataRunsToLargeMCB | ( | PUCHAR | DataRun, |
PLARGE_MCB | DataRunsMCB, | ||
PULONGLONG | pNextVBN | ||
) |
Definition at line 825 of file attrib.c.
Referenced by PrepareAttributeContext().
NTSTATUS ConvertLargeMCBToDataRuns | ( | PLARGE_MCB | DataRunsMCB, |
PUCHAR | RunBuffer, | ||
ULONG | MaxBufferSize, | ||
PULONG | UsedBufferSize | ||
) |
Definition at line 896 of file attrib.c.
Referenced by AddRun(), FreeClusters(), ReadAttribute(), and WriteAttribute().
NTSTATUS CreateBTreeFromIndex | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | FileRecordWithIndex, | ||
PNTFS_ATTR_CONTEXT | IndexRootContext, | ||
PINDEX_ROOT_ATTRIBUTE | IndexRoot, | ||
PB_TREE * | NewTree | ||
) |
Definition at line 682 of file btree.c.
Referenced by NtfsAddFilenameToDirectory().
Definition at line 348 of file btree.c.
Referenced by NtfsCreateDirectory().
NTSTATUS CreateIndexRootFromBTree | ( | PDEVICE_EXTENSION | DeviceExt, |
PB_TREE | Tree, | ||
ULONG | MaxIndexSize, | ||
PINDEX_ROOT_ATTRIBUTE * | IndexRoot, | ||
ULONG * | Length | ||
) |
Definition at line 910 of file btree.c.
Referenced by NtfsAddFilenameToDirectory(), and NtfsCreateDirectory().
Definition at line 966 of file attrib.c.
Referenced by ConvertDataRunsToLargeMCB(), FindRun(), GetLastClusterInDataRun(), NtfsDumpDataRuns(), PrepareAttributeContext(), PrintAttributeInfo(), ReadAttribute(), and WriteAttribute().
Definition at line 1089 of file btree.c.
Referenced by NtfsAddFilenameToDirectory().
Definition at line 1542 of file btree.c.
Referenced by CreateBTreeFromIndex(), NtfsAddFilenameToDirectory(), and NtfsCreateDirectory().
VOID DestroyBTreeNode | ( | PB_TREE_FILENAME_NODE | Node | ) |
Definition at line 1511 of file btree.c.
Referenced by CreateBTreeNodeFromIndexNode(), DestroyBTree(), and DestroyBTreeKey().
Definition at line 1622 of file btree.c.
Referenced by CreateIndexRootFromBTree(), DemoteBTreeRoot(), NtfsAddFilenameToDirectory(), NtfsInsertKey(), and UpdateIndexAllocation().
VOID DumpBTreeKey | ( | PB_TREE | Tree, |
PB_TREE_KEY | Key, | ||
ULONG | Number, | ||
ULONG | Depth | ||
) |
Definition at line 1549 of file btree.c.
Referenced by DumpBTreeNode().
VOID DumpBTreeNode | ( | PB_TREE | Tree, |
PB_TREE_FILENAME_NODE | Node, | ||
ULONG | Number, | ||
ULONG | Depth | ||
) |
Definition at line 1583 of file btree.c.
Referenced by DumpBTree(), DumpBTreeKey(), and SplitBTreeNode().
VOID EnumerAttribute | ( | PFILE_RECORD_HEADER | file, |
PDEVICE_EXTENSION | Vcb, | ||
PDEVICE_OBJECT | DeviceObject | ||
) |
NTSTATUS FindAttribute | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | MftRecord, | ||
ULONG | Type, | ||
PCWSTR | Name, | ||
ULONG | NameLength, | ||
PNTFS_ATTR_CONTEXT * | AttrCtx, | ||
PULONG | Offset | ||
) |
Definition at line 131 of file mft.c.
Referenced by AddNewMftEntry(), AllocateIndexNode(), BrowseIndexEntries(), CreateBTreeFromIndex(), tinyxml2::XMLElement::FindAttribute(), FindAttribute(), FreeClusters(), GetVolumeBitmap(), IncreaseMftSize(), NtfsAddFilenameToDirectory(), NtfsAllocateClusters(), NtfsCreateFile(), NtfsDirFindFile(), NtfsFindMftRecord(), NtfsGetFileSize(), NtfsGetFreeClusters(), NtfsGetVolumeData(), NtfsReadFCBAttribute(), NtfsReadFile(), NtfsSetEndOfFile(), NtfsWriteFile(), tinyxml2::XMLElement::QueryBoolAttribute(), tinyxml2::XMLElement::QueryDoubleAttribute(), tinyxml2::XMLElement::QueryFloatAttribute(), tinyxml2::XMLElement::QueryIntAttribute(), tinyxml2::XMLElement::QueryUnsignedAttribute(), UpdateFileNameRecord(), UpdateIndexAllocation(), UpdateIndexEntryFileNameSize(), UpdateMftMirror(), and WriteAttribute().
VOID FindCloseAttribute | ( | PFIND_ATTR_CONTXT | Context | ) |
Definition at line 1465 of file attrib.c.
Referenced by FindAttribute(), GetFileNameFromRecord(), GetNfsVolumeData(), GetStandardInformationFromRecord(), NtfsDumpFileAttributes(), NtfsGetStreamInformation(), NtfsReadFile(), and NtfsWriteFile().
NTSTATUS FindFirstAttribute | ( | PFIND_ATTR_CONTXT | Context, |
PDEVICE_EXTENSION | Vcb, | ||
PFILE_RECORD_HEADER | FileRecord, | ||
BOOLEAN | OnlyResident, | ||
PNTFS_ATTR_RECORD * | Attribute | ||
) |
Definition at line 1383 of file attrib.c.
Referenced by FindAttribute(), GetFileNameFromRecord(), GetNfsVolumeData(), GetStandardInformationFromRecord(), NtfsDumpFileAttributes(), NtfsGetStreamInformation(), NtfsReadFile(), and NtfsWriteFile().
NTSTATUS FindFirstAttributeListItem | ( | PFIND_ATTR_CONTXT | Context, |
PNTFS_ATTRIBUTE_LIST_ITEM * | Item | ||
) |
Definition at line 1307 of file attrib.c.
Referenced by FindAttribute().
NTSTATUS FindNextAttribute | ( | PFIND_ATTR_CONTXT | Context, |
PNTFS_ATTR_RECORD * | Attribute | ||
) |
Definition at line 1431 of file attrib.c.
Referenced by FindAttribute(), GetFileNameFromRecord(), GetNfsVolumeData(), GetStandardInformationFromRecord(), NtfsDumpFileAttributes(), NtfsGetStreamInformation(), NtfsReadFile(), and NtfsWriteFile().
NTSTATUS FindNextAttributeListItem | ( | PFIND_ATTR_CONTXT | Context, |
PNTFS_ATTRIBUTE_LIST_ITEM * | Item | ||
) |
Definition at line 1321 of file attrib.c.
Referenced by FindAttribute().
NTSTATUS FixupUpdateSequenceArray | ( | PDEVICE_EXTENSION | Vcb, |
PNTFS_RECORD_HEADER | Record | ||
) |
Definition at line 1965 of file mft.c.
Referenced by BrowseSubNodeIndexEntries(), CreateBTreeNodeFromIndexNode(), PrintAllVCNs(), ReadFileRecord(), UpdateFileRecord(), and UpdateIndexEntryFileNameSize().
NTSTATUS FreeClusters | ( | PNTFS_VCB | Vcb, |
PNTFS_ATTR_CONTEXT | AttrContext, | ||
ULONG | AttrOffset, | ||
PFILE_RECORD_HEADER | FileRecord, | ||
ULONG | ClustersToFree | ||
) |
Definition at line 1057 of file attrib.c.
Referenced by FatExamineFatEntries(), GetDiskFreeSpaceW(), HandleNotify(), NtfsAllocateClusters(), NtfsGetFreeClusters(), and SetNonResidentAttributeDataLength().
ULONGLONG GetAllocationOffsetFromVCN | ( | PDEVICE_EXTENSION | DeviceExt, |
ULONG | IndexBufferSize, | ||
ULONGLONG | Vcn | ||
) |
Definition at line 1630 of file btree.c.
Referenced by CreateBTreeNodeFromIndexNode(), and UpdateIndexNode().
PFILENAME_ATTRIBUTE GetBestFileNameFromRecord | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | FileRecord | ||
) |
Definition at line 1985 of file attrib.c.
Referenced by NtfsGetBothDirectoryInformation(), NtfsGetDirectoryInformation(), NtfsGetFullDirectoryInformation(), NtfsGetNamesInformation(), NtfsMakeFCBFromDirEntry(), NtfsMoonWalkID(), NtfsSetEndOfFile(), and NtfsWriteFile().
ULONG GetFileNameAttributeLength | ( | PFILENAME_ATTRIBUTE | FileNameAttribute | ) |
Definition at line 1978 of file attrib.c.
Referenced by CreateBTreeKeyFromFilename().
PFILENAME_ATTRIBUTE GetFileNameFromRecord | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | FileRecord, | ||
UCHAR | NameType | ||
) |
Definition at line 1809 of file attrib.c.
Referenced by GetBestFileNameFromRecord(), NtfsGetBothDirectoryInformation(), and NtfsMakeRootFCB().
ULONGLONG GetIndexEntryVCN | ( | PINDEX_ENTRY_ATTRIBUTE | IndexEntry | ) |
Definition at line 1641 of file btree.c.
Referenced by BrowseIndexEntries(), BrowseSubNodeIndexEntries(), and SplitBTreeNode().
NTSTATUS GetLastClusterInDataRun | ( | PDEVICE_EXTENSION | Vcb, |
PNTFS_ATTR_RECORD | Attribute, | ||
PULONGLONG | LastCluster | ||
) |
Definition at line 1908 of file attrib.c.
GetPackedByteCount Returns the minimum number of bytes needed to represent the value of a 64-bit number. Used to encode data runs.
Definition at line 1846 of file attrib.c.
Referenced by ConvertLargeMCBToDataRuns().
ULONG GetSizeOfIndexEntries | ( | PB_TREE_FILENAME_NODE | Node | ) |
Definition at line 855 of file btree.c.
Referenced by NtfsAddFilenameToDirectory(), and NtfsInsertKey().
PSTANDARD_INFORMATION GetStandardInformationFromRecord | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | FileRecord | ||
) |
Definition at line 1940 of file attrib.c.
Referenced by NtfsGetBothDirectoryInformation(), NtfsGetDirectoryInformation(), NtfsGetFullDirectoryInformation(), and NtfsMakeFCBFromDirEntry().
NTSTATUS InternalSetResidentAttributeLength | ( | PDEVICE_EXTENSION | DeviceExt, |
PNTFS_ATTR_CONTEXT | AttrContext, | ||
PFILE_RECORD_HEADER | FileRecord, | ||
ULONG | AttrOffset, | ||
ULONG | DataSize | ||
) |
Definition at line 542 of file mft.c.
Referenced by NtfsAddFilenameToDirectory(), and SetResidentAttributeDataLength().
PNTFS_ATTR_RECORD MoveAttributes | ( | PDEVICE_EXTENSION | DeviceExt, |
PNTFS_ATTR_RECORD | FirstAttributeToMove, | ||
ULONG | FirstAttributeOffset, | ||
ULONG_PTR | MoveTo | ||
) |
Definition at line 512 of file mft.c.
Referenced by AddRun(), and InternalSetResidentAttributeLength().
Definition at line 209 of file fcb.c.
Referenced by NtfsMakeFCBFromDirEntry(), and NtfsMakeRootFCB().
NTSTATUS NtfsAddFilenameToDirectory | ( | PDEVICE_EXTENSION | DeviceExt, |
ULONGLONG | DirectoryMftIndex, | ||
ULONGLONG | FileReferenceNumber, | ||
PFILENAME_ATTRIBUTE | FilenameAttribute, | ||
BOOLEAN | CaseSensitive | ||
) |
Definition at line 2192 of file mft.c.
Referenced by NtfsCreateDirectory(), and NtfsCreateFileRecord().
NTSTATUS NtfsAllocateClusters | ( | PDEVICE_EXTENSION | DeviceExt, |
ULONG | FirstDesiredCluster, | ||
ULONG | DesiredClusters, | ||
PULONG | FirstAssignedCluster, | ||
PULONG | AssignedClusters | ||
) |
NtfsAllocateClusters Allocates a run of clusters. The run allocated might be smaller than DesiredClusters.
Definition at line 105 of file volinfo.c.
Referenced by SetNonResidentAttributeDataLength().
PNTFS_IRP_CONTEXT NtfsAllocateIrpContext | ( | PDEVICE_OBJECT | DeviceObject, |
PIRP | Irp | ||
) |
Definition at line 66 of file misc.c.
Referenced by NtfsFsdDispatch().
NTSTATUS NtfsAttachFCBToFileObject | ( | PNTFS_VCB | Vcb, |
PNTFS_FCB | Fcb, | ||
PFILE_OBJECT | FileObject | ||
) |
Definition at line 464 of file fcb.c.
Referenced by NtfsCreateFile(), NtfsOpenFile(), and NtfsOpenFileById().
NTSTATUS NtfsCleanup | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 89 of file cleanup.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsClose | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 84 of file close.c.
NTSTATUS NtfsCloseFile | ( | PDEVICE_EXTENSION | DeviceExt, |
PFILE_OBJECT | FileObject | ||
) |
Definition at line 40 of file close.c.
Referenced by NtfsClose(), and NtfsCreateFile().
NTSTATUS NtfsCreate | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 622 of file create.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsCreateDirectory | ( | PDEVICE_EXTENSION | DeviceExt, |
PFILE_OBJECT | FileObject, | ||
BOOLEAN | CaseSensitive, | ||
BOOLEAN | CanWait | ||
) |
Definition at line 681 of file create.c.
Referenced by NtfsCreateFile().
PFILE_RECORD_HEADER NtfsCreateEmptyFileRecord | ( | PDEVICE_EXTENSION | DeviceExt | ) |
Definition at line 818 of file create.c.
Referenced by IncreaseMftSize(), NtfsCreateDirectory(), and NtfsCreateFileRecord().
Definition at line 67 of file fcb.c.
Referenced by NtfsGetVolumeData(), NtfsMakeFCBFromDirEntry(), NtfsMakeRootFCB(), and NtfsMountVolume().
NTSTATUS NtfsCreateFileRecord | ( | PDEVICE_EXTENSION | DeviceExt, |
PFILE_OBJECT | FileObject, | ||
BOOLEAN | CaseSensitive, | ||
BOOLEAN | CanWait | ||
) |
Definition at line 886 of file create.c.
Referenced by NtfsCreateFile().
NTSTATUS NtfsDeviceControl | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 36 of file devctl.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsDeviceIoControl | ( | IN PDEVICE_OBJECT | DeviceObject, |
IN ULONG | ControlCode, | ||
IN PVOID | InputBuffer, | ||
IN ULONG | InputBufferSize, | ||
IN OUT PVOID | OutputBuffer, | ||
IN OUT PULONG | OutputBufferSize, | ||
IN BOOLEAN | Override | ||
) |
Definition at line 326 of file blockdev.c.
Referenced by NtfsGetVolumeData(), and NtfsHasFileSystem().
NTSTATUS NtfsDirectoryControl | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 590 of file dirctl.c.
Referenced by NtfsDispatch().
Definition at line 3297 of file mft.c.
Definition at line 1755 of file attrib.c.
Referenced by AddRun(), FreeClusters(), and NtfsDumpDataRuns().
VOID NtfsDumpFileAttributes | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | FileRecord | ||
) |
Definition at line 1790 of file attrib.c.
Referenced by IncreaseMftSize(), NtfsDumpFileRecord(), NtfsGetBothDirectoryInformation(), NtfsGetDirectoryInformation(), NtfsGetFullDirectoryInformation(), NtfsGetNamesInformation(), and NtfsGetVolumeData().
VOID NtfsDumpFileRecord | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | FileRecord | ||
) |
Definition at line 3334 of file mft.c.
Referenced by NtfsAddFilenameToDirectory(), NtfsCreateDirectory(), and NtfsCreateFileRecord().
Definition at line 265 of file fcb.c.
Referenced by NtfsMakeFCBFromDirEntry(), and NtfsMakeRootFCB().
Definition at line 146 of file fcb.c.
Referenced by NtfsQueryDirectory(), NtfsReadFile(), and NtfsWriteFile().
Definition at line 132 of file fcb.c.
Referenced by NtfsCreateFile(), NtfsGetFCBForFile(), NtfsGetStandardInformation(), NtfsMakeAbsoluteFilename(), and NtfsReleaseFCB().
Definition at line 158 of file fcb.c.
Referenced by NtfsMakeAbsoluteFilename(), and NtfsMakeFCBFromDirEntry().
Definition at line 105 of file misc.c.
Referenced by NtfsGetBasicInformation(), NtfsGetBothDirectoryInformation(), NtfsGetDirectoryInformation(), NtfsGetFullDirectoryInformation(), and NtfsGetNetworkOpenInformation().
NTSTATUS NtfsFileSystemControl | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 963 of file fsctl.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsFindFileAt | ( | PDEVICE_EXTENSION | Vcb, |
PUNICODE_STRING | SearchPattern, | ||
PULONG | FirstEntry, | ||
PFILE_RECORD_HEADER * | FileRecord, | ||
PULONGLONG | MFTIndex, | ||
ULONGLONG | CurrentMFTIndex, | ||
BOOLEAN | CaseSensitive | ||
) |
Definition at line 3355 of file mft.c.
Referenced by NtfsQueryDirectory().
NTSTATUS NtfsFindMftRecord | ( | PDEVICE_EXTENSION | Vcb, |
ULONGLONG | MFTIndex, | ||
PUNICODE_STRING | FileName, | ||
PULONG | FirstEntry, | ||
BOOLEAN | DirSearch, | ||
BOOLEAN | CaseSensitive, | ||
ULONGLONG * | OutMFTIndex | ||
) |
Definition at line 3146 of file mft.c.
Referenced by NtfsFindFileAt(), and NtfsLookupFileAt().
NTSTATUS NTAPI NtfsFsdDispatch | ( | PDEVICE_OBJECT | DeviceObject, |
PIRP | Irp | ||
) |
Definition at line 185 of file dispatch.c.
NTSTATUS NtfsGetFCBForFile | ( | PNTFS_VCB | Vcb, |
PNTFS_FCB * | pParentFCB, | ||
PNTFS_FCB * | pFCB, | ||
PCWSTR | pFileName, | ||
BOOLEAN | CaseSensitive | ||
) |
Definition at line 603 of file fcb.c.
Referenced by NtfsOpenFile().
ULONGLONG NtfsGetFileSize | ( | PDEVICE_EXTENSION | DeviceExt, |
PFILE_RECORD_HEADER | FileRecord, | ||
PCWSTR | Stream, | ||
ULONG | StreamLength, | ||
PULONGLONG | AllocatedSize | ||
) |
Definition at line 38 of file dirctl.c.
Referenced by NtfsGetBothDirectoryInformation(), NtfsGetDirectoryInformation(), NtfsGetFullDirectoryInformation(), NtfsMakeFCBFromDirEntry(), and NtfsSetEndOfFile().
ULONGLONG NtfsGetFreeClusters | ( | PDEVICE_EXTENSION | DeviceExt | ) |
Definition at line 37 of file volinfo.c.
Referenced by GetNfsVolumeData(), and NtfsGetFsSizeInformation().
Definition at line 120 of file misc.c.
Referenced by GetVolumeBitmap(), NtfsQueryDirectory(), NtfsRead(), and NtfsWrite().
Definition at line 165 of file fcb.c.
Referenced by NtfsMakeRootFCB().
Definition at line 222 of file fcb.c.
Referenced by NtfsGetFCBForFile(), NtfsOpenFile(), NtfsOpenFileById(), and NtfsOpenRootFCB().
VOID NTAPI NtfsInitializeFunctionPointers | ( | PDRIVER_OBJECT | DriverObject | ) |
Definition at line 170 of file ntfs.c.
Referenced by DriverEntry().
NTSTATUS NtfsInsertKey | ( | PB_TREE | Tree, |
ULONGLONG | FileReference, | ||
PFILENAME_ATTRIBUTE | FileNameAttribute, | ||
PB_TREE_FILENAME_NODE | Node, | ||
BOOLEAN | CaseSensitive, | ||
ULONG | MaxIndexRootSize, | ||
ULONG | IndexRecordSize, | ||
PB_TREE_KEY * | MedianKey, | ||
PB_TREE_FILENAME_NODE * | NewRightHandSibling | ||
) |
Definition at line 1691 of file btree.c.
Referenced by NtfsAddFilenameToDirectory(), and NtfsInsertKey().
Definition at line 43 of file misc.c.
Referenced by NtfsDispatch().
Definition at line 158 of file misc.c.
Referenced by NtfsWrite().
NTSTATUS NtfsLookupFile | ( | PDEVICE_EXTENSION | Vcb, |
PUNICODE_STRING | PathName, | ||
BOOLEAN | CaseSensitive, | ||
PFILE_RECORD_HEADER * | FileRecord, | ||
PULONGLONG | MFTIndex | ||
) |
Definition at line 3287 of file mft.c.
NTSTATUS NtfsLookupFileAt | ( | PDEVICE_EXTENSION | Vcb, |
PUNICODE_STRING | PathName, | ||
BOOLEAN | CaseSensitive, | ||
PFILE_RECORD_HEADER * | FileRecord, | ||
PULONGLONG | MFTIndex, | ||
ULONGLONG | CurrentMFTIndex | ||
) |
Definition at line 3229 of file mft.c.
Referenced by NtfsDirFindFile(), and NtfsLookupFile().
NTSTATUS NtfsMakeFCBFromDirEntry | ( | PNTFS_VCB | Vcb, |
PNTFS_FCB | DirectoryFCB, | ||
PUNICODE_STRING | Name, | ||
PCWSTR | Stream, | ||
PFILE_RECORD_HEADER | Record, | ||
ULONGLONG | MFTIndex, | ||
PNTFS_FCB * | fileFCB | ||
) |
Definition at line 389 of file fcb.c.
Referenced by NtfsDirFindFile(), and NtfsOpenFileById().
Definition at line 319 of file fcb.c.
Referenced by NtfsOpenRootFCB().
FORCEINLINE NTSTATUS NtfsMarkIrpContextForQueue | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 569 of file ntfs.h.
Referenced by NtfsCleanup(), NtfsClose(), NtfsCreate(), NtfsDirectoryControl(), NtfsQueryInformation(), NtfsQueryVolumeInformation(), and NtfsSetInformation().
Definition at line 374 of file fcb.c.
Referenced by NtfsGetFCBForFile().
NTSTATUS NtfsQueryInformation | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 420 of file finfo.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsQueryVolumeInformation | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 343 of file volinfo.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsRead | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 216 of file rw.c.
NTSTATUS NtfsReadDisk | ( | IN PDEVICE_OBJECT | DeviceObject, |
IN LONGLONG | StartingOffset, | ||
IN ULONG | Length, | ||
IN ULONG | SectorSize, | ||
IN OUT PUCHAR | Buffer, | ||
IN BOOLEAN | Override | ||
) |
Definition at line 37 of file blockdev.c.
Referenced by NtfsReadSectors(), NtfsWriteDisk(), and ReadAttribute().
NTSTATUS NtfsReadFCBAttribute | ( | PNTFS_VCB | Vcb, |
PNTFS_FCB | pFCB, | ||
ULONG | Type, | ||
PCWSTR | Name, | ||
ULONG | NameLength, | ||
PVOID * | Data | ||
) |
Definition at line 735 of file fcb.c.
Referenced by NtfsCreateFile().
NTSTATUS NtfsReadSectors | ( | IN PDEVICE_OBJECT | DeviceObject, |
IN ULONG | DiskSector, | ||
IN ULONG | SectorCount, | ||
IN ULONG | SectorSize, | ||
IN OUT PUCHAR | Buffer, | ||
IN BOOLEAN | Override | ||
) |
Definition at line 308 of file blockdev.c.
Referenced by NtfsGetVolumeData(), NtfsHasFileSystem(), and ReadLCN().
Definition at line 182 of file fcb.c.
Referenced by NtfsCloseFile(), NtfsGetFCBForFile(), and NtfsOpenFile().
Definition at line 51 of file fastio.c.
Referenced by DriverEntry().
Definition at line 72 of file fastio.c.
Referenced by DriverEntry().
NTSTATUS NtfsSetEndOfFile | ( | PNTFS_FCB | Fcb, |
PFILE_OBJECT | FileObject, | ||
PDEVICE_EXTENSION | DeviceExt, | ||
ULONG | IrpFlags, | ||
BOOLEAN | CaseSensitive, | ||
PLARGE_INTEGER | NewFileSize | ||
) |
Definition at line 563 of file finfo.c.
Referenced by NtfsSetInformation().
NTSTATUS NtfsSetInformation | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 719 of file finfo.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsSetVolumeInformation | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 420 of file volinfo.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsWrite | ( | PNTFS_IRP_CONTEXT | IrpContext | ) |
Definition at line 537 of file rw.c.
Referenced by NtfsDispatch().
NTSTATUS NtfsWriteDisk | ( | IN PDEVICE_OBJECT | DeviceObject, |
IN LONGLONG | StartingOffset, | ||
IN ULONG | Length, | ||
IN ULONG | SectorSize, | ||
IN const PUCHAR | Buffer | ||
) |
Definition at line 163 of file blockdev.c.
Referenced by WriteAttribute().
PNTFS_ATTR_CONTEXT PrepareAttributeContext | ( | PNTFS_ATTR_RECORD | AttrRecord | ) |
Definition at line 41 of file mft.c.
Referenced by FindAttribute(), and InternalReadNonResidentAttributes().
ULONG ReadAttribute | ( | PDEVICE_EXTENSION | Vcb, |
PNTFS_ATTR_CONTEXT | Context, | ||
ULONGLONG | Offset, | ||
PCHAR | Buffer, | ||
ULONG | Length | ||
) |
Definition at line 1065 of file mft.c.
Referenced by AddNewMftEntry(), AllocateIndexNode(), BrowseIndexEntries(), BrowseSubNodeIndexEntries(), CreateBTreeNodeFromIndexNode(), FreeClusters(), GetVolumeBitmap(), IncreaseMftSize(), InternalReadNonResidentAttributes(), NtfsAddFilenameToDirectory(), NtfsAllocateClusters(), NtfsFindMftRecord(), NtfsGetFreeClusters(), NtfsReadFCBAttribute(), NtfsReadFile(), PrintAllVCNs(), ReadFileRecord(), SetResidentAttributeDataLength(), UpdateFileNameRecord(), UpdateIndexEntryFileNameSize(), and UpdateMftMirror().
NTSTATUS ReadFileRecord | ( | PDEVICE_EXTENSION | Vcb, |
ULONGLONG | index, | ||
PFILE_RECORD_HEADER | file | ||
) |
Definition at line 1631 of file mft.c.
Referenced by FindAttribute(), FreeClusters(), GetNtfsFileRecord(), GetVolumeBitmap(), NtfsAddFilenameToDirectory(), NtfsAllocateClusters(), NtfsCreateFile(), NtfsFindFileAt(), NtfsFindMftRecord(), NtfsGetFreeClusters(), NtfsGetStreamInformation(), NtfsGetVolumeData(), NtfsLookupFileAt(), NtfsMakeRootFCB(), NtfsMoonWalkID(), NtfsOpenFileById(), NtfsReadFCBAttribute(), NtfsReadFile(), NtfsSetEndOfFile(), NtfsWriteFile(), UpdateFileNameRecord(), UpdateMftMirror(), and WriteAttribute().
NTSTATUS ReadLCN | ( | PDEVICE_EXTENSION | Vcb, |
ULONGLONG | lcn, | ||
ULONG | count, | ||
PVOID | buffer | ||
) |
Definition at line 2631 of file mft.c.
VOID ReadVCN | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | file, | ||
ATTRIBUTE_TYPE | type, | ||
ULONGLONG | vcn, | ||
ULONG | count, | ||
PVOID | buffer | ||
) |
VOID ReleaseAttributeContext | ( | PNTFS_ATTR_CONTEXT | Context | ) |
Definition at line 104 of file mft.c.
Referenced by AddNewMftEntry(), AllocateIndexNode(), BrowseIndexEntries(), CreateBTreeFromIndex(), FreeClusters(), GetVolumeBitmap(), IncreaseMftSize(), InternalReadNonResidentAttributes(), NtfsAddFilenameToDirectory(), NtfsAllocateClusters(), NtfsCreateFile(), NtfsDirFindFile(), NtfsFindMftRecord(), NtfsGetFileSize(), NtfsGetFreeClusters(), NtfsGetVolumeData(), NtfsReadFCBAttribute(), NtfsReadFile(), NtfsSetEndOfFile(), NtfsWriteFile(), UpdateFileNameRecord(), UpdateIndexAllocation(), UpdateIndexEntryFileNameSize(), UpdateMftMirror(), and WriteAttribute().
NTSTATUS SetAttributeDataLength | ( | PFILE_OBJECT | FileObject, |
PNTFS_FCB | Fcb, | ||
PNTFS_ATTR_CONTEXT | AttrContext, | ||
ULONG | AttrOffset, | ||
PFILE_RECORD_HEADER | FileRecord, | ||
PLARGE_INTEGER | DataSize | ||
) |
@parameter FileRecord Pointer to a file record. Must be a full record at least Fcb->Vcb->NtfsInfo.BytesPerFileRecord bytes large, not just the header.
Definition at line 615 of file mft.c.
Referenced by NtfsCreateFile(), NtfsSetEndOfFile(), and NtfsWriteFile().
VOID SetFileRecordEnd | ( | PFILE_RECORD_HEADER | FileRecord, |
PNTFS_ATTR_RECORD | AttrEnd, | ||
ULONG | EndMarker | ||
) |
Definition at line 706 of file mft.c.
Referenced by AddBitmap(), AddData(), AddFileName(), AddIndexAllocation(), AddIndexRoot(), AddRun(), AddStandardInformation(), FreeClusters(), InternalSetResidentAttributeLength(), and SetResidentAttributeDataLength().
NTSTATUS SetNonResidentAttributeDataLength | ( | PDEVICE_EXTENSION | Vcb, |
PNTFS_ATTR_CONTEXT | AttrContext, | ||
ULONG | AttrOffset, | ||
PFILE_RECORD_HEADER | FileRecord, | ||
PLARGE_INTEGER | DataSize | ||
) |
Definition at line 756 of file mft.c.
Referenced by AllocateIndexNode(), IncreaseMftSize(), SetAttributeDataLength(), and SetResidentAttributeDataLength().
NTSTATUS SetResidentAttributeDataLength | ( | PDEVICE_EXTENSION | Vcb, |
PNTFS_ATTR_CONTEXT | AttrContext, | ||
ULONG | AttrOffset, | ||
PFILE_RECORD_HEADER | FileRecord, | ||
PLARGE_INTEGER | DataSize | ||
) |
Definition at line 891 of file mft.c.
Referenced by AllocateIndexNode(), IncreaseMftSize(), and SetAttributeDataLength().
NTSTATUS SplitBTreeNode | ( | PB_TREE | Tree, |
PB_TREE_FILENAME_NODE | Node, | ||
PB_TREE_KEY * | MedianKey, | ||
PB_TREE_FILENAME_NODE * | NewRightHandSibling, | ||
BOOLEAN | CaseSensitive | ||
) |
Definition at line 1883 of file btree.c.
Referenced by NtfsInsertKey().
NTSTATUS UpdateFileNameRecord | ( | PDEVICE_EXTENSION | Vcb, |
ULONGLONG | ParentMFTIndex, | ||
PUNICODE_STRING | FileName, | ||
BOOLEAN | DirSearch, | ||
ULONGLONG | NewDataSize, | ||
ULONGLONG | NewAllocationSize, | ||
BOOLEAN | CaseSensitive | ||
) |
Searches a file's parent directory (given the parent's index in the mft) for the given file. Upon finding an index entry for that file, updates Data Size and Allocated Size values in the $FILE_NAME attribute of that entry.
(Most of this code was copied from NtfsFindMftRecord)
Definition at line 1660 of file mft.c.
Referenced by NtfsSetEndOfFile(), and NtfsWriteFile().
NTSTATUS UpdateFileRecord | ( | PDEVICE_EXTENSION | Vcb, |
ULONGLONG | MftIndex, | ||
PFILE_RECORD_HEADER | FileRecord | ||
) |
Definition at line 1931 of file mft.c.
Referenced by AddNewMftEntry(), AddRun(), AllocateIndexNode(), FreeClusters(), IncreaseMftSize(), NtfsAddFilenameToDirectory(), SetAttributeDataLength(), SetResidentAttributeDataLength(), and WriteAttribute().
NTSTATUS UpdateIndexAllocation | ( | PDEVICE_EXTENSION | DeviceExt, |
PB_TREE | Tree, | ||
ULONG | IndexBufferSize, | ||
PFILE_RECORD_HEADER | FileRecord | ||
) |
Definition at line 1182 of file btree.c.
Referenced by NtfsAddFilenameToDirectory().
NTSTATUS UpdateIndexEntryFileNameSize | ( | PDEVICE_EXTENSION | Vcb, |
PFILE_RECORD_HEADER | MftRecord, | ||
PCHAR | IndexRecord, | ||
ULONG | IndexBlockSize, | ||
PINDEX_ENTRY_ATTRIBUTE | FirstEntry, | ||
PINDEX_ENTRY_ATTRIBUTE | LastEntry, | ||
PUNICODE_STRING | FileName, | ||
PULONG | StartEntry, | ||
PULONG | CurrentEntry, | ||
BOOLEAN | DirSearch, | ||
ULONGLONG | NewDataSize, | ||
ULONGLONG | NewAllocatedSize, | ||
BOOLEAN | CaseSensitive | ||
) |
Recursively searches directory index and applies the size update to the $FILE_NAME attribute of the proper index entry. (Heavily based on BrowseIndexEntries)
Definition at line 1770 of file mft.c.
Referenced by UpdateFileNameRecord(), and UpdateIndexEntryFileNameSize().
NTSTATUS UpdateIndexNode | ( | PDEVICE_EXTENSION | DeviceExt, |
PFILE_RECORD_HEADER | FileRecord, | ||
PB_TREE_FILENAME_NODE | Node, | ||
ULONG | IndexBufferSize, | ||
PNTFS_ATTR_CONTEXT | IndexAllocationContext, | ||
ULONG | IndexAllocationOffset | ||
) |
Definition at line 1319 of file btree.c.
Referenced by UpdateIndexAllocation(), and UpdateIndexNode().
Definition at line 2714 of file mft.c.
Referenced by IncreaseMftSize().
NTSTATUS WriteAttribute | ( | PDEVICE_EXTENSION | Vcb, |
PNTFS_ATTR_CONTEXT | Context, | ||
ULONGLONG | Offset, | ||
const PUCHAR | Buffer, | ||
ULONG | Length, | ||
PULONG | LengthWritten, | ||
PFILE_RECORD_HEADER | FileRecord | ||
) |
Definition at line 1315 of file mft.c.
Referenced by AddNewMftEntry(), AllocateIndexNode(), FreeClusters(), IncreaseMftSize(), NtfsAddFilenameToDirectory(), NtfsAllocateClusters(), NtfsWriteFile(), SetResidentAttributeDataLength(), UpdateFileNameRecord(), UpdateFileRecord(), UpdateIndexEntryFileNameSize(), UpdateIndexNode(), and UpdateMftMirror().
FAST_IO_CHECK_IF_POSSIBLE NtfsFastIoCheckIfPossible |
Definition at line 914 of file ntfs.h.
Referenced by DriverEntry().
FAST_IO_READ NtfsFastIoRead |
Definition at line 915 of file ntfs.h.
Referenced by DriverEntry().
FAST_IO_WRITE NtfsFastIoWrite |
Definition at line 916 of file ntfs.h.
Referenced by DriverEntry().
DRIVER_DISPATCH NtfsFsdDispatch |
Definition at line 892 of file ntfs.h.
Referenced by NtfsInitializeFunctionPointers().
|
extern |
Definition at line 36 of file ntfs.c.
Referenced by AddNewMftEntry(), DriverEntry(), NtfsAllocateIrpContext(), NtfsAttachFCBToFileObject(), NtfsCleanup(), NtfsClose(), NtfsCreate(), NtfsCreateFCB(), NtfsCreateFile(), NtfsDestroyFCB(), NtfsDispatch(), NtfsFCBInitializeCache(), NtfsMountVolume(), NtfsWrite(), PrepareAttributeContext(), and ReleaseAttributeContext().