Пишу dll. Хочу, чтобы она, помимо всего прочего, могла обрабатывать момент подключения/отключения нового USB устройства в системе.
Понятно, что окна для того, чтобы ловить WM_DEVICECHANGE нет (и создавать его не хотелось бы). Есть ли какой-нибудь callback у системы, чтобы дернуть dll?
Второй вариант — написать свой callback и поставить hook, но я это делал только для случая, когда callback-функция была в dll, а hook ставился в клиенте. Можно всю эту систему закрутить в одной dll? Например, клиент сымитировать(?) дополнительным потоком? или в этом нет смысла?