// ntddk.h
typedef struct _WHEA_ERROR_SOURCE_DESCRIPTOR {
ULONG Length;
ULONG Version;
WHEA_ERROR_SOURCE_TYPE Type;
WHEA_ERROR_SOURCE_STATE State;
ULONG MaxRawDataLength;
ULONG NumRecordsToPreallocate;
ULONG MaxSectionsPerRecord;
ULONG ErrorSourceId;
ULONG PlatformErrorSourceId;
ULONG Flags;
union {
WHEA_XPF_MCE_DESCRIPTOR XpfMceDescriptor;
WHEA_XPF_CMC_DESCRIPTOR XpfCmcDescriptor;
WHEA_XPF_NMI_DESCRIPTOR XpfNmiDescriptor;
WHEA_IPF_MCA_DESCRIPTOR IpfMcaDescriptor;
WHEA_IPF_CMC_DESCRIPTOR IpfCmcDescriptor;
WHEA_IPF_CPE_DESCRIPTOR IpfCpeDescriptor;
WHEA_AER_ROOTPORT_DESCRIPTOR AerRootportDescriptor;
WHEA_AER_ENDPOINT_DESCRIPTOR AerEndpointDescriptor;
WHEA_AER_BRIDGE_DESCRIPTOR AerBridgeDescriptor;
WHEA_GENERIC_ERROR_DESCRIPTOR GenErrDescriptor;
WHEA_GENERIC_ERROR_DESCRIPTOR_V2 GenErrDescriptorV2;
WHEA_DEVICE_DRIVER_DESCRIPTOR DeviceDriverDescriptor;
} Info;
} *PWHEA_ERROR_SOURCE_DESCRIPTOR, WHEA_ERROR_SOURCE_DESCRIPTOR;
View the official Windows Driver Kit DDI referenceNo description available.
The WHEA_ERROR_SOURCE_DESCRIPTOR structure describes an error source.
LengthThe size, in bytes, of the WHEA_ERROR_SOURCE_DESCRIPTOR structure.
VersionThe version number of the WHEA_ERROR_SOURCE_DESCRIPTOR structure. This member contains the value WHEA_ERROR_SOURCE_DESCRIPTOR_VERSION_10.
TypeA WHEA_ERROR_SOURCE_TYPE-typed value that specifies the type of the error source.
StateA WHEA_ERROR_SOURCE_STATE-typed value that specifies the state of the error source.
MaxRawDataLengthThe maximum number of bytes of raw data included in a hardware error packet that is reported by this error source. This number must be large enough to include any additional platform-specific error information that is added to the hardware error packet by the PSHED or by a PSHED plug-in.
NumRecordsToPreallocateThe number of error records that should be pre-allocated for hardware errors that are reported by this error source.
MaxSectionsPerRecordThe maximum number of error record sections that are required in an error record to describe a hardware error that is reported by this error source. This number must be large enough to include any additional error record sections that are added to the error record by the PSHED or by a PSHED plug-in during the processing of the error.
ErrorSourceIdThe identifier of the error source. This identifier is unique only on the system where the error source exists.
PlatformErrorSourceIdThe identifier of the error source as enumerated by the hardware platform. This identifier is unique only on the system where the error source exists.
FlagsA bitwise OR'ed combination of flags that describes the error source. Possible flags are:
This flag indicates that the error source is a default error source for the type of hardware platform on which it exists.
This flag indicates that the errors that are reported by this error source are handled by the firmware before control of the hardware error processing is passed to the operating system.
This flag indicates that the settings specified for the error source are to be applied to all of the error sources in the system that are of the same type as that specified in the Type member.
InfoA union of descriptor structures that are specific to each different type of error source.
Info.XpfMceDescriptorA WHEA_XPF_MCE_DESCRIPTOR structure that describes an x86 or x64 processor machine check exception (MCE) error source.
Info.XpfCmcDescriptorA WHEA_XPF_CMC_DESCRIPTOR structure that describes an x86 or x64 processor corrected machine check (CMC) error source.
Info.XpfNmiDescriptorA WHEA_XPF_NMI_DESCRIPTOR structure that describes an x86 or x64 processor nonmaskable interrupt (NMI) error source.
Info.IpfMcaDescriptorA WHEA_IPF_MCA_DESCRIPTOR structure that describes an Itanium processor machine check abort (MCA) error source.
Info.IpfCmcDescriptorA WHEA_IPF_CMC_DESCRIPTOR structure that describes an Itanium processor corrected machine check (CMC) error source.
Info.IpfCpeDescriptorA WHEA_IPF_CPE_DESCRIPTOR structure that describes an Itanium processor corrected platform error (CPE) error source.
Info.AerRootportDescriptorA WHEA_AER_ROOTPORT_DESCRIPTOR structure that describes a PCI Express (PCIe) root port error source.
Info.AerEndpointDescriptorA WHEA_AER_ENDPOINT_DESCRIPTOR structure that describes a PCIe endpoint error source.
Info.AerBridgeDescriptorA WHEA_AER_BRIDGE_DESCRIPTOR structure that describes a PCIe bridge error source.
Info.GenErrDescriptorA WHEA_GENERIC_ERROR_DESCRIPTOR structure that describes a generic error source.
Info.GenErrDescriptorV2A WHEA_GENERIC_ERROR_DESCRIPTOR_V2 structure.
Info.DeviceDriverDescriptorA WHEA_DEVICE_DRIVER_DESCRIPTOR structure.
The WHEA_ERROR_SOURCE_DESCRIPTOR structure describes an error source. The WHEA_ERROR_SOURCE_DESCRIPTOR structure is also used to configure an error source.
A user-mode WHEA management application can control the error sources in the system by calling the methods in the WHEAErrorSourceMethods WMI provider class.
WHEAErrorSourceMethods::DisableErrorSourceRtn
WHEAErrorSourceMethods::EnableErrorSourceRtn
WHEAErrorSourceMethods::GetAllErrorSourcesRtn
WHEAErrorSourceMethods::GetErrorSourceInfoRtn
WHEAErrorSourceMethods::SetErrorSourceInfoRtn