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 的单个位。WHEA_NOTIFICATION_DESCRIPTOR 结构的 ErrorThreshold 成员。 |
ErrorThresholdWindowRW | 指示操作系统可以写入 u.xxx 的单个位。WHEA_NOTIFICATION_DESCRIPTOR 结构的 ErrorThresholdWindow 成员。 |
PollIntervalRW | 指示操作系统可以写入 u.xxx 的单个位。WHEA_NOTIFICATION_DESCRIPTOR结构的 PollInterval 成员。 |
Reserved | 预留给系统使用。 |
SwitchToPollingThresholdRW | 指示操作系统可以写入 u.xxx 的单个位。WHEA_NOTIFICATION_DESCRIPTOR 结构的 SwitchToPollingThreshold 成员。 |
SwitchToPollingWindowRW | 指示操作系统可以写入 u.xxx 的单个位。WHEA_NOTIFICATION_DESCRIPTOR 结构的 SwitchToPollingWindow 成员。 |
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结构中。
要求
要求 | 值 |
---|---|
Header | ntddk.h (包括 Ntddk.h) |