From 8e73c913ed0ce98c7724c33e1589662dfa0a67cd Mon Sep 17 00:00:00 2001 From: Dibyamartanda Samanta Date: Fri, 24 May 2024 08:16:13 +0200 Subject: [PATCH] [NTOSKRNL:CC] added CcGetCachedDirtyPageCountForFile Added CcGetCachedDirtyPageCountForFile --- NTOSKRNL/CC/ccloghandler.cpp | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/NTOSKRNL/CC/ccloghandler.cpp b/NTOSKRNL/CC/ccloghandler.cpp index e128558..9e32236 100644 --- a/NTOSKRNL/CC/ccloghandler.cpp +++ b/NTOSKRNL/CC/ccloghandler.cpp @@ -221,7 +221,9 @@ Void NTAPI CcSetAdditionalCacheAttributes( KeReleaseQueuedSpinLock(LockQueueMasterLock, oldlock); } -VOID NTAPI CcSetAdditionalCacheAttributesEx(PFILE_OBJECT FileObject, +VOID +NTAPI +CcSetAdditionalCacheAttributesEx(PFILE_OBJECT FileObject, ULONG Flags) { PSHARED_CACHE_MAP sharedCacheMap = FileObject->SectionObjectPointer->SharedCacheMap; @@ -412,8 +414,9 @@ CcSetLoggedDataThreshold ( KeReleaseQueuedSpinLock(LockQueueMasterLock, OldIrql); } -VECTORCALL + BOOLEAN +NTAPI CcIsThereDirtyLoggedPages ( _In_ PDEVICE_OBJECT DeviceObject, _Out_opt_ PULONG NumberOfDirtyPages @@ -458,6 +461,20 @@ CcIsThereDirtyLoggedPages ( return DirtyPagesExist; } - +ULONG + NTAPI +CcGetCachedDirtyPageCountForFile(PSECTION_OBJECT_POINTERS SectionObjectPointer) +{ + ULONG DIRTYPAGES = -1;; + PSHARED_CACHE_MAP SharedCacheMap; + + if ( SectionObjectPointer ) + { + SharedCacheMap = SectionObjectPointer->SharedCacheMap; + if ( SharedCacheMap ) + DIRTYPAGES = SharedCacheMap->DirtyPages; + } + return DIRTYPAGES; +}