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