Что означает код возврата ядра macOS 20 (KERN_INVALID_CAPABILITY)?

 
Также может означать:
КонстантаТипОС
ERROR_BAD_UNITОшибка WindowsWindows
ippStsNonIntelCpuСтатус Intel IPPЛюбая
ENOTDIRerrnoЛюбая
CREATE_DELETE_LOCK_NOT_LOCKEDКод BSODWindows
Предыдущий Следующий
KERN_UREFS_OVERFLOW KERN_RIGHT_EXISTS

KERN_INVALID_CAPABILITY

KERN_INVALID_CAPABILITY сообщает, что вызывающая сторона передала возможность порта Mach, которую ядро не может использовать для этого запроса. В Mach права порта являются возможностями: наличие определённого права разрешает только операции, связанные с этим правом и объектом.

Этот код связан с простым отсутствием имени, но является более конкретным. Имя порта может существовать и право может присутствовать, однако предоставленная возможность всё равно может быть непригодна, поскольку представляет другой объект, неподходящий уровень привилегий или право, не позволяющее выполнить запрошенное действие.

Что проверить

  • Какой объект Mach ожидает API: задачу, поток, узел, службу, запись памяти или другой объект, представленный портом.
  • Точное право и уровень привилегий, переданные вызывающей стороне.
  • Требовался ли управляющий или привилегированный порт, но вместо него было передано имя либо непривилегированный порт.
  • Была ли возможность получена из пространства имён другой задачи или аннулирована при завершении.

Не пытайтесь исправить это, считая номера портов взаимозаменяемыми. Ценность модели Mach состоит в том, что возможности кодируют и идентичность объекта, и разрешённую область доступа.

Ссылки


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