MmVirtualAccessFault
VOID __stdcall MmVirtualAccessFault(
VOID *VirtualAddress,
UINT64 FaultTypeFlags,
UINT64 *PageFrameNumber,
INT64 a4,
CHAR *a5,
INT64 a6,
INT16 a7,
INT64 a8,
INT64 a9,
CHAR a10,
INT64 a11){
char v12;
int v14;
UINT64 v15;
void *v16;
int v17;
__int64 v18[12];
v12 = (char)PageFrameNumber;
memset(v18, 0i64, sizeof(v18));
MiInitializeFaultVaListCore((__int64)v18, (__int64)VirtualAddress, 1i64, 5);
v18[5] = FaultTypeFlags;
v18[6] = 0i64;
v17 = v14 & (v15 >> 1) | (v15 >> 3) & 2;
LODWORD(v18[7]) = v17;
if( (v12 & 8) != 0 )
{
v17 |= 4u;
LODWORD(v18[7]) = v17;
}
if( (v12 & 0x10) != 0 )
{
v17 |= 8u;
LODWORD(v18[7]) = v17;
}
if( (v12 & 0x20) != 0 )
{
v17 |= 0x10u;
LODWORD(v18[7]) = v17;
}
if( (v12 & 0x40) != 0 )
LODWORD(v18[7]) = v17 | 0x20;
MmAccessFault(v15, *(PVOID *)VirtualAddress, v14, v16);
}Referenced by:
PspIumGetPhysicalPage
VmpAccessFaultBatchResolve