我正在编写一个FPGA板子的PC端程序通过USB进行通讯我的思路是,先查询 GUID ,然后通过 VID 和 PID 来确定 设备在之前的问过一些相关的问题http://topic.csdn.net/u/20100326/22/2f8b1fc7-e687-4cad-8bc9-ad06e9c1191c.html程序大体上是有了,但是在
if (!HidD_GetAttributes(HIDDevice,&Attributes)) 

   AfxMessageBox(_T("查询设备状态时出错!"));

一直返回的值为FALSE,后来发现 HidD_GetAttributes 只可用于 HID 设备,我的这个应该不算但如果是这样,Attributes.VendorID Attributes.ProductID 就没法查询了还有没有什么其他语句可以查询 VID 和 PID 吗?小弟初学 VC, 还望各位大虾指点 谢谢

解决方案 »

  1.   

    先用bus hound之类的工具查看一下设备的类型,再从网上找对应类型的读写程序。
      

  2.   

    我是通过注册表来确定 VID PID 与 GUID 的关系的
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
      

  3.   

    那对于U盘一类的非HID设备来说 可以查询VID PID吗?
      

  4.   


    if(WriteUsb==   INVALID_HANDLE_VALUE)   
    {   
    AfxMessageBox("Couldn't   get   handle   for   devices");   
    return 0;