WdfPdoInitRemovePowerDependencyOnParent 函式 (wdfpdo.h)

WdfPdoInitRemovePowerDependencyOnParent 方法會移除一節中所述的電源相依性。

語法

void WdfPdoInitRemovePowerDependencyOnParent(
  PWDFDEVICE_INIT DeviceInit
);

參數

DeviceInit

WDFDEVICE_INIT 結構的指標。

傳回值

備註

一般而言,架構要求父總線驅動程式在子裝置進入 D0 之前輸入 D0 裝置電源狀態,同樣地,子裝置在父裝置離開 D0 之前會結束 D0。

不過,可能不需要此行為,特別是當子裝置是未代表任何實際硬體的虛擬設備時。 在 S0 閑置電源關閉時,子裝置的電源狀態可能與父裝置無關。 事實上,子裝置可能沒有理由執行 S0 閑置偵測。 在此情況下,父裝置會根據I/O活動轉換 D0 和 Dx,而不是相依於子裝置的電源狀態。

移除電源相依性對總線驅動程式有下列影響:

  • 當父裝置位於 Dx 時,PDO PnP/電源回呼可能會執行。
  • PDO 啟用/停用總線喚醒回呼可能會在父裝置位於 Dx 時執行。
  • 假設 PDO 是電源原則擁有者 (,則從 PDO 上的電源管理佇列轉送的要求,假設 PDO 是電源原則擁有者) 到 FDO 上的非電源受控佇列,可能會在總線驅動程式位於 Dx 時分派。
  • 子堆疊會執行與父堆疊無關的電源狀態轉換。 這包括快速繼續等案例,例如子堆疊可能會接收其 S-IRP,甚至完成處理其 D-IRP,然後父堆疊完成處理自己的 D-IRP。

若要移除電源相依性,總線驅動程式可以在建立子裝置的 PDO 時呼叫 WdfPdoInitRemovePowerDependencyOnParent

如果父總線驅動程式不是父裝置堆疊的電源原則擁有者,此函式就不會採取任何動作。

規格需求

需求
最低支援的用戶端 Windows 10 (版本 2004)
最小 KMDF 版本 1.29
標頭 wdfpdo.h (包含 Wdf.h)
程式庫 Wdf01000.sys (KMDF)
IRQL PASSIVE_LEVEL