PSHED 插件简介

平台供应商可以通过提供利用特定于平台的功能的 PSHED 插件来补充默认的 PSHED 功能。 PSHED 插件是实现由 PSHED 调用的回调接口的特殊用途 Windows 设备驱动程序。 PSHED 插件的目的是增强或替代 Microsoft 提供的 PSHED 的默认行为。

PSHED 插件实现为 Windows 驱动程序模型 (WDM) 设备驱动程序,在系统启动期间枚举特定硬件标识符时,即插即用 (PnP) 管理器加载该设备驱动程序。 平台供应商指定用于启动 PSHED 插件加载的硬件标识符。 此硬件标识符可以位于 ACPI 命名空间中,也可以位于另一个设备命名空间中。

PSHED 插件不处理用户模式应用程序或更高级别驱动程序启动的任何 I/O 请求。 因此,PSHED 插件只需要实现驱动程序调度例程, (请参阅 DRIVER_DISPATCH) 来处理 IRP_MJ_PNPIRP_MJ_POWER IRP。 PSHED 插件不必注册设备接口或为其设备对象创建符号链接。

PSHED 插件参与以下一个或多个与硬件错误处理相关的 功能区域

对于其中每个功能区域,PSHED 插件实现由 PSHED 调用的回调函数。 PSHED 插件指定它参与的功能区域,并在它向 PSHED 注册自身时提供指向关联回调函数 指针。 可以同时向 PSHED 注册多个 PSHED 插件。 但是,如果多个已注册的 PSHED 插件指定它参与特定功能区域,则只有最后一个自行注册的插件才会实际参与该功能区域。

PSHED 插件旨在由平台供应商实现,作为硬件平台硬件错误报告和恢复功能的软件接口。 PSHED 插件可以使用平台供应商定义的任何专用接口或机制与平台固件进行接口。 这样,平台供应商就可以继续使用现有固件来处理硬件错误。 随着时间的推移,Microsoft 希望标准化更多的硬件错误报告和恢复功能。 此时,对常规错误处理和报告的 PSHED 插件的需求将减少,因此,PSHED 插件将仅用于支持特定于供应商的功能,这些功能提供超出标准硬件错误处理功能的额外价值。