PSHED プラグインの WriteErrorRecord コールバック関数は、システムの永続データ ストレージにエラー レコードを書き込みます。
構文
PSHED_PI_WRITE_ERROR_RECORD PshedPiWriteErrorRecord;
NTSTATUS PshedPiWriteErrorRecord(
[in, out, optional] PVOID PluginContext,
[in] ULONG Flags,
[in] ULONG RecordLength,
[in] PWHEA_ERROR_RECORD ErrorRecord
)
{...}
パラメーター
[in, out, optional] PluginContext
PSHED プラグインが PSHED に登録するために PshedRegisterPlugin 関数を呼び出したときに、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Context メンバーで指定されたコンテキスト領域へのポインター。
[in] Flags
書き込み操作に影響を与えるフラグのビットごとの OR の組み合わせ。 可能なフラグは次のとおりです。
WHEA_WRITE_FLAG_DUMMY
書き込み操作はダミーの書き込み操作です。 システムの永続データ ストレージにデータを書き込む必要はありません。
[in] RecordLength
ErrorRecord パラメーターが指すエラー レコードのサイズ (バイト単位)。
[in] ErrorRecord
システムの永続データ ストレージに書き込まれるエラー レコードを記述する WHEA_ERROR_RECORD 構造体へのポインター。
戻り値
PSHED プラグインの WriteErrorRecord コールバック関数は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 形容 |
---|---|
STATUS_SUCCESS | エラー レコードは、システムの永続データ ストレージに正常に書き込まれた。 |
STATUS_UNSUCCESSFUL | エラーが発生しました。 |
備考
エラー レコードの永続化に参加する PSHED プラグインは、Callbacks.WriteErrorRecord、Callbacks.ReadErrorRecord、および Callbacks.ClearErrorRecord メンバーを WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体のメンバーに設定 します。 プラグインが PSHED に登録するために PshedRegisterPlugin 関数を呼び出すときに、WriteErrorRecord、ReadErrorRecord、および ClearErrorRecord コールバック関数を します。 また、PSHED プラグインは、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の FunctionalAreaMask メンバーに PshedFAErrorRecordPersistence フラグを設定する必要があります。
Windows カーネルは PSHED を呼び出して、システムの再起動中にエラー レコードが保持されるように、致命的または回復不能なエラー状態が存在するたびに、システムの永続データ ストレージにエラー レコードを書き込みます。 エラー レコードの永続化に参加するために PSHED プラグインが登録されている場合、PSHED は PSHED プラグインの WriteErrorRecord コールバック関数を呼び出して書き込み操作を実行します。 システムの永続データ ストレージにエラー レコードを書き込むメカニズムは、プラットフォーム固有です。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ntddk.h (Ntddk.h を含む) |
IRQL | IRQL >= DISPATCH_LEVEL |
関連項目
ClearErrorRecord の