PopSetSessionUserStatus
VOID __stdcall PopSetSessionUserStatus(UINT64 SessionId, _USER_ACTIVITY_PRESENCE State){
unsigned int v3;
_USER_ACTIVITY_PRESENCE Src;
v3 = SessionId;
if( (_DWORD)PopConsoleContext == (_DWORD)SessionId && (_DWORD)SessionId != -1 )
LODWORD(qword_140C203E0) = State;
Src = State;
PopPrintUserActivityPresence(State);
PopPrintEx(3ui64, (INT8 *)"PopAdaptive: Session %u user presence/activity state: %S\n");
PopDiagTraceSessionStates((_EVENT_DESCRIPTOR *)&POP_ETW_ADPM_SESSION_INPUT_STATE, v3, (unsigned int)State);
PopSetPowerSettingValue(&GUID_SESSION_USER_PRESENCE, v3, 0, 4u, &Src);
PopSetPowerSettingValue(&GUID_SESSION_USER_PRESENCE, v3, 1, 4u, &Src);
if( PopMaximumConnectionSessions )
{
if( v3 >= PopMaximumConnectionSessions )
PopExtendConnectionState(v3);
if( PopMaximumConnectionSessions )
{
if( State )
_bittestandreset((signed __int32 *)PopConnectionBitmap.Buffer, v3);
else
_bittestandset((signed __int32 *)PopConnectionBitmap.Buffer, v3);
}
}
PopEvaluateGlobalUserStatus();
}Referenced by:
PopCheckConsoleTimeouts
PopConsoleSessionPassiveInput
PopInputDisabled
PopRemoteSessionActiveInput
PopSessionDisconnected
PopSessionInputChange