阅读:1332回复:4
如果通过用户请求来设置USB设备的状态,固件应该做那些工作呀!
比如:
一个端点处于halted状态了,device driver 来清除,还是usb bus driver 自己清除的呢?如果发IOCTL_INTERNAL_USB_RESET_PORT复位端口,是否可行,固件需要做什么特别的工作吗? 如果想清出stall状态,是device driver 来清除,还是usb bus driver 自己清除的呢?如果是device driver来清出,需要发什么IOCTL呀?固件需要做什么特别的工作吗? |
|
沙发#
发布于:2003-05-18 14:33
在DS做的驱动中,可以用GetStatus获得设备、接口和端点的状态,可是在应用程序怎么把得到的信息带回来呢,就是DeviceIoControl怎么才能把状态带回来呀!请指点,谢谢
|
|
板凳#
发布于:2003-05-18 22:22
DS中的代码
case IOCTL_TEST_STATUS: { USHORT DeviceStatus; USHORT InterfaceStatus; USHORT PipeStatus; m_Usb.GetStatus(&DeviceStatus); m_Interface.GetStatus(&InterfaceStatus); m_Pipe.GetStatus(&PipeStatus); ((USHORT*)I.IoctlBuffer())[0] = DeviceStatus; ((USHORT*)I.IoctlBuffer())[1] = InterfaceStatus; ((USHORT*)I.IoctlBuffer())[2] = PipeStatus; I.Information() = 3*sizeof USHORT; status = STATUS_SUCCESS; break; } 可以获得各种状态,可是怎么用DeviceIoControl带回来呢! |
|
地板#
发布于:2003-05-19 12:08
关注!
|
|
地下室#
发布于:2003-05-20 08:00
请问各位大虾,在DS下用
m_Usb.GetStatus(&DeviceStatus); m_Interface.GetStatus(&InterfaceStatus); m_Pipe.GetStatus(&PipeStatus); 获得设备、接口和管道的状态信息,对应的返回值在哪里有定义啊? 偶查了帮助,只看明白了获得管道信息时,如果返回值最低位的值是1表示管道stalled了 ,那别的对应的信息再那里呀! |
|