hp desktop pcs, plug and play for Microsoft Windows 2000 (Microsoft document)

Windows 2000 White Paper 11
Attachment (FDO, PDO)
Parent-child relationship
Logical device instance
USB Hub FDO
USB Hub PDO
(usbhub.sys)
(uhcd.sys or openhci.sys)
USB Host Controller FDO
USB Host Controller PDO
(uhcd.sys or openhci.sys)
(pci.sys)
LAN Adapter FDO
LAN Adapter PDO
(LAN adapter driver)
(pci.sys)
PCI Bus FDO
PCI Bus Controller PDO
(pci.sys)
(acpi.sys)
ACPI FDO
ACPI PDO
(acpi.sys)
(ACPI HAL)
ACPI HAL FDO
ACPI HAL PDO
(PnP Manager)
Figure 2. Sample Windows 2000 Plug and Play device tree for an ACPI system
In Figure 2, a LAN adapter and a USB host controller plug into a PCI bus. A USB
hub plugs into the sole port of the USB host controller. From a Plug and Play
perspective, the PCI bus controller, the USB host controller, and the USB hub are
bus devices because they each provide ports. The LAN adapter is not a bus device.
The following discussion walks through the steps required to build the device tree
shown in Figure 2. The example begins with the objects at the bottom of the stack.
1. ACPI HAL PDO and FDO. The ACPI HAL is detected during Setup, and the
root enumerator creates a PDO for the ACPI HAL. The driver creates an FDO,
and the ACPI HAL attaches it to the device stack for ACPI (shown by a curved
arrow in Figure 2).
2. ACPI PDO and FDO. The ACPI HAL enumerates ACPI and creates a PDO for
it. The Plug and Play Manager identifies Acpi.sys as the function driver for
ACPI, loads the driver, and passes the PDO to the ACPI driver. The ACPI