Как обнаружить прибытие устройства pci?

Для классов устройств, таких как Дисководы, Адаптеры дисплея и т. Д. ( Все классы, перечисленные здесь), мы получаем DBT_DEVICEARRIVAL событие (т.е. WM_DEVICECHANGE событие с wParam как DBT_DEVICEARRIVAL). Когда подключается другое устройство, кроме перечисленных в ссылке (и его драйвер загружается), мы не получаем аналогичного DBT_DEVICEARRIVAL событие.

Например, для привода Pen DBT_DEVICEARRIVAL придет, но если активируется такое устройство PCI, как программный мост PCI или контроллер Thunderbolt, подключенный к шине PCI, оно не будет активировано.

Единственный вариант, который я вижу, - перечислять такие устройства на каждом DBT_DEVNODES_CHANGED, Это вызывает много накладных расходов, так как большую часть времени DBT_DEVNODES_CHANGED не из-за интересующего устройства.

Есть ли способ зарегистрировать обработчик событий для других устройств, таких как контроллер Thunderbolt?

0 ответов

Другие вопросы по тегам