EtwpAllocatePmcData
NTSTATUS __stdcall EtwpAllocatePmcData(_WMI_LOGGER_CONTEXT *LoggerContext){
int v2;
UINT64 v3;
VOID **PoolWithTag;
_ETW_PMC_SUPPORT *v5;
VOID **v7;
KeQueryMaximumProcessorCountEx(0xFFFFu);
v3 = (unsigned int)(8 * v2 + 24);
PoolWithTag = ExAllocatePoolWithTag(0x200ui64, v3, 1484223557i64);
v5 = (_ETW_PMC_SUPPORT *)PoolWithTag;
if( !PoolWithTag )
return -1073741801;
memset(PoolWithTag, 0i64, v3);
v7 = ExAllocatePoolWithTag(0x200ui64, 4i64 * (unsigned int)EtwpMaxPmcCounter, 1484223557i64);
v5->Source = (_KPROFILE_SOURCE *)v7;
if( !v7 )
{
ExFreePoolWithTag(v5, 0);
return -1073741801;
}
LoggerContext->PmcData = v5;
return 0;
}Referenced by:
EtwpUpdatePmcCounters
EtwpUpdatePmcEvents