-
Notifications
You must be signed in to change notification settings - Fork 271
/
ntalpc.h
184 lines (163 loc) · 5.64 KB
/
ntalpc.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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/****************************************************************************
****************************************************************************
***
*** This header was created to make information necessary for userspace
*** to call into the Windows kernel available to Dr. Memory. It contains
*** only constants, structures, and macros, and thus, contains no
*** copyrightable information.
***
****************************************************************************
****************************************************************************/
NTSTATUS NTAPI
NtAlpcAcceptConnectPort(
__out PHANDLE PortHandle,
__in HANDLE ConnectionPortHandle,
__in ULONG Flags,
__in POBJECT_ATTRIBUTES ObjectAttributes,
__in PALPC_PORT_ATTRIBUTES PortAttributes,
__in_opt PVOID PortContext, // opaque value
__in PPORT_MESSAGE ConnectionRequest,
__inout_opt PALPC_MESSAGE_ATTRIBUTES MessageAttributes,
__in BOOLEAN AcceptConnection
);
NTSTATUS NTAPI
NtAlpcCancelMessage(
__in HANDLE PortHandle,
__in ULONG Flags,
__in ALPC_CONTEXT_ATTRIBUTES MessageContext
);
NTSTATUS NTAPI
NtAlpcConnectPort(
__out PHANDLE PortHandle,
__in PUNICODE_STRING PortName,
__in POBJECT_ATTRIBUTES ObjectAttributes,
__in_opt PALPC_PORT_ATTRIBUTES PortAttributes,
__in ULONG Flags,
__in_opt PSID Sid,
__inout PPORT_MESSAGE ConnectionMessage,
__inout_opt PULONG BufferLength,
__inout_opt PALPC_MESSAGE_ATTRIBUTES OutMessageAttributes,
__inout_opt PALPC_MESSAGE_ATTRIBUTES InMessageAttributes,
__in_opt PLARGE_INTEGER Timeout
);
NTSTATUS NTAPI
NtAlpcCreatePort(
__out PHANDLE PortHandle,
__in POBJECT_ATTRIBUTES ObjectAttributes,
__in_opt PALPC_PORT_ATTRIBUTES PortAttributes
);
NTSTATUS NTAPI
NtAlpcCreatePortSection(
__in HANDLE PortHandle,
__in ULONG Flags,
__in_opt HANDLE SectionHandle,
__in ULONG SectionSize,
__out PHANDLE AlpcSectionHandle,
__out PULONG ActualSectionSize
);
NTSTATUS NTAPI
NtAlpcCreateResourceReserve(
__in HANDLE PortHandle,
__reserved ULONG Flags,
__in SIZE_T MessageSize,
__out PHANDLE ResourceID
);
NTSTATUS NTAPI
NtAlpcCreateSectionView(
__in HANDLE PortHandle,
__reserved ULONG Flags,
__inout PALPC_DATA_VIEW ViewAttrbutes
);
NTSTATUS NTAPI
NtAlpcCreateSecurityContext(
__in HANDLE PortHandle,
__reserved ULONG Flags,
__inout PALPC_SECURITY_ATTRIBUTES SecurityAttribute
);
NTSTATUS NTAPI
NtAlpcDeletePortSection(
__in HANDLE PortHandle,
__reserved ULONG Flags,
__in HANDLE SectionHandle
);
NTSTATUS NTAPI
NtAlpcDeleteResourceReserve(
__in HANDLE PortHandle,
__reserved ULONG Flags,
__in HANDLE ResourceID
);
NTSTATUS NTAPI
NtAlpcDeleteSectionView(
__in HANDLE PortHandle,
__reserved ULONG Flags,
__in PVOID ViewBase
);
NTSTATUS NTAPI
NtAlpcDeleteSecurityContext(
__in HANDLE PortHandle,
__reserved ULONG Flags,
__in HANDLE ContextHandle
);
NTSTATUS NTAPI
NtAlpcDisconnectPort(
__in HANDLE PortHandle,
__in ULONG Flags
);
NTSTATUS NTAPI
NtAlpcImpersonateClientOfPort(
__in HANDLE PortHandle,
__in PPORT_MESSAGE PortMessage,
__reserved PVOID Reserved
);
NTSTATUS NTAPI
NtAlpcOpenSenderProcess(
__out HANDLE ProcessHandle,
__in HANDLE PortHandle,
__in PPORT_MESSAGE PortMessage,
__reserved ULONG Flags,
__in ACCESS_MASK Access,
__in POBJECT_ATTRIBUTES ObjectAttribute
);
NTSTATUS NTAPI
NtAlpcOpenSenderThread(
__out HANDLE ThreadHandle,
__in HANDLE PortHandle,
__in PPORT_MESSAGE PortMessage,
__reserved ULONG Flags,
__in ACCESS_MASK Access,
__in POBJECT_ATTRIBUTES ObjectAttributes
);
NTSTATUS NTAPI
NtAlpcQueryInformation(
__in HANDLE PortHandle,
__in ALPC_PORT_INFORMATION_CLASS PortInformationClass,
__out_bcount(Length) PVOID PortInformation,
__in ULONG Length,
__out_opt PULONG ReturnLength
);
NTSTATUS NTAPI
NtAlpcQueryInformationMessage(
__in HANDLE PortHandle,
__in PPORT_MESSAGE PortMessage,
__in ALPC_MESSAGE_INFORMATION_CLASS MessageInformationClass,
__out_bcount(Length) PVOID MessageInformation,
__in ULONG Length,
__out_opt PULONG ReturnLength
);
NTSTATUS NTAPI
NtAlpcRevokeSecurityContext(
__in HANDLE PortHandle,
__reserved ULONG Flags,
__in HANDLE ContextHandle
);
NTSTATUS NTAPI
NtAlpcSendWaitReceivePort(
__in HANDLE PortHandle,
__in ULONG Flags,
__in_opt PPORT_MESSAGE SendMessage,
__inout_opt PALPC_MESSAGE_ATTRIBUTES SendMessageAttributes,
__inout_opt PPORT_MESSAGE ReceiveMessage,
__inout_opt PULONG BufferLength,
__inout_opt PALPC_MESSAGE_ATTRIBUTES ReceiveMessageAttributes,
__in_opt PLARGE_INTEGER TimeOut
);