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 注册自身时,在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 结构的 Context 成员中指定的上下文区域。

[in, out] ErrorSource

指向 WHEA_ERROR_SOURCE_DESCRIPTOR 结构的指针,该结构表示由硬件平台实现的特定错误源。

返回值

PSHED 插件的 GetErrorSourceInfo 回调函数返回以下 NTSTATUS 代码之一:

返回代码 说明
STATUS_SUCCESS 已成功更新错误源信息。
STATUS_UNSUCCESSFUL 出现了错误。

注解

参与错误源发现的 PSHED 插件在插件调用 PshedRegisterPlugin 函数时,会将WHEA_PSHED_PLUGIN_REGISTRATION_PACKET结构的 Callbacks.GetAllErrorSourceInfo 成员和(可选)的 Callbacks.GetErrorSourceInfo 成员设置为指向其 GetAllErrorSourcesGetErrorSourceInfo 回调函数。 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