[ros-diffs] [pschweitzer] 37153: Implemented FsRtlUninitializeBaseMcb, FsRtlUninitializeLargeMcb

pschweitzer at svn.reactos.org pschweitzer at svn.reactos.org
Sun Nov 2 20:10:51 CET 2008


Author: pschweitzer
Date: Sun Nov  2 13:10:51 2008
New Revision: 37153

URL: http://svn.reactos.org/svn/reactos?rev=37153&view=rev
Log:
Implemented FsRtlUninitializeBaseMcb, FsRtlUninitializeLargeMcb

Modified:
    branches/pierre-fsd/ntoskrnl/fsrtl/largemcb.c

Modified: branches/pierre-fsd/ntoskrnl/fsrtl/largemcb.c
URL: http://svn.reactos.org/svn/reactos/branches/pierre-fsd/ntoskrnl/fsrtl/largemcb.c?rev=37153&r1=37152&r2=37153&view=diff
==============================================================================
--- branches/pierre-fsd/ntoskrnl/fsrtl/largemcb.c [iso-8859-1] (original)
+++ branches/pierre-fsd/ntoskrnl/fsrtl/largemcb.c [iso-8859-1] Sun Nov  2 13:10:51 2008
@@ -427,22 +427,35 @@
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
 VOID
 NTAPI
 FsRtlUninitializeBaseMcb(IN PBASE_MCB Mcb)
 {
-    KEBUGCHECK(0);
-}
-
-/*
- * @unimplemented
+    if ((Mcb->PoolType == PagedPool) && (Mcb->MaximumPairCount == MAXIMUM_PAIR_COUNT))
+    {
+        ExFreeToPagedLookasideList(&FsRtlFirstMappingLookasideList,
+                                   Mcb->Mapping);
+    }
+    else
+    {
+        ExFreePoolWithTag(Mcb->Mapping, TAG('F', 'S', 'B', 'C'));
+    }
+}
+
+/*
+ * @implemented
  */
 VOID
 NTAPI
 FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb)
 {
-    KEBUGCHECK(0);
-}
-
+    if (Mcb->FastMutex)
+    {
+        ExFreeToPagedLookasideList(&FsRtlFastMutexLookasideList,
+                                   Mcb->FastMutex);
+        FsRtlUninitializeBaseMcb(&(Mcb->BaseMcb));
+    }
+}
+



More information about the Ros-diffs mailing list