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_DESCRIPTOR 구조체의 멤버를 나타내는 WHEA_NOTIFICATION_FLAGS 공용 구조체입니다. 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에 쓸 수 있음을 나타내는 단일 비트입니다. WHEA_NOTIFICATION_DESCRIPTOR 구조체의 ErrorThresholdWindow 멤버입니다. |
PollIntervalRW | 운영 체제가 u.xxx에 쓸 수 있음을 나타내는 단일 비트입니다. WHEA_NOTIFICATION_DESCRIPTOR 구조체의 PollInterval 멤버입니다. |
Reserved | 시스템에서 사용하도록 예약되었습니다. |
SwitchToPollingThresholdRW | 운영 체제가 u.xxx에 쓸 수 있음을 나타내는 단일 비트입니다. switchToPollingThreshold WHEA_NOTIFICATION_DESCRIPTOR 구조체의 멤버입니다. |
SwitchToPollingWindowRW | 운영 체제가 u.xxx에 쓸 수 있음을 나타내는 단일 비트입니다. WHEA_NOTIFICATION_DESCRIPTOR 구조체의 SwitchToPollingWindow 멤버입니다. |
u
각 유형의 알림 메커니즘에 특정한 구조체의 결합입니다.
u.Polled
Type 멤버가 WHEA_NOTIFICATION_TYPE_POLLED 설정된 경우 알림 메커니즘을 설명하는 구조체입니다.
u.Polled.PollInterval
오류 원본에 대한 LLHEH가 오류를 폴링해야 하는 간격(밀리초)상태 오류 조건에 대한 검사 등록합니다.
u.Interrupt
Type 멤버가 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 포함) |