HP Brio ba200 hp desktop pcs, plug and play for Microsoft Windows 2000 (Micros - Page 16

The Plug and Play Manager directs the USB host

Page 16 highlights

Windows 2000 White Paper 12 driver creates an FDO for ACPI and attaches it to the device stack for ACPI. 3. PCI adapter PDO and FDO. Plug and Play directs the ACPI driver to enumerate ACPI and create a PDO for each device it finds. In Figure 2, a PCI bus controller is found. The Plug and Play Manager identifies the PCI driver (Pci.sys) as the function driver for the PCI controller, loads the PCI driver, and passes the PDO to the PCI driver. The PCI driver creates an FDO for the PCI bus and attaches the FDO to the device stack for the PCI controller. Creating and attaching this FDO are the PCI driver's responsibilities as the function driver for the PCI controller. An IHV can add functionality to a bus by supplying a bus filter driver (not shown in Figure 2). This method is preferred to supplying a custom bus driver. 4. LAN adapter and USB host controller PDOs and FDOs. The Plug and Play Manager directs the PCI driver to enumerate the PCI bus. In this example, the PCI bus driver finds a LAN adapter and a USB host controller, and creates PDOs for both devices. The Plug and Play Manager identifies the LAN adapter driver as the function driver for the LAN adapter, loads the driver, and passes the adapter PDO to the LAN adapter driver. The LAN adapter driver creates an FDO for the LAN adapter and attaches the FDO to its device stack. The Plug and Play Manager identifies the USB host controller driver (either Uhcd.sys or Openhci.sys, depending on the chip set used) as the function driver for the USB host controller, loads the driver, and passes the USB host controller driver the USB host controller PDO. The USB host controller driver creates an FDO for the USB host controller and attaches the FDO to its device stack. 5. USB hub PDO and FDO. The Plug and Play Manager directs the USB host controller driver to enumerate the USB host controller. In this example, the USB host controller driver finds a USB hub and creates a PDO for it. The Plug and Play Manager identifies the USB hub driver (Usbhub.sys) as the function driver for the USB hub, loads the driver, and passes the USB hub driver the USB hub PDO. The USB hub driver creates an FDO for the USB hub and attaches the FDO to its device stack. The PDO created by the underlying bus driver is always at the bottom of the device stack for a particular device. When drivers handle Plug and Play and power management IRPs, they must pass the IRP all the way down the device stack to the PDO and its associated bus driver. 6. Re-enumeration of devices as a result of a power state change. Systems that go to sleep often cannot detect whether a device has been removed or added while the system was asleep because the hardware circuitry that detects such an event may not be available. When an ACPI system wakes up, the ACPI driver can notify an existing bus driver that there is a device check on its

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

Windows 2000 White Paper
12
driver creates an FDO for ACPI and attaches it to the device stack for ACPI.
3.
PCI adapter PDO and FDO.
Plug and Play directs the ACPI driver to
enumerate ACPI and create a PDO for each device it finds. In Figure 2, a PCI
bus controller is found. The Plug and Play Manager identifies the PCI driver
(Pci.sys) as the function driver for the PCI controller, loads the PCI driver, and
passes the PDO to the PCI driver. The PCI driver creates an FDO for the PCI
bus and attaches the FDO to the device stack for the PCI controller. Creating
and attaching this FDO are the PCI driver’s responsibilities as the function
driver for the PCI controller.
An IHV can add functionality to a bus by supplying a bus filter driver (not shown
in Figure 2). This method is preferred to supplying a custom bus driver.
4.
LAN adapter and USB host controller PDOs and FDOs
. The Plug and Play
Manager directs the PCI driver to enumerate the PCI bus. In this example, the
PCI bus driver finds a LAN adapter and a USB host controller, and creates
PDOs for both devices.
The Plug and Play Manager identifies the LAN adapter driver as the function
driver for the LAN adapter, loads the driver, and passes the adapter PDO to the
LAN adapter driver. The LAN adapter driver creates an FDO for the LAN
adapter and attaches the FDO to its device stack.
The Plug and Play Manager identifies the USB host controller driver (either
Uhcd.sys or Openhci.sys, depending on the chip set used) as the function
driver for the USB host controller, loads the driver, and passes the USB host
controller driver the USB host controller PDO. The USB host controller driver
creates an FDO for the USB host controller and attaches the FDO to its device
stack.
5.
USB hub PDO and FDO.
The Plug and Play Manager directs the USB host
controller driver to enumerate the USB host controller. In this example, the USB
host controller driver finds a USB hub and creates a PDO for it. The Plug and
Play Manager identifies the USB hub driver (Usbhub.sys) as the function driver
for the USB hub, loads the driver, and passes the USB hub driver the USB hub
PDO. The USB hub driver creates an FDO for the USB hub and attaches the
FDO to its device stack.
The PDO created by the underlying bus driver is always at the bottom of the
device stack for a particular device. When drivers handle Plug and Play and
power management IRPs, they must pass the IRP all the way down the device
stack to the PDO and its associated bus driver.
6.
Re-enumeration of devices as a result of a power state change.
Systems
that go to sleep often cannot detect whether a device has been removed or
added while the system was asleep because the hardware circuitry that detects
such an event may not be available. When an ACPI system wakes up, the
ACPI driver can notify an existing bus driver that there is a device check on its