Chris,
To duplicate it, the bus driver for the bus you’re device is on probably has
to return a unique ID in response to an IRP_MN_QUERY_ID. If the bus driver
doesn’t already do this, it’s a tough (although not necessarily impossible)
scenario, since the OS sends the IRP_MN_QUERY_ID before the function driver
is loaded (meaning your regular function driver can’t modify it).
I strongly suspect that the USB bus driver already returns a unique ID if
your device has the serial number string descriptor, so to reproduce the
behavior in USB, just modify the devices’ firmware to contain the serial
number string descriptor. If the device does NOT have that serial number
string descriptor, the association is done on a per-port basis.
Other bus types with OS-supplied bus drivers might also make use of a unique
ID. For example, PCI has this capability, also (using VPD Device Part
Number), but I don’t know if the PCI bus driver makes use of this, and it’s
not nearly as critical with PCI (except perhaps Compact PCI Hot Swap) since
users don’t typically move the cards around in the machine after the initial
installation.
-Tim
Timothy A. Johns — xxxxx@driverdev.com
Driver Development Corporation — 800.841.0092
Bring Up Your Hardware — Fast. www.driverdev.com
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Chris Telting
Sent: Tuesday, June 05, 2001 11:11 PM
To: NT Developers Interest List
Subject: [ntdev] RE: USB device shareing driver config accross ports
> That’s what I mean - since the USB bus driver can uniquelly identify the
> device in any port, it does not need to re-associate the driver
each time
> the device is moved from port to port. See IRP_MN_QUERY_ID for a brief
> comment on this capability.
But I’m wondering what causes the behavior so that I might be able
to duplicate it with other devices and drivers. I don’t have a
problem with the behavior. I actually kind of like it but I’m puzzled
why the OS is not folling the standard behavior of installing drivers
per port.
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com