错误信息检索

在处理硬件错误条件期间,会在错误处理过程中的三个不同点调用 PSHED。

  • 低级别硬件错误处理程序 (LLHEH) 调用 PSHED,以便它可以在 LLHEH 向操作系统报告错误之前,将有关错误条件的任何补充信息添加到硬件错误数据包。

  • Windows 内核调用 PSHED,以便它可以将任何补充错误记录部分添加到描述错误条件的错误记录中。

  • 对于更正的错误,Windows 内核会调用 PSHED,以便在错误处理完成后清除错误源的错误状态寄存器。

PSHED 支持针对由 PSHED 发现的标准错误源报告的错误条件的错误信息检索操作。 如果实现了参与 错误源发现 并向操作系统报告 PSHED 不支持的其他错误源的 PSHED 插件,则 PSHED 插件还必须参与错误信息检索,以支持这些错误源的错误信息检索操作。 PSHED 插件还可以选择性地参与错误信息检索,以便为标准错误源报告的错误条件提供其他错误信息。

注意 如果满足以下任一条件,则参与错误信息检索的 PSHED 插件也必须参与 错误源发现

  • PSHED 插件向特定错误源报告的硬件错误数据包提供其他错误信息。 在这种情况下,PSHED 插件必须在错误源发现期间修改错误源的 WHEA_ERROR_SOURCE_DESCRIPTOR 结构的 MaxRawDataLength 成员中包含的值,以解释其他错误信息。

  • PSHED 插件为特定错误源报告的硬件错误记录提供了其他错误记录部分。 在这种情况下,PSHED 插件必须在错误源发现期间修改错误源的 WHEA_ERROR_SOURCE_DESCRIPTOR 结构的 MaxSectionsPerRecord 成员中包含的值,以考虑其他错误记录部分。

有关如何实现参与错误信息检索的 PSHED 插件的详细信息,请参阅 参与错误信息检索