VerifierExAllocatePoolWithTagPriority

VOID *__fastcall VerifierExAllocatePoolWithTagPriority(
        _POOL_TYPE PoolType,
        UINT64 NumberOfBytes,
        UINT64 Tag,
        _EX_POOL_PRIORITY Priority){
  unsigned int v6; 
  __int32 v9; 
  VOID *CallingAddress; 
  v6 = Tag;
  if( (MmVerifierData & 0x400000) == 0 || (VfRuleClasses & 0x800000000i64) != 0 || (MmVerifierData & 1) != 0 )
  {
    VfCheckPoolType(PoolType, CallingAddress, Tag);
    v9 = PoolType | 0x80;
    if( XdvEnabled )
      return(VOID *)pXdvExAllocatePoolWithTagPriority(
                       v9,
                       NumberOfBytes,
                       v6,
                       Priority,
                       (__int64)CallingAddress,
                       (__int64)VeAllocatePoolWithTagPriority);
    else
      return VeAllocatePoolWithTagPriority((_POOL_TYPE)v9, NumberOfBytes, v6, Priority, CallingAddress);
  }
  else
  {
    if( (MmVerifierData & 0x2000000) != 0 )
      VfCheckPoolType(PoolType, CallingAddress, 0i64);
    return ExAllocatePoolWithTagPriority(PoolType, NumberOfBytes, v6, Priority);
  }
}

Referenced by:

No references.