MmFreeSystemCacheReserveView
NTSTATUS __stdcall MmFreeSystemCacheReserveView(ULONG_PTR BugCheckParameter3){
void *v1;
_MMPTE *PteAddress;
_MMPTE *v3;
_QWORD *v4;
void *v5;
__int16 v6;
NTSTATUS result;
v1 = *(void **)&BugCheckParameter3;
PteAddress = MiGetPteAddress(*(VOID **)&BugCheckParameter3);
v3 = PteAddress + 64;
LODWORD(v4) = MiGetSystemCacheReverseMap((UINT64)v1);
v5 = v4;
if( v4[2] )
KeBugCheckEx(0x1Au, (PVOID)0x784, v4, v1, 0i64);
do
{
v6 = MI_READ_PTE_LOCK_FREE((INT64)PteAddress);
if( (v6 & 1) != 0 || (v6 & 0x400) != 0 )
KeBugCheckEx(0x1Au, (PVOID)0x785, v5, v1, 0i64);
++PteAddress;
}
while( PteAddress < v3 );
MiReleaseSystemCacheView(PteAddress - 64);
return result;
}Referenced by:
CcUninitializePartitionVacbs