| Предыдущий | Следующий |
| KERN_INVALID_RIGHT | KERN_UREFS_OVERFLOW |
KERN_INVALID_VALUE
KERN_INVALID_VALUE является результатом Mach для ошибки диапазона. XNU характеризует его как явную ошибку диапазона, поэтому важен не только факт наличия аргумента, но и допустимость его числового значения, размера, количества, смещения или перечислимого диапазона для вызванного интерфейса.
Это более узкая ошибка, чем KERN_INVALID_ARGUMENT. Аргумент может иметь неправильный тип или быть неприменим к операции, не выходя численно за диапазон; и наоборот, правильно типизированное значение может завершиться ошибкой из-за превышения разрешённых API границ. Разделение этих случаев значительно повышает полезность проверки и телеметрии на стороне вызывающего кода.
Проверки, соответствующие этому результату
- Проверьте единицы длин, смещений, тайм-аутов и количеств; байты, страницы и элементы не взаимозаменяемы.
- Проверьте целочисленные преобразования и умножение на переполнение до передачи значения в вызов Mach.
- Убедитесь, что диапазон остаётся в пределах адресных или объектных ограничений целевой задачи.
- Для поля перечисления или параметров проверяйте документированный допустимый набор, а не скрывайте неизвестные биты маскированием.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.