Поделиться через


Функция 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 .

Возвращаемое значение

None

Remarks

Для некоторых типов связей, таких как BusRelations, эта подпрограмма заставляет диспетчера PnP или диспетчера питания собирать обновленные сведения о связях, отправляя IRP_MN_QUERY_DEVICE_RELATIONS запрос драйверам устройства. Для других типов отношений, таких как EjectionRelations, диспетчеру 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)

См. также раздел

IRP_MN_QUERY_DEVICE_RELATIONS

IRP_MN_REMOVE_DEVICE