Freigeben über


Fehlerprüfung 0x1: APC_INDEX_MISMATCH

Die APC_INDEX_MISMATCH-Fehlerüberprüfung weist den Wert 0x00000001 auf. Die Fehlerprüfung weist auf einen Konflikt im APC-Zustandsindex (Asynchronous Procedure Calls) hin.

Wichtig

Dieser Artikel richtet sich an Programmierer. Wenn Sie ein Microsoft-Kunde sind und Ihr Computer einen Bluescreen-Fehlercode anzeigt, finden Sie weitere Informationen unter Behandeln von Bluescreenfehlern.

APC_INDEX_MISMATCH Parameter

Parameter BESCHREIBUNG
1 Die Adresse der Systemfunktion (Systemaufruf) oder Workerroutine.
2 Der Wert des ApcStateIndex-Felds des aktuellen Threads.
3 Der Wert des CombinedApcDisable-Felds des aktuellen Threads. Dieses Feld besteht aus zwei separaten 16-Bit-Feldern: (Thread>SpecialApcDisable<< 16) | Thread>KernelApcDisable.
4 Anruftyp:
0 – Systemanruf
1. Workerroutine

Ursache

Die häufigste Ursache für diese Fehlerüberprüfung ist, wenn ein Dateisystem oder Treiber über eine nicht übereinstimmende Sequenz von Aufrufen zum Deaktivieren und erneuten Aktivieren von APCs verfügt. Das Schlüsseldatenelement ist das Feld Thread>CombinedApcDisable . Das Feld CombinedApcDisable besteht aus zwei separaten 16-Bit-Feldern: SpecialApcDisable und KernelApcDisable. Ein negativer Wert beider Felder gibt an, dass ein Treiber spezielle oder normale APCs deaktiviert hat, ohne sie erneut zu aktivieren. Ein positiver Wert gibt an, dass ein Treiber spezielle oder normale APCs zu oft aktiviert hat.

Lösung

Sie können dieses Problem mithilfe von WinDbg oder mit grundlegenden Techniken zur Problembehandlung beheben.

Debuggen mithilfe von WinDbg

Die !analyze-Debuggererweiterung zeigt Informationen zur Fehlerüberprüfung an und kann Ihnen helfen, die Grundursache zu ermitteln.

Sie können die Erweiterung !apc verwenden, um den Inhalt eines oder mehrerer APCs anzuzeigen.

Sie können auch einen Haltepunkt im Code festlegen, der diesem Stoppcode vorangestellt ist, und versuchen, den fehlerhaften Code in einem einzelnen Schritt zu erreichen.

Weitere Informationen zur Verwendung von WinDbg finden Sie unter Absturzabbildanalyse mit den Windows-Debuggern (WinDbg).

Debuggen ohne Verwendung von WinDbg

Wenn Sie nicht in der Lage sind, den Windows-Debugger zu verwenden, um dieses Problem zu beheben:

  • Überprüfen Sie in Ereignisanzeige das Systemprotokoll auf weitere Fehlermeldungen, die Ihnen bei der Identifizierung des Geräts oder Treibers helfen können, das diese Fehlerprüfung verursacht.

  • Wenn in der Fehlerprüfungsmeldung ein Treiber angegeben ist, deaktivieren Sie ihn, oder wenden Sie sich an den Hersteller, um Treiberupdates anzufordern.

  • Vergewissern Sie sich, dass alle installierten neuen Hardwareversionen mit der installierten Version von Windows kompatibel sind. Beispielsweise können Sie Informationen zu erforderlicher Hardware unter Windows 10 Spezifikationen abrufen.

Allgemeine Informationen zur Problembehandlung finden Sie unter Bluescreen-Daten.

Hinweise

Diese Fehlerprüfung ist das Ergebnis eines internen Fehlers im Kernel. Dieser Fehler tritt beim Beenden eines Systemaufrufs auf. Eine mögliche Ursache für diese Fehlerüberprüfung ist ein Dateisystem oder Treiber, das über eine nicht übereinstimmende Sequenz von Systemaufrufen verfügt, um in geschützte oder kritische Regionen einzudringen oder diese zu verlassen. Beispielsweise muss jeder Aufruf von KeEnterCriticalRegion über einen übereinstimmenden Aufruf von KeLeaveCriticalRegion verfügen.

Wenn Sie einen Treiber entwickeln, können Sie static Driver Verifier verwenden, ein statisches Analysetool, das im Windows Driver Kit verfügbar ist, um Probleme im Code zu erkennen, bevor Sie den Treiber ausliefern. Führen Sie statische Treiberüberprüfung mit der CriticalRegions-Regel aus, um zu überprüfen, ob Ihr Quellcode diese Systemaufrufe in der richtigen Reihenfolge verwendet.

Weitere Informationen

Codereferenz zur Fehlerüberprüfung