На каком шаге останавливается запуск драйвера
Когда Windows находит устройство, она подбирает для него драйвер, загружает файл в память и вызывает его стартовую процедуру. В ней драйвер готовится к работе: регистрирует себя в системе, проверяет, что ему хватает нужных компонентов, настраивает внутренние структуры. Если на этом шаге драйвер сообщает об ошибке, диспетчер устройств показывает код 37. Устройство при этом в списке есть, и Windows знает, какой драйвер ему нужен, — сбой случился уже внутри самого драйвера.
У соседних кодов стадии другие. Код 28 означает, что драйвер вообще не установлен, код 39 — что Windows не смогла загрузить его файл, код 10 — что драйвер запустился, а устройство не стартовало. У кода 37 файл на месте и загружен, но не проходит самый первый этап. Есть и деталь из документации: если драйверу на старте не хватило ресурсов, диспетчер покажет не 37, а код 3. Значит, за кодом 37 обычно стоит не нехватка памяти, а сам драйвер или то, чего он ждёт от системы.
Виновата Windows или деталь? Чаще Windows. Типичные случаи — драйвер от другой версии Windows, файлы, повреждённые после сбоя обновления или неудачного удаления программы, конфликт с защитным пакетом или утилитой, которая ставит свои драйверы. Реже, особенно у старых драйверов, отказ связан с тем, что не отвечает само устройство или его контроллер. Поэтому, когда программные шаги не помогли, дальше смотрят железо.
