|
1 #ifndef _WINSVC_H |
|
2 #define _WINSVC_H |
|
3 #if __GNUC__ >= 3 |
|
4 #pragma GCC system_header |
|
5 #endif |
|
6 |
|
7 #ifndef WINADVAPI |
|
8 #define WINADVAPI |
|
9 #endif |
|
10 |
|
11 #ifdef __cplusplus |
|
12 extern "C" { |
|
13 #endif |
|
14 #define SERVICES_ACTIVE_DATABASEA "ServicesActive" |
|
15 #define SERVICES_ACTIVE_DATABASEW L"ServicesActive" |
|
16 #define SERVICES_FAILED_DATABASEA "ServicesFailed" |
|
17 #define SERVICES_FAILED_DATABASEW L"ServicesFailed" |
|
18 #define SC_GROUP_IDENTIFIERA '+' |
|
19 #define SC_GROUP_IDENTIFIERW L'+' |
|
20 #define SC_MANAGER_ALL_ACCESS 0xf003f |
|
21 #define SC_MANAGER_CONNECT 1 |
|
22 #define SC_MANAGER_CREATE_SERVICE 2 |
|
23 #define SC_MANAGER_ENUMERATE_SERVICE 4 |
|
24 #define SC_MANAGER_LOCK 8 |
|
25 #define SC_MANAGER_QUERY_LOCK_STATUS 16 |
|
26 #define SC_MANAGER_MODIFY_BOOT_CONFIG 32 |
|
27 #define SERVICE_NO_CHANGE 0xffffffff |
|
28 #define SERVICE_STOPPED 1 |
|
29 #define SERVICE_START_PENDING 2 |
|
30 #define SERVICE_STOP_PENDING 3 |
|
31 #define SERVICE_RUNNING 4 |
|
32 #define SERVICE_CONTINUE_PENDING 5 |
|
33 #define SERVICE_PAUSE_PENDING 6 |
|
34 #define SERVICE_PAUSED 7 |
|
35 #define SERVICE_ACCEPT_STOP 1 |
|
36 #define SERVICE_ACCEPT_PAUSE_CONTINUE 2 |
|
37 #define SERVICE_ACCEPT_SHUTDOWN 4 |
|
38 #define SERVICE_ACCEPT_PARAMCHANGE 8 |
|
39 #define SERVICE_ACCEPT_NETBINDCHANGE 16 |
|
40 #define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 32 |
|
41 #define SERVICE_ACCEPT_POWEREVENT 64 |
|
42 #define SERVICE_ACCEPT_SESSIONCHANGE 128 |
|
43 #define SERVICE_CONTROL_STOP 1 |
|
44 #define SERVICE_CONTROL_PAUSE 2 |
|
45 #define SERVICE_CONTROL_CONTINUE 3 |
|
46 #define SERVICE_CONTROL_INTERROGATE 4 |
|
47 #define SERVICE_CONTROL_SHUTDOWN 5 |
|
48 #define SERVICE_CONTROL_PARAMCHANGE 6 |
|
49 #define SERVICE_CONTROL_NETBINDADD 7 |
|
50 #define SERVICE_CONTROL_NETBINDREMOVE 8 |
|
51 #define SERVICE_CONTROL_NETBINDENABLE 9 |
|
52 #define SERVICE_CONTROL_NETBINDDISABLE 10 |
|
53 #define SERVICE_CONTROL_DEVICEEVENT 11 |
|
54 #define SERVICE_CONTROL_HARDWAREPROFILECHANGE 12 |
|
55 #define SERVICE_CONTROL_POWEREVENT 13 |
|
56 #define SERVICE_CONTROL_SESSIONCHANGE 14 |
|
57 #define SERVICE_ACTIVE 1 |
|
58 #define SERVICE_INACTIVE 2 |
|
59 #define SERVICE_STATE_ALL 3 |
|
60 #define SERVICE_QUERY_CONFIG 1 |
|
61 #define SERVICE_CHANGE_CONFIG 2 |
|
62 #define SERVICE_QUERY_STATUS 4 |
|
63 #define SERVICE_ENUMERATE_DEPENDENTS 8 |
|
64 #define SERVICE_START 16 |
|
65 #define SERVICE_STOP 32 |
|
66 #define SERVICE_PAUSE_CONTINUE 64 |
|
67 #define SERVICE_INTERROGATE 128 |
|
68 #define SERVICE_USER_DEFINED_CONTROL 256 |
|
69 #define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS|SERVICE_ENUMERATE_DEPENDENTS|SERVICE_START|SERVICE_STOP|SERVICE_PAUSE_CONTINUE|SERVICE_INTERROGATE|SERVICE_USER_DEFINED_CONTROL) |
|
70 #define SERVICE_RUNS_IN_SYSTEM_PROCESS 1 |
|
71 #define SERVICE_CONFIG_DESCRIPTION 1 |
|
72 #define SERVICE_CONFIG_FAILURE_ACTIONS 2 |
|
73 |
|
74 typedef struct _SERVICE_STATUS { |
|
75 DWORD dwServiceType; |
|
76 DWORD dwCurrentState; |
|
77 DWORD dwControlsAccepted; |
|
78 DWORD dwWin32ExitCode; |
|
79 DWORD dwServiceSpecificExitCode; |
|
80 DWORD dwCheckPoint; |
|
81 DWORD dwWaitHint; |
|
82 } SERVICE_STATUS,*LPSERVICE_STATUS; |
|
83 typedef struct _SERVICE_STATUS_PROCESS { |
|
84 DWORD dwServiceType; |
|
85 DWORD dwCurrentState; |
|
86 DWORD dwControlsAccepted; |
|
87 DWORD dwWin32ExitCode; |
|
88 DWORD dwServiceSpecificExitCode; |
|
89 DWORD dwCheckPoint; |
|
90 DWORD dwWaitHint; |
|
91 DWORD dwProcessId; |
|
92 DWORD dwServiceFlags; |
|
93 } SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS; |
|
94 typedef enum _SC_STATUS_TYPE { |
|
95 SC_STATUS_PROCESS_INFO = 0 |
|
96 } SC_STATUS_TYPE; |
|
97 typedef enum _SC_ENUM_TYPE { |
|
98 SC_ENUM_PROCESS_INFO = 0 |
|
99 } SC_ENUM_TYPE; |
|
100 typedef struct _ENUM_SERVICE_STATUSA { |
|
101 LPSTR lpServiceName; |
|
102 LPSTR lpDisplayName; |
|
103 SERVICE_STATUS ServiceStatus; |
|
104 } ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA; |
|
105 typedef struct _ENUM_SERVICE_STATUSW { |
|
106 LPWSTR lpServiceName; |
|
107 LPWSTR lpDisplayName; |
|
108 SERVICE_STATUS ServiceStatus; |
|
109 } ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW; |
|
110 typedef struct _ENUM_SERVICE_STATUS_PROCESSA { |
|
111 LPSTR lpServiceName; |
|
112 LPSTR lpDisplayName; |
|
113 SERVICE_STATUS_PROCESS ServiceStatusProcess; |
|
114 } ENUM_SERVICE_STATUS_PROCESSA,*LPENUM_SERVICE_STATUS_PROCESSA; |
|
115 typedef struct _ENUM_SERVICE_STATUS_PROCESSW { |
|
116 LPWSTR lpServiceName; |
|
117 LPWSTR lpDisplayName; |
|
118 SERVICE_STATUS_PROCESS ServiceStatusProcess; |
|
119 } ENUM_SERVICE_STATUS_PROCESSW,*LPENUM_SERVICE_STATUS_PROCESSW; |
|
120 typedef struct _QUERY_SERVICE_CONFIGA { |
|
121 DWORD dwServiceType; |
|
122 DWORD dwStartType; |
|
123 DWORD dwErrorControl; |
|
124 LPSTR lpBinaryPathName; |
|
125 LPSTR lpLoadOrderGroup; |
|
126 DWORD dwTagId; |
|
127 LPSTR lpDependencies; |
|
128 LPSTR lpServiceStartName; |
|
129 LPSTR lpDisplayName; |
|
130 } QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA; |
|
131 typedef struct _QUERY_SERVICE_CONFIGW { |
|
132 DWORD dwServiceType; |
|
133 DWORD dwStartType; |
|
134 DWORD dwErrorControl; |
|
135 LPWSTR lpBinaryPathName; |
|
136 LPWSTR lpLoadOrderGroup; |
|
137 DWORD dwTagId; |
|
138 LPWSTR lpDependencies; |
|
139 LPWSTR lpServiceStartName; |
|
140 LPWSTR lpDisplayName; |
|
141 } QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW; |
|
142 typedef struct _QUERY_SERVICE_LOCK_STATUSA { |
|
143 DWORD fIsLocked; |
|
144 LPSTR lpLockOwner; |
|
145 DWORD dwLockDuration; |
|
146 } QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA; |
|
147 typedef struct _QUERY_SERVICE_LOCK_STATUSW { |
|
148 DWORD fIsLocked; |
|
149 LPWSTR lpLockOwner; |
|
150 DWORD dwLockDuration; |
|
151 } QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW; |
|
152 typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*); |
|
153 typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*); |
|
154 typedef struct _SERVICE_TABLE_ENTRYA { |
|
155 LPSTR lpServiceName; |
|
156 LPSERVICE_MAIN_FUNCTIONA lpServiceProc; |
|
157 } SERVICE_TABLE_ENTRYA,*LPSERVICE_TABLE_ENTRYA; |
|
158 typedef struct _SERVICE_TABLE_ENTRYW { |
|
159 LPWSTR lpServiceName; |
|
160 LPSERVICE_MAIN_FUNCTIONW lpServiceProc; |
|
161 } SERVICE_TABLE_ENTRYW,*LPSERVICE_TABLE_ENTRYW; |
|
162 DECLARE_HANDLE(SC_HANDLE); |
|
163 typedef SC_HANDLE *LPSC_HANDLE; |
|
164 typedef PVOID SC_LOCK; |
|
165 typedef DWORD SERVICE_STATUS_HANDLE; |
|
166 typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD); |
|
167 typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID); |
|
168 typedef struct _SERVICE_DESCRIPTIONA { |
|
169 LPSTR lpDescription; |
|
170 } SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA; |
|
171 typedef struct _SERVICE_DESCRIPTIONW { |
|
172 LPWSTR lpDescription; |
|
173 } SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW; |
|
174 typedef enum _SC_ACTION_TYPE { |
|
175 SC_ACTION_NONE = 0, |
|
176 SC_ACTION_RESTART = 1, |
|
177 SC_ACTION_REBOOT = 2, |
|
178 SC_ACTION_RUN_COMMAND = 3 |
|
179 } SC_ACTION_TYPE; |
|
180 typedef struct _SC_ACTION { |
|
181 SC_ACTION_TYPE Type; |
|
182 DWORD Delay; |
|
183 } SC_ACTION,*LPSC_ACTION; |
|
184 typedef struct _SERVICE_FAILURE_ACTIONSA { |
|
185 DWORD dwResetPeriod; |
|
186 LPSTR lpRebootMsg; |
|
187 LPSTR lpCommand; |
|
188 DWORD cActions; |
|
189 SC_ACTION * lpsaActions; |
|
190 } SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA; |
|
191 typedef struct _SERVICE_FAILURE_ACTIONSW { |
|
192 DWORD dwResetPeriod; |
|
193 LPWSTR lpRebootMsg; |
|
194 LPWSTR lpCommand; |
|
195 DWORD cActions; |
|
196 SC_ACTION * lpsaActions; |
|
197 } SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW; |
|
198 |
|
199 WINADVAPI BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR); |
|
200 WINADVAPI BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); |
|
201 WINADVAPI BOOL WINAPI ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID); |
|
202 WINADVAPI BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID); |
|
203 WINADVAPI BOOL WINAPI CloseServiceHandle(SC_HANDLE); |
|
204 WINADVAPI BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS); |
|
205 WINADVAPI SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR); |
|
206 WINADVAPI SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,PDWORD,LPCWSTR,LPCWSTR,LPCWSTR); |
|
207 WINADVAPI BOOL WINAPI DeleteService(SC_HANDLE); |
|
208 WINADVAPI BOOL WINAPI EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD); |
|
209 WINADVAPI BOOL WINAPI EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD); |
|
210 WINADVAPI BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD,PDWORD); |
|
211 WINADVAPI BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD,PDWORD); |
|
212 WINADVAPI BOOL WINAPI EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR); |
|
213 WINADVAPI BOOL WINAPI EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR); |
|
214 WINADVAPI BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD); |
|
215 WINADVAPI BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD); |
|
216 WINADVAPI BOOL WINAPI GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD); |
|
217 WINADVAPI BOOL WINAPI GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD); |
|
218 WINADVAPI SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE); |
|
219 WINADVAPI BOOL WINAPI NotifyBootConfigStatus(BOOL); |
|
220 WINADVAPI SC_HANDLE WINAPI OpenSCManagerA(LPCSTR,LPCSTR,DWORD); |
|
221 WINADVAPI SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD); |
|
222 WINADVAPI SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD); |
|
223 WINADVAPI SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD); |
|
224 WINADVAPI BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD); |
|
225 WINADVAPI BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD); |
|
226 WINADVAPI BOOL WINAPI QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD); |
|
227 WINADVAPI BOOL WINAPI QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD); |
|
228 WINADVAPI BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD); |
|
229 WINADVAPI BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD); |
|
230 WINADVAPI BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD); |
|
231 WINADVAPI BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS); |
|
232 WINADVAPI BOOL WINAPI QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD); |
|
233 WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION); |
|
234 WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION); |
|
235 WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR,LPHANDLER_FUNCTION_EX,LPVOID); |
|
236 WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR,LPHANDLER_FUNCTION_EX,LPVOID); |
|
237 WINADVAPI BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); |
|
238 WINADVAPI BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS); |
|
239 WINADVAPI BOOL WINAPI StartServiceA(SC_HANDLE,DWORD,LPCSTR*); |
|
240 WINADVAPI BOOL WINAPI StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA); |
|
241 WINADVAPI BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW); |
|
242 WINADVAPI BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR*); |
|
243 WINADVAPI BOOL WINAPI UnlockServiceDatabase(SC_LOCK); |
|
244 |
|
245 #ifdef UNICODE |
|
246 typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS; |
|
247 typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS; |
|
248 typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS; |
|
249 typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG; |
|
250 typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS; |
|
251 typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY; |
|
252 typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION; |
|
253 typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION; |
|
254 typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION; |
|
255 typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS; |
|
256 typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS; |
|
257 #define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW |
|
258 #define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW |
|
259 #define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW |
|
260 #define ChangeServiceConfig ChangeServiceConfigW |
|
261 #define ChangeServiceConfig2 ChangeServiceConfig2W |
|
262 #define CreateService CreateServiceW |
|
263 #define EnumDependentServices EnumDependentServicesW |
|
264 #define EnumServicesStatus EnumServicesStatusW |
|
265 #define EnumServicesStatusEx EnumServicesStatusExW |
|
266 #define GetServiceDisplayName GetServiceDisplayNameW |
|
267 #define GetServiceKeyName GetServiceKeyNameW |
|
268 #define OpenSCManager OpenSCManagerW |
|
269 #define OpenService OpenServiceW |
|
270 #define QueryServiceConfig QueryServiceConfigW |
|
271 #define QueryServiceConfig2 QueryServiceConfig2W |
|
272 #define QueryServiceLockStatus QueryServiceLockStatusW |
|
273 #define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW |
|
274 #define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExW |
|
275 #define StartService StartServiceW |
|
276 #define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW |
|
277 #else |
|
278 typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS; |
|
279 typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS; |
|
280 typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS; |
|
281 typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG; |
|
282 typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS; |
|
283 typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY; |
|
284 typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION; |
|
285 typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION; |
|
286 typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION; |
|
287 typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS; |
|
288 typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS; |
|
289 #define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA |
|
290 #define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA |
|
291 #define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA |
|
292 #define ChangeServiceConfig ChangeServiceConfigA |
|
293 #define ChangeServiceConfig2 ChangeServiceConfig2A |
|
294 #define CreateService CreateServiceA |
|
295 #define EnumDependentServices EnumDependentServicesA |
|
296 #define EnumServicesStatus EnumServicesStatusA |
|
297 #define EnumServicesStatusEx EnumServicesStatusExA |
|
298 #define GetServiceDisplayName GetServiceDisplayNameA |
|
299 #define GetServiceKeyName GetServiceKeyNameA |
|
300 #define OpenSCManager OpenSCManagerA |
|
301 #define OpenService OpenServiceA |
|
302 #define QueryServiceConfig QueryServiceConfigA |
|
303 #define QueryServiceConfig2 QueryServiceConfig2A |
|
304 #define QueryServiceLockStatus QueryServiceLockStatusA |
|
305 #define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA |
|
306 #define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA |
|
307 #define StartService StartServiceA |
|
308 #define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA |
|
309 #endif |
|
310 #ifdef __cplusplus |
|
311 } |
|
312 #endif |
|
313 #endif /* _WINSVC_H */ |