What Is Plug and Play?
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2
What Is Plug and Play?
In this section
Common Plug and Play Scenarios
Technologies Related to Plug and Play
Related Information
Plug and Play technology provides a combination of software and hardware support that enables the Windows operating system to detect and configure hardware with little or no user involvement. Plug and Play makes it easier to add and configure hardware on a computer running Microsoft Windows Server 2003 without the user needing special knowledge about hardware configurations. Plug and Play in Windows Server 2003 supports a wide range of device types.
The Plug and Play framework defines several base components that can be implemented in any environment. Buses, devices, and resources are abstracted from the base components via hardware-specific enumerators, arbitrators, and device drivers. This ensures that the framework is extensible not only to other environments but to future bus and device architectures.
In Windows Server 2003, Plug and Play provides the following services.
Detection of a Plug and Play device
Determination of hardware resource requirements
Determination of device identification number
Allocation of hardware resources
Dynamic loading, initialization, and unloading of drivers
Notification to other drivers and applications when a new device is available
Coordination with power management components to install and remove devices
Some bus types, such as Peripheral Component Interconnect (PCI) and USB, take full advantage of Plug and Play. Older bus types, such as ISA, do not take full advantage of Plug and Play and require more user interaction to ensure that devices are correctly installed.
After Windows Server 2003 detects a Plug and Play device, the device driver is configured and loaded dynamically, typically without requiring user input.
The following diagram shows the Plug and Play states of a device after initialization.
Plug and Play Device States
The following table describes the Plug and Play states for a device.
Plug and Play Device States
State | Description |
---|---|
Start State |
After it has assigned all necessary hardware resources to the device, the Plug and Play Manager sends an I/O request packet (IRP) indicating that all drivers for the device have performed their start operations. The device may have been recently enumerated and is being started for the first time, or the device may be restarting after being stopped for resource rebalancing. |
Remove-Pending State |
The Plug and Play Manager sends a requests to the drivers to remove a device’s software representation (device objects, and so forth). The Plug and Play Manager sends this IRP when a device has been removed in an orderly fashion (for example, initiated by a user in the Unplug or Eject Hardware program), when a device has been removed by surprise (a user pulls the device from its slot without prior warning), or when the user makes a request to update drivers. |
Surprised-Removed State |
The Plug and Play Manager sends a request to notify drivers that a device is no longer available for I/O operations and has probably been unexpectedly removed from the machine. In response to this request, the drivers power off the device and perform additional removal processing. |
Stop-Pending State |
The Plug and Play Manager sends a request asking whether the drivers for a device can stop the device. If all the drivers in the device stack return a confirmation, the drivers put the device into a stop-pending state, from which the device can be stopped quickly. |
Stopped State |
Plug and Play Manager requests that drivers for a device driver hold IRPs that require access to the device. |
Common Plug and Play Scenarios
Plug and Play works automatically by default on computers running Windows Server 2003. The following are the most common scenarios in which Plug and Play is used.
Adding new hardware to a computer
In Windows Server 2003, Plug and Play installs most hardware devices that can be loaded at a time other than during the system startup process. If the hardware is compliant with Plug and Play, Windows Server 2003 will automatically detect and configure the new hardware once it is connected to the system. Plug and Play devices are capable of identifying themselves and declaring their services and resource requirements to the operating system. This information enables Windows Server 2003 to determine and set a working configuration, then load the appropriate device drivers without user intervention.
Docking a mobile computer
The Plug and Play framework allows docking of mobile computers and insertion of devices while the computers are running. When such a connection occurs, Windows Server 2003 will recognize that a device is connected, recognize the services and requirements, and load the necessary drivers. Applications are notified about dynamic events so that they can take advantage of new functionality or start using available devices.
Technologies Related to Plug and Play
In Windows Server 2003, Plug and Play support is optimized for computers that include an Advanced Configuration and Power Interface (ACPI) BIOS. ACPI devices are defined by the Advanced Configuration and Power Interface (ACPI) Specification, a hardware and software interface specification that combines and enhances the Plug and Play and Advanced Power Management (APM) standards. ACPI devices include low-level system devices such as batteries, thermal zones, and other devices defined in a system’s ACPI namespace, a hierarchical namespace that an ACPI BIOS uses to reference objects. ACPI shifts many power management tasks to the operating system and provides the following features.
Automatic and dynamic recognition of installed hardware
Hardware resource allocation and reallocation
Loading of appropriate drivers
Interface for driver interaction with the Plug and Play system
Dynamic handling of device management and power management events
Note
- For all Plug and Play features to work, a system must include an ACPI-compliant BIOS that works with the ACPI to provide reliable power management and system configuration.
Related Information
The following resources contain additional information that is relevant to this section.
“Microsoft Windows Driver Development Kits” on the Microsoft Web site