| Предыдущий | Следующий |
| STATUS_OPEN_FAILED | STATUS_ORDINAL_NOT_FOUND |
STATUS_IO_PRIVILEGE_FAILED
Не удалось изменить конфигурацию привилегий ввода-вывода процесса
На x86 уровень привилегий ввода-вывода процессора управляет выполнением привилегированных инструкций портового ввода-вывода. Windows резервирует этот механизм для операционной системы и специализированных путей совместимости; обычные приложения должны взаимодействовать с оборудованием через драйвер ядра и документированные интерфейсы устройств.
Сохраните архитектуру, режим процесса, запрошенное состояние и привилегии вызывающей стороны. Повторный запуск из настольного приложения с повышенными правами не является переносимым решением, а обход модели драйверов может нарушить изоляцию системы. На архитектурах, отличных от x86, соответствующая концепция или запрос могут вообще не поддерживаться.
Что исследовать
- Убедитесь, что сбойному пути действительно требуется прямой доступ к аппаратным портам.
- Для допустимых операций с устройством используйте подписанный драйвер и интерфейс IOCTL.
- Зафиксируйте архитектуру процесса и политику операционной системы, прежде чем предполагать проблему с привилегиями.
Ссылки
- Microsoft: уровень привилегий ввода-вывода x86
- Microsoft: токены доступа
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.