Почему мое USB-устройство иногда создает другую запись в реестре Windows (7 и 10)?

#windows #usb #registry #devcon

#Windows #usb #реестр #devcon

Вопрос:

  1. Что может привести к тому, что USB-устройство будет иметь двойные записи для одного и того же устройства в реестре?

  2. Как получены числа, следующие за «9 amp;» (см. Ниже), т. Е. 3406C40F и 2D6B958A, на случай, если это подсказка о том, что вызывает эту проблему.

Я предполагаю, что, возможно, устройство сообщает о себе по-разному во время перечисления, возможно, с другой конфигурацией и / или дескриптором устройства.

Подробности теста, который вызывает эту проблему: я запускаю тест перечисления USB plug / displug, в котором каждый раз, когда я подключаю устройство, я проверяю различные вещи, чтобы убедиться, что перечисление правильное. Этот цикл повторяется 1000 раз. Это тест разработки.

После перечисления тест использует devcon.exe чтобы проверить некоторые вещи о коллекциях. По какой-то неизвестной причине после некоторого количества перечислений номера, связанные с коллекциями, меняются. Дальнейшее расследование показывает, что в реестре для одного и того же устройства есть две записи с одинаковыми номерами.

9 amp; 3406C40F — это номер в начале теста, связанный с каждой коллекцией

и через некоторое время после нескольких сотен перечислений оно меняется, в данном случае на

9 amp; 2D6B958A

начальное перечисление 2020-09-18 16:09:22 066 основная ИНФОРМАЦИЯ =========> devcon.exe «найти СПРЯТАННЫЙ»vid_047F* <=========

HID VID_047Famp; PID_015Damp; MI_03amp; COL05 9amp; 3406C40Famp; 0amp;0004: устройство, совместимое с HID HID VID_047Famp;PID_015Damp;MI_03amp; COL01 9 amp; 3406C40Famp; 0amp;0000: устройство, совместимое с HID HID VID_047Famp;PID_015Damp;MI_03amp; COL02 9amp; 3406C40Famp;0amp;0001: Устройство, совместимое с HID HID VID_047F amp; PID_015Damp; MI_03amp; COL03 9 amp; 3406C40F
amp; 0amp; 0002: устройство, совместимое с HID HID VID_047Famp; PID_015Damp; MI_03 amp; COL04 9 amp; 3406C40F: устройство, совместимое с HID

несколько сотен перечислений позже,

HID VID_047Famp; PID_015Damp; MI_03amp; COL01 9amp;2D6B958A amp; 0amp; 0000: устройство, совместимое с HID HID VID_047Famp;PID_015Damp;MI_03amp; COL02 9amp; 2D6B958Aamp; 0 amp; 0001: устройство, совместимое с HID HID VID_047Famp;PID_015Damp;MI_03amp; COL03 9amp; 2D6B958Aamp;0amp;0002: Устройство управления потребителем, совместимое с HID
HID VID_047Famp; PID_015Damp; MI_03amp; COL04 9 amp; 2D6B958A amp; 0amp; 0003: устройство, совместимое с HID HID VID_047Famp;PID_015Damp; MI_03 amp; COL05 9 amp; 2D6B958A amp; 0amp; 0004: устройство, совместимое с HID

Я запускал этот тест в течение миллионов циклов на других устройствах, но никогда раньше не сталкивался с этой проблемой. Это происходит на win7 и win10.

Любая помощь будет очень признательна! спасибо!

Комментарии:

1. Вы каждый раз подключаете его к одному и тому же USB-порту? Обычно эти шестнадцатеричные цифры зависят от USB-порта, но я не знаю, как именно они генерируются.

2. @DavidGrayson — USB-порт в любом случае остается неизменным.

Ответ №1:

Это ошибка устройства. Устройство периодически не сообщает свой серийный номер, поэтому ОС создает новую запись с другим LUID (локально уникальным идентификатором).