PopSetExecutionRequiredTimer
UINT8 __stdcall PopSetExecutionRequiredTimer(){
unsigned __int64 v0;
_LARGE_INTEGER v1;
UINT8 result;
if( BYTE3(PopExecutionRequiredContext) && *(_DWORD *)PopExecutionRequiredTimeout )
{
v0 = 10000000i64 * *(unsigned int *)PopExecutionRequiredTimeout;
if( *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart - *((_QWORD *)&PopExecutionRequiredContext + 1) < v0 )
v1.QuadPart = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart
- *((_QWORD *)&PopExecutionRequiredContext + 1)
- v0;
else
v1.QuadPart = -10000000i64;
KiSetTimerEx((_KTIMER *)&PopExecutionRequiredTimer, v1, 0i64, 0, &PopExecutionRequiredTimeoutDpc);
}
return result;
}Referenced by:
PopExecutionRequiredSettingCallback
PopUpdatePdcSystemIdleState