PSHED_PI_SET_ERROR_SOURCE_INFO コールバック関数 (ntddk.h)
PSHED プラグインの SetErrorSourceInfo コールバック関数は、エラー ソースを構成します。
構文
PSHED_PI_SET_ERROR_SOURCE_INFO PshedPiSetErrorSourceInfo;
NTSTATUS PshedPiSetErrorSourceInfo(
[in, out, optional] PVOID PluginContext,
[in] PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource
)
{...}
パラメーター
[in, out, optional] PluginContext
PSHED プラグインが PSHED に自身を登録するために PshedRegisterPlugin 関数を呼び出したときに、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Context メンバーで指定されたコンテキスト領域へのポインター。
[in] ErrorSource
構成されているエラー ソースを記述する WHEA_ERROR_SOURCE_DESCRIPTOR 構造体へのポインター。
戻り値
PSHED プラグインの SetErrorSourceInfo コールバック関数は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 説明 |
---|---|
STATUS_SUCCESS | エラー ソースが正常に構成されました。 |
STATUS_NOT_SUPPORTED | PSHED プラグインは、指定されたエラー ソースの構成をサポートしていません。 |
STATUS_UNSUCCESSFUL | エラーが発生しました。 |
解説
エラー ソース管理に参加する PSHED プラグインは、プラグインが PshedRegisterPlugin 関数を呼び出して PSHED に登録するときに、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Callbacks.SetErrorSourceInfo、Callbacks.EnableErrorSource、Callbacks.DisableErrorSource メンバーを、その SetErrorSourceInfo、EnableErrorSource、DisableErrorSource コールバック関数を指すように設定します。 また、PSHED プラグインは、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET構造体の FunctionalAreaMask メンバーに PshedFAErrorSourceControl フラグを設定する必要があります。
Windows カーネルは PSHED を呼び出して、WHEA 管理アプリケーションによるエラー ソース構成要求に応答してエラー ソースを構成します。 PSHED プラグインがエラー ソース管理に参加するように登録されている場合、PSHED は PSHED プラグインの SetErrorSourceInfo コールバック関数を呼び出して、PSHED プラグインにエラー ソース構成操作を実行する機会を提供します。 エラー ソース構成データは、ErrorSource パラメーターによって指されるWHEA_ERROR_SOURCE_DESCRIPTOR構造体に含まれます。
PSHED プラグインが指定されたエラー ソースの構成をサポートしていない場合、 SetErrorSourceInfo コールバック関数はSTATUS_NOT_SUPPORTEDを返します。 この状況では、PSHED は要求されたエラー ソース構成操作を実行します。
PSHED プラグインで指定されたエラー ソースの構成がサポートされている場合、 SetErrorSourceInfo コールバック関数は、エラー ソースの構成データをレジストリ、システムの BIOS テーブル、またはエラー ソースで使用できる他の形式の非揮発性データ ストレージに保存する必要があります。 エラー ソースの構成データを格納するためにエラー ソースによって使用される非揮発性データ ストレージの特定の形式は、実装固有です。 SetErrorSourceInfo コールバック関数は、次回システムが再起動されるときに構成の変更が有効になるように、構成データをエラー ソースに適用する必要があります。 システムが再起動されると、PSHED プラグインは、エラー ソースの検出中にエラー ソースの新しいエラー ソース構成データをオペレーティング システムに報告する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | ntddk.h (Ntddk.h を含む) |
IRQL | IRQL = DISPATCH_LEVEL |