Author: pschweitzer Date: Sat Mar 15 03:51:47 2008 New Revision: 32691
URL: http://svn.reactos.org/svn/reactos?rev=3D32691&view=3Drev Log: - Renamed all control block structures to (P)NTFS_xCB - Added an identifier field to those structures (not yet used)
Modified: trunk/reactos/drivers/filesystems/ntfs/close.c trunk/reactos/drivers/filesystems/ntfs/create.c trunk/reactos/drivers/filesystems/ntfs/dirctl.c trunk/reactos/drivers/filesystems/ntfs/fcb.c trunk/reactos/drivers/filesystems/ntfs/finfo.c trunk/reactos/drivers/filesystems/ntfs/fsctl.c trunk/reactos/drivers/filesystems/ntfs/ntfs.c trunk/reactos/drivers/filesystems/ntfs/ntfs.h
Modified: trunk/reactos/drivers/filesystems/ntfs/close.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n= tfs/close.c?rev=3D32691&r1=3D32690&r2=3D32691&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/drivers/filesystems/ntfs/close.c (original) +++ trunk/reactos/drivers/filesystems/ntfs/close.c Sat Mar 15 03:51:47 2008 @@ -43,13 +43,13 @@ * FUNCTION: Closes a file */ { - PCCB Ccb; + PNTFS_CCB Ccb; =
DPRINT("NtfsCloseFile(DeviceExt %p, FileObject %p)\n", DeviceExt, FileObject); =
- Ccb =3D (PCCB)(FileObject->FsContext2); + Ccb =3D (PNTFS_CCB)(FileObject->FsContext2); =
DPRINT("Ccb %p\n", Ccb); if (Ccb =3D=3D NULL)
Modified: trunk/reactos/drivers/filesystems/ntfs/create.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n= tfs/create.c?rev=3D32691&r1=3D32690&r2=3D32691&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/drivers/filesystems/ntfs/create.c (original) +++ trunk/reactos/drivers/filesystems/ntfs/create.c Sat Mar 15 03:51:47 2008 @@ -41,7 +41,7 @@ PWSTR *pAbsoluteFilename) { PWSTR rcName; - PFCB Fcb; + PNTFS_FCB Fcb; =
DPRINT("try related for %S\n", pRelativeFileName); Fcb =3D pFileObject->FsContext; @@ -82,8 +82,8 @@ * FUNCTION: Opens a file */ { - PFCB ParentFcb; - PFCB Fcb; + PNTFS_FCB ParentFcb; + PNTFS_FCB Fcb; NTSTATUS Status; PWSTR AbsFileName =3D NULL; =
Modified: trunk/reactos/drivers/filesystems/ntfs/dirctl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n= tfs/dirctl.c?rev=3D32691&r1=3D32690&r2=3D32691&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/drivers/filesystems/ntfs/dirctl.c (original) +++ trunk/reactos/drivers/filesystems/ntfs/dirctl.c Sat Mar 15 03:51:47 2008 @@ -489,8 +489,8 @@ ULONG FileIndex =3D 0; PUCHAR Buffer =3D NULL; PFILE_NAMES_INFORMATION Buffer0 =3D NULL; - PFCB Fcb; - PCCB Ccb; + PNTFS_FCB Fcb; + PNTFS_CCB Ccb; // FCB TempFcb; BOOLEAN First =3D FALSE; PIO_STACK_LOCATION Stack; @@ -507,8 +507,8 @@ Stack =3D IoGetCurrentIrpStackLocation(Irp); FileObject =3D Stack->FileObject; =
- Ccb =3D (PCCB)FileObject->FsContext2; - Fcb =3D (PFCB)FileObject->FsContext; + Ccb =3D (PNTFS_CCB)FileObject->FsContext2; + Fcb =3D (PNTFS_FCB)FileObject->FsContext; =
/* Obtain the callers parameters */ BufferLength =3D Stack->Parameters.QueryDirectory.Length;
Modified: trunk/reactos/drivers/filesystems/ntfs/fcb.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n= tfs/fcb.c?rev=3D32691&r1=3D32690&r2=3D32691&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/drivers/filesystems/ntfs/fcb.c (original) +++ trunk/reactos/drivers/filesystems/ntfs/fcb.c Sat Mar 15 03:51:47 2008 @@ -67,13 +67,13 @@ } =
=
-PFCB +PNTFS_FCB NtfsCreateFCB(PCWSTR FileName) { - PFCB Fcb; - - Fcb =3D ExAllocatePoolWithTag(NonPagedPool, sizeof(FCB), TAG_FCB); - RtlZeroMemory(Fcb, sizeof(FCB)); + PNTFS_FCB Fcb; + + Fcb =3D ExAllocatePoolWithTag(NonPagedPool, sizeof(NTFS_FCB), TAG_FCB); + RtlZeroMemory(Fcb, sizeof(NTFS_FCB)); =
if (FileName) { @@ -95,7 +95,7 @@ =
=
VOID -NtfsDestroyFCB(PFCB Fcb) +NtfsDestroyFCB(PNTFS_FCB Fcb) { ExDeleteResourceLite(&Fcb->MainResource); =
@@ -104,7 +104,7 @@ =
=
BOOLEAN -NtfsFCBIsDirectory(PFCB Fcb) +NtfsFCBIsDirectory(PNTFS_FCB Fcb) { // return(Fcb->entry.Attrib & FILE_ATTRIBUTE_DIRECTORY); // return(Fcb->Entry.FileFlags & 0x02); @@ -113,15 +113,15 @@ =
=
BOOLEAN -NtfsFCBIsRoot(PFCB Fcb) +NtfsFCBIsRoot(PNTFS_FCB Fcb) { return(wcscmp(Fcb->PathName, L"\") =3D=3D 0); } =
=
VOID -NtfsGrabFCB(PDEVICE_EXTENSION Vcb, - PFCB Fcb) +NtfsGrabFCB(PNTFS_VCB Vcb, + PNTFS_FCB Fcb) { KIRQL oldIrql; =
@@ -137,8 +137,8 @@ =
=
VOID -NtfsReleaseFCB(PDEVICE_EXTENSION Vcb, - PFCB Fcb) +NtfsReleaseFCB(PNTFS_VCB Vcb, + PNTFS_FCB Fcb) { KIRQL oldIrql; =
@@ -160,8 +160,8 @@ =
=
VOID -NtfsAddFCBToTable(PDEVICE_EXTENSION Vcb, - PFCB Fcb) +NtfsAddFCBToTable(PNTFS_VCB Vcb, + PNTFS_FCB Fcb) { KIRQL oldIrql; =
@@ -172,12 +172,12 @@ } =
=
-PFCB -NtfsGrabFCBFromTable(PDEVICE_EXTENSION Vcb, +PNTFS_FCB +NtfsGrabFCBFromTable(PNTFS_VCB Vcb, PCWSTR FileName) { KIRQL oldIrql; - PFCB Fcb; + PNTFS_FCB Fcb; PLIST_ENTRY current_entry; =
KeAcquireSpinLock(&Vcb->FcbListLock, &oldIrql); @@ -194,7 +194,7 @@ current_entry =3D Vcb->FcbListHead.Flink; while (current_entry !=3D &Vcb->FcbListHead) { - Fcb =3D CONTAINING_RECORD(current_entry, FCB, FcbListEntry); + Fcb =3D CONTAINING_RECORD(current_entry, NTFS_FCB, FcbListEntry); =
DPRINT("Comparing '%S' and '%S'\n", FileName, Fcb->PathName); if (_wcsicmp(FileName, Fcb->PathName) =3D=3D 0) @@ -215,22 +215,22 @@ =
=
NTSTATUS -NtfsFCBInitializeCache(PVCB Vcb, - PFCB Fcb) +NtfsFCBInitializeCache(PNTFS_VCB Vcb, + PNTFS_FCB Fcb) { PFILE_OBJECT FileObject; NTSTATUS Status; - PCCB newCCB; + PNTFS_CCB newCCB; =
FileObject =3D IoCreateStreamFileObject(NULL, Vcb->StorageDevice); =
- newCCB =3D ExAllocatePoolWithTag(NonPagedPool, sizeof(CCB), TAG_CCB); + newCCB =3D ExAllocatePoolWithTag(NonPagedPool, sizeof(NTFS_CCB), TAG_CCB= ); if (newCCB =3D=3D NULL) { return(STATUS_INSUFFICIENT_RESOURCES); } RtlZeroMemory(newCCB, - sizeof(CCB)); + sizeof(NTFS_CCB)); =
FileObject->SectionObjectPointer =3D &Fcb->SectionObjectPointers; FileObject->FsContext =3D Fcb; @@ -253,10 +253,10 @@ } =
=
-PFCB -NtfsMakeRootFCB(PDEVICE_EXTENSION Vcb) -{ - PFCB Fcb; +PNTFS_FCB +NtfsMakeRootFCB(PNTFS_VCB Vcb) +{ + PNTFS_FCB Fcb; =
Fcb =3D NtfsCreateFCB(L"\"); =
@@ -279,10 +279,10 @@ } =
=
-PFCB -NtfsOpenRootFCB(PDEVICE_EXTENSION Vcb) -{ - PFCB Fcb; +PNTFS_FCB +NtfsOpenRootFCB(PNTFS_VCB Vcb) +{ + PNTFS_FCB Fcb; =
Fcb =3D NtfsGrabFCBFromTable(Vcb, L"\"); if (Fcb =3D=3D NULL) @@ -386,18 +386,18 @@ =
=
NTSTATUS -NtfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb, - PFCB Fcb, +NtfsAttachFCBToFileObject(PNTFS_VCB Vcb, + PNTFS_FCB Fcb, PFILE_OBJECT FileObject) { - PCCB newCCB; - - newCCB =3D ExAllocatePoolWithTag(NonPagedPool, sizeof(CCB), TAG_CCB); + PNTFS_CCB newCCB; + + newCCB =3D ExAllocatePoolWithTag(NonPagedPool, sizeof(NTFS_CCB), TAG_CCB= ); if (newCCB =3D=3D NULL) { return(STATUS_INSUFFICIENT_RESOURCES); } - memset(newCCB, 0, sizeof(CCB)); + memset(newCCB, 0, sizeof(NTFS_CCB)); =
FileObject->SectionObjectPointer =3D &Fcb->SectionObjectPointers; FileObject->FsContext =3D Fcb; @@ -423,10 +423,10 @@ =
=
static NTSTATUS -NtfsDirFindFile(PDEVICE_EXTENSION DeviceExt, - PFCB DirectoryFcb, +NtfsDirFindFile(PNTFS_VCB Vcb, + PNTFS_FCB DirectoryFcb, PWSTR FileToFind, - PFCB *FoundFCB) + PNTFS_FCB *FoundFCB) { #if 0 WCHAR TempName[2]; @@ -534,17 +534,17 @@ =
=
NTSTATUS -NtfsGetFCBForFile(PDEVICE_EXTENSION Vcb, - PFCB *pParentFCB, - PFCB *pFCB, +NtfsGetFCBForFile(PNTFS_VCB Vcb, + PNTFS_FCB *pParentFCB, + PNTFS_FCB *pFCB, const PWSTR pFileName) { NTSTATUS Status; WCHAR pathName [MAX_PATH]; WCHAR elementName [MAX_PATH]; PWCHAR currentElement; - PFCB FCB; - PFCB parentFCB; + PNTFS_FCB FCB; + PNTFS_FCB parentFCB; =
DPRINT("NtfsGetFCBForFile(%p, %p, %p, '%S')\n", Vcb,
Modified: trunk/reactos/drivers/filesystems/ntfs/finfo.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n= tfs/finfo.c?rev=3D32691&r1=3D32690&r2=3D32691&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/drivers/filesystems/ntfs/finfo.c (original) +++ trunk/reactos/drivers/filesystems/ntfs/finfo.c Sat Mar 15 03:51:47 2008 @@ -36,7 +36,7 @@ /* FUNCTIONS *************************************************************= ***/ =
static NTSTATUS -NtfsGetStandardInformation(PFCB Fcb, +NtfsGetStandardInformation(PNTFS_FCB Fcb, PDEVICE_OBJECT DeviceObject, PFILE_STANDARD_INFORMATION StandardInfo, PULONG BufferLength) @@ -91,7 +91,7 @@ =
static NTSTATUS NtfsGetBasicInformation(PFILE_OBJECT FileObject, - PFCB Fcb, + PNTFS_FCB Fcb, PDEVICE_OBJECT DeviceObject, PFILE_BASIC_INFORMATION BasicInfo, PULONG BufferLength) @@ -123,7 +123,7 @@ =
static NTSTATUS NtfsGetNameInformation(PFILE_OBJECT FileObject, - PFCB Fcb, + PNTFS_FCB Fcb, PDEVICE_OBJECT DeviceObject, PFILE_NAME_INFORMATION NameInfo, PULONG BufferLength) @@ -157,7 +157,7 @@ =
=
static NTSTATUS -NtfsGetInternalInformation(PFCB Fcb, +NtfsGetInternalInformation(PNTFS_FCB Fcb, PFILE_INTERNAL_INFORMATION InternalInfo, PULONG BufferLength) { @@ -188,7 +188,7 @@ FILE_INFORMATION_CLASS FileInformationClass; PIO_STACK_LOCATION Stack; PFILE_OBJECT FileObject; - PFCB Fcb; + PNTFS_FCB Fcb; PVOID SystemBuffer; ULONG BufferLength; =
Modified: trunk/reactos/drivers/filesystems/ntfs/fsctl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n= tfs/fsctl.c?rev=3D32691&r1=3D32690&r2=3D32691&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/drivers/filesystems/ntfs/fsctl.c (original) +++ trunk/reactos/drivers/filesystems/ntfs/fsctl.c Sat Mar 15 03:51:47 2008 @@ -308,8 +308,8 @@ PDEVICE_OBJECT NewDeviceObject =3D NULL; PDEVICE_OBJECT DeviceToMount; PIO_STACK_LOCATION Stack; - PFCB Fcb =3D NULL; - PCCB Ccb =3D NULL; + PNTFS_FCB Fcb =3D NULL; + PNTFS_CCB Ccb =3D NULL; PVPB Vpb; NTSTATUS Status; =
@@ -373,7 +373,7 @@ } =
Ccb =3D ExAllocatePoolWithTag(NonPagedPool, - sizeof(CCB), + sizeof(NTFS_CCB), TAG_CCB); if (Ccb =3D=3D NULL) { @@ -381,7 +381,7 @@ goto ByeBye; } RtlZeroMemory(Ccb, - sizeof(CCB)); + sizeof(NTFS_CCB)); =
DeviceExt->StreamFileObject->FsContext =3D Fcb; DeviceExt->StreamFileObject->FsContext2 =3D Ccb;
Modified: trunk/reactos/drivers/filesystems/ntfs/ntfs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n= tfs/ntfs.c?rev=3D32691&r1=3D32690&r2=3D32691&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/drivers/filesystems/ntfs/ntfs.c (original) +++ trunk/reactos/drivers/filesystems/ntfs/ntfs.c Sat Mar 15 03:51:47 2008 @@ -102,7 +102,6 @@ ObReferenceObject(NtfsGlobalData->DeviceObject); =
ErrorEnd: - if (!NT_SUCCESS(Status)) { if (NtfsGlobalData) @@ -111,7 +110,6 @@ ExFreePoolWithTag(NtfsGlobalData, TAG('N', 'D', 'R', 'G')); } } - =
=
return Status; }
Modified: trunk/reactos/drivers/filesystems/ntfs/ntfs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/n= tfs/ntfs.h?rev=3D32691&r1=3D32690&r2=3D32691&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/drivers/filesystems/ntfs/ntfs.h (original) +++ trunk/reactos/drivers/filesystems/ntfs/ntfs.h Sat Mar 15 03:51:47 2008 @@ -84,9 +84,23 @@ =
} NTFS_INFO, *PNTFS_INFO; =
- -typedef struct -{ +#define NTFS_TYPE_CCB TAG('F','S',0,2) +#define NTFS_TYPE_FCB TAG('F','S',0,3) +#define NTFS_TYPE_VCB TAG('F','S',0,5) +#define NTFS_TYPE_IRP_CONTEST TAG('F','S',0,6) +#define NTFS_TYPE_GLOBAL_DATA TAG('F','S',0,7) + +typedef struct +{ + ULONG Type; + ULONG Size; +} NTFSIDENTIFIER, *PNTFSIDENTIFIER; + + +typedef struct +{ + NTFSIDENTIFIER Identifier; + ERESOURCE DirResource; // ERESOURCE FatResource; =
@@ -100,7 +114,7 @@ NTFS_INFO NtfsInfo; =
=
-} DEVICE_EXTENSION, *PDEVICE_EXTENSION, VCB, *PVCB; +} DEVICE_EXTENSION, *PDEVICE_EXTENSION, NTFS_VCB, *PNTFS_VCB; =
=
#define FCB_CACHE_INITIALIZED 0x0001 @@ -110,6 +124,8 @@ =
typedef struct _FCB { + NTFSIDENTIFIER Identifier; + FSRTL_COMMON_FCB_HEADER RFCB; SECTION_OBJECT_POINTERS SectionObjectPointers; =
@@ -133,11 +149,12 @@ // DIR_RECORD Entry; =
=
-} FCB, *PFCB; - - -typedef struct _CCB -{ +} NTFS_FCB, *PNTFS_FCB; + + +typedef struct +{ + NTFSIDENTIFIER Identifier; LIST_ENTRY NextCCB; PFILE_OBJECT PtrFileObject; LARGE_INTEGER CurrentByteOffset; @@ -147,18 +164,9 @@ PWCHAR DirectorySearchPattern; ULONG LastCluster; ULONG LastOffset; -} CCB, *PCCB; +} NTFS_CCB, *PNTFS_CCB; =
#define TAG_CCB TAG('I', 'C', 'C', 'B') - -#define NTFS_TYPE_IRP_CONTEST TAG('F','S',0,6) -#define NTFS_TYPE_GLOBAL_DATA TAG('F','S',0,7) - -typedef struct -{ - ULONG Type; - ULONG Size; -} NTFSIDENTIFIER, *PNTFSIDENTIFIER; =
typedef struct { @@ -419,53 +427,53 @@ =
/* fcb.c */ =
-PFCB +PNTFS_FCB NtfsCreateFCB(PCWSTR FileName); =
VOID -NtfsDestroyFCB(PFCB Fcb); +NtfsDestroyFCB(PNTFS_FCB Fcb); =
BOOLEAN -NtfsFCBIsDirectory(PFCB Fcb); +NtfsFCBIsDirectory(PNTFS_FCB Fcb); =
BOOLEAN -NtfsFCBIsRoot(PFCB Fcb); - -VOID -NtfsGrabFCB(PDEVICE_EXTENSION Vcb, - PFCB Fcb); - -VOID -NtfsReleaseFCB(PDEVICE_EXTENSION Vcb, - PFCB Fcb); - -VOID -NtfsAddFCBToTable(PDEVICE_EXTENSION Vcb, - PFCB Fcb); - -PFCB -NtfsGrabFCBFromTable(PDEVICE_EXTENSION Vcb, +NtfsFCBIsRoot(PNTFS_FCB Fcb); + +VOID +NtfsGrabFCB(PNTFS_VCB Vcb, + PNTFS_FCB Fcb); + +VOID +NtfsReleaseFCB(PNTFS_VCB Vcb, + PNTFS_FCB Fcb); + +VOID +NtfsAddFCBToTable(PNTFS_VCB Vcb, + PNTFS_FCB Fcb); + +PNTFS_FCB +NtfsGrabFCBFromTable(PNTFS_VCB Vcb, PCWSTR FileName); =
NTSTATUS -NtfsFCBInitializeCache(PVCB Vcb, - PFCB Fcb); - -PFCB -NtfsMakeRootFCB(PDEVICE_EXTENSION Vcb); - -PFCB -NtfsOpenRootFCB(PDEVICE_EXTENSION Vcb); - -NTSTATUS -NtfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb, - PFCB Fcb, +NtfsFCBInitializeCache(PNTFS_VCB Vcb, + PNTFS_FCB Fcb); + +PNTFS_FCB +NtfsMakeRootFCB(PNTFS_VCB Vcb); + +PNTFS_FCB +NtfsOpenRootFCB(PNTFS_VCB Vcb); + +NTSTATUS +NtfsAttachFCBToFileObject(PNTFS_VCB Vcb, + PNTFS_FCB Fcb, PFILE_OBJECT FileObject); =
NTSTATUS -NtfsGetFCBForFile(PDEVICE_EXTENSION Vcb, - PFCB *pParentFCB, - PFCB *pFCB, +NtfsGetFCBForFile(PNTFS_VCB Vcb, + PNTFS_FCB *pParentFCB, + PNTFS_FCB *pFCB, const PWSTR pFileName); =
=