PopDiagTracePowerSetting

VOID __stdcall PopDiagTracePowerSetting(UINT8 Rundown, _GUID *SettingGuid, UINT64 ValueLength, VOID *Value){
  const _EVENT_DESCRIPTOR *v4; 
  int v6; 
  REGHANDLE v8; 
  int v9; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  int *v11; 
  int v12; 
  int v13; 
  VOID *v14; 
  int v15; 
  int v16; 
  int *v17; 
  int v18; 
  int v19; 
  int v20; 

  v20 = ValueLength;
  v4 = (const _EVENT_DESCRIPTOR *)POP_ETW_EVENT_POWER_SETTING_RUNDOWN;
  if( !Rundown )
    v4 = &POP_ETW_EVENT_POWER_SETTING_CHANGE;
  v6 = ValueLength;
  if( PopDiagHandleRegistered )
  {
    v8 = PopDiagHandle;
    if( EtwEventEnabled(PopDiagHandle, v4) )
    {
      v9 = 0;
      UserData.Reserved = 0;
      v13 = 0;
      v16 = 0;
      v19 = 0;
      v11 = &v20;
      v17 = &v9;
      UserData.Ptr = (unsigned __int64)SettingGuid;
      UserData.Size = 16;
      v12 = 4;
      v14 = Value;
      v15 = v6;
      v18 = 4;
      EtwWrite(v8, v4, 0, 4u, &UserData);
    }
  }
}

Referenced by:

PopDiagTraceControlCallback
PopTracePowerSettingChange