错误源发现

在操作系统初始化期间,Windows 内核会查询 PSHED 以获取硬件平台实现的所有 错误源 的列表。 PSHED 返回 WHEA_ERROR_SOURCE_DESCRIPTOR 结构的列表,这些结构描述硬件平台支持的每个错误源。 操作系统使用此信息来启用必要的低级别硬件错误处理程序, (负责处理来自硬件平台的错误通知的 LLHEH) 。

下面是 PSHED 发现的最小错误源集。

基于 x86 和基于 x64 的硬件平台

  • 计算机检查异常 (MCE)

  • 更正了计算机检查 (CMC)

  • 不可屏蔽的中断 (NMI)

  • BOOT 错误

基于 Itanium 的硬件平台

  • 计算机检查中止 (MCA)

  • 更正了计算机检查 (CMC)

  • 更正了 CPE) (平台错误

  • INIT 错误

对于 PCI Express (PCIe) 高级错误报告 (AER) ,PCI 总线驱动程序会发现错误源而不是 PSHED。 因此,PSHED 不会在返回到 Windows 内核的错误源的初始列表中包括任何 PCIe AER 错误源。 相反,PCI 总线驱动程序会将这些错误源报告给操作系统。 向操作系统报告此类错误源时,Windows 内核会调用 PSHED,以允许 PSHED 提供有关错误源的任何其他详细信息。

PSHED 插件还可以参与错误源发现,以修改 PSHED 报告的错误源信息,并报告 PSHED 未发现的其他错误源。 如果实现了参与错误源发现并向操作系统报告 PSHED 不支持的其他错误源的 PSHED 插件,则 PSHED 插件还必须参与错误源代码管理和错误信息检索,以支持这些附加错误源的错误源代码管理和错误信息检索操作。 有关如何实现参与错误源发现的 PSHED 插件的详细信息,请参阅 参与错误源发现