PpmIdleSelectCoordinatedProcessorDependency

UINT64 __stdcall PpmIdleSelectCoordinatedProcessorDependency(
        _KPRCB *Prcb,
        UINT64 PreselectState,
        UINT64 RemainingLatency,
        UINT64 ExpectedIdle,
        _PPM_SELECTION_MENU *Menu,
        UINT64 *ProcessorState){
  __int64 v6; 
  unsigned int v8; 
  unsigned int v9; 
  UINT64 v11; 
  _PPM_SELECTION_MENU_ENTRY *Entries; 
  UINT64 StateIndex; 

  v6 = 0i64;
  v8 = RemainingLatency;
  v9 = PreselectState;
  v11 = 2147483649i64;
  if( Menu->Count )
  {
    while( 1 )
    {
      Entries = Menu->Entries;
      if( Entries[v6].InitiatingState )
      {
        LODWORD(StateIndex) = Entries[v6].StateIndex;
        v11 = PpmIdleCheckProcessorStateEligibility(Prcb, v9, v8, ExpectedIdle, StateIndex, PpmIdleCoordinatedMode == 0);
        if( !v11 )
          break;
      }
      v6 = (unsigned int)(v6 + 1);
      if( (unsigned int)v6 >= Menu->Count )
        return v11;
    }
    *(_DWORD *)ProcessorState = Entries[v6].StateIndex;
  }
  return v11;
}

Referenced by:

PpmIdleCheckCoordinatedDependencies