PnpSurpriseRemove 規則 (wdm)
PnpSurpriseRemove 規則會指定驅動程式不會在處理 IRP_MN_SURPRISE_REMOVAL 要求時呼叫 IoDeleteDevice 或 IoDetachDevice。
PnP 管理員會傳送 IRP_MN_SURPRISE_REMOVAL 要求,通知驅動程式裝置無法再用於 I/O 作業,而且可能已從電腦意外移除。
- 所有 PnP 驅動程式都必須處理 IRP_MN_SURPRISE_REMOVAL 要求。
- 驅動程式不得在裝置物件上呼叫 IoDeleteDevice 或 IoDetachDevice,直到IRP_MN_SURPRISE_REMOVAL IRP 成功且裝置的所有開啟句柄都關閉為止。
- 然後,PnP 管理員會將 IRP_MN_REMOVE_DEVICE 要求傳送至裝置堆疊。 為了回應移除 IRP,驅動程式會將其裝置對象與堆疊中斷連結,並加以刪除。
如需驅動程式應如何回應 IRP_MN_SURPRISE_REMOVAL 要求的詳細資訊,請參閱 處理IRP_MN_SURPRISE_REMOVAL要求
驅動程式模型:WDM
如何測試
在編譯時期 |
---|
執行 Static Driver Verifier,並指定 PnpSurpriseRemove 規則。 使用下列步驟來執行程式碼的分析:如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵。 |
適用於
另請參閱
處理IRP_MN_SURPRISE_REMOVAL要求IRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE