ACPI 设备的设备堆栈

本部分介绍 ACPI 设备的设备堆栈,其中包括供应商提供的 WDM 函数驱动程序创建的可选功能设备对象 (FDO)。

系统会为系统 ACPI 命名空间中的每个设备创建下图所示的两个设备堆栈之一。

two diagrams illustrating, on the left, an acpi device stack with a filter do and, on the right, an acpi device stack without a filter do.

如果 ACPI 设备是集成到系统板上的硬件设备,则系统会使用总线筛选器设备对象(筛选器 DO)创建设备堆栈。 设备的物理设备对象 (PDO) 由系统提供的根总线驱动程序创建,而 ACPI 驱动程序会创建总线筛选器 DO。 筛选器 DO 的存在对设备堆栈中其上方的其他设备对象是透明的。

如果设备不是集成到系统板上的硬件设备,ACPI 驱动程序将枚举设备并创建 PDO。 无论哪种情况,供应商都会提供可选的 FDO。

系统提供的根总线驱动程序和 ACPI 驱动程序

Microsoft 提供根总线驱动程序和 ACPI 驱动程序。 在具有 ACPI BIOS 的系统上,HAL 会导致在设备树底部的系统启动期间加载 ACPI 驱动程序,在设备树底部该驱动程序充当操作系统和 BIOS 之间的接口。 ACPI 驱动程序对其他驱动程序是透明的。

供应商提供的函数驱动程序

供应商可以为 ACPI 设备提供可选的 WDM 函数驱动程序。 函数驱动程序实现设备的操作区域和相关设备特定的操作。