Private Sub Getattributecmd_Click()
'获得GUID
Result = HidD_GetHidGuid(HidGuid)
'*******************************************************
'获得已经连接的hid设备信息
DeviceInfoSet = SetupDiGetClassDevs(HidGuid, vbNullString, 0, _
(DIGCF_PRESENT Or DIGCF_DEVICEINTERFACE))
'****************************************************
'识别每个HID 接口
mydeviceinterfacedata.cbSize = LenB(mydeviceinterfacedata)
MemberIndex = 0
Do
 Result = SetupDiEnumDeviceInterfaces(DeviceInfoSet, 0, HidGuid, _
 MemberIndex, mydeviceinterfacedata)
 MemberIndex = MemberIndex + 1
 Print MemberIndex
 
 Loop Until Result = 0
 
'获得设备路径
'第一次调用Result = SetupDiGetDeviceInterfaceDetail(DeviceInfoSet, _
mydeviceinterfacedata, 0, 0, needed, 0)
detaildata = needed
Dim detaildatabuffer() As Byte
MyDeviceInterfaceDetailData.cbSize = Len(MyDeviceInterfaceDetailData)
ReDim detaildatabuffer(needed)Call RtlMoveMemory(detaildatabuffer(0), MyDeviceInterfaceDetailData, 4)'再次调用setupdigetdeviceinterfacedetail
'这次传递dataildatabuffer 的第一个元素地址
'和detaildata中返回的需要的内存大小Result = SetupDiGetDeviceInterfaceDetail(DeviceInfoSet, _
mydeviceinterfacedata, VarPtr(detaildatabuffer(0)), detaildata, needed, 0) DevicePathName = CStr(detaildatabuffer()) 'change to unicode
 DevicePathName = StrConv(DevicePathName, vbUnicode)
 DevicePathName = Right(DevicePathName, Len(DevicePathName) - 4)
  Print DevicePathName
'获得设备 句柄
HidDevice = CreateFile(DevicePathName, GENERIC_READ Or _
GENERIC_WRITE, (FILE_SHARE_READ Or FILE_SHARE_WRITE), _
 0, OPEN_EXISTING, 0, 0)
'获得设备 PID VID Result = HidD_GetAttributes(HidDevice, DeviceAttributes)
 Print CStr(Result)
 
 Print CStr(DeviceAttributes.ProductID)
 Print CStr(DeviceAttributes.VendorID)
End Sub我求得到usb 设备的 VID pid 什么结果为 0