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( (unsigned int)VfFaultsInjectResourceFailure(0i64) )
    return 0i64;
  if( (MmVerifierData & 0x4000000) != 0 && HighestAcceptableAddress.QuadPart < 0x100000000ui64 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0x141ui64, HighestAcceptableAddress.QuadPart, NumberOfBytes, 0i64, 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.