次の方法で共有


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 プラグインは、Callbacks.GetInjectionCapabilitiesCallbacks.InjectErrorWHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体のメンバーを指すように設定します。 プラグインが PSHED に登録するために PshedRegisterPlugin 関数を呼び出すときに、GetInjectionCapabilities および InjectError コールバック関数を します。 また、PSHED プラグインは、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET構造体の FunctionalAreaMask メンバーに PshedFAErrorInjection フラグを設定する必要があります。

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

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

必要条件

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

関連項目

GetInjectionCapabilities する

PshedRegisterPlugin

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET