MiDereferenceCombineBlock
VOID __stdcall MiDereferenceCombineBlock(_LIST_ENTRY *CombinePageFreeList, _MI_COMBINE_BLOCK *CombineBlock){
_LIST_ENTRY *Flink;
if( CombineBlock )
{
if( *((_QWORD *)CombineBlock + 3) )
{
MiDecrementCombinedPte(0i64);
}
else
{
Flink = CombinePageFreeList->Flink;
if( CombinePageFreeList->Flink->Blink != CombinePageFreeList )
__fastfail(3u);
*(_QWORD *)CombineBlock = Flink;
*((_QWORD *)CombineBlock + 1) = CombinePageFreeList;
Flink->Blink = (_LIST_ENTRY *)CombineBlock;
CombinePageFreeList->Flink = (_LIST_ENTRY *)CombineBlock;
}
}
}Referenced by:
MiSharePages