VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/winsvc.h

最後變更 在這個檔案是 53206,由 vboxsync 提交於 10 年 前

Devices/vmsvga: header fixes

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 18.0 KB
 
1/*
2 * Copyright (C) the Wine project
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28#ifndef __WINE_WINSVC_H
29#define __WINE_WINSVC_H
30
31#ifdef __cplusplus
32extern "C" {
33#endif /* defined(__cplusplus) */
34
35#ifdef _ADVAPI32_
36#define WINADVAPI
37#else
38#define WINADVAPI DECLSPEC_IMPORT
39#endif
40
41/* Service database names */
42#define SERVICES_ACTIVE_DATABASEA "ServicesActive"
43#define SERVICES_FAILED_DATABASEA "ServicesFailed"
44
45#if defined(__GNUC__)
46# define SERVICES_ACTIVE_DATABASEW (const WCHAR []){ 'S','e','r','v','i','c','e','s','A','c','t','i','v','e',0 }
47# define SERVICES_FAILED_DATABASEW (const WCHAR []){ 'S','e','r','v','i','c','e','s','F','a','i','l','e','d',0 }
48#elif defined(_MSC_VER)
49# define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
50# define SERVICES_FAILED_DATABASEW L"ServicesFailed"
51#endif
52
53#define SERVICES_ACTIVE_DATABASE WINELIB_NAME_AW( SERVICES_ACTIVE_DATABASE )
54#define SERVICES_FAILED_DATABASE WINELIB_NAME_AW( SERVICES_FAILED_DATABASE )
55
56/* Service State requests */
57#define SERVICE_ACTIVE 0x00000001
58#define SERVICE_INACTIVE 0x00000002
59#define SERVICE_STATE_ALL (SERVICE_ACTIVE | SERVICE_INACTIVE)
60
61/* Controls */
62#define SERVICE_CONTROL_STOP 0x00000001
63#define SERVICE_CONTROL_PAUSE 0x00000002
64#define SERVICE_CONTROL_CONTINUE 0x00000003
65#define SERVICE_CONTROL_INTERROGATE 0x00000004
66#define SERVICE_CONTROL_SHUTDOWN 0x00000005
67#define SERVICE_CONTROL_PARAMCHANGE 0x00000006
68#define SERVICE_CONTROL_NETBINDADD 0x00000007
69#define SERVICE_CONTROL_NETBINDREMOVE 0x00000008
70#define SERVICE_CONTROL_NETBINDENABLE 0x00000009
71#define SERVICE_CONTROL_NETBINDDISABLE 0x0000000A
72#define SERVICE_CONTROL_DEVICEEVENT 0x0000000B
73#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C
74#define SERVICE_CONTROL_POWEREVENT 0x0000000D
75#define SERVICE_CONTROL_SESSIONCHANGE 0x0000000E
76#define SERVICE_CONTROL_PRESHUTDOWN 0x0000000F
77
78/* Service State */
79#define SERVICE_STOPPED 0x00000001
80#define SERVICE_START_PENDING 0x00000002
81#define SERVICE_STOP_PENDING 0x00000003
82#define SERVICE_RUNNING 0x00000004
83#define SERVICE_CONTINUE_PENDING 0x00000005
84#define SERVICE_PAUSE_PENDING 0x00000006
85#define SERVICE_PAUSED 0x00000007
86
87/* Controls Accepted */
88#define SERVICE_ACCEPT_STOP 0x00000001
89#define SERVICE_ACCEPT_PAUSE_CONTINUE 0x00000002
90#define SERVICE_ACCEPT_SHUTDOWN 0x00000004
91#define SERVICE_ACCEPT_PARAMCHANGE 0x00000008
92#define SERVICE_ACCEPT_NETBINDCHANGE 0x00000010
93#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020
94#define SERVICE_ACCEPT_POWEREVENT 0x00000040
95#define SERVICE_ACCEPT_SESSIONCHANGE 0x00000080
96#define SERVICE_ACCEPT_PRESHUTDOWN 0x00000100
97
98/* Service Control Manager Object access types */
99#define SC_MANAGER_CONNECT 0x0001
100#define SC_MANAGER_CREATE_SERVICE 0x0002
101#define SC_MANAGER_ENUMERATE_SERVICE 0x0004
102#define SC_MANAGER_LOCK 0x0008
103#define SC_MANAGER_QUERY_LOCK_STATUS 0x0010
104#define SC_MANAGER_MODIFY_BOOT_CONFIG 0x0020
105#define SC_MANAGER_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
106 SC_MANAGER_CONNECT | \
107 SC_MANAGER_CREATE_SERVICE | \
108 SC_MANAGER_ENUMERATE_SERVICE | \
109 SC_MANAGER_LOCK | \
110 SC_MANAGER_QUERY_LOCK_STATUS | \
111 SC_MANAGER_MODIFY_BOOT_CONFIG )
112
113#define SERVICE_QUERY_CONFIG 0x0001
114#define SERVICE_CHANGE_CONFIG 0x0002
115#define SERVICE_QUERY_STATUS 0x0004
116#define SERVICE_ENUMERATE_DEPENDENTS 0x0008
117#define SERVICE_START 0x0010
118#define SERVICE_STOP 0x0020
119#define SERVICE_PAUSE_CONTINUE 0x0040
120#define SERVICE_INTERROGATE 0x0080
121#define SERVICE_USER_DEFINED_CONTROL 0x0100
122
123#define SERVICE_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
124 SERVICE_QUERY_CONFIG | \
125 SERVICE_CHANGE_CONFIG | \
126 SERVICE_QUERY_STATUS | \
127 SERVICE_ENUMERATE_DEPENDENTS | \
128 SERVICE_START | \
129 SERVICE_STOP | \
130 SERVICE_PAUSE_CONTINUE | \
131 SERVICE_INTERROGATE | \
132 SERVICE_USER_DEFINED_CONTROL )
133
134#define SERVICE_NO_CHANGE 0xffffffff
135
136
137/* Handle types */
138
139DECLARE_HANDLE(SC_HANDLE);
140typedef SC_HANDLE *LPSC_HANDLE;
141DECLARE_HANDLE(SERVICE_STATUS_HANDLE);
142typedef LPVOID SC_LOCK;
143
144/* Service status structure */
145
146typedef struct _SERVICE_STATUS {
147 DWORD dwServiceType;
148 DWORD dwCurrentState;
149 DWORD dwControlsAccepted;
150 DWORD dwWin32ExitCode;
151 DWORD dwServiceSpecificExitCode;
152 DWORD dwCheckPoint;
153 DWORD dwWaitHint;
154} SERVICE_STATUS, *LPSERVICE_STATUS;
155
156/* Service status process structure */
157
158typedef struct _SERVICE_STATUS_PROCESS
159{
160 DWORD dwServiceType;
161 DWORD dwCurrentState;
162 DWORD dwControlsAccepted;
163 DWORD dwWin32ExitCode;
164 DWORD dwServiceSpecificExitCode;
165 DWORD dwCheckPoint;
166 DWORD dwWaitHint;
167 DWORD dwProcessId;
168 DWORD dwServiceFlags;
169} SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
170
171typedef enum _SC_STATUS_TYPE {
172 SC_STATUS_PROCESS_INFO = 0
173} SC_STATUS_TYPE;
174
175/* Service main function prototype */
176
177typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*);
178typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*);
179DECL_WINELIB_TYPE_AW(LPSERVICE_MAIN_FUNCTION)
180
181/* Service start table */
182
183typedef struct _SERVICE_TABLE_ENTRYA {
184 LPSTR lpServiceName;
185 LPSERVICE_MAIN_FUNCTIONA lpServiceProc;
186} SERVICE_TABLE_ENTRYA, *LPSERVICE_TABLE_ENTRYA;
187
188typedef struct _SERVICE_TABLE_ENTRYW {
189 LPWSTR lpServiceName;
190 LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
191} SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
192
193DECL_WINELIB_TYPE_AW(SERVICE_TABLE_ENTRY)
194DECL_WINELIB_TYPE_AW(LPSERVICE_TABLE_ENTRY)
195
196/* Service status enumeration structure */
197
198typedef struct _ENUM_SERVICE_STATUSA {
199 LPSTR lpServiceName;
200 LPSTR lpDisplayName;
201 SERVICE_STATUS ServiceStatus;
202} ENUM_SERVICE_STATUSA, *LPENUM_SERVICE_STATUSA;
203
204typedef struct _ENUM_SERVICE_STATUSW {
205 LPWSTR lpServiceName;
206 LPWSTR lpDisplayName;
207 SERVICE_STATUS ServiceStatus;
208} ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
209
210DECL_WINELIB_TYPE_AW(ENUM_SERVICE_STATUS)
211DECL_WINELIB_TYPE_AW(LPENUM_SERVICE_STATUS)
212
213typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
214 LPSTR lpServiceName;
215 LPSTR lpDisplayName;
216 SERVICE_STATUS_PROCESS ServiceStatusProcess;
217} ENUM_SERVICE_STATUS_PROCESSA, *LPENUM_SERVICE_STATUS_PROCESSA;
218
219typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
220 LPWSTR lpServiceName;
221 LPWSTR lpDisplayName;
222 SERVICE_STATUS_PROCESS ServiceStatusProcess;
223} ENUM_SERVICE_STATUS_PROCESSW, *LPENUM_SERVICE_STATUS_PROCESSW;
224
225DECL_WINELIB_TYPE_AW(ENUM_SERVICE_STATUS_PROCESS)
226DECL_WINELIB_TYPE_AW(LPENUM_SERVICE_STATUS_PROCESS)
227
228typedef enum _SC_ENUM_TYPE {
229 SC_ENUM_PROCESS_INFO = 0
230} SC_ENUM_TYPE;
231
232typedef struct _QUERY_SERVICE_CONFIGA {
233 DWORD dwServiceType;
234 DWORD dwStartType;
235 DWORD dwErrorControl;
236 LPSTR lpBinaryPathName;
237 LPSTR lpLoadOrderGroup;
238 DWORD dwTagId;
239 LPSTR lpDependencies;
240 LPSTR lpServiceStartName;
241 LPSTR lpDisplayName;
242} QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
243
244typedef struct _QUERY_SERVICE_CONFIGW {
245 DWORD dwServiceType;
246 DWORD dwStartType;
247 DWORD dwErrorControl;
248 LPWSTR lpBinaryPathName;
249 LPWSTR lpLoadOrderGroup;
250 DWORD dwTagId;
251 LPWSTR lpDependencies;
252 LPWSTR lpServiceStartName;
253 LPWSTR lpDisplayName;
254} QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
255
256/* defines and structures for ChangeServiceConfig2 */
257#define SERVICE_CONFIG_DESCRIPTION 1
258#define SERVICE_CONFIG_FAILURE_ACTIONS 2
259#define SERVICE_CONFIG_DELAYED_AUTO_START_INFO 3
260#define SERVICE_CONFIG_FAILURE_ACTIONS_FLAG 4
261#define SERVICE_CONFIG_SERVICE_SID_INFO 5
262#define SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 6
263#define SERVICE_CONFIG_PRESHUTDOWN_INFO 7
264
265
266typedef struct _SERVICE_DESCRIPTIONA {
267 LPSTR lpDescription;
268} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
269
270typedef struct _SERVICE_DESCRIPTIONW {
271 LPWSTR lpDescription;
272} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
273
274DECL_WINELIB_TYPE_AW(SERVICE_DESCRIPTION)
275DECL_WINELIB_TYPE_AW(LPSERVICE_DESCRIPTION)
276
277typedef enum _SC_ACTION_TYPE {
278 SC_ACTION_NONE = 0,
279 SC_ACTION_RESTART = 1,
280 SC_ACTION_REBOOT = 2,
281 SC_ACTION_RUN_COMMAND = 3
282} SC_ACTION_TYPE;
283
284typedef struct _SC_ACTION {
285 SC_ACTION_TYPE Type;
286 DWORD Delay;
287} SC_ACTION,*LPSC_ACTION;
288
289typedef struct _SERVICE_FAILURE_ACTIONSA {
290 DWORD dwResetPeriod;
291 LPSTR lpRebootMsg;
292 LPSTR lpCommand;
293 DWORD cActions;
294 SC_ACTION * lpsaActions;
295} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
296
297typedef struct _SERVICE_FAILURE_ACTIONSW {
298 DWORD dwResetPeriod;
299 LPWSTR lpRebootMsg;
300 LPWSTR lpCommand;
301 DWORD cActions;
302 SC_ACTION * lpsaActions;
303} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
304
305DECL_WINELIB_TYPE_AW(SERVICE_FAILURE_ACTIONS)
306DECL_WINELIB_TYPE_AW(LPSERVICE_FAILURE_ACTIONS)
307
308typedef struct _SERVICE_DELAYED_AUTO_START_INFO {
309 BOOL fDelayedAutostart;
310} SERVICE_DELAYED_AUTO_START_INFO,*LPSERVICE_DELAYED_AUTO_START_INFO;
311
312typedef struct _SERVICE_FAILURE_ACTIONS_FLAG {
313 BOOL fFailureActionsOnNonCrashFailures;
314} SERVICE_FAILURE_ACTIONS_FLAG,*LPSERVICE_FAILURE_ACTIONS_FLAG;
315
316typedef struct _SERVICE_SID_INFO {
317 DWORD dwServiceSidType;
318} SERVICE_SID_INFO,*LPSERVICE_SID_INFO;
319
320typedef struct _SERVICE_REQUIRED_PRIVILEGES_INFOA {
321 LPSTR pmszRequiredPrivileges;
322} SERVICE_REQUIRED_PRIVILEGES_INFOA,*LPSERVICE_REQUIRED_PRIVILEGES_INFOA;
323
324typedef struct _SERVICE_REQUIRED_PRIVILEGES_INFOW {
325 LPWSTR pmszRequiredPrivileges;
326} SERVICE_REQUIRED_PRIVILEGES_INFOW,*LPSERVICE_REQUIRED_PRIVILEGES_INFOW;
327
328DECL_WINELIB_TYPE_AW(SERVICE_REQUIRED_PRIVILEGES_INFO)
329DECL_WINELIB_TYPE_AW(LPSERVICE_REQUIRED_PRIVILEGES_INFO)
330
331typedef struct _SERVICE_PRESHUTDOWN_INFO {
332 DWORD dwPreshutdownTimeout;
333} SERVICE_PRESHUTDOWN_INFO,*LPSERVICE_PRESHUTDOWN_INFO;
334
335typedef struct _QUERY_SERVICE_LOCK_STATUSA
336{
337 DWORD fIsLocked;
338 LPSTR lpLockOwner;
339 DWORD dwLockDuration;
340} QUERY_SERVICE_LOCK_STATUSA, *LPQUERY_SERVICE_LOCK_STATUSA;
341
342typedef struct _QUERY_SERVICE_LOCK_STATUSW
343{
344 DWORD fIsLocked;
345 LPWSTR lpLockOwner;
346 DWORD dwLockDuration;
347} QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
348
349DECL_WINELIB_TYPE_AW(QUERY_SERVICE_LOCK_STATUS)
350
351/* Service control handler function prototype */
352
353typedef VOID (WINAPI *LPHANDLER_FUNCTION)(DWORD);
354typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID);
355
356/* API function prototypes */
357
358WINADVAPI BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR);
359WINADVAPI BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
360#define ChangeServiceConfig WINELIB_NAME_AW(ChangeServiceConfig)
361WINADVAPI BOOL WINAPI ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID);
362WINADVAPI BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID);
363#define ChangeServiceConfig2 WINELIB_NAME_AW(ChangeServiceConfig2)
364WINADVAPI BOOL WINAPI CloseServiceHandle(SC_HANDLE);
365WINADVAPI BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS);
366WINADVAPI SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR);
367WINADVAPI SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR);
368#define CreateService WINELIB_NAME_AW(CreateService)
369WINADVAPI BOOL WINAPI DeleteService(SC_HANDLE);
370WINADVAPI BOOL WINAPI EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,LPDWORD,LPDWORD);
371WINADVAPI BOOL WINAPI EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,LPDWORD,LPDWORD);
372#define EnumDependentServices WINELIB_NAME_AW(EnumDependentServices)
373WINADVAPI BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,LPDWORD,LPDWORD,LPDWORD);
374WINADVAPI BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,LPDWORD,LPDWORD,LPDWORD);
375#define EnumServicesStatus WINELIB_NAME_AW(EnumServicesStatus)
376WINADVAPI BOOL WINAPI EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR);
377WINADVAPI BOOL WINAPI EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR);
378#define EnumServicesStatus WINELIB_NAME_AW(EnumServicesStatus)
379WINADVAPI BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,LPDWORD);
380WINADVAPI BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,LPDWORD);
381#define GetServiceDisplayName WINELIB_NAME_AW(GetServiceDisplayName)
382WINADVAPI BOOL WINAPI GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,LPDWORD);
383WINADVAPI BOOL WINAPI GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,LPDWORD);
384#define GetServiceKeyName WINELIB_NAME_AW(GetServiceKeyName)
385WINADVAPI SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE);
386WINADVAPI BOOL WINAPI NotifyBootConfigStatus(BOOL);
387WINADVAPI SC_HANDLE WINAPI OpenSCManagerA(LPCSTR,LPCSTR,DWORD);
388WINADVAPI SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD);
389#define OpenSCManager WINELIB_NAME_AW(OpenSCManager)
390WINADVAPI SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD);
391WINADVAPI SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD);
392#define OpenService WINELIB_NAME_AW(OpenService)
393WINADVAPI BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS);
394WINADVAPI BOOL WINAPI QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD);
395WINADVAPI BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,LPDWORD);
396WINADVAPI BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,LPDWORD);
397#define QueryServiceConfig WINELIB_NAME_AW(QueryServiceConfig)
398WINADVAPI BOOL WINAPI QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
399WINADVAPI BOOL WINAPI QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
400#define QueryServiceConfig2 WINELIB_NAME_AW(QueryServiceConfig2)
401WINADVAPI BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,LPDWORD);
402WINADVAPI BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,LPDWORD);
403#define QueryServiceLockStatus WINELIB_NAME_AW(QueryServiceLockStatus)
404WINADVAPI BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
405WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION);
406WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION);
407#define RegisterServiceCtrlHandler WINELIB_NAME_AW(RegisterServiceCtrlHandler)
408WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR,LPHANDLER_FUNCTION_EX,LPVOID);
409WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR,LPHANDLER_FUNCTION_EX,LPVOID);
410#define RegisterServiceCtrlHandlerEx WINELIB_NAME_AW(RegisterServiceCtrlHandlerEx)
411WINADVAPI BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
412WINADVAPI BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS);
413WINADVAPI BOOL WINAPI StartServiceA(SC_HANDLE,DWORD,LPCSTR*);
414WINADVAPI BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR*);
415#define StartService WINELIB_NAME_AW(StartService)
416WINADVAPI BOOL WINAPI StartServiceCtrlDispatcherA(const SERVICE_TABLE_ENTRYA*);
417WINADVAPI BOOL WINAPI StartServiceCtrlDispatcherW(const SERVICE_TABLE_ENTRYW*);
418#define StartServiceCtrlDispatcher WINELIB_NAME_AW(StartServiceCtrlDispatcher)
419WINADVAPI BOOL WINAPI UnlockServiceDatabase(SC_LOCK);
420
421#ifdef __cplusplus
422} /* extern "C" */
423#endif /* defined(__cplusplus) */
424
425#endif /* !defined(__WINE_WINSVC_H) */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette