PnpSetDeviceInstanceStartedEventFromDeviceInstance

__int64 __fastcall PnpSetDeviceInstanceStartedEventFromDeviceInstance(unsigned __int16 *a1){
  int v2; 
  VOID **DeviceEventEntry; 
  __int64 v4; 
  const VOID *v5; 

  if( *(&PnpReplaceEvent + 1665) )
    return 3221225865i64;
  v2 = *a1 + 82;
  DeviceEventEntry = PnpCreateDeviceEventEntry((unsigned int)*a1 + 194);
  v4 = (__int64)DeviceEventEntry;
  if( !DeviceEventEntry )
    return 3221225626i64;
  DeviceEventEntry[3] = 0i64;
  *((_DWORD *)DeviceEventEntry + 4) = 0;
  DeviceEventEntry[6] = 0i64;
  DeviceEventEntry[7] = 0i64;
  *((_DWORD *)DeviceEventEntry + 32) = 11;
  DeviceEventEntry[17] = 0i64;
  *((GUID *)DeviceEventEntry + 7) = GUID_DEVICE_ARRIVAL;
  *((_DWORD *)DeviceEventEntry + 36) = 0;
  *((_DWORD *)DeviceEventEntry + 37) = v2;
  DeviceEventEntry[19] = 0i64;
  v5 = (const VOID *)*((_QWORD *)a1 + 1);
  if( v5 )
    memmove(DeviceEventEntry + 20, v5, *a1);
  *(_WORD *)(v4 + 2 * ((unsigned __int64)*a1 >> 1) + 160) = 0;
  return PnpInsertEventInQueue(v4);
}

Referenced by:

PnpSetDeviceInstanceStartedEvent