IoInvalidateDeviceRelations 函式 (wdm.h)
IoInvalidateDeviceRelations 例程會通知 PnP 管理員裝置的關聯 (,例如總線關聯、退出關聯、移除關聯,以及目標裝置關聯性) 已變更。
語法
void IoInvalidateDeviceRelations(
[in] PDEVICE_OBJECT DeviceObject,
[in] DEVICE_RELATION_TYPE Type
);
參數
[in] DeviceObject
裝置的 PDO 指標。
[in] Type
指定描述已變更之關聯類型的 DEVICE_RELATION_TYPE 列舉值。 可能的值包括 BusRelations、退出Relations、RemovalRelations 和 TargetDeviceRelation。 從 Windows 7 開始,也支援 PowerRelations 值。
傳回值
無
備註
對於某些關聯類型,例如 BusRelations,此例程會導致 PnP 管理員或電源管理員透過將 IRP_MN_QUERY_DEVICE_RELATIONS 要求傳送給裝置的驅動程式來收集更新的關聯資訊。 對於其他關聯類型,例如 退出Relations,PnP 管理員不需要立即收集新的關聯資訊;PnP 管理員只會在準備退出裝置時,向驅動程序查詢退出關係。
在總線驅動程式呼叫 IoInvalidateDeviceRelations 以通知 PnP 管理員裝置已消失之後,總線驅動程式必須繼續處理該裝置的 PnP IRP,直到收到 IRP_MN_REMOVE_DEVICE 要求為止。 為了回應此 IRP,總線驅動程式會傳回STATUS_NO_SUCH_DEVICE。 在總線驅動程式成功完成 IRP_MN_REMOVE_DEVICE 要求之前,總線驅動程式可以存取裝置擴充功能來檢查裝置的旗標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS (storport) |