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