Add NTOSKRNL/CC/ccinternal.hpp
This commit is contained in:
parent
49302f5b41
commit
25a937916b
51
NTOSKRNL/CC/ccinternal.hpp
Normal file
51
NTOSKRNL/CC/ccinternal.hpp
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* PROJECT: Alcyone System Kernel
|
||||
* LICENSE: BSD Clause 3
|
||||
* PURPOSE: Cache Controller:: Lazy Writer
|
||||
* NT KERNEL: 5.11.9360
|
||||
* COPYRIGHT: 2023-2029 Dibymartanda Samanta <>
|
||||
*/
|
||||
|
||||
#include "debug.hpp"
|
||||
#include <ntoskrnl.hpp>
|
||||
|
||||
|
||||
BOOL
|
||||
NTAPI
|
||||
IsGoToNextMap(IN PSHARED_CACHE_MAP SharedMap, IN ULONG TargetPages)
|
||||
{
|
||||
BOOLEAN Skip = FALSE;
|
||||
|
||||
if (SharedMap->Flags & (0x20 | 0x800))
|
||||
return TRUE;
|
||||
|
||||
if ((SharedMap->OpenCount || SharedMap->DirtyPages) && SharedMap->FileSize.QuadPart)
|
||||
{
|
||||
Skip = TRUE;
|
||||
}
|
||||
|
||||
if (!SharedMap->DirtyPages && Skip)
|
||||
return TRUE;
|
||||
|
||||
if (SharedMap->Flags & SHARE_FL_WAITING_TEARDOWN)
|
||||
return FALSE;
|
||||
|
||||
if (!TargetPages && Skip)
|
||||
return TRUE;
|
||||
|
||||
SharedMap->LazyWritePassCount++;
|
||||
|
||||
if ((SharedMap->LazyWritePassCount & 0xF) && (SharedMap->Flags & SHARE_FL_MODIFIED_NO_WRITE) &&
|
||||
CcCapturedSystemSize != MmSmallSystem && SharedMap->DirtyPages < 0x40 && Skip)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if ((SharedMap->FileObject->Flags & 0x8000) && SharedMap->OpenCount &&
|
||||
CcCanIWrite(SharedMap->FileObject, 0x40000, 0, 0xFF) && Skip)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
Loading…
Reference in New Issue
Block a user