mollyzhang
驱动牛犊
驱动牛犊
  • 注册日期2005-05-11
  • 最后登录2006-09-24
  • 粉丝0
  • 关注0
  • 积分304分
  • 威望52点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1285回复:3

驱动中控制通道建立厂商时的索引值是UCHAR型的,但是在固件中厂商请求的索引值是2个字节的

楼主#
更多 发布于:2005-07-19 13:37
  这样在固件里怎么检测呢?类型不匹配呀?
ttfwind
驱动牛犊
驱动牛犊
  • 注册日期2005-06-07
  • 最后登录2009-08-21
  • 粉丝0
  • 关注0
  • 积分81分
  • 威望13点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-07-19 14:43
什么意思?
看不懂
比如philips
厂商号是:0471
载固件中是这样村的
0x71。0x04


驱动中你就直接写if(dev->pid==0x0471)
就是这样
mollyzhang
驱动牛犊
驱动牛犊
  • 注册日期2005-05-11
  • 最后登录2006-09-24
  • 粉丝0
  • 关注0
  • 积分304分
  • 威望52点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-07-19 21:07
比如在一个驱程里我要用一个函数用厂商请求来传输一个复位命令:

NTSTATUS  USBCounterDevice::ResetCounter()
{
  PURB pUrb;
  NTSTATUS  status;
  UCHAR buffer[8];
  memset(buffer,0,8);
 pUrb=m_Lower.BuildVendorRequest(
       buffer,
       8,
       0,
        0,
       TRUE,
       TRUE,
       NULL,
       0,
       URB_FUNCTION_VENDOR_ENDPOINT
);
   status=m_Lower.SubmitUrb(pUrb);
   delete pUrb;
 return status;
}
在m_Lower.BuildVendorRequest里是不是建立了一个厂商请求呢?我真的不明呀!
lansing
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-07-20 11:01
上面的代码就是武安河书里的usb例子,BuildVendorRequest用于分配并初始化一个用于厂商请求的URB,如果封装成功的话,用SubmitUrb发送给系统USB总线驱动程序进行处理
游客

返回顶部