PopSetSessionUserStatus

VOID __stdcall PopSetSessionUserStatus(UINT64 SessionId, _USER_ACTIVITY_PRESENCE State){
  unsigned int v3; 

  v3 = SessionId;
  if( (_DWORD)PopConsoleContext == (_DWORD)SessionId && (_DWORD)SessionId != -1 )
    LODWORD(qword_140C203E0) = State;
  PopPrintUserActivityPresence(State);
  PopPrintEx(3ui64, (INT8 *)"PopAdaptive: Session %u user presence/activity state: %S\n");
  PopDiagTraceSessionStates(&POP_ETW_ADPM_SESSION_INPUT_STATE, v3, (unsigned int)State);
  PopSetPowerSettingValue((_LPCGUID)&GUID_SESSION_USER_PRESENCE, (VOID *)v3);
  PopSetPowerSettingValue((_LPCGUID)&GUID_SESSION_USER_PRESENCE, (VOID *)v3);
  if( PopMaximumConnectionSessions )
  {
    if( v3 >= PopMaximumConnectionSessions )
      PopExtendConnectionState(v3);
    if( PopMaximumConnectionSessions )
    {
      if( State )
        _bittestandreset((signed __int32 *)qword_140C20378, v3);
      else
        _bittestandset((signed __int32 *)qword_140C20378, v3);
    }
  }
  PopEvaluateGlobalUserStatus();
}

Referenced by:

PopCheckConsoleTimeouts
PopConsoleSessionPassiveInput
PopInputDisabled
PopRemoteSessionActiveInput
PopSessionDisconnected
PopSessionInputChange