manuals.online logo
Brands
  1. Home
  2. •
  3. Brands
  4. •
  5. Microsoft
  6. •
  7. Software
  8. •
  9. Microsoft Kayak XA Manual

Microsoft Kayak XA Manual

This manual suits for next models

31

Other Microsoft Software manuals

Microsoft 065-04940 - Office Excel 2007 User manual

Microsoft

Microsoft 065-04940 - Office Excel 2007 User manual

Microsoft 76H-00326 - Office Ultimate 2007 Setup guide

Microsoft

Microsoft 76H-00326 - Office Ultimate 2007 Setup guide

Microsoft Windows Vista User manual

Microsoft

Microsoft Windows Vista User manual

Microsoft Live User manual

Microsoft

Microsoft Live User manual

Microsoft Exchange 2000 User manual

Microsoft

Microsoft Exchange 2000 User manual

Microsoft C360 User manual

Microsoft

Microsoft C360 User manual

Microsoft Windows NT 4.0 Guide User manual

Microsoft

Microsoft Windows NT 4.0 Guide User manual

Popular Software manuals by other brands

Red Hat ENTERPRISE LINUX 4 -  FOR X86-ITANIUM AND... installation guide

Red Hat

Red Hat ENTERPRISE LINUX 4 - FOR X86-ITANIUM AND... installation guide

Avaya OAISYS NetSuite 4.2 Application notes

Avaya

Avaya OAISYS NetSuite 4.2 Application notes

Asante SmartBridge V1.0 user manual

Asante

Asante SmartBridge V1.0 user manual

Xerox Wide Format 6204 installation guide

Xerox

Xerox Wide Format 6204 installation guide

SAS Scalable Performance Data Server 4.5 Administrator's guide

SAS

SAS Scalable Performance Data Server 4.5 Administrator's guide

Lucid FM2A85X Extreme6 installation guide

Lucid

Lucid FM2A85X Extreme6 installation guide

Juniper JUNOS PUS MOBILE SECURITY SUITE datasheet

Juniper

Juniper JUNOS PUS MOBILE SECURITY SUITE datasheet

GRASS VALLEY NETCONFIG V2.0.12 instruction manual

GRASS VALLEY

GRASS VALLEY NETCONFIG V2.0.12 instruction manual

Epson Stylus Pro 9880 ColorBurst Edition - Stylus Pro 9880... Getting started

Epson

Epson Stylus Pro 9880 ColorBurst Edition - Stylus Pro 9880... Getting started

COMPRO COMPROFM manual

COMPRO

COMPRO COMPROFM manual

Muratec OFFICEBRIDGE ONLINE user guide

Muratec

Muratec OFFICEBRIDGE ONLINE user guide

Oracle Contact Center Anywhere 8.1 installation guide

Oracle

Oracle Contact Center Anywhere 8.1 installation guide

Avaya NULL One-X for RIM Blackberry user guide

Avaya

Avaya NULL One-X for RIM Blackberry user guide

HP ProLiant BL420c user guide

HP

HP ProLiant BL420c user guide

PS Audio PowerPlay Programming manual

PS Audio

PS Audio PowerPlay Programming manual

Brady LOCKOUT PRO 3.0 Administrator's guide

Brady

Brady LOCKOUT PRO 3.0 Administrator's guide

Avaya Interaction Center user guide

Avaya

Avaya Interaction Center user guide

Texas Instruments TI-83 Plus Silver Edition Guide book

Texas Instruments

Texas Instruments TI-83 Plus Silver Edition Guide book

manuals.online logo
manuals.online logoBrands
  • About & Mission
  • Contact us
  • Privacy Policy
  • Terms and Conditions

Copyright 2025 Manuals.Online. All Rights Reserved.

Operating System
Plug and Play for Windows 2000
White Paper
Abstract
This paper describes the Microsoft®Windows®2000 operating system implementation of Plug and
Play. Plug and Play is one of a number of enhancements to Windows that will simplify device driver
development and device management.
© 1999 Microsoft Corporation. All rights reserved.
The information contained in this document represents the current view of Microsoft
Corporation on the issues discussed as of the date of publication. Because Microsoft
must respond to changing market conditions, it should not be interpreted to be a
commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy
of any information presented after the date of publication.
This white paper is for informational purposes only. MICROSOFT MAKES NO
WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.
Microsoft, Active Desktop, BackOffice, the BackOffice logo, MSN, Windows, and
Windows NT are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
Other product and company names mentioned herein may be the trademarks of
their respective owners.
Microsoft Corporation • One Microsoft Way • Redmond, WA 98052-6399 • USA
0499
,1752'8&7,21 
The Evolution of Plug and Play 1
The Windows 2000 Implementation 2
3/8*$1'3/$<29(59,(: 
System Support for Plug and Play 3
Device and Driver Support Levels 4
:,1'2:63/8*$1'3/$<$5&+,7(&785( 
Kernel-mode Plug and Play Manager 6
Power Manager and Policy Manager 6
I/O Manager 7
WDM Interface for Plug and Play 7
Types of Drivers 7
Driver Layers 8
Device Objects 8
Additional Windows Interfaces 8
WDM Bus Drivers 8
WDM Device Drivers 9
User-Mode Plug and Play Components 9
3/8*$1'3/$<'(9,&(75((  
&21&/86,21 
5()(5(1&(6 
6800$5< 
For More Information 16
&217(176
Windows 2000 White Paper 1
The Microsoft® Window® 2000 operating system includes enhancements to
simplify device driver development and device management. These enhancements
include support for low-level instrumentation, power management, and Plug and
Play (the subject of this white paper).
Plug and Play is a combination of hardware and software support that enables a
computer system to recognize and adapt to hardware configuration changes with
little or no user intervention. With Plug and Play, a user can add or remove devices
dynamically, without awkward and confusing manual configuration and without any
intricate knowledge of computer hardware. For example, a user can dock a portable
computer and use the docking station’s Ethernet card to connect to the network
without changing the configuration. Later, the user can undock that same computer
and use a modem to connect to the network—again without making any manual
configuration changes.
Plug and Play allows a user to change a computer’s configuration with the
assurance that all devices will work together and that the machine will boot correctly
after the changes are made.
7KH(YROXWLRQRI3OXJDQG3OD\
Support for Plug and Play was first provided in the Microsoft Windows® 95
operating system; however, since that time Plug and Play has evolved dramatically.
This evolution is largely a result of the OnNow design initiative, which seeks to
define a comprehensive, system-wide approach to controlling system and device
configuration and power management. One product of the OnNow initiative is the
Advanced Configuration and Power Interface
(ACPI)
version 1.0
specification,
which defines a new system board and BIOS interface that extends Plug and Play
data to include power management and other new configuration capabilities, all
under complete control of the operating system.
Unlike Plug and Play support in Microsoft Windows 95, the Windows 2000 Plug and
Play implementation does not rely on an Advanced Power Management (APM)
BIOS or a Plug and Play BIOS. These two BIOS implementations were designed for
Windows 95 as early attempts to support Plug and Play and power management;
they will be maintained in Windows 98 for backward compatibility only. ACPI
provides these services for both Windows 98 and Windows 2000.
The primary design goal of Plug and Play is to further the industry initiative to
simplify personal computers for end users. Beyond that, Windows 2000 Plug and
Play is designed to:
•Extend the existing Windows I/O infrastructure to support Plug and Play and
power management, while also supporting industry hardware standards for
Plug and Play.
•Achieve common device driver interfaces that support Plug and Play and power
management for many device classes under Windows 2000 and Windows 98.
In Windows 2000, Plug and Play support is optimized for laptop, workstation, and
,1752'8&7,21
Windows 2000 White Paper 2
server computers that include ACPI system boards. In addition, Plug and Play
device driver support for many device classes is provided by the Microsoft Win32®
Driver Model (WDM), which also supports power management and other new
capabilities that can be configured and controlled by the operating system.
7KH:LQGRZV,PSOHPHQWDWLRQ
To incorporate Plug and Play support into Windows 2000, a native Plug and Play
implementation was integrated into the existing Windows code base. This results in
the following changes for developers who previously created drivers under the
Windows NT 4.0 device driver model:
•Bus drivers are now separate from the HAL. Bus drivers control an I/O bus,
including per-slot functionality that is device-independent. In the new
architecture, bus drivers have moved out of the hardware abstraction layer
(HAL) to coordinate with changes and extensions made to existing kernel-mode
components, such as the Executive, device drivers, and the HAL. Bus drivers
are generally provided by Microsoft.
•New methods and capabilities are available to support device installation and
configuration. The new design includes changes and extensions to existing
user-mode components, such as the Spooler, class installers, Control Panel
applications, and Setup. In addition, new kernel-mode and user-mode Plug and
Play–enabled components have been added.
•New Plug and Play APIs are used to read and write information from the
registry. For the new design, changes and extensions were made to the registry
structure. This structure supports Plug and Play and allows the registry to be
enhanced in future versions of Windows, while also providing backward
compatibility.
Windows 2000 supports legacy Windows NT drivers, but these have no Plug and
Play and power management functionality. Manufacturers who want to support
complete Plug and Play capabilities for their devices and who want the same drivers
to function on both Windows NT and Windows operating systems need to develop
new drivers that integrate the latest Plug and Play and power management
functionality.
This white paper provides a brief overview of the architecture and design direction
for Plug and Play under Windows 2000. The beta releases of the Windows 2000
DDK document the actual driver modifications required to allow current drivers to
work in a Windows 2000 Plug and Play system.
Windows 2000 White Paper 3
A Plug and Play system requires the combined interaction of the personal
computer’s BIOS, hardware components, device drivers, and operating system
software. The basic system board implementation and BIOS support required for
Plug and Play support under Windows 2000 are defined in the ACPI specification.
Both Windows 2000 and Windows 98 use this specification as the basis for their
Plug and Play and OnNow architecture.
The ACPI specification defines a new interface between the operating system and
the personal computer’s Plug and Play and power management features. The ACPI
methods defined are independent of the actual operating system or CPU. ACPI
specifies a register-level interface to core Plug and Play and power management
functions and defines a descriptive interface for additional hardware features. This
gives system designers the ability to implement a range of Plug and Play and power
management features with different hardware designs while using the same
operating-system driver. ACPI also provides a generic system-event mechanism for
Plug and Play and power management.
In addition to the ACPI specification, other hardware support is defined in industry
standards, such as
Universal Serial Bus, Version 1.0
,
PCI Local Bus Specification,
Revision 2.1
, or PCMCIA standards, and in the Plug and Play specifications. (See
the References section at the end of this paper for locations of all specifications.)
6\VWHP6XSSRUWIRU3OXJDQG3OD\
Windows 2000 provides the following support for Plug and Play:
•Automatic and dynamic recognition of installed hardware. This includes
initial system installation, recognition of Plug and Play hardware changes that
occur between system boots, and response to run-time hardware events, such
as dock or undock and device insertion or removal.
•Hardware resource allocation (and reallocation). Drivers for Plug and Play
devices do not assign their own resources. Instead, the required resources for
a device are identified when the device is enumerated by the operating system.
The Plug and Play Manager retrieves the requirements for each device during
resource allocation. Based on the resource requests that each device makes,
the Plug and Play Manager assigns the appropriate hardware resources, such
as I/O ports, IRQs, DMA channels, and memory locations. The Plug and Play
Manager reconfigures resource assignments when needed, such as when a
device is added to the system, and requests resources that are already in use.
•Loading of appropriate drivers. The Plug and Play Manager determines
which drivers are required to support a particular device and loads those
drivers.
•An interface for driver interaction with the Plug and Play system. The
interface consists primarily of I/O routines, Plug and Play I/O request packets
(IRPs), required driver entry points, and information in the registry.
•Interaction with power management. One of the key features of both Plug
and Play and power management is dynamic handling of events. The addition
3/8*$1'3/$<
29(59,(:
Windows 2000 White Paper 4
or removal of a device is an example of such a dynamic event, as is the ability
to awaken a device or put it to sleep. Plug and Play and power management
both use WDM-based functions and have similar methods for responding to
dynamic events.
•Registration for device notification events. Plug and Play enables user-
mode code to register for and be notified of certain Plug and Play events. The
RegisterDeviceNotification routine allows callers to filter exactly the class or
device for which they want to receive notification. This can be specific, such as
a file system handle, or general, such as a class of devices. Legacy
Windows NT notification methods continue to work as before.
'HYLFHDQG'ULYHU6XSSRUW/HYHOV
The extent to which a device supports Plug and Play depends on the Plug and Play
support in both the device hardware and the driver(s) for the device (see Table 1).
Plug and Play driver Non-Plug and Play driver
Plug and Play device Full Plug and Play No Plug and Play
Non-Plug and Play device Possible partial Plug and Play No Plug and Play
As this table indicates, any device that supports Plug and Play should have Plug
and Play support in its driver. The following list expands on the possible
configurations:
•Plug and Play device and driver—full Plug and Play support. To provide
the optimal Plug and Play support, the hardware implementation must comply
with the OnNow design initiative, including ACPI. Windows 2000 Plug and Play
targets ACPI systems only.
•Plug and Play device/non-Plug and Play driver—no Plug and Play
support. If a driver does not support Plug and Play, its device behaves as a
non-Plug and Play device, regardless of support in the hardware. A non-Plug
and Play device can constrain the Plug and Play capabilities of the entire
system.
•Non-Plug and Play device/Plug and Play driver—possible partial Plug and
Play support. A non-Plug and Play device can have partial Plug and Play
support. Although it is not possible for the system to automatically and
dynamically recognize the hardware and load the appropriate drivers, it is
possible to have Plug and Play manage resource allocation, provide an
interface for driver interaction with the Plug and Play system, interact with
power management, and register device notification events. Also, if a non-Plug
and Play device has a Plug and Play driver, the device appears in the Device
Manager application, and property pages are available for that device.
•Non-Plug and Play device/non-Plug and Play driver: no Plug and Play
support.
Windows 2000 White Paper 5
Legacy drivers written before Plug and Play was incorporated into the operating
system continue to function as they did previously (without any Plug and Play
capability). All new drivers should support Plug and Play.
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.
.HUQHOPRGH3OXJDQG3OD\0DQDJHU
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.
3RZHU0DQDJHUDQG3ROLF\0DQDJHU
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
:,1'2:63/8*
$1'3/$<
$5&+,7(&785(