啟動裝置的設計指導方針
PnP 管理員會在 iRP 完成IRP_MN_START_DEVICE 之前,裝置的建立要求失敗,指出裝置的所有驅動程式都已執行其啟動作業。
由於 DispatchPnP 常式會在 IRQL PASSIVE_LEVEL的系統執行緒內容中執行,所以使用 ExAllocatePoolWithTag 配置的任何記憶體,只要驅動程式不會控制保存系統頁面檔案的裝置,就可以在初始化期間獨佔使用。 在DispatchPnP常式傳回控制項之前,必須先使用ExFreePool釋放這類記憶體配置。
WDM 設備磁碟機的 ISR 應該能夠判斷它是否已在裝置啟動期間以假性中斷呼叫。 在處理IRP_MN_START_DEVICE的程式碼路徑中,從IoConnectInterrupt的呼叫傳回時,如果在裝置上啟用中斷,就可以立即呼叫 ISR。