Process Hacker
phsvcapi.h
Go to the documentation of this file.
1 #ifndef PH_PHSVCAPI_H
2 #define PH_PHSVCAPI_H
3 
4 #define PHSVC_PORT_NAME (L"\\BaseNamedObjects\\PhSvcApiPort")
5 #define PHSVC_WOW64_PORT_NAME (L"\\BaseNamedObjects\\PhSvcWow64ApiPort")
6 
7 typedef enum _PHSVC_API_NUMBER
8 {
26  PhSvcLoadDbgHelpApiNumber = 18, // WOW64 compatible
27  PhSvcWriteMiniDumpProcessApiNumber = 19, // WOW64 compatible
30 
31 typedef struct _PHSVC_API_CONNECTINFO
32 {
35 
36 typedef union _PHSVC_API_PLUGIN
37 {
38  struct
39  {
41  ULONG Data[30];
42  } i;
43  struct
44  {
45  ULONG Data[32];
46  } o;
48 
50 {
51  struct
52  {
53  ULONG ProcessId;
56  ULONG LogonType;
57  ULONG SessionId;
62  BOOLEAN UseLinkedToken;
64  } i;
66 
68 {
69  struct
70  {
71  PVOID BaseAddress;
73  } i;
75 
77 {
84 
86 {
87  struct
88  {
89  HANDLE ProcessId;
91  ULONG Argument;
92  } i;
94 
96 {
103 
105 {
106  struct
107  {
110  } i;
112 
114 {
115  struct
116  {
117  // ServiceName is the only required string.
120  ULONG ServiceType;
121  ULONG StartType;
128  BOOLEAN TagIdSpecified;
129  } i;
130  struct
131  {
132  ULONG TagId;
133  } o;
135 
137 {
138  struct
139  {
141  ULONG ServiceType;
142  ULONG StartType;
150  BOOLEAN TagIdSpecified;
151  } i;
152  struct
153  {
154  ULONG TagId;
155  } o;
157 
159 {
160  struct
161  {
163  ULONG InfoLevel;
165  } i;
167 
169 {
170  struct
171  {
172  ULONG State;
174  ULONG LocalPort;
176  ULONG RemotePort;
177  } i;
179 
181 {
187 
189 {
190  struct
191  {
192  HANDLE ThreadId;
194  ULONG Argument;
195  } i;
197 
199 {
200  struct
201  {
204  } i;
206 
208 {
209  struct
210  {
212  } i;
214 
216 {
217  struct
218  {
219  HWND hWnd;
220  UINT Msg;
221  WPARAM wParam;
222  LPARAM lParam;
223  } i;
225 
227 {
228  struct
229  {
231  } i;
233 
235 {
236  struct
237  {
239  SECURITY_INFORMATION SecurityInformation;
241  } i;
243 
245 {
246  struct
247  {
249  } i;
251 
253 {
254  struct
255  {
257  ULONG ProcessId;
259  ULONG DumpType;
260  } i;
262 
263 typedef union _PHSVC_API_PAYLOAD
264 {
266  struct
267  {
269  NTSTATUS ReturnStatus;
270 
271  union
272  {
290  } u;
291  };
293 
294 typedef struct _PHSVC_API_MSG
295 {
299 
300 typedef struct _PHSVC_API_MSG64
301 {
305 
306 C_ASSERT(FIELD_OFFSET(PHSVC_API_PAYLOAD, u) == 8);
309 
310 #endif