共用方式為


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 外掛程式呼叫 PshedRegisterPlugin 函式,以向 PSHED 註冊本身時,在 ContextWHEA_PSHED_PLUGIN_REGISTRATION_PACKET 成員中指定的內容區域指標。

[in, out] ErrorSource

WHEA_ERROR_SOURCE_DESCRIPTOR 結構的指標,表示硬體平臺所實作的特定錯誤來源。

傳回值

PSHED 外掛程式的 GetErrorSourceInfo 回呼函式會傳回下列其中一個 NTSTATUS 程式代碼:

傳回碼 描述
STATUS_SUCCESS 錯誤來源資訊已成功更新。
STATUS_UNSUCCESSFUL 發生錯誤。

言論

參與錯誤來源探索的 PSHED 外掛程式會設定 Callbacks.GetAllErrorSources 成員, 選擇性地,Callbacks.GetErrorSourceInfoWHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的成員指向其 GetAllErrorSources,並在外掛程式 呼叫 PshedRegisterPlugin 函式時,GetErrorSourceInfo 回呼函式來向 PSHED 註冊。 PSHED 外掛程式也必須在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的 FunctionalAreaMask 成員中設定 PshedFADiscovery 旗標。

Windows 核心會呼叫 PSHED,以取得特定錯誤來源的其他詳細數據。 當總線驅動程式將新的錯誤來源新增至系統時,就會發生這種情況。 例如,當 PCI 驅動程式探索能夠報告 PCIe 錯誤的 PCI Express (PCIe) 裝置時,它會向作系統報告錯誤來源。

如果 PSHED 外掛程式已註冊以參與錯誤來源探索,且已實作 GetErrorSourceInfo 回呼函式, PSHED 更新錯誤來源描述項結構后,其已收集錯誤來源的相關信息,PSHED 會呼叫 PSHED 外掛程式的 GetErrorSourceInfo 回呼函式,讓 PSHED 外掛程式可以提供錯誤來源的其他詳細數據。 GetErrorSourceInfo 回呼函式會更新錯誤來源描述元結構的內容,使其在硬體平台實作時正確表示錯誤來源。

要求

要求 價值
目標平臺 桌面
標頭 ntddk.h (包括 Ntddk.h)
IRQL IRQL = DISPATCH_LEVEL

另請參閱

GetAllErrorSources

PshedRegisterPlugin

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET