即插即用简介
即插即用(PnP)是 Windows 的一部分,它使计算机系统能够适应硬件更改,并尽量减少用户的干预。 用户可以添加和删除设备,而无需执行手动配置,也无需了解计算机硬件。 例如,用户可以停靠便携式计算机并使用扩展坞键盘、鼠标和监视器,而无需进行手动配置更改。
PnP 需要设备硬件、系统软件和驱动程序的支持。 硬件行业的计划定义了用于轻松识别加载项板和系统组件的标准。 此 Windows 驱动程序工具包 (WDK) 文档重点介绍对 PnP 的系统软件支持,以及驱动程序如何使用该支持来实现 PnP。
PnP 的系统软件支持以及 PnP 驱动程序提供以下内容:
自动和动态识别已安装的硬件
硬件资源分配(和重新分配)
PnP 管理器确定每个设备请求的硬件资源(例如输入/输出端口、中断请求、直接内存访问通道和内存位置),并相应地分配硬件资源。 PnP 管理器在必要时重新配置资源分配,例如将新设备添加到需要已使用资源的系统时。
PnP 设备的驱动程序不分配资源;而是在枚举设备时标识设备请求的资源。 PnP 管理器在资源分配期间检索每个设备的要求。 对于旧设备,资源不可动态配置,因此 PnP 管理器首先将资源分配给旧设备。
加载适当的驱动程序
驱动程序与 PnP 系统交互的编程接口
该接口包括 I/O 管理器例程、即插即用次要 IRP、所需的标准驱动程序例程和注册表中的信息。
驱动程序和应用程序了解硬件环境中的更改的机制,并采取适当的措施
PnP 使驱动程序和用户模式代码能够注册并收到某些硬件事件的通知。
对于符合 PnP 资格的驱动程序,它必须提供所需的 PnP 入口点,处理所需的 PnP IRP,并遵循 PnP 指南。