CommonLibVR
Loading...
Searching...
No Matches
NT.h
Go to the documentation of this file.
1#pragma once
2
3#include "REX/W32/BASE.h"
4
5namespace REX::W32
6{
7 struct EXCEPTION_REGISTRATION_RECORD;
8 struct PEB_LDR_DATA;
9 struct RTL_USER_PROCESS_PARAMETERS;
10 struct UNICODE_STRING;
11
12 using PS_POST_PROCESS_INIT_ROUTINE = void (*)();
13
15 {
18 };
19
20 struct NT_TIB
21 {
22 EXCEPTION_REGISTRATION_RECORD* exceptionList;
23 void* stackBase;
26 union
27 {
28 void* fiberData;
29 std::uint32_t version;
30 };
32 struct NT_TIB* self;
33 };
34
35 struct PEB
36 {
37 std::byte reserved1[2];
38 std::byte beingDebugged;
39 std::byte reserved2[1];
40 void* reserved3[2];
43 void* reserved4[3];
45 void* reserved5;
46 std::uint32_t reserved6;
47 void* reserved7;
48 std::uint32_t reserved8;
49 std::uint32_t atlThunkSListPtr32;
50 void* reserved9[45];
51 std::byte reserved10[96];
53 std::byte reserved11[128];
54 void* reserved12[1];
55 std::uint32_t sessionID;
56 };
57
64
72
73 struct TEB
74 {
75 void* reserved1[11];
78 void* reserved2[399];
79 std::byte reserved3[1952];
80 void* tlsSlots[64];
81 std::byte reserved4[8];
82 void* reserved5[26];
84 void* reserved6[4];
86 };
87}
88
89namespace REX::W32
90{
91 TEB* NtCurrentTeb() noexcept;
92}
Definition BSDirectInputManager.h:8
TEB * NtCurrentTeb() noexcept
void(*)() PS_POST_PROCESS_INIT_ROUTINE
Definition NT.h:12
Definition NT.h:15
struct LIST_ENTRY * bLink
Definition NT.h:17
struct LIST_ENTRY * fLink
Definition NT.h:16
Definition NT.h:21
std::uint32_t version
Definition NT.h:29
void * arbitraryUserPointer
Definition NT.h:31
void * stackLimit
Definition NT.h:24
void * stackBase
Definition NT.h:23
void * fiberData
Definition NT.h:28
void * subSystemTib
Definition NT.h:25
struct NT_TIB * self
Definition NT.h:32
EXCEPTION_REGISTRATION_RECORD * exceptionList
Definition NT.h:22
Definition NT.h:59
void * reserved2[3]
Definition NT.h:61
LIST_ENTRY inMemoryOrderModuleList
Definition NT.h:62
std::byte reserved1[8]
Definition NT.h:60
Definition NT.h:36
void * reserved5
Definition NT.h:45
void * reserved7
Definition NT.h:47
void * reserved3[2]
Definition NT.h:40
std::byte reserved1[2]
Definition NT.h:37
std::uint32_t reserved6
Definition NT.h:46
std::uint32_t sessionID
Definition NT.h:55
PEB_LDR_DATA * ldr
Definition NT.h:41
void * reserved12[1]
Definition NT.h:54
std::byte reserved2[1]
Definition NT.h:39
std::uint32_t reserved8
Definition NT.h:48
PS_POST_PROCESS_INIT_ROUTINE postProcessInitRoutine
Definition NT.h:52
std::byte reserved10[96]
Definition NT.h:51
void * atlThunkSListPtr
Definition NT.h:44
std::byte beingDebugged
Definition NT.h:38
void * reserved4[3]
Definition NT.h:43
void * reserved9[45]
Definition NT.h:50
std::byte reserved11[128]
Definition NT.h:53
RTL_USER_PROCESS_PARAMETERS * processParameters
Definition NT.h:42
std::uint32_t atlThunkSListPtr32
Definition NT.h:49
void * reserved2[10]
Definition NT.h:68
UNICODE_STRING commandLine
Definition NT.h:70
UNICODE_STRING imagePathName
Definition NT.h:69
std::byte reserved1[16]
Definition NT.h:67
Definition NT.h:74
void * reserved6[4]
Definition NT.h:84
std::byte reserved3[1952]
Definition NT.h:79
void * reserved5[26]
Definition NT.h:82
std::byte reserved4[8]
Definition NT.h:81
PEB * processEnvironmentBlock
Definition NT.h:77
void * tlsSlots[64]
Definition NT.h:80
void * tlsExpansionSlots
Definition NT.h:85
void * reservedForOle
Definition NT.h:83
void * reserved2[399]
Definition NT.h:78
void * reserved1[11]
Definition NT.h:75
void * threadLocalStoragePointer
Definition NT.h:76
Definition BASE.h:179