If I send
IOCTL_INTERNAL_USB_CYCLE_PORT I/O request to the USB device, it works as unplug and replug. but if I safely removed it from the system tray, then send the same request, I get 0xC000000E error code, which is
STATUS_NO_SUCH_DEVICE, and the device won't reappear. Is there a way to simulate a replug of this USB device in a "safely removed but physically connected" state?
The IOCTL_INTERNAL_USB_CYCLE_PORT I/O request simulates a device unplug and replug on the port associated with the PDO.