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 请求来收集更新的关系信息。 对于其他关系类型(例如 弹出关系),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) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDIS(storport) |