binaryman
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2004-08-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1155回复:2

请教usb_hub上某端口设备打开问题

楼主#
更多 发布于:2004-07-30 20:52
在我的机器上可以看到有二个Standard Universal PCI to USB Host Controller,每个USB Host Controller 下面有一个Root Hub。
每个Root Hub下有二个port,port1和port2。

    其中通过usb 电缆连接了我的 motorola v600手机的Root Hub的信息如下:

           Root Hub: USB#ROOT_HUB#4&28dab860&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
           Hub Power:               Self Power
           Number of Ports:         2
           Power switching:         None
           Compound device:         No
           No Over-current Protection (Bus Power Only)


    现在可以看到连接了 v600 的port是port2,请问我如何来构造createfile中的文件名(请注意不是在系统内核模式下,而是在普通的应用程序中,另外v600 的驱动是虚拟modem)?
    我使用

     CString Pname=\\.\USB#ROOT_HUB#4&28dab860&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8};
     Pname=Pname+"\\0002";

     将Pname传递给createfile,可以成功返回一个HANDLE。但是我使用这个返回的HANDLE来获得DCB 数据不能成功。

     DCB dcb;
     bool fSuccess = GetCommState(hub_port_n, &dcb);

     使用下面的调用也不成功
     COMMPROP COMMPROP_data;
     BOOL comb=GetCommProperties(hub_port_n, &COMMPROP_data);

     请问我这样做的方法是否正确?
binaryman
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2004-08-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-30 20:56
对不起,应该是

CString Pname="\\\\.\\USB#ROOT_HUB#4&28dab860&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}";

是使用vc++ 6。0



binaryman
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2004-08-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-30 20:59
设置email 通知
游客

返回顶部