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、 EjectionRelations、 RemovalRelations 和 TargetDeviceRelation。 从 Windows 7 开始,还支持 PowerRelations 值。
返回值
无
备注
对于某些关系类型(例如 BusRelations),此例程会导致 PnP 管理器或电源管理器通过向设备的驱动程序发送 IRP_MN_QUERY_DEVICE_RELATIONS 请求来收集更新的关系信息。 对于其他关系类型(如 弹出关系),PnP 管理器不需要立即收集新的关系信息;仅当 PnP 管理器准备弹出设备时,才会查询驱动程序的弹出关系。
在总线驱动程序调用 IoInvalidateDeviceRelations 以通知 PnP 管理器设备已消失后,总线驱动程序必须继续处理该设备的 PnP IRP,直到收到 IRP_MN_REMOVE_DEVICE 请求。 为了响应此 IRP,总线驱动程序返回STATUS_NO_SUCH_DEVICE。 在总线驱动程序成功完成IRP_MN_REMOVE_DEVICE请求之前,总线驱动程序可以访问设备扩展来检查设备的标志。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) |