Драйвер перечислил два дочерних PDO, которые вернули идентичные идентификаторы устройств - PullRequest
0 голосов
/ 10 октября 2019

У меня есть драйвер последовательной шины, когда я запускаю тест HLK, возникает BlueScreen. Я использую windbg для анализа файла дампа. Тогда я вижу причину: «Драйвер перечислил два дочерних PDO, которые вернули идентичные идентификаторы устройств». а именно, в системе выходят 2 PDO ICOMBUS \ BUS \ 6 & 17ee4417 & 4 & CHILD01.

С помощью windbg я знал, что драйвер шины создал два дубликата PDOS, которые вызвали BlueScreen, но я просто не могу понять, когдадрайвер создал два дамплифицированных PDOS.

Я пытался использовать каждый бит переменной ULONG (каждый бит представляет собой PDO), чтобы проверить, был ли перечислен PDO, если PDO был перечислен, я записал его в переменную ULONGбит. Таким образом, он работает, когда я устанавливаю драйвер, но не работает, когда я запускаю тестовый пример HLK " Запрос перебалансировки DF-PNP Новый тест ресурса устройства " и другие подобные случаи.

Будем благодарны за любые предложения по отладке или обходные решения!

некоторые полезные ошибки, перечисленные ниже:

DRIVER_VERIFIER_IOMANAGER_VIOLATION (c9)

Менеджер ввода-вывода поймал себя плохоВодитель. Аргументы: Arg1: 0000000000000249, Драйвер перечислил два дочерних PDO, которые возвратили идентичные идентификаторы устройств. Arg2: fffff800d1255cc0, адрес в коде драйвера, где была обнаружена ошибка. Arg3: ffffcc09b3a5c9d0, Первый адрес объекта устройства. Arg4: ffffcc09b14d64d0, Адрес объекта второго устройства.

Детали отладки:

...