调试时,在watch中加入@err,hr,看返回什么错误信息!

解决方案 »

  1.   

    可能原因:GUID有问题,要用Interface class
      

  2.   

    试下0xA5DCBF10,0x6530,0x11D2,0x90,0x1F,0x00,0xC0, 0x4F, 0xB9, 0x51, 0xED,如果不是的话
      

  3.   

    这是有可能的
    我最近也在弄这东西,头都大了
    你的pUSBGUID到底是什么? 应该是
    GUID   guid  = {   0xA5DCBF10L,0x6530,0x11D2,0x90,0x1F,0x00,0xC0,0x4F,0xB9,0x51,0xED};//枚举当前USB设备pUSBGUID = &guid;
      

  4.   

    guid不是该用DEFINE_GUID定义么, 还是直接= ?
      

  5.   

    楼上的方法都试过了,同样还是找不到设备。问题应该是在GUID,但不知该用什么GUID
      

  6.   

    这个问题我也想问呀.
    这是我在网上找到的Interface GUID;
      GUID_DEVINTERFACE_USB_HUB = '{f18a0e88-c30c-11d0-8815-00a0c906bed8}';
      GUID_DEVINTERFACE_USB_DEVICE = '{A5DCBF10-6530-11D2-901F-00C04FB951ED}';
      GUID_DEVINTERFACE_USB_HOST_CONTROLLER = '{3ABF6F2D-71C4-462a-8A92-1E6861E6AF27}';
      GUID_USB_WMI_STD_DATA = '{4E623B20-CB14-11D1-B331-00A0C959BBD2}';
      GUID_USB_WMI_STD_NOTIFICATION = '{4E623B20-CB14-11D1-B331-00A0C959BBD2}';
    如果在SetupDiGetClassDevs 中用 GUID_DEVINTERFACE_USB_DEVICE GUID 就能找到USB设备的接口.但{36FC9E60-C465-11CF-8056-444553540000}也是USB的GUID,怎么就找不到呢.看来Interface GUID与Class GUID是不一样的.不知道它们之间有什么联系,真痛苦...
      

  7.   

    SetupDiGetClassDevs,
     SetupDiEnumDeviceInterfaces, 
    SetupDiGetInterfaceDeviceDetail, 
    SetupDiDestroyDeviceInfoList,
    这几个函数再加上几
    HDEVINFO 
    SP_DEVICE_INTERFACE_DATA    
    PSP_DEVICE_INTERFACE_DETAIL_DATA pDetail 
    都是定义在那个头文件你面的,编译的时候说的没有定义
    那个高手能帮帮我,谢谢了!
      

  8.   

    按照你的代码来看,SetupDiGetClassDevs得到的是USB设备类,即所有USB设备的DevSet;SetupDiEnumDeviceInterfaces用来从DevSet中枚举制定的USB接口。此时你应当传入接口GUID而不是USB类GUID。而USB接口GUID,包括系统定义的GUID_DEVINTERFACE_USB_HUB、GUID_DEVINTERFACE_USB_DEVICE等等,或者用户自己定义而注册到系统中的。明白?