Status of USB driver support?

Alexander Morozov amorozov at etersoft.ru
Fri Feb 20 03:28:38 CST 2009


On Thursday 19 February 2009 16:55:20 emiliano esposito wrote:
> Unhandled exception: unimplemented function
> usbd.sys.USBD_GetUSBDIVersion called in 32-bit code (0x7ee2e923)

You can try attached patch
-------------- next part --------------
From b7fad82130608126244ba2aee3f91b3337229fb3 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov at etersoft.ru>
Date: Fri, 20 Feb 2009 12:14:33 +0300
Subject: [PATCH 3/3] usbd.sys: Implement USBD_GetUSBDIVersion.

---
 dlls/usbd.sys/usbd.c        |    7 +++++++
 dlls/usbd.sys/usbd.sys.spec |    2 +-
 include/ddk/usb.h           |    6 ++++++
 3 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/dlls/usbd.sys/usbd.c b/dlls/usbd.sys/usbd.c
index 8c2a8f9..c7c8fab 100644
--- a/dlls/usbd.sys/usbd.c
+++ b/dlls/usbd.sys/usbd.c
@@ -132,6 +132,13 @@ PURB WINAPI USBD_CreateConfigurationRequest(
     return urb;
 }
 
+void WINAPI USBD_GetUSBDIVersion( PUSBD_VERSION_INFORMATION VersionInformation )
+{
+    TRACE( "%p\n", VersionInformation );
+    VersionInformation->USBDI_Version = 0x300;
+    VersionInformation->Supported_USB_Version = 0x100;
+}
+
 NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path )
 {
     return STATUS_SUCCESS;
diff --git a/dlls/usbd.sys/usbd.sys.spec b/dlls/usbd.sys/usbd.sys.spec
index 5d0377c..a18bbf8 100644
--- a/dlls/usbd.sys/usbd.sys.spec
+++ b/dlls/usbd.sys/usbd.sys.spec
@@ -19,7 +19,7 @@
 @ stub USBD_GetInterfaceLength
 @ stub USBD_GetPdoRegistryParameter
 @ stub USBD_GetSuspendPowerState
-@ stub USBD_GetUSBDIVersion
+@ stdcall USBD_GetUSBDIVersion(ptr)
 @ stub USBD_InitializeDevice
 @ stub USBD_MakePdoName
 @ stub USBD_ParseConfigurationDescriptor
diff --git a/include/ddk/usb.h b/include/ddk/usb.h
index b8f5f3f..a5db726 100644
--- a/include/ddk/usb.h
+++ b/include/ddk/usb.h
@@ -82,6 +82,12 @@ typedef PVOID USBD_PIPE_HANDLE;
 typedef PVOID USBD_CONFIGURATION_HANDLE;
 typedef PVOID USBD_INTERFACE_HANDLE;
 
+typedef struct _USBD_VERSION_INFORMATION {
+    ULONG USBDI_Version;
+    ULONG Supported_USB_Version;
+} USBD_VERSION_INFORMATION;
+typedef struct _USBD_VERSION_INFORMATION *PUSBD_VERSION_INFORMATION;
+
 typedef enum _USBD_PIPE_TYPE {
     UsbdPipeTypeControl,
     UsbdPipeTypeIsochronous,
-- 
1.6.1.3.GIT



More information about the wine-devel mailing list