Process Hacker
extsrv.h
Go to the documentation of this file.
1 #ifndef ES_EXTSRV_H
2 #define ES_EXTSRV_H
3 
4 // main
5 
6 typedef NTSTATUS (NTAPI *_RtlCreateServiceSid)(
8  _Out_writes_bytes_opt_(*ServiceSidLength) PSID ServiceSid,
9  _Inout_ PULONG ServiceSidLength
10  );
11 
14 
15 #define PLUGIN_NAME L"ProcessHacker.ExtendedServices"
16 #define SETTING_NAME_ENABLE_SERVICES_MENU (PLUGIN_NAME L".EnableServicesMenu")
17 
18 // depend
19 
20 LPENUM_SERVICE_STATUS EsEnumDependentServices(
21  _In_ SC_HANDLE ServiceHandle,
22  _In_opt_ ULONG State,
23  _Out_ PULONG Count
24  );
25 
26 INT_PTR CALLBACK EspServiceDependenciesDlgProc(
27  _In_ HWND hwndDlg,
28  _In_ UINT uMsg,
29  _In_ WPARAM wParam,
30  _In_ LPARAM lParam
31  );
32 
33 INT_PTR CALLBACK EspServiceDependentsDlgProc(
34  _In_ HWND hwndDlg,
35  _In_ UINT uMsg,
36  _In_ WPARAM wParam,
37  _In_ LPARAM lParam
38  );
39 
40 // options
41 
43  _In_ HWND ParentWindowHandle
44  );
45 
46 // other
47 
48 INT_PTR CALLBACK EspServiceOtherDlgProc(
49  _In_ HWND hwndDlg,
50  _In_ UINT uMsg,
51  _In_ WPARAM wParam,
52  _In_ LPARAM lParam
53  );
54 
55 // recovery
56 
57 INT_PTR CALLBACK EspServiceRecoveryDlgProc(
58  _In_ HWND hwndDlg,
59  _In_ UINT uMsg,
60  _In_ WPARAM wParam,
61  _In_ LPARAM lParam
62  );
63 
64 INT_PTR CALLBACK EspServiceRecovery2DlgProc(
65  _In_ HWND hwndDlg,
66  _In_ UINT uMsg,
67  _In_ WPARAM wParam,
68  _In_ LPARAM lParam
69  );
70 
71 // srvprgrs
72 
74  _In_ HWND hWnd,
75  _In_ PPH_SERVICE_ITEM ServiceItem,
76  _In_ SC_HANDLE ServiceHandle
77  );
78 
79 // trigger
80 
81 struct _ES_TRIGGER_CONTEXT;
82 
83 struct _ES_TRIGGER_CONTEXT *EsCreateServiceTriggerContext(
84  _In_ PPH_SERVICE_ITEM ServiceItem,
85  _In_ HWND WindowHandle,
86  _In_ HWND TriggersLv
87  );
88 
90  _In_ struct _ES_TRIGGER_CONTEXT *Context
91  );
92 
94  _In_ struct _ES_TRIGGER_CONTEXT *Context,
95  _In_ SC_HANDLE ServiceHandle
96  );
97 
99  _In_ struct _ES_TRIGGER_CONTEXT *Context,
100  _Out_ PULONG Win32Result
101  );
102 
103 #define ES_TRIGGER_EVENT_NEW 1
104 #define ES_TRIGGER_EVENT_EDIT 2
105 #define ES_TRIGGER_EVENT_DELETE 3
106 #define ES_TRIGGER_EVENT_SELECTIONCHANGED 4
107 
109  _In_ struct _ES_TRIGGER_CONTEXT *Context,
110  _In_ ULONG Event
111  );
112 
113 // triggpg
114 
115 INT_PTR CALLBACK EspServiceTriggersDlgProc(
116  _In_ HWND hwndDlg,
117  _In_ UINT uMsg,
118  _In_ WPARAM wParam,
119  _In_ LPARAM lParam
120  );
121 
122 #endif