1 /* header auto-generated by pidl */
8 #define SERVICE_TYPE_KERNEL_DRIVER ( 0x01 )
9 #define SERVICE_TYPE_FS_DRIVER ( 0x02 )
10 #define SERVICE_TYPE_ADAPTER ( 0x04 )
11 #define SERVICE_TYPE_RECOGNIZER_DRIVER ( 0x08 )
12 #define SERVICE_TYPE_DRIVER ( SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER )
13 #define SERVICE_TYPE_WIN32_OWN_PROCESS ( 0x10 )
14 #define SERVICE_TYPE_WIN32_SHARE_PROCESS ( 0x20 )
15 #define SERVICE_TYPE_WIN32 ( SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS )
16 #define SERVICE_STATE_ACTIVE ( 0x01 )
17 #define SERVICE_STATE_INACTIVE ( 0x02 )
18 #define SERVICE_STATE_ALL ( 0x03 )
19 #define SV_TYPE_ALL ( 0xFFFFFFFF )
20 struct SERVICE_LOCK_STATUS {
22 const char *lock_owner;/* [unique,charset(UTF16)] */
23 uint32_t lock_duration;
26 struct SERVICE_STATUS {
29 uint32_t controls_accepted;
30 WERROR win32_exit_code;
31 uint32_t service_exit_code;
36 struct ENUM_SERVICE_STATUS {
37 const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
38 const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
39 struct SERVICE_STATUS status;
42 /* bitmap svcctl_ServerType */
43 #define SV_TYPE_WORKSTATION ( 0x00000001 )
44 #define SV_TYPE_SERVER ( 0x00000002 )
45 #define SV_TYPE_SQLSERVER ( 0x00000004 )
46 #define SV_TYPE_DOMAIN_CTRL ( 0x00000008 )
47 #define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 )
48 #define SV_TYPE_TIME_SOURCE ( 0x00000020 )
49 #define SV_TYPE_AFP ( 0x00000040 )
50 #define SV_TYPE_NOVELL ( 0x00000080 )
51 #define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 )
52 #define SV_TYPE_PRINTQ_SERVER ( 0x00000200 )
53 #define SV_TYPE_DIALIN_SERVER ( 0x00000400 )
54 #define SV_TYPE_SERVER_UNIX ( 0x00000800 )
55 #define SV_TYPE_NT ( 0x00001000 )
56 #define SV_TYPE_WFW ( 0x00002000 )
57 #define SV_TYPE_SERVER_MFPN ( 0x00004000 )
58 #define SV_TYPE_SERVER_NT ( 0x00008000 )
59 #define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 )
60 #define SV_TYPE_BACKUP_BROWSER ( 0x00020000 )
61 #define SV_TYPE_MASTER_BROWSER ( 0x00040000 )
62 #define SV_TYPE_DOMAIN_MASTER ( 0x00080000 )
63 #define SV_TYPE_SERVER_OSF ( 0x00100000 )
64 #define SV_TYPE_SERVER_VMS ( 0x00200000 )
65 #define SV_TYPE_WIN95_PLUS ( 0x00400000 )
66 #define SV_TYPE_DFS_SERVER ( 0x00800000 )
67 #define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 )
68 #define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 )
69 #define SV_TYPE_DOMAIN_ENUM ( 0x80000000 )
74 #ifndef USE_UINT_ENUMS
79 { __donnot_use_enum_SERVICE_CONTROL=0x7FFFFFFF}
85 struct svcctl_CloseServiceHandle {
87 struct policy_handle *handle;/* [ref] */
91 struct policy_handle *handle;/* [ref] */
98 struct svcctl_ControlService {
100 struct policy_handle *handle;/* [ref] */
105 struct SERVICE_STATUS *service_status;/* [ref] */
112 struct svcctl_DeleteService {
114 struct policy_handle *handle;/* [ref] */
124 struct svcctl_LockServiceDatabase {
126 struct policy_handle *handle;/* [ref] */
130 struct policy_handle *lock;/* [ref] */
137 struct svcctl_QueryServiceObjectSecurity {
145 struct svcctl_SetServiceObjectSecurity {
153 struct svcctl_QueryServiceStatus {
155 struct policy_handle *handle;/* [ref] */
159 struct SERVICE_STATUS *service_status;/* [ref] */
166 struct svcctl_SetServiceStatus {
174 struct svcctl_UnlockServiceDatabase {
176 struct policy_handle *lock;/* [ref] */
180 struct policy_handle *lock;/* [ref] */
187 struct svcctl_NotifyBootConfigStatus {
195 struct svcctl_SCSetServiceBitsW {
197 struct policy_handle *handle;/* [ref] */
210 struct svcctl_ChangeServiceConfigW {
212 struct policy_handle *handle;/* [ref] */
216 const char *binary_path;/* [unique,charset(UTF16)] */
217 const char *load_order_group;/* [unique,charset(UTF16)] */
218 const char *dependencies;/* [unique,charset(UTF16)] */
219 const char *service_start_name;/* [unique,charset(UTF16)] */
220 const char *password;/* [unique,charset(UTF16)] */
221 const char *display_name;/* [unique,charset(UTF16)] */
225 uint32_t *tag_id;/* [ref] */
232 struct svcctl_CreateServiceW {
234 struct policy_handle *scmanager_handle;/* [ref] */
235 const char *ServiceName;/* [charset(UTF16)] */
236 const char *DisplayName;/* [unique,charset(UTF16)] */
237 uint32_t desired_access;
240 uint32_t error_control;
241 const char *binary_path;/* [charset(UTF16)] */
242 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
243 uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */
244 uint32_t dependencies_size;
245 const char *service_start_name;/* [unique,charset(UTF16)] */
246 uint8_t *password;/* [unique,size_is(password_size)] */
247 uint32_t password_size;
248 uint32_t *TagId;/* [unique] */
252 struct policy_handle *handle;/* [ref] */
253 uint32_t *TagId;/* [unique] */
260 struct svcctl_EnumDependentServicesW {
262 struct policy_handle *service;/* [ref] */
268 struct ENUM_SERVICE_STATUS *service_status;/* [unique] */
269 uint32_t *bytes_needed;/* [ref] */
270 uint32_t *services_returned;/* [ref] */
277 struct svcctl_EnumServicesStatusW {
279 struct policy_handle *handle;/* [ref] */
283 uint32_t *resume_handle;/* [unique] */
287 uint8_t *service;/* [size_is(buf_size)] */
288 uint32_t *bytes_needed;/* [ref] */
289 uint32_t *services_returned;/* [ref] */
290 uint32_t *resume_handle;/* [unique] */
297 struct svcctl_OpenSCManagerW {
299 const char *MachineName;/* [unique,charset(UTF16)] */
300 const char *DatabaseName;/* [unique,charset(UTF16)] */
301 uint32_t access_mask;
305 struct policy_handle *handle;/* [ref] */
312 struct svcctl_OpenServiceW {
314 struct policy_handle *scmanager_handle;/* [ref] */
315 const char *ServiceName;/* [charset(UTF16)] */
316 uint32_t access_mask;
320 struct policy_handle *handle;/* [ref] */
327 struct svcctl_QueryServiceConfigW {
329 struct policy_handle *handle;/* [ref] */
335 uint32_t *bytes_needed;/* [ref] */
342 struct svcctl_QueryServiceLockStatusW {
344 struct policy_handle *handle;/* [ref] */
349 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
350 uint32_t *required_buf_size;/* [ref] */
357 struct svcctl_StartServiceW {
359 struct policy_handle *handle;/* [ref] */
361 const char *Arguments;/* [unique,charset(UTF16)] */
371 struct svcctl_GetServiceDisplayNameW {
373 struct policy_handle *handle;/* [ref] */
374 const char *service_name;/* [unique,charset(UTF16)] */
375 uint32_t *display_name_length;/* [unique] */
379 const char **display_name;/* [ref,charset(UTF16)] */
380 uint32_t *display_name_length;/* [unique] */
387 struct svcctl_GetServiceKeyNameW {
389 struct policy_handle *handle;/* [ref] */
390 const char *service_name;/* [unique,charset(UTF16)] */
391 uint32_t *display_name_length;/* [unique] */
395 const char **key_name;/* [ref,charset(UTF16)] */
396 uint32_t *display_name_length;/* [unique] */
403 struct svcctl_SCSetServiceBitsA {
405 struct policy_handle *handle;/* [ref] */
418 struct svcctl_ChangeServiceConfigA {
420 struct policy_handle *handle;/* [ref] */
424 const char *binary_path;/* [unique,charset(UTF16)] */
425 const char *load_order_group;/* [unique,charset(UTF16)] */
426 const char *dependencies;/* [unique,charset(UTF16)] */
427 const char *service_start_name;/* [unique,charset(UTF16)] */
428 const char *password;/* [unique,charset(UTF16)] */
429 const char *display_name;/* [unique,charset(UTF16)] */
433 uint32_t *tag_id;/* [ref] */
440 struct svcctl_CreateServiceA {
442 struct policy_handle *handle;/* [ref] */
443 const char *ServiceName;/* [unique,charset(UTF16)] */
444 const char *DisplayName;/* [unique,charset(UTF16)] */
445 uint32_t desired_access;
448 uint32_t error_control;
449 const char *binary_path;/* [unique,charset(UTF16)] */
450 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
451 const char *dependencies;/* [unique,charset(UTF16)] */
452 const char *service_start_name;/* [unique,charset(UTF16)] */
453 const char *password;/* [unique,charset(UTF16)] */
457 uint32_t *TagId;/* [unique] */
464 struct svcctl_EnumDependentServicesA {
466 struct policy_handle *service;/* [ref] */
472 struct ENUM_SERVICE_STATUS *service_status;/* [unique] */
473 uint32_t *bytes_needed;/* [ref] */
474 uint32_t *services_returned;/* [ref] */
481 struct svcctl_EnumServicesStatusA {
483 struct policy_handle *handle;/* [ref] */
487 uint32_t *resume_handle;/* [unique] */
491 uint8_t *service;/* [size_is(buf_size)] */
492 uint32_t *bytes_needed;/* [ref] */
493 uint32_t *services_returned;/* [ref] */
494 uint32_t *resume_handle;/* [unique] */
501 struct svcctl_OpenSCManagerA {
503 const char *MachineName;/* [unique,charset(UTF16)] */
504 const char *DatabaseName;/* [unique,charset(UTF16)] */
505 uint32_t access_mask;
509 struct policy_handle *handle;/* [ref] */
516 struct svcctl_OpenServiceA {
518 struct policy_handle *scmanager_handle;/* [ref] */
519 const char *ServiceName;/* [unique,charset(UTF16)] */
520 uint32_t access_mask;
530 struct svcctl_QueryServiceConfigA {
532 struct policy_handle *handle;/* [ref] */
538 uint32_t *bytes_needed;/* [ref] */
545 struct svcctl_QueryServiceLockStatusA {
547 struct policy_handle *handle;/* [ref] */
552 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
553 uint32_t *required_buf_size;/* [ref] */
560 struct svcctl_StartServiceA {
562 struct policy_handle *handle;/* [ref] */
564 const char *Arguments;/* [unique,charset(UTF16)] */
574 struct svcctl_GetServiceDisplayNameA {
576 struct policy_handle *handle;/* [ref] */
577 const char *service_name;/* [unique,charset(UTF16)] */
578 uint32_t *display_name_length;/* [unique] */
582 const char **display_name;/* [ref,charset(UTF16)] */
583 uint32_t *display_name_length;/* [unique] */
590 struct svcctl_GetServiceKeyNameA {
592 struct policy_handle *handle;/* [ref] */
593 const char *service_name;/* [unique,charset(UTF16)] */
594 uint32_t *display_name_length;/* [unique] */
598 const char **key_name;/* [ref,charset(UTF16)] */
599 uint32_t *display_name_length;/* [unique] */
606 struct svcctl_GetCurrentGroupeStateW {
614 struct svcctl_EnumServiceGroupW {
622 struct svcctl_ChangeServiceConfig2A {
624 struct policy_handle *handle;/* [ref] */
626 uint8_t *info;/* [unique] */
636 struct svcctl_ChangeServiceConfig2W {
638 struct policy_handle *handle;/* [ref] */
640 uint8_t *info;/* [unique] */
650 struct svcctl_QueryServiceConfig2A {
652 struct policy_handle *handle;/* [ref] */
659 uint32_t *bytes_needed;/* [ref] */
666 struct svcctl_QueryServiceConfig2W {
668 struct policy_handle *handle;/* [ref] */
675 uint32_t *bytes_needed;/* [ref] */
682 struct svcctl_QueryServiceStatusEx {
684 struct policy_handle *handle;/* [ref] */
691 uint32_t *bytes_needed;/* [ref] */
698 struct EnumServicesStatusExA {
700 struct policy_handle *scmanager;/* [ref] */
705 uint32_t *resume_handle;/* [unique] */
710 uint32_t *bytes_needed;/* [ref] */
711 uint32_t *service_returned;/* [ref] */
712 const char **group_name;/* [ref,charset(UTF16)] */
713 uint32_t *resume_handle;/* [unique] */
720 struct EnumServicesStatusExW {
722 struct policy_handle *scmanager;/* [ref] */
727 uint32_t *resume_handle;/* [unique] */
732 uint32_t *bytes_needed;/* [ref] */
733 uint32_t *service_returned;/* [ref] */
734 const char **group_name;/* [ref,charset(UTF16)] */
735 uint32_t *resume_handle;/* [unique] */
742 struct svcctl_SCSendTSMessage {
749 #endif /* _HEADER_svcctl */