From 4784e99b74b932c40b3290e6084cb87b4e05a40b Mon Sep 17 00:00:00 2001 From: Dibyamartanda Samanta Date: Fri, 24 May 2024 10:32:14 +0200 Subject: [PATCH] [NTOSKRNL:CC] Implementation of CcGetNumberOfMappedPages Added CcGetNumberOfMappedPages, --- NTOSKRNL/CC/ccloghandler.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/NTOSKRNL/CC/ccloghandler.cpp b/NTOSKRNL/CC/ccloghandler.cpp index 9e32236..d63709e 100644 --- a/NTOSKRNL/CC/ccloghandler.cpp +++ b/NTOSKRNL/CC/ccloghandler.cpp @@ -477,4 +477,22 @@ CcGetCachedDirtyPageCountForFile(PSECTION_OBJECT_POINTERS SectionObjectPointer) return DIRTYPAGES; } +VOID NTAPI CcGetNumberOfMappedPages( + PSECTION_OBJECT_POINTERS SectionObjectPointers, + PULONG NoMappedVacbPage, + PULONG NoActivePages) +{ + PSHARED_CACHE_MAP SharedCacheMap = SectionObjectPointers->SharedCacheMap; + *NoMappedVacbPage = nullptr; + *NoActivePages = nullptr; + if (SharedCacheMap) + { + + SpinLockSharedGuard guard(&SharedCacheMap->VacbLock); + /*Calculate the number of pages based on NumMappedVacb and NumActiveVacb by Doing Half Page Shift*/ + NoMappedVacbPage = &SharedCacheMap->NumMappedVacb << 6; + NoActivePages = &SharedCacheMap->NumActiveVacb << 6; + } + return; +}