Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber



To find the hid device I used the HID Guid, but I want also to find the CDC
device on the same composite device. Is it possible to readout the parent-id
of both devices?

Thanks

"Doron Holan [MSFT]" wrote:

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: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
    ... you can use the CM APIs to find the parent DEVINST of both the HID and the CDC device and see if it returns the same DEVINST ... device on the same composite device. ... In order to find out if two interfaces are ...
    (microsoft.public.development.device.drivers)
  • Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
    ... Because every HID device consists of a parent hid and a child hid, ... device on the same composite device. ... I want to find out which interfaces belong together ...
    (microsoft.public.development.device.drivers)
  • Re: Implementing Multiple CDCs
    ... Each CDC requires two interfaces, so for three CDCs we need to ... But it requires writing a device driver. ... It sounds like what you want is a composite device with three ...
    (microsoft.public.development.device.drivers)
  • Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
    ... CDC device and see if it returns the same DEVINST ... Please do not send e-mail directly to this alias. ... device on the same composite device. ... I want to find out which interfaces belong together ...
    (microsoft.public.development.device.drivers)
  • Re: find PDO of hid collection
    ... the generic parent driver is the one that splits a composite device into 2 ... load your hid miniport instead. ... HIDclass enumerates a pdo for each top level collection, ... idea about usb. ...
    (microsoft.public.development.device.drivers)

Loading