MiPageAttributeBatchChangeNeeded
NTSTATUS __stdcall MiPageAttributeBatchChangeNeeded(_MMPFN *Pfn1, _MI_PFN_CACHE_ATTRIBUTE CacheAttribute){
int v2;
char v4;
unsigned int v5;
int v6[10];
v2 = *((unsigned __int8 *)&Pfn1->u3 + 2) >> 6;
if( v2 == CacheAttribute )
return 0;
if( v2 != 1 )
{
if( v2 == 3
|| (v4 = HIBYTE(Pfn1->u2._bf_0) & 0xF, _InterlockedOr(v6, 0), v5 = ((_BYTE)KiTbFlushTimeStamp - v4) & 0xF, v5 > 2)
|| (v4 & 1) == 0 && v5 >= 2 )
{
MiChangePageAttribute(Pfn1, CacheAttribute, 4ui64);
return 0;
}
}
return 1;
}Referenced by:
MiConvertContiguousPages
MiInitializeMdlOneNodeBatchPages
MiSwitchToTransition