| Предыдущий | Следующий |
| kIOReturn???Error | kIOReturnNotOpen |
kIOReturnCannotLock
Не удалось получить блокировку
kIOReturnCannotLock означает невозможность захватить требуемую блокировку. Общее определение не указывает объект, владельца или политику, поэтому это не гарантированное «другое приложение владеет устройством». Контекст семейства IOKit или драйвера определяет защищаемый объект.
Код отличается от kIOReturnLockedRead и kIOReturnLockedWrite, описывающих заблокированные пути чтения/записи. Здесь важны операция захвата и состояние жизненного цикла/параллелизма. Принудительное повторное открытие может усилить конкуренцию или нарушить состояние.
Что собрать
- Службу, метод, переход состояния, вызывающих и незавершённые операции.
- Порядок блокировок и пути отмены в драйвере или user-client.
- Используйте completion events или документированную сериализацию вместо агрессивных повторов.
- Постоянный отказ может означать cleanup, deadlock или ошибку протокола владения.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.