| Предыдущий | Следующий |
| STATUS_TIMEOUT | STATUS_REPARSE |
STATUS_PENDING
Что означает STATUS_PENDING
STATUS_PENDING означает, что операция принята к асинхронному выполнению и завершится позже. Это не окончательный успех и не окончательная ошибка.
До сигнала завершения все объекты и буферы, необходимые операции, должны оставаться действительными.
Что проверить
- Зафиксируйте идентификатор запроса и единственный путь его окончательного завершения или отмены.
- Не освобождайте буфер, файловый объект или контекст обратного вызова сразу после возврата
STATUS_PENDING. - В драйвере корректно обрабатывайте правила pending для IRP и не завершайте один запрос из двух конкурирующих ветвей.
- Не читайте выходные данные до получения окончательного статуса.
Типичная ошибка — двойное завершение или использование уже освобождённого контекста. Логирование жизненного цикла одного запроса обычно быстро показывает такую гонку.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.