Error Information Retrieval

During the handling of a hardware error condition, the PSHED is called at three separate points in the error handling process.

  • The low-level hardware error handler (LLHEH) calls into the PSHED so that it can add any supplementary information about the error condition to the hardware error packet before the LLHEH reports the error to the operating system.

  • The Windows kernel calls into the PSHED so that it can add any supplementary error record sections to the error record that describes the error condition.

  • For corrected errors, the Windows kernel calls into the PSHED so that it can clear the error source's error status registers after the processing of the error is complete.

The PSHED supports error information retrieval operations for error conditions that are reported by the standard error sources that the PSHED discovers. If a PSHED plug-in is implemented that participates in error source discovery and reports additional error sources to the operating system that the PSHED does not support, the PSHED plug-in must also participate in error information retrieval to support the error information retrieval operations for these error sources. A PSHED plug-in can also optionally participate in error information retrieval to provide additional error information for error conditions that are reported by the standard error sources.

Note   A PSHED plug-in that participates in error information retrieval must also participate in error source discovery if either of the following is true:

  • The PSHED plug-in provides additional error information to the hardware error packets that are reported by a particular error source. In this situation, the PSHED plug-in must modify the value that is contained in the MaxRawDataLength member of the WHEA_ERROR_SOURCE_DESCRIPTOR structure for that error source during error source discovery to account for the additional error information.

  • The PSHED plug-in provides additional error record sections to the error records for hardware errors that are reported by a particular error source. In this situation, the PSHED plug-in must modify the value that is contained in the MaxSectionsPerRecord member of the WHEA_ERROR_SOURCE_DESCRIPTOR structure for that error source during error source discovery to account for the additional error record sections.

For more information about how to implement a PSHED plug-in that participates in error information retrieval, see Participating in Error Information Retrieval.