Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- From: "Doron Holan [MSFT]" <doronh@xxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 8 Oct 2007 20:32:10 -0700
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
- Prev by Date: Re: Making Beep from a kernel driver
- Next by Date: Verifier.exe is not compatible with RtlRandom(Ex)
- Previous by thread: Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- Next by thread: Re: SetupDiGetDeviceRegistryProperty - Usb - Address - Busnumber
- Index(es):
Relevant Pages
|
Loading