阅读:1045回复:2
==用DS初始化两个接口时该怎么作啊?
设备有两个接口,用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。 请问在两个接口的情况下需要改动哪些地方啊?怎么改? (请大侠援手,时间紧迫!) |
|
沙发#
发布于:2003-12-18 09:52
真的没人遇到过吗?555
|
|
板凳#
发布于:2003-12-18 11:14
用DriverWizard生成的驱动可以支持多个接口的,即使不成功在m_Lower.ActivateConfiguration中也是返回AC_COULD_NOT_LOCATE_INTERFACE的,好象不会狂耗CPU吧
|
|