// ntddk.h
typedef struct _WHEA_NOTIFICATION_DESCRIPTOR {
UCHAR Type;
UCHAR Length;
WHEA_NOTIFICATION_FLAGS Flags;
union {
struct {
ULONG PollInterval;
} Polled;
struct {
ULONG PollInterval;
ULONG Vector;
ULONG SwitchToPollingThreshold;
ULONG SwitchToPollingWindow;
ULONG ErrorThreshold;
ULONG ErrorThresholdWindow;
} Interrupt;
struct {
ULONG PollInterval;
ULONG Vector;
ULONG SwitchToPollingThreshold;
ULONG SwitchToPollingWindow;
ULONG ErrorThreshold;
ULONG ErrorThresholdWindow;
} LocalInterrupt;
struct {
ULONG PollInterval;
ULONG Vector;
ULONG SwitchToPollingThreshold;
ULONG SwitchToPollingWindow;
ULONG ErrorThreshold;
ULONG ErrorThresholdWindow;
} Sci;
struct {
ULONG PollInterval;
ULONG Vector;
ULONG SwitchToPollingThreshold;
ULONG SwitchToPollingWindow;
ULONG ErrorThreshold;
ULONG ErrorThresholdWindow;
} Nmi;
struct {
ULONG PollInterval;
ULONG Vector;
ULONG SwitchToPollingThreshold;
ULONG SwitchToPollingWindow;
ULONG ErrorThreshold;
ULONG ErrorThresholdWindow;
} Sea;
struct {
ULONG PollInterval;
ULONG Vector;
ULONG SwitchToPollingThreshold;
ULONG SwitchToPollingWindow;
ULONG ErrorThreshold;
ULONG ErrorThresholdWindow;
} Sei;
struct {
ULONG PollInterval;
ULONG Vector;
ULONG SwitchToPollingThreshold;
ULONG SwitchToPollingWindow;
ULONG ErrorThreshold;
ULONG ErrorThresholdWindow;
} Gsiv;
} u;
} WHEA_NOTIFICATION_DESCRIPTOR, *PWHEA_NOTIFICATION_DESCRIPTOR;
View the official Windows Driver Kit DDI referenceNo description available.
The WHEA_NOTIFICATION_DESCRIPTOR structure describes the notification mechanism that is used by an error source.
TypeThe type of notification mechanism that is used by the error source. This can be one of the following possible values.
| Value | Meaning |
|---|---|
| WHEA_NOTIFICATION_TYPE_EXTERNALINTERRUPT | The error source notifies the LLHEH for the error source by means of an external interrupt. |
| WHEA_NOTIFICATION_TYPE_LOCALINTERRUPT | The error source notifies the LLHEH for the error source by means of a local interrupt. |
| WHEA_NOTIFICATION_TYPE_NMI | The error source notifies the LLHEH for the error source by means of a nonmaskable interrupt (NMI). |
| WHEA_NOTIFICATION_TYPE_POLLED | The low-level hardware error handler (LLHEH)for the error source must periodically poll the error status registers to check for an error condition. |
| WHEA_NOTIFICATION_TYPE_SCI | The error source notifies the LLHEH for the error source by means of a service control interrupt (SCI). |
LengthThe size, in bytes, of the WHEA_NOTIFICATION_DESCRIPTOR structure.
FlagsA WHEA_NOTIFICATION_FLAGS union that indicates which of the members of the WHEA_NOTIFICATION_DESCRIPTOR structure can be written to by the operating system. The WHEA_NOTIFICATION_FLAGS union is defined as follows:
typedef union _WHEA_NOTIFICATION_FLAGS {
struct {
USHORT PollIntervalRW:1;
USHORT SwitchToPollingThresholdRW:1;
USHORT SwitchToPollingWindowRW:1;
USHORT ErrorThresholdRW:1;
USHORT ErrorThresholdWindowRW:1;
USHORT Reserved:11;
};
USHORT AsUSHORT;
} WHEA_NOTIFICATION_FLAGS, *PWHEA_NOTIFICATION_FLAGS
| Value | Meaning |
|---|---|
| AsUSHORT | A USHORT representation of the contents of the WHEA_NOTIFICATION_FLAGS union. |
| ErrorThresholdRW | A single bit that indicates that the operating system can write to the u.xxx.ErrorThreshold members of the WHEA_NOTIFICATION_DESCRIPTOR structure. |
| ErrorThresholdWindowRW | A single bit that indicates that the operating system can write to the u.xxx.ErrorThresholdWindow members of the WHEA_NOTIFICATION_DESCRIPTOR structure. |
| PollIntervalRW | A single bit that indicates that the operating system can write to the u.xxx.PollInterval members of the WHEA_NOTIFICATION_DESCRIPTOR structure. |
| Reserved | Reserved for system use. |
| SwitchToPollingThresholdRW | A single bit that indicates that the operating system can write to the u.xxx.SwitchToPollingThreshold members of the WHEA_NOTIFICATION_DESCRIPTOR structure. |
| SwitchToPollingWindowRW | A single bit that indicates that the operating system can write to the u.xxx.SwitchToPollingWindow members of the WHEA_NOTIFICATION_DESCRIPTOR structure. |
uA union of structures that are specific to each different type of notification mechanism.
u.PolledA structure that describes the notification mechanism when the Type member is set to WHEA_NOTIFICATION_TYPE_POLLED.
u.Polled.PollIntervalThe interval, in milliseconds, that the LLHEH for the error source should poll the error status registers to check for an error condition.
u.InterruptA structure that describes the notification mechanism when the Type member is set to WHEA_NOTIFICATION_TYPE_EXTERNALINTERRUPT.
u.Interrupt.PollIntervalThe interval, in milliseconds, that the LLHEH for the error source should poll the error status registers to check for an error condition if the error source is switched out of interrupt mode.
u.Interrupt.VectorThe interrupt vector for the error source.
u.Interrupt.SwitchToPollingThresholdThe number of errors that must occur within the time specified by the SwitchToPollingWindow member before the error source is switched to polling mode.
u.Interrupt.SwitchToPollingWindowThe window of time, in seconds, in which the number of errors specified by the SwitchToPollingThreshold member must occur before the error source is switched to polling mode.
u.Interrupt.ErrorThresholdThe number of errors that must occur within the time specified by the ErrorThresholdWindow member before an error from the error source is processed by the operating system.
u.Interrupt.ErrorThresholdWindowThe window of time, in seconds, in which the number of errors specified by the ErrorThreshold member must occur before an error from the error source is processed by the operating system.
u.LocalInterruptA structure that describes the notification mechanism when the Type member is set to WHEA_NOTIFICATION_TYPE_LOCALINTERRUPT.
u.LocalInterrupt.PollIntervalThe interval, in milliseconds, that the LLHEH for the error source should poll the error status registers to check for an error condition if the error source is switched out of interrupt mode.
u.LocalInterrupt.VectorThe interrupt vector for the error source.
u.LocalInterrupt.SwitchToPollingThresholdThe number of errors that must occur within the time specified by the SwitchToPollingWindow member before the error source is switched to polling mode.
u.LocalInterrupt.SwitchToPollingWindowThe window of time, in seconds, in which the number of errors specified by the SwitchToPollingThreshold member must occur before the error source is switched to polling mode.
u.LocalInterrupt.ErrorThresholdThe number of errors that must occur within the time specified by the ErrorThresholdWindow member before an error from the error source is processed by the operating system.
u.LocalInterrupt.ErrorThresholdWindowThe window of time, in seconds, in which the number of errors specified by the ErrorThreshold member must occur before an error from the error source is processed by the operating system.
u.SciA structure that describes the notification mechanism when the Type member is set to WHEA_NOTIFICATION_TYPE_SCI.
u.Sci.PollIntervalThe interval, in milliseconds, that the LLHEH for the error source should poll the error status registers to check for an error condition if the error source is switched out of interrupt mode.
u.Sci.VectorThe interrupt vector for the error source.
u.Sci.SwitchToPollingThresholdThe number of errors that must occur within the time specified by the SwitchToPollingWindow member before the error source is switched to polling mode.
u.Sci.SwitchToPollingWindowThe window of time, in seconds, in which the number of errors specified by the SwitchToPollingThreshold member must occur before the error source is switched to polling mode.
u.Sci.ErrorThresholdThe number of errors that must occur within the time specified by the ErrorThresholdWindow member before an error from the error source is processed by the operating system.
u.Sci.ErrorThresholdWindowThe window of time, in seconds, in which the number of errors specified by the ErrorThreshold member must occur before an error from the error source is processed by the operating system.
u.NmiA structure that describes the notification mechanism when the Type member is set to WHEA_NOTIFICATION_TYPE_NMI.
u.Nmi.PollIntervalThe interval, in milliseconds, that the LLHEH for the error source should poll the error status registers to check for an error condition if the error source is switched out of interrupt mode.
u.Nmi.VectorThe interrupt vector for the error source.
u.Nmi.SwitchToPollingThresholdThe number of errors that must occur within the time specified by the SwitchToPollingWindow member before the error source is switched to polling mode.
u.Nmi.SwitchToPollingWindowThe window of time, in seconds, in which the number of errors specified by the SwitchToPollingThreshold member must occur before the error source is switched to polling mode.
u.Nmi.ErrorThresholdThe number of errors that must occur within the time specified by the ErrorThresholdWindow member before an error from the error source is processed by the operating system.
u.Nmi.ErrorThresholdWindowThe window of time, in seconds, in which the number of errors specified by the ErrorThreshold member must occur before an error from the error source is processed by the operating system.
u.Seau.Sea.PollIntervalu.Sea.Vectoru.Sea.SwitchToPollingThresholdu.Sea.SwitchToPollingWindowu.Sea.ErrorThresholdu.Sea.ErrorThresholdWindowu.Seiu.Sei.PollIntervalu.Sei.Vectoru.Sei.SwitchToPollingThresholdu.Sei.SwitchToPollingWindowu.Sei.ErrorThresholdu.Sei.ErrorThresholdWindowu.Gsivu.Gsiv.PollIntervalu.Gsiv.Vectoru.Gsiv.SwitchToPollingThresholdu.Gsiv.SwitchToPollingWindowu.Gsiv.ErrorThresholdu.Gsiv.ErrorThresholdWindowA WHEA_NOTIFICATION_DESCRIPTOR structure is contained within the WHEA_GENERIC_ERROR_DESCRIPTOR and WHEA_XPF_CMC_DESCRIPTOR structures.