Cleanup isn't necessary after calling the driver in NtQueryDirectoryFile.
[reactos.git] / reactos / ntoskrnl / fs / mcb.c
index 11eb8ad..abc255d 100644 (file)
@@ -1,7 +1,11 @@
 /* $Id$
  *
- * reactos/ntoskrnl/fs/mcb.c
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS kernel
+ * FILE:            ntoskrnl/fs/mcb.c
+ * PURPOSE:         No purpose listed.
  *
+ * PROGRAMMERS:     No programmer listed.
  */
 
 #include <ntoskrnl.h>
@@ -11,7 +15,7 @@
  * NAME                                                        EXPORTED
  *
  * DESCRIPTION
- *     
+ *
  * ARGUMENTS
  *
  * RETURN VALUE
@@ -41,7 +45,7 @@ FsRtlAddMcbEntry (IN PMCB     Mcb,
                  IN LBN      Lbn,
                  IN ULONG    SectorCount)
 {
-  return FsRtlAddLargeMcbEntry(& Mcb->LargeMcb,
+  return FsRtlAddLargeMcbEntry(& Mcb->DummyFieldThatSizesThisStructureCorrectly,
                               (LONGLONG) Vbn,
                               (LONGLONG) Lbn,
                               (LONGLONG) SectorCount);
@@ -78,17 +82,17 @@ FsRtlGetNextMcbEntry (IN PMCB     Mcb,
   LONGLONG llSectorCount;
 
   /* Call the Large version */
-  Return = FsRtlGetNextLargeMcbEntry(&Mcb->LargeMcb,
+  Return = FsRtlGetNextLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
                                      RunIndex,
                                      &llVbn,
                                      &llLbn,
                                      &llSectorCount);
-  
+
   /* Return everything typecasted */
   *Vbn = (ULONG)llVbn;
   *Lbn = (ULONG)llLbn;
   *SectorCount = (ULONG)llSectorCount;
-  
+
   /* And return the original value */
   return(Return);
 }
@@ -102,7 +106,7 @@ FsRtlInitializeLargeMcb(IN PLARGE_MCB Mcb,
                        IN POOL_TYPE PoolType)
 {
   UNIMPLEMENTED;
-  Mcb->PoolType = PoolType;
+  Mcb->BaseMcb.PoolType = PoolType;
 }
 
 /*
@@ -113,7 +117,7 @@ VOID STDCALL
 FsRtlInitializeMcb (IN PMCB         Mcb,
                    IN POOL_TYPE    PoolType)
 {
-  FsRtlInitializeLargeMcb(& Mcb->LargeMcb, PoolType);
+  FsRtlInitializeLargeMcb(& Mcb->DummyFieldThatSizesThisStructureCorrectly, PoolType);
 }
 
 
@@ -205,14 +209,14 @@ FsRtlLookupLastMcbEntry(IN PMCB Mcb,
   LONGLONG llLbn;
 
   /* Call the Large version */
-  Return = FsRtlLookupLastLargeMcbEntry(&Mcb->LargeMcb,
+  Return = FsRtlLookupLastLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
                                         &llVbn,
                                         &llLbn);
-  
+
   /* Return everything typecasted */
   *Vbn = (ULONG)llVbn;
   *Lbn = (ULONG)llLbn;
-  
+
   /* And return the original value */
   return(Return);
 }
@@ -233,18 +237,18 @@ FsRtlLookupMcbEntry(IN PMCB Mcb,
   LONGLONG llSectorCount;
 
   /* Call the Large version */
-  Return = FsRtlLookupLargeMcbEntry(&Mcb->LargeMcb,
+  Return = FsRtlLookupLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
                                     (LONGLONG)Vbn,
                                     &llLbn,
                                     &llSectorCount,
                                     NULL,
                                     NULL,
                                     Index);
-  
+
   /* Return everything typecasted */
   *Lbn = (ULONG)llLbn;
   if (SectorCount) *SectorCount = (ULONG)llSectorCount;
-  
+
   /* And return the original value */
   return(Return);
 }
@@ -258,7 +262,7 @@ FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb)
 {
   ULONG NumberOfRuns;
   ExAcquireFastMutex (Mcb->FastMutex);
-  NumberOfRuns=Mcb->PairCount;
+  NumberOfRuns=Mcb->BaseMcb.MaximumPairCount;
   ExReleaseFastMutex (Mcb->FastMutex);
   return(NumberOfRuns);
 }
@@ -272,7 +276,7 @@ FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb)
 ULONG STDCALL
 FsRtlNumberOfRunsInMcb (IN PMCB Mcb)
 {
-  return FsRtlNumberOfRunsInLargeMcb(& Mcb->LargeMcb);
+  return FsRtlNumberOfRunsInLargeMcb(& Mcb->DummyFieldThatSizesThisStructureCorrectly);
 }
 
 
@@ -297,7 +301,7 @@ FsRtlRemoveMcbEntry (IN PMCB     Mcb,
                     IN ULONG    SectorCount)
 {
     /* Call the large function */
-      return FsRtlRemoveLargeMcbEntry(&Mcb->LargeMcb,
+      return FsRtlRemoveLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
                                       (LONGLONG)Vbn,
                                       (LONGLONG)SectorCount);
 }
@@ -349,7 +353,7 @@ VOID STDCALL
 FsRtlTruncateMcb (IN PMCB Mcb,
                  IN VBN  Vbn)
 {
-  FsRtlTruncateLargeMcb (& Mcb->LargeMcb, (LONGLONG) Vbn);
+  FsRtlTruncateLargeMcb (& Mcb->DummyFieldThatSizesThisStructureCorrectly, (LONGLONG) Vbn);
 }
 
 
@@ -370,7 +374,7 @@ FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb)
 VOID STDCALL
 FsRtlUninitializeMcb (IN PMCB Mcb)
 {
-  FsRtlUninitializeLargeMcb(& Mcb->LargeMcb);
+  FsRtlUninitializeLargeMcb(& Mcb->DummyFieldThatSizesThisStructureCorrectly);
 }