[1166] | 1 | #pragma once
|
---|
| 2 |
|
---|
| 3 | #if defined(_X86_) || defined(_IA64_) || defined(_AMD64_)
|
---|
| 4 |
|
---|
| 5 | typedef union _MCI_ADDR {
|
---|
| 6 | _ANONYMOUS_STRUCT struct {
|
---|
| 7 | ULONG Address;
|
---|
| 8 | ULONG Reserved;
|
---|
| 9 | } DUMMYSTRUCTNAME;
|
---|
| 10 | ULONGLONG QuadPart;
|
---|
| 11 | } MCI_ADDR, *PMCI_ADDR;
|
---|
| 12 |
|
---|
| 13 | typedef enum {
|
---|
| 14 | HAL_MCE_RECORD,
|
---|
| 15 | HAL_MCA_RECORD
|
---|
| 16 | } MCA_EXCEPTION_TYPE;
|
---|
| 17 |
|
---|
| 18 | #if defined(_AMD64_)
|
---|
| 19 |
|
---|
| 20 | #if (NTDDI_VERSION <= NTDDI_WINXP)
|
---|
| 21 |
|
---|
| 22 | typedef union _MCI_STATS {
|
---|
| 23 | struct {
|
---|
| 24 | USHORT McaCod;
|
---|
| 25 | USHORT ModelErrorCode;
|
---|
| 26 | ULONG OtherInfo:25;
|
---|
| 27 | ULONG Damage:1;
|
---|
| 28 | ULONG AddressValid:1;
|
---|
| 29 | ULONG MiscValid:1;
|
---|
| 30 | ULONG Enabled:1;
|
---|
| 31 | ULONG Uncorrected:1;
|
---|
| 32 | ULONG OverFlow:1;
|
---|
| 33 | ULONG Valid:1;
|
---|
| 34 | } MciStatus;
|
---|
| 35 | ULONG64 QuadPart;
|
---|
| 36 | } MCI_STATS, *PMCI_STATS;
|
---|
| 37 |
|
---|
| 38 | #else
|
---|
| 39 |
|
---|
| 40 | typedef union _MCI_STATS {
|
---|
| 41 | struct {
|
---|
| 42 | USHORT McaErrorCode;
|
---|
| 43 | USHORT ModelErrorCode;
|
---|
| 44 | ULONG OtherInformation:25;
|
---|
| 45 | ULONG ContextCorrupt:1;
|
---|
| 46 | ULONG AddressValid:1;
|
---|
| 47 | ULONG MiscValid:1;
|
---|
| 48 | ULONG ErrorEnabled:1;
|
---|
| 49 | ULONG UncorrectedError:1;
|
---|
| 50 | ULONG StatusOverFlow:1;
|
---|
| 51 | ULONG Valid:1;
|
---|
| 52 | } MciStatus;
|
---|
| 53 | ULONG64 QuadPart;
|
---|
| 54 | } MCI_STATS, *PMCI_STATS;
|
---|
| 55 |
|
---|
| 56 | #endif /* (NTDDI_VERSION <= NTDDI_WINXP) */
|
---|
| 57 |
|
---|
| 58 | #endif /* defined(_AMD64_) */
|
---|
| 59 |
|
---|
| 60 | #if defined(_X86_)
|
---|
| 61 | typedef union _MCI_STATS {
|
---|
| 62 | struct {
|
---|
| 63 | USHORT McaCod;
|
---|
| 64 | USHORT MsCod;
|
---|
| 65 | ULONG OtherInfo:25;
|
---|
| 66 | ULONG Damage:1;
|
---|
| 67 | ULONG AddressValid:1;
|
---|
| 68 | ULONG MiscValid:1;
|
---|
| 69 | ULONG Enabled:1;
|
---|
| 70 | ULONG UnCorrected:1;
|
---|
| 71 | ULONG OverFlow:1;
|
---|
| 72 | ULONG Valid:1;
|
---|
| 73 | } MciStats;
|
---|
| 74 | ULONGLONG QuadPart;
|
---|
| 75 | } MCI_STATS, *PMCI_STATS;
|
---|
| 76 | #endif
|
---|
| 77 |
|
---|
| 78 | #define MCA_EXTREG_V2MAX 24
|
---|
| 79 |
|
---|
| 80 | #if defined(_X86_) || defined(_AMD64_)
|
---|
| 81 |
|
---|
| 82 | #if (NTDDI_VERSION >= NTDDI_WINXP)
|
---|
| 83 |
|
---|
| 84 | typedef struct _MCA_EXCEPTION {
|
---|
| 85 | ULONG VersionNumber;
|
---|
| 86 | MCA_EXCEPTION_TYPE ExceptionType;
|
---|
| 87 | LARGE_INTEGER TimeStamp;
|
---|
| 88 | ULONG ProcessorNumber;
|
---|
| 89 | ULONG Reserved1;
|
---|
| 90 | union {
|
---|
| 91 | struct {
|
---|
| 92 | UCHAR BankNumber;
|
---|
| 93 | UCHAR Reserved2[7];
|
---|
| 94 | MCI_STATS Status;
|
---|
| 95 | MCI_ADDR Address;
|
---|
| 96 | ULONGLONG Misc;
|
---|
| 97 | } Mca;
|
---|
| 98 | struct {
|
---|
| 99 | ULONGLONG Address;
|
---|
| 100 | ULONGLONG Type;
|
---|
| 101 | } Mce;
|
---|
| 102 | } u;
|
---|
| 103 | ULONG ExtCnt;
|
---|
| 104 | ULONG Reserved3;
|
---|
| 105 | ULONGLONG ExtReg[MCA_EXTREG_V2MAX];
|
---|
| 106 | } MCA_EXCEPTION, *PMCA_EXCEPTION;
|
---|
| 107 |
|
---|
| 108 | #else
|
---|
| 109 |
|
---|
| 110 | typedef struct _MCA_EXCEPTION {
|
---|
| 111 | ULONG VersionNumber;
|
---|
| 112 | MCA_EXCEPTION_TYPE ExceptionType;
|
---|
| 113 | LARGE_INTEGER TimeStamp;
|
---|
| 114 | ULONG ProcessorNumber;
|
---|
| 115 | ULONG Reserved1;
|
---|
| 116 | union {
|
---|
| 117 | struct {
|
---|
| 118 | UCHAR BankNumber;
|
---|
| 119 | UCHAR Reserved2[7];
|
---|
| 120 | MCI_STATS Status;
|
---|
| 121 | MCI_ADDR Address;
|
---|
| 122 | ULONGLONG Misc;
|
---|
| 123 | } Mca;
|
---|
| 124 | struct {
|
---|
| 125 | ULONGLONG Address;
|
---|
| 126 | ULONGLONG Type;
|
---|
| 127 | } Mce;
|
---|
| 128 | } u;
|
---|
| 129 | } MCA_EXCEPTION, *PMCA_EXCEPTION;
|
---|
| 130 |
|
---|
| 131 | #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
---|
| 132 |
|
---|
| 133 | typedef MCA_EXCEPTION CMC_EXCEPTION, *PCMC_EXCEPTION;
|
---|
| 134 | typedef MCA_EXCEPTION CPE_EXCEPTION, *PCPE_EXCEPTION;
|
---|
| 135 |
|
---|
| 136 | #if (NTDDI_VERSION >= NTDDI_WINXP)
|
---|
| 137 | #define MCA_EXCEPTION_V1_SIZE FIELD_OFFSET(MCA_EXCEPTION, ExtCnt)
|
---|
| 138 | #define MCA_EXCEPTION_V2_SIZE sizeof(struct _MCA_EXCEPTION)
|
---|
| 139 | #endif
|
---|
| 140 |
|
---|
| 141 | #endif /* defined(_X86_) || defined(_AMD64_) */
|
---|
| 142 |
|
---|
| 143 | #if defined(_AMD64_) || defined(_IA64_)
|
---|
| 144 |
|
---|
| 145 | typedef UCHAR ERROR_SEVERITY, *PERROR_SEVERITY;
|
---|
| 146 |
|
---|
| 147 | typedef enum _ERROR_SEVERITY_VALUE {
|
---|
| 148 | ErrorRecoverable = 0,
|
---|
| 149 | ErrorFatal = 1,
|
---|
| 150 | ErrorCorrected = 2,
|
---|
| 151 | ErrorOthers = 3,
|
---|
| 152 | } ERROR_SEVERITY_VALUE;
|
---|
| 153 |
|
---|
| 154 | #endif
|
---|
| 155 |
|
---|
| 156 | #if defined(_IA64_)
|
---|
| 157 |
|
---|
| 158 | typedef union _ERROR_REVISION {
|
---|
| 159 | USHORT Revision;
|
---|
| 160 | _ANONYMOUS_STRUCT struct {
|
---|
| 161 | UCHAR Minor;
|
---|
| 162 | UCHAR Major;
|
---|
| 163 | } DUMMYSTRUCTNAME;
|
---|
| 164 | } ERROR_REVISION, *PERROR_REVISION;
|
---|
| 165 |
|
---|
| 166 | #if (NTDDI_VERSION > NTDDI_WINXP)
|
---|
| 167 | #define ERROR_MAJOR_REVISION_SAL_03_00 0
|
---|
| 168 | #define ERROR_MINOR_REVISION_SAL_03_00 2
|
---|
| 169 | #define ERROR_REVISION_SAL_03_00 {ERROR_MINOR_REVISION_SAL_03_00,ERROR_MAJOR_REVISION_SAL_03_00}
|
---|
| 170 | #define ERROR_FIXED_SECTION_REVISION {2,0}
|
---|
| 171 | #else
|
---|
| 172 | #define ERROR_REVISION_SAL_03_00 {2,0}
|
---|
| 173 | #endif /* (NTDDI_VERSION > NTDDI_WINXP) */
|
---|
| 174 |
|
---|
| 175 | typedef union _ERROR_TIMESTAMP {
|
---|
| 176 | ULONGLONG TimeStamp;
|
---|
| 177 | _ANONYMOUS_STRUCT struct {
|
---|
| 178 | UCHAR Seconds;
|
---|
| 179 | UCHAR Minutes;
|
---|
| 180 | UCHAR Hours;
|
---|
| 181 | UCHAR Reserved;
|
---|
| 182 | UCHAR Day;
|
---|
| 183 | UCHAR Month;
|
---|
| 184 | UCHAR Year;
|
---|
| 185 | UCHAR Century;
|
---|
| 186 | } DUMMYSTRUCTNAME;
|
---|
| 187 | } ERROR_TIMESTAMP, *PERROR_TIMESTAMP;
|
---|
| 188 |
|
---|
| 189 | typedef struct _ERROR_GUID {
|
---|
| 190 | ULONG Data1;
|
---|
| 191 | USHORT Data2;
|
---|
| 192 | USHORT Data3;
|
---|
| 193 | UCHAR Data4[8];
|
---|
| 194 | } ERROR_GUID, *PERROR_GUID;
|
---|
| 195 |
|
---|
| 196 | typedef ERROR_GUID _ERROR_DEVICE_GUID;
|
---|
| 197 | typedef _ERROR_DEVICE_GUID ERROR_DEVICE_GUID, *PERROR_DEVICE_GUID;
|
---|
| 198 |
|
---|
| 199 | typedef ERROR_GUID _ERROR_PLATFORM_GUID;
|
---|
| 200 | typedef _ERROR_PLATFORM_GUID ERROR_PLATFORM_GUID, *PERROR_PLATFORM_GUID;
|
---|
| 201 |
|
---|
| 202 | typedef union _ERROR_RECORD_VALID {
|
---|
| 203 | UCHAR Valid;
|
---|
| 204 | _ANONYMOUS_STRUCT struct {
|
---|
| 205 | UCHAR OemPlatformID:1;
|
---|
| 206 | UCHAR Reserved:7;
|
---|
| 207 | } DUMMYSTRUCTNAME;
|
---|
| 208 | } ERROR_RECORD_VALID, *PERROR_RECORD_VALID;
|
---|
| 209 |
|
---|
| 210 | typedef struct _ERROR_RECORD_HEADER {
|
---|
| 211 | ULONGLONG Id;
|
---|
| 212 | ERROR_REVISION Revision;
|
---|
| 213 | ERROR_SEVERITY ErrorSeverity;
|
---|
| 214 | ERROR_RECORD_VALID Valid;
|
---|
| 215 | ULONG Length;
|
---|
| 216 | ERROR_TIMESTAMP TimeStamp;
|
---|
| 217 | UCHAR OemPlatformId[16];
|
---|
| 218 | } ERROR_RECORD_HEADER, *PERROR_RECORD_HEADER;
|
---|
| 219 |
|
---|
| 220 | typedef union _ERROR_RECOVERY_INFO {
|
---|
| 221 | UCHAR RecoveryInfo;
|
---|
| 222 | _ANONYMOUS_STRUCT struct {
|
---|
| 223 | UCHAR Corrected:1;
|
---|
| 224 | UCHAR NotContained:1;
|
---|
| 225 | UCHAR Reset:1;
|
---|
| 226 | UCHAR Reserved:4;
|
---|
| 227 | UCHAR Valid:1;
|
---|
| 228 | } DUMMYSTRUCTNAME;
|
---|
| 229 | } ERROR_RECOVERY_INFO, *PERROR_RECOVERY_INFO;
|
---|
| 230 |
|
---|
| 231 | typedef struct _ERROR_SECTION_HEADER {
|
---|
| 232 | ERROR_DEVICE_GUID Guid;
|
---|
| 233 | ERROR_REVISION Revision;
|
---|
| 234 | ERROR_RECOVERY_INFO RecoveryInfo;
|
---|
| 235 | UCHAR Reserved;
|
---|
| 236 | ULONG Length;
|
---|
| 237 | } ERROR_SECTION_HEADER, *PERROR_SECTION_HEADER;
|
---|
| 238 |
|
---|
| 239 | #if !defined(__midl)
|
---|
| 240 | __inline
|
---|
| 241 | USHORT
|
---|
| 242 | NTAPI
|
---|
| 243 | GetFwMceLogProcessorNumber(
|
---|
| 244 | PERROR_RECORD_HEADER Log)
|
---|
| 245 | {
|
---|
| 246 | PERROR_SECTION_HEADER section = (PERROR_SECTION_HEADER)((ULONG64)Log + sizeof(*Log));
|
---|
| 247 | USHORT lid = (USHORT)((UCHAR)(section->Reserved));
|
---|
| 248 | #ifdef NONAMELESSUNION
|
---|
| 249 | lid |= (USHORT)((UCHAR)(Log->TimeStamp.s.Reserved) << 8);
|
---|
| 250 | #else
|
---|
| 251 | lid |= (USHORT)((UCHAR)(Log->TimeStamp.Reserved) << 8);
|
---|
| 252 | #endif
|
---|
| 253 | return( lid );
|
---|
| 254 | }
|
---|
| 255 | #endif /* !__midl */
|
---|
| 256 |
|
---|
| 257 | #define ERROR_PROCESSOR_GUID {0xe429faf1, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 258 |
|
---|
| 259 | typedef union _ERROR_MODINFO_VALID {
|
---|
| 260 | ULONGLONG Valid;
|
---|
| 261 | _ANONYMOUS_STRUCT struct {
|
---|
| 262 | ULONGLONG CheckInfo:1;
|
---|
| 263 | ULONGLONG RequestorIdentifier:1;
|
---|
| 264 | ULONGLONG ResponderIdentifier:1;
|
---|
| 265 | ULONGLONG TargetIdentifier:1;
|
---|
| 266 | ULONGLONG PreciseIP:1;
|
---|
| 267 | ULONGLONG Reserved:59;
|
---|
| 268 | } DUMMYSTRUCTNAME;
|
---|
| 269 | } ERROR_MODINFO_VALID, *PERROR_MODINFO_VALID;
|
---|
| 270 |
|
---|
| 271 | typedef enum _ERROR_CHECK_IS {
|
---|
| 272 | isIA64 = 0,
|
---|
| 273 | isIA32 = 1,
|
---|
| 274 | } ERROR_CHECK_IS;
|
---|
| 275 |
|
---|
| 276 | typedef enum _ERROR_CACHE_CHECK_OPERATION {
|
---|
| 277 | CacheUnknownOp = 0,
|
---|
| 278 | CacheLoad = 1,
|
---|
| 279 | CacheStore = 2,
|
---|
| 280 | CacheInstructionFetch = 3,
|
---|
| 281 | CacheDataPrefetch = 4,
|
---|
| 282 | CacheSnoop = 5,
|
---|
| 283 | CacheCastOut = 6,
|
---|
| 284 | CacheMoveIn = 7,
|
---|
| 285 | } ERROR_CACHE_CHECK_OPERATION;
|
---|
| 286 |
|
---|
| 287 | typedef enum _ERROR_CACHE_CHECK_MESI {
|
---|
| 288 | CacheInvalid = 0,
|
---|
| 289 | CacheHeldShared = 1,
|
---|
| 290 | CacheHeldExclusive = 2,
|
---|
| 291 | CacheModified = 3,
|
---|
| 292 | } ERROR_CACHE_CHECK_MESI;
|
---|
| 293 |
|
---|
| 294 | #if (NTDDI_VERSION >= NTDDI_VISTA)
|
---|
| 295 |
|
---|
| 296 | typedef union _ERROR_CACHE_CHECK {
|
---|
| 297 | ULONGLONG CacheCheck;
|
---|
| 298 | _ANONYMOUS_STRUCT struct {
|
---|
| 299 | ULONGLONG Operation:4;
|
---|
| 300 | ULONGLONG Level:2;
|
---|
| 301 | ULONGLONG Reserved1:2;
|
---|
| 302 | ULONGLONG DataLine:1;
|
---|
| 303 | ULONGLONG TagLine:1;
|
---|
| 304 | ULONGLONG DataCache:1;
|
---|
| 305 | ULONGLONG InstructionCache:1;
|
---|
| 306 | ULONGLONG MESI:3;
|
---|
| 307 | ULONGLONG MESIValid:1;
|
---|
| 308 | ULONGLONG Way:5;
|
---|
| 309 | ULONGLONG WayIndexValid:1;
|
---|
| 310 | ULONGLONG Reserved2:1;
|
---|
| 311 | ULONGLONG DP:1;
|
---|
| 312 | ULONGLONG Reserved3:8;
|
---|
| 313 | ULONGLONG Index:20;
|
---|
| 314 | ULONGLONG Reserved4:2;
|
---|
| 315 | ULONGLONG InstructionSet:1;
|
---|
| 316 | ULONGLONG InstructionSetValid:1;
|
---|
| 317 | ULONGLONG PrivilegeLevel:2;
|
---|
| 318 | ULONGLONG PrivilegeLevelValid:1;
|
---|
| 319 | ULONGLONG MachineCheckCorrected:1;
|
---|
| 320 | ULONGLONG TargetAddressValid:1;
|
---|
| 321 | ULONGLONG RequestIdValid:1;
|
---|
| 322 | ULONGLONG ResponderIdValid:1;
|
---|
| 323 | ULONGLONG PreciseIPValid:1;
|
---|
| 324 | } DUMMYSTRUCTNAME;
|
---|
| 325 | } ERROR_CACHE_CHECK, *PERROR_CACHE_CHECK;
|
---|
| 326 |
|
---|
| 327 | # else
|
---|
| 328 |
|
---|
| 329 | typedef union _ERROR_CACHE_CHECK {
|
---|
| 330 | ULONGLONG CacheCheck;
|
---|
| 331 | _ANONYMOUS_STRUCT struct {
|
---|
| 332 | ULONGLONG Operation:4;
|
---|
| 333 | ULONGLONG Level:2;
|
---|
| 334 | ULONGLONG Reserved1:2;
|
---|
| 335 | ULONGLONG DataLine:1;
|
---|
| 336 | ULONGLONG TagLine:1;
|
---|
| 337 | ULONGLONG DataCache:1;
|
---|
| 338 | ULONGLONG InstructionCache:1;
|
---|
| 339 | ULONGLONG MESI:3;
|
---|
| 340 | ULONGLONG MESIValid:1;
|
---|
| 341 | ULONGLONG Way:5;
|
---|
| 342 | ULONGLONG WayIndexValid:1;
|
---|
| 343 | ULONGLONG Reserved2:10;
|
---|
| 344 | ULONGLONG Index:20;
|
---|
| 345 | ULONGLONG Reserved3:2;
|
---|
| 346 | ULONGLONG InstructionSet:1;
|
---|
| 347 | ULONGLONG InstructionSetValid:1;
|
---|
| 348 | ULONGLONG PrivilegeLevel:2;
|
---|
| 349 | ULONGLONG PrivilegeLevelValid:1;
|
---|
| 350 | ULONGLONG MachineCheckCorrected:1;
|
---|
| 351 | ULONGLONG TargetAddressValid:1;
|
---|
| 352 | ULONGLONG RequestIdValid:1;
|
---|
| 353 | ULONGLONG ResponderIdValid:1;
|
---|
| 354 | ULONGLONG PreciseIPValid:1;
|
---|
| 355 | } DUMMYSTRUCTNAME;
|
---|
| 356 | } ERROR_CACHE_CHECK, *PERROR_CACHE_CHECK;
|
---|
| 357 |
|
---|
| 358 | #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
---|
| 359 |
|
---|
| 360 | typedef enum _ERROR_TLB_CHECK_OPERATION {
|
---|
| 361 | TlbUnknownOp = 0,
|
---|
| 362 | TlbAccessWithLoad = 1,
|
---|
| 363 | TlbAccessWithStore = 2,
|
---|
| 364 | TlbAccessWithInstructionFetch = 3,
|
---|
| 365 | TlbAccessWithDataPrefetch = 4,
|
---|
| 366 | TlbShootDown = 5,
|
---|
| 367 | TlbProbe = 6,
|
---|
| 368 | TlbVhptFill = 7,
|
---|
| 369 | TlbPurge = 8,
|
---|
| 370 | } ERROR_TLB_CHECK_OPERATION;
|
---|
| 371 |
|
---|
| 372 | typedef union _ERROR_TLB_CHECK {
|
---|
| 373 | ULONGLONG TlbCheck;
|
---|
| 374 | _ANONYMOUS_STRUCT struct {
|
---|
| 375 | ULONGLONG TRSlot:8;
|
---|
| 376 | ULONGLONG TRSlotValid:1;
|
---|
| 377 | ULONGLONG Reserved1:1;
|
---|
| 378 | ULONGLONG Level:2;
|
---|
| 379 | ULONGLONG Reserved2:4;
|
---|
| 380 | ULONGLONG DataTransReg:1;
|
---|
| 381 | ULONGLONG InstructionTransReg:1;
|
---|
| 382 | ULONGLONG DataTransCache:1;
|
---|
| 383 | ULONGLONG InstructionTransCache:1;
|
---|
| 384 | ULONGLONG Operation:4;
|
---|
| 385 | ULONGLONG Reserved3:30;
|
---|
| 386 | ULONGLONG InstructionSet:1;
|
---|
| 387 | ULONGLONG InstructionSetValid:1;
|
---|
| 388 | ULONGLONG PrivilegeLevel:2;
|
---|
| 389 | ULONGLONG PrivilegeLevelValid:1;
|
---|
| 390 | ULONGLONG MachineCheckCorrected:1;
|
---|
| 391 | ULONGLONG TargetAddressValid:1;
|
---|
| 392 | ULONGLONG RequestIdValid:1;
|
---|
| 393 | ULONGLONG ResponderIdValid:1;
|
---|
| 394 | ULONGLONG PreciseIPValid:1;
|
---|
| 395 | } DUMMYSTRUCTNAME;
|
---|
| 396 | } ERROR_TLB_CHECK, *PERROR_TLB_CHECK;
|
---|
| 397 |
|
---|
| 398 | typedef enum _ERROR_BUS_CHECK_OPERATION {
|
---|
| 399 | BusUnknownOp = 0,
|
---|
| 400 | BusPartialRead = 1,
|
---|
| 401 | BusPartialWrite = 2,
|
---|
| 402 | BusFullLineRead = 3,
|
---|
| 403 | BusFullLineWrite = 4,
|
---|
| 404 | BusWriteBack = 5,
|
---|
| 405 | BusSnoopProbe = 6,
|
---|
| 406 | BusIncomingPtcG = 7,
|
---|
| 407 | BusWriteCoalescing = 8,
|
---|
| 408 | } ERROR_BUS_CHECK_OPERATION;
|
---|
| 409 |
|
---|
| 410 | #if (NTDDI_VERSION >= NTDDI_VISTA)
|
---|
| 411 |
|
---|
| 412 | typedef union _ERROR_BUS_CHECK {
|
---|
| 413 | ULONGLONG BusCheck;
|
---|
| 414 | _ANONYMOUS_STRUCT struct {
|
---|
| 415 | ULONGLONG Size:5;
|
---|
| 416 | ULONGLONG Internal:1;
|
---|
| 417 | ULONGLONG External:1;
|
---|
| 418 | ULONGLONG CacheTransfer:1;
|
---|
| 419 | ULONGLONG Type:8;
|
---|
| 420 | ULONGLONG Severity:5;
|
---|
| 421 | ULONGLONG Hierarchy:2;
|
---|
| 422 | ULONGLONG DP:1;
|
---|
| 423 | ULONGLONG Status:8;
|
---|
| 424 | ULONGLONG Reserved1:22;
|
---|
| 425 | ULONGLONG InstructionSet:1;
|
---|
| 426 | ULONGLONG InstructionSetValid:1;
|
---|
| 427 | ULONGLONG PrivilegeLevel:2;
|
---|
| 428 | ULONGLONG PrivilegeLevelValid:1;
|
---|
| 429 | ULONGLONG MachineCheckCorrected:1;
|
---|
| 430 | ULONGLONG TargetAddressValid:1;
|
---|
| 431 | ULONGLONG RequestIdValid:1;
|
---|
| 432 | ULONGLONG ResponderIdValid:1;
|
---|
| 433 | ULONGLONG PreciseIPValid:1;
|
---|
| 434 | } DUMMYSTRUCTNAME;
|
---|
| 435 | } ERROR_BUS_CHECK, *PERROR_BUS_CHECK;
|
---|
| 436 |
|
---|
| 437 | #else
|
---|
| 438 |
|
---|
| 439 | typedef union _ERROR_BUS_CHECK {
|
---|
| 440 | ULONGLONG BusCheck;
|
---|
| 441 | _ANONYMOUS_STRUCT struct {
|
---|
| 442 | ULONGLONG Size:5;
|
---|
| 443 | ULONGLONG Internal:1;
|
---|
| 444 | ULONGLONG External:1;
|
---|
| 445 | ULONGLONG CacheTransfer:1;
|
---|
| 446 | ULONGLONG Type:8;
|
---|
| 447 | ULONGLONG Severity:5;
|
---|
| 448 | ULONGLONG Hierarchy:2;
|
---|
| 449 | ULONGLONG Reserved1:1;
|
---|
| 450 | ULONGLONG Status:8;
|
---|
| 451 | ULONGLONG Reserved2:22;
|
---|
| 452 | ULONGLONG InstructionSet:1;
|
---|
| 453 | ULONGLONG InstructionSetValid:1;
|
---|
| 454 | ULONGLONG PrivilegeLevel:2;
|
---|
| 455 | ULONGLONG PrivilegeLevelValid:1;
|
---|
| 456 | ULONGLONG MachineCheckCorrected:1;
|
---|
| 457 | ULONGLONG TargetAddressValid:1;
|
---|
| 458 | ULONGLONG RequestIdValid:1;
|
---|
| 459 | ULONGLONG ResponderIdValid:1;
|
---|
| 460 | ULONGLONG PreciseIPValid:1;
|
---|
| 461 | } DUMMYSTRUCTNAME;
|
---|
| 462 | } ERROR_BUS_CHECK, *PERROR_BUS_CHECK;
|
---|
| 463 |
|
---|
| 464 | #endif
|
---|
| 465 |
|
---|
| 466 | typedef enum _ERROR_REGFILE_CHECK_IDENTIFIER {
|
---|
| 467 | RegFileUnknownId = 0,
|
---|
| 468 | GeneralRegisterBank1 = 1,
|
---|
| 469 | GeneralRegisterBank0 = 2,
|
---|
| 470 | FloatingPointRegister = 3,
|
---|
| 471 | BranchRegister = 4,
|
---|
| 472 | PredicateRegister = 5,
|
---|
| 473 | ApplicationRegister = 6,
|
---|
| 474 | ControlRegister = 7,
|
---|
| 475 | RegionRegister = 8,
|
---|
| 476 | ProtectionKeyRegister = 9,
|
---|
| 477 | DataBreakPointRegister = 10,
|
---|
| 478 | InstructionBreakPointRegister = 11,
|
---|
| 479 | PerformanceMonitorControlRegister = 12,
|
---|
| 480 | PerformanceMonitorDataRegister = 13,
|
---|
| 481 | } ERROR_REGFILE_CHECK_IDENTIFIER;
|
---|
| 482 |
|
---|
| 483 | typedef enum _ERROR_REGFILE_CHECK_OPERATION {
|
---|
| 484 | RegFileUnknownOp = 0,
|
---|
| 485 | RegFileRead = 1,
|
---|
| 486 | RegFileWrite = 2,
|
---|
| 487 | } ERROR_REGFILE_CHECK_OPERATION;
|
---|
| 488 |
|
---|
| 489 | typedef union _ERROR_REGFILE_CHECK {
|
---|
| 490 | ULONGLONG RegFileCheck;
|
---|
| 491 | _ANONYMOUS_STRUCT struct {
|
---|
| 492 | ULONGLONG Identifier:4;
|
---|
| 493 | ULONGLONG Operation:4;
|
---|
| 494 | ULONGLONG RegisterNumber:7;
|
---|
| 495 | ULONGLONG RegisterNumberValid:1;
|
---|
| 496 | ULONGLONG Reserved1:38;
|
---|
| 497 | ULONGLONG InstructionSet:1;
|
---|
| 498 | ULONGLONG InstructionSetValid:1;
|
---|
| 499 | ULONGLONG PrivilegeLevel:2;
|
---|
| 500 | ULONGLONG PrivilegeLevelValid:1;
|
---|
| 501 | ULONGLONG MachineCheckCorrected:1;
|
---|
| 502 | ULONGLONG Reserved2:3;
|
---|
| 503 | ULONGLONG PreciseIPValid:1;
|
---|
| 504 | } DUMMYSTRUCTNAME;
|
---|
| 505 | } ERROR_REGFILE_CHECK, *PERROR_REGFILE_CHECK;
|
---|
| 506 |
|
---|
| 507 | #if (NTDDK_VERSION <= WINXP)
|
---|
| 508 | typedef enum _ERROR_MS_CHECK_OPERATION {
|
---|
| 509 | MsUnknownOp = 0,
|
---|
| 510 | MsReadOrLoad = 1,
|
---|
| 511 | MsWriteOrStore = 2
|
---|
| 512 | } ERROR_MS_CHECK_OPERATION;
|
---|
| 513 | #else
|
---|
| 514 | typedef enum _ERROR_MS_CHECK_OPERATION {
|
---|
| 515 | MsUnknownOp = 0,
|
---|
| 516 | MsReadOrLoad = 1,
|
---|
| 517 | MsWriteOrStore = 2,
|
---|
| 518 | MsOverTemperature = 3,
|
---|
| 519 | MsNormalTemperature = 4
|
---|
| 520 | } ERROR_MS_CHECK_OPERATION;
|
---|
| 521 | #endif
|
---|
| 522 |
|
---|
| 523 | typedef union _ERROR_MS_CHECK {
|
---|
| 524 | ULONGLONG MsCheck;
|
---|
| 525 | _ANONYMOUS_STRUCT struct {
|
---|
| 526 | ULONGLONG StructureIdentifier:5;
|
---|
| 527 | ULONGLONG Level:3;
|
---|
| 528 | ULONGLONG ArrayId:4;
|
---|
| 529 | ULONGLONG Operation:4;
|
---|
| 530 | ULONGLONG Way:6;
|
---|
| 531 | ULONGLONG WayValid:1;
|
---|
| 532 | ULONGLONG IndexValid:1;
|
---|
| 533 | ULONGLONG Reserved1:8;
|
---|
| 534 | ULONGLONG Index:8;
|
---|
| 535 | ULONGLONG Reserved2:14;
|
---|
| 536 | ULONGLONG InstructionSet:1;
|
---|
| 537 | ULONGLONG InstructionSetValid:1;
|
---|
| 538 | ULONGLONG PrivilegeLevel:2;
|
---|
| 539 | ULONGLONG PrivilegeLevelValid:1;
|
---|
| 540 | ULONGLONG MachineCheckCorrected:1;
|
---|
| 541 | ULONGLONG TargetAddressValid:1;
|
---|
| 542 | ULONGLONG RequestIdValid:1;
|
---|
| 543 | ULONGLONG ResponderIdValid:1;
|
---|
| 544 | ULONGLONG PreciseIPValid:1;
|
---|
| 545 | } DUMMYSTRUCTNAME;
|
---|
| 546 | } ERROR_MS_CHECK, *PERROR_MS_CHECK;
|
---|
| 547 |
|
---|
| 548 | typedef union _ERROR_CHECK_INFO {
|
---|
| 549 | ULONGLONG CheckInfo;
|
---|
| 550 | ERROR_CACHE_CHECK CacheCheck;
|
---|
| 551 | ERROR_TLB_CHECK TlbCheck;
|
---|
| 552 | ERROR_BUS_CHECK BusCheck;
|
---|
| 553 | ERROR_REGFILE_CHECK RegFileCheck;
|
---|
| 554 | ERROR_MS_CHECK MsCheck;
|
---|
| 555 | } ERROR_CHECK_INFO, *PERROR_CHECK_INFO;
|
---|
| 556 |
|
---|
| 557 | typedef struct _ERROR_MODINFO {
|
---|
| 558 | ERROR_MODINFO_VALID Valid;
|
---|
| 559 | ERROR_CHECK_INFO CheckInfo;
|
---|
| 560 | ULONGLONG RequestorId;
|
---|
| 561 | ULONGLONG ResponderId;
|
---|
| 562 | ULONGLONG TargetId;
|
---|
| 563 | ULONGLONG PreciseIP;
|
---|
| 564 | } ERROR_MODINFO, *PERROR_MODINFO;
|
---|
| 565 |
|
---|
| 566 | typedef union _ERROR_PROCESSOR_VALID {
|
---|
| 567 | ULONGLONG Valid;
|
---|
| 568 | _ANONYMOUS_STRUCT struct {
|
---|
| 569 | ULONGLONG ErrorMap:1;
|
---|
| 570 | ULONGLONG StateParameter:1;
|
---|
| 571 | ULONGLONG CRLid:1;
|
---|
| 572 | ULONGLONG StaticStruct:1;
|
---|
| 573 | ULONGLONG CacheCheckNum:4;
|
---|
| 574 | ULONGLONG TlbCheckNum:4;
|
---|
| 575 | ULONGLONG BusCheckNum:4;
|
---|
| 576 | ULONGLONG RegFileCheckNum:4;
|
---|
| 577 | ULONGLONG MsCheckNum:4;
|
---|
| 578 | ULONGLONG CpuIdInfo:1;
|
---|
| 579 | ULONGLONG Reserved:39;
|
---|
| 580 | } DUMMYSTRUCTNAME;
|
---|
| 581 | } ERROR_PROCESSOR_VALID, *PERROR_PROCESSOR_VALID;
|
---|
| 582 |
|
---|
| 583 | typedef union _ERROR_PROCESSOR_ERROR_MAP {
|
---|
| 584 | ULONGLONG ErrorMap;
|
---|
| 585 | _ANONYMOUS_STRUCT struct {
|
---|
| 586 | ULONGLONG Cid:4;
|
---|
| 587 | ULONGLONG Tid:4;
|
---|
| 588 | ULONGLONG Eic:4;
|
---|
| 589 | ULONGLONG Edc:4;
|
---|
| 590 | ULONGLONG Eit:4;
|
---|
| 591 | ULONGLONG Edt:4;
|
---|
| 592 | ULONGLONG Ebh:4;
|
---|
| 593 | ULONGLONG Erf:4;
|
---|
| 594 | ULONGLONG Ems:16;
|
---|
| 595 | ULONGLONG Reserved:16;
|
---|
| 596 | } DUMMYSTRUCTNAME;
|
---|
| 597 | } ERROR_PROCESSOR_ERROR_MAP, *PERROR_PROCESSOR_ERROR_MAP;
|
---|
| 598 |
|
---|
| 599 | typedef ERROR_PROCESSOR_ERROR_MAP _ERROR_PROCESSOR_LEVEL_INDEX;
|
---|
| 600 | typedef _ERROR_PROCESSOR_LEVEL_INDEX ERROR_PROCESSOR_LEVEL_INDEX, *PERROR_PROCESSOR_LEVEL_INDEX;
|
---|
| 601 |
|
---|
| 602 | typedef union _ERROR_PROCESSOR_STATE_PARAMETER {
|
---|
| 603 | ULONGLONG StateParameter;
|
---|
| 604 | _ANONYMOUS_STRUCT struct {
|
---|
| 605 | ULONGLONG reserved0:2;
|
---|
| 606 | ULONGLONG rz:1;
|
---|
| 607 | ULONGLONG ra:1;
|
---|
| 608 | ULONGLONG me:1;
|
---|
| 609 | ULONGLONG mn:1;
|
---|
| 610 | ULONGLONG sy:1;
|
---|
| 611 | ULONGLONG co:1;
|
---|
| 612 | ULONGLONG ci:1;
|
---|
| 613 | ULONGLONG us:1;
|
---|
| 614 | ULONGLONG hd:1;
|
---|
| 615 | ULONGLONG tl:1;
|
---|
| 616 | ULONGLONG mi:1;
|
---|
| 617 | ULONGLONG pi:1;
|
---|
| 618 | ULONGLONG pm:1;
|
---|
| 619 | ULONGLONG dy:1;
|
---|
| 620 | ULONGLONG in:1;
|
---|
| 621 | ULONGLONG rs:1;
|
---|
| 622 | ULONGLONG cm:1;
|
---|
| 623 | ULONGLONG ex:1;
|
---|
| 624 | ULONGLONG cr:1;
|
---|
| 625 | ULONGLONG pc:1;
|
---|
| 626 | ULONGLONG dr:1;
|
---|
| 627 | ULONGLONG tr:1;
|
---|
| 628 | ULONGLONG rr:1;
|
---|
| 629 | ULONGLONG ar:1;
|
---|
| 630 | ULONGLONG br:1;
|
---|
| 631 | ULONGLONG pr:1;
|
---|
| 632 | ULONGLONG fp:1;
|
---|
| 633 | ULONGLONG b1:1;
|
---|
| 634 | ULONGLONG b0:1;
|
---|
| 635 | ULONGLONG gr:1;
|
---|
| 636 | ULONGLONG dsize:16;
|
---|
| 637 | ULONGLONG reserved1:11;
|
---|
| 638 | ULONGLONG cc:1;
|
---|
| 639 | ULONGLONG tc:1;
|
---|
| 640 | ULONGLONG bc:1;
|
---|
| 641 | ULONGLONG rc:1;
|
---|
| 642 | ULONGLONG uc:1;
|
---|
| 643 | } DUMMYSTRUCTNAME;
|
---|
| 644 | } ERROR_PROCESSOR_STATE_PARAMETER, *PERROR_PROCESSOR_STATE_PARAMETER;
|
---|
| 645 |
|
---|
| 646 | typedef union _PROCESSOR_LOCAL_ID {
|
---|
| 647 | ULONGLONG LocalId;
|
---|
| 648 | _ANONYMOUS_STRUCT struct {
|
---|
| 649 | ULONGLONG reserved:16;
|
---|
| 650 | ULONGLONG eid:8;
|
---|
| 651 | ULONGLONG id:8;
|
---|
| 652 | ULONGLONG ignored:32;
|
---|
| 653 | } DUMMYSTRUCTNAME;
|
---|
| 654 | } PROCESSOR_LOCAL_ID, *PPROCESSOR_LOCAL_ID;
|
---|
| 655 |
|
---|
| 656 | typedef struct _ERROR_PROCESSOR_MS {
|
---|
| 657 | ULONGLONG MsError[1];
|
---|
| 658 | } ERROR_PROCESSOR_MS, *PERROR_PROCESSOR_MS;
|
---|
| 659 |
|
---|
| 660 | typedef struct _ERROR_PROCESSOR_CPUID_INFO {
|
---|
| 661 | ULONGLONG CpuId0;
|
---|
| 662 | ULONGLONG CpuId1;
|
---|
| 663 | ULONGLONG CpuId2;
|
---|
| 664 | ULONGLONG CpuId3;
|
---|
| 665 | ULONGLONG CpuId4;
|
---|
| 666 | ULONGLONG Reserved;
|
---|
| 667 | } ERROR_PROCESSOR_CPUID_INFO, *PERROR_PROCESSOR_CPUID_INFO;
|
---|
| 668 |
|
---|
| 669 | typedef union _ERROR_PROCESSOR_STATIC_INFO_VALID {
|
---|
| 670 | ULONGLONG Valid;
|
---|
| 671 | _ANONYMOUS_STRUCT struct {
|
---|
| 672 | ULONGLONG MinState:1;
|
---|
| 673 | ULONGLONG BR:1;
|
---|
| 674 | ULONGLONG CR:1;
|
---|
| 675 | ULONGLONG AR:1;
|
---|
| 676 | ULONGLONG RR:1;
|
---|
| 677 | ULONGLONG FR:1;
|
---|
| 678 | ULONGLONG Reserved:58;
|
---|
| 679 | } DUMMYSTRUCTNAME;
|
---|
| 680 | } ERROR_PROCESSOR_STATIC_INFO_VALID, *PERROR_PROCESSOR_STATIC_INFO_VALID;
|
---|
| 681 |
|
---|
| 682 | typedef struct _ERROR_PROCESSOR_STATIC_INFO {
|
---|
| 683 | ERROR_PROCESSOR_STATIC_INFO_VALID Valid;
|
---|
| 684 | UCHAR MinState[1024];
|
---|
| 685 | ULONGLONG BR[8];
|
---|
| 686 | ULONGLONG CR[128];
|
---|
| 687 | ULONGLONG AR[128];
|
---|
| 688 | ULONGLONG RR[8];
|
---|
| 689 | ULONGLONG FR[2 * 128];
|
---|
| 690 | } ERROR_PROCESSOR_STATIC_INFO, *PERROR_PROCESSOR_STATIC_INFO;
|
---|
| 691 |
|
---|
| 692 | typedef struct _ERROR_PROCESSOR {
|
---|
| 693 | ERROR_SECTION_HEADER Header;
|
---|
| 694 | ERROR_PROCESSOR_VALID Valid;
|
---|
| 695 | ERROR_PROCESSOR_ERROR_MAP ErrorMap;
|
---|
| 696 | ERROR_PROCESSOR_STATE_PARAMETER StateParameter;
|
---|
| 697 | PROCESSOR_LOCAL_ID CRLid;
|
---|
| 698 | } ERROR_PROCESSOR, *PERROR_PROCESSOR;
|
---|
| 699 |
|
---|
| 700 | #define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_SHIFT 59
|
---|
| 701 | #define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_MASK 0x1
|
---|
| 702 | #define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_SHIFT 60
|
---|
| 703 | #define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_MASK 0x1
|
---|
| 704 | #define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_SHIFT 61
|
---|
| 705 | #define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_MASK 0x1
|
---|
| 706 | #define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_SHIFT 62
|
---|
| 707 | #define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_MASK 0x1
|
---|
| 708 | #define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT 63
|
---|
| 709 | #define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK 0x1
|
---|
| 710 |
|
---|
| 711 | #define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_SHIFT ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT
|
---|
| 712 | #define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_MASK ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK
|
---|
| 713 |
|
---|
| 714 | typedef enum _ERR_TYPES {
|
---|
| 715 | ERR_INTERNAL = 1,
|
---|
| 716 | ERR_BUS = 16,
|
---|
| 717 | ERR_MEM = 4,
|
---|
| 718 | ERR_TLB = 5,
|
---|
| 719 | ERR_CACHE = 6,
|
---|
| 720 | ERR_FUNCTION = 7,
|
---|
| 721 | ERR_SELFTEST = 8,
|
---|
| 722 | ERR_FLOW = 9,
|
---|
| 723 | ERR_MAP = 17,
|
---|
| 724 | ERR_IMPROPER = 18,
|
---|
| 725 | ERR_UNIMPL = 19,
|
---|
| 726 | ERR_LOL = 20,
|
---|
| 727 | ERR_RESPONSE = 21,
|
---|
| 728 | ERR_PARITY = 22,
|
---|
| 729 | ERR_PROTOCOL = 23,
|
---|
| 730 | ERR_ERROR = 24,
|
---|
| 731 | ERR_TIMEOUT = 25,
|
---|
| 732 | ERR_POISONED = 26,
|
---|
| 733 | } _ERR_TYPE;
|
---|
| 734 |
|
---|
| 735 | typedef union _ERROR_STATUS {
|
---|
| 736 | ULONGLONG Status;
|
---|
| 737 | _ANONYMOUS_STRUCT struct {
|
---|
| 738 | ULONGLONG Reserved0:8;
|
---|
| 739 | ULONGLONG Type:8;
|
---|
| 740 | ULONGLONG Address:1;
|
---|
| 741 | ULONGLONG Control:1;
|
---|
| 742 | ULONGLONG Data:1;
|
---|
| 743 | ULONGLONG Responder:1;
|
---|
| 744 | ULONGLONG Requestor:1;
|
---|
| 745 | ULONGLONG FirstError:1;
|
---|
| 746 | ULONGLONG Overflow:1;
|
---|
| 747 | ULONGLONG Reserved1:41;
|
---|
| 748 | } DUMMYSTRUCTNAME;
|
---|
| 749 | } ERROR_STATUS, *PERROR_STATUS;
|
---|
| 750 |
|
---|
| 751 | typedef struct _ERROR_OEM_DATA {
|
---|
| 752 | USHORT Length;
|
---|
| 753 | } ERROR_OEM_DATA, *PERROR_OEM_DATA;
|
---|
| 754 |
|
---|
| 755 | typedef union _ERROR_BUS_SPECIFIC_DATA {
|
---|
| 756 | ULONGLONG BusSpecificData;
|
---|
| 757 | _ANONYMOUS_STRUCT struct {
|
---|
| 758 | ULONGLONG LockAsserted:1;
|
---|
| 759 | ULONGLONG DeferLogged:1;
|
---|
| 760 | ULONGLONG IOQEmpty:1;
|
---|
| 761 | ULONGLONG DeferredTransaction:1;
|
---|
| 762 | ULONGLONG RetriedTransaction:1;
|
---|
| 763 | ULONGLONG MemoryClaimedTransaction:1;
|
---|
| 764 | ULONGLONG IOClaimedTransaction:1;
|
---|
| 765 | ULONGLONG ResponseParitySignal:1;
|
---|
| 766 | ULONGLONG DeferSignal:1;
|
---|
| 767 | ULONGLONG HitMSignal:1;
|
---|
| 768 | ULONGLONG HitSignal:1;
|
---|
| 769 | ULONGLONG RequestBusFirstCycle:6;
|
---|
| 770 | ULONGLONG RequestBusSecondCycle:6;
|
---|
| 771 | ULONGLONG AddressParityBusFirstCycle:2;
|
---|
| 772 | ULONGLONG AddressParityBusSecondCycle:2;
|
---|
| 773 | ULONGLONG ResponseBus:3;
|
---|
| 774 | ULONGLONG RequestParitySignalFirstCycle:1;
|
---|
| 775 | ULONGLONG RequestParitySignalSecondCycle:1;
|
---|
| 776 | ULONGLONG Reserved:32;
|
---|
| 777 | } DUMMYSTRUCTNAME;
|
---|
| 778 | } ERROR_BUS_SPECIFIC_DATA, *PERROR_BUS_SPECIFIC_DATA;
|
---|
| 779 |
|
---|
| 780 | #define ERROR_MEMORY_GUID {0xe429faf2, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 781 |
|
---|
| 782 | typedef union _ERROR_MEMORY_VALID {
|
---|
| 783 | ULONGLONG Valid;
|
---|
| 784 | _ANONYMOUS_STRUCT struct {
|
---|
| 785 | ULONGLONG ErrorStatus:1;
|
---|
| 786 | ULONGLONG PhysicalAddress:1;
|
---|
| 787 | ULONGLONG AddressMask:1;
|
---|
| 788 | ULONGLONG Node:1;
|
---|
| 789 | ULONGLONG Card:1;
|
---|
| 790 | ULONGLONG Module:1;
|
---|
| 791 | ULONGLONG Bank:1;
|
---|
| 792 | ULONGLONG Device:1;
|
---|
| 793 | ULONGLONG Row:1;
|
---|
| 794 | ULONGLONG Column:1;
|
---|
| 795 | ULONGLONG BitPosition:1;
|
---|
| 796 | ULONGLONG RequestorId:1;
|
---|
| 797 | ULONGLONG ResponderId:1;
|
---|
| 798 | ULONGLONG TargetId:1;
|
---|
| 799 | ULONGLONG BusSpecificData:1;
|
---|
| 800 | ULONGLONG OemId:1;
|
---|
| 801 | ULONGLONG OemData:1;
|
---|
| 802 | ULONGLONG Reserved:47;
|
---|
| 803 | } DUMMYSTRUCTNAME;
|
---|
| 804 | } ERROR_MEMORY_VALID, *PERROR_MEMORY_VALID;
|
---|
| 805 |
|
---|
| 806 | typedef struct _ERROR_MEMORY {
|
---|
| 807 | ERROR_SECTION_HEADER Header;
|
---|
| 808 | ERROR_MEMORY_VALID Valid;
|
---|
| 809 | ERROR_STATUS ErrorStatus;
|
---|
| 810 | ULONGLONG PhysicalAddress;
|
---|
| 811 | ULONGLONG PhysicalAddressMask;
|
---|
| 812 | USHORT Node;
|
---|
| 813 | USHORT Card;
|
---|
| 814 | USHORT Module;
|
---|
| 815 | USHORT Bank;
|
---|
| 816 | USHORT Device;
|
---|
| 817 | USHORT Row;
|
---|
| 818 | USHORT Column;
|
---|
| 819 | USHORT BitPosition;
|
---|
| 820 | ULONGLONG RequestorId;
|
---|
| 821 | ULONGLONG ResponderId;
|
---|
| 822 | ULONGLONG TargetId;
|
---|
| 823 | ULONGLONG BusSpecificData;
|
---|
| 824 | UCHAR OemId[16];
|
---|
| 825 | ERROR_OEM_DATA OemData;
|
---|
| 826 | } ERROR_MEMORY, *PERROR_MEMORY;
|
---|
| 827 |
|
---|
| 828 | #define ERROR_PCI_BUS_GUID {0xe429faf4, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 829 |
|
---|
| 830 | typedef union _ERROR_PCI_BUS_VALID {
|
---|
| 831 | ULONGLONG Valid;
|
---|
| 832 | _ANONYMOUS_STRUCT struct {
|
---|
| 833 | ULONGLONG ErrorStatus:1;
|
---|
| 834 | ULONGLONG ErrorType:1;
|
---|
| 835 | ULONGLONG Id:1;
|
---|
| 836 | ULONGLONG Address:1;
|
---|
| 837 | ULONGLONG Data:1;
|
---|
| 838 | ULONGLONG CmdType:1;
|
---|
| 839 | ULONGLONG RequestorId:1;
|
---|
| 840 | ULONGLONG ResponderId:1;
|
---|
| 841 | ULONGLONG TargetId:1;
|
---|
| 842 | ULONGLONG OemId:1;
|
---|
| 843 | ULONGLONG OemData:1;
|
---|
| 844 | ULONGLONG Reserved:53;
|
---|
| 845 | } DUMMYSTRUCTNAME;
|
---|
| 846 | } ERROR_PCI_BUS_VALID, *PERROR_PCI_BUS_VALID;
|
---|
| 847 |
|
---|
| 848 | typedef struct _ERROR_PCI_BUS_TYPE {
|
---|
| 849 | UCHAR Type;
|
---|
| 850 | UCHAR Reserved;
|
---|
| 851 | } ERROR_PCI_BUS_TYPE, *PERROR_PCI_BUS_TYPE;
|
---|
| 852 |
|
---|
| 853 | #define PciBusUnknownError ((UCHAR)0)
|
---|
| 854 | #define PciBusDataParityError ((UCHAR)1)
|
---|
| 855 | #define PciBusSystemError ((UCHAR)2)
|
---|
| 856 | #define PciBusMasterAbort ((UCHAR)3)
|
---|
| 857 | #define PciBusTimeOut ((UCHAR)4)
|
---|
| 858 | #define PciMasterDataParityError ((UCHAR)5)
|
---|
| 859 | #define PciAddressParityError ((UCHAR)6)
|
---|
| 860 | #define PciCommandParityError ((UCHAR)7)
|
---|
| 861 |
|
---|
| 862 | typedef struct _ERROR_PCI_BUS_ID {
|
---|
| 863 | UCHAR BusNumber;
|
---|
| 864 | UCHAR SegmentNumber;
|
---|
| 865 | } ERROR_PCI_BUS_ID, *PERROR_PCI_BUS_ID;
|
---|
| 866 |
|
---|
| 867 | typedef struct _ERROR_PCI_BUS {
|
---|
| 868 | ERROR_SECTION_HEADER Header;
|
---|
| 869 | ERROR_PCI_BUS_VALID Valid;
|
---|
| 870 | ERROR_STATUS ErrorStatus;
|
---|
| 871 | ERROR_PCI_BUS_TYPE Type;
|
---|
| 872 | ERROR_PCI_BUS_ID Id;
|
---|
| 873 | UCHAR Reserved[4];
|
---|
| 874 | ULONGLONG Address;
|
---|
| 875 | ULONGLONG Data;
|
---|
| 876 | ULONGLONG CmdType;
|
---|
| 877 | ULONGLONG RequestorId;
|
---|
| 878 | ULONGLONG ResponderId;
|
---|
| 879 | ULONGLONG TargetId;
|
---|
| 880 | UCHAR OemId[16];
|
---|
| 881 | ERROR_OEM_DATA OemData;
|
---|
| 882 | } ERROR_PCI_BUS, *PERROR_PCI_BUS;
|
---|
| 883 |
|
---|
| 884 | #define ERROR_PCI_COMPONENT_GUID {0xe429faf6, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 885 |
|
---|
| 886 | typedef union _ERROR_PCI_COMPONENT_VALID {
|
---|
| 887 | ULONGLONG Valid;
|
---|
| 888 | _ANONYMOUS_STRUCT struct {
|
---|
| 889 | ULONGLONG ErrorStatus:1;
|
---|
| 890 | ULONGLONG Info:1;
|
---|
| 891 | ULONGLONG MemoryMappedRegistersPairs:1;
|
---|
| 892 | ULONGLONG ProgrammedIORegistersPairs:1;
|
---|
| 893 | ULONGLONG RegistersDataPairs:1;
|
---|
| 894 | ULONGLONG OemData:1;
|
---|
| 895 | ULONGLONG Reserved:58;
|
---|
| 896 | } DUMMYSTRUCTNAME;
|
---|
| 897 | } ERROR_PCI_COMPONENT_VALID, *PERROR_PCI_COMPONENT_VALID;
|
---|
| 898 |
|
---|
| 899 | typedef struct _ERROR_PCI_COMPONENT_INFO {
|
---|
| 900 | USHORT VendorId;
|
---|
| 901 | USHORT DeviceId;
|
---|
| 902 | UCHAR ClassCodeInterface;
|
---|
| 903 | UCHAR ClassCodeSubClass;
|
---|
| 904 | UCHAR ClassCodeBaseClass;
|
---|
| 905 | UCHAR FunctionNumber;
|
---|
| 906 | UCHAR DeviceNumber;
|
---|
| 907 | UCHAR BusNumber;
|
---|
| 908 | UCHAR SegmentNumber;
|
---|
| 909 | UCHAR Reserved0;
|
---|
| 910 | ULONG Reserved1;
|
---|
| 911 | } ERROR_PCI_COMPONENT_INFO, *PERROR_PCI_COMPONENT_INFO;
|
---|
| 912 |
|
---|
| 913 | typedef struct _ERROR_PCI_COMPONENT {
|
---|
| 914 | ERROR_SECTION_HEADER Header;
|
---|
| 915 | ERROR_PCI_COMPONENT_VALID Valid;
|
---|
| 916 | ERROR_STATUS ErrorStatus;
|
---|
| 917 | ERROR_PCI_COMPONENT_INFO Info;
|
---|
| 918 | ULONG MemoryMappedRegistersPairs;
|
---|
| 919 | ULONG ProgrammedIORegistersPairs;
|
---|
| 920 | } ERROR_PCI_COMPONENT, *PERROR_PCI_COMPONENT;
|
---|
| 921 |
|
---|
| 922 | #define ERROR_SYSTEM_EVENT_LOG_GUID {0xe429faf3, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 923 |
|
---|
| 924 | typedef union _ERROR_SYSTEM_EVENT_LOG_VALID {
|
---|
| 925 | ULONGLONG Valid;
|
---|
| 926 | _ANONYMOUS_STRUCT struct {
|
---|
| 927 | ULONGLONG RecordId:1;
|
---|
| 928 | ULONGLONG RecordType:1;
|
---|
| 929 | ULONGLONG GeneratorId:1;
|
---|
| 930 | ULONGLONG EVMRev:1;
|
---|
| 931 | ULONGLONG SensorType:1;
|
---|
| 932 | ULONGLONG SensorNum:1;
|
---|
| 933 | ULONGLONG EventDirType:1;
|
---|
| 934 | ULONGLONG EventData1:1;
|
---|
| 935 | ULONGLONG EventData2:1;
|
---|
| 936 | ULONGLONG EventData3:1;
|
---|
| 937 | ULONGLONG Reserved:54;
|
---|
| 938 | } DUMMYSTRUCTNAME;
|
---|
| 939 | } ERROR_SYSTEM_EVENT_LOG_VALID, *PSYSTEM_EVENT_LOG_VALID;
|
---|
| 940 |
|
---|
| 941 | typedef struct _ERROR_SYSTEM_EVENT_LOG {
|
---|
| 942 | ERROR_SECTION_HEADER Header;
|
---|
| 943 | ERROR_SYSTEM_EVENT_LOG_VALID Valid;
|
---|
| 944 | USHORT RecordId;
|
---|
| 945 | UCHAR RecordType;
|
---|
| 946 | ULONG TimeStamp;
|
---|
| 947 | USHORT GeneratorId;
|
---|
| 948 | UCHAR EVMRevision;
|
---|
| 949 | UCHAR SensorType;
|
---|
| 950 | UCHAR SensorNumber;
|
---|
| 951 | UCHAR EventDir;
|
---|
| 952 | UCHAR Data1;
|
---|
| 953 | UCHAR Data2;
|
---|
| 954 | UCHAR Data3;
|
---|
| 955 | } ERROR_SYSTEM_EVENT_LOG, *PERROR_SYSTEM_EVENT_LOG;
|
---|
| 956 |
|
---|
| 957 | #define ERROR_SMBIOS_GUID {0xe429faf5, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 958 |
|
---|
| 959 | typedef union _ERROR_SMBIOS_VALID {
|
---|
| 960 | ULONGLONG Valid;
|
---|
| 961 | _ANONYMOUS_STRUCT struct {
|
---|
| 962 | ULONGLONG EventType:1;
|
---|
| 963 | ULONGLONG Length:1;
|
---|
| 964 | ULONGLONG TimeStamp:1;
|
---|
| 965 | ULONGLONG OemData:1;
|
---|
| 966 | ULONGLONG Reserved:60;
|
---|
| 967 | } DUMMYSTRUCTNAME;
|
---|
| 968 | } ERROR_SMBIOS_VALID, *PERROR_SMBIOS_VALID;
|
---|
| 969 |
|
---|
| 970 | typedef UCHAR ERROR_SMBIOS_EVENT_TYPE, *PERROR_SMBIOS_EVENT_TYPE;
|
---|
| 971 |
|
---|
| 972 | typedef struct _ERROR_SMBIOS {
|
---|
| 973 | ERROR_SECTION_HEADER Header;
|
---|
| 974 | ERROR_SMBIOS_VALID Valid;
|
---|
| 975 | ERROR_SMBIOS_EVENT_TYPE EventType;
|
---|
| 976 | UCHAR Length;
|
---|
| 977 | ERROR_TIMESTAMP TimeStamp;
|
---|
| 978 | ERROR_OEM_DATA OemData;
|
---|
| 979 | } ERROR_SMBIOS, *PERROR_SMBIOS;
|
---|
| 980 |
|
---|
| 981 | #define ERROR_PLATFORM_SPECIFIC_GUID {0xe429faf7, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 982 |
|
---|
| 983 | typedef union _ERROR_PLATFORM_SPECIFIC_VALID {
|
---|
| 984 | ULONGLONG Valid;
|
---|
| 985 | _ANONYMOUS_STRUCT struct {
|
---|
| 986 | ULONGLONG ErrorStatus:1;
|
---|
| 987 | ULONGLONG RequestorId:1;
|
---|
| 988 | ULONGLONG ResponderId:1;
|
---|
| 989 | ULONGLONG TargetId:1;
|
---|
| 990 | ULONGLONG BusSpecificData:1;
|
---|
| 991 | ULONGLONG OemId:1;
|
---|
| 992 | ULONGLONG OemData:1;
|
---|
| 993 | ULONGLONG OemDevicePath:1;
|
---|
| 994 | ULONGLONG Reserved:56;
|
---|
| 995 | } DUMMYSTRUCTNAME;
|
---|
| 996 | } ERROR_PLATFORM_SPECIFIC_VALID, *PERROR_PLATFORM_SPECIFIC_VALID;
|
---|
| 997 |
|
---|
| 998 | typedef struct _ERROR_PLATFORM_SPECIFIC {
|
---|
| 999 | ERROR_SECTION_HEADER Header;
|
---|
| 1000 | ERROR_PLATFORM_SPECIFIC_VALID Valid;
|
---|
| 1001 | ERROR_STATUS ErrorStatus;
|
---|
| 1002 | ULONGLONG RequestorId;
|
---|
| 1003 | ULONGLONG ResponderId;
|
---|
| 1004 | ULONGLONG TargetId;
|
---|
| 1005 | ERROR_BUS_SPECIFIC_DATA BusSpecificData;
|
---|
| 1006 | UCHAR OemId[16];
|
---|
| 1007 | ERROR_OEM_DATA OemData;
|
---|
| 1008 | } ERROR_PLATFORM_SPECIFIC, *PERROR_PLATFORM_SPECIFIC;
|
---|
| 1009 |
|
---|
| 1010 | #define ERROR_PLATFORM_BUS_GUID {0xe429faf9, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 1011 |
|
---|
| 1012 | typedef union _ERROR_PLATFORM_BUS_VALID {
|
---|
| 1013 | ULONGLONG Valid;
|
---|
| 1014 | _ANONYMOUS_STRUCT struct {
|
---|
| 1015 | ULONGLONG ErrorStatus:1;
|
---|
| 1016 | ULONGLONG RequestorId:1;
|
---|
| 1017 | ULONGLONG ResponderId:1;
|
---|
| 1018 | ULONGLONG TargetId:1;
|
---|
| 1019 | ULONGLONG BusSpecificData:1;
|
---|
| 1020 | ULONGLONG OemId:1;
|
---|
| 1021 | ULONGLONG OemData:1;
|
---|
| 1022 | ULONGLONG OemDevicePath:1;
|
---|
| 1023 | ULONGLONG Reserved:56;
|
---|
| 1024 | } DUMMYSTRUCTNAME;
|
---|
| 1025 | } ERROR_PLATFORM_BUS_VALID, *PERROR_PLATFORM_BUS_VALID;
|
---|
| 1026 |
|
---|
| 1027 | typedef struct _ERROR_PLATFORM_BUS {
|
---|
| 1028 | ERROR_SECTION_HEADER Header;
|
---|
| 1029 | ERROR_PLATFORM_BUS_VALID Valid;
|
---|
| 1030 | ERROR_STATUS ErrorStatus;
|
---|
| 1031 | ULONGLONG RequestorId;
|
---|
| 1032 | ULONGLONG ResponderId;
|
---|
| 1033 | ULONGLONG TargetId;
|
---|
| 1034 | ERROR_BUS_SPECIFIC_DATA BusSpecificData;
|
---|
| 1035 | UCHAR OemId[16];
|
---|
| 1036 | ERROR_OEM_DATA OemData;
|
---|
| 1037 | } ERROR_PLATFORM_BUS, *PERROR_PLATFORM_BUS;
|
---|
| 1038 |
|
---|
| 1039 | #define ERROR_PLATFORM_HOST_CONTROLLER_GUID {0xe429faf8, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
|
---|
| 1040 |
|
---|
| 1041 | typedef union _ERROR_PLATFORM_HOST_CONTROLLER_VALID {
|
---|
| 1042 | ULONGLONG Valid;
|
---|
| 1043 | _ANONYMOUS_STRUCT struct {
|
---|
| 1044 | ULONGLONG ErrorStatus:1;
|
---|
| 1045 | ULONGLONG RequestorId:1;
|
---|
| 1046 | ULONGLONG ResponderId:1;
|
---|
| 1047 | ULONGLONG TargetId:1;
|
---|
| 1048 | ULONGLONG BusSpecificData:1;
|
---|
| 1049 | ULONGLONG OemId:1;
|
---|
| 1050 | ULONGLONG OemData:1;
|
---|
| 1051 | ULONGLONG OemDevicePath:1;
|
---|
| 1052 | ULONGLONG Reserved:56;
|
---|
| 1053 | } DUMMYSTRUCTNAME;
|
---|
| 1054 | } ERROR_PLATFORM_HOST_CONTROLLER_VALID, *PERROR_PLATFORM_HOST_CONTROLLER_VALID;
|
---|
| 1055 |
|
---|
| 1056 | typedef struct _ERROR_PLATFORM_HOST_CONTROLLER {
|
---|
| 1057 | ERROR_SECTION_HEADER Header;
|
---|
| 1058 | ERROR_PCI_COMPONENT_VALID Valid;
|
---|
| 1059 | ERROR_STATUS ErrorStatus;
|
---|
| 1060 | ULONGLONG RequestorId;
|
---|
| 1061 | ULONGLONG ResponderId;
|
---|
| 1062 | ULONGLONG TargetId;
|
---|
| 1063 | ERROR_BUS_SPECIFIC_DATA BusSpecificData;
|
---|
| 1064 | UCHAR OemId[16];
|
---|
| 1065 | ERROR_OEM_DATA OemData;
|
---|
| 1066 | } ERROR_PLATFORM_HOST_CONTROLLER, *PERROR_PLATFORM_HOST_CONTROLLER;
|
---|
| 1067 |
|
---|
| 1068 | typedef ERROR_RECORD_HEADER ERROR_LOGRECORD, *PERROR_LOGRECORD;
|
---|
| 1069 | typedef ERROR_RECORD_HEADER MCA_EXCEPTION, *PMCA_EXCEPTION;
|
---|
| 1070 | typedef ERROR_RECORD_HEADER CMC_EXCEPTION, *PCMC_EXCEPTION;
|
---|
| 1071 | typedef ERROR_RECORD_HEADER CPE_EXCEPTION, *PCPE_EXCEPTION;
|
---|
| 1072 | #if (NTDDI_VERSION > NTDDI_WINXP)
|
---|
| 1073 | typedef ERROR_RECORD_HEADER INIT_EXCEPTION, *PINIT_EXCEPTION;
|
---|
| 1074 | #endif
|
---|
| 1075 |
|
---|
| 1076 | #endif /* defined(_IA64_) */
|
---|
| 1077 |
|
---|
| 1078 | #endif /* defined(_X86_) || defined(_IA64_) || defined(_AMD64_) */
|
---|