An ideal Plug and Play driver has the following capabilities:
Most of the Plug and Play work required for device drivers is producing a callback entry point that the system uses to assign a configuration. For information about this entry point, see Driver Callback Entry Point. For a sample Plug and Play device driver, see Sample Plug and Play Driver.
Many Plug and Play system components, such as enumerators and arbitrators, will not be written by the majority of device driver writers. However, a basic understanding of what each of these components does is important for a complete understanding of how they interact.
Drivers for different architectures will interact with Plug and Play in different ways. Many VxDs will interact directly with Configuration Manager, but drivers that are a part of a layered driver model may get configuration information through another layer. For example, Windows 95 network drivers are based on the NDIS driver model, with extensions for Plug and Play capabilities. The net wrapper interacts with the Windows 95 configuration manager and routes the appropriate configuration information to the extended NDIS drivers. Windows 95 disk and SCSI drivers are based on the Windows® NT™ SCSI mini-port model, with extensions for Plug and Play. IOS routes configuration information to these drivers. VxDs such as Virtual Display Devices can interact directly with Configuration Manager. For each of these driver models, the interface with Configuration Manager is different. However, the basic requirements are the same.