| Предыдущий | Следующий |
| STATUS_PATH_NOT_COVERED | STATUS_LICENSE_QUOTA_EXCEEDED |
STATUS_NO_CALLBACK_ACTIVE
У потока нет активного обратного вызова, из которого можно вернуться
Windows может перейти из режима ядра в пользовательскую функцию обратного вызова, а затем использовать системную службу возврата из callback для возобновления вызывающего кода на стороне ядра. STATUS_NO_CALLBACK_ACTIVE означает, что служба возврата была выполнена без соответствующего активного состояния callback в текущем потоке.
Это ошибка потока управления и контекста потока. Сохраните идентификатор потока, стек входа в callback и код, вызвавший службу возврата. Вызов нативной функции из произвольного рабочего потока или после размотки кадра callback не создаст отсутствующий контекст обратного вызова ядра. Слои совместимости должны выполнять вход и возврат callback в ожидаемом потоке и на правильном уровне вложенности.
Что проверить
- Отслеживайте вход и возврат callback в одном и том же потоке.
- Запишите глубину вложенности и исключение или long jump, обошедшие нормальный поток callback.
- Не повторяйте NtCallbackReturn вне исходного контекста обратного вызова.
Ссылки
- System Informer PHNT: нативный API процессов и потоков
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.