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.GetInjectionCapabilities と Callbacks.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 を する