Windows: Translate ERROR_NO_SUCH_DEVICE to LIBUSB_TRANSFER_NO_DEVICE
authorSebastian von Ohr <vonohr@smaract.com>
Tue, 28 Apr 2020 14:28:27 +0000 (16:28 +0200)
committerChris Dickens <christopher.a.dickens@gmail.com>
Thu, 30 Apr 2020 18:50:49 +0000 (11:50 -0700)
Windows SDK 10.0.18362.0 adds a new error code ERROR_NO_SUCH_DEVICE
which is returned when the device is disconnected.

Closes #721, Closes #722

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb/os/windows_common.c
libusb/os/windows_common.h
libusb/version_nano.h

index d8f1e38..ccf20b2 100644 (file)
@@ -430,6 +430,7 @@ static void windows_transfer_callback(const struct windows_backend *backend,
                break;
        case ERROR_FILE_NOT_FOUND:
        case ERROR_DEVICE_NOT_CONNECTED:
+       case ERROR_NO_SUCH_DEVICE:
                usbi_dbg("detected device removed");
                status = LIBUSB_TRANSFER_NO_DEVICE;
                break;
index 59891d4..00cdda3 100644 (file)
@@ -135,6 +135,11 @@ typedef LONG USBD_STATUS;
 #define USBD_STATUS_CANCELED           ((USBD_STATUS)0xC0010000L)
 #endif
 
+// error code added with Windows SDK 10.0.18362
+#ifndef ERROR_NO_SUCH_DEVICE
+#define ERROR_NO_SUCH_DEVICE   433L
+#endif
+
 /* Windows versions */
 enum windows_version {
        WINDOWS_UNDEFINED,
index bc9d93f..38dbc26 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 11515
+#define LIBUSB_NANO 11516