clxye
驱动牛犊
驱动牛犊
  • 注册日期2007-03-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分128分
  • 威望74点
  • 贡献值2点
  • 好评度13点
  • 原创分0分
  • 专家分0分
阅读:2138回复:1

请问应用程序该如何打开USB设备?

楼主#
更多 发布于:2009-12-17 11:28
我这边有一个可视卡的打印机,它有两种方式连接:纯串口和USB转串口。由于串口传送图片时比较慢,所以我想不用他们提供的USB转串口功能,而是直接使用他们的USB来进行操作。我获取了如下的信息:

Parameter         Value
 
Hardware ID     USB\Vid_0519&Pid_0002&Rev_0110
 
Setup Class      Ports
 
Class GUID      {4D36E978-E325-11CE-BFC1-08002BE10318}
 
PDO Name       \Device\USBPDO-6
 
Service Name   SMJUSB
 
请问是否可以通过上面的某个或某些参数通过CreateFile来打开设备?如果可以,该如何调用呢(////.// ...和 /??符号链接等我搞不清楚)。
如果可以的话希望大家帮忙写个完整的CreateFile,谢谢!!
xzyee
驱动牛犊
驱动牛犊
  • 注册日期2005-08-08
  • 最后登录2010-07-01
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-02-19 18:34
没搞过,使用CreateFile("\\\\.\\USBPDO-6 ",...)试试

可琢磨参考下面代码,编个程序跟踪看看devlist.m_list.m_linkname是什么形式,就能猜出来:

GUID hidguid;  
HidD_GetHidGuid(&hidguid);
CDeviceList devlist(hidguid);
int ndevices = devlist.Initialize();  

 for (int i = 0; i < ndevices; ++i)
   {
    HANDLE h = CreateFile(devlist.m_list.m_linkname, 0,
     FILE_SHARE_READ &brvbar; FILE_SHARE_WRITE, NULL,
     OPEN_EXISTING, 0, NULL);
   if (h == INVALID_HANDLE_VALUE)
     continue;
....
}


游客

返回顶部