共用方式為


當系統返回 S0 時,報告裝置開啟電源

[僅適用於 KMDF]

當系統從低電源狀態返回其運作 (S0) 狀態時,PnP 管理員會傳送系統設定電源 IRP (IRP_MN_SET_POWER) , 以將裝置傳回其運作 (D0) 狀態。 WDF 會處理系統設定電源 IRP。 不過,由於在多元件案例中,驅動程式已直接向電源管理架構註冊 (PoFx) ,因此當裝置完成轉換至完全在 (D0) 電源狀態時,驅動程式必須呼叫 PoFxReportDevicePoweredOn 。 驅動程式可以註冊 WDM 預處理器例程,以在系統設定電源 IRP 送達時接收通知來完成此動作。

驅動程式可以使用下列程式:

  1. 呼叫 WdfDeviceInitAssignWdmIrpPreprocessCallback 以註冊IRP_MN_SET_POWEREvtDeviceWdmIrpPreprocess 回呼函式。 在回呼中,驅動程式會在其裝置擴充功能中設定旗標,以指出它需要從其下一個 EvtDeviceD0Entry 回呼呼叫 PoFxReportDevicePoweredOn
  2. EvtDeviceD0Entry 中,如果設定旗標,驅動程式會清除旗標並呼叫 PoFxReportDevicePoweredOn
  3. 驅動程式也會檢查 EvtDeviceSelfManagedIoFlush 中的旗標。 如果設定旗標,裝置無法返回 D0 且裝置已移除。 在此情況下,驅動程式會呼叫 PoFxReportDevicePoweredOn ,然後向 Power Framework 取消註冊。