Acpi.sys (Windows ACPI 驅動程式)
Windows ACPI 驅動程式Acpi.sys是 Windows 作業系統的收件匣元件。 Acpi.sys的責任包括支援電源管理和 隨插即用 (PnP) 裝置列舉。 在具有 ACPI BIOS 的硬體平臺上,HAL 會導致在裝置樹狀結構基底的系統啟動期間載入Acpi.sys。 Acpi.sys做為操作系統與 ACPI BIOS 之間的介面。 Acpi.sys對裝置樹狀結構中的其他驅動程式而言是透明的。
Acpi.sys在特定硬體平臺上執行的其他工作可能包括重新程式設計 COM 埠的資源,或啟用 USB 控制器進行系統喚醒。
本主題內容
ACPI 裝置
硬體平台廠商會在 ACPI BIOS 中指定 ACPI 命名空間的階層,以描述平台的硬體拓撲。 如需詳細資訊,請參閱 ACPI 命名空間階層。
針對 ACPI 命名空間階層中所述的每個裝置,Windows ACPI 驅動程式Acpi.sys會建立篩選裝置物件 (filter DO) 或實體裝置物件 (PDO)。 如果裝置已整合到系統面板中,Acpi.sys會建立篩選裝置物件,代表ACPI總線篩選器,並將它連接到總線驅動程式 (PDO) 上方的裝置堆疊。 對於 ACPI 命名空間中說明但不是在系統面板上描述的其他裝置,Acpi.sys會建立 PDO。 Acpi.sys會使用這些裝置物件,為裝置堆疊提供電源管理和 PnP 功能。 如需詳細資訊,請參閱 ACPI 裝置的裝置堆疊。
Acpi.sys建立裝置對象的裝置稱為 ACPI裝置。 ACPI 裝置集會因一個硬體平臺而異,取決於ACPI BIOS和主機板的設定。 Acpi.sys只會針對 ACPI 命名空間中所述的裝置載入 ACPI 總線篩選器,並永久連接到硬體平臺(通常,此裝置已整合到核心晶片或焊接到系統面板)。 並非所有主機板裝置都有ACPI總線篩選器。
所有 ACPI 功能對較高層級的驅動程式而言都是透明的。 這些驅動程式不得假設在任何指定的裝置堆疊中是否存在 ACPI 篩選器。
Acpi.sys和 ACPI BIOS 支援 ACPI 裝置的基本功能。 為了增強 ACPI 裝置的功能,裝置廠商可以提供 WDM 函式驅動程式。 如需詳細資訊,請參閱 ACPI 裝置函式驅動程序的作業。
ACPI 裝置是由 ACPI BIOS 中系統描述資料表中的定義區塊所指定。 裝置的定義區塊會指定作業區域,這是用來存取裝置數據的連續裝置記憶體區塊。 只有Acpi.sys修改作業區域中的數據。 裝置的函式驅動程式可以讀取作業區域中的數據,但不得修改數據。 呼叫時, 作業區域處理程式 會將作業區域中的位元組傳送至Acpi.sys中的數據緩衝區。 函式驅動程式和Acpi.sys的合併作業是裝置專屬的,而且是由硬體廠商在ACPI BIOS 中定義。 一般而言,函式驅動程式和Acpi.sys存取作業區域中的特定區域,以執行裝置特定的作業並擷取資訊。 如需詳細資訊,請參閱 支援作業區域。
ACPI 控件方法
ACPI 控制方法是宣告及定義簡單作業的軟體物件,可查詢及設定ACPI裝置。 控制方法會儲存在 ACPI BIOS 中,並以稱為 ACPI 機器語言 (AML) 的位元組程式代碼格式編碼。 裝置的控制方法會從系統韌體載入記憶體中的裝置 ACPI 命名空間,並由 Windows ACPI 驅動程式解譯,Acpi.sys。
若要叫用控件方法,ACPI 裝置的核心模式驅動程式會 起始IRP_MJ_DEVICE_CONTROL 要求,此要求是由Acpi.sys處理。 針對載入 ACPI 列舉裝置上的驅動程式,Acpi.sys一律會在驅動程式堆疊中實作實體裝置物件 (PDO)。 如需詳細資訊,請參閱 評估 ACPI 控制項方法。
ACPI 規格
進 階設定和電源介面規格 (ACPI 6.4 規格)可從整合可擴展韌體介面論壇網站取得。
ACPI 規格的 5.0 版引進了一組功能,以支援以晶片系統(SoC)積體電路為基礎的低功率行動電腦,並實 作連接的待命 電源模型。 從 Windows 8 開始,Windows ACPI 驅動程式Acpi.sys支援 ACPI 5.0 規格中的新功能。 如需詳細資訊,請參閱 SoC平臺的 Windows ACPI 設計指南。
ACPI 偵錯
系統整合者和ACPI設備驅動器開發人員可以使用 Microsoft AMLI 調試程式 來偵錯 AML 程式代碼。 因為 AML 是解譯的語言,因此 AML 偵錯需要特殊的軟體工具。
如需AMLI調試程式的詳細資訊,請參閱 ACPI偵錯。
Microsoft ACPI 來源語言 (ASL) 編譯程式
如需將 ACPI 來源語言 (ASL) 編譯成 ACPI 機器語言 (AML) 的相關信息,請參閱 Microsoft ASL 編譯程式。
Microsoft ASL 編譯程式 5.0 版支援 ACPI 5.0 規格中的功能。
ASL 編譯程式會與 Windows 驅動程式套件 (WDK) 一起散發。
ASL 編譯程式 (asl.exe) 位於 Tools\<build>\<architecture>\ACPIVerify
已安裝 WDK 的資料夾中,例如 C:\Program Files (x86)\Windows Kits\10\Tools\10.0.22631.0\x64
。