Perform a USB port reset to reinitialize a device.

C# | Visual Basic | Visual C++ |
public static int ResetDevice( MonoUsbDeviceHandle deviceHandle )
Public Shared Function ResetDevice ( _ deviceHandle As MonoUsbDeviceHandle _ ) As Integer
public: static int ResetDevice( [InAttribute] MonoUsbDeviceHandle^ deviceHandle )

- deviceHandle (MonoUsbDeviceHandle)
- A device handle.

- 0 on success
- ErrorNotFound if re-enumeration is required, or if the device has been disconnected
- another MonoUsbError code on other failure

The system will attempt to restore the previous configuration and alternate settings after the reset has completed.
If the reset fails, the descriptors change, or the previous state cannot be restored, the device will appear to be disconnected and reconnected. This means that the device handle is no longer valid (you should close it) and rediscover the device. A return code of ErrorNotFound indicates when this is the case.
This is a blocking function which usually incurs a noticeable delay.
