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