次の方法で共有


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

PSHED プラグインの GetErrorSourceInfo コールバック関数は、ハードウェア プラットフォームによって実装される特定のエラー ソースを表すエラー ソース記述子構造体を返します。

構文

PSHED_PI_GET_ERROR_SOURCE_INFO PshedPiGetErrorSourceInfo;

NTSTATUS PshedPiGetErrorSourceInfo(
  [in, out, optional] PVOID PluginContext,
  [in, out]           PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource
)
{...}

パラメーター

[in, out, optional] PluginContext

PSHED プラグインが PSHED に自身を登録するために PshedRegisterPlugin 関数を呼び出したときに、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Context メンバーで指定されたコンテキスト領域へのポインター。

[in, out] ErrorSource

ハードウェア プラットフォームによって実装される特定のエラー ソースを表す WHEA_ERROR_SOURCE_DESCRIPTOR 構造体へのポインター。

戻り値

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

リターン コード 説明
STATUS_SUCCESS エラー ソース情報が正常に更新されました。
STATUS_UNSUCCESSFUL エラーが発生しました。

解説

エラー ソース検出に参加する PSHED プラグインは、Callbacks.GetAllErrorSources メンバーを設定し、必要に応じて、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 構造体の Callbacks.GetErrorSourceInfo メンバーが、プラグインが PshedRegisterPlugin 関数を呼び出して PSHED に登録するときに、その GetAllErrorSources コールバック関数と GetErrorSourceInfo コールバック関数を指すように設定します。 PSHED プラグインは、WHEA_PSHED_PLUGIN_REGISTRATION_PACKET構造体の FunctionalAreaMask メンバーに PshedFADiscovery フラグも設定する必要があります。

Windows カーネルは PSHED を呼び出して、特定のエラー ソースに関する追加の詳細を取得します。 これは、バス ドライバーによって新しいエラー ソースがシステムに追加されたときに発生します。 たとえば、PCI ドライバーは、PCIe エラーを報告できる PCI Express (PCIe) デバイスを検出すると、エラー ソースをオペレーティング システムに報告します。

PSHED プラグインがエラー ソース検出に参加するように登録されていて 、GetErrorSourceInfo コールバック関数を実装している場合、PSHED がエラー ソースに関して収集した情報を使用してエラー ソース記述子構造を更新した後、PSHED は PSHED プラグインの GetErrorSourceInfo コールバック関数を呼び出して、PSHED プラグインがエラー ソースに関する追加情報を提供できるようにします。 GetErrorSourceInfo コールバック関数は、ハードウェア プラットフォームによって実装されているエラー ソースを正確に表すように、エラー ソース記述子構造体の内容を更新します。

要件

要件
対象プラットフォーム デスクトップ
Header ntddk.h (Ntddk.h を含む)
IRQL IRQL = DISPATCH_LEVEL

こちらもご覧ください

GetAllErrorSources

PshedRegisterPlugin

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET