VerifierMmAllocatePagesForMdlEx

_MDL *__stdcall VerifierMmAllocatePagesForMdlEx(
        _LARGE_INTEGER LowAddress,
        _LARGE_INTEGER HighAddress,
        _LARGE_INTEGER SkipBytes,
        UINT64 TotalBytes,
        _MEMORY_CACHING_TYPE CacheType,
        UINT64 Flags){
  _MDL *v11; 
  _MDL *v12; 
  UINT64 Size; 
  UINT64 v14; 
  VOID *retaddr; 

  ViMmValidateIrql((MmVerifierData & 0x20000) != 0);
  if( VfFaultsInjectResourceFailure(0i64) )
    return 0i64;
  if( (MmVerifierData & 0x4000000) != 0 && HighAddress.QuadPart < 0x100000000ui64 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0x141u, HighAddress.anonymous_0.LowPart, TotalBytes, 0, v14);
  v11 = (_MDL *)((__int64(__fastcall *)(_QWORD, _QWORD, _QWORD, _QWORD, _DWORD, _DWORD))pXdvMmAllocatePagesForMdlEx)(
                  (_LARGE_INTEGER)LowAddress.QuadPart,
                  (_LARGE_INTEGER)HighAddress.QuadPart,
                  (_LARGE_INTEGER)SkipBytes.QuadPart,
                  TotalBytes,
                  CacheType,
                  Flags);
  v12 = v11;
  if( v11 )
  {
    Size = v11->Size;
    VfFillAllocatePagesForMdl(v11, CacheType, (unsigned int)Flags);
    if( (MmVerifierData & 0x1000) != 0 )
      ViTargetAddToCounter(retaddr, 0xE0ui64, 0xE8ui64, v12->ByteCount);
  }
  else
  {
    Size = 48i64;
  }
  VfAllocPoolNotification(v12, Size);
  return v12;
}

Referenced by:

No references.