jifengszf
驱动牛犊
驱动牛犊
  • 注册日期2008-04-01
  • 最后登录2010-10-28
  • 粉丝0
  • 关注0
  • 积分46分
  • 威望36点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:1823回复:1

提交 URB_FUNCTION_SELECT_INTERFACE 会发生蓝屏

楼主#
更多 发布于:2008-05-06 12:27
我们有一个设备 , 需要两次配置请求后, 才会进入配置态, 一次需要URB_FUNCTION_SELECT_CONFIGURATION,  然后, URB_FUNCTION_SELECT_INTERFACE。

但我在提交 URB_FUNCTION_SELECT_INTERFACE事会发生蓝屏。



PURB urb;
USBD_CONFIGURATION_HANDLE hConfig;
PUSB_CONFIGURATION_DESCRIPTOR   pcd;
USBD_INTERFACE_LIST_ENTRY        interfaces[4];
PUSB_INTERFACE_DESCRIPTOR  pid;
PURB pUrbSelIntf  = NULL;


...
urb  = USBD_CreateConfigurationRequestEx(pcd, interfaces);
status = SendUrb (Adapter, urb  );

//此时配置可以成功。
hconfig = urb  ->UrbSelectConfiguration.ConfigurationHandle; //的到该配置的handle.
..

//pid
pUrbSelIntf = (PURB)ExAllocatePool(NonPagedPool,
GET_SELECT_INTERFACE_REQUEST_SIZE(pid->bNumEndpoints));

UsbBuildSelectInterfaceRequest(pUrbSelIntf,
        GET_SELECT_INTERFACE_REQUEST_SIZE(pid->bNumEndpoints),
        hconfig,
        0,
        0);

status = SendUrb (Adapter, pUrbSelIntf); //提交URB时,就会蓝屏。  

请问大家这是什么原因? 网上搜了一下,发现使用URB_FUNCTION_SELECT_INTERFACE的很少。
mpf125
驱动牛犊
驱动牛犊
  • 注册日期2007-09-01
  • 最后登录2011-11-16
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望211点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-12-28 15:13
Re:提交 URB_FUNCTION_SELECT_INTERFACE  会发生蓝屏
楼上的这个问题解决了吗?是什么原因啊
游客

返回顶部