diff --git a/NTOSKRNL/CC/ccpinsupport.cpp b/NTOSKRNL/CC/ccpinsupport.cpp index f567bcc..5fd237b 100644 --- a/NTOSKRNL/CC/ccpinsupport.cpp +++ b/NTOSKRNL/CC/ccpinsupport.cpp @@ -271,7 +271,19 @@ CcSetBcbOwnerPointer( IN PMBCB Bcb, IN PVOID OwnerPointer) { - //Unimimplemented + if (Bcb->NodeTypeCode == 762) + { + /* Iterate through all bitmap ranges */ + for (auto it = ListEntryIterator::begin(&Bcb->BitmapRanges); it != ListEntryIterator::end(&Bcb->BitmapRanges); ++it) + { auto* Bcb = CONTAINING_RECORD(it->Blink,MBCB,BitmapRanges); + ExSetResourceOwnerPointer(&Bcb->DirtyPages,OwnerPointer); + } + } + else + { + /* Single bitmap range */ + ExSetResourceOwnerPointer(&Bcb->BitmapRange1.FirstDirtyPage,OwnerPointer); + } }