VerifierMmAllocateContiguousNodeMemory
VOID *__stdcall VerifierMmAllocateContiguousNodeMemory(
UINT64 NumberOfBytes,
_LARGE_INTEGER LowestAcceptableAddress,
_LARGE_INTEGER HighestAcceptableAddress,
_LARGE_INTEGER BoundaryAddressMultiple,
UINT64 Protect,
UINT64 PreferredNode){
VOID *v11;
UINT64 v12;
VOID *retaddr;
VfCheckPageProtection((unsigned int)Protect, retaddr);
if( VfFaultsInjectResourceFailure(0i64) )
return 0i64;
if( (MmVerifierData & 0x4000000) != 0 && HighestAcceptableAddress.QuadPart < 0x100000000ui64 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x141u, HighestAcceptableAddress.anonymous_0.LowPart, NumberOfBytes, 0, v12);
v11 = (VOID *)((__int64(__fastcall *)(_QWORD, _QWORD, _QWORD, _QWORD, _DWORD, _DWORD))pXdvMmAllocateContiguousNodeMemory)(
NumberOfBytes,
(_LARGE_INTEGER)LowestAcceptableAddress.QuadPart,
(_LARGE_INTEGER)HighestAcceptableAddress.QuadPart,
(_LARGE_INTEGER)BoundaryAddressMultiple.QuadPart,
Protect,
PreferredNode);
VfAllocPoolNotification(v11, NumberOfBytes);
if( v11 )
{
VfFillAllocatedMemory(v11, NumberOfBytes);
if( (MmVerifierData & 8) != 0 )
ViTargetTrackContiguousMemory(retaddr, v11, NumberOfBytes);
}
return v11;
}Referenced by:
No references.