次の方法で共有


PSHED_PI_INJECT_ERROR コールバック関数 (ntddk.h)

PSHED プラグインの InjectError コールバック関数は、ハードウェア プラットフォームにエラーを挿入します。

構文

PSHED_PI_INJECT_ERROR PshedPiInjectError;

NTSTATUS PshedPiInjectError(
  [in, out, optional] PVOID PluginContext,
  [in]                ULONGLONG ErrorType,
  [in]                ULONGLONG Parameter1,
  [in]                ULONGLONG Parameter2,
  [in]                ULONGLONG Parameter3,
  [in]                ULONGLONG Parameter4
)
{...}

パラメーター

[in, out, optional] PluginContext

PSHED プラグインが PSHED に自身を登録するために PshedRegisterPlugin 関数を呼び出したときに、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Context メンバーで指定されたコンテキスト領域へのポインター。

[in] ErrorType

ハードウェア プラットフォームに挿入されるエラーの種類。 次のいずれかの値になります。

INJECT_ERRTYPE_PROCESSOR_CORRECTABLE

修正可能なプロセッサ エラー。

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLENONFATAL

修正不可能な致命的でないプロセッサ エラー。

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLEFATAL

修正できない致命的なプロセッサ エラー。

INJECT_ERRTYPE_MEMORY_CORRECTABLE

修正可能なメモリ エラー。

INJECT_ERRTYPE_MEMORY_UNCORRECTABLENONFATAL

修正不可能な致命的でないメモリ エラー。

INJECT_ERRTYPE_MEMORY_UNCORRECTABLEFATAL

修正できない致命的なメモリ エラー。

INJECT_ERRTYPE_PCIEXPRESS_CORRECTABLE

修正可能な PCI Express エラー。

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLENONFATAL

修正不可能な致命的でない PCI Express エラー。

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLEFATAL

修正できない致命的な PCI Express エラー。

INJECT_ERRTYPE_PLATFORM_CORRECTABLE

修正可能なプラットフォーム エラー。

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLENONFATAL

修正不可能な致命的でないプラットフォーム エラー。

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLEFATAL

修正不可能な致命的なプラットフォーム エラー。

[in] Parameter1

エラーを挿入している WHEA 管理アプリケーションによって渡される追加データを含むジェネリック パラメーター。

[in] Parameter2

エラーを挿入している WHEA 管理アプリケーションによって渡される追加データを含むジェネリック パラメーター。

[in] Parameter3

エラーを挿入している WHEA 管理アプリケーションによって渡される追加データを含むジェネリック パラメーター。

[in] Parameter4

エラーを挿入している WHEA 管理アプリケーションによって渡される追加データを含むジェネリック パラメーター。

戻り値

PSHED プラグインの InjectError コールバック関数は、次のいずれかの NTSTATUS コードを返します。

リターン コード 説明
STATUS_SUCCESS エラーがハードウェア プラットフォームに正常に挿入されました。
STATUS_UNSUCCESSFUL エラーが発生しました。 致命的なエラーや回復不能な挿入されたエラーの場合、このコールバック関数は、オペレーティング システムがエラー状態に応答してバグ チェックを生成する前に戻らない可能性があります。

注釈

エラー挿入に参加する PSHED プラグインは、プラグインが PshedRegisterPlugin 関数を呼び出して PSHED に登録するときに、その GetInjectionCapabilities および InjectError コールバック関数を指すように、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Callbacks.GetInjectionCapabilities および Callbacks.InjectError メンバーを設定します。 また、PSHED プラグインは、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET構造体の FunctionalAreaMask メンバーに PshedFAErrorInjection フラグを設定する必要があります。

WHEA 管理アプリケーションがハードウェア エラーを挿入する要求を行うと、Windows カーネルは PSHED を呼び出してハードウェア プラットフォームにエラーを挿入します。 エラー挿入に参加するために PSHED プラグインが登録されている場合、PSHED は PSHED プラグインの InjectError コールバック関数を呼び出してエラー挿入操作を実行します。

エラーを挿入している WHEA 管理アプリケーションは、パラメーター Parameter1 から Parameter4 を使用して、追加のエラー固有のデータを PSHED プラグインの InjectError コールバック関数に渡すことができます。 たとえば、Itanium ベースのシステムでは、一部のエラー挿入操作には付随するアドレスが必要です。 この状況では、WHEA 管理アプリケーションは、これらのパラメーターのいずれかを使用して、PSHED プラグインの InjectError コールバック関数にアドレスを渡すことができます。

要件

要件
サポートされている最小のクライアント Windows Server 2008、Windows Vista SP1、およびそれ以降のバージョンの Windows でサポートされています。
対象プラットフォーム デスクトップ
Header ntddk.h (Ntddk.h を含む)
IRQL IRQL = DISPATCH_LEVEL

こちらもご覧ください

GetInjectionCapabilities

PshedRegisterPlugin

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET