| Предыдущий | Следующий |
| STATUS_FILE_CLOSED | STATUS_THREAD_NOT_IN_PROCESS |
STATUS_TOO_MANY_THREADS
Запрошенная операция не может выполняться при текущем числе потоков процесса
Этот NTSTATUS не является простым сообщением о глобальном сбое выделения потока. В документированном описании упоминаются операции, контракт которых требует, чтобы процесс имел ноль или один поток, например некоторые изменения первичного токена. Процесс с большим числом потоков может вернуть этот статус даже при достаточном объёме памяти в системе.
Прежде чем диагностировать исчерпание ресурсов, зафиксируйте API и число потоков процесса. Определите, требует ли операция однопоточной фазы процесса, особенно на раннем этапе настройки процесса или при изменении контекста безопасности. Произвольное завершение рабочих потоков не является безопасным исправлением; выполните операцию согласованно до создания дополнительных потоков или используйте поддерживаемый путь создания процесса.
Что проверить
- Зафиксируйте точный API и текущее число потоков в целевом процессе.
- Проверьте, документирует ли операция предварительное условие нулевого или одного потока.
- Перенесите операцию на правильный этап жизненного цикла вместо завершения не связанных с ней рабочих потоков.
Ссылки
- Открытые спецификации Microsoft: значения NTSTATUS
- Microsoft: CreateThread
- System Informer PHNT: собственный API процессов и потоков
Нужно найти другой код? Найти другой код состояния или ошибки.