次の方法で共有


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

PSHED プラグインの FinalizeErrorRecord コールバック関数は、エラー状態をより完全に記述するエラー レコードに補足エラー レコード セクションを追加します。

構文

PSHED_PI_FINALIZE_ERROR_RECORD PshedPiFinalizeErrorRecord;

NTSTATUS PshedPiFinalizeErrorRecord(
  [in, out, optional] PVOID PluginContext,
  [in]                PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
  [in]                ULONG BufferLength,
  [in, out]           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, out] ErrorRecord

補足エラー レコード セクションで更新されるエラー レコードを記述する WHEA_ERROR_RECORD 構造体へのポインター。

戻り値

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

リターン コード 形容
STATUS_SUCCESS エラー レコードは、補足エラー レコード セクションで正常に更新されました。
STATUS_BUFFER_TOO_SMALL BufferLength パラメーターで指定されている ErrorRecord パラメーターが指すバッファーのサイズが小さすぎて、補助エラー レコード セクションで更新された場合、エラー レコードを格納できません。
STATUS_NOT_SUPPORTED PSHED プラグインは、指定されたエラー ソースをサポートしていません。
STATUS_UNSUCCESSFUL エラーが発生しました。

備考

エラー情報の取得に参加する PSHED プラグインは、Callbacks.RetrieveErrorInfoCallbacks.FinalizeErrorRecord、および Callbacks.ClearErrorStatus を指す WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体のメンバーを設定します。 の RetrieveErrorInfoFinalizeErrorRecord、および ClearErrorStatus コールバック関数は、プラグインが PSHED に登録するために PshedRegisterPlugin 関数を呼び出すときに行われます。 また、PSHED プラグインは、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の FunctionalAreaMask メンバーに PshedFAErrorInfoRetrieval フラグを設定する必要があります。

Windows カーネルは、エラー レコードに補足エラー レコード セクションを追加できるように、PSHED を呼び出します。 PSHED プラグインがエラー情報の取得に参加するように登録されている場合、PSHED は PSHED プラグインの FinalizeErrorRecord コールバック関数を呼び出して、PSHED プラグインがエラー状態をより詳しく説明するエラー レコード セクションをエラー レコードに追加できるようにします。

PSHED プラグインは、エラー レコードの末尾を超えて補助エラー レコード セクションが追加されないようにする必要があります。 Windows カーネルが特定のエラー レコードを格納するためにバッファーに割り当てるメモリの量は、MaxRawDataLength から計算され、ハードウェア エラーを報告したエラー ソースを記述する WHEA_ERROR_SOURCE_DESCRIPTOR 構造体のメンバー MaxSectionsPerRecord されます。 エラー レコードに追加する補助エラー レコード セクションを含めるために PSHED プラグインに追加のバッファー領域が必要な場合は、エラー ソースの検出に参加し、補足エラー レコード セクションを考慮するために、各エラー ソースの WHEA_ERROR_SOURCE_DESCRIPTOR 構造の MaxSectionsPerRecord メンバーの値を増やす必要があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー ntddk.h (Ntddk.h を含む)
IRQL IRQL >= DISPATCH_LEVEL

関連項目

ClearErrorStatus

PshedRegisterPlugin

RetrieveErrorInfo

WHEA_ERROR_RECORD

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET