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