Hi All,
I read a few books on WDM and consulted DDK docs but still can’t figure how
system knows where to layer my driver.
How hardware ID in the inf file is connected to the FDO my driver will
receive in the DriverEntry function ?
How the system knows what bus I’m addressing ? Serial ?, USB ?
Is there a good explanation of this somewhere ?
Appreciate any help,
Regards,
Stas.
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
Hi All,
Answering part of my own question.
The list of hardware IDs provided by inf file should match or be competible
to some driver found in registry by the PNP manager.
Then the remaining question is where can I find IDs for all types of buses:
Serial, USB, Parallel, etc. ?
In addition how do I tell the system to layer my driver over Serial.sys for
example and not over Serenum.sys ?
Please help,
Stas.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Stas Desy
Sent: Thursday, March 29, 2001 1:30 PM
To: NT Developers Interest List
Subject: [ntdev] Novice question
Hi All,
I read a few books on WDM and consulted DDK docs but still can’t figure how
system knows where to layer my driver.
How hardware ID in the inf file is connected to the FDO my driver will
receive in the DriverEntry function ?
How the system knows what bus I’m addressing ? Serial ?, USB ?
Is there a good explanation of this somewhere ?
Appreciate any help,
Regards,
Stas.
You are currently subscribed to ntdev as: xxxxx@powernetsys.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
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
> I read a few books on WDM and consulted DDK docs but still can’t figure
how
system knows where to layer my driver.
How hardware ID in the inf file is connected to the FDO my driver will
receive in the DriverEntry function ?
- The bus driver finds a device on its bus.
- The bus driver does not know any device-specific details on it, but it
knows how to retrieve its ID (this is a way standarized by the bus spec -
config space VendorID in PCI, config ROM’s spec_id and sw_version in 1394
etc).
- The bus driver reports the device node to the PnP
- PnP asks the bus driver about the device ID (IRP_MN_QUERY_ID)
- Now, PnP knows the device ID for the devnode and scans all INF files for
an ID match.
- The INF file is what maps a device ID to the functional driver’s binary
name.
How the system knows what bus I’m addressing ? Serial ?, USB ?
PnP is a universal code which has no bus-specific things in it.
Max
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
> Answering part of my own question.
The list of hardware IDs provided by inf file should match or be
competible
to some driver found in registry by the PNP manager.
No, it should match the configuration information hardwired to your device.
Config ROM for 1394 or config space for PCI.
In addition how do I tell the system to layer my driver over Serial.sys
for
example and not over Serenum.sys ?
By the INF file. Declare your driver as an UpperFilter for Serial class.
Max
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