非 PnP 驅動程式的卸載常式
先前的驅動程式和高階檔案系統驅動程式不會處理 PnP 裝置移除要求,必須釋放資源、刪除裝置物件,以及從其 Unload 常式中的裝置堆疊中斷連結。
如果尚未這麼做,則舊版設備磁碟機在其 Unload 常式中應該執行的第一件事是停用來自裝置的中斷。 否則,當 Unload 常式在 ISR 需要處理中斷的裝置擴充功能中釋放資源時,可能會呼叫其 ISR 來處理裝置中斷。 即使其 ISR 在這些情況下成功執行,ISR 佇列的 DpcForIsr 或 CustomDpc 常式,也可能是在 IRQL > = DISPATCH_LEVEL執行的其他驅動程式常式,都會在 Unload 常式重新取得控制權之前執行,進而增加 Unload 常式刪除另一個驅動程式常式參考的資源的可能性。 如需詳細資訊 ,請參閱管理硬體優先順序 。
停用中斷之後,檔案系統和舊版驅動程式必須釋放資源和物件。 如需詳細資訊,請參閱下列兩節: