PpmEventQosSupport

CHAR __fastcall PpmEventQosSupport(CHAR a1, INT64 a2, EVENT_DESCRIPTOR *a3){
  const EVENT_DESCRIPTOR *v3; 
  EVENT_DESCRIPTOR *v4; 
  UINT64 v5; 
  BOOL v7; 
  BOOL v8; 
  EVENT_DATA_DESCRIPTOR UserData; 
  BOOL *v10; 
  int v11; 
  int v12; 
  int *v13; 
  int v14; 
  int v15; 
  v3 = &PPM_ETW_QOS_SUPPORT_CHANGED;
  v4 = (EVENT_DESCRIPTOR *)PPM_ETW_QOS_SUPPORT_RUNDOWN;
  if( !a1 )
    v4 = (EVENT_DESCRIPTOR *)&PPM_ETW_QOS_SUPPORT_CHANGED;
  if( PpmEtwRegistered )
  {
    v5 = PpmEtwHandle;
    LOBYTE(v3) = EtwEventEnabled(PpmEtwHandle, v4, a3);
    if( (_BYTE)v3 )
    {
      UserData.Size = 4;
      v11 = 4;
      v7 = PpmPerfSchedulerDirectedPerfStatesSupported != 0;
      v14 = 4;
      UserData.Reserved = 0;
      v12 = 0;
      v15 = 0;
      v8 = PpmPerfQosEnabled != 0;
      UserData.Ptr = (unsigned __int64)&v7;
      v10 = &v8;
      v13 = &PpmPerfQosDisableReasons;
      LOBYTE(v3) = EtwWrite(v5, v4, 0i64, 3ui64, &UserData);
    }
  }
  return(char)v3;
}

Referenced by:

PpmEventTraceControlCallback
PpmPerfUpdateDomainPolicy