| 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 */ |