forked from zxd1994/vt-debuuger
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNtapi.h
128 lines (109 loc) · 3.13 KB
/
Ntapi.h
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#pragma once
//#include <ntddk.h>
#ifndef _NTIFS_H
#define _NTIFS_H
#include <ntifs.h>
#endif // !_NTIFS_H
#include "KernelDbgStruct.h"
#include "Ntenums.h"
extern "C"
{
VOID NTAPI KeGenericCallDpc
(
_In_ PKDEFERRED_ROUTINE Routine,
_In_ PVOID Context
);
VOID NTAPI KeSignalCallDpcDone
(
_In_ PVOID SystemArgument1
);
BOOLEAN NTAPI KeSignalCallDpcSynchronize
(
_In_ PVOID SystemArgument2
);
//NTKERNELAPI VOID KeStackAttachProcess
//(
// _Inout_ PRKPROCESS PROCESS,
// _Out_ PRKAPC_STATE ApcState
//);
//NTKERNELAPI VOID KeUnstackDetachProcess
//(
// _In_ PRKAPC_STATE ApcState
//);
NTKERNELAPI NTSTATUS NTAPI ZwQuerySystemInformation
(
IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
OUT PVOID SystemInformation,
IN ULONG SystemInformationLength,
OUT PULONG ReturnLength OPTIONAL
);
NTSTATUS NTAPI MmCopyVirtualMemory
(
PEPROCESS SourceProcess,
PVOID SourceAddress,
PEPROCESS TargetProcess,
PVOID TargetAddress,
SIZE_T BufferSize,
KPROCESSOR_MODE PreviousMode,
PSIZE_T ReturnSize
);
NTKERNELAPI PVOID NTAPI PsGetProcessWow64Process
(
IN PEPROCESS Process
);
NTKERNELAPI PPEB NTAPI PsGetProcessPeb
(
IN PEPROCESS Process
);
NTSYSAPI NTSTATUS NTAPI ObReferenceObjectByName
(
PUNICODE_STRING ObjectName,
ULONG Attributes,
PACCESS_STATE AccessState,
ACCESS_MASK DesiredAccess,
POBJECT_TYPE ObjectType,
KPROCESSOR_MODE AccessMode,
PVOID ParseContext OPTIONAL,
PVOID* Object
);
NTSYSAPI UCHAR* NTAPI PsGetProcessImageFileName(PEPROCESS Process);
NTSYSAPI NTSTATUS NTAPI ZwQueryInformationJobObject(
HANDLE JobHandle,
JOBOBJECTINFOCLASS JobInformationClass,
PVOID JobInformation,
ULONG JobInformationLength,
PULONG ReturnLength
);
NTSTATUS NTAPI ZwQueryInformationProcess(
HANDLE ProcessHandle,
PROCESSINFOCLASS ProcessInformationClass,
PVOID ProcessInformation,
ULONG ProcessInformationLength,
PULONG ReturnLength
);
BOOLEAN NTAPI ObFindHandleForObject(
__in PEPROCESS Process,
__in_opt PVOID Object OPTIONAL,
__in_opt POBJECT_TYPE ObjectType OPTIONAL,
__in_opt POBJECT_HANDLE_INFORMATION HandleInformation,
__out PHANDLE Handle
);
NTSTATUS NTAPI ZwSetInformationProcess(
HANDLE ProcessHandle,
PROCESSINFOCLASS ProcessInformationClass,
PVOID ProcessInformation,
ULONG ProcessInformationLength
);
BOOLEAN NTAPI PsIsProcessBeingDebugged(PEPROCESS Process);
HANDLE NTAPI
PsGetProcessInheritedFromUniqueProcessId(
__in PEPROCESS Process
);
PVOID NTAPI PsGetCurrentProcessWow64Process();
NTSTATUS
PsGetContextThread(
__in PETHREAD Thread,
__inout PCONTEXT ThreadContext,
__in KPROCESSOR_MODE Mode
);
}