summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian von Ohr <vonohr@smaract.com>2020-04-28 16:28:27 +0200
committerChris Dickens <christopher.a.dickens@gmail.com>2020-04-30 11:50:49 -0700
commit26611eaa494ed9e077b5b0e1f999f5ae377de958 (patch)
treecdd67e816529f5212b5260286d4f7338756bd339
parente2be556bd262cd260bebe3fc724509692537eba3 (diff)
downloadlibusb-26611eaa494ed9e077b5b0e1f999f5ae377de958.tar.gz
Windows: Translate ERROR_NO_SUCH_DEVICE to LIBUSB_TRANSFER_NO_DEVICE
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>
-rw-r--r--libusb/os/windows_common.c1
-rw-r--r--libusb/os/windows_common.h5
-rw-r--r--libusb/version_nano.h2
3 files changed, 7 insertions, 1 deletions
diff --git a/libusb/os/windows_common.c b/libusb/os/windows_common.c
index d8f1e38..ccf20b2 100644
--- a/libusb/os/windows_common.c
+++ b/libusb/os/windows_common.c
@@ -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;
diff --git a/libusb/os/windows_common.h b/libusb/os/windows_common.h
index 59891d4..00cdda3 100644
--- a/libusb/os/windows_common.h
+++ b/libusb/os/windows_common.h
@@ -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,
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index bc9d93f..38dbc26 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 11515
+#define LIBUSB_NANO 11516