PopDirectedDripsNotifyPnpActionQueueEvent

NTSTATUS __stdcall PopDirectedDripsNotifyPnpActionQueueEvent(INT64 a1, UINT64 a2){
  unsigned int v2; 
  unsigned int v3; 
  unsigned __int64 v4; 

  v2 = a1;
  v3 = a2;
  v4 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc((UINT64 *)&stru_140C23628 + 700);
  if( v2 )
  {
    if( v2 == 1 && !--*(&stru_140C23628 + 1402) )
      PopDirectedDripsClearDisengageReason(4);
  }
  else if( ++*(&stru_140C23628 + 1402) == 1 )
  {
    PopDirectedDripsSetDisengageReason(4);
  }
  KxReleaseSpinLock((UINT64 *)&stru_140C23628 + 700);
  __writecr8(v4);
  return PopDirectedDripsDiagNotifyPnpActionQueueEvent(v2, v3);
}

Referenced by:

PoNotifyPnpActionQueueEvent