Что означает код возврата ядра macOS 0xE00002E2 (kIOReturnNotPermitted)?

 
Предыдущий Следующий
kIOReturnMessageTooLarge kIOReturnNoPower

kIOReturnNotPermitted

Разрешение не равно наличию возможности

kIOReturnNotPermitted означает, что операция не разрешена в текущем контексте. Устройство может поддерживать функцию и быть полностью исправным, но политика, правило владения, проверка безопасности, ограничение состояния или защищённый режим запрещают этому клиенту её использовать. Это отличается от kIOReturnUnsupported, при котором сама операция не реализована для выбранного объекта или режима.

Слепое повышение привилегий не является универсальным исправлением. Ограничение может задаваться пользовательским клиентом IOKit, драйвером ядра, владельцем эксклюзивного открытия, системной политикой либо состоянием устройства, которое нужно менять через другой API. Задача диагностики — определить границу политики, вернувшую статус.

Что следует проверить

  • Запишите идентичность клиента, полномочия или контекст авторизации и точный метод пользовательского клиента или интерфейса.
  • Прежде чем считать результат ошибкой привилегий, проверьте, не владеет ли другой процесс устройством эксклюзивно.
  • Убедитесь, что запрошенная операция допустима при текущем питании, конфигурации и состоянии носителя.
  • Используйте документированные интерфейсы авторизации и служб, а не обходите проверки владения сбросами или принудительным открытием.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.