Site icon EfmSoft

Что означает код BSOD 0x1 (APC_INDEX_MISMATCH)?

 
Также может означать:
КонстантаТипОС
ERROR_INVALID_FUNCTIONОшибка WindowsWindows
STATUS_WAIT_1NTSTATUSWindows
kOSReturnErrorКод возврата ядра macOSmacOS
KERN_INVALID_ADDRESSКод возврата ядра macOSmacOS
ippStsNoOperationСтатус Intel IPPЛюбая
S_FALSEHRESULTWindows
WDSCP_CATEGORYHRESULTWindows
WDSMCSERVER_CATEGORYHRESULTWindows
WDSTPTMGMT_CATEGORYHRESULTWindows
EPERMerrnoЛюбая
Предыдущий Следующий
DEVICE_QUEUE_NOT_BUSY

APC_INDEX_MISMATCH

Параметры APC_INDEX_MISMATCH

Параметр Описание

1

Адрес системной функции, системного вызова или worker routine.

2

Значение поля текущего потока ApcStateIndex.

3

Значение поля текущего потока CombinedApcDisable. Поле состоит из двух отдельных 16-битных полей: (Поток >SpecialApcDisable << 16) | Поток >KernelApcDisable.

4

Тип вызова:

  • 0 — системный вызов
  • 1 — worker routine

Причина

Наиболее частая причина — несогласованная последовательность вызовов file system или driver для отключения и повторного включения APC. Ключевое поле — Поток >CombinedApcDisable. Поле CombinedApcDisable состоит из двух отдельных 16-битных полей: SpecialApcDisable и KernelApcDisable. Отрицательное значение одного из них означает, что driver отключил специальные или обычные APC соответственно и не включил их обратно. Положительное значение означает слишком большое число включений.

Отладка с WinDbg

Расширение The !analyze выводит сведения о bug check и помогает установить первопричину.

Можно использовать расширение !apc для просмотра содержимого одного или нескольких asynchronous procedure calls (APC).

Также можно поставить breakpoint в коде перед stop code и пошагово пройти к отказавшей инструкции.

Дополнительные сведения об использовании WinDbg см. в разделе Анализ crash dump с помощью отладчиков Windows (WinDbg).

Примечания

Этот bug check является следствием внутренней ошибки ядра при выходе из системного вызова. Возможная причина — file system или driver с несогласованной последовательностью входа и выхода из guarded или critical regions. Например, каждому вызову KeEnterCriticalRegion должен соответствовать вызов KeLeaveCriticalRegion.

При разработке driver используйте Static Driver Verifier из Windows Driver Kit для обнаружения проблем до выпуска. Запустите его с правилом CriticalRegions, чтобы проверить правильную последовательность этих системных вызовов.


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version