다음을 통해 공유


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_DESCRIPTORWHEA_XPF_CMC_DESCRIPTOR 구조체 내에 포함됩니다.

요구 사항

요구 사항
헤더 ntddk.h(Ntddk.h 포함)

추가 정보

WHEA_GENERIC_ERROR_DESCRIPTOR

WHEA_XPF_CMC_DESCRIPTOR