TtmpSessionPowerControl
void __fastcall TtmpSessionPowerControl(__int64 a1, char a2, int a3){
unsigned int v3;
_ETHREAD *CurrentThread;
v3 = *(_DWORD *)a1;
TtmiLogSessionPowerControlStart(a2, (POWER_MONITOR_REQUEST_REASON)a3);
*(_QWORD *)(a1 + 232) = 0i64;
ExReleaseResourceLite(&TtmpSessionLock);
KeLeaveCriticalRegion();
PoSessionPowerControl(a2, (POWER_MONITOR_REQUEST_REASON)a3, v3);
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--*((_WORD *)CurrentThread + 242);
ExAcquireResourceExclusiveLite(&TtmpSessionLock, 1u);
*(_QWORD *)(a1 + 232) = KeGetCurrentThread();
TtmiLogSessionPowerControlStop();
}Referenced by:
TtmpActivateSessionWorker
TtmpDeactivateSessionWorker