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