PnP 管理員會轉散發系統資源 (UMDF 1)

警告

UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 撰寫。 未將新功能新增至 UMDF 1,且較新版本的WINDOWS 10上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。

封存的 UMDF 1 範例可在Windows 11 22H2 - 2022 年 5 月驅動程式範例更新中找到。

如需詳細資訊,請參閱使用 UMDF 消費者入門

如果使用者將裝置新增至系統,且裝置需要 PnP 管理員已指派給另一部裝置的系統資源,則 PnP 管理員會嘗試重新指派資源。

在此程式中,PnP 管理員會停止裝置,並將其從其工作 (D0) 狀態中取出。 接著,它會將新的資源清單傳遞給裝置,讓裝置可以使用新的資源重新開機。

重新發佈資源時,如果其中一個裝置的 UMDF 型驅動程式已提供 IPnpCallback::OnQueryStop 回 呼函式,且回呼函式已已重新指派,PnP 管理員將不會改變裝置的資源指派。

關閉電源順序
針對支援停止裝置的每個 UMDF 型函式和篩選驅動程式,架構會依序執行下列動作,一次一個驅動程式,從驅動程式堆疊中最高的驅動程式開始:

  1. 如果驅動程式使用自我管理 I/O,架構會呼叫驅動程式的 IPnpCallbackSelfManagedIo::OnSelfManagedIoSuspend 回 呼函式。

  2. 架構會停止所有裝置的電源受控 I/O 佇列。

  3. 如果驅動程式存在) ,架構會呼叫驅動程式的 IPnpCallback::OnD0Exit 回 呼函式 (。

  4. 如果驅動程式存在,架構會呼叫驅動程式的 IPnpCallbackHardware::OnReleaseHardware 回呼函式 (如果它存在,) 傳遞 PnP 管理員指派給裝置的硬體資源清單。

若要查看顯示這些步驟的圖表,請參閱 使用者卸載裝置中的循序移除圖。

電源啟動順序
針對支援裝置的每個 UMDF 型函式和篩選驅動程式,架構會依序執行下列動作,一次一個驅動程式,從驅動程式堆疊中最低驅動程式開始:

  1. 如果驅動程式存在) ,架構會呼叫驅動程式的 IPnpCallbackHardware::OnPrepareHardware 回呼函式 (,並傳遞 PnP 管理員指派給裝置的硬體資源清單。

  2. 如果驅動程式存在) ,架構會呼叫驅動程式的 IPnpCallback::OnD0Entry 回呼函式 (。

  3. 架構會重新開機所有裝置的電源受控 I/O 佇列。

  4. 如果驅動程式使用自我管理 I/O,架構會呼叫驅動程式的 IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart 回呼 函式。

若要查看顯示這些步驟的圖表,請參閱 裝置中的使用者外掛程式