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

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.

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.

The following resources contain additional information that is relevant to this section.