共用方式為


處理IRP_MN_REMOVE_DEVICE要求

PnP 管理員會使用此 IRP 指示驅動程式移除裝置的軟體標記法 (裝置物件,依此類推) 。 PnP 管理員會在裝置以 (的方式依序移除時傳送此 IRP,例如,由使用者) 「卸載」或「退出硬體」程式中的使用者起始、意外地 (使用者從其位置提取裝置,而不需事先警告) ,或使用者要求更新驅動程式時。

在 Windows 2000 和更新版本的系統上,PnP 管理員會在裝置管理員停用裝置時傳送此 IRP。 在 Windows 98/Me 上,PnP 管理員會改為傳送停止 IRP。 如需詳細資訊 ,請參閱停止裝置

PnP 管理員會先執行下列動作,再將此 IRP 傳送至裝置的驅動程式:

  • 如果有的話,將 IRP_MN_REMOVE_DEVICE 要求傳送至裝置的子系。

  • 通知任何已註冊裝置已移除通知的使用者模式元件和核心模式驅動程式。 PnP 管理員會呼叫在裝置控制碼上註冊目標裝置通知的任何使用者模式元件,並呼叫任何已註冊 EventCategoryTargetDeviceChange的核心模式驅動程式。

  • (在 Windows 2000 和更新版本的系統上,) 如果檔案系統掛接在裝置上,PnP 管理員會將移除要求傳送至檔案系統和任何檔案系統篩選器。 回應中,檔案系統通常會卸載磁片區。

裝置堆疊中的頂端驅動程式會處理移除 IRP,並將它傳遞至下一個較低的驅動程式。 裝置的父匯流排驅動程式是執行其移除裝置作業的最後一個驅動程式。 驅動程式會處理 其 DispatchPnP 常式中的 IRP。

在驅動程式針對 IRP_MN_REMOVE_DEVICE 要求傳回成功之前,它必須確定裝置的所有資源都已釋放。 此 IRP 可能是卸載驅動程式之前的最後一次呼叫。

移除一個裝置可以建立移除一系列其他裝置的需求。 PnP 管理員會協調從最上層移除到根裝置層級的其他裝置物件。

本章節內容:

移除函式驅動程式中的裝置

移除篩選驅動程式中的裝置

移除匯流排驅動程式中的裝置