VerifierExAllocatePool
VOID *__fastcall VerifierExAllocatePool(_POOL_TYPE PoolType, UINT64 NumberOfBytes){
VOID *result;
__int32 v5;
VOID *CallingAddress;
if( (MmVerifierData & 0x400000) == 0 || (VfRuleClasses & 0x800000000i64) != 0 || (MmVerifierData & 1) != 0 )
{
VfCheckPoolType(PoolType, CallingAddress, 0i64);
++dword_140C2A63C;
if( (MmVerifierData & 0x1000) != 0 )
ViTargetIncrementCounter(CallingAddress, 0xA4ui64);
v5 = PoolType | 0x80;
if( XdvEnabled )
return(VOID *)pXdvExAllocatePool[0](
v5,
NumberOfBytes,
1885434455,
32,
(__int64)CallingAddress,
(__int64)VeAllocatePoolWithTagPriority);
else
return VeAllocatePoolWithTagPriority(
(_POOL_TYPE)v5,
NumberOfBytes,
0x70617257ui64,
HighPoolPriority,
CallingAddress);
}
else
{
if( (MmVerifierData & 0x2000000) != 0 )
VfCheckPoolType(PoolType, CallingAddress, 0i64);
LODWORD(result) = ExAllocatePool(PoolType, NumberOfBytes);
}
return result;
}Referenced by:
No references.