支持 ACPI 设备

本部分介绍如何在 Windows 中使用 WDM 函数驱动程序,增强高级配置和电源接口 (ACPI) 设备的功能。

ACPI 设备包括低级别系统设备,例如电池、热区域,以及系统 ACPI 命名空间中定义的其他设备。 ACPI 命名空间是 ACPI BIOS 用于引用对象的分层命名空间。

系统提供的 ACPI 驱动程序和 ACPI BIOS 的组合操作支持 ACPI 设备的基本功能,并且对操作系统的其余部分是透明的。 ACPI 设备由 ACPI 系统描述表中的定义块指定。 除其他事项外,设备的定义块还指定一个操作区域,该操作区域指定用于访问设备数据的连续设备内存块。

为了增强 ACPI 设备的功能,供应商可以提供 WDM 函数驱动程序,该驱动程序通过驱动程序提供的操作区域与 ACPI BIOS 通信。 ACPI 驱动程序会调用函数驱动程序提供的操作区域处理程序来访问操作区域。

通过 ACPI 操作区域进行通信,函数驱动程序可以间接访问通常仅由 BIOS 控制的设备,并且 BIOS 可以调用特定于设备的操作,具体取决于驱动程序和主机系统的配置。 基本操作机制如下所示:

  1. ACPI BIOS 读取或写入设备操作区域中的数据。

  2. 若要访问操作区域,ACPI 驱动程序应调用函数驱动程序的操作区域处理程序。

  3. 操作区域处理程序执行为访问权限编程的任何操作,并返回与访问权限关联的信息。

以下两个示例演示供应商如何使用函数驱动程序来增强 ACPI 设备的功能:

  1. ACPI 设备可以访问函数驱动程序操作区域中的索引,该索引会导致驱动程序在供应商的预安装软件中启用声卡音量控件。

  2. 驱动程序会监视电池的剩余容量、热区域的温度,以及通常只能由 BIOS 访问的其他内容。

以下几个主题介绍如何为 ACPI 设备提供函数驱动程序:

ACPI 设备的设备堆栈

ACPI 设备函数驱动程序的操作

有关支持 ACPI 设备函数驱动程序的系统提供的支持例程的信息,请参阅 ACPI 操作区域处理程序引用

有关 ACPI 设备和命名空间的详细信息,请参阅高级配置和电源接口 (ACPI) 规范