MiGetInPageSupportBlock
void *__fastcall MiGetInPageSupportBlock(char a1){
__int64 v2;
BOOL v3;
void *v4;
v2 = 16i64 * ((a1 & 1) == 0);
v3 = (a1 & 1) == 0;
v4 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)&MiState[v2 + 9232]);
if( v4 || (v4 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)&MiState[v2 + 9264])) != 0i64 )
{
LABEL_3:
MiInitializeInPageSupport((__int64)v4, a1);
return v4;
}
if( (a1 & 4) == 0 )
{
v4 = MiAllocateInPageSupportBlock(v3, 1ui64);
if( !v4 )
return v4;
goto LABEL_3;
}
return 0i64;
}Referenced by:
MiAllocateInPageSupport
MiCreateRotateView
MiGetReadyInPageBlock
MiMigratePfn
MiPfAllocateMdls
MiPfPutPagesInTransition
MiPrivateFixup