3 #if defined(_X86_) || defined(_IA64_) || defined(_AMD64_)
5 typedef union _MCI_ADDR
{
11 } MCI_ADDR
, *PMCI_ADDR
;
20 #if (NTDDI_VERSION <= NTDDI_WINXP)
22 typedef union _MCI_STATS
{
25 USHORT ModelErrorCode
;
36 } MCI_STATS
, *PMCI_STATS
;
40 typedef union _MCI_STATS
{
43 USHORT ModelErrorCode
;
44 ULONG OtherInformation
:25;
45 ULONG ContextCorrupt
:1;
49 ULONG UncorrectedError
:1;
50 ULONG StatusOverFlow
:1;
54 } MCI_STATS
, *PMCI_STATS
;
56 #endif /* (NTDDI_VERSION <= NTDDI_WINXP) */
58 #endif /* defined(_AMD64_) */
61 typedef union _MCI_STATS
{
75 } MCI_STATS
, *PMCI_STATS
;
78 #define MCA_EXTREG_V2MAX 24
80 #if defined(_X86_) || defined(_AMD64_)
82 #if (NTDDI_VERSION >= NTDDI_WINXP)
84 typedef struct _MCA_EXCEPTION
{
86 MCA_EXCEPTION_TYPE ExceptionType
;
87 LARGE_INTEGER TimeStamp
;
88 ULONG ProcessorNumber
;
105 ULONGLONG ExtReg
[MCA_EXTREG_V2MAX
];
106 } MCA_EXCEPTION
, *PMCA_EXCEPTION
;
110 typedef struct _MCA_EXCEPTION
{
112 MCA_EXCEPTION_TYPE ExceptionType
;
113 LARGE_INTEGER TimeStamp
;
114 ULONG ProcessorNumber
;
129 } MCA_EXCEPTION
, *PMCA_EXCEPTION
;
131 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
133 typedef MCA_EXCEPTION CMC_EXCEPTION
, *PCMC_EXCEPTION
;
134 typedef MCA_EXCEPTION CPE_EXCEPTION
, *PCPE_EXCEPTION
;
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)
141 #endif /* defined(_X86_) || defined(_AMD64_) */
143 #if defined(_AMD64_) || defined(_IA64_)
145 typedef UCHAR ERROR_SEVERITY
, *PERROR_SEVERITY
;
147 typedef enum _ERROR_SEVERITY_VALUE
{
148 ErrorRecoverable
= 0,
152 } ERROR_SEVERITY_VALUE
;
158 typedef union _ERROR_REVISION
{
164 } ERROR_REVISION
, *PERROR_REVISION
;
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}
172 #define ERROR_REVISION_SAL_03_00 {2,0}
173 #endif /* (NTDDI_VERSION > NTDDI_WINXP) */
175 typedef union _ERROR_TIMESTAMP
{
187 } ERROR_TIMESTAMP
, *PERROR_TIMESTAMP
;
189 typedef struct _ERROR_GUID
{
194 } ERROR_GUID
, *PERROR_GUID
;
196 typedef ERROR_GUID _ERROR_DEVICE_GUID
;
197 typedef _ERROR_DEVICE_GUID ERROR_DEVICE_GUID
, *PERROR_DEVICE_GUID
;
199 typedef ERROR_GUID _ERROR_PLATFORM_GUID
;
200 typedef _ERROR_PLATFORM_GUID ERROR_PLATFORM_GUID
, *PERROR_PLATFORM_GUID
;
202 typedef union _ERROR_RECORD_VALID
{
205 UCHAR OemPlatformID
:1;
208 } ERROR_RECORD_VALID
, *PERROR_RECORD_VALID
;
210 typedef struct _ERROR_RECORD_HEADER
{
212 ERROR_REVISION Revision
;
213 ERROR_SEVERITY ErrorSeverity
;
214 ERROR_RECORD_VALID Valid
;
216 ERROR_TIMESTAMP TimeStamp
;
217 UCHAR OemPlatformId
[16];
218 } ERROR_RECORD_HEADER
, *PERROR_RECORD_HEADER
;
220 typedef union _ERROR_RECOVERY_INFO
{
224 UCHAR NotContained
:1;
229 } ERROR_RECOVERY_INFO
, *PERROR_RECOVERY_INFO
;
231 typedef struct _ERROR_SECTION_HEADER
{
232 ERROR_DEVICE_GUID Guid
;
233 ERROR_REVISION Revision
;
234 ERROR_RECOVERY_INFO RecoveryInfo
;
237 } ERROR_SECTION_HEADER
, *PERROR_SECTION_HEADER
;
239 #if !defined(__midl) && defined(_MSC_EXTENSIONS)
243 GetFwMceLogProcessorNumber(
244 PERROR_RECORD_HEADER Log
)
246 PERROR_SECTION_HEADER section
= (PERROR_SECTION_HEADER
)((ULONG64
)Log
+ sizeof(*Log
));
247 USHORT lid
= (USHORT
)((UCHAR
)(section
->Reserved
));
248 lid
|= (USHORT
)((UCHAR
)(Log
->TimeStamp
.Reserved
) << 8);
253 #define ERROR_PROCESSOR_GUID {0xe429faf1, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
255 typedef union _ERROR_MODINFO_VALID
{
258 ULONGLONG CheckInfo
:1;
259 ULONGLONG RequestorIdentifier
:1;
260 ULONGLONG ResponderIdentifier
:1;
261 ULONGLONG TargetIdentifier
:1;
262 ULONGLONG PreciseIP
:1;
263 ULONGLONG Reserved
:59;
265 } ERROR_MODINFO_VALID
, *PERROR_MODINFO_VALID
;
267 typedef enum _ERROR_CHECK_IS
{
272 typedef enum _ERROR_CACHE_CHECK_OPERATION
{
276 CacheInstructionFetch
= 3,
277 CacheDataPrefetch
= 4,
281 } ERROR_CACHE_CHECK_OPERATION
;
283 typedef enum _ERROR_CACHE_CHECK_MESI
{
286 CacheHeldExclusive
= 2,
288 } ERROR_CACHE_CHECK_MESI
;
290 #if (NTDDI_VERSION >= NTDDI_VISTA)
292 typedef union _ERROR_CACHE_CHECK
{
293 ULONGLONG CacheCheck
;
295 ULONGLONG Operation
:4;
297 ULONGLONG Reserved1
:2;
298 ULONGLONG DataLine
:1;
300 ULONGLONG DataCache
:1;
301 ULONGLONG InstructionCache
:1;
303 ULONGLONG MESIValid
:1;
305 ULONGLONG WayIndexValid
:1;
306 ULONGLONG Reserved2
:1;
308 ULONGLONG Reserved3
:8;
310 ULONGLONG Reserved4
:2;
311 ULONGLONG InstructionSet
:1;
312 ULONGLONG InstructionSetValid
:1;
313 ULONGLONG PrivilegeLevel
:2;
314 ULONGLONG PrivilegeLevelValid
:1;
315 ULONGLONG MachineCheckCorrected
:1;
316 ULONGLONG TargetAddressValid
:1;
317 ULONGLONG RequestIdValid
:1;
318 ULONGLONG ResponderIdValid
:1;
319 ULONGLONG PreciseIPValid
:1;
321 } ERROR_CACHE_CHECK
, *PERROR_CACHE_CHECK
;
325 typedef union _ERROR_CACHE_CHECK
{
326 ULONGLONG CacheCheck
;
328 ULONGLONG Operation
:4;
330 ULONGLONG Reserved1
:2;
331 ULONGLONG DataLine
:1;
333 ULONGLONG DataCache
:1;
334 ULONGLONG InstructionCache
:1;
336 ULONGLONG MESIValid
:1;
338 ULONGLONG WayIndexValid
:1;
339 ULONGLONG Reserved2
:10;
341 ULONGLONG Reserved3
:2;
342 ULONGLONG InstructionSet
:1;
343 ULONGLONG InstructionSetValid
:1;
344 ULONGLONG PrivilegeLevel
:2;
345 ULONGLONG PrivilegeLevelValid
:1;
346 ULONGLONG MachineCheckCorrected
:1;
347 ULONGLONG TargetAddressValid
:1;
348 ULONGLONG RequestIdValid
:1;
349 ULONGLONG ResponderIdValid
:1;
350 ULONGLONG PreciseIPValid
:1;
352 } ERROR_CACHE_CHECK
, *PERROR_CACHE_CHECK
;
354 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
356 typedef enum _ERROR_TLB_CHECK_OPERATION
{
358 TlbAccessWithLoad
= 1,
359 TlbAccessWithStore
= 2,
360 TlbAccessWithInstructionFetch
= 3,
361 TlbAccessWithDataPrefetch
= 4,
366 } ERROR_TLB_CHECK_OPERATION
;
368 typedef union _ERROR_TLB_CHECK
{
372 ULONGLONG TRSlotValid
:1;
373 ULONGLONG Reserved1
:1;
375 ULONGLONG Reserved2
:4;
376 ULONGLONG DataTransReg
:1;
377 ULONGLONG InstructionTransReg
:1;
378 ULONGLONG DataTransCache
:1;
379 ULONGLONG InstructionTransCache
:1;
380 ULONGLONG Operation
:4;
381 ULONGLONG Reserved3
:30;
382 ULONGLONG InstructionSet
:1;
383 ULONGLONG InstructionSetValid
:1;
384 ULONGLONG PrivilegeLevel
:2;
385 ULONGLONG PrivilegeLevelValid
:1;
386 ULONGLONG MachineCheckCorrected
:1;
387 ULONGLONG TargetAddressValid
:1;
388 ULONGLONG RequestIdValid
:1;
389 ULONGLONG ResponderIdValid
:1;
390 ULONGLONG PreciseIPValid
:1;
392 } ERROR_TLB_CHECK
, *PERROR_TLB_CHECK
;
394 typedef enum _ERROR_BUS_CHECK_OPERATION
{
399 BusFullLineWrite
= 4,
403 BusWriteCoalescing
= 8,
404 } ERROR_BUS_CHECK_OPERATION
;
406 #if (NTDDI_VERSION >= NTDDI_VISTA)
408 typedef union _ERROR_BUS_CHECK
{
412 ULONGLONG Internal
:1;
413 ULONGLONG External
:1;
414 ULONGLONG CacheTransfer
:1;
416 ULONGLONG Severity
:5;
417 ULONGLONG Hierarchy
:2;
420 ULONGLONG Reserved1
:22;
421 ULONGLONG InstructionSet
:1;
422 ULONGLONG InstructionSetValid
:1;
423 ULONGLONG PrivilegeLevel
:2;
424 ULONGLONG PrivilegeLevelValid
:1;
425 ULONGLONG MachineCheckCorrected
:1;
426 ULONGLONG TargetAddressValid
:1;
427 ULONGLONG RequestIdValid
:1;
428 ULONGLONG ResponderIdValid
:1;
429 ULONGLONG PreciseIPValid
:1;
431 } ERROR_BUS_CHECK
, *PERROR_BUS_CHECK
;
435 typedef union _ERROR_BUS_CHECK
{
439 ULONGLONG Internal
:1;
440 ULONGLONG External
:1;
441 ULONGLONG CacheTransfer
:1;
443 ULONGLONG Severity
:5;
444 ULONGLONG Hierarchy
:2;
445 ULONGLONG Reserved1
:1;
447 ULONGLONG Reserved2
:22;
448 ULONGLONG InstructionSet
:1;
449 ULONGLONG InstructionSetValid
:1;
450 ULONGLONG PrivilegeLevel
:2;
451 ULONGLONG PrivilegeLevelValid
:1;
452 ULONGLONG MachineCheckCorrected
:1;
453 ULONGLONG TargetAddressValid
:1;
454 ULONGLONG RequestIdValid
:1;
455 ULONGLONG ResponderIdValid
:1;
456 ULONGLONG PreciseIPValid
:1;
458 } ERROR_BUS_CHECK
, *PERROR_BUS_CHECK
;
462 typedef enum _ERROR_REGFILE_CHECK_IDENTIFIER
{
463 RegFileUnknownId
= 0,
464 GeneralRegisterBank1
= 1,
465 GeneralRegisterBank0
= 2,
466 FloatingPointRegister
= 3,
468 PredicateRegister
= 5,
469 ApplicationRegister
= 6,
472 ProtectionKeyRegister
= 9,
473 DataBreakPointRegister
= 10,
474 InstructionBreakPointRegister
= 11,
475 PerformanceMonitorControlRegister
= 12,
476 PerformanceMonitorDataRegister
= 13,
477 } ERROR_REGFILE_CHECK_IDENTIFIER
;
479 typedef enum _ERROR_REGFILE_CHECK_OPERATION
{
480 RegFileUnknownOp
= 0,
483 } ERROR_REGFILE_CHECK_OPERATION
;
485 typedef union _ERROR_REGFILE_CHECK
{
486 ULONGLONG RegFileCheck
;
488 ULONGLONG Identifier
:4;
489 ULONGLONG Operation
:4;
490 ULONGLONG RegisterNumber
:7;
491 ULONGLONG RegisterNumberValid
:1;
492 ULONGLONG Reserved1
:38;
493 ULONGLONG InstructionSet
:1;
494 ULONGLONG InstructionSetValid
:1;
495 ULONGLONG PrivilegeLevel
:2;
496 ULONGLONG PrivilegeLevelValid
:1;
497 ULONGLONG MachineCheckCorrected
:1;
498 ULONGLONG Reserved2
:3;
499 ULONGLONG PreciseIPValid
:1;
501 } ERROR_REGFILE_CHECK
, *PERROR_REGFILE_CHECK
;
503 #if (NTDDK_VERSION <= WINXP)
504 typedef enum _ERROR_MS_CHECK_OPERATION
{
508 } ERROR_MS_CHECK_OPERATION
;
510 typedef enum _ERROR_MS_CHECK_OPERATION
{
514 MsOverTemperature
= 3,
515 MsNormalTemperature
= 4
516 } ERROR_MS_CHECK_OPERATION
;
519 typedef union _ERROR_MS_CHECK
{
522 ULONGLONG StructureIdentifier
:5;
525 ULONGLONG Operation
:4;
527 ULONGLONG WayValid
:1;
528 ULONGLONG IndexValid
:1;
529 ULONGLONG Reserved1
:8;
531 ULONGLONG Reserved2
:14;
532 ULONGLONG InstructionSet
:1;
533 ULONGLONG InstructionSetValid
:1;
534 ULONGLONG PrivilegeLevel
:2;
535 ULONGLONG PrivilegeLevelValid
:1;
536 ULONGLONG MachineCheckCorrected
:1;
537 ULONGLONG TargetAddressValid
:1;
538 ULONGLONG RequestIdValid
:1;
539 ULONGLONG ResponderIdValid
:1;
540 ULONGLONG PreciseIPValid
:1;
542 } ERROR_MS_CHECK
, *PERROR_MS_CHECK
;
544 typedef union _ERROR_CHECK_INFO
{
546 ERROR_CACHE_CHECK CacheCheck
;
547 ERROR_TLB_CHECK TlbCheck
;
548 ERROR_BUS_CHECK BusCheck
;
549 ERROR_REGFILE_CHECK RegFileCheck
;
550 ERROR_MS_CHECK MsCheck
;
551 } ERROR_CHECK_INFO
, *PERROR_CHECK_INFO
;
553 typedef struct _ERROR_MODINFO
{
554 ERROR_MODINFO_VALID Valid
;
555 ERROR_CHECK_INFO CheckInfo
;
556 ULONGLONG RequestorId
;
557 ULONGLONG ResponderId
;
560 } ERROR_MODINFO
, *PERROR_MODINFO
;
562 typedef union _ERROR_PROCESSOR_VALID
{
565 ULONGLONG ErrorMap
:1;
566 ULONGLONG StateParameter
:1;
568 ULONGLONG StaticStruct
:1;
569 ULONGLONG CacheCheckNum
:4;
570 ULONGLONG TlbCheckNum
:4;
571 ULONGLONG BusCheckNum
:4;
572 ULONGLONG RegFileCheckNum
:4;
573 ULONGLONG MsCheckNum
:4;
574 ULONGLONG CpuIdInfo
:1;
575 ULONGLONG Reserved
:39;
577 } ERROR_PROCESSOR_VALID
, *PERROR_PROCESSOR_VALID
;
579 typedef union _ERROR_PROCESSOR_ERROR_MAP
{
591 ULONGLONG Reserved
:16;
593 } ERROR_PROCESSOR_ERROR_MAP
, *PERROR_PROCESSOR_ERROR_MAP
;
595 typedef ERROR_PROCESSOR_ERROR_MAP _ERROR_PROCESSOR_LEVEL_INDEX
;
596 typedef _ERROR_PROCESSOR_LEVEL_INDEX ERROR_PROCESSOR_LEVEL_INDEX
, *PERROR_PROCESSOR_LEVEL_INDEX
;
598 typedef union _ERROR_PROCESSOR_STATE_PARAMETER
{
599 ULONGLONG StateParameter
;
601 ULONGLONG reserved0
:2;
633 ULONGLONG reserved1
:11;
640 } ERROR_PROCESSOR_STATE_PARAMETER
, *PERROR_PROCESSOR_STATE_PARAMETER
;
642 typedef union _PROCESSOR_LOCAL_ID
{
645 ULONGLONG reserved
:16;
648 ULONGLONG ignored
:32;
650 } PROCESSOR_LOCAL_ID
, *PPROCESSOR_LOCAL_ID
;
652 typedef struct _ERROR_PROCESSOR_MS
{
653 ULONGLONG MsError
[1];
654 } ERROR_PROCESSOR_MS
, *PERROR_PROCESSOR_MS
;
656 typedef struct _ERROR_PROCESSOR_CPUID_INFO
{
663 } ERROR_PROCESSOR_CPUID_INFO
, *PERROR_PROCESSOR_CPUID_INFO
;
665 typedef union _ERROR_PROCESSOR_STATIC_INFO_VALID
{
668 ULONGLONG MinState
:1;
674 ULONGLONG Reserved
:58;
676 } ERROR_PROCESSOR_STATIC_INFO_VALID
, *PERROR_PROCESSOR_STATIC_INFO_VALID
;
678 typedef struct _ERROR_PROCESSOR_STATIC_INFO
{
679 ERROR_PROCESSOR_STATIC_INFO_VALID Valid
;
680 UCHAR MinState
[1024];
685 ULONGLONG FR
[2 * 128];
686 } ERROR_PROCESSOR_STATIC_INFO
, *PERROR_PROCESSOR_STATIC_INFO
;
688 typedef struct _ERROR_PROCESSOR
{
689 ERROR_SECTION_HEADER Header
;
690 ERROR_PROCESSOR_VALID Valid
;
691 ERROR_PROCESSOR_ERROR_MAP ErrorMap
;
692 ERROR_PROCESSOR_STATE_PARAMETER StateParameter
;
693 PROCESSOR_LOCAL_ID CRLid
;
694 } ERROR_PROCESSOR
, *PERROR_PROCESSOR
;
696 #define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_SHIFT 59
697 #define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_MASK 0x1
698 #define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_SHIFT 60
699 #define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_MASK 0x1
700 #define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_SHIFT 61
701 #define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_MASK 0x1
702 #define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_SHIFT 62
703 #define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_MASK 0x1
704 #define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT 63
705 #define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK 0x1
707 #define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_SHIFT ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT
708 #define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_MASK ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK
710 typedef enum _ERR_TYPES
{
731 typedef union _ERROR_STATUS
{
734 ULONGLONG Reserved0
:8;
739 ULONGLONG Responder
:1;
740 ULONGLONG Requestor
:1;
741 ULONGLONG FirstError
:1;
742 ULONGLONG Overflow
:1;
743 ULONGLONG Reserved1
:41;
745 } ERROR_STATUS
, *PERROR_STATUS
;
747 typedef struct _ERROR_OEM_DATA
{
749 } ERROR_OEM_DATA
, *PERROR_OEM_DATA
;
751 typedef union _ERROR_BUS_SPECIFIC_DATA
{
752 ULONGLONG BusSpecificData
;
754 ULONGLONG LockAsserted
:1;
755 ULONGLONG DeferLogged
:1;
756 ULONGLONG IOQEmpty
:1;
757 ULONGLONG DeferredTransaction
:1;
758 ULONGLONG RetriedTransaction
:1;
759 ULONGLONG MemoryClaimedTransaction
:1;
760 ULONGLONG IOClaimedTransaction
:1;
761 ULONGLONG ResponseParitySignal
:1;
762 ULONGLONG DeferSignal
:1;
763 ULONGLONG HitMSignal
:1;
764 ULONGLONG HitSignal
:1;
765 ULONGLONG RequestBusFirstCycle
:6;
766 ULONGLONG RequestBusSecondCycle
:6;
767 ULONGLONG AddressParityBusFirstCycle
:2;
768 ULONGLONG AddressParityBusSecondCycle
:2;
769 ULONGLONG ResponseBus
:3;
770 ULONGLONG RequestParitySignalFirstCycle
:1;
771 ULONGLONG RequestParitySignalSecondCycle
:1;
772 ULONGLONG Reserved
:32;
774 } ERROR_BUS_SPECIFIC_DATA
, *PERROR_BUS_SPECIFIC_DATA
;
776 #define ERROR_MEMORY_GUID {0xe429faf2, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
778 typedef union _ERROR_MEMORY_VALID
{
781 ULONGLONG ErrorStatus
:1;
782 ULONGLONG PhysicalAddress
:1;
783 ULONGLONG AddressMask
:1;
791 ULONGLONG BitPosition
:1;
792 ULONGLONG RequestorId
:1;
793 ULONGLONG ResponderId
:1;
794 ULONGLONG TargetId
:1;
795 ULONGLONG BusSpecificData
:1;
798 ULONGLONG Reserved
:47;
800 } ERROR_MEMORY_VALID
, *PERROR_MEMORY_VALID
;
802 typedef struct _ERROR_MEMORY
{
803 ERROR_SECTION_HEADER Header
;
804 ERROR_MEMORY_VALID Valid
;
805 ERROR_STATUS ErrorStatus
;
806 ULONGLONG PhysicalAddress
;
807 ULONGLONG PhysicalAddressMask
;
816 ULONGLONG RequestorId
;
817 ULONGLONG ResponderId
;
819 ULONGLONG BusSpecificData
;
821 ERROR_OEM_DATA OemData
;
822 } ERROR_MEMORY
, *PERROR_MEMORY
;
824 #define ERROR_PCI_BUS_GUID {0xe429faf4, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
826 typedef union _ERROR_PCI_BUS_VALID
{
829 ULONGLONG ErrorStatus
:1;
830 ULONGLONG ErrorType
:1;
835 ULONGLONG RequestorId
:1;
836 ULONGLONG ResponderId
:1;
837 ULONGLONG TargetId
:1;
840 ULONGLONG Reserved
:53;
842 } ERROR_PCI_BUS_VALID
, *PERROR_PCI_BUS_VALID
;
844 typedef struct _ERROR_PCI_BUS_TYPE
{
847 } ERROR_PCI_BUS_TYPE
, *PERROR_PCI_BUS_TYPE
;
849 #define PciBusUnknownError ((UCHAR)0)
850 #define PciBusDataParityError ((UCHAR)1)
851 #define PciBusSystemError ((UCHAR)2)
852 #define PciBusMasterAbort ((UCHAR)3)
853 #define PciBusTimeOut ((UCHAR)4)
854 #define PciMasterDataParityError ((UCHAR)5)
855 #define PciAddressParityError ((UCHAR)6)
856 #define PciCommandParityError ((UCHAR)7)
858 typedef struct _ERROR_PCI_BUS_ID
{
861 } ERROR_PCI_BUS_ID
, *PERROR_PCI_BUS_ID
;
863 typedef struct _ERROR_PCI_BUS
{
864 ERROR_SECTION_HEADER Header
;
865 ERROR_PCI_BUS_VALID Valid
;
866 ERROR_STATUS ErrorStatus
;
867 ERROR_PCI_BUS_TYPE Type
;
873 ULONGLONG RequestorId
;
874 ULONGLONG ResponderId
;
877 ERROR_OEM_DATA OemData
;
878 } ERROR_PCI_BUS
, *PERROR_PCI_BUS
;
880 #define ERROR_PCI_COMPONENT_GUID {0xe429faf6, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
882 typedef union _ERROR_PCI_COMPONENT_VALID
{
885 ULONGLONG ErrorStatus
:1;
887 ULONGLONG MemoryMappedRegistersPairs
:1;
888 ULONGLONG ProgrammedIORegistersPairs
:1;
889 ULONGLONG RegistersDataPairs
:1;
891 ULONGLONG Reserved
:58;
893 } ERROR_PCI_COMPONENT_VALID
, *PERROR_PCI_COMPONENT_VALID
;
895 typedef struct _ERROR_PCI_COMPONENT_INFO
{
898 UCHAR ClassCodeInterface
;
899 UCHAR ClassCodeSubClass
;
900 UCHAR ClassCodeBaseClass
;
901 UCHAR FunctionNumber
;
907 } ERROR_PCI_COMPONENT_INFO
, *PERROR_PCI_COMPONENT_INFO
;
909 typedef struct _ERROR_PCI_COMPONENT
{
910 ERROR_SECTION_HEADER Header
;
911 ERROR_PCI_COMPONENT_VALID Valid
;
912 ERROR_STATUS ErrorStatus
;
913 ERROR_PCI_COMPONENT_INFO Info
;
914 ULONG MemoryMappedRegistersPairs
;
915 ULONG ProgrammedIORegistersPairs
;
916 } ERROR_PCI_COMPONENT
, *PERROR_PCI_COMPONENT
;
918 #define ERROR_SYSTEM_EVENT_LOG_GUID {0xe429faf3, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
920 typedef union _ERROR_SYSTEM_EVENT_LOG_VALID
{
923 ULONGLONG RecordId
:1;
924 ULONGLONG RecordType
:1;
925 ULONGLONG GeneratorId
:1;
927 ULONGLONG SensorType
:1;
928 ULONGLONG SensorNum
:1;
929 ULONGLONG EventDirType
:1;
930 ULONGLONG EventData1
:1;
931 ULONGLONG EventData2
:1;
932 ULONGLONG EventData3
:1;
933 ULONGLONG Reserved
:54;
935 } ERROR_SYSTEM_EVENT_LOG_VALID
, *PSYSTEM_EVENT_LOG_VALID
;
937 typedef struct _ERROR_SYSTEM_EVENT_LOG
{
938 ERROR_SECTION_HEADER Header
;
939 ERROR_SYSTEM_EVENT_LOG_VALID Valid
;
951 } ERROR_SYSTEM_EVENT_LOG
, *PERROR_SYSTEM_EVENT_LOG
;
953 #define ERROR_SMBIOS_GUID {0xe429faf5, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
955 typedef union _ERROR_SMBIOS_VALID
{
958 ULONGLONG EventType
:1;
960 ULONGLONG TimeStamp
:1;
962 ULONGLONG Reserved
:60;
964 } ERROR_SMBIOS_VALID
, *PERROR_SMBIOS_VALID
;
966 typedef UCHAR ERROR_SMBIOS_EVENT_TYPE
, *PERROR_SMBIOS_EVENT_TYPE
;
968 typedef struct _ERROR_SMBIOS
{
969 ERROR_SECTION_HEADER Header
;
970 ERROR_SMBIOS_VALID Valid
;
971 ERROR_SMBIOS_EVENT_TYPE EventType
;
973 ERROR_TIMESTAMP TimeStamp
;
974 ERROR_OEM_DATA OemData
;
975 } ERROR_SMBIOS
, *PERROR_SMBIOS
;
977 #define ERROR_PLATFORM_SPECIFIC_GUID {0xe429faf7, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
979 typedef union _ERROR_PLATFORM_SPECIFIC_VALID
{
982 ULONGLONG ErrorStatus
:1;
983 ULONGLONG RequestorId
:1;
984 ULONGLONG ResponderId
:1;
985 ULONGLONG TargetId
:1;
986 ULONGLONG BusSpecificData
:1;
989 ULONGLONG OemDevicePath
:1;
990 ULONGLONG Reserved
:56;
992 } ERROR_PLATFORM_SPECIFIC_VALID
, *PERROR_PLATFORM_SPECIFIC_VALID
;
994 typedef struct _ERROR_PLATFORM_SPECIFIC
{
995 ERROR_SECTION_HEADER Header
;
996 ERROR_PLATFORM_SPECIFIC_VALID Valid
;
997 ERROR_STATUS ErrorStatus
;
998 ULONGLONG RequestorId
;
999 ULONGLONG ResponderId
;
1001 ERROR_BUS_SPECIFIC_DATA BusSpecificData
;
1003 ERROR_OEM_DATA OemData
;
1004 } ERROR_PLATFORM_SPECIFIC
, *PERROR_PLATFORM_SPECIFIC
;
1006 #define ERROR_PLATFORM_BUS_GUID {0xe429faf9, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
1008 typedef union _ERROR_PLATFORM_BUS_VALID
{
1011 ULONGLONG ErrorStatus
:1;
1012 ULONGLONG RequestorId
:1;
1013 ULONGLONG ResponderId
:1;
1014 ULONGLONG TargetId
:1;
1015 ULONGLONG BusSpecificData
:1;
1017 ULONGLONG OemData
:1;
1018 ULONGLONG OemDevicePath
:1;
1019 ULONGLONG Reserved
:56;
1021 } ERROR_PLATFORM_BUS_VALID
, *PERROR_PLATFORM_BUS_VALID
;
1023 typedef struct _ERROR_PLATFORM_BUS
{
1024 ERROR_SECTION_HEADER Header
;
1025 ERROR_PLATFORM_BUS_VALID Valid
;
1026 ERROR_STATUS ErrorStatus
;
1027 ULONGLONG RequestorId
;
1028 ULONGLONG ResponderId
;
1030 ERROR_BUS_SPECIFIC_DATA BusSpecificData
;
1032 ERROR_OEM_DATA OemData
;
1033 } ERROR_PLATFORM_BUS
, *PERROR_PLATFORM_BUS
;
1035 #define ERROR_PLATFORM_HOST_CONTROLLER_GUID {0xe429faf8, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
1037 typedef union _ERROR_PLATFORM_HOST_CONTROLLER_VALID
{
1040 ULONGLONG ErrorStatus
:1;
1041 ULONGLONG RequestorId
:1;
1042 ULONGLONG ResponderId
:1;
1043 ULONGLONG TargetId
:1;
1044 ULONGLONG BusSpecificData
:1;
1046 ULONGLONG OemData
:1;
1047 ULONGLONG OemDevicePath
:1;
1048 ULONGLONG Reserved
:56;
1050 } ERROR_PLATFORM_HOST_CONTROLLER_VALID
, *PERROR_PLATFORM_HOST_CONTROLLER_VALID
;
1052 typedef struct _ERROR_PLATFORM_HOST_CONTROLLER
{
1053 ERROR_SECTION_HEADER Header
;
1054 ERROR_PCI_COMPONENT_VALID Valid
;
1055 ERROR_STATUS ErrorStatus
;
1056 ULONGLONG RequestorId
;
1057 ULONGLONG ResponderId
;
1059 ERROR_BUS_SPECIFIC_DATA BusSpecificData
;
1061 ERROR_OEM_DATA OemData
;
1062 } ERROR_PLATFORM_HOST_CONTROLLER
, *PERROR_PLATFORM_HOST_CONTROLLER
;
1064 typedef ERROR_RECORD_HEADER ERROR_LOGRECORD
, *PERROR_LOGRECORD
;
1065 typedef ERROR_RECORD_HEADER MCA_EXCEPTION
, *PMCA_EXCEPTION
;
1066 typedef ERROR_RECORD_HEADER CMC_EXCEPTION
, *PCMC_EXCEPTION
;
1067 typedef ERROR_RECORD_HEADER CPE_EXCEPTION
, *PCPE_EXCEPTION
;
1068 #if (NTDDI_VERSION > NTDDI_WINXP)
1069 typedef ERROR_RECORD_HEADER INIT_EXCEPTION
, *PINIT_EXCEPTION
;
1072 #endif /* defined(_IA64_) */
1074 #endif /* defined(_X86_) || defined(_IA64_) || defined(_AMD64_) */