filling in bit more info to DDRAW_GLOBAL struct in halinistate.
[reactos.git] / reactos / include / idl / svcctl.idl
1 /*
2 * Service Control Manager (SCM) interface definition
3 */
4
5 //#include <windef.h>
6 //#include <winsvc.h>
7
8 #define DWORD unsigned long
9 #define BOOL unsigned long
10 #define SC_HANDLE unsigned int
11 #define SC_LOCK unsigned int
12 #define LPCSTR char*
13 #define LPCWSTR wchar_t*
14 #define LPDWORD unsigned long*
15
16 [
17 uuid(367abb81-9844-35f1-ad32-98f038001003),
18 version(2.0),
19 pointer_default(unique),
20 explicit_handle
21 ]
22 interface svcctl
23 {
24 cpp_quote("#if 0")
25 typedef struct _SERVICE_STATUS
26 {
27 DWORD dwServiceType;
28 DWORD dwCurrentState;
29 DWORD dwControlsAccepted;
30 DWORD dwWin32ExitCode;
31 DWORD dwServiceSpecificExitCode;
32 DWORD dwCheckPoint;
33 DWORD dwWaitHint;
34 } SERVICE_STATUS, *LPSERVICE_STATUS;
35 cpp_quote("#endif")
36
37 /* Function 0 */
38 DWORD ScmrCloseServiceHandle([in] handle_t BindingHandle,
39 [in] SC_HANDLE hSCObject);
40
41 /* Function 1 */
42 BOOL ScmrControlService([in] handle_t BindingHandle,
43 [in] SC_HANDLE hService,
44 [in] DWORD dwControl,
45 [out] LPSERVICE_STATUS lpServiceStatus);
46
47 /* Function 2 */
48 DWORD ScmrDeleteService([in] handle_t BindingHandle,
49 [in] SC_HANDLE hService);
50
51 /* Function 3 */
52 DWORD ScmrLockServiceDatabase([in] handle_t BindingHandle,
53 [in] SC_HANDLE hSCManager,
54 [out] SC_LOCK *hLock);
55
56 /* Function 4 */
57 DWORD ScmrQueryServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */
58
59 /* Function 5 */
60 DWORD ScmrSetServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */
61
62 /* Function 6 */
63 DWORD ScmrQueryServiceStatus([in] handle_t BindingHandle,
64 [in] SC_HANDLE hSCManager,
65 [out] LPSERVICE_STATUS lpServiceStatus);
66
67 /* Function 7 */
68 DWORD ScmrSetServiceStatus([in] handle_t BindingHandle); /* FIXME */
69
70 /* Function 8 */
71 DWORD ScmrUnlockServiceDatabase([in] handle_t BindingHandle,
72 [in] SC_LOCK hLock);
73
74 /* Function 9 */
75 DWORD ScmrNotifyBootConfigStatus([in] handle_t BindingHandle,
76 [in] BOOL BootAcceptable);
77 /* Function 11 */
78 DWORD ScmrChangeServiceConfigW([in] handle_t BiningHandle,
79 [in] SC_HANDLE hSCManager,
80 [in] DWORD dwServiceType,
81 [in] DWORD dwStartType,
82 [in] DWORD dwErrorControl,
83 [in, string, ref] LPCWSTR lpBinaryPathName,
84 [in, string, unique] LPCWSTR lpLoadOrderGroup,
85 [in, out, unique] LPDWORD lpdwTagId,
86 [in, size_is(dwDependenciesLength), unique] LPCWSTR lpDependencies,
87 [in] DWORD dwDependenciesLength,
88 [in, string, unique] LPCWSTR lpServiceStartName,
89 [in, size_is(dwPasswordLength), unique] LPCWSTR lpPassword,
90 [in] DWORD dwPasswordLength,
91 [in, string, unique] LPCWSTR lpDisplayName);
92
93 /* Function 12 */
94 DWORD ScmrCreateServiceW([in] handle_t BindingHandle,
95 [in] SC_HANDLE hSCManager,
96 [in, string, ref] LPCWSTR lpServiceName,
97 [in, string, unique] LPCWSTR lpDisplayName,
98 [in] DWORD dwDesiredAccess,
99 [in] DWORD dwServiceType,
100 [in] DWORD dwStartType,
101 [in] DWORD dwErrorControl,
102 [in, string, ref] LPCWSTR lpBinaryPathName,
103 [in, string, unique] LPCWSTR lpLoadOrderGroup,
104 [in, out, unique] LPDWORD lpdwTagId,
105 [in, size_is(dwDependenciesLength), unique] LPCWSTR lpDependencies,
106 [in] DWORD dwDependenciesLength,
107 [in, string, unique] LPCWSTR lpServiceStartName,
108 [in, size_is(dwPasswordLength), unique] LPCWSTR lpPassword,
109 [in] DWORD dwPasswordLength,
110 [out] SC_HANDLE *hService);
111
112
113 /* Function 15 */
114 DWORD ScmrOpenSCManagerW([in] handle_t BindingHandle,
115 [in, string, unique] LPCWSTR lpMachineName,
116 [in, string, unique] LPCWSTR lpDatabaseName,
117 [in] DWORD dwDesiredAccess,
118 [out] SC_HANDLE *hScm);
119
120 /* Function 16 */
121 SC_HANDLE ScmrOpenServiceW([in] handle_t BindingHandle,
122 [in] SC_HANDLE hSCManager,
123 [in, string] LPCWSTR lpServiceName,
124 [in] DWORD dwDesiredAccess,
125 [out] SC_HANDLE *hScm);
126
127
128 /* Function 27 */
129 DWORD ScmrOpenSCManagerA([in] handle_t BindingHandle,
130 [in, string, unique] LPCSTR lpMachineName,
131 [in, string, unique] LPCSTR lpDatabaseName,
132 [in] DWORD dwDesiredAccess,
133 [out] SC_HANDLE *hScm);
134
135 /* Function 28 */
136 SC_HANDLE ScmrOpenServiceA([in] handle_t BindingHandle,
137 [in] SC_HANDLE hSCManager,
138 [in, string] LPCSTR lpServiceName,
139 [in] DWORD dwDesiredAccess,
140 [out] SC_HANDLE *hScm);
141 }