PSHED_PI_CLEAR_ERROR_STATUS コールバック関数 (ntddk.h)
PSHED プラグインの ClearErrorStatus コールバック関数は、修正されたハードウェア エラー状態のプラットフォーム固有のエラー状態レジスタをクリアします。
構文
PSHED_PI_CLEAR_ERROR_STATUS PshedPiClearErrorStatus;
NTSTATUS PshedPiClearErrorStatus(
[in, out, optional] PVOID PluginContext,
[in] PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
[in] ULONG BufferLength,
[in] PWHEA_ERROR_RECORD ErrorRecord
)
{...}
パラメーター
[in, out, optional] PluginContext
PSHED プラグインが PSHED に自身を登録するために PshedRegisterPlugin 関数を呼び出したときに、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Context メンバーで指定されたコンテキスト領域へのポインター。
[in] ErrorSource
ハードウェア エラーを報告したエラー ソースを記述する WHEA_ERROR_SOURCE_DESCRIPTOR 構造体へのポインター。
[in] BufferLength
ErrorRecord パラメーターが指すバッファーのサイズ (バイト単位)。
[in] ErrorRecord
エラー レコードを記述 するWHEA_ERROR_RECORD 構造体へのポインター。 エラー レコードには、プラットフォーム固有のエラー状態レジスタがクリアされる、修正されたハードウェア エラー状態が記述されています。
戻り値
PSHED プラグインの ClearErrorStatus コールバック関数は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 説明 |
---|---|
STATUS_SUCCESS | 修正されたハードウェア エラー状態のプラットフォーム固有のエラー状態レジスタが正常にクリアされました。 |
STATUS_NOT_SUPPORTED | PSHED プラグインは、指定されたエラー ソースをサポートしていません。 |
STATUS_UNSUCCESSFUL | エラーが発生しました。 |
解説
エラー情報取得に参加する PSHED プラグインは、プラグインが PshedRegisterPlugin 関数を呼び出して PSHED に登録するときに、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Callbacks.RetrieveErrorInfo、Callbacks.FinalizeErrorRecord、および Callbacks.ClearErrorStatus メンバーを、その RetrieveErrorInfo、FinalizeErrorRecord、ClearErrorStatus コールバック関数を指すように設定します。 PSHED プラグインは、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET構造体の FunctionalAreaMask メンバーに PshedFAErrorInfoRetrieval フラグも設定する必要があります。
修正されたハードウェア エラー状態の場合、Windows カーネルは PSHED を呼び出して、エラーソースのエラー状態レジスタをエラー処理の最後のステップとしてクリアします。 PSHED プラグインがエラー情報の取得に参加するように登録されている場合、PSHED は PSHED プラグインの ClearErrorStatus コールバック関数を呼び出して、PSHED プラグインがプラットフォーム固有の追加のエラー状態レジスタをクリアできるようにします。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | ntddk.h (Ntddk.h を含む) |
IRQL | IRQL = DISPATCH_LEVEL |