PopAcquireAdaptiveLock

VOID __stdcall PopAcquireAdaptiveLock(UINT8 Win32kActivation){
  INT64 v1; 
  int v2; 
  _ETHREAD *CurrentThread; 
  _LARGE_INTEGER Interval; 
  _WIN32_POWERSTATE_PARAMETERS Parms; 

  v2 = -1;
  memset(&Parms, 0, sizeof(Parms));
  if( !Win32kActivation )
  {
    v2 = PoBlockConsoleSwitch(&Parms);
    Interval.QuadPart = -100000i64;
    while( v2 != (_DWORD)PopConsoleContext )
      KeDelayExecutionThread(0, 0, &Interval);
  }
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --CurrentThread->Tcb.KernelApcDisable;
  ExAcquireResourceExclusiveLite((UINT64)&PopAdpmLock, 1, v1);
  PopAdpmLockThread = (__int64)KeGetCurrentThread();
  if( !Win32kActivation )
  {
    PopLazyContext = 0i64;
    LOBYTE(PopLazyContext) = 1;
    DWORD1(PopLazyContext) = v2;
    qword_140C203B0 = 0i64;
  }
}

Referenced by:

PopActiveLockScreenPowerRequest
PopAdaptivePowerSettingCallback
PopIsLockConsoleTimeoutActive
PopSessionConnectionChange
PopSessionInputChange
PopSessionWinlogonNotification
PopSetDisplayStatus
PopUserPresentOverride