huang9527
驱动牛犊
驱动牛犊
  • 注册日期2008-09-02
  • 最后登录2011-05-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望93点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4215回复:2

通过USB设备Device Path,调用DeviceIoControl出错,错误代码50,不支持的请求!!!急,求大大解答!

楼主#
更多 发布于:2010-07-15 15:40
情况是这样的:
通过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设备的类型??
先谢谢啦!!!
jally76
驱动牛犊
驱动牛犊
  • 注册日期2005-04-28
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望590点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-07-16 10:53
首先要搞清楚,你打开的驱动究竟支持哪些IO请求
zhegaozhouji
驱动牛犊
驱动牛犊
  • 注册日期2006-05-01
  • 最后登录2010-10-22
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望122点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-07-23 15:57
我是来学习的
游客

返回顶部