PiUEventShouldQueueEvent

UINT8 __stdcall PiUEventShouldQueueEvent(_PNP_DEVICE_EVENT_ENTRY *DeviceEvent){
  UINT8 v1; 
  int v3; 
  bool v4; 
  v1 = 1;
  if( !PiUEventBroadcastSubscriberPresent )
  {
    v3 = *((_DWORD *)DeviceEvent + 32);
    if( v3 != 1 )
    {
      if( v3 == 4 )
        goto LABEL_11;
      if( v3 == 2 )
      {
        v4 = PiUEventDevInterfaceClientCount == 0;
        return !v4;
      }
      if( v3 != 3 )
      {
        if( v3 == 9 )
        {
          v4 = PiUEventDevInstancePropertyClientCount == 0;
          return !v4;
        }
        if( v3 <= 9 || v3 > 11 )
          return v1;
LABEL_11:
        v4 = PiUEventDevInstanceClientCount == 0;
        return !v4;
      }
    }
    v4 = PiUEventDevHandleClientCount == 0;
    return !v4;
  }
  return v1;
}

Referenced by:

PiUEventNotifyUserMode