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 (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成員。 |
已保留 | 保留供系統使用。 |
SwitchToPollingThresholdRW | 單一位,表示操作系統可以寫入 u.xxx。WHEA_NOTIFICATION_DESCRIPTOR 結構的 SwitchToPollingThreshold 成員。 |
SwitchToPollingWindowRW | 單一位,表示操作系統可以寫入 u.xxx。WHEA_NOTIFICATION_DESCRIPTOR 結構的 SwitchToPollingWindow 成員。 |
u
每個不同類型通知機制特有的結構聯集。
u.Polled
結構,描述 Type 成員設定為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
結構,描述 Type 成員設定為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
結構,描述 Type 成員設定為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
結構,描述 Type 成員設定為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) |