[wdmaudiodev] Re: Newbie Question: How does WDM audio adapter get associated with a PDO?

  • From: "ksathya" <ksathya@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 13 Jan 2005 22:31:37 -0600

Hi Jon,
Normally the PDO is created by the bus driver that enumerates the device
connected to the bus. 
For e.g. if you connect a USB device to USB port, the USBD.SYS which
polls for new device arrival creates a PDO, invalidates its device
relations to inform the PnP manager about the new device arrival and PDO
creation. PnP manager then issues a battery of queries to the bus driver
and loads the device driver based on device ID that the bus driver
returned and the INF file. This driver is called the functional driver
and it creates the FDO for the device.
In audio miniport-portcls scenario the bus driver is the one that
creates the PDO. But, the FDO is created and managed by the class
driver. The miniport driver just implements the device access methods
that are used by the portcls class driver. The creation of FDO is only
initiated by the miniport driver from DriverEntry routine.
Hope this helps.
Sathya K
-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jon Elliott
Sent: Thursday, January 13, 2005 10:12 PM
To: WDM Audio Mailing List
Subject: [wdmaudiodev] Newbie Question: How does WDM audio adapter get
associated with a PDO?
Please forgive my ignorance, but I'm new to WDM. I've read through the
DDK docs and think I have a grasp of the whole WDM audio streaming
driver/minidriver concept, but a PDO-related detail escapes me:
How/where is the PDO (Physical Device Object) created? If (as I'm
guessing) it's done by the port class driver, then how does the port
class driver come to know the association with the underlying audio
All the documentation and examples seem to make this appear
"automagical"! Can anyone shed light on this for me?
Thank you!

Other related posts: