PopPdcRegister
NTSTATUS __stdcall PopPdcRegister(POWER_PDC_INPUT *PdcInput, POWER_PDC_OUTPUT *PdcOutput){
NTSTATUS v2;
v2 = 0;
if( !PdcOutput )
return -1073741811;
PopAcquirePolicyLock();
PopModernStandbyTransitionInfo = 0i64;
*(_OWORD *)&PoPdcCallbacks = *(_OWORD *)(PdcInput + 2);
*((_OWORD *)&PoPdcCallbacks + 1) = *(_OWORD *)(PdcInput + 6);
*((_OWORD *)&PoPdcCallbacks + 2) = *(_OWORD *)(PdcInput + 10);
*((_OWORD *)&PoPdcCallbacks + 3) = *(_OWORD *)(PdcInput + 14);
*((_OWORD *)&PoPdcCallbacks + 4) = *(_OWORD *)(PdcInput + 18);
*((_OWORD *)&PoPdcCallbacks + 5) = *(_OWORD *)(PdcInput + 22);
*((_OWORD *)&PoPdcCallbacks + 6) = *(_OWORD *)(PdcInput + 26);
*((_OWORD *)&PoPdcCallbacks + 7) = *(_OWORD *)(PdcInput + 30);
*((_OWORD *)&PoPdcCallbacks + 8) = *(_OWORD *)(PdcInput + 34);
*((_OWORD *)&PoPdcCallbacks + 9) = *(_OWORD *)(PdcInput + 38);
*((_OWORD *)&PoPdcCallbacks + 10) = *(_OWORD *)(PdcInput + 42);
*(_QWORD *)PdcOutput = PdcPoResiliencyClient;
*((_QWORD *)PdcOutput + 1) = PdcPoLowPower;
*((_QWORD *)PdcOutput + 2) = PdcPoSetPowerAction;
*((_QWORD *)PdcOutput + 3) = PdcPoReportButton;
*((_QWORD *)PdcOutput + 4) = PdcPoReportLidState;
*((_QWORD *)PdcOutput + 5) = PdcPoRecordButton;
*((_QWORD *)PdcOutput + 6) = PdcPoVerifyActionPolicy;
*((_QWORD *)PdcOutput + 7) = PdcPoVerifyPowerState;
*((_QWORD *)PdcOutput + 8) = PopBlockSessionSwitch;
*((_QWORD *)PdcOutput + 9) = PopControlMonitor;
*((_QWORD *)PdcOutput + 10) = PopNotifyCsStateExited;
*((_QWORD *)PdcOutput + 11) = PdcPoCurrentPdcPhase;
*((_QWORD *)PdcOutput + 12) = PdcPoIdleScanEnabled;
*((_QWORD *)PdcOutput + 13) = PdcPoPpmRegisterProfiles;
*((_QWORD *)PdcOutput + 14) = PdcPoPpmApplyProfile;
*((_QWORD *)PdcOutput + 15) = PdcPoPpmResetProfile;
*((_QWORD *)PdcOutput + 16) = PdcPoNetworkResiliency;
*((_QWORD *)PdcOutput + 17) = PpmQueryDripsResidency;
*((_QWORD *)PdcOutput + 18) = PdcPoSleepStudyHelperSetPhaseActive;
*((_QWORD *)PdcOutput + 19) = PdcPoPowerRequestBlockingCallback;
PopReleasePolicyLock();
return v2;
}Referenced by:
PopPdcInvocation