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


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

После вызова водителем шины IoInvalidateDeviceRelations сообщить диспетчеру PnP о том, что устройство исчезло, драйвер шины должен продолжать обрабатывать PnP IRPs для этого устройства, пока он не получит запрос IRP_MN_REMOVE_DEVICE. В ответ на этот IRP водитель шины возвращает STATUS_NO_SUCH_DEVICE. Пока водитель автобуса не завершит запрос IRP_MN_REMOVE_DEVICE, водитель шины может получить доступ к расширению устройства, чтобы проверить флаги устройства.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 2000.
целевая платформа Всеобщий
заголовка wdm.h (include 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