IopCreateRootEnumeratedDeviceObject

__int64 __fastcall IopCreateRootEnumeratedDeviceObject(_QWORD *a1){
  NTSTATUS v2; 
  _DEVICE_OBJECT *v3; 
  _DEVICE_OBJECT *v4; 
  UINT64 DeviceCharacteristics; 
  _DEVICE_OBJECT *v7; 

  v7 = 0i64;
  LODWORD(DeviceCharacteristics) = 128;
  v2 = IoCreateDevice(*(&PnpReplaceEvent + 823), 4ui64, 0i64, 4ui64, DeviceCharacteristics, 0, &v7);
  if( v2 < 0 )
  {
    v4 = v7;
  }
  else
  {
    v3 = v7;
    *a1 = v7;
    *(_DWORD *)v3->DeviceExtension = 0;
    v4 = 0i64;
  }
  if( v4 )
    IoDeleteDevice(v4);
  return(unsigned int)v2;
}

Referenced by:

IoReportDetectedDevice
IopInitializeDeviceInstanceKey
IopLegacyResourceAllocation
PiInitializeDevice