1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/misc.h"
6 #include "librpc/gen_ndr/security.h"
10 #define SERVICE_TYPE_KERNEL_DRIVER ( 0x01 )
11 #define SERVICE_TYPE_FS_DRIVER ( 0x02 )
12 #define SERVICE_TYPE_ADAPTER ( 0x04 )
13 #define SERVICE_TYPE_RECOGNIZER_DRIVER ( 0x08 )
14 #define SERVICE_TYPE_DRIVER ( SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER )
15 #define SERVICE_TYPE_WIN32_OWN_PROCESS ( 0x10 )
16 #define SERVICE_TYPE_WIN32_SHARE_PROCESS ( 0x20 )
17 #define SERVICE_TYPE_WIN32 ( SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS )
18 #define SERVICE_STATE_ACTIVE ( 0x01 )
19 #define SERVICE_STATE_INACTIVE ( 0x02 )
20 #define SERVICE_STATE_ALL ( 0x03 )
21 #define SV_TYPE_ALL ( 0xFFFFFFFF )
22 #define SC_MANAGER_READ_ACCESS ( (SEC_STD_READ_CONTROL|SC_RIGHT_MGR_CONNECT|SC_RIGHT_MGR_ENUMERATE_SERVICE|SC_RIGHT_MGR_QUERY_LOCK_STATUS) )
23 #define SC_MANAGER_EXECUTE_ACCESS ( SC_MANAGER_READ_ACCESS )
24 #define SC_MANAGER_WRITE_ACCESS ( (SEC_STD_REQUIRED|SC_MANAGER_READ_ACCESS|SC_RIGHT_MGR_CREATE_SERVICE|SC_RIGHT_MGR_LOCK|SC_RIGHT_MGR_MODIFY_BOOT_CONFIG) )
25 #define SC_MANAGER_ALL_ACCESS ( SC_MANAGER_WRITE_ACCESS )
26 #define SERVICE_READ_ACCESS ( (SEC_STD_READ_CONTROL|SC_RIGHT_SVC_ENUMERATE_DEPENDENTS|SC_RIGHT_SVC_INTERROGATE|SC_RIGHT_SVC_QUERY_CONFIG|SC_RIGHT_SVC_QUERY_STATUS|SC_RIGHT_SVC_USER_DEFINED_CONTROL) )
27 #define SERVICE_EXECUTE_ACCESS ( (SERVICE_READ_ACCESS|SC_RIGHT_SVC_START|SC_RIGHT_SVC_STOP|SC_RIGHT_SVC_PAUSE_CONTINUE) )
28 #define SERVICE_WRITE_ACCESS ( (SEC_STD_REQUIRED|SERVICE_READ_ACCESS|SERVICE_EXECUTE_ACCESS|SC_RIGHT_SVC_CHANGE_CONFIG) )
29 #define SERVICE_ALL_ACCESS ( SERVICE_WRITE_ACCESS )
30 struct SERVICE_LOCK_STATUS {
32 const char *lock_owner;/* [unique,charset(UTF16)] */
33 uint32_t lock_duration;
36 enum svcctl_ServiceStatus
37 #ifndef USE_UINT_ENUMS
39 SVCCTL_STATE_UNKNOWN=0x00000000,
40 SVCCTL_STOPPED=0x00000001,
41 SVCCTL_START_PENDING=0x00000002,
42 SVCCTL_STOP_PENDING=0x00000003,
43 SVCCTL_RUNNING=0x00000004,
44 SVCCTL_CONTINUE_PENDING=0x00000005,
45 SVCCTL_PAUSE_PENDING=0x00000006,
46 SVCCTL_PAUSED=0x00000007
49 { __donnot_use_enum_svcctl_ServiceStatus=0x7FFFFFFF}
50 #define SVCCTL_STATE_UNKNOWN ( 0x00000000 )
51 #define SVCCTL_STOPPED ( 0x00000001 )
52 #define SVCCTL_START_PENDING ( 0x00000002 )
53 #define SVCCTL_STOP_PENDING ( 0x00000003 )
54 #define SVCCTL_RUNNING ( 0x00000004 )
55 #define SVCCTL_CONTINUE_PENDING ( 0x00000005 )
56 #define SVCCTL_PAUSE_PENDING ( 0x00000006 )
57 #define SVCCTL_PAUSED ( 0x00000007 )
61 /* bitmap svcctl_ControlsAccepted */
62 #define SVCCTL_ACCEPT_NONE ( 0x00000000 )
63 #define SVCCTL_ACCEPT_STOP ( 0x00000001 )
64 #define SVCCTL_ACCEPT_PAUSE_CONTINUE ( 0x00000002 )
65 #define SVCCTL_ACCEPT_SHUTDOWN ( 0x00000004 )
66 #define SVCCTL_ACCEPT_PARAMCHANGE ( 0x00000008 )
67 #define SVCCTL_ACCEPT_NETBINDCHANGE ( 0x00000010 )
68 #define SVCCTL_ACCEPT_HARDWAREPROFILECHANGE ( 0x00000020 )
69 #define SVCCTL_ACCEPT_POWEREVENT ( 0x00000040 )
71 struct SERVICE_STATUS {
73 enum svcctl_ServiceStatus state;
74 uint32_t controls_accepted;
75 WERROR win32_exit_code;
76 uint32_t service_exit_code;
81 struct SERVICE_STATUS_PROCESS {
82 struct SERVICE_STATUS status;
84 uint32_t service_flags;
87 struct ENUM_SERVICE_STATUS {
88 const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
89 const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
90 struct SERVICE_STATUS status;
93 /* bitmap svcctl_ServerType */
94 #define SV_TYPE_WORKSTATION ( 0x00000001 )
95 #define SV_TYPE_SERVER ( 0x00000002 )
96 #define SV_TYPE_SQLSERVER ( 0x00000004 )
97 #define SV_TYPE_DOMAIN_CTRL ( 0x00000008 )
98 #define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 )
99 #define SV_TYPE_TIME_SOURCE ( 0x00000020 )
100 #define SV_TYPE_AFP ( 0x00000040 )
101 #define SV_TYPE_NOVELL ( 0x00000080 )
102 #define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 )
103 #define SV_TYPE_PRINTQ_SERVER ( 0x00000200 )
104 #define SV_TYPE_DIALIN_SERVER ( 0x00000400 )
105 #define SV_TYPE_SERVER_UNIX ( 0x00000800 )
106 #define SV_TYPE_NT ( 0x00001000 )
107 #define SV_TYPE_WFW ( 0x00002000 )
108 #define SV_TYPE_SERVER_MFPN ( 0x00004000 )
109 #define SV_TYPE_SERVER_NT ( 0x00008000 )
110 #define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 )
111 #define SV_TYPE_BACKUP_BROWSER ( 0x00020000 )
112 #define SV_TYPE_MASTER_BROWSER ( 0x00040000 )
113 #define SV_TYPE_DOMAIN_MASTER ( 0x00080000 )
114 #define SV_TYPE_SERVER_OSF ( 0x00100000 )
115 #define SV_TYPE_SERVER_VMS ( 0x00200000 )
116 #define SV_TYPE_WIN95_PLUS ( 0x00400000 )
117 #define SV_TYPE_DFS_SERVER ( 0x00800000 )
118 #define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 )
119 #define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 )
120 #define SV_TYPE_DOMAIN_ENUM ( 0x80000000 )
123 #ifndef USE_UINT_ENUMS
125 SVCCTL_CONTROL_STOP=0x00000001,
126 SVCCTL_CONTROL_PAUSE=0x00000002,
127 SVCCTL_CONTROL_CONTINUE=0x00000003,
128 SVCCTL_CONTROL_INTERROGATE=0x00000004,
129 SVCCTL_CONTROL_SHUTDOWN=0x00000005
132 { __donnot_use_enum_SERVICE_CONTROL=0x7FFFFFFF}
133 #define SVCCTL_CONTROL_STOP ( 0x00000001 )
134 #define SVCCTL_CONTROL_PAUSE ( 0x00000002 )
135 #define SVCCTL_CONTROL_CONTINUE ( 0x00000003 )
136 #define SVCCTL_CONTROL_INTERROGATE ( 0x00000004 )
137 #define SVCCTL_CONTROL_SHUTDOWN ( 0x00000005 )
141 enum svcctl_ErrorControl
142 #ifndef USE_UINT_ENUMS
144 SVCCTL_SVC_ERROR_IGNORE=0x00000000,
145 SVCCTL_SVC_ERROR_NORMAL=0x00000001,
146 SVCCTL_SVC_ERROR_CRITICAL=0x00000002,
147 SVCCTL_SVC_ERROR_SEVERE=0x00000003
150 { __donnot_use_enum_svcctl_ErrorControl=0x7FFFFFFF}
151 #define SVCCTL_SVC_ERROR_IGNORE ( 0x00000000 )
152 #define SVCCTL_SVC_ERROR_NORMAL ( 0x00000001 )
153 #define SVCCTL_SVC_ERROR_CRITICAL ( 0x00000002 )
154 #define SVCCTL_SVC_ERROR_SEVERE ( 0x00000003 )
158 enum svcctl_StartType
159 #ifndef USE_UINT_ENUMS
161 SVCCTL_BOOT_START=0x00000000,
162 SVCCTL_SYSTEM_START=0x00000001,
163 SVCCTL_AUTO_START=0x00000002,
164 SVCCTL_DEMAND_START=0x00000003,
165 SVCCTL_DISABLED=0x00000004
168 { __donnot_use_enum_svcctl_StartType=0x7FFFFFFF}
169 #define SVCCTL_BOOT_START ( 0x00000000 )
170 #define SVCCTL_SYSTEM_START ( 0x00000001 )
171 #define SVCCTL_AUTO_START ( 0x00000002 )
172 #define SVCCTL_DEMAND_START ( 0x00000003 )
173 #define SVCCTL_DISABLED ( 0x00000004 )
177 enum svcctl_ServiceState
178 #ifndef USE_UINT_ENUMS
180 SVCCTL_STATE_ACTIVE=0x00000001,
181 SVCCTL_STATE_INACTIVE=0x00000002,
182 SVCCTL_STATE_ALL=(SVCCTL_STATE_ACTIVE|SVCCTL_STATE_INACTIVE)
185 { __donnot_use_enum_svcctl_ServiceState=0x7FFFFFFF}
186 #define SVCCTL_STATE_ACTIVE ( 0x00000001 )
187 #define SVCCTL_STATE_INACTIVE ( 0x00000002 )
188 #define SVCCTL_STATE_ALL ( (SVCCTL_STATE_ACTIVE|SVCCTL_STATE_INACTIVE) )
192 /* bitmap svcctl_MgrAccessMask */
193 #define SC_RIGHT_MGR_CONNECT ( 0x0001 )
194 #define SC_RIGHT_MGR_CREATE_SERVICE ( 0x0002 )
195 #define SC_RIGHT_MGR_ENUMERATE_SERVICE ( 0x0004 )
196 #define SC_RIGHT_MGR_LOCK ( 0x0008 )
197 #define SC_RIGHT_MGR_QUERY_LOCK_STATUS ( 0x0010 )
198 #define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG ( 0x0020 )
200 /* bitmap svcctl_ServiceAccessMask */
201 #define SC_RIGHT_SVC_QUERY_CONFIG ( 0x0001 )
202 #define SC_RIGHT_SVC_CHANGE_CONFIG ( 0x0002 )
203 #define SC_RIGHT_SVC_QUERY_STATUS ( 0x0004 )
204 #define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS ( 0x0008 )
205 #define SC_RIGHT_SVC_START ( 0x0010 )
206 #define SC_RIGHT_SVC_STOP ( 0x0020 )
207 #define SC_RIGHT_SVC_PAUSE_CONTINUE ( 0x0040 )
208 #define SC_RIGHT_SVC_INTERROGATE ( 0x0080 )
209 #define SC_RIGHT_SVC_USER_DEFINED_CONTROL ( 0x0100 )
211 struct QUERY_SERVICE_CONFIG {
212 uint32_t service_type;
213 enum svcctl_StartType start_type;
214 enum svcctl_ErrorControl error_control;
215 const char *executablepath;/* [unique,range(0,8192),charset(UTF16)] */
216 const char *loadordergroup;/* [unique,range(0,8192),charset(UTF16)] */
218 const char *dependencies;/* [unique,range(0,8192),charset(UTF16)] */
219 const char *startname;/* [unique,range(0,8192),charset(UTF16)] */
220 const char *displayname;/* [unique,range(0,8192),charset(UTF16)] */
221 }/* [gensize,public] */;
223 enum svcctl_ConfigLevel
224 #ifndef USE_UINT_ENUMS
226 SERVICE_CONFIG_DESCRIPTION=0x00000001,
227 SERVICE_CONFIG_FAILURE_ACTIONS=0x00000002
230 { __donnot_use_enum_svcctl_ConfigLevel=0x7FFFFFFF}
231 #define SERVICE_CONFIG_DESCRIPTION ( 0x00000001 )
232 #define SERVICE_CONFIG_FAILURE_ACTIONS ( 0x00000002 )
236 struct SERVICE_DESCRIPTION {
237 const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
238 }/* [gensize,public] */;
241 #ifndef USE_UINT_ENUMS
246 SC_ACTION_RUN_COMMAND=3
249 { __donnot_use_enum_SC_ACTION_TYPE=0x7FFFFFFF}
250 #define SC_ACTION_NONE ( 0 )
251 #define SC_ACTION_RESTART ( 1 )
252 #define SC_ACTION_REBOOT ( 2 )
253 #define SC_ACTION_RUN_COMMAND ( 3 )
258 enum SC_ACTION_TYPE type;
262 struct SERVICE_FAILURE_ACTIONS {
263 uint32_t reset_period;
264 const char * rebootmsg;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
265 const char * command;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
266 uint32_t num_actions;/* [range(0,1024)] */
267 struct SC_ACTION *actions;/* [relative,size_is(num_actions)] */
268 }/* [gensize,public] */;
270 enum svcctl_StatusLevel
271 #ifndef USE_UINT_ENUMS
273 SVC_STATUS_PROCESS_INFO=0x00000000
276 { __donnot_use_enum_svcctl_StatusLevel=0x7FFFFFFF}
277 #define SVC_STATUS_PROCESS_INFO ( 0x00000000 )
282 struct svcctl_CloseServiceHandle {
284 struct policy_handle *handle;/* [ref] */
288 struct policy_handle *handle;/* [ref] */
295 struct svcctl_ControlService {
297 struct policy_handle *handle;/* [ref] */
298 enum SERVICE_CONTROL control;
302 struct SERVICE_STATUS *service_status;/* [ref] */
309 struct svcctl_DeleteService {
311 struct policy_handle *handle;/* [ref] */
321 struct svcctl_LockServiceDatabase {
323 struct policy_handle *handle;/* [ref] */
327 struct policy_handle *lock;/* [ref] */
334 struct svcctl_QueryServiceObjectSecurity {
336 struct policy_handle *handle;/* [ref] */
337 uint32_t security_flags;
338 uint32_t buffer_size;/* [range(0,0x40000)] */
342 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
343 uint32_t *needed;/* [ref,range(0,0x40000)] */
350 struct svcctl_SetServiceObjectSecurity {
352 struct policy_handle *handle;/* [ref] */
353 uint32_t security_flags;
354 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
355 uint32_t buffer_size;
365 struct svcctl_QueryServiceStatus {
367 struct policy_handle *handle;/* [ref] */
371 struct SERVICE_STATUS *service_status;/* [ref] */
378 struct svcctl_SetServiceStatus {
386 struct svcctl_UnlockServiceDatabase {
388 struct policy_handle *lock;/* [ref] */
392 struct policy_handle *lock;/* [ref] */
399 struct svcctl_NotifyBootConfigStatus {
407 struct svcctl_SCSetServiceBitsW {
409 struct policy_handle *handle;/* [ref] */
422 struct svcctl_ChangeServiceConfigW {
424 struct policy_handle *handle;/* [ref] */
426 enum svcctl_StartType start_type;
427 enum svcctl_ErrorControl error_control;
428 const char *binary_path;/* [unique,charset(UTF16)] */
429 const char *load_order_group;/* [unique,charset(UTF16)] */
430 const char *dependencies;/* [unique,charset(UTF16)] */
431 const char *service_start_name;/* [unique,charset(UTF16)] */
432 const char *password;/* [unique,charset(UTF16)] */
433 const char *display_name;/* [unique,charset(UTF16)] */
437 uint32_t *tag_id;/* [ref] */
444 struct svcctl_CreateServiceW {
446 struct policy_handle *scmanager_handle;/* [ref] */
447 const char *ServiceName;/* [charset(UTF16)] */
448 const char *DisplayName;/* [unique,charset(UTF16)] */
449 uint32_t desired_access;
451 enum svcctl_StartType start_type;
452 enum svcctl_ErrorControl error_control;
453 const char *binary_path;/* [charset(UTF16)] */
454 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
455 uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */
456 uint32_t dependencies_size;
457 const char *service_start_name;/* [unique,charset(UTF16)] */
458 uint8_t *password;/* [unique,size_is(password_size)] */
459 uint32_t password_size;
460 uint32_t *TagId;/* [unique] */
464 struct policy_handle *handle;/* [ref] */
465 uint32_t *TagId;/* [unique] */
472 struct svcctl_EnumDependentServicesW {
474 struct policy_handle *service;/* [ref] */
476 uint32_t buf_size;/* [range(0,0x40000)] */
480 uint8_t *service_status;/* [ref,size_is(buf_size)] */
481 uint32_t *bytes_needed;/* [ref,range(0,0x40000)] */
482 uint32_t *services_returned;/* [ref,range(0,0x40000)] */
489 struct svcctl_EnumServicesStatusW {
491 struct policy_handle *handle;/* [ref] */
493 enum svcctl_ServiceState state;
494 uint32_t buf_size;/* [range(0,262144)] */
495 uint32_t *resume_handle;/* [unique] */
499 uint8_t *service;/* [ref,size_is(buf_size)] */
500 uint32_t *bytes_needed;/* [ref,range(0,262144)] */
501 uint32_t *services_returned;/* [ref,range(0,262144)] */
502 uint32_t *resume_handle;/* [unique] */
509 struct svcctl_OpenSCManagerW {
511 const char *MachineName;/* [unique,charset(UTF16)] */
512 const char *DatabaseName;/* [unique,charset(UTF16)] */
513 uint32_t access_mask;
517 struct policy_handle *handle;/* [ref] */
524 struct svcctl_OpenServiceW {
526 struct policy_handle *scmanager_handle;/* [ref] */
527 const char *ServiceName;/* [charset(UTF16)] */
528 uint32_t access_mask;
532 struct policy_handle *handle;/* [ref] */
539 struct svcctl_QueryServiceConfigW {
541 struct policy_handle *handle;/* [ref] */
542 uint32_t buf_size;/* [range(0,8192)] */
546 struct QUERY_SERVICE_CONFIG *query;/* [ref] */
547 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
554 struct svcctl_QueryServiceLockStatusW {
556 struct policy_handle *handle;/* [ref] */
561 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
562 uint32_t *required_buf_size;/* [ref] */
569 struct svcctl_StartServiceW {
571 struct policy_handle *handle;/* [ref] */
573 const char *Arguments;/* [unique,charset(UTF16)] */
583 struct svcctl_GetServiceDisplayNameW {
585 struct policy_handle *handle;/* [ref] */
586 const char *service_name;/* [unique,charset(UTF16)] */
587 uint32_t *display_name_length;/* [unique] */
591 const char **display_name;/* [ref,charset(UTF16)] */
592 uint32_t *display_name_length;/* [unique] */
599 struct svcctl_GetServiceKeyNameW {
601 struct policy_handle *handle;/* [ref] */
602 const char *service_name;/* [unique,charset(UTF16)] */
603 uint32_t *display_name_length;/* [unique] */
607 const char **key_name;/* [ref,charset(UTF16)] */
608 uint32_t *display_name_length;/* [unique] */
615 struct svcctl_SCSetServiceBitsA {
617 struct policy_handle *handle;/* [ref] */
630 struct svcctl_ChangeServiceConfigA {
632 struct policy_handle *handle;/* [ref] */
634 enum svcctl_StartType start_type;
635 enum svcctl_ErrorControl error_control;
636 const char *binary_path;/* [unique,charset(UTF16)] */
637 const char *load_order_group;/* [unique,charset(UTF16)] */
638 const char *dependencies;/* [unique,charset(UTF16)] */
639 const char *service_start_name;/* [unique,charset(UTF16)] */
640 const char *password;/* [unique,charset(UTF16)] */
641 const char *display_name;/* [unique,charset(UTF16)] */
645 uint32_t *tag_id;/* [ref] */
652 struct svcctl_CreateServiceA {
654 struct policy_handle *handle;/* [ref] */
655 const char *ServiceName;/* [unique,charset(UTF16)] */
656 const char *DisplayName;/* [unique,charset(UTF16)] */
657 uint32_t desired_access;
659 enum svcctl_StartType start_type;
660 enum svcctl_ErrorControl error_control;
661 const char *binary_path;/* [unique,charset(UTF16)] */
662 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
663 const char *dependencies;/* [unique,charset(UTF16)] */
664 const char *service_start_name;/* [unique,charset(UTF16)] */
665 const char *password;/* [unique,charset(UTF16)] */
669 uint32_t *TagId;/* [unique] */
676 struct svcctl_EnumDependentServicesA {
678 struct policy_handle *service;/* [ref] */
684 struct ENUM_SERVICE_STATUS *service_status;/* [unique] */
685 uint32_t *bytes_needed;/* [ref] */
686 uint32_t *services_returned;/* [ref] */
693 struct svcctl_EnumServicesStatusA {
695 struct policy_handle *handle;/* [ref] */
699 uint32_t *resume_handle;/* [unique] */
703 uint8_t *service;/* [size_is(buf_size)] */
704 uint32_t *bytes_needed;/* [ref] */
705 uint32_t *services_returned;/* [ref] */
706 uint32_t *resume_handle;/* [unique] */
713 struct svcctl_OpenSCManagerA {
715 const char *MachineName;/* [unique,charset(UTF16)] */
716 const char *DatabaseName;/* [unique,charset(UTF16)] */
717 uint32_t access_mask;
721 struct policy_handle *handle;/* [ref] */
728 struct svcctl_OpenServiceA {
730 struct policy_handle *scmanager_handle;/* [ref] */
731 const char *ServiceName;/* [unique,charset(UTF16)] */
732 uint32_t access_mask;
742 struct svcctl_QueryServiceConfigA {
744 struct policy_handle *handle;/* [ref] */
750 uint32_t *bytes_needed;/* [ref] */
757 struct svcctl_QueryServiceLockStatusA {
759 struct policy_handle *handle;/* [ref] */
764 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
765 uint32_t *required_buf_size;/* [ref] */
772 struct svcctl_StartServiceA {
774 struct policy_handle *handle;/* [ref] */
776 const char *Arguments;/* [unique,charset(UTF16)] */
786 struct svcctl_GetServiceDisplayNameA {
788 struct policy_handle *handle;/* [ref] */
789 const char *service_name;/* [unique,charset(UTF16)] */
790 uint32_t *display_name_length;/* [unique] */
794 const char **display_name;/* [ref,charset(UTF16)] */
795 uint32_t *display_name_length;/* [unique] */
802 struct svcctl_GetServiceKeyNameA {
804 struct policy_handle *handle;/* [ref] */
805 const char *service_name;/* [unique,charset(UTF16)] */
806 uint32_t *display_name_length;/* [unique] */
810 const char **key_name;/* [ref,charset(UTF16)] */
811 uint32_t *display_name_length;/* [unique] */
818 struct svcctl_GetCurrentGroupeStateW {
826 struct svcctl_EnumServiceGroupW {
834 struct svcctl_ChangeServiceConfig2A {
836 struct policy_handle *handle;/* [ref] */
838 uint8_t *info;/* [unique] */
848 struct svcctl_ChangeServiceConfig2W {
850 struct policy_handle *handle;/* [ref] */
852 uint8_t *info;/* [unique] */
862 struct svcctl_QueryServiceConfig2A {
864 struct policy_handle *handle;/* [ref] */
865 enum svcctl_ConfigLevel info_level;
871 uint32_t *bytes_needed;/* [ref] */
878 struct svcctl_QueryServiceConfig2W {
880 struct policy_handle *handle;/* [ref] */
881 enum svcctl_ConfigLevel info_level;
882 uint32_t buf_size;/* [range(0,8192)] */
886 uint8_t *buffer;/* [ref,size_is(buf_size)] */
887 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
894 struct svcctl_QueryServiceStatusEx {
896 struct policy_handle *handle;/* [ref] */
897 enum svcctl_StatusLevel info_level;
898 uint32_t buf_size;/* [range(0,8192)] */
902 uint8_t *buffer;/* [ref,size_is(buf_size)] */
903 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
910 struct EnumServicesStatusExA {
912 struct policy_handle *scmanager;/* [ref] */
917 uint32_t *resume_handle;/* [unique] */
922 uint32_t *bytes_needed;/* [ref] */
923 uint32_t *service_returned;/* [ref] */
924 const char **group_name;/* [ref,charset(UTF16)] */
925 uint32_t *resume_handle;/* [unique] */
932 struct EnumServicesStatusExW {
934 struct policy_handle *scmanager;/* [ref] */
938 uint32_t buf_size;/* [range(0,262144)] */
939 const char *group_name;/* [unique,charset(UTF16)] */
940 uint32_t *resume_handle;/* [unique,range(0,262144)] */
944 uint8_t *services;/* [ref,size_is(buf_size)] */
945 uint32_t *bytes_needed;/* [ref,range(0,262144)] */
946 uint32_t *service_returned;/* [ref,range(0,262144)] */
947 uint32_t *resume_handle;/* [unique,range(0,262144)] */
954 struct svcctl_SCSendTSMessage {
961 #endif /* _HEADER_svcctl */