IoInvalidateDeviceRelations 函数 (wdm.h)

IoInvalidateDeviceRelations 例程通知 PnP 管理员,设备的关系 (,例如总线关系、弹出关系、删除关系和目标设备关系) 已更改。

语法

void IoInvalidateDeviceRelations(
  [in] PDEVICE_OBJECT       DeviceObject,
  [in] DEVICE_RELATION_TYPE Type
);

参数

[in] DeviceObject

指向设备的 PDO 的指针。

[in] Type

指定描述已更改的关系类型的 DEVICE_RELATION_TYPE 枚举值。 可能的值包括 BusRelationsEjectionRelationsRemovalRelationsTargetDeviceRelation。 从 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)

另请参阅

IRP_MN_QUERY_DEVICE_RELATIONS

IRP_MN_REMOVE_DEVICE