WHEA_NOTIFICATION_DESCRIPTOR结构(ntddk.h)
WHEA_NOTIFICATION_DESCRIPTOR 结构描述错误源使用的通知机制。
语法
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;
成员
Type
错误源使用的通知机制的类型。 这可以是下列可能值之一。
价值 | 意义 |
---|---|
WHEA_NOTIFICATION_TYPE_EXTERNALINTERRUPT | 错误源通过外部中断通知错误源的 LLHEH。 |
WHEA_NOTIFICATION_TYPE_LOCALINTERRUPT | 错误源通过本地中断通知错误源的 LLHEH。 |
WHEA_NOTIFICATION_TYPE_NMI | 错误源通过不可屏蔽的中断(NMI)通知错误源的 LLHEH。 |
WHEA_NOTIFICATION_TYPE_POLLED | 错误源的低级别硬件错误处理程序 (LLHEH)必须定期轮询错误状态寄存器以检查错误条件。 |
WHEA_NOTIFICATION_TYPE_SCI | 错误源通过服务控制中断(SCI)通知错误源的 LLHEH。 |
Length
WHEA_NOTIFICATION_DESCRIPTOR 结构的大小(以字节为单位)。
Flags
一个WHEA_NOTIFICATION_FLAGS联合,指示作系统可以写入 WHEA_NOTIFICATION_DESCRIPTOR 结构的哪些成员。 WHEA_NOTIFICATION_FLAGS联合的定义如下:
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
价值 | 意义 |
---|---|
AsUSHORT | WHEA_NOTIFICATION_FLAGS联合内容的 USHORT 表示形式。 |
ErrorThresholdRW | 指示作系统可以写入 u.xxx的位。ErrorThreshold WHEA_NOTIFICATION_DESCRIPTOR 结构的成员。 |
ErrorThresholdWindowRW | 指示作系统可以写入 u.xxx的位。ErrorThresholdWindow WHEA_NOTIFICATION_DESCRIPTOR结构的成员。 |
PollIntervalRW | 指示作系统可以写入 u.xxx的位。PollInterval WHEA_NOTIFICATION_DESCRIPTOR 结构的成员。 |
保留 | 保留供系统使用。 |
SwitchToPollingThresholdRW | 指示作系统可以写入 u.xxx的位。SwitchToPollingThreshold WHEA_NOTIFICATION_DESCRIPTOR结构的成员。 |
SwitchToPollingWindowRW | 指示作系统可以写入 u.xxx的位。SwitchToPollingWindow WHEA_NOTIFICATION_DESCRIPTOR结构的成员。 |
u
特定于每种不同类型的通知机制的结构的联合。
u.Polled
描述 类型 成员设置为WHEA_NOTIFICATION_TYPE_POLLED时通知机制的结构。
u.Polled.PollInterval
错误源的 LLHEH 应轮询错误状态寄存器以检查错误条件的间隔(以毫秒为单位)。
u.Interrupt
描述 类型 成员设置为WHEA_NOTIFICATION_TYPE_EXTERNALINTERRUPT时通知机制的结构。
u.Interrupt.PollInterval
错误源的 LLHEH 应轮询错误状态寄存器以检查错误条件(如果错误源已从中断模式切换)的间隔(以毫秒为单位)。
u.Interrupt.Vector
错误源的中断向量。
u.Interrupt.SwitchToPollingThreshold
在将错误源切换到轮询模式之前,SwitchToPollingWindow 成员指定的时间内必须发生的错误数。
u.Interrupt.SwitchToPollingWindow
时间窗口(以秒为单位),在错误源切换到轮询模式之前,必须发生由 SwitchToPollingThreshold 成员指定的错误数。
u.Interrupt.ErrorThreshold
在作系统处理错误源的错误之前,ErrorThresholdWindow 成员指定的时间内发生的错误数。
u.Interrupt.ErrorThresholdWindow
在作系统处理错误源的错误之前,ErrorThreshold 成员指定的错误数(以秒为单位)的时间范围。
u.LocalInterrupt
描述 类型 成员设置为WHEA_NOTIFICATION_TYPE_LOCALINTERRUPT时通知机制的结构。
u.LocalInterrupt.PollInterval
错误源的 LLHEH 应轮询错误状态寄存器以检查错误条件(如果错误源已从中断模式切换)的间隔(以毫秒为单位)。
u.LocalInterrupt.Vector
错误源的中断向量。
u.LocalInterrupt.SwitchToPollingThreshold
在将错误源切换到轮询模式之前,SwitchToPollingWindow 成员指定的时间内必须发生的错误数。
u.LocalInterrupt.SwitchToPollingWindow
时间窗口(以秒为单位),在错误源切换到轮询模式之前,必须发生由 SwitchToPollingThreshold 成员指定的错误数。
u.LocalInterrupt.ErrorThreshold
在作系统处理错误源的错误之前,ErrorThresholdWindow 成员指定的时间内发生的错误数。
u.LocalInterrupt.ErrorThresholdWindow
在作系统处理错误源的错误之前,ErrorThreshold 成员指定的错误数(以秒为单位)的时间范围。
u.Sci
当 类型 成员设置为WHEA_NOTIFICATION_TYPE_SCI时,描述通知机制的结构。
u.Sci.PollInterval
错误源的 LLHEH 应轮询错误状态寄存器以检查错误条件(如果错误源已从中断模式切换)的间隔(以毫秒为单位)。
u.Sci.Vector
错误源的中断向量。
u.Sci.SwitchToPollingThreshold
在将错误源切换到轮询模式之前,SwitchToPollingWindow 成员指定的时间内必须发生的错误数。
u.Sci.SwitchToPollingWindow
时间窗口(以秒为单位),在错误源切换到轮询模式之前,必须发生由 SwitchToPollingThreshold 成员指定的错误数。
u.Sci.ErrorThreshold
在作系统处理错误源的错误之前,ErrorThresholdWindow 成员指定的时间内发生的错误数。
u.Sci.ErrorThresholdWindow
在作系统处理错误源的错误之前,ErrorThreshold 成员指定的错误数(以秒为单位)的时间范围。
u.Nmi
当 类型 成员设置为WHEA_NOTIFICATION_TYPE_NMI时,描述通知机制的结构。
u.Nmi.PollInterval
错误源的 LLHEH 应轮询错误状态寄存器以检查错误条件(如果错误源已从中断模式切换)的间隔(以毫秒为单位)。
u.Nmi.Vector
错误源的中断向量。
u.Nmi.SwitchToPollingThreshold
在将错误源切换到轮询模式之前,SwitchToPollingWindow 成员指定的时间内必须发生的错误数。
u.Nmi.SwitchToPollingWindow
时间窗口(以秒为单位),在错误源切换到轮询模式之前,必须发生由 SwitchToPollingThreshold 成员指定的错误数。
u.Nmi.ErrorThreshold
在作系统处理错误源的错误之前,ErrorThresholdWindow 成员指定的时间内发生的错误数。
u.Nmi.ErrorThresholdWindow
在作系统处理错误源的错误之前,ErrorThreshold 成员指定的错误数(以秒为单位)的时间范围。
u.Sea
u.Sea.PollInterval
u.Sea.Vector
u.Sea.SwitchToPollingThreshold
u.Sea.SwitchToPollingWindow
u.Sea.ErrorThreshold
u.Sea.ErrorThresholdWindow
u.Sei
u.Sei.PollInterval
u.Sei.Vector
u.Sei.SwitchToPollingThreshold
u.Sei.SwitchToPollingWindow
u.Sei.ErrorThreshold
u.Sei.ErrorThresholdWindow
u.Gsiv
u.Gsiv.PollInterval
u.Gsiv.Vector
u.Gsiv.SwitchToPollingThreshold
u.Gsiv.SwitchToPollingWindow
u.Gsiv.ErrorThreshold
u.Gsiv.ErrorThresholdWindow
言论
WHEA_NOTIFICATION_DESCRIPTOR 结构包含在 WHEA_GENERIC_ERROR_DESCRIPTOR 和 WHEA_XPF_CMC_DESCRIPTOR 结构中。
要求
要求 | 价值 |
---|---|
标头 | ntddk.h (包括 Ntddk.h) |