Определить вставку PnPEntity - PullRequest
0 голосов
/ 28 октября 2011

Я использую ManagementEventWatcher в C # для мониторинга событий WMI PnPEntity.Мой запрос таков: «SELECT * FROM __InstanceCreationEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_PnPEntity'"

Когда я подключаю конкретное устройство, которое уже было вставлено в ПК, событие возникает, и все в порядке.Тем не менее, если я вставляю новое оборудование такого же типа (т.е. PID и VID одинаковы, но новый DeviceID), событие возникает немедленно, но ConfigManagerErrorCode == 1 («Устройство настроено неправильно»).

После этого будет установлен драйвер для устройства, и если я удалю устройство и заново вставлю его, все в порядке.

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

Спасибо

1 Ответ

0 голосов
/ 28 октября 2011

Вы пробовали __ InstanceModificationEvent и выбрасывали первые при настройке нового устройства?

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

Есть также некоторые другие параметры P / Invoke здесь и здесь (естьпреобразовать c ++ в c #)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...