バグ チェック 0x5: INVALID_PROCESS_ATTACH_ATTEMPT

INVALID_PROCESS_ATTACH_ATTEMPT バグ チェックには、0x00000005 の値があります。 これは通常、許可されていない状況でスレッドがプロセスにアタッチされたことを示します。 たとえば、このバグ チェックは、スレッドが既にプロセスにアタッチされているときに KeAttachProcess が呼び出された場合 (これは不正です)、またはスレッドがアタッチされた状態で特定の関数呼び出しから返された場合に (無効です)、発生する可能性があります。

このバグ チェックはあまり表示されません。

重要

この記事は、プログラマー向けです。 コンピューターを使用中に、ブルー スクリーン エラーが表示された場合は、「ブルー スクリーン エラーのトラブルシューティング」を参照してください。

INVALID_PROCESS_ATTACH_ATTEMPT パラメーター

パラメーター 説明

1

ターゲット プロセスのディスパッチャー オブジェクトへのポインター、またはスレッドが既にアタッチされている場合は、元のプロセスのオブジェクトへのポインター。

2

現在のスレッドが現在アタッチされているプロセスのディスパッチャー オブジェクトへのポインター。

3

スレッドの APC 状態インデックスの値。

4

0 以外の値は、DPC が現在のプロセッサで実行されていることを示します。

解説

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

このバグ チェックは、ドライバーが KeAttachProcess 関数を呼び出し、スレッドが既に別のプロセスにアタッチされている場合に発生する可能性があります。 KeStackAttachProcess 関数を使用することが推奨されます。 現在のスレッドが既に別のプロセスにアタッチされている場合、KeStackAttachProcess 関数は、現在のスレッドを新しいプロセスにアタッチする前に、現在の APC 状態を保存します。 KeStackAttachProcess を誤って呼び出すと、DPC が現在のプロセッサで実行されている場合など、このバグ チェックが発生する可能性もあります。

この領域の一般的な情報については、「Windows カーネル モード プロセスとスレッド マネージャー」および「カーネル ディスパッチャー オブジェクトの概要」を参照してください。