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. Thanks, 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 hardware? All the documentation and examples seem to make this appear "automagical"! Can anyone shed light on this for me? Thank you! Jon