> and the registry location for the sys is already taken by the previous installation?
That doesn’t happen. Each plugged in device has its own registry path (or device instance path in the higher level of abstraction in setupapi). Windows does handle this, as soon as you start whacking the Enum branch manually, all bets are off b/c the system is now in an unknown state.
Why do you want to limit the installation one adapter? b/c of the issues above or because there is a real business reason to do so?
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Steve Pratt
Sent: Friday, October 19, 2007 12:43 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Card Bus Card Installations
Hi Doron,
If you have a single sys file that can manage more than one adapter, how
does this work, e.g. if the sys file is already running and it tries to
install a new one, and the registry location for the sys is already taken by
the previous installation?. I have seen it cause the registry to get
totally confused, causing me to revert back to a time when no cards were
installed. I tried to remove the enumeration entries by hand but this didnt
work.It sounds like windows should handle all this, but its not doing a
very good job of it?
So I guess the question is what should we do. The installation is mearly an
inf file? the card is an ethernet adapter. can you limit it to a single
adapter only? and how do you do it? or what is the best way to do this.
Regards
Steve
----- Original Message -----
From: “Tim Roberts”
To: “Windows System Software Devs Interest List”
Sent: Thursday, October 18, 2007 6:36 PM
Subject: Re: [ntdev] Card Bus Card Installations
> Doron Holan wrote:
>> Yes, this happens for any vendor and is not specific to card bus, it can
>> happen on any bus. If the device has a unique identifier which can
>> differentiate it from another instance of the same card and the bus can
>> find this value, this will not happen. For instance, a usb device can
>> have a serial number and if present, we can report this serial number and
>> use it to identify the device regardless of the port it is plugged into.
>> OTOH, if there is no serial number, we have no idea if the device that is
>> plugged into a different slot is the same device as was in the old slot,
>> so it is treated as a new device.
>>
>
> If I may theorize as to the underlying justification for this, remember
> that every leaf key in the CurrentControlSet\Enum tree of the registry
> supports exactly one device. If a USB device were identified solely by
> VID and PID, you could plug two of them into two slots, and there would
> be no way to distinguish them. So, the hub and slot numbers are used to
> create a hash that makes the device unique.
>
> The only way to create a new entry in the Enum tree is to go through the
> driver installation process.
>
> Remember that if you plug into slot 1, then into slot 2, then back into
> slot 1, you do NOT get a third install. The slot path essentially
> becomes the serial number for the device.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
>
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer