andy_ee
驱动牛犊
驱动牛犊
  • 注册日期2002-11-15
  • 最后登录2004-05-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1045回复:2

==用DS初始化两个接口时该怎么作啊?

楼主#
更多 发布于:2003-12-17 12:01
设备有两个接口,用DriverWizard生成的驱动只是支持一个接口,大致是这样:
m_Interface.Initialize(m_Lower, //KUsbLowerDevice
0,  //InterfaceNumber
         1,  //ConfigurationValue
       0 //Initial Interface Alternate Setting);
// Initialize each Pipe object
m_Endpoint1IN.Initialize(m_Lower, 0x81, 16);

我按照注释为另一个接口增加如下代码:
  m_Interface.Initialize(m_Lower, //KUsbLowerDevice
0,  //InterfaceNumber
         1,  //ConfigurationValue
       1 //Initial Interface Alternate Setting);
// Initialize each Pipe object
m_Endpoint1IN.Initialize(m_Lower, 0x81, 16);
m_Endpoint1OUT.Initialize(m_Lower, 0x01, 16);
可是问题依旧:
执行到OnStartDevice()中的
acStatus = m_Lower.ActivateConfiguration(
     1 // ConfigurationValue 1 (the first configuration)
);
后系统几乎失去响应,system进程狂耗CPU。
请问在两个接口的情况下需要改动哪些地方啊?怎么改?
(请大侠援手,时间紧迫!)
andy_ee
驱动牛犊
驱动牛犊
  • 注册日期2002-11-15
  • 最后登录2004-05-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-18 09:52
真的没人遇到过吗?555
red_orange
驱动牛犊
驱动牛犊
  • 注册日期2003-12-02
  • 最后登录2005-12-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-18 11:14
用DriverWizard生成的驱动可以支持多个接口的,即使不成功在m_Lower.ActivateConfiguration中也是返回AC_COULD_NOT_LOCATE_INTERFACE的,好象不会狂耗CPU吧
游客

返回顶部