1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078 |
- #pragma once
- #if defined(_X86_) || defined(_IA64_) || defined(_AMD64_)
- typedef union _MCI_ADDR {
- _ANONYMOUS_STRUCT struct {
- ULONG Address;
- ULONG Reserved;
- } DUMMYSTRUCTNAME;
- ULONGLONG QuadPart;
- } MCI_ADDR, *PMCI_ADDR;
- typedef enum {
- HAL_MCE_RECORD,
- HAL_MCA_RECORD
- } MCA_EXCEPTION_TYPE;
- #if defined(_AMD64_)
- #if (NTDDI_VERSION <= NTDDI_WINXP)
- typedef union _MCI_STATS {
- struct {
- USHORT McaCod;
- USHORT ModelErrorCode;
- ULONG OtherInfo:25;
- ULONG Damage:1;
- ULONG AddressValid:1;
- ULONG MiscValid:1;
- ULONG Enabled:1;
- ULONG Uncorrected:1;
- ULONG OverFlow:1;
- ULONG Valid:1;
- } MciStatus;
- ULONG64 QuadPart;
- } MCI_STATS, *PMCI_STATS;
- #else
- typedef union _MCI_STATS {
- struct {
- USHORT McaErrorCode;
- USHORT ModelErrorCode;
- ULONG OtherInformation:25;
- ULONG ContextCorrupt:1;
- ULONG AddressValid:1;
- ULONG MiscValid:1;
- ULONG ErrorEnabled:1;
- ULONG UncorrectedError:1;
- ULONG StatusOverFlow:1;
- ULONG Valid:1;
- } MciStatus;
- ULONG64 QuadPart;
- } MCI_STATS, *PMCI_STATS;
- #endif /* (NTDDI_VERSION <= NTDDI_WINXP) */
- #endif /* defined(_AMD64_) */
- #if defined(_X86_)
- typedef union _MCI_STATS {
- struct {
- USHORT McaCod;
- USHORT MsCod;
- ULONG OtherInfo:25;
- ULONG Damage:1;
- ULONG AddressValid:1;
- ULONG MiscValid:1;
- ULONG Enabled:1;
- ULONG UnCorrected:1;
- ULONG OverFlow:1;
- ULONG Valid:1;
- } MciStats;
- ULONGLONG QuadPart;
- } MCI_STATS, *PMCI_STATS;
- #endif
- #define MCA_EXTREG_V2MAX 24
- #if defined(_X86_) || defined(_AMD64_)
- #if (NTDDI_VERSION >= NTDDI_WINXP)
- typedef struct _MCA_EXCEPTION {
- ULONG VersionNumber;
- MCA_EXCEPTION_TYPE ExceptionType;
- LARGE_INTEGER TimeStamp;
- ULONG ProcessorNumber;
- ULONG Reserved1;
- union {
- struct {
- UCHAR BankNumber;
- UCHAR Reserved2[7];
- MCI_STATS Status;
- MCI_ADDR Address;
- ULONGLONG Misc;
- } Mca;
- struct {
- ULONGLONG Address;
- ULONGLONG Type;
- } Mce;
- } u;
- ULONG ExtCnt;
- ULONG Reserved3;
- ULONGLONG ExtReg[MCA_EXTREG_V2MAX];
- } MCA_EXCEPTION, *PMCA_EXCEPTION;
- #else
- typedef struct _MCA_EXCEPTION {
- ULONG VersionNumber;
- MCA_EXCEPTION_TYPE ExceptionType;
- LARGE_INTEGER TimeStamp;
- ULONG ProcessorNumber;
- ULONG Reserved1;
- union {
- struct {
- UCHAR BankNumber;
- UCHAR Reserved2[7];
- MCI_STATS Status;
- MCI_ADDR Address;
- ULONGLONG Misc;
- } Mca;
- struct {
- ULONGLONG Address;
- ULONGLONG Type;
- } Mce;
- } u;
- } MCA_EXCEPTION, *PMCA_EXCEPTION;
- #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
- typedef MCA_EXCEPTION CMC_EXCEPTION, *PCMC_EXCEPTION;
- typedef MCA_EXCEPTION CPE_EXCEPTION, *PCPE_EXCEPTION;
- #if (NTDDI_VERSION >= NTDDI_WINXP)
- #define MCA_EXCEPTION_V1_SIZE FIELD_OFFSET(MCA_EXCEPTION, ExtCnt)
- #define MCA_EXCEPTION_V2_SIZE sizeof(struct _MCA_EXCEPTION)
- #endif
- #endif /* defined(_X86_) || defined(_AMD64_) */
- #if defined(_AMD64_) || defined(_IA64_)
- typedef UCHAR ERROR_SEVERITY, *PERROR_SEVERITY;
- typedef enum _ERROR_SEVERITY_VALUE {
- ErrorRecoverable = 0,
- ErrorFatal = 1,
- ErrorCorrected = 2,
- ErrorOthers = 3,
- } ERROR_SEVERITY_VALUE;
- #endif
- #if defined(_IA64_)
- typedef union _ERROR_REVISION {
- USHORT Revision;
- _ANONYMOUS_STRUCT struct {
- UCHAR Minor;
- UCHAR Major;
- } DUMMYSTRUCTNAME;
- } ERROR_REVISION, *PERROR_REVISION;
- #if (NTDDI_VERSION > NTDDI_WINXP)
- #define ERROR_MAJOR_REVISION_SAL_03_00 0
- #define ERROR_MINOR_REVISION_SAL_03_00 2
- #define ERROR_REVISION_SAL_03_00 {ERROR_MINOR_REVISION_SAL_03_00,ERROR_MAJOR_REVISION_SAL_03_00}
- #define ERROR_FIXED_SECTION_REVISION {2,0}
- #else
- #define ERROR_REVISION_SAL_03_00 {2,0}
- #endif /* (NTDDI_VERSION > NTDDI_WINXP) */
- typedef union _ERROR_TIMESTAMP {
- ULONGLONG TimeStamp;
- _ANONYMOUS_STRUCT struct {
- UCHAR Seconds;
- UCHAR Minutes;
- UCHAR Hours;
- UCHAR Reserved;
- UCHAR Day;
- UCHAR Month;
- UCHAR Year;
- UCHAR Century;
- } DUMMYSTRUCTNAME;
- } ERROR_TIMESTAMP, *PERROR_TIMESTAMP;
- typedef struct _ERROR_GUID {
- ULONG Data1;
- USHORT Data2;
- USHORT Data3;
- UCHAR Data4[8];
- } ERROR_GUID, *PERROR_GUID;
- typedef ERROR_GUID _ERROR_DEVICE_GUID;
- typedef _ERROR_DEVICE_GUID ERROR_DEVICE_GUID, *PERROR_DEVICE_GUID;
- typedef ERROR_GUID _ERROR_PLATFORM_GUID;
- typedef _ERROR_PLATFORM_GUID ERROR_PLATFORM_GUID, *PERROR_PLATFORM_GUID;
- typedef union _ERROR_RECORD_VALID {
- UCHAR Valid;
- _ANONYMOUS_STRUCT struct {
- UCHAR OemPlatformID:1;
- UCHAR Reserved:7;
- } DUMMYSTRUCTNAME;
- } ERROR_RECORD_VALID, *PERROR_RECORD_VALID;
- typedef struct _ERROR_RECORD_HEADER {
- ULONGLONG Id;
- ERROR_REVISION Revision;
- ERROR_SEVERITY ErrorSeverity;
- ERROR_RECORD_VALID Valid;
- ULONG Length;
- ERROR_TIMESTAMP TimeStamp;
- UCHAR OemPlatformId[16];
- } ERROR_RECORD_HEADER, *PERROR_RECORD_HEADER;
- typedef union _ERROR_RECOVERY_INFO {
- UCHAR RecoveryInfo;
- _ANONYMOUS_STRUCT struct {
- UCHAR Corrected:1;
- UCHAR NotContained:1;
- UCHAR Reset:1;
- UCHAR Reserved:4;
- UCHAR Valid:1;
- } DUMMYSTRUCTNAME;
- } ERROR_RECOVERY_INFO, *PERROR_RECOVERY_INFO;
- typedef struct _ERROR_SECTION_HEADER {
- ERROR_DEVICE_GUID Guid;
- ERROR_REVISION Revision;
- ERROR_RECOVERY_INFO RecoveryInfo;
- UCHAR Reserved;
- ULONG Length;
- } ERROR_SECTION_HEADER, *PERROR_SECTION_HEADER;
- #if !defined(__midl)
- __inline
- USHORT
- NTAPI
- GetFwMceLogProcessorNumber(
- PERROR_RECORD_HEADER Log)
- {
- PERROR_SECTION_HEADER section = (PERROR_SECTION_HEADER)((ULONG64)Log + sizeof(*Log));
- USHORT lid = (USHORT)((UCHAR)(section->Reserved));
- #ifdef NONAMELESSUNION
- lid |= (USHORT)((UCHAR)(Log->TimeStamp.s.Reserved) << 8);
- #else
- lid |= (USHORT)((UCHAR)(Log->TimeStamp.Reserved) << 8);
- #endif
- return( lid );
- }
- #endif /* !__midl */
- #define ERROR_PROCESSOR_GUID {0xe429faf1, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_MODINFO_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG CheckInfo:1;
- ULONGLONG RequestorIdentifier:1;
- ULONGLONG ResponderIdentifier:1;
- ULONGLONG TargetIdentifier:1;
- ULONGLONG PreciseIP:1;
- ULONGLONG Reserved:59;
- } DUMMYSTRUCTNAME;
- } ERROR_MODINFO_VALID, *PERROR_MODINFO_VALID;
- typedef enum _ERROR_CHECK_IS {
- isIA64 = 0,
- isIA32 = 1,
- } ERROR_CHECK_IS;
- typedef enum _ERROR_CACHE_CHECK_OPERATION {
- CacheUnknownOp = 0,
- CacheLoad = 1,
- CacheStore = 2,
- CacheInstructionFetch = 3,
- CacheDataPrefetch = 4,
- CacheSnoop = 5,
- CacheCastOut = 6,
- CacheMoveIn = 7,
- } ERROR_CACHE_CHECK_OPERATION;
- typedef enum _ERROR_CACHE_CHECK_MESI {
- CacheInvalid = 0,
- CacheHeldShared = 1,
- CacheHeldExclusive = 2,
- CacheModified = 3,
- } ERROR_CACHE_CHECK_MESI;
- #if (NTDDI_VERSION >= NTDDI_VISTA)
- typedef union _ERROR_CACHE_CHECK {
- ULONGLONG CacheCheck;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG Operation:4;
- ULONGLONG Level:2;
- ULONGLONG Reserved1:2;
- ULONGLONG DataLine:1;
- ULONGLONG TagLine:1;
- ULONGLONG DataCache:1;
- ULONGLONG InstructionCache:1;
- ULONGLONG MESI:3;
- ULONGLONG MESIValid:1;
- ULONGLONG Way:5;
- ULONGLONG WayIndexValid:1;
- ULONGLONG Reserved2:1;
- ULONGLONG DP:1;
- ULONGLONG Reserved3:8;
- ULONGLONG Index:20;
- ULONGLONG Reserved4:2;
- ULONGLONG InstructionSet:1;
- ULONGLONG InstructionSetValid:1;
- ULONGLONG PrivilegeLevel:2;
- ULONGLONG PrivilegeLevelValid:1;
- ULONGLONG MachineCheckCorrected:1;
- ULONGLONG TargetAddressValid:1;
- ULONGLONG RequestIdValid:1;
- ULONGLONG ResponderIdValid:1;
- ULONGLONG PreciseIPValid:1;
- } DUMMYSTRUCTNAME;
- } ERROR_CACHE_CHECK, *PERROR_CACHE_CHECK;
- # else
- typedef union _ERROR_CACHE_CHECK {
- ULONGLONG CacheCheck;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG Operation:4;
- ULONGLONG Level:2;
- ULONGLONG Reserved1:2;
- ULONGLONG DataLine:1;
- ULONGLONG TagLine:1;
- ULONGLONG DataCache:1;
- ULONGLONG InstructionCache:1;
- ULONGLONG MESI:3;
- ULONGLONG MESIValid:1;
- ULONGLONG Way:5;
- ULONGLONG WayIndexValid:1;
- ULONGLONG Reserved2:10;
- ULONGLONG Index:20;
- ULONGLONG Reserved3:2;
- ULONGLONG InstructionSet:1;
- ULONGLONG InstructionSetValid:1;
- ULONGLONG PrivilegeLevel:2;
- ULONGLONG PrivilegeLevelValid:1;
- ULONGLONG MachineCheckCorrected:1;
- ULONGLONG TargetAddressValid:1;
- ULONGLONG RequestIdValid:1;
- ULONGLONG ResponderIdValid:1;
- ULONGLONG PreciseIPValid:1;
- } DUMMYSTRUCTNAME;
- } ERROR_CACHE_CHECK, *PERROR_CACHE_CHECK;
- #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
- typedef enum _ERROR_TLB_CHECK_OPERATION {
- TlbUnknownOp = 0,
- TlbAccessWithLoad = 1,
- TlbAccessWithStore = 2,
- TlbAccessWithInstructionFetch = 3,
- TlbAccessWithDataPrefetch = 4,
- TlbShootDown = 5,
- TlbProbe = 6,
- TlbVhptFill = 7,
- TlbPurge = 8,
- } ERROR_TLB_CHECK_OPERATION;
- typedef union _ERROR_TLB_CHECK {
- ULONGLONG TlbCheck;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG TRSlot:8;
- ULONGLONG TRSlotValid:1;
- ULONGLONG Reserved1:1;
- ULONGLONG Level:2;
- ULONGLONG Reserved2:4;
- ULONGLONG DataTransReg:1;
- ULONGLONG InstructionTransReg:1;
- ULONGLONG DataTransCache:1;
- ULONGLONG InstructionTransCache:1;
- ULONGLONG Operation:4;
- ULONGLONG Reserved3:30;
- ULONGLONG InstructionSet:1;
- ULONGLONG InstructionSetValid:1;
- ULONGLONG PrivilegeLevel:2;
- ULONGLONG PrivilegeLevelValid:1;
- ULONGLONG MachineCheckCorrected:1;
- ULONGLONG TargetAddressValid:1;
- ULONGLONG RequestIdValid:1;
- ULONGLONG ResponderIdValid:1;
- ULONGLONG PreciseIPValid:1;
- } DUMMYSTRUCTNAME;
- } ERROR_TLB_CHECK, *PERROR_TLB_CHECK;
- typedef enum _ERROR_BUS_CHECK_OPERATION {
- BusUnknownOp = 0,
- BusPartialRead = 1,
- BusPartialWrite = 2,
- BusFullLineRead = 3,
- BusFullLineWrite = 4,
- BusWriteBack = 5,
- BusSnoopProbe = 6,
- BusIncomingPtcG = 7,
- BusWriteCoalescing = 8,
- } ERROR_BUS_CHECK_OPERATION;
- #if (NTDDI_VERSION >= NTDDI_VISTA)
- typedef union _ERROR_BUS_CHECK {
- ULONGLONG BusCheck;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG Size:5;
- ULONGLONG Internal:1;
- ULONGLONG External:1;
- ULONGLONG CacheTransfer:1;
- ULONGLONG Type:8;
- ULONGLONG Severity:5;
- ULONGLONG Hierarchy:2;
- ULONGLONG DP:1;
- ULONGLONG Status:8;
- ULONGLONG Reserved1:22;
- ULONGLONG InstructionSet:1;
- ULONGLONG InstructionSetValid:1;
- ULONGLONG PrivilegeLevel:2;
- ULONGLONG PrivilegeLevelValid:1;
- ULONGLONG MachineCheckCorrected:1;
- ULONGLONG TargetAddressValid:1;
- ULONGLONG RequestIdValid:1;
- ULONGLONG ResponderIdValid:1;
- ULONGLONG PreciseIPValid:1;
- } DUMMYSTRUCTNAME;
- } ERROR_BUS_CHECK, *PERROR_BUS_CHECK;
- #else
- typedef union _ERROR_BUS_CHECK {
- ULONGLONG BusCheck;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG Size:5;
- ULONGLONG Internal:1;
- ULONGLONG External:1;
- ULONGLONG CacheTransfer:1;
- ULONGLONG Type:8;
- ULONGLONG Severity:5;
- ULONGLONG Hierarchy:2;
- ULONGLONG Reserved1:1;
- ULONGLONG Status:8;
- ULONGLONG Reserved2:22;
- ULONGLONG InstructionSet:1;
- ULONGLONG InstructionSetValid:1;
- ULONGLONG PrivilegeLevel:2;
- ULONGLONG PrivilegeLevelValid:1;
- ULONGLONG MachineCheckCorrected:1;
- ULONGLONG TargetAddressValid:1;
- ULONGLONG RequestIdValid:1;
- ULONGLONG ResponderIdValid:1;
- ULONGLONG PreciseIPValid:1;
- } DUMMYSTRUCTNAME;
- } ERROR_BUS_CHECK, *PERROR_BUS_CHECK;
- #endif
- typedef enum _ERROR_REGFILE_CHECK_IDENTIFIER {
- RegFileUnknownId = 0,
- GeneralRegisterBank1 = 1,
- GeneralRegisterBank0 = 2,
- FloatingPointRegister = 3,
- BranchRegister = 4,
- PredicateRegister = 5,
- ApplicationRegister = 6,
- ControlRegister = 7,
- RegionRegister = 8,
- ProtectionKeyRegister = 9,
- DataBreakPointRegister = 10,
- InstructionBreakPointRegister = 11,
- PerformanceMonitorControlRegister = 12,
- PerformanceMonitorDataRegister = 13,
- } ERROR_REGFILE_CHECK_IDENTIFIER;
- typedef enum _ERROR_REGFILE_CHECK_OPERATION {
- RegFileUnknownOp = 0,
- RegFileRead = 1,
- RegFileWrite = 2,
- } ERROR_REGFILE_CHECK_OPERATION;
- typedef union _ERROR_REGFILE_CHECK {
- ULONGLONG RegFileCheck;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG Identifier:4;
- ULONGLONG Operation:4;
- ULONGLONG RegisterNumber:7;
- ULONGLONG RegisterNumberValid:1;
- ULONGLONG Reserved1:38;
- ULONGLONG InstructionSet:1;
- ULONGLONG InstructionSetValid:1;
- ULONGLONG PrivilegeLevel:2;
- ULONGLONG PrivilegeLevelValid:1;
- ULONGLONG MachineCheckCorrected:1;
- ULONGLONG Reserved2:3;
- ULONGLONG PreciseIPValid:1;
- } DUMMYSTRUCTNAME;
- } ERROR_REGFILE_CHECK, *PERROR_REGFILE_CHECK;
- #if (NTDDK_VERSION <= WINXP)
- typedef enum _ERROR_MS_CHECK_OPERATION {
- MsUnknownOp = 0,
- MsReadOrLoad = 1,
- MsWriteOrStore = 2
- } ERROR_MS_CHECK_OPERATION;
- #else
- typedef enum _ERROR_MS_CHECK_OPERATION {
- MsUnknownOp = 0,
- MsReadOrLoad = 1,
- MsWriteOrStore = 2,
- MsOverTemperature = 3,
- MsNormalTemperature = 4
- } ERROR_MS_CHECK_OPERATION;
- #endif
- typedef union _ERROR_MS_CHECK {
- ULONGLONG MsCheck;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG StructureIdentifier:5;
- ULONGLONG Level:3;
- ULONGLONG ArrayId:4;
- ULONGLONG Operation:4;
- ULONGLONG Way:6;
- ULONGLONG WayValid:1;
- ULONGLONG IndexValid:1;
- ULONGLONG Reserved1:8;
- ULONGLONG Index:8;
- ULONGLONG Reserved2:14;
- ULONGLONG InstructionSet:1;
- ULONGLONG InstructionSetValid:1;
- ULONGLONG PrivilegeLevel:2;
- ULONGLONG PrivilegeLevelValid:1;
- ULONGLONG MachineCheckCorrected:1;
- ULONGLONG TargetAddressValid:1;
- ULONGLONG RequestIdValid:1;
- ULONGLONG ResponderIdValid:1;
- ULONGLONG PreciseIPValid:1;
- } DUMMYSTRUCTNAME;
- } ERROR_MS_CHECK, *PERROR_MS_CHECK;
- typedef union _ERROR_CHECK_INFO {
- ULONGLONG CheckInfo;
- ERROR_CACHE_CHECK CacheCheck;
- ERROR_TLB_CHECK TlbCheck;
- ERROR_BUS_CHECK BusCheck;
- ERROR_REGFILE_CHECK RegFileCheck;
- ERROR_MS_CHECK MsCheck;
- } ERROR_CHECK_INFO, *PERROR_CHECK_INFO;
- typedef struct _ERROR_MODINFO {
- ERROR_MODINFO_VALID Valid;
- ERROR_CHECK_INFO CheckInfo;
- ULONGLONG RequestorId;
- ULONGLONG ResponderId;
- ULONGLONG TargetId;
- ULONGLONG PreciseIP;
- } ERROR_MODINFO, *PERROR_MODINFO;
- typedef union _ERROR_PROCESSOR_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG ErrorMap:1;
- ULONGLONG StateParameter:1;
- ULONGLONG CRLid:1;
- ULONGLONG StaticStruct:1;
- ULONGLONG CacheCheckNum:4;
- ULONGLONG TlbCheckNum:4;
- ULONGLONG BusCheckNum:4;
- ULONGLONG RegFileCheckNum:4;
- ULONGLONG MsCheckNum:4;
- ULONGLONG CpuIdInfo:1;
- ULONGLONG Reserved:39;
- } DUMMYSTRUCTNAME;
- } ERROR_PROCESSOR_VALID, *PERROR_PROCESSOR_VALID;
- typedef union _ERROR_PROCESSOR_ERROR_MAP {
- ULONGLONG ErrorMap;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG Cid:4;
- ULONGLONG Tid:4;
- ULONGLONG Eic:4;
- ULONGLONG Edc:4;
- ULONGLONG Eit:4;
- ULONGLONG Edt:4;
- ULONGLONG Ebh:4;
- ULONGLONG Erf:4;
- ULONGLONG Ems:16;
- ULONGLONG Reserved:16;
- } DUMMYSTRUCTNAME;
- } ERROR_PROCESSOR_ERROR_MAP, *PERROR_PROCESSOR_ERROR_MAP;
- typedef ERROR_PROCESSOR_ERROR_MAP _ERROR_PROCESSOR_LEVEL_INDEX;
- typedef _ERROR_PROCESSOR_LEVEL_INDEX ERROR_PROCESSOR_LEVEL_INDEX, *PERROR_PROCESSOR_LEVEL_INDEX;
- typedef union _ERROR_PROCESSOR_STATE_PARAMETER {
- ULONGLONG StateParameter;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG reserved0:2;
- ULONGLONG rz:1;
- ULONGLONG ra:1;
- ULONGLONG me:1;
- ULONGLONG mn:1;
- ULONGLONG sy:1;
- ULONGLONG co:1;
- ULONGLONG ci:1;
- ULONGLONG us:1;
- ULONGLONG hd:1;
- ULONGLONG tl:1;
- ULONGLONG mi:1;
- ULONGLONG pi:1;
- ULONGLONG pm:1;
- ULONGLONG dy:1;
- ULONGLONG in:1;
- ULONGLONG rs:1;
- ULONGLONG cm:1;
- ULONGLONG ex:1;
- ULONGLONG cr:1;
- ULONGLONG pc:1;
- ULONGLONG dr:1;
- ULONGLONG tr:1;
- ULONGLONG rr:1;
- ULONGLONG ar:1;
- ULONGLONG br:1;
- ULONGLONG pr:1;
- ULONGLONG fp:1;
- ULONGLONG b1:1;
- ULONGLONG b0:1;
- ULONGLONG gr:1;
- ULONGLONG dsize:16;
- ULONGLONG reserved1:11;
- ULONGLONG cc:1;
- ULONGLONG tc:1;
- ULONGLONG bc:1;
- ULONGLONG rc:1;
- ULONGLONG uc:1;
- } DUMMYSTRUCTNAME;
- } ERROR_PROCESSOR_STATE_PARAMETER, *PERROR_PROCESSOR_STATE_PARAMETER;
- typedef union _PROCESSOR_LOCAL_ID {
- ULONGLONG LocalId;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG reserved:16;
- ULONGLONG eid:8;
- ULONGLONG id:8;
- ULONGLONG ignored:32;
- } DUMMYSTRUCTNAME;
- } PROCESSOR_LOCAL_ID, *PPROCESSOR_LOCAL_ID;
- typedef struct _ERROR_PROCESSOR_MS {
- ULONGLONG MsError[1];
- } ERROR_PROCESSOR_MS, *PERROR_PROCESSOR_MS;
- typedef struct _ERROR_PROCESSOR_CPUID_INFO {
- ULONGLONG CpuId0;
- ULONGLONG CpuId1;
- ULONGLONG CpuId2;
- ULONGLONG CpuId3;
- ULONGLONG CpuId4;
- ULONGLONG Reserved;
- } ERROR_PROCESSOR_CPUID_INFO, *PERROR_PROCESSOR_CPUID_INFO;
- typedef union _ERROR_PROCESSOR_STATIC_INFO_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG MinState:1;
- ULONGLONG BR:1;
- ULONGLONG CR:1;
- ULONGLONG AR:1;
- ULONGLONG RR:1;
- ULONGLONG FR:1;
- ULONGLONG Reserved:58;
- } DUMMYSTRUCTNAME;
- } ERROR_PROCESSOR_STATIC_INFO_VALID, *PERROR_PROCESSOR_STATIC_INFO_VALID;
- typedef struct _ERROR_PROCESSOR_STATIC_INFO {
- ERROR_PROCESSOR_STATIC_INFO_VALID Valid;
- UCHAR MinState[1024];
- ULONGLONG BR[8];
- ULONGLONG CR[128];
- ULONGLONG AR[128];
- ULONGLONG RR[8];
- ULONGLONG FR[2 * 128];
- } ERROR_PROCESSOR_STATIC_INFO, *PERROR_PROCESSOR_STATIC_INFO;
- typedef struct _ERROR_PROCESSOR {
- ERROR_SECTION_HEADER Header;
- ERROR_PROCESSOR_VALID Valid;
- ERROR_PROCESSOR_ERROR_MAP ErrorMap;
- ERROR_PROCESSOR_STATE_PARAMETER StateParameter;
- PROCESSOR_LOCAL_ID CRLid;
- } ERROR_PROCESSOR, *PERROR_PROCESSOR;
- #define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_SHIFT 59
- #define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_MASK 0x1
- #define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_SHIFT 60
- #define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_MASK 0x1
- #define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_SHIFT 61
- #define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_MASK 0x1
- #define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_SHIFT 62
- #define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_MASK 0x1
- #define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT 63
- #define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK 0x1
- #define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_SHIFT ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT
- #define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_MASK ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK
- typedef enum _ERR_TYPES {
- ERR_INTERNAL = 1,
- ERR_BUS = 16,
- ERR_MEM = 4,
- ERR_TLB = 5,
- ERR_CACHE = 6,
- ERR_FUNCTION = 7,
- ERR_SELFTEST = 8,
- ERR_FLOW = 9,
- ERR_MAP = 17,
- ERR_IMPROPER = 18,
- ERR_UNIMPL = 19,
- ERR_LOL = 20,
- ERR_RESPONSE = 21,
- ERR_PARITY = 22,
- ERR_PROTOCOL = 23,
- ERR_ERROR = 24,
- ERR_TIMEOUT = 25,
- ERR_POISONED = 26,
- } _ERR_TYPE;
- typedef union _ERROR_STATUS {
- ULONGLONG Status;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG Reserved0:8;
- ULONGLONG Type:8;
- ULONGLONG Address:1;
- ULONGLONG Control:1;
- ULONGLONG Data:1;
- ULONGLONG Responder:1;
- ULONGLONG Requestor:1;
- ULONGLONG FirstError:1;
- ULONGLONG Overflow:1;
- ULONGLONG Reserved1:41;
- } DUMMYSTRUCTNAME;
- } ERROR_STATUS, *PERROR_STATUS;
- typedef struct _ERROR_OEM_DATA {
- USHORT Length;
- } ERROR_OEM_DATA, *PERROR_OEM_DATA;
- typedef union _ERROR_BUS_SPECIFIC_DATA {
- ULONGLONG BusSpecificData;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG LockAsserted:1;
- ULONGLONG DeferLogged:1;
- ULONGLONG IOQEmpty:1;
- ULONGLONG DeferredTransaction:1;
- ULONGLONG RetriedTransaction:1;
- ULONGLONG MemoryClaimedTransaction:1;
- ULONGLONG IOClaimedTransaction:1;
- ULONGLONG ResponseParitySignal:1;
- ULONGLONG DeferSignal:1;
- ULONGLONG HitMSignal:1;
- ULONGLONG HitSignal:1;
- ULONGLONG RequestBusFirstCycle:6;
- ULONGLONG RequestBusSecondCycle:6;
- ULONGLONG AddressParityBusFirstCycle:2;
- ULONGLONG AddressParityBusSecondCycle:2;
- ULONGLONG ResponseBus:3;
- ULONGLONG RequestParitySignalFirstCycle:1;
- ULONGLONG RequestParitySignalSecondCycle:1;
- ULONGLONG Reserved:32;
- } DUMMYSTRUCTNAME;
- } ERROR_BUS_SPECIFIC_DATA, *PERROR_BUS_SPECIFIC_DATA;
- #define ERROR_MEMORY_GUID {0xe429faf2, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_MEMORY_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG ErrorStatus:1;
- ULONGLONG PhysicalAddress:1;
- ULONGLONG AddressMask:1;
- ULONGLONG Node:1;
- ULONGLONG Card:1;
- ULONGLONG Module:1;
- ULONGLONG Bank:1;
- ULONGLONG Device:1;
- ULONGLONG Row:1;
- ULONGLONG Column:1;
- ULONGLONG BitPosition:1;
- ULONGLONG RequestorId:1;
- ULONGLONG ResponderId:1;
- ULONGLONG TargetId:1;
- ULONGLONG BusSpecificData:1;
- ULONGLONG OemId:1;
- ULONGLONG OemData:1;
- ULONGLONG Reserved:47;
- } DUMMYSTRUCTNAME;
- } ERROR_MEMORY_VALID, *PERROR_MEMORY_VALID;
- typedef struct _ERROR_MEMORY {
- ERROR_SECTION_HEADER Header;
- ERROR_MEMORY_VALID Valid;
- ERROR_STATUS ErrorStatus;
- ULONGLONG PhysicalAddress;
- ULONGLONG PhysicalAddressMask;
- USHORT Node;
- USHORT Card;
- USHORT Module;
- USHORT Bank;
- USHORT Device;
- USHORT Row;
- USHORT Column;
- USHORT BitPosition;
- ULONGLONG RequestorId;
- ULONGLONG ResponderId;
- ULONGLONG TargetId;
- ULONGLONG BusSpecificData;
- UCHAR OemId[16];
- ERROR_OEM_DATA OemData;
- } ERROR_MEMORY, *PERROR_MEMORY;
- #define ERROR_PCI_BUS_GUID {0xe429faf4, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_PCI_BUS_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG ErrorStatus:1;
- ULONGLONG ErrorType:1;
- ULONGLONG Id:1;
- ULONGLONG Address:1;
- ULONGLONG Data:1;
- ULONGLONG CmdType:1;
- ULONGLONG RequestorId:1;
- ULONGLONG ResponderId:1;
- ULONGLONG TargetId:1;
- ULONGLONG OemId:1;
- ULONGLONG OemData:1;
- ULONGLONG Reserved:53;
- } DUMMYSTRUCTNAME;
- } ERROR_PCI_BUS_VALID, *PERROR_PCI_BUS_VALID;
- typedef struct _ERROR_PCI_BUS_TYPE {
- UCHAR Type;
- UCHAR Reserved;
- } ERROR_PCI_BUS_TYPE, *PERROR_PCI_BUS_TYPE;
- #define PciBusUnknownError ((UCHAR)0)
- #define PciBusDataParityError ((UCHAR)1)
- #define PciBusSystemError ((UCHAR)2)
- #define PciBusMasterAbort ((UCHAR)3)
- #define PciBusTimeOut ((UCHAR)4)
- #define PciMasterDataParityError ((UCHAR)5)
- #define PciAddressParityError ((UCHAR)6)
- #define PciCommandParityError ((UCHAR)7)
- typedef struct _ERROR_PCI_BUS_ID {
- UCHAR BusNumber;
- UCHAR SegmentNumber;
- } ERROR_PCI_BUS_ID, *PERROR_PCI_BUS_ID;
- typedef struct _ERROR_PCI_BUS {
- ERROR_SECTION_HEADER Header;
- ERROR_PCI_BUS_VALID Valid;
- ERROR_STATUS ErrorStatus;
- ERROR_PCI_BUS_TYPE Type;
- ERROR_PCI_BUS_ID Id;
- UCHAR Reserved[4];
- ULONGLONG Address;
- ULONGLONG Data;
- ULONGLONG CmdType;
- ULONGLONG RequestorId;
- ULONGLONG ResponderId;
- ULONGLONG TargetId;
- UCHAR OemId[16];
- ERROR_OEM_DATA OemData;
- } ERROR_PCI_BUS, *PERROR_PCI_BUS;
- #define ERROR_PCI_COMPONENT_GUID {0xe429faf6, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_PCI_COMPONENT_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG ErrorStatus:1;
- ULONGLONG Info:1;
- ULONGLONG MemoryMappedRegistersPairs:1;
- ULONGLONG ProgrammedIORegistersPairs:1;
- ULONGLONG RegistersDataPairs:1;
- ULONGLONG OemData:1;
- ULONGLONG Reserved:58;
- } DUMMYSTRUCTNAME;
- } ERROR_PCI_COMPONENT_VALID, *PERROR_PCI_COMPONENT_VALID;
- typedef struct _ERROR_PCI_COMPONENT_INFO {
- USHORT VendorId;
- USHORT DeviceId;
- UCHAR ClassCodeInterface;
- UCHAR ClassCodeSubClass;
- UCHAR ClassCodeBaseClass;
- UCHAR FunctionNumber;
- UCHAR DeviceNumber;
- UCHAR BusNumber;
- UCHAR SegmentNumber;
- UCHAR Reserved0;
- ULONG Reserved1;
- } ERROR_PCI_COMPONENT_INFO, *PERROR_PCI_COMPONENT_INFO;
- typedef struct _ERROR_PCI_COMPONENT {
- ERROR_SECTION_HEADER Header;
- ERROR_PCI_COMPONENT_VALID Valid;
- ERROR_STATUS ErrorStatus;
- ERROR_PCI_COMPONENT_INFO Info;
- ULONG MemoryMappedRegistersPairs;
- ULONG ProgrammedIORegistersPairs;
- } ERROR_PCI_COMPONENT, *PERROR_PCI_COMPONENT;
- #define ERROR_SYSTEM_EVENT_LOG_GUID {0xe429faf3, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_SYSTEM_EVENT_LOG_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG RecordId:1;
- ULONGLONG RecordType:1;
- ULONGLONG GeneratorId:1;
- ULONGLONG EVMRev:1;
- ULONGLONG SensorType:1;
- ULONGLONG SensorNum:1;
- ULONGLONG EventDirType:1;
- ULONGLONG EventData1:1;
- ULONGLONG EventData2:1;
- ULONGLONG EventData3:1;
- ULONGLONG Reserved:54;
- } DUMMYSTRUCTNAME;
- } ERROR_SYSTEM_EVENT_LOG_VALID, *PSYSTEM_EVENT_LOG_VALID;
- typedef struct _ERROR_SYSTEM_EVENT_LOG {
- ERROR_SECTION_HEADER Header;
- ERROR_SYSTEM_EVENT_LOG_VALID Valid;
- USHORT RecordId;
- UCHAR RecordType;
- ULONG TimeStamp;
- USHORT GeneratorId;
- UCHAR EVMRevision;
- UCHAR SensorType;
- UCHAR SensorNumber;
- UCHAR EventDir;
- UCHAR Data1;
- UCHAR Data2;
- UCHAR Data3;
- } ERROR_SYSTEM_EVENT_LOG, *PERROR_SYSTEM_EVENT_LOG;
- #define ERROR_SMBIOS_GUID {0xe429faf5, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_SMBIOS_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG EventType:1;
- ULONGLONG Length:1;
- ULONGLONG TimeStamp:1;
- ULONGLONG OemData:1;
- ULONGLONG Reserved:60;
- } DUMMYSTRUCTNAME;
- } ERROR_SMBIOS_VALID, *PERROR_SMBIOS_VALID;
- typedef UCHAR ERROR_SMBIOS_EVENT_TYPE, *PERROR_SMBIOS_EVENT_TYPE;
- typedef struct _ERROR_SMBIOS {
- ERROR_SECTION_HEADER Header;
- ERROR_SMBIOS_VALID Valid;
- ERROR_SMBIOS_EVENT_TYPE EventType;
- UCHAR Length;
- ERROR_TIMESTAMP TimeStamp;
- ERROR_OEM_DATA OemData;
- } ERROR_SMBIOS, *PERROR_SMBIOS;
- #define ERROR_PLATFORM_SPECIFIC_GUID {0xe429faf7, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_PLATFORM_SPECIFIC_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG ErrorStatus:1;
- ULONGLONG RequestorId:1;
- ULONGLONG ResponderId:1;
- ULONGLONG TargetId:1;
- ULONGLONG BusSpecificData:1;
- ULONGLONG OemId:1;
- ULONGLONG OemData:1;
- ULONGLONG OemDevicePath:1;
- ULONGLONG Reserved:56;
- } DUMMYSTRUCTNAME;
- } ERROR_PLATFORM_SPECIFIC_VALID, *PERROR_PLATFORM_SPECIFIC_VALID;
- typedef struct _ERROR_PLATFORM_SPECIFIC {
- ERROR_SECTION_HEADER Header;
- ERROR_PLATFORM_SPECIFIC_VALID Valid;
- ERROR_STATUS ErrorStatus;
- ULONGLONG RequestorId;
- ULONGLONG ResponderId;
- ULONGLONG TargetId;
- ERROR_BUS_SPECIFIC_DATA BusSpecificData;
- UCHAR OemId[16];
- ERROR_OEM_DATA OemData;
- } ERROR_PLATFORM_SPECIFIC, *PERROR_PLATFORM_SPECIFIC;
- #define ERROR_PLATFORM_BUS_GUID {0xe429faf9, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_PLATFORM_BUS_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG ErrorStatus:1;
- ULONGLONG RequestorId:1;
- ULONGLONG ResponderId:1;
- ULONGLONG TargetId:1;
- ULONGLONG BusSpecificData:1;
- ULONGLONG OemId:1;
- ULONGLONG OemData:1;
- ULONGLONG OemDevicePath:1;
- ULONGLONG Reserved:56;
- } DUMMYSTRUCTNAME;
- } ERROR_PLATFORM_BUS_VALID, *PERROR_PLATFORM_BUS_VALID;
- typedef struct _ERROR_PLATFORM_BUS {
- ERROR_SECTION_HEADER Header;
- ERROR_PLATFORM_BUS_VALID Valid;
- ERROR_STATUS ErrorStatus;
- ULONGLONG RequestorId;
- ULONGLONG ResponderId;
- ULONGLONG TargetId;
- ERROR_BUS_SPECIFIC_DATA BusSpecificData;
- UCHAR OemId[16];
- ERROR_OEM_DATA OemData;
- } ERROR_PLATFORM_BUS, *PERROR_PLATFORM_BUS;
- #define ERROR_PLATFORM_HOST_CONTROLLER_GUID {0xe429faf8, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
- typedef union _ERROR_PLATFORM_HOST_CONTROLLER_VALID {
- ULONGLONG Valid;
- _ANONYMOUS_STRUCT struct {
- ULONGLONG ErrorStatus:1;
- ULONGLONG RequestorId:1;
- ULONGLONG ResponderId:1;
- ULONGLONG TargetId:1;
- ULONGLONG BusSpecificData:1;
- ULONGLONG OemId:1;
- ULONGLONG OemData:1;
- ULONGLONG OemDevicePath:1;
- ULONGLONG Reserved:56;
- } DUMMYSTRUCTNAME;
- } ERROR_PLATFORM_HOST_CONTROLLER_VALID, *PERROR_PLATFORM_HOST_CONTROLLER_VALID;
- typedef struct _ERROR_PLATFORM_HOST_CONTROLLER {
- ERROR_SECTION_HEADER Header;
- ERROR_PCI_COMPONENT_VALID Valid;
- ERROR_STATUS ErrorStatus;
- ULONGLONG RequestorId;
- ULONGLONG ResponderId;
- ULONGLONG TargetId;
- ERROR_BUS_SPECIFIC_DATA BusSpecificData;
- UCHAR OemId[16];
- ERROR_OEM_DATA OemData;
- } ERROR_PLATFORM_HOST_CONTROLLER, *PERROR_PLATFORM_HOST_CONTROLLER;
- typedef ERROR_RECORD_HEADER ERROR_LOGRECORD, *PERROR_LOGRECORD;
- typedef ERROR_RECORD_HEADER MCA_EXCEPTION, *PMCA_EXCEPTION;
- typedef ERROR_RECORD_HEADER CMC_EXCEPTION, *PCMC_EXCEPTION;
- typedef ERROR_RECORD_HEADER CPE_EXCEPTION, *PCPE_EXCEPTION;
- #if (NTDDI_VERSION > NTDDI_WINXP)
- typedef ERROR_RECORD_HEADER INIT_EXCEPTION, *PINIT_EXCEPTION;
- #endif
- #endif /* defined(_IA64_) */
- #endif /* defined(_X86_) || defined(_IA64_) || defined(_AMD64_) */
|