Bitdefender Hypervisor Memory Introspection
winhal.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020 Bitdefender
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 #ifndef _WINHAL_H_
6 #define _WINHAL_H_
7 
8 #include "introtypes.h"
9 
13 typedef struct _WIN_HAL_DATA
14 {
21 
26 
29 
37 
38 
41  void
42  );
43 
44 void
46  void
47  );
48 
51  void
52  );
53 
56  void
57  );
58 
61  void
62  );
63 
66  void
67  );
68 
71  void
72  );
73 
76  void
77  );
78 
81  void
82  );
83 
84 #endif // _WINHAL_H_
INTSTATUS IntWinHalUnprotectHalHeapExecs(void)
Deactivates the HAL heap execution protection.
Definition: winhal.c:656
struct _WIN_HAL_DATA * PWIN_HAL_DATA
INTSTATUS IntWinHalProtectHalIntCtrl(void)
Protects the HAL interrupt controller against writes.
Definition: winhal.c:681
INTSTATUS IntWinHalCreateHalData(void)
Initializes gHalData.
Definition: winhal.c:1258
void IntWinHalUninit(void)
Frees any resources held by gHalData and removes all the HAL protections.
Definition: winhal.c:1445
int INTSTATUS
The status data type.
Definition: introstatus.h:24
Describes a kernel driver.
Definition: drivers.h:30
INTSTATUS IntWinHalProtectHalDispatchTable(void)
Activates the HAL dispatch table protection.
Definition: winhal.c:758
void * HalIntCtrlWriteHook
The HAL interrupt controller write hook object.
Definition: winhal.h:33
INTSTATUS IntWinHalUnprotectHalDispatchTable(void)
Deactivates the HAL dispatch table protection.
Definition: winhal.c:801
DWORD HalHeapSize
The size of the HAL heap.
Definition: winhal.h:20
void * HalDispatchIntegrityHook
The HAL dispatch table integrity hook object.
Definition: winhal.h:35
unsigned long long QWORD
Definition: intro_types.h:53
struct _WIN_HAL_DATA WIN_HAL_DATA
Hal information.
INTSTATUS IntWinHalUnprotectHalIntCtrl(void)
Deactivates the HAL interrupt controller write protection.
Definition: winhal.c:733
QWORD HalHeapAddress
The guest virtual address of the HAL heap.
Definition: winhal.h:16
uint32_t DWORD
Definition: intro_types.h:49
DWORD HalDispatchTableSize
The size of the HAL dispatch table.
Definition: winhal.h:25
KERNEL_DRIVER * OwnerHalModule
The hal.dll kernel module or ntoskrnl.exe.
Definition: winhal.h:28
INTSTATUS IntWinHalUpdateProtection(void)
Updates any of the HAL protections.
Definition: winhal.c:1385
QWORD HalDispatchTableAddress
The guest virtual address of the HAL dispatch table.
Definition: winhal.h:23
QWORD HalIntCtrlAddress
The guest virtual address of the HAL interrupt controller.
Definition: winhal.h:18
Hal information.
Definition: winhal.h:13
void * HalHeapExecHook
The HAL heap execution hook object.
Definition: winhal.h:31
INTSTATUS IntWinHalProtectHalHeapExecs(void)
Hooks the HAL heap against execution.
Definition: winhal.c:562