// ntddk.h
typedef struct _WHEA_GENERIC_ERROR_DESCRIPTOR {
USHORT Type;
UCHAR Reserved;
UCHAR Enabled;
ULONG ErrStatusBlockLength;
ULONG RelatedErrorSourceId;
UCHAR ErrStatusAddressSpaceID;
UCHAR ErrStatusAddressBitWidth;
UCHAR ErrStatusAddressBitOffset;
UCHAR ErrStatusAddressAccessSize;
WHEA_PHYSICAL_ADDRESS ErrStatusAddress;
WHEA_NOTIFICATION_DESCRIPTOR Notify;
} WHEA_GENERIC_ERROR_DESCRIPTOR, *PWHEA_GENERIC_ERROR_DESCRIPTOR;
View the official Windows Driver Kit DDI referenceNo description available.
The WHEA_GENERIC_ERROR_DESCRIPTOR structure describes a generic error source.
TypeThe type of error source descriptor. This member is always set to WHEA_ERROR_SOURCE_DESCRIPTOR_TYPE_GENERIC.
ReservedReserved for system use.
EnabledA Boolean value that indicates if the error source is enabled.
ErrStatusBlockLengthThe size, in bytes, of the block of error status registers that contain the error data for the error source.
RelatedErrorSourceIdThe identifier of the related error source. If the generic error source does not relate back to another error source, this member is not used.
ErrStatusAddressSpaceIDThe address space of the address that is specified in the ErrStatusAddress member. Possible values are:
System memory space
System I/O space
PCI configuration space
Embedded controller address space
System management bus (SMBus) address space
Reserved
Functional fixed hardware address space
Reserved
OEM defined address space
ErrStatusAddressBitWidthThe size, in bits, of the register at the address that is specified in the ErrStatusAddress member.
ErrStatusAddressBitOffsetThe offset, in bits, of the register at the address that is specified in the ErrStatusAddress member.
ErrStatusAddressAccessSizeThe access size for reading the register at the address that is specified in the ErrStatusAddress member. Possible values are:
Undefined
Byte access
Word access
Double word access
Quad word access
ErrStatusAddressThe 64-bit address of a register that contains the physical address of a block of memory that contains the error status data for the error source. This block of memory must reside in firmware reserved memory so that it is not reclaimed by the operating system's memory manager. The error status data contained in this block of memory is described by a WHEA_GENERIC_ERROR structure.
NotifyA WHEA_NOTIFICATION_DESCRIPTOR structure that describes the notification mechanism that is used by the error source.
A WHEA_GENERIC_ERROR_DESCRIPTOR structure is contained within the WHEA_ERROR_SOURCE_DESCRIPTOR structure.
WHEA_GENERIC_ERROR_DESCRIPTOR_V2