Поделиться через


0x1 проверки ошибок: APC_INDEX_MISMATCH

Проверка ошибок APC_INDEX_MISMATCH имеет значение 0x00000001. Ошибка проверка указывает на несоответствие в индексе состояния асинхронных вызовов процедур (APC).

Важно!

Эта статья предназначена для программистов. Если вы являетесь клиентом Майкрософт и на компьютере отображается код ошибки синего экрана, см. статью Устранение ошибок синего экрана.

параметры APC_INDEX_MISMATCH

Параметр Описание
1 Адрес системной функции (системный вызов) или рабочей подпрограммы.
2 Значение поля ApcStateIndex текущего потока.
3 Значение поля CombinedApcDisable текущего потока. Это поле состоит из двух отдельных 16-разрядных полей: (Thread>SpecialApcDisable<< 16) | Поток>KernelApcDisable.
4 Тип вызова:
0 — системный вызов
1. Рабочая подпрограмма

Причина

Наиболее распространенной причиной этой ошибки проверка является несовпадение последовательности вызовов файловой системы или драйвера для отключения и повторного включения APC. Ключевым элементом данных является поле Thread>CombinedApcDisable . Поле CombinedApcDisable состоит из двух отдельных 16-разрядных полей: SpecialApcDisable и KernelApcDisable. Отрицательное значение любого из полей указывает, что драйвер отключил специальные или обычные APC (соответственно) без их повторного включения. Положительное значение указывает, что драйвер включил специальные или обычные БТР слишком много раз.

Решение

Эту проблему можно устранить с помощью WinDbg или базовых методов устранения неполадок.

Отладка с помощью WinDbg

Расширение отладчика !analyze отображает сведения об ошибке проверка и может помочь определить первопричину.

Вы можете использовать расширение !apc для отображения содержимого одного или нескольких APC.

Вы также можете задать точку останова в коде, который предшествует этому коду остановки, и попытаться перейти на один шаг вперед в коде сбоя.

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

Отладка без использования WinDbg

Если вы не можете использовать отладчик Windows для решения этой проблемы:

  • В Просмотр событий проверка системный журнал для получения дополнительных сообщений об ошибках, которые могут помочь определить устройство или драйвер, вызывающие эту ошибку проверка.

  • Если в сообщении об ошибке указан драйвер, отключите его или обратитесь к изготовителю за обновлениями драйверов.

  • Убедитесь, что любое новое установленное оборудование совместимо с установленной версией Windows. Например, сведения о требуемом оборудовании можно получить в Windows 10 спецификациях.

Дополнительные сведения об устранении неполадок см. в разделе Данные синего экрана.

Комментарии

Эта ошибка проверка является результатом внутренней ошибки в ядре. Эта ошибка возникает при выходе из системного вызова. Возможной причиной этой ошибки проверка является файловая система или драйвер, которые имеют несовпадную последовательность системных вызовов для ввода или выхода из защищенных или критически важных регионов. Например, каждый вызов KeEnterCriticalRegion должен иметь соответствующий вызов KeLeaveCriticalRegion.

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

См. также раздел

Справочник по коду проверка ошибок