バグ チェック 0x1:APC_INDEX_MISMATCH

APC_INDEX_MISMATCH バグチェックの値は0x00000001 です。 これは、非同期プロシージャ呼び出し (APC) の状態インデックスが一致していないことを示します。

重要

このトピックはプログラマーを対象としています。 コンピューターの使用中にブルー スクリーン エラー コードが表示される場合は、「ブルー スクリーン エラーのトラブルシューティング」を参照してください。

APC_INDEX_MISMATCH パラメーター

パラメーター 説明

1

システム関数 (システム呼び出し) またはワーカールーチンのアドレス。

2

現在のスレッドの Apcstateindex フィールドの値。

3

現在のスレッドの連結 Edapcdisable フィールドの値。 このフィールドは、2つの異なる16ビットフィールドで構成されます。 スレッドKernelApcDisable

4

呼び出しの種類:

  • 0-システム呼び出し
  • 1-ワーカールーチン

原因

このバグチェックの最も一般的な原因は、ファイルシステムまたはドライバーに、Apc を無効にして再度有効にするための呼び出しのシーケンスが一致しない場合です。 キーデータ項目は >連結Edapcdisable フィールドです。 連結Edapcdisableフィールドは、2つの異なる16ビットフィールドで構成されています: KernelApcDisable apcdisable。 どちらかのフィールドの負の値は、ドライバーによって特殊な Apc または通常の Apc が無効にされたことを示します (それぞれの場合)。 正の値は、ドライバーが特殊な Apc または通常の Apc を何度も有効にしたことを示します。

解像度

WinDbg を使用したデバッグ

!analyze デバッガー拡張機能では、バグ チェックに関する情報が表示され、根本原因の特定に役立ちます。

! Apc拡張機能を使用して、1つまたは複数の非同期プロシージャ呼び出し (apc) の内容を表示できます。

また、この停止コードの前にあるコードにブレークポイントを設定し、エラーが発生したコードへのシングル ステップ フォワードを試行することもできます。

windbg の使用方法の詳細については、「 Windows デバッガー (windbg) を使用したクラッシュダンプ分析」を参照してください。

WinDbg を使用しないデバッグ

Windows デバッガーを使用してこの問題に対処することができない場合は、いくつかの基本的なトラブルシューティング手法を使用できます。

  • このバグチェックの原因となっているデバイスまたはドライバーの特定に役立つ可能性のある追加のエラーメッセージについては、イベントビューアーのシステムログを確認してください。

  • バグ チェックのメッセージでドライバーが特定された場合は、そのドライバーを無効にするか、ドライバーの更新状況を製造元に確認します。

  • インストールされている新しいハードウェアが、インストールされているバージョンの Windows と互換性があることを確認します。 たとえば、 Windows 10 の仕様で必要なハードウェアに関する情報を取得できます。

その他の一般的なトラブルシューティング情報については、「ブルー スクリーンのデータ」を参照してください。

注釈

このバグチェックは、カーネルで内部エラーが発生した結果です。 このエラーは、システムコールの終了時に発生します。 このバグチェックの考えられる原因は、保護された領域または重大な領域を入力または残すためのシステムコールの順序が一致しないファイルシステムまたはドライバーです。 たとえば、 KeEnterCriticalRegion を呼び出すたびに、 KeLeaveCriticalRegionへの呼び出しが一致している必要があります。

ドライバーを開発している場合は、ドライバーを出荷する前にコードの問題を検出するために、Windows driver Kit に用意されている静的分析ツールである静的ドライバー検証ツールを使用できます。 CriticalRegions規則を使用して静的ドライバー検証ツールを実行し、ソースコードがこれらのシステム呼び出しを正しい順序で使用していることを確認します。