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; 
  VOID *retaddr; 

  ViMmValidateIrql(0);
  if( VfFaultsInjectResourceFailure(0i64) )
    return 0i64;
  if( (MmVerifierData & 0x4000000) != 0 && HighAddress.QuadPart < 0x100000000ui64 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0x141u, HighAddress.anonymous_0.LowPart, TotalBytes, 0, 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.