Пишу dll. Хочу, чтобы она, помимо всего прочего, могла обрабатывать момент подключения/отключения нового USB устройства в системе.
Понятно, что окна для того, чтобы ловить WM_DEVICECHANGE нет (и создавать его не хотелось бы). Есть ли какой-нибудь callback у системы, чтобы дернуть dll?
Второй вариант — написать свой callback и поставить hook, но я это делал только для случая, когда callback-функция была в dll, а hook ставился в клиенте. Можно всю эту систему закрутить в одной dll? Например, клиент сымитировать(?) дополнительным потоком? или в этом нет смысла?
Горит! Помогите..
Здравствуйте, Del00, Вы писали:
D>Пишу dll. Хочу, чтобы она, помимо всего прочего, могла обрабатывать момент подключения/отключения нового USB устройства в системе.
D>Понятно, что окна для того, чтобы ловить WM_DEVICECHANGE нет (и создавать его не хотелось бы). Есть ли какой-нибудь callback у системы, чтобы дернуть dll?
D>Второй вариант — написать свой callback и поставить hook, но я это делал только для случая, когда callback-функция была в dll, а hook ставился в клиенте. Можно всю эту систему закрутить в одной dll? Например, клиент сымитировать(?) дополнительным потоком? или в этом нет смысла?
D>Горит! Помогите..
Попробуй Device Management functions. Или SetupDiGetClassDevs дальше по ссылкам. Но, по-моему, там всюду хендл окна нужен
RobinBobin