Bitdefender Hypervisor Memory Introspection
winbugcheck.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020 Bitdefender
3  * SPDX-License-Identifier: Apache-2.0
4  */
16 
17 #ifndef _WINBUGCHECK_H_
18 #define _WINBUGCHECK_H_
19 
20 #include "introtypes.h"
21 
22 #define BUGCHECK_IRQL_NOT_LESS_OR_EQUAL 0x0000000A
23 #define BUGCHECK_BAD_POOL_HEADER 0x00000019
24 #define BUGCHECK_MEMORY_MANAGEMENT 0x0000001A
25 #define BUGCHECK_KMODE_EXCEPTION_NOT_HANDLED 0x0000001E
26 #define BUGCHECK_SYSTEM_SERVICE_EXCEPTION 0x0000003B
27 #define BUGCHECK_PFN_LIST_CORRUPT 0x0000004E
28 #define BUGCHECK_PAGE_FAULT_IN_NONPAGED_AREA 0x00000050
29 #define BUGCHECK_PROCESS_INITIALIZATION_FAILED 0x00000060
30 #define BUGCHECK_KERNEL_STACK_INPAGE_ERROR 0x00000077
31 #define BUGCHECK_KERNEL_DATA_INPAGE_ERROR 0x0000007A
32 #define BUGCHECK_INACCESSIBLE_BOOT_DEVICE 0x0000007C
33 #define BUGCHECK_SYSTEM_THREAD_EXCEPTION_NOT_HANDLED 0x0000007E
34 #define BUGCHECK_UNEXPECTED_KERNEL_MODE_TRAP 0x0000007F
35 #define BUGCHECK_KERNEL_MODE_EXCEPTION_NOT_HANDLED 0x0000008E
36 #define BUGCHECK_CRITICAL_PROCESS_DIED 0x000000EF
37 #define BUGCHEDCK_CRITICAL_STRUCTURE_CORRUPTION 0x00000109
38 
42 typedef union _EFLAGS
43 {
45  struct
46  {
47  DWORD CF : 1;
49  DWORD PF : 1;
51  DWORD AF : 1;
53  DWORD ZF : 1;
54  DWORD SF : 1;
55  DWORD TF : 1;
56  DWORD IF : 1;
57  DWORD DF : 1;
58  DWORD OF : 1;
59  DWORD IOPL : 2;
60  DWORD NT : 1;
62  DWORD RF : 1;
63  DWORD VF : 1;
64  DWORD AC : 1;
65  DWORD VIF : 1;
66  DWORD VIP : 1;
67  DWORD ID : 1;
68  DWORD Unused1 : 10;
69  };
70 } EFLAGS, *PEFLAGS;
71 
74  _In_ void const *Detour
75  );
76 
77 #endif
DWORD RF
Definition: winbugcheck.h:62
DWORD VIP
Definition: winbugcheck.h:66
#define _In_
Definition: intro_sal.h:21
union _EFLAGS EFLAGS
The layout of the EFLAGS register.
DWORD SF
Definition: winbugcheck.h:54
DWORD Raw
Raw register value.
Definition: winbugcheck.h:44
int INTSTATUS
The status data type.
Definition: introstatus.h:24
DWORD DF
Definition: winbugcheck.h:57
DWORD IF
Definition: winbugcheck.h:56
DWORD OF
Definition: winbugcheck.h:58
DWORD IOPL
Definition: winbugcheck.h:59
DWORD CF
Definition: winbugcheck.h:47
DWORD VIF
Definition: winbugcheck.h:65
DWORD Unused5
Definition: winbugcheck.h:48
DWORD Unused1
Definition: winbugcheck.h:68
DWORD TF
Definition: winbugcheck.h:55
DWORD AF
Definition: winbugcheck.h:51
The layout of the EFLAGS register.
Definition: winbugcheck.h:42
DWORD NT
Definition: winbugcheck.h:60
INTSTATUS IntWinBcHandleBugCheck(void const *Detour)
Handles a Windows OS crash.This is the detour handle for the KeBugCheck2 32-bit Windows kernel API an...
Definition: winbugcheck.c:932
DWORD Unused2
Definition: winbugcheck.h:61
DWORD Unused3
Definition: winbugcheck.h:52
uint32_t DWORD
Definition: intro_types.h:49
DWORD Unused4
Definition: winbugcheck.h:50
DWORD PF
Definition: winbugcheck.h:49
DWORD ID
Definition: winbugcheck.h:67
union _EFLAGS * PEFLAGS
DWORD VF
Definition: winbugcheck.h:63
DWORD ZF
Definition: winbugcheck.h:53
DWORD AC
Definition: winbugcheck.h:64