VerifierMmAllocateNodePagesForMdlEx

_MDL *__stdcall VerifierMmAllocateNodePagesForMdlEx(
        _LARGE_INTEGER LowAddress,
        _LARGE_INTEGER HighAddress,
        _LARGE_INTEGER SkipBytes,
        UINT64 TotalBytes,
        _MEMORY_CACHING_TYPE CacheType,
        UINT64 IdealNode,
        UINT64 Flags){
  MDL *v12; 
  _MDL *v13; 
  UINT64 Size; 
  UINT64 v15; 
  PVOID retaddr; 
  ViMmValidateIrql(0);
  if( (unsigned int)VfFaultsInjectResourceFailure(0i64) )
    return 0i64;
  if( (MmVerifierData & 0x4000000) != 0 && HighAddress.QuadPart < 0x100000000ui64 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0x141ui64, HighAddress.QuadPart, TotalBytes, 0i64, v15);
  v12 = (MDL *)((__int64(__fastcall *)(_QWORD, _QWORD, _QWORD, _QWORD, _DWORD, _DWORD, _DWORD))pXdvMmAllocateNodePagesForMdlEx)(
                 (_LARGE_INTEGER)LowAddress.QuadPart,
                 (_LARGE_INTEGER)HighAddress.QuadPart,
                 (_LARGE_INTEGER)SkipBytes.QuadPart,
                 TotalBytes,
                 CacheType,
                 IdealNode,
                 Flags);
  v13 = v12;
  if( v12 )
  {
    Size = v12->Size;
    VfFillAllocatePagesForMdl(v12, CacheType, (unsigned int)Flags);
    if( (MmVerifierData & 0x1000) != 0 )
      ViTargetAddToCounter(retaddr, 0xE0ui64, 0xE8ui64, v13->ByteCount);
  }
  else
  {
    Size = 48i64;
  }
  VfAllocPoolNotification(v13, Size);
  return v13;
}

Referenced by:

No references.