阅读:1706回复:7
关于USB驱动的小问题(版本和包大小)
1。UsbBuildSelectConfigurationRequest得到的urb执行成功后,怎么每次得到的interface对应的各个EndPoint的通讯包的大小不是固定的,和实际值不一样?
2。USBD_GetUSBDIVersion得到的数据怎么和平时我们讨论的1.1,2.0之类的对应起来,我没找到资料,谁贴点给我? |
|
最新喜欢:![]() |
沙发#
发布于:2003-10-09 10:29
第一个问题已经解决了,是我取数据出错了,现在已经正常了
不过我很纳闷的是不少工具软件在这个方面是错误的 第二个问题谁指教一下? |
|
板凳#
发布于:2003-10-09 11:02
USBD_GetUSBDIVersion
USBD_GetUSBDIVersion returns version information about the host controller driver (HCD) that controls the clients USB device. VOID USBD_GetUSBDIVersion( OUT PUSBD_VERSION_INFORMATION VersionInformation ); Parameters VersionInformation Points to caller-allocated memory for the following structure, that on return from the routine, contains version information about the HCD: typedef struct _USBD_VERSION_INFORMATION { ULONG USBDI_Version; ULONG Supported_USB_Version;//这里面存的就是支持的协议版本,也就是1.1或这2.0什么的, //只不过是一个BCD吗,也就是0x0110或这0x0200 } USBD_VERSION_INFORMATION, *PUSBD_VERSION_INFORMATION; Members USBDI_Version Specifies the version, as a binary-coded decimal (BCD) number, of the HCD. Supported_USB_Version Specifies the revision, as a BCD number, of the USB specification that this version of the HCD supports. Comments Callers of this routine can be running at IRQL <= DISPATCH_LEVEL if the memory for VersionInformation is allocated from nonpaged pool. Otherwise, callers must be running at IRQL < DISPATCH_LEVEL. 其它的不用我解释了吧 :D |
|
地板#
发布于:2003-10-09 11:22
我的DDK里面怎么没找到这些资料?
象这样的资料该怎么找? |
|
地下室#
发布于:2003-10-09 11:47
用msdn
|
|
5楼#
发布于:2003-10-09 15:18
实际测试结果
USBDI_Version=0x300(0011 0000 0000) Supported_USB_Version=0x100(0001 0000 0000) 难道当前机器的HCD的版本是1.1,它还支持1.0???? |
|
6楼#
发布于:2003-10-09 17:27
当然了!
就象2.0向下兼容1.1一样 1.1是向下兼容1.0的。 |
|
7楼#
发布于:2003-10-09 17:33
我已经找到资料了,你说的不完全正确
USBDI_Version=0x300――代表Win 2K Supported_USB_Version=0x100――代表USB1.0 |
|