// ntddk.h
typedef struct _WHEA_MEMORY_ERROR_SECTION {
WHEA_MEMORY_ERROR_SECTION_VALIDBITS ValidBits;
WHEA_ERROR_STATUS ErrorStatus;
ULONGLONG PhysicalAddress;
ULONGLONG PhysicalAddressMask;
USHORT Node;
USHORT Card;
USHORT Module;
USHORT Bank;
USHORT Device;
USHORT Row;
USHORT Column;
USHORT BitPosition;
ULONGLONG RequesterId;
ULONGLONG ResponderId;
ULONGLONG TargetId;
UCHAR ErrorType;
UCHAR Extended;
USHORT RankNumber;
USHORT CardHandle;
USHORT ModuleHandle;
} WHEA_MEMORY_ERROR_SECTION, *PWHEA_MEMORY_ERROR_SECTION;
View the official Windows Driver Kit DDI referenceNo description available.
The WHEA_MEMORY_ERROR_SECTION structure describes platform memory error data.
ValidBitsA WHEA_MEMORY_ERROR_SECTION_VALIDBITS union that specifies which members of this structure contain valid data.
ErrorStatusA WHEA_ERROR_STATUS structure that contains memory error status data.
This member contains valid data only if the Validbits.ErrorStatus bit is set.
PhysicalAddressThe physical address where the memory error occurred.
This member contains valid data only if the Validbits.PhysicalAddress bit is set.
PhysicalAddressMaskA bit mask that specifies which of the bits in the PhysicalAddress member contain valid address data.
This member contains valid data only if the Validbits.PhysicalAddressMask bit is set.
NodeThe identifier of the node that contains the memory where the memory error occurred in a system with multiple nodes.
This member contains valid data only if the Validbits.Node bit is set.
CardThe card number of the card that contains the memory where the memory error occurred.
This member contains valid data only if the Validbits.Card bit is set.
ModuleThe module number of the module that contains the memory where the memory error occurred.
This member contains valid data only if the Validbits.Module bit is set.
BankThe bank number of the memory bank that contains the memory where the memory error occurred.
This member contains valid data only if the Validbits.Bank bit is set.
DeviceThe device number of the memory device that contains the memory where the memory error occurred.
This member contains valid data only if the Validbits.Device bit is set.
RowThe row number of the location where the memory error occurred.
This member contains valid data only if the Validbits.Row bit is set.
ColumnThe column number of the location where the memory error occurred.
This member contains valid data only if the Validbits.Column bit is set.
BitPositionThe bit position where the memory error occurred.
This member contains valid data only if the Validbits.BitPosition bit is set.
RequesterIdAn identifier that uniquely identifies the requester associated with the error.
This member contains valid data only if the Validbits.RequesterId bit is set.
ResponderIdAn identifier that uniquely identifies the responder associated with the error.
This member contains valid data only if the Validbits.ResponderId bit is set.
TargetIdThe hardware address of the intended target of the transaction.
This member contains valid data only if the Validbits.TargetId bit is set.
ErrorTypeThe type of memory error that occurred. Possible values are:
| Possible Values | Description |
|---|---|
| WHEA_MEMERRTYPE_UNKNOWN | An unknown error. |
| WHEA_MEMERRTYPE_NOERROR | No error occurred. |
| WHEA_MEMERRTYPE_SINGLEBITECC | A single bit ECC error. |
| WHEA_MEMERRTYPE_MULTIBITECC | multibit ECC error. |
| WHEA_MEMERRTYPE_SINGLESYMCHIPKILL | A single symbol ChipKill ECC error. |
| WHEA_MEMERRTYPE_MULTISYMCHIPKILL | A multiple symbol ChipKill ECC error. |
| WHEA_MEMERRTYPE_MASTERABORT | A master abort. |
| WHEA_MEMERRTYPE_TARGETABORT | A target abort. |
| WHEA_MEMERRTYPE_PARITYERROR | A parity error. |
| WHEA_MEMERRTYPE_WATCHDOGTIMEOUT | A watchdog timeout. |
| WHEA_MEMERRTYPE_INVALIDADDRESS | An invalid memory address. |
| WHEA_MEMERRTYPE_MIRRORBROKEN | A broken memory mirror. |
| WHEA_MEMERRTYPE_MEMORYSPARING | A memory sparing error. |
This member contains valid data only if the Validbits.ErrorType bit is set.
ExtendedContains valid data only if the ValidBits.ExtendedRow bits is set.
If ValidBits.Row is not set, the Row member contains row number bits (15:0) and Extended contains row number bits (17:16). Bit 0 is the 16th bit of the Row. Bit 1 is the 17th bit of the Row.
If ValidBits.ChipIdentification is set, Bits 7:5 contain Chip Identification.
This value is available starting Windows 10, version 1803.
RankNumberThe Rank number of the memory error location. This member contains valid data only if the ValidBits.RankNumber bit is set. This value is available starting Windows 10, version 1803.
CardHandleContains the SMBIOS handle for the Memory Array Structure that represents the Memory Card. This member contains valid data only if the ValidBits.CardHandle is set. This value is available starting Windows 10, version 1803.
ModuleHandleContains the SMBIOS handle for the Memory Device Structure that represents the Memory Module. This member contains valid data only if the ValidBits.ModuleHandle is set. This value is available starting Windows 10, version 1803.
The WHEA_MEMORY_ERROR_SECTION structure describes the error data that is contained in a platform memory error section of an error record. An error record contains a platform memory error section only if the SectionType member of one of the WHEA_ERROR_RECORD_SECTION_DESCRIPTOR structures that describe the error record sections for that error record contains MEMORY_ERROR_SECTION_GUID.
WHEA_ERROR_RECORD_SECTION_DESCRIPTOR
WHEA_MEMORY_ERROR_SECTION_VALIDBITS