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_) */
|
---|