TtmNotifySessionPowerStateChange
VOID __stdcall TtmNotifySessionPowerStateChange(UINT64 SessionId, UINT8 On){
int v3;
_TTMI_SESSION *v4;
_TTMI_SESSION v5;
unsigned int v6;
_TTMI_SESSION *Session;
Session = 0i64;
v3 = (unsigned int)TtmpAcquireSessionById(&Session, (unsigned int)SessionId);
if( v3 < 0 )
{
TtmiLogError((INT8 *)"TtmNotifySessionPowerStateChange", 0xC8Fui64, (unsigned int)v3, 0xFFFFFFFFi64);
return;
}
TtmiLogSessionPowerStateChange(On);
v4 = Session;
v5 = Session[1];
if( On )
{
if( (v5 & 0x80u) != 0 )
{
v6 = v5 & 0xFFFFFB7F;
goto LABEL_8;
}
}
else if( (v5 & 0x40) != 0 )
{
v6 = v5 & 0xFFFFFBBF | 0x400;
LABEL_8:
Session[1] = v6;
TtmiScheduleSessionWorker((__int64)v4, 4);
}
ExReleaseResourceLite(&TtmpSessionLock);
KeLeaveCriticalRegion();
}Referenced by:
PopPowerInformationInternal