Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber



if you wat to find HIDs, use the HID device interface GUID.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Bernhard" <Bernhard@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:1FE371EF-AE77-4D0B-B3A3-B48E41C25F9B@xxxxxxxxxxxxxxxx
Hi I got only USB\Vid_0a91&Pid_3801&MI_00 this information and nothing about
the parent.
I tried also to get all devices within the usb class and than to enumerate
if they have a HID interface. But it doesnt works. Every of my composite
devices have one hid and one cdc interface.

hDevInfo = SetupDiGetClassDevs(&compositeGuid,
NULL, // Enumerator
NULL,
DIGCF_PRESENT);

and than

for (i=0;SetupDiEnumDeviceInfo(hDevInfo,i,
&DeviceInfoData);i++)
{
..
..
for(j=0;j<2;j++)
{
if(TRUE != SetupDiEnumDeviceInterfaces(hDevInfo,
&DeviceInfoData,
&hidGuid,
j, &hidDeviceInterfaceData))
err = GetLastError();
}



"Tim Roberts" wrote:

Bernhard <Bernhard@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
>I have several composite devices which are equal running on a pc.
>My problem is, I want to find out which interfaces belong together (to >the
>same composite device). In order to find out if two interfaces are form >a
>composite device, i want to read out the address and busnumber and >compare
>both.

"Address" and "bus number" have no meaning for USB devices. Only PCI.

>If equal than these two devices are on the same composite device.
>The problem is, the API call "SetupDiGetDeviceRegistryProperty" returns >only
>a string with 4 spaces. I got no address or busnumber.
>I work with Windows Xp .
>
>I will appreciate every help. Thanks
>
>if(TRUE == SetupDiGetDeviceRegistryProperty(
> hDevInfo,
> &DeviceInfoData,
> SPDRP_ADDRESS,
> &DataT,
> buffer,
> buffersize,
> &buffersize))

Is that the only property you tried? Where's your imagination?
SPDRP_HARDWAREID should tell you what you need to know. For example,
USB\Vid_0a91&Pid_3801&MI_00\7&2603ea26&0&0000
and
USB\Vid_0a91&Pid_3801&MI_01\7&2603ea26&0&0001
are both interfaces on the same device.
--
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.


.



Relevant Pages

  • Re: [PATCH] input: Add support for eGalax TouchKit USB touchscreen used on HP tx1305us
    ... bInterfaceSubClass 1 Boot Interface Subclass ... I think we can try to make usbtouchscreen ignore eGalaxes with ... interface class set to HID? ... i got around testing the patch with my non-HID screen. ...
    (Linux-Kernel)
  • How to read HID Descriptor using URBs (in a driver)
    ... I'm writing a HID Miniport to transform a USB device that has 2 HID ... To do this I'm sending raw URBs ... interface descriptors and endpoint descriptors! ...
    (microsoft.public.development.device.drivers)
  • Re: Tricky USB device.
    ... > Bernd> Has this device multiple interfaces? ... Interrupt Endpoints are not variable in size. ... OK - exactly one interface, which claims to be HID. ...
    (freebsd-hackers)
  • Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
    ... Please do not send e-mail directly to this alias. ... newsgroup purposes only. ... > To find the hid device I used the HID Guid, but I want also to find the ... >> if you wat to find HIDs, use the HID device interface GUID. ...
    (microsoft.public.development.device.drivers)
  • Re: HID implementation on Windows XP/Longhorn
    ... if every single interface is independent (ie no interface is grouped with ... HID works just fine in this configuration, this is how usb speakers with HID ... several endpoints, several configurations. ...
    (microsoft.public.development.device.drivers)

Loading