Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- From: "Doron Holan [MSFT]" <doronh@xxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 9 Oct 2007 11:51:57 -0700
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
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:BA90CAC6-95CB-49DA-B19D-59B6BA8ADD8A@xxxxxxxxxxxxxxxx
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.
>>
.
- Follow-Ups:
- References:
- Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- From: Tim Roberts
- Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- From: Bernhard
- Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- From: Doron Holan [MSFT]
- Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- From: Bernhard
- Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- Prev by Date: Re: talking directly to drivers
- Next by Date: Re: WdfControlDeviceInitSetShutdownNotification
- Previous by thread: Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- Next by thread: Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- Index(es):
Relevant Pages
|