WHEA によって実行される PFA

Windows 7 以降、Windows ハードウェア エラー アーキテクチャ (WHEA) では、エラー修正コード (ECC) メモリの障害予測分析 (PFA) がサポートされています。

重要プラットフォーム固有のハードウェア エラー ドライバー (PSHED) プラグインは、WHEA ではなく ECC メモリで PFA を実行できます。 プラグインが PFA を実行する場合、「PSHED プラグインによって実行される PFA」に記載されている手順に従う必要があります。 プラグインは、このトピックで説明する手順に従う必要はありません。

ECC メモリ エラーが発生すると、WHEA は次の手順を実行します。

  1. 低レベルのハードウェア エラー ハンドラー (LLHEH) には、メモリ エラー条件の存在が通知されます。

  2. LLHEH は、エラー ソースからメモリ エラー情報を取得し、エラー データを使用してハードウェア エラー パケットを入力します。 このパケットは、WHEA_ERROR_PACKET 構造として形式設定されます。

  3. LLHEH は PSHED を呼び出し、プラットフォーム固有のハードウェア エラー情報を取得します。 PSHED プラグインがインストールされていて、エラーに関する情報を取得するよう登録されている場合、PSHED は PSHED プラグインを呼び出して、LLHEH に返されるエラー情報をプラグインが変更できるようにします。

  4. LLHEH は Windows オペレーティング システム カーネルを呼び出し、エラー パケットを渡します。

  5. Windows カーネルはエラー レコードを作成し、LLHEH から受信したエラー パケットからの情報を追加します。 加えて、Windows カーネルは、(エラー ソース、エラーの重大度、エラー レコードにエラーが発生した回数など) エラーに関するその他の情報を追加します。

  6. Windows カーネルは PSHED を呼び出して、PSHED がエラー レコードにセクションを追加できるようにします。

  7. PSHED プラグインがインストールされていて、エラーに関する情報を取得するために登録されている場合、PSHED は PSHED プラグインを呼び出して、プラグインがエラー レコード内の情報を変更できるようにします。

    PSHED プラグインが PFA を実行していない場合は、WHEA_ERROR_PACKET 構造の WHEA_ERROR_PACKET_FLAGS メンバーに PlatformPfaControl ビットを設定しないでください。

  8. PFA が有効になっている場合、WHEA は ECC メモリ ページで PFA を実行します。 このプロセスについて詳しくは、「WHEA が ECC メモリで PFA を実行する方法」をご覧ください。

  9. Windows カーネルは ETW イベントを生成し、エラー情報をシステム イベント ログに記録します。