CcRescheduleLazyWriteScan
VOID __stdcall CcRescheduleLazyWriteScan(_LARGE_INTEGER *TicksToDelayBy){
__int64 *v1;
_LARGE_INTEGER *v2;
__int64 v3;
_LARGE_INTEGER v4;
v2 = TicksToDelayBy + 63;
if( !BYTE4(TicksToDelayBy[120].QuadPart) )
{
if( LOBYTE(TicksToDelayBy[79].anonymous_0.LowPart) )
{
if( v1 && (v3 = *v1, *v1 != 0x7FFFFFFFFFFFFFFFi64) && v3 )
{
v4.QuadPart = 160000000i64;
if( v3 * (unsigned int)KeMaximumIncrement <= 160000000 )
v4.QuadPart = v3 * (unsigned int)KeMaximumIncrement;
if( v4.QuadPart < 10000000 )
v4 = CcIdleDelay;
if( v4.QuadPart > 0 )
v4.QuadPart = -v4.QuadPart;
}
else
{
v4 = CcIdleDelay;
}
KeSetCoalescableTimer((INT64)&v2[8], v4.QuadPart, 0i64, 0x3E8ui64, (INT64)v2);
}
else
{
CcScheduleLazyWriteScan((UINT8)TicksToDelayBy, 0);
}
}
}Referenced by:
CcCoalescingCallBackHelper
CcLazyWriteScan