PpmAcquireLock

_ETHREAD *__fastcall PpmAcquireLock(_QWORD *a1){
  _ETHREAD *CurrentThread; 
  _ETHREAD *result; 
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --*((_WORD *)CurrentThread + 243);
  KeWaitForSingleObject(a1 + 1, Executive, 0, 0, 0i64);
  result = (_ETHREAD *)KeGetCurrentThread();
  *a1 = result;
  return result;
}

Referenced by:

PdcPoPpmResetProfile
PoInitSystem
PoNotifyVSyncChange
PopCheckResiliencyScenarios
PopDeepSleepEvaluateCallback
PopEnforceResiliencyScenarios
PopIntSteerSetMode
PopPerfBoostPowerRequest
PopPowerInformationInternal
PopPpmHeteroPolicyCallback
PopSetupHighPerfPowerRequest
PopWnfFullscreenVideoCallback
PpmApplyProfile
PpmCheckInitProcessors
PpmCheckPausePpmEngineForSx
PpmCheckResumePpmEngineFromSx
PpmClearExitLatencySamplingPercentage
PpmClearSimulatedLoad
PpmDisableProfile
PpmEnableProfile
PpmEventTraceControlCallback
PpmHeteroHgsBackupInit
PpmHeteroHgsUpdateWorker
PpmInitPolicyConfiguration
PpmMediaBufferingWorker
PpmParkSetLpiCap
PpmPerfClearBootOverrides
PpmPerfGetBrandedFrequency
PpmPerfLatencySensitivityHintWorker
PpmPerfProcCapFloorSettingCallback
PpmPerfReApplyStates
PpmPerfTelemetryWorker
PpmProfileAcDcUpdate
PpmReapplyPerfPolicy
PpmRegisterPerfCap
PpmRegisterPerfStates
PpmRegisterProfiles
PpmRegisterSpmSettings
PpmSetExitLatencySamplingPercentage
PpmSetProfilePolicySetting
PpmSetSimulatedLoad
PpmUpdatePerfStates