IRP_MN_STOP_DEVICE
所有 PnP 驅動程式都必須處理此 IRP。
值
0x04
主要程式碼
傳送時
PnP 管理員會傳送此 IRP 來停止裝置,以便重新設定裝置的硬體資源。
在 Windows 2000 和更新版本系統上,只有先前 的IRP_MN_QUERY_STOP_DEVICE 成功完成時,PnP 管理員才會傳送此 IRP。
在 Windows 98/Me 上,PnP 管理員也會在裝置停用時以及裝置堆疊失敗時傳送此 IRP IRP_MN_START_DEVICE 要求。 如果啟動失敗,PnP 管理員會在沒有先前 IRP_MN_QUERY_STOP_DEVICE 要求的情況下傳送此 IRP。
PnP 管理員會在系統執行緒的內容中,在 IRQL PASSIVE_LEVEL傳送此 IRP。
輸入參數
無
輸出參數
無
I/O 狀態欄塊
驅動程式必須將 Irp-IoStatus.Status > 設定為 STATUS_SUCCESS。
作業
此 IRP 會先由裝置堆疊頂端的驅動程式處理,然後向下傳遞至堆疊中的每個較低驅動程式。
為了回應此 IRP,Windows 2000 和更新版本的驅動程式會停止裝置,並釋放裝置所使用的任何硬體資源,例如 I/O 埠和中斷。
在 Windows 2000 和更新版本上,只會使用停止 IRP 來釋放裝置的硬體資源,以便重新設定它們。 重新設定資源之後,裝置就會重新開機。 停止 IRP 不是移除 IRP 的前導項。 如需 PnP IRP 傳送至裝置順序的詳細資訊,請參閱隨插即用。
在 Windows 98/Me 上,停止 IRP 也會在啟動失敗後使用,以及停用裝置時。 在這些作業系統上執行的 WDM 驅動程式應該停止裝置、失敗任何傳入的 I/O,以及停用並取消註冊任何使用者模式介面。
驅動程式不得失敗此 IRP。 如果驅動程式無法釋放裝置的硬體資源,它必須失敗上述查詢停止 IRP。
如需處理停止 IRP 的詳細資訊 ,請參閱停止裝置 。
傳送此 IRP
保留供系統使用。 驅動程式不得傳送此 IRP。
規格需求
標頭 |
Wdm.h (包括 Wdm.h、Ntddk.h 或 Ntifs.h) |