阅读:1508回复:2
xugy5867的USBD12驱动程序的问题
谢谢xugy5867慷慨地提供资料先! 所以我才有可能在这里同大家讨论这个程序.
但是遇到了一些问题: 1)USB设备是即插即用的,但在WIN2000下直接插拔D12的测试板会引起系统故障甚至是崩溃.不知大家有没有遇到这个问题. 会不会是驱动程序对即插即用支持的不是很好呢? 2)IOCTL的定义中: #define D12_IOCTL_INDEX 0x0000 #define IOCTL_D12_GET_CONFIG_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN, \\ D12_IOCTL_INDEX,\\ METHOD_BUFFERED, \\ FILE_ANY_ACCESS) ...... 据我所知,CTL_CODE的第二个参数应该从0x800开始.为什么用0x0000呢?有什么特别的深意么? 3)还是IOCTL的定义中: #define FILE_DEVICE_USB_SCAN 0x8000 #define IOCTL_INDEX 0x0800 #define IOCTL_READ_REGISTERS CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+3,METHOD_BUFFERED,FILE_ANY_ACCESS) #define IOCTL_WRITE_REGISTERS CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+4,METHOD_BUFFERED,FILE_ANY_ACCESS) ...... 为什么要用FILE_DEVICE_USB_SCAN(0x8000),而不用FILE_DEVICE_UNKNOWN? [编辑 - 10/18/02 by lily311] |
|
沙发#
发布于:2002-10-19 13:02
系统崩溃一般是你的驱动卸载部分没有写好,有bug
没有什么深意,有些代码风格不是很好,没有按规定做,这样一般运行也没有问题,但是最好按照microsoft推荐的来 取决于你的设备属于什么类型,一般如果不属于标准类型的就用UNKNOWN,但是用USB_SCAN估计问题也不大吧(我没有这样做过) |
|
|
板凳#
发布于:2002-10-19 12:52
这个我也不是很清楚,我是在98下用的,没有在2000下试过。很多东西的理解也不是很清楚,经常照猫画虎,尤其是驱动这一块,是我的弱项,希望大家多指教,
|
|