Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber



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
    ... 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: 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
    ... To find the hid device I used the HID Guid, but I want also to find the CDC ... device on the same composite device. ... I want to find out which interfaces belong together (to ...
    (microsoft.public.development.device.drivers)
  • Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
    ... I get 2 different DEVINST for the two interfaces. ... 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. ...
    (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)