共用方式為


匯流排驅動程式的 Power-Down 和移除順序

下圖顯示架構在關閉電源並移除連接到匯流排的裝置時,架構呼叫 KMDF 匯流排驅動程式事件回呼函式的順序。 此序列會從圖形頂端開始,其中包含處於工作電源狀態的作業裝置, (D0) :

說明 KMDF 匯流排驅動程式電源關閉和移除順序的流程圖,從運作電源狀態的作業裝置開始, (D0) 。

在裝置實際從系統移除之前,架構不會刪除 PDO。 例如,如果使用者停用裝置管理員中的裝置,或在安全移除硬體公用程式中停止裝置,但不會實際移除裝置,架構會保留 PDO。 如果裝置稍後重新啟用,架構會使用相同的 PDO,並呼叫 EvtDevicePrepareHardware 回呼來開始啟動順序,如 實體裝置物件的 Power-Up 序列所示。

注意:一般而言,架構會在針對驅動程式列舉的所有子裝置呼叫EvtDeviceReleaseHardware回呼函式之後,呼叫匯流排驅動程式的EvtDeviceReleaseHardware回呼函式。 如果父代遇到裝置電源啟動或關閉電源故障,架構可能會在呼叫驅動程式的 EvtDeviceReleaseHardware 之前呼叫所有子裝置的 EvtDeviceReleaseHardware 函式。 請考慮呼叫 WdfDeviceInitSetReleaseHardwareOrderOnFailure ,以確保架構只會在移除所有子裝置之後呼叫匯流排驅動程式的 EvtDeviceReleaseHardware 回呼。