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