PoInitializePrcb
VOID __stdcall PoInitializePrcb(_KPRCB *Prcb){
_PROCESSOR_POWER_STATE *p_PowerState;
p_PowerState = &Prcb->PowerState;
memset(&Prcb->PowerState, 0i64, sizeof(Prcb->PowerState));
p_PowerState->FFHThrottleStateInfo.EnableLogging = 1;
p_PowerState->WmiDispatchPtr = (unsigned __int64)PpmWmiDispatch;
p_PowerState->PerfFeedback.KernelTimesIndex = 2;
p_PowerState->CheckContext.AveragePerformancePercent = 100;
KeInitializeDpc(&p_PowerState->PerfActionDpc, PpmPerfAction, Prcb);
if( !p_PowerState->PerfActionDpc.DpcData )
p_PowerState->PerfActionDpc.Number = Prcb->Number + 1280;
p_PowerState->PerfActionDpc.Importance = 3;
if( PpmHvUseNativeAlgorithms() )
p_PowerState->Hypervisor = ProcHypervisorNone;
else
p_PowerState->Hypervisor = ((HvlpFlags & 2) != 0) + 1;
p_PowerState->CheckContext.NtProcessor = 1;
}Referenced by:
KiInitializeKernel