-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathFHook.h
More file actions
43 lines (37 loc) · 1.39 KB
/
FHook.h
File metadata and controls
43 lines (37 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once
#include "REX/BASE.h"
#include "REL/IHook.h"
namespace REL
{
class FHook :
public IHook
{
public:
FHook(const std::uintptr_t a_address);
FHook(const std::uintptr_t a_address, const char* a_name);
FHook(const std::uintptr_t a_address, const EHookType a_type);
FHook(const std::uintptr_t a_address, const EHookType a_type, const EHookStep a_step);
FHook(const std::uintptr_t a_address, const EHookStep a_step);
FHook(const std::uintptr_t a_address, const char* a_name, const EHookStep a_step);
FHook(const std::uintptr_t a_address, const char* a_name, const EHookType a_type);
FHook(const std::uintptr_t a_address, const char* a_name, const EHookType a_type, const EHookStep a_step);
~FHook();
virtual bool Init() override;
virtual FHookHandle GetHandle() const override;
virtual const char* GetName() const override;
virtual EHookType GetType() const override;
virtual EHookStep GetStep() const override;
virtual std::size_t GetSize() const override;
virtual std::size_t GetSizeTrampoline() const override;
virtual bool GetEnabled() const override;
protected:
std::uintptr_t m_address{ 0 };
std::string m_name;
FHookHandle m_handle;
EHookType m_type{ EHookType::None };
EHookStep m_step{ EHookStep::Load };
std::size_t m_size{ 8 };
std::size_t m_sizeTrampoline{ 0 };
bool m_enabled{ false };
};
}