NTSTATUS
PopSetThrottle(
IN PPROCESSOR_POWER_STATE PState,
IN PPROCESSOR_PERF_STATE PerfStates,
IN ULONG Index,
IN ULONG SystemTime,
IN ULONG IdleTime
);
Routine Description:
This routine is called when we want to set the throttle on the processor
associated with the PState element. Since each processor gets a unique
PState, this is guaranteed to only apply the throttle to a single
processor.
N.B. Since this routine is also responsible for updating the bookkeeping,
then if a failure occurs when trying to set the throttle, there is no
need to return a failure code --- the system state will have not been
updated and the caller will (eventually) retry
N.B. This routine can only be called at DISPATCH_LEVEL while running
on the target processor
Arguments:
PState - Power State information about the target processor
PerfStates - Array of Perf States that apply to that processor
Index - Which perf state to transition to
SystemTime - Elapsed System Time (for bookkeeping)
IdleTime - Elapsed Idle Time (for bookkeeping)