| Предыдущий | Следующий |
| SPAPI_E_DUPLICATE_FOUND | SPAPI_E_KEY_DOES_NOT_EXIST |
SPAPI_E_NO_DRIVER_SELECTED
SPAPI_E_NO_DRIVER_SELECTED: смысл кода и диагностика
SPAPI_E_NO_DRIVER_SELECTED — HRESULT, относящийся к области SetupAPI. Для элемента устройства не выбран драйвер, необходимый для установки.
Применительно к SPAPI_E_NO_DRIVER_SELECTED код относится к SetupAPI и обычно связан с INF-файлом, набором сведений об устройствах, очередью файлов, экземпляром устройства или выбором драйвера.
Практический вывод для SPAPI_E_NO_DRIVER_SELECTED: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для SPAPI_E_NO_DRIVER_SELECTED найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы SetupAPI.
Как читать имя SPAPI_E_NO_DRIVER_SELECTED
Имя SPAPI_E_NO_DRIVER_SELECTED помогает сузить поиск: NO — отсутствие объекта или возможности; DRIVER — драйвер; SELECTED — выбранный объект. Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Проверка причины
Применительно к SPAPI_E_NO_DRIVER_SELECTED код связан с состоянием хранилища. Применительно к SPAPI_E_NO_DRIVER_SELECTED перед изменениями перечитайте актуальную разметку и различайте свободное место файловой системы, нераспределённое пространство и квоты.
- Для SPAPI_E_NO_DRIVER_SELECTED сохраните текущее состояние диска/тома, роль системного раздела и доступное пространство перед повторной операцией.
- При разборе SPAPI_E_NO_DRIVER_SELECTED запишите hardware ID, device instance ID, ClassGuid, выбранный INF и фактически разрешённую секцию.
- При разборе SPAPI_E_NO_DRIVER_SELECTED проверьте setupapi.dev.log и первую строку, где установка отклоняет INF или действие с устройством.
- При разборе SPAPI_E_NO_DRIVER_SELECTED сверьте синтаксис секций/директив, стиль INF и наличие пакета в Driver Store.
- При разборе SPAPI_E_NO_DRIVER_SELECTED завершите активную file queue или операцию с devinfo set перед изменением заблокированных объектов.
Как воспроизвести проблему
- Для SPAPI_E_NO_DRIVER_SELECTED сохраните полный фрагмент setupapi.dev.log с контекстом до и после HRESULT.
- Для SPAPI_E_NO_DRIVER_SELECTED проверьте перечисление Plug and Play заново и не используйте устаревший SP_DEVINFO_DATA.
- Для SPAPI_E_NO_DRIVER_SELECTED валидируйте INF штатными средствами на копии пакета до повторной установки.
Как подтвердить исправление
Применительно к SPAPI_E_NO_DRIVER_SELECTED для SPAPI_E_NO_DRIVER_SELECTED недостаточно скрыть ошибку повтором. Применительно к SPAPI_E_NO_DRIVER_SELECTED после изменения воспроизведите исходную операцию, проверьте конечное состояние объекта и убедитесь, что ресурсы освобождаются без потери первичного HRESULT.
Ссылки по SPAPI_E_NO_DRIVER_SELECTED
Нужно найти другой код? Найти другой код состояния или ошибки.