KiForceIdleStopDpcRoutine

VOID __stdcall KiForceIdleStopDpcRoutine(
        _KDPC *Dpc,
        VOID *DeferredContext,
        VOID *SystemArgument1,
        VOID *SystemArgument2){
  INT64 v4; 
  NPTEXTMETRIC *v5; 
  __int64 SpinCount[3]; 

  KiForceIdleUpdateSchedulerParkState(0);
  _disable();
  LODWORD(SpinCount[0]) = 0;
  while( _interlockedbittestandset64((_DWORD *)&KiSwapEvent + 42, 0i64) )
  {
    do
      KeYieldProcessorEx((UINT64 *)SpinCount);
    while( *(&KiSwapEvent + 21) );
  }
  KiForceIdleWatchdogResetCount = 0;
  KiForceIdleActiveLastStartTime = 0i64;
  KiSetForceIdleState(*(&KiSwapEvent + 20) != 0i64 ? 2 : 0, v4, v5);
  _InterlockedAnd64((_QWORD *)&KiSwapEvent + 21, 0i64);
  _enable();
}

Referenced by:

No references.