hp desktop pcs, plug and play for Microsoft Windows 2000 (Microsoft document)
Windows 2000 White Paper 6
Kernel-mode functionality in Windows 2000 Plug and Play supports boot-time Plug
and Play activity and interfaces with the HAL, Executive, and device drivers. User-
mode functionality cooperates with kernel-mode components to provide dynamic
configuration and interfaces with other components that need to participate in Plug
and Play, such as Setup and Control Panel.
Setup
Spooler
Class Control Panel
Plug and Play Manager
Enumeration
control
Hardware
management
Applications
User mode
Kernel mode
WDM Device Drivers
I/O Interface
Executive
PC CardACPI
PCI
USB
WDM Plug and Play Bus Drivers
Hardware
event
notification
Enum
control,
Manager
Plug and Play Interface
Power Management Interface
WDM Interface
Power
(other Executive components)
I/O
Manager
PnP
Manager
Applets
Hardware Abstraction Layer (HAL)
Installers
(other)
and Play Drivers
More Windows Interfaces
and so on
Windows Plug
event
Figure 1. Windows 2000 Plug and Play architecture
Plug and Play modules shown in Figure 1 are described at length in the following
sections.
The kernel-mode Plug and Play Manager maintains central control, directing bus
drivers to perform enumeration and configuration and directing device drivers to add
a device, start a device, and so on.
For example, the Plug and Play Manager can send requests to determine whether a
device can be safely paused or removed and to give the device driver a chance to
synchronize outstanding I/O requests to the incoming request. The Plug and Play
Manager coordinates with the user-mode Plug and Play counterpart to pause or
remove devices that are available for such actions.
The Power Manager is the kernel-mode component that works in combination with
the Policy Manager to handle power management APIs, coordinates power events,
and generates power management IRPs. For example, when several devices