| Предыдущий | Следующий |
| STATUS_TOO_MANY_OPENED_FILES | STATUS_CANNOT_DELETE |
STATUS_CANCELLED
Что означает STATUS_CANCELLED
STATUS_CANCELLED (0xC0000120) — запрос ввода-вывода отменён.
Что проверить
Зафиксируйте, какой вызов первым изменил состояние объекта и какой дескриптор используется после этого.
- Проверьте ветви отмены/завершения и не выполняется ли повторная операция над уже закрытым контекстом.
- Для новой попытки создайте новый контекст только после того, как исход предыдущей операции однозначно установлен.
Практический смысл и диагностика
- Запрос ввода-вывода был отменён.
- В user mode отмена может быть инициирована через CancelIo или CancelIoEx. Для диагностики важно отличить явную отмену caller от завершения объекта/потока или отмены со стороны драйвера.
- В kernel mode routines, которые меняют состояние cancelable IRP или могут завершить IRP этим статусом, должны корректно работать с system cancel spin lock и cancel routine rules.
- Сохраните исходный статус до RtlNtStatusToDosError, HRESULT conversion, exception translation или provider-specific remapping, чтобы не потерять факт именно отмены.
- STATUS_CANCELLED имеет значение 0xC0000120. Главный вопрос — какой API/IRP и какой компонент инициировал cancellation, а не какой общий текст получил пользователь.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.