1 #include "../librpc/gen_ndr/ndr_svcctl.h"
4 NTSTATUS
rpccli_svcctl_CloseServiceHandle(struct rpc_pipe_client
*cli
,
6 struct policy_handle
*handle
/* [in,out] [ref] */,
8 NTSTATUS
rpccli_svcctl_ControlService(struct rpc_pipe_client
*cli
,
10 struct policy_handle
*handle
/* [in] [ref] */,
11 enum SERVICE_CONTROL control
/* [in] */,
12 struct SERVICE_STATUS
*service_status
/* [out] [ref] */,
14 NTSTATUS
rpccli_svcctl_DeleteService(struct rpc_pipe_client
*cli
,
16 struct policy_handle
*handle
/* [in] [ref] */,
18 NTSTATUS
rpccli_svcctl_LockServiceDatabase(struct rpc_pipe_client
*cli
,
20 struct policy_handle
*handle
/* [in] [ref] */,
21 struct policy_handle
*lock
/* [out] [ref] */,
23 NTSTATUS
rpccli_svcctl_QueryServiceObjectSecurity(struct rpc_pipe_client
*cli
,
25 struct policy_handle
*handle
/* [in] [ref] */,
26 uint32_t security_flags
/* [in] */,
27 uint8_t *buffer
/* [out] [ref,size_is(offered)] */,
28 uint32_t offered
/* [in] [range(0,0x40000)] */,
29 uint32_t *needed
/* [out] [ref,range(0,0x40000)] */,
31 NTSTATUS
rpccli_svcctl_SetServiceObjectSecurity(struct rpc_pipe_client
*cli
,
33 struct policy_handle
*handle
/* [in] [ref] */,
34 uint32_t security_flags
/* [in] */,
35 uint8_t *buffer
/* [in] [ref,size_is(offered)] */,
36 uint32_t offered
/* [in] */,
38 NTSTATUS
rpccli_svcctl_QueryServiceStatus(struct rpc_pipe_client
*cli
,
40 struct policy_handle
*handle
/* [in] [ref] */,
41 struct SERVICE_STATUS
*service_status
/* [out] [ref] */,
43 NTSTATUS
rpccli_svcctl_SetServiceStatus(struct rpc_pipe_client
*cli
,
46 NTSTATUS
rpccli_svcctl_UnlockServiceDatabase(struct rpc_pipe_client
*cli
,
48 struct policy_handle
*lock
/* [in,out] [ref] */,
50 NTSTATUS
rpccli_svcctl_NotifyBootConfigStatus(struct rpc_pipe_client
*cli
,
53 NTSTATUS
rpccli_svcctl_SCSetServiceBitsW(struct rpc_pipe_client
*cli
,
55 struct policy_handle
*handle
/* [in] [ref] */,
56 uint32_t bits
/* [in] */,
57 uint32_t bitson
/* [in] */,
58 uint32_t immediate
/* [in] */,
60 NTSTATUS
rpccli_svcctl_ChangeServiceConfigW(struct rpc_pipe_client
*cli
,
62 struct policy_handle
*handle
/* [in] [ref] */,
63 uint32_t type
/* [in] */,
64 enum svcctl_StartType start_type
/* [in] */,
65 enum svcctl_ErrorControl error_control
/* [in] */,
66 const char *binary_path
/* [in] [unique,charset(UTF16)] */,
67 const char *load_order_group
/* [in] [unique,charset(UTF16)] */,
68 uint32_t *tag_id
/* [out] [ref] */,
69 const char *dependencies
/* [in] [unique,charset(UTF16)] */,
70 const char *service_start_name
/* [in] [unique,charset(UTF16)] */,
71 const char *password
/* [in] [unique,charset(UTF16)] */,
72 const char *display_name
/* [in] [unique,charset(UTF16)] */,
74 NTSTATUS
rpccli_svcctl_CreateServiceW(struct rpc_pipe_client
*cli
,
76 struct policy_handle
*scmanager_handle
/* [in] [ref] */,
77 const char *ServiceName
/* [in] [charset(UTF16)] */,
78 const char *DisplayName
/* [in] [unique,charset(UTF16)] */,
79 uint32_t desired_access
/* [in] */,
80 uint32_t type
/* [in] */,
81 enum svcctl_StartType start_type
/* [in] */,
82 enum svcctl_ErrorControl error_control
/* [in] */,
83 const char *binary_path
/* [in] [charset(UTF16)] */,
84 const char *LoadOrderGroupKey
/* [in] [unique,charset(UTF16)] */,
85 uint32_t *TagId
/* [in,out] [unique] */,
86 uint8_t *dependencies
/* [in] [unique,size_is(dependencies_size)] */,
87 uint32_t dependencies_size
/* [in] */,
88 const char *service_start_name
/* [in] [unique,charset(UTF16)] */,
89 uint8_t *password
/* [in] [unique,size_is(password_size)] */,
90 uint32_t password_size
/* [in] */,
91 struct policy_handle
*handle
/* [out] [ref] */,
93 NTSTATUS
rpccli_svcctl_EnumDependentServicesW(struct rpc_pipe_client
*cli
,
95 struct policy_handle
*service
/* [in] [ref] */,
96 enum svcctl_ServiceState state
/* [in] */,
97 uint8_t *service_status
/* [out] [ref,size_is(offered)] */,
98 uint32_t offered
/* [in] [range(0,0x40000)] */,
99 uint32_t *needed
/* [out] [ref,range(0,0x40000)] */,
100 uint32_t *services_returned
/* [out] [ref,range(0,0x40000)] */,
102 NTSTATUS
rpccli_svcctl_EnumServicesStatusW(struct rpc_pipe_client
*cli
,
104 struct policy_handle
*handle
/* [in] [ref] */,
105 uint32_t type
/* [in] */,
106 enum svcctl_ServiceState state
/* [in] */,
107 uint8_t *service
/* [out] [ref,size_is(offered)] */,
108 uint32_t offered
/* [in] [range(0,0x40000)] */,
109 uint32_t *needed
/* [out] [ref,range(0,0x40000)] */,
110 uint32_t *services_returned
/* [out] [ref,range(0,0x40000)] */,
111 uint32_t *resume_handle
/* [in,out] [unique] */,
113 NTSTATUS
rpccli_svcctl_OpenSCManagerW(struct rpc_pipe_client
*cli
,
115 const char *MachineName
/* [in] [unique,charset(UTF16)] */,
116 const char *DatabaseName
/* [in] [unique,charset(UTF16)] */,
117 uint32_t access_mask
/* [in] */,
118 struct policy_handle
*handle
/* [out] [ref] */,
120 NTSTATUS
rpccli_svcctl_OpenServiceW(struct rpc_pipe_client
*cli
,
122 struct policy_handle
*scmanager_handle
/* [in] [ref] */,
123 const char *ServiceName
/* [in] [charset(UTF16)] */,
124 uint32_t access_mask
/* [in] */,
125 struct policy_handle
*handle
/* [out] [ref] */,
127 NTSTATUS
rpccli_svcctl_QueryServiceConfigW(struct rpc_pipe_client
*cli
,
129 struct policy_handle
*handle
/* [in] [ref] */,
130 struct QUERY_SERVICE_CONFIG
*query
/* [out] [ref] */,
131 uint32_t offered
/* [in] [range(0,8192)] */,
132 uint32_t *needed
/* [out] [ref,range(0,8192)] */,
134 NTSTATUS
rpccli_svcctl_QueryServiceLockStatusW(struct rpc_pipe_client
*cli
,
136 struct policy_handle
*handle
/* [in] [ref] */,
137 uint32_t offered
/* [in] */,
138 struct SERVICE_LOCK_STATUS
*lock_status
/* [out] [ref] */,
139 uint32_t *needed
/* [out] [ref] */,
141 NTSTATUS
rpccli_svcctl_StartServiceW(struct rpc_pipe_client
*cli
,
143 struct policy_handle
*handle
/* [in] [ref] */,
144 uint32_t NumArgs
/* [in] */,
145 const char *Arguments
/* [in] [unique,charset(UTF16)] */,
147 NTSTATUS
rpccli_svcctl_GetServiceDisplayNameW(struct rpc_pipe_client
*cli
,
149 struct policy_handle
*handle
/* [in] [ref] */,
150 const char *service_name
/* [in] [unique,charset(UTF16)] */,
151 const char **display_name
/* [out] [ref,charset(UTF16)] */,
152 uint32_t *display_name_length
/* [in,out] [unique] */,
154 NTSTATUS
rpccli_svcctl_GetServiceKeyNameW(struct rpc_pipe_client
*cli
,
156 struct policy_handle
*handle
/* [in] [ref] */,
157 const char *service_name
/* [in] [unique,charset(UTF16)] */,
158 const char **key_name
/* [out] [ref,charset(UTF16)] */,
159 uint32_t *display_name_length
/* [in,out] [unique] */,
161 NTSTATUS
rpccli_svcctl_SCSetServiceBitsA(struct rpc_pipe_client
*cli
,
163 struct policy_handle
*handle
/* [in] [ref] */,
164 uint32_t bits
/* [in] */,
165 uint32_t bitson
/* [in] */,
166 uint32_t immediate
/* [in] */,
168 NTSTATUS
rpccli_svcctl_ChangeServiceConfigA(struct rpc_pipe_client
*cli
,
170 struct policy_handle
*handle
/* [in] [ref] */,
171 uint32_t type
/* [in] */,
172 enum svcctl_StartType start_type
/* [in] */,
173 enum svcctl_ErrorControl error_control
/* [in] */,
174 const char *binary_path
/* [in] [unique,charset(UTF16)] */,
175 const char *load_order_group
/* [in] [unique,charset(UTF16)] */,
176 uint32_t *tag_id
/* [out] [ref] */,
177 const char *dependencies
/* [in] [unique,charset(UTF16)] */,
178 const char *service_start_name
/* [in] [unique,charset(UTF16)] */,
179 const char *password
/* [in] [unique,charset(UTF16)] */,
180 const char *display_name
/* [in] [unique,charset(UTF16)] */,
182 NTSTATUS
rpccli_svcctl_CreateServiceA(struct rpc_pipe_client
*cli
,
184 struct policy_handle
*handle
/* [in] [ref] */,
185 const char *ServiceName
/* [in] [unique,charset(UTF16)] */,
186 const char *DisplayName
/* [in] [unique,charset(UTF16)] */,
187 uint32_t desired_access
/* [in] */,
188 uint32_t type
/* [in] */,
189 enum svcctl_StartType start_type
/* [in] */,
190 enum svcctl_ErrorControl error_control
/* [in] */,
191 const char *binary_path
/* [in] [unique,charset(UTF16)] */,
192 const char *LoadOrderGroupKey
/* [in] [unique,charset(UTF16)] */,
193 uint32_t *TagId
/* [out] [unique] */,
194 const char *dependencies
/* [in] [unique,charset(UTF16)] */,
195 const char *service_start_name
/* [in] [unique,charset(UTF16)] */,
196 const char *password
/* [in] [unique,charset(UTF16)] */,
198 NTSTATUS
rpccli_svcctl_EnumDependentServicesA(struct rpc_pipe_client
*cli
,
200 struct policy_handle
*service
/* [in] [ref] */,
201 enum svcctl_ServiceState state
/* [in] */,
202 struct ENUM_SERVICE_STATUSA
*service_status
/* [out] [unique] */,
203 uint32_t offered
/* [in] */,
204 uint32_t *needed
/* [out] [ref] */,
205 uint32_t *services_returned
/* [out] [ref] */,
207 NTSTATUS
rpccli_svcctl_EnumServicesStatusA(struct rpc_pipe_client
*cli
,
209 struct policy_handle
*handle
/* [in] [ref] */,
210 uint32_t type
/* [in] */,
211 enum svcctl_ServiceState state
/* [in] */,
212 uint32_t offered
/* [in] */,
213 uint8_t *service
/* [out] [size_is(offered)] */,
214 uint32_t *needed
/* [out] [ref] */,
215 uint32_t *services_returned
/* [out] [ref] */,
216 uint32_t *resume_handle
/* [in,out] [unique] */,
218 NTSTATUS
rpccli_svcctl_OpenSCManagerA(struct rpc_pipe_client
*cli
,
220 const char *MachineName
/* [in] [unique,charset(UTF16)] */,
221 const char *DatabaseName
/* [in] [unique,charset(UTF16)] */,
222 uint32_t access_mask
/* [in] */,
223 struct policy_handle
*handle
/* [out] [ref] */,
225 NTSTATUS
rpccli_svcctl_OpenServiceA(struct rpc_pipe_client
*cli
,
227 struct policy_handle
*scmanager_handle
/* [in] [ref] */,
228 const char *ServiceName
/* [in] [unique,charset(UTF16)] */,
229 uint32_t access_mask
/* [in] */,
231 NTSTATUS
rpccli_svcctl_QueryServiceConfigA(struct rpc_pipe_client
*cli
,
233 struct policy_handle
*handle
/* [in] [ref] */,
234 uint8_t *query
/* [out] */,
235 uint32_t offered
/* [in] */,
236 uint32_t *needed
/* [out] [ref] */,
238 NTSTATUS
rpccli_svcctl_QueryServiceLockStatusA(struct rpc_pipe_client
*cli
,
240 struct policy_handle
*handle
/* [in] [ref] */,
241 uint32_t offered
/* [in] */,
242 struct SERVICE_LOCK_STATUS
*lock_status
/* [out] [ref] */,
243 uint32_t *needed
/* [out] [ref] */,
245 NTSTATUS
rpccli_svcctl_StartServiceA(struct rpc_pipe_client
*cli
,
247 struct policy_handle
*handle
/* [in] [ref] */,
248 uint32_t NumArgs
/* [in] */,
249 const char *Arguments
/* [in] [unique,charset(UTF16)] */,
251 NTSTATUS
rpccli_svcctl_GetServiceDisplayNameA(struct rpc_pipe_client
*cli
,
253 struct policy_handle
*handle
/* [in] [ref] */,
254 const char *service_name
/* [in] [unique,charset(UTF16)] */,
255 const char **display_name
/* [out] [ref,charset(UTF16)] */,
256 uint32_t *display_name_length
/* [in,out] [unique] */,
258 NTSTATUS
rpccli_svcctl_GetServiceKeyNameA(struct rpc_pipe_client
*cli
,
260 struct policy_handle
*handle
/* [in] [ref] */,
261 const char *service_name
/* [in] [unique,charset(UTF16)] */,
262 const char **key_name
/* [out] [ref,charset(UTF16)] */,
263 uint32_t *display_name_length
/* [in,out] [unique] */,
265 NTSTATUS
rpccli_svcctl_GetCurrentGroupeStateW(struct rpc_pipe_client
*cli
,
268 NTSTATUS
rpccli_svcctl_EnumServiceGroupW(struct rpc_pipe_client
*cli
,
271 NTSTATUS
rpccli_svcctl_ChangeServiceConfig2A(struct rpc_pipe_client
*cli
,
273 struct policy_handle
*handle
/* [in] [ref] */,
274 uint32_t info_level
/* [in] */,
275 uint8_t *info
/* [in] [unique] */,
277 NTSTATUS
rpccli_svcctl_ChangeServiceConfig2W(struct rpc_pipe_client
*cli
,
279 struct policy_handle
*handle
/* [in] [ref] */,
280 uint32_t info_level
/* [in] */,
281 uint8_t *info
/* [in] [unique] */,
283 NTSTATUS
rpccli_svcctl_QueryServiceConfig2A(struct rpc_pipe_client
*cli
,
285 struct policy_handle
*handle
/* [in] [ref] */,
286 enum svcctl_ConfigLevel info_level
/* [in] */,
287 uint8_t *buffer
/* [out] */,
288 uint32_t offered
/* [in] */,
289 uint32_t *needed
/* [out] [ref] */,
291 NTSTATUS
rpccli_svcctl_QueryServiceConfig2W(struct rpc_pipe_client
*cli
,
293 struct policy_handle
*handle
/* [in] [ref] */,
294 enum svcctl_ConfigLevel info_level
/* [in] */,
295 uint8_t *buffer
/* [out] [ref,size_is(offered)] */,
296 uint32_t offered
/* [in] [range(0,8192)] */,
297 uint32_t *needed
/* [out] [ref,range(0,8192)] */,
299 NTSTATUS
rpccli_svcctl_QueryServiceStatusEx(struct rpc_pipe_client
*cli
,
301 struct policy_handle
*handle
/* [in] [ref] */,
302 enum svcctl_StatusLevel info_level
/* [in] */,
303 uint8_t *buffer
/* [out] [ref,size_is(offered)] */,
304 uint32_t offered
/* [in] [range(0,8192)] */,
305 uint32_t *needed
/* [out] [ref,range(0,8192)] */,
307 NTSTATUS
rpccli_EnumServicesStatusExA(struct rpc_pipe_client
*cli
,
309 struct policy_handle
*scmanager
/* [in] [ref] */,
310 uint32_t info_level
/* [in] */,
311 uint32_t type
/* [in] */,
312 enum svcctl_ServiceState state
/* [in] */,
313 uint8_t *services
/* [out] */,
314 uint32_t offered
/* [in] */,
315 uint32_t *needed
/* [out] [ref] */,
316 uint32_t *service_returned
/* [out] [ref] */,
317 uint32_t *resume_handle
/* [in,out] [unique] */,
318 const char **group_name
/* [out] [ref,charset(UTF16)] */,
320 NTSTATUS
rpccli_EnumServicesStatusExW(struct rpc_pipe_client
*cli
,
322 struct policy_handle
*scmanager
/* [in] [ref] */,
323 uint32_t info_level
/* [in] */,
324 uint32_t type
/* [in] */,
325 enum svcctl_ServiceState state
/* [in] */,
326 uint8_t *services
/* [out] [ref,size_is(offered)] */,
327 uint32_t offered
/* [in] [range(0,0x40000)] */,
328 uint32_t *needed
/* [out] [ref,range(0,0x40000)] */,
329 uint32_t *service_returned
/* [out] [ref,range(0,0x40000)] */,
330 uint32_t *resume_handle
/* [in,out] [unique,range(0,0x40000)] */,
331 const char *group_name
/* [in] [unique,charset(UTF16)] */,
333 NTSTATUS
rpccli_svcctl_SCSendTSMessage(struct rpc_pipe_client
*cli
,
336 #endif /* __CLI_SVCCTL__ */