PopDiagTraceProcessorThrottlePerfTrack
VOID __stdcall PopDiagTraceProcessorThrottlePerfTrack(UINT64 Throttle, UINT64 ProcessorIndex){
EVENT_DESCRIPTOR *v2;
ULONG v3;
int v4;
ULONG UserDataCounta;
UINT64 UserDataCount;
__int16 v7;
int v8;
size_t pcchRemaining;
EVENT_DATA_DESCRIPTOR UserData;
int *v11;
int v12;
int v13;
__int16 *v14;
int v15;
int v16;
wchar_t *v17;
int v18;
int v19;
wchar_t pszDest[24];
int v21;
v21 = Throttle;
pcchRemaining = 0i64;
v3 = ProcessorIndex;
wcscpy(pszDest, L"Processor 9999999999");
if( PopDiagHandleRegistered
&& EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_THERMAL_PERFTRACK, v2) )
{
UserDataCounta = v3;
RtlStringCchPrintfExW(
pszDest,
0x15ui64,
0i64,
&pcchRemaining,
0i64,
(const WCHAR *)&RelatedActivityId,
UserDataCounta);
if( v4 >= 0 )
{
v8 = 0;
UserData.Reserved = 0;
v13 = 0;
v16 = 0;
v19 = 0;
UserData.Ptr = (unsigned __int64)&v21;
v11 = &v8;
v7 = 21 - pcchRemaining;
v14 = &v7;
v18 = 2 * (unsigned __int16)(21 - pcchRemaining);
LODWORD(UserDataCount) = 4;
UserData.Size = 4;
v12 = 4;
v17 = pszDest;
v15 = 2;
EtwWriteEx(
PopDiagHandle,
(EVENT_DESCRIPTOR *)&POP_ETW_EVENT_THERMAL_PERFTRACK,
0i64,
0i64,
0i64,
0i64,
UserDataCount,
&UserData);
}
}
}Referenced by:
PpmRegisterPerfCap
PpmRegisterPerfStates