VerifierMmAllocateContiguousMemory
VOID *__stdcall VerifierMmAllocateContiguousMemory(UINT64 NumberOfBytes, _LARGE_INTEGER HighestAcceptableAddress){
int v5;
VOID *v6;
UINT64 v7;
VOID *retaddr;
if( VfFaultsInjectResourceFailure(0i64) )
return 0i64;
v5 = (MmVerifierData & 0x2000000) != 0 ? 4 : 64;
if( (MmVerifierData & 0x4000000) != 0 && HighestAcceptableAddress.QuadPart < 0x100000000ui64 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x141u, HighestAcceptableAddress.anonymous_0.LowPart, NumberOfBytes, 0, v7);
v6 = (VOID *)((__int64(__fastcall *)(_QWORD, _QWORD, _QWORD, _QWORD, _DWORD, _DWORD))pXdvMmAllocateContiguousNodeMemory)(
NumberOfBytes,
0i64,
(_LARGE_INTEGER)HighestAcceptableAddress.QuadPart,
0i64,
v5,
0x80000000);
VfAllocPoolNotification(v6, NumberOfBytes);
if( v6 )
{
VfFillAllocatedMemory(v6, NumberOfBytes);
if( (MmVerifierData & 8) != 0 )
ViTargetTrackContiguousMemory(retaddr, v6, NumberOfBytes);
}
return v6;
}Referenced by:
No references.