阅读:4215回复:2
通过USB设备Device Path,调用DeviceIoControl出错,错误代码50,不支持的请求!!!急,求大大解答!
情况是这样的:
通过DEFINE_GUID(UsbClassGuid, 0xa5dcbf10L, 0x6530, 0x11d2, 0x90, 0x1f, 0x00, 0xc0, 0x4f, 0xb9, 0x51, 0xed); 该GUID获取DevicePath,即 SetupDiGetInterfaceDeviceDetail中pDetail->DevicePath; SetupDiGetInterfaceDeviceDetail( hDevInfoSet, // 设备信息集句柄 &ifdata, // 设备接口信息 pDetail, // 设备接口细节(设备路径) INTERFACE_DETAIL_SIZE, // 输出缓冲区大小 NULL, // 不需计算输出缓冲区大小(直接用设定值) NULL); // 不需额外的设备描述 然后,把取得的DevicePath传递给CreateFile(),返回句柄正常,但是把文件句柄传给DeviceIoControl后,不管什么请求,该函数都返回0,GetlastError为50,不支持的请求!! 请各位老大帮帮我!! 还有个问题,如何通过devicepath,取得USB设备的类型?? 先谢谢啦!!! |
|
沙发#
发布于:2010-07-16 10:53
首先要搞清楚,你打开的驱动究竟支持哪些IO请求
|
|
板凳#
发布于:2010-07-23 15:57
我是来学习的
|
|