| Предыдущий | Следующий |
| SHARED_RESOURCE_CONV_ERROR | QUOTA_UNDERFLOW |
KERNEL_APC_PENDING_DURING_EXIT
Bug check KERNEL_APC_PENDING_DURING_EXIT имеет значение 0x00000020. Это означает, что при завершении потока асинхронный вызов процедуры (APC) всё ещё ожидал выполнения.
Параметры KERNEL_APC_PENDING_DURING_EXIT
| Параметр | Описание |
|---|---|
1 |
Адрес APC, оставшегося в ожидании при завершении |
2 |
Счётчик запрета APC потока |
3 |
Текущий IRQL |
4 |
Зарезервировано |
Причина
Ключевым значением является счётчик запрета APC потока (параметр 2). Если он ненулевой, его значение поможет определить источник проблемы.
Счётчик запрета APC уменьшается на пути KERNEL_APC_PENDING_DURING_EXIT каждый раз, когда драйвер вызывает KeEnterCriticalRegion, FsRtlEnterFileSystemили захватывает мьютекс.
Счётчик запрета APC увеличивается на пути KERNEL_APC_PENDING_DURING_EXIT каждый раз, когда драйвер вызывает KeLeaveCriticalRegion, KeReleaseMutexили FsRtlExitFileSystem.
Поскольку эти вызовы должны выполняться парами, при завершении потока счётчик запрета APC должен быть равен нулю. Отрицательное значение означает, что драйвер отключил вызовы APC и не включил их обратно. Положительное значение означает обратную ситуацию.
При появлении этой ошибки следует подозревать все установленные в системе драйверы, особенно необычные или нестандартные.
Текущий IRQL (параметр 3) должен быть равен нулю. Если это не так, проверку ошибки могла вызвать процедура отмены драйвера, вернувшая управление на повышенном IRQL. В этом случае тщательно зафиксируйте, что выполнялось и что закрывалось в момент сбоя, а также список всех установленных драйверов. Обычно причиной в такой ситуации является серьёзная ошибка драйвера.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
