|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 101
|
|
WM_DEVICECHANGE07.09.2017, 02:45. Показов 1562. Ответов 2
Метки нет (Все метки)
Здравствуйте, при подключении или отключении usb устройства сообщение "WM_DEVICECHANGE" приходить несколько раз:
Remove - SWD#MMDEVAPI#{0.0.0.00000000}.{6454a4a0-028c-4855-8320-3cb5371cb9a6}#{e6327cad-dcec-4949-ae8a-991e976a79d2} --------------------------------------- 07.09.2017 02:36:47 Remove - SWD#MMDEVAPI#{0.0.1.00000000}.{7b6527ab-de58-40e0-ac49-8c9a2eecbab1}#{2eef81be-33fa-4800-9670-1cd474972c3f} --------------------------------------- 07.09.2017 02:36:47 Remove - USB#VID_0D8C&PID_0012&MI_00#6&25825c5e&0 &0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\GLOBAL --------------------------------------- 07.09.2017 02:36:47 Remove - USB#VID_0D8C&PID_0012&MI_00#6&25825c5e&0 &0000#{65e8773e-8f56-11d0-a3b9-00a0c9223196}\GLOBAL --------------------------------------- 07.09.2017 02:36:47 Remove - USB#VID_0D8C&PID_0012&MI_00#6&25825c5e&0 &0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\GLOBAL --------------------------------------- 07.09.2017 02:36:47 Remove - HID#VID_0D8C&PID_0012&MI_03#7&2eed3598&0 &0000#{4d1e55b2-f16f-11cf-88cb-001111000030} --------------------------------------- 07.09.2017 02:36:47 Remove - USB#VID_0D8C&PID_0012#5&1a3449c0&0&11#{a 5dcbf10-6530-11d2-901f-00c04fb951ed} --------------------------------------- 07.09.2017 02:36:47 Add - USB#VID_0D8C&PID_0012#5&1a3449c0&0&11#{a 5dcbf10-6530-11d2-901f-00c04fb951ed} --------------------------------------- 07.09.2017 02:36:50 Add - USB#VID_0D8C&PID_0012&MI_00#6&25825c5e&0 &0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\GLOBAL --------------------------------------- 07.09.2017 02:36:50 Add - USB#VID_0D8C&PID_0012&MI_00#6&25825c5e&0 &0000#{65e8773e-8f56-11d0-a3b9-00a0c9223196}\GLOBAL --------------------------------------- 07.09.2017 02:36:50 Add - USB#VID_0D8C&PID_0012&MI_00#6&25825c5e&0 &0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\GLOBAL --------------------------------------- 07.09.2017 02:36:50 Add - HID#VID_0D8C&PID_0012&MI_03#7&2eed3598&0 &0000#{4d1e55b2-f16f-11cf-88cb-001111000030} --------------------------------------- 07.09.2017 02:36:50 Add - SWD#MMDEVAPI#{0.0.0.00000000}.{6454a4a0-028c-4855-8320-3cb5371cb9a6}#{e6327cad-dcec-4949-ae8a-991e976a79d2} --------------------------------------- 07.09.2017 02:36:50 Add - SWD#MMDEVAPI#{0.0.1.00000000}.{7b6527ab-de58-40e0-ac49-8c9a2eecbab1}#{2eef81be-33fa-4800-9670-1cd474972c3f} --------------------------------------- 07.09.2017 02:36:50 То есть подключил и отключил устройство. Можно заметить что сообщения приходят не совсем одинаковые, я так понял PDEV_BROADCAST_DEVICEINTERFACE структура из которой мы извлекаем pbd->dbcc_name не хватает размера что бы получить полное имя устройства и система присылает повторно сообщение с дополненным именем. Верна ли моя логика?
0
|
|
| 07.09.2017, 02:45 | |
|
Ответы с готовыми решениями:
2
WinAPI C++ WM_DEVICECHANGE
Перехват wm_devicechange |
|
Ушел с форума
|
|
| 07.09.2017, 08:49 | |
|
Устройство может иметь (и обычно имеет) несколько device interface.
При отключении для каждого интерфейса приходит свое сообщение WM_DEVICECHANGE. Поэтому их обычно несколько. Это во-первых. А во-вторых, еще должны приходить сообщения query device remove, remove pending, device removed. Это во-вторых. Вот и выходит суммарно несколько WM_DEVICECHANGE...
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 101
|
|
| 12.09.2017, 04:46 [ТС] | |
|
А можно-ли как -нибудь получать сообщение с информацией исключительно только об устройстве? Мне как бы только guid и vid/pid нужен.
0
|
|
| 12.09.2017, 04:46 | |
|
Помогаю со студенческими работами здесь
3
Как обработать WM_DEVICECHANGE?
WM_DEVICECHANGE RegisterDeviceNotification PDEV_BROADCAST_HDR RegisterDeviceNotification / WM_DEVICECHANGE / VID _ PID Обработка события подключения и отключения USB(WM_DEVICECHANGE) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|