支援功能電源狀態
從 Windows 8 開始,電源管理員會 (PoFx) 包含執行時間電源管理架構。 PoFx 支援元件 (或子裝置) 層級的電源和時鐘管理。
從 KMDF 1.11 版開始,KMDF 驅動程式可以利用 PoFx 所提供的精細電源控制。 特別是,KMDF 驅動程式可以在單一裝置內定義多個邏輯元件,每個元件都可以獨立管理電源。
例如,函式驅動程式可能會為裝置的每個邏輯元件定義一組唯一的功能電源狀態。 類似于裝置和系統電源狀態,F0 表示元件已完全開啟,而選擇性狀態 F1、F2 等等則表示逐漸降低電源狀態。 若要支援 Fx 狀態,驅動程式必須是裝置的電源原則擁有者。
下表摘要說明不同功能電源狀態案例的架構支援。
類型 | KMDF 支援 | UMDF 支援 | 使用時機/如何實作 |
---|---|---|---|
支援 |
支援 |
當您想要讓電源引擎外掛程式 (PEP) 判斷閒置逾時值,而且驅動程式只有一個 F 狀態。 使用IdleTimeoutType = SystemManagedIdleTimout 或SystemManagedIdleTimoutWithHint呼叫WdfDeviceAssignS0IdleSettings。 |
|
支援 |
不支援 |
當您的驅動程式有多個 F 狀態時。
在此情況下,KMDF 會處理與 PoFx 的大部分互動。 如需範例程式碼,請參閱 PoFx 範例驅動程式。 |
|
支援使用 WDM 介面 |
不支援 |
當您的驅動程式有多個元件時。 在此情況下,您必須直接使用 PoFx 介面。 如需範例程式碼,請參閱 PoFx 範例驅動程式。 |
由於 KMDF 會在 PoFx 上新增最少的抽象概念,因此在撰寫驅動程式之前,對 PoFx 有基本的瞭解會很有説明。 因此,建議您先閱讀 Power Management Framework 概觀, 再閱讀這些主題。