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 SV_TYPE_ALL ( 0xFFFFFFFF )
19 #define SC_MANAGER_READ_ACCESS ( (SEC_STD_READ_CONTROL|SC_RIGHT_MGR_CONNECT|SC_RIGHT_MGR_ENUMERATE_SERVICE|SC_RIGHT_MGR_QUERY_LOCK_STATUS) )
20 #define SC_MANAGER_EXECUTE_ACCESS ( SC_MANAGER_READ_ACCESS )
21 #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) )
22 #define SC_MANAGER_ALL_ACCESS ( SC_MANAGER_WRITE_ACCESS )
23 #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) )
24 #define SERVICE_EXECUTE_ACCESS ( (SERVICE_READ_ACCESS|SC_RIGHT_SVC_START|SC_RIGHT_SVC_STOP|SC_RIGHT_SVC_PAUSE_CONTINUE) )
25 #define SERVICE_WRITE_ACCESS ( (SEC_STD_REQUIRED|SERVICE_READ_ACCESS|SERVICE_EXECUTE_ACCESS|SC_RIGHT_SVC_CHANGE_CONFIG) )
26 #define SERVICE_ALL_ACCESS ( SERVICE_WRITE_ACCESS )
27 struct SERVICE_LOCK_STATUS {
29 const char *lock_owner;/* [unique,charset(UTF16)] */
30 uint32_t lock_duration;
33 enum svcctl_ServiceStatus
34 #ifndef USE_UINT_ENUMS
36 SVCCTL_STATE_UNKNOWN=0x00000000,
37 SVCCTL_STOPPED=0x00000001,
38 SVCCTL_START_PENDING=0x00000002,
39 SVCCTL_STOP_PENDING=0x00000003,
40 SVCCTL_RUNNING=0x00000004,
41 SVCCTL_CONTINUE_PENDING=0x00000005,
42 SVCCTL_PAUSE_PENDING=0x00000006,
43 SVCCTL_PAUSED=0x00000007
46 { __donnot_use_enum_svcctl_ServiceStatus=0x7FFFFFFF}
47 #define SVCCTL_STATE_UNKNOWN ( 0x00000000 )
48 #define SVCCTL_STOPPED ( 0x00000001 )
49 #define SVCCTL_START_PENDING ( 0x00000002 )
50 #define SVCCTL_STOP_PENDING ( 0x00000003 )
51 #define SVCCTL_RUNNING ( 0x00000004 )
52 #define SVCCTL_CONTINUE_PENDING ( 0x00000005 )
53 #define SVCCTL_PAUSE_PENDING ( 0x00000006 )
54 #define SVCCTL_PAUSED ( 0x00000007 )
58 /* bitmap svcctl_ControlsAccepted */
59 #define SVCCTL_ACCEPT_NONE ( 0x00000000 )
60 #define SVCCTL_ACCEPT_STOP ( 0x00000001 )
61 #define SVCCTL_ACCEPT_PAUSE_CONTINUE ( 0x00000002 )
62 #define SVCCTL_ACCEPT_SHUTDOWN ( 0x00000004 )
63 #define SVCCTL_ACCEPT_PARAMCHANGE ( 0x00000008 )
64 #define SVCCTL_ACCEPT_NETBINDCHANGE ( 0x00000010 )
65 #define SVCCTL_ACCEPT_HARDWAREPROFILECHANGE ( 0x00000020 )
66 #define SVCCTL_ACCEPT_POWEREVENT ( 0x00000040 )
68 struct SERVICE_STATUS {
70 enum svcctl_ServiceStatus state;
71 uint32_t controls_accepted;
72 WERROR win32_exit_code;
73 uint32_t service_exit_code;
78 struct SERVICE_STATUS_PROCESS {
79 struct SERVICE_STATUS status;
81 uint32_t service_flags;
84 struct ENUM_SERVICE_STATUSW {
85 const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
86 const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
87 struct SERVICE_STATUS status;
88 }/* [gensize,public] */;
90 struct ENUM_SERVICE_STATUSA {
91 const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
92 const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
93 struct SERVICE_STATUS status;
94 }/* [gensize,public] */;
96 /* bitmap svcctl_ServerType */
97 #define SV_TYPE_WORKSTATION ( 0x00000001 )
98 #define SV_TYPE_SERVER ( 0x00000002 )
99 #define SV_TYPE_SQLSERVER ( 0x00000004 )
100 #define SV_TYPE_DOMAIN_CTRL ( 0x00000008 )
101 #define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 )
102 #define SV_TYPE_TIME_SOURCE ( 0x00000020 )
103 #define SV_TYPE_AFP ( 0x00000040 )
104 #define SV_TYPE_NOVELL ( 0x00000080 )
105 #define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 )
106 #define SV_TYPE_PRINTQ_SERVER ( 0x00000200 )
107 #define SV_TYPE_DIALIN_SERVER ( 0x00000400 )
108 #define SV_TYPE_SERVER_UNIX ( 0x00000800 )
109 #define SV_TYPE_NT ( 0x00001000 )
110 #define SV_TYPE_WFW ( 0x00002000 )
111 #define SV_TYPE_SERVER_MFPN ( 0x00004000 )
112 #define SV_TYPE_SERVER_NT ( 0x00008000 )
113 #define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 )
114 #define SV_TYPE_BACKUP_BROWSER ( 0x00020000 )
115 #define SV_TYPE_MASTER_BROWSER ( 0x00040000 )
116 #define SV_TYPE_DOMAIN_MASTER ( 0x00080000 )
117 #define SV_TYPE_SERVER_OSF ( 0x00100000 )
118 #define SV_TYPE_SERVER_VMS ( 0x00200000 )
119 #define SV_TYPE_WIN95_PLUS ( 0x00400000 )
120 #define SV_TYPE_DFS_SERVER ( 0x00800000 )
121 #define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 )
122 #define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 )
123 #define SV_TYPE_DOMAIN_ENUM ( 0x80000000 )
126 #ifndef USE_UINT_ENUMS
128 SVCCTL_CONTROL_STOP=0x00000001,
129 SVCCTL_CONTROL_PAUSE=0x00000002,
130 SVCCTL_CONTROL_CONTINUE=0x00000003,
131 SVCCTL_CONTROL_INTERROGATE=0x00000004,
132 SVCCTL_CONTROL_SHUTDOWN=0x00000005
135 { __donnot_use_enum_SERVICE_CONTROL=0x7FFFFFFF}
136 #define SVCCTL_CONTROL_STOP ( 0x00000001 )
137 #define SVCCTL_CONTROL_PAUSE ( 0x00000002 )
138 #define SVCCTL_CONTROL_CONTINUE ( 0x00000003 )
139 #define SVCCTL_CONTROL_INTERROGATE ( 0x00000004 )
140 #define SVCCTL_CONTROL_SHUTDOWN ( 0x00000005 )
144 enum svcctl_ErrorControl
145 #ifndef USE_UINT_ENUMS
147 SVCCTL_SVC_ERROR_IGNORE=0x00000000,
148 SVCCTL_SVC_ERROR_NORMAL=0x00000001,
149 SVCCTL_SVC_ERROR_CRITICAL=0x00000002,
150 SVCCTL_SVC_ERROR_SEVERE=0x00000003
153 { __donnot_use_enum_svcctl_ErrorControl=0x7FFFFFFF}
154 #define SVCCTL_SVC_ERROR_IGNORE ( 0x00000000 )
155 #define SVCCTL_SVC_ERROR_NORMAL ( 0x00000001 )
156 #define SVCCTL_SVC_ERROR_CRITICAL ( 0x00000002 )
157 #define SVCCTL_SVC_ERROR_SEVERE ( 0x00000003 )
161 enum svcctl_StartType
162 #ifndef USE_UINT_ENUMS
164 SVCCTL_BOOT_START=0x00000000,
165 SVCCTL_SYSTEM_START=0x00000001,
166 SVCCTL_AUTO_START=0x00000002,
167 SVCCTL_DEMAND_START=0x00000003,
168 SVCCTL_DISABLED=0x00000004
171 { __donnot_use_enum_svcctl_StartType=0x7FFFFFFF}
172 #define SVCCTL_BOOT_START ( 0x00000000 )
173 #define SVCCTL_SYSTEM_START ( 0x00000001 )
174 #define SVCCTL_AUTO_START ( 0x00000002 )
175 #define SVCCTL_DEMAND_START ( 0x00000003 )
176 #define SVCCTL_DISABLED ( 0x00000004 )
180 enum svcctl_ServiceState
181 #ifndef USE_UINT_ENUMS
183 SERVICE_STATE_ACTIVE=0x00000001,
184 SERVICE_STATE_INACTIVE=0x00000002,
185 SERVICE_STATE_ALL=(SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE)
188 { __donnot_use_enum_svcctl_ServiceState=0x7FFFFFFF}
189 #define SERVICE_STATE_ACTIVE ( 0x00000001 )
190 #define SERVICE_STATE_INACTIVE ( 0x00000002 )
191 #define SERVICE_STATE_ALL ( (SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE) )
195 /* bitmap svcctl_MgrAccessMask */
196 #define SC_RIGHT_MGR_CONNECT ( 0x0001 )
197 #define SC_RIGHT_MGR_CREATE_SERVICE ( 0x0002 )
198 #define SC_RIGHT_MGR_ENUMERATE_SERVICE ( 0x0004 )
199 #define SC_RIGHT_MGR_LOCK ( 0x0008 )
200 #define SC_RIGHT_MGR_QUERY_LOCK_STATUS ( 0x0010 )
201 #define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG ( 0x0020 )
203 /* bitmap svcctl_ServiceAccessMask */
204 #define SC_RIGHT_SVC_QUERY_CONFIG ( 0x0001 )
205 #define SC_RIGHT_SVC_CHANGE_CONFIG ( 0x0002 )
206 #define SC_RIGHT_SVC_QUERY_STATUS ( 0x0004 )
207 #define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS ( 0x0008 )
208 #define SC_RIGHT_SVC_START ( 0x0010 )
209 #define SC_RIGHT_SVC_STOP ( 0x0020 )
210 #define SC_RIGHT_SVC_PAUSE_CONTINUE ( 0x0040 )
211 #define SC_RIGHT_SVC_INTERROGATE ( 0x0080 )
212 #define SC_RIGHT_SVC_USER_DEFINED_CONTROL ( 0x0100 )
214 struct QUERY_SERVICE_CONFIG {
215 uint32_t service_type;
216 enum svcctl_StartType start_type;
217 enum svcctl_ErrorControl error_control;
218 const char *executablepath;/* [unique,range(0,8192),charset(UTF16)] */
219 const char *loadordergroup;/* [unique,range(0,8192),charset(UTF16)] */
221 const char *dependencies;/* [unique,range(0,8192),charset(UTF16)] */
222 const char *startname;/* [unique,range(0,8192),charset(UTF16)] */
223 const char *displayname;/* [unique,range(0,8192),charset(UTF16)] */
224 }/* [gensize,public] */;
226 enum svcctl_ConfigLevel
227 #ifndef USE_UINT_ENUMS
229 SERVICE_CONFIG_DESCRIPTION=0x00000001,
230 SERVICE_CONFIG_FAILURE_ACTIONS=0x00000002
233 { __donnot_use_enum_svcctl_ConfigLevel=0x7FFFFFFF}
234 #define SERVICE_CONFIG_DESCRIPTION ( 0x00000001 )
235 #define SERVICE_CONFIG_FAILURE_ACTIONS ( 0x00000002 )
239 struct SERVICE_DESCRIPTION {
240 const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
241 }/* [gensize,public] */;
244 #ifndef USE_UINT_ENUMS
249 SC_ACTION_RUN_COMMAND=3
252 { __donnot_use_enum_SC_ACTION_TYPE=0x7FFFFFFF}
253 #define SC_ACTION_NONE ( 0 )
254 #define SC_ACTION_RESTART ( 1 )
255 #define SC_ACTION_REBOOT ( 2 )
256 #define SC_ACTION_RUN_COMMAND ( 3 )
261 enum SC_ACTION_TYPE type;
265 struct SERVICE_FAILURE_ACTIONS {
266 uint32_t reset_period;
267 const char * rebootmsg;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
268 const char * command;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
269 uint32_t num_actions;/* [range(0,1024)] */
270 struct SC_ACTION *actions;/* [relative,size_is(num_actions)] */
271 }/* [gensize,public] */;
273 enum svcctl_StatusLevel
274 #ifndef USE_UINT_ENUMS
276 SVC_STATUS_PROCESS_INFO=0x00000000
279 { __donnot_use_enum_svcctl_StatusLevel=0x7FFFFFFF}
280 #define SVC_STATUS_PROCESS_INFO ( 0x00000000 )
285 struct svcctl_CloseServiceHandle {
287 struct policy_handle *handle;/* [ref] */
291 struct policy_handle *handle;/* [ref] */
298 struct svcctl_ControlService {
300 struct policy_handle *handle;/* [ref] */
301 enum SERVICE_CONTROL control;
305 struct SERVICE_STATUS *service_status;/* [ref] */
312 struct svcctl_DeleteService {
314 struct policy_handle *handle;/* [ref] */
324 struct svcctl_LockServiceDatabase {
326 struct policy_handle *handle;/* [ref] */
330 struct policy_handle *lock;/* [ref] */
337 struct svcctl_QueryServiceObjectSecurity {
339 struct policy_handle *handle;/* [ref] */
340 uint32_t security_flags;
341 uint32_t buffer_size;/* [range(0,0x40000)] */
345 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
346 uint32_t *needed;/* [ref,range(0,0x40000)] */
353 struct svcctl_SetServiceObjectSecurity {
355 struct policy_handle *handle;/* [ref] */
356 uint32_t security_flags;
357 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
358 uint32_t buffer_size;
368 struct svcctl_QueryServiceStatus {
370 struct policy_handle *handle;/* [ref] */
374 struct SERVICE_STATUS *service_status;/* [ref] */
381 struct svcctl_SetServiceStatus {
389 struct svcctl_UnlockServiceDatabase {
391 struct policy_handle *lock;/* [ref] */
395 struct policy_handle *lock;/* [ref] */
402 struct svcctl_NotifyBootConfigStatus {
410 struct svcctl_SCSetServiceBitsW {
412 struct policy_handle *handle;/* [ref] */
425 struct svcctl_ChangeServiceConfigW {
427 struct policy_handle *handle;/* [ref] */
429 enum svcctl_StartType start_type;
430 enum svcctl_ErrorControl error_control;
431 const char *binary_path;/* [unique,charset(UTF16)] */
432 const char *load_order_group;/* [unique,charset(UTF16)] */
433 const char *dependencies;/* [unique,charset(UTF16)] */
434 const char *service_start_name;/* [unique,charset(UTF16)] */
435 const char *password;/* [unique,charset(UTF16)] */
436 const char *display_name;/* [unique,charset(UTF16)] */
440 uint32_t *tag_id;/* [ref] */
447 struct svcctl_CreateServiceW {
449 struct policy_handle *scmanager_handle;/* [ref] */
450 const char *ServiceName;/* [charset(UTF16)] */
451 const char *DisplayName;/* [unique,charset(UTF16)] */
452 uint32_t desired_access;
454 enum svcctl_StartType start_type;
455 enum svcctl_ErrorControl error_control;
456 const char *binary_path;/* [charset(UTF16)] */
457 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
458 uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */
459 uint32_t dependencies_size;
460 const char *service_start_name;/* [unique,charset(UTF16)] */
461 uint8_t *password;/* [unique,size_is(password_size)] */
462 uint32_t password_size;
463 uint32_t *TagId;/* [unique] */
467 struct policy_handle *handle;/* [ref] */
468 uint32_t *TagId;/* [unique] */
475 struct svcctl_EnumDependentServicesW {
477 struct policy_handle *service;/* [ref] */
479 uint32_t buf_size;/* [range(0,0x40000)] */
483 uint8_t *service_status;/* [ref,size_is(buf_size)] */
484 uint32_t *bytes_needed;/* [ref,range(0,0x40000)] */
485 uint32_t *services_returned;/* [ref,range(0,0x40000)] */
492 struct svcctl_EnumServicesStatusW {
494 struct policy_handle *handle;/* [ref] */
496 enum svcctl_ServiceState state;
497 uint32_t buf_size;/* [range(0,0x40000)] */
498 uint32_t *resume_handle;/* [unique] */
502 uint8_t *service;/* [ref,size_is(buf_size)] */
503 uint32_t *bytes_needed;/* [ref,range(0,0x40000)] */
504 uint32_t *services_returned;/* [ref,range(0,0x40000)] */
505 uint32_t *resume_handle;/* [unique] */
512 struct svcctl_OpenSCManagerW {
514 const char *MachineName;/* [unique,charset(UTF16)] */
515 const char *DatabaseName;/* [unique,charset(UTF16)] */
516 uint32_t access_mask;
520 struct policy_handle *handle;/* [ref] */
527 struct svcctl_OpenServiceW {
529 struct policy_handle *scmanager_handle;/* [ref] */
530 const char *ServiceName;/* [charset(UTF16)] */
531 uint32_t access_mask;
535 struct policy_handle *handle;/* [ref] */
542 struct svcctl_QueryServiceConfigW {
544 struct policy_handle *handle;/* [ref] */
545 uint32_t buf_size;/* [range(0,8192)] */
549 struct QUERY_SERVICE_CONFIG *query;/* [ref] */
550 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
557 struct svcctl_QueryServiceLockStatusW {
559 struct policy_handle *handle;/* [ref] */
564 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
565 uint32_t *required_buf_size;/* [ref] */
572 struct svcctl_StartServiceW {
574 struct policy_handle *handle;/* [ref] */
576 const char *Arguments;/* [unique,charset(UTF16)] */
586 struct svcctl_GetServiceDisplayNameW {
588 struct policy_handle *handle;/* [ref] */
589 const char *service_name;/* [unique,charset(UTF16)] */
590 uint32_t *display_name_length;/* [unique] */
594 const char **display_name;/* [ref,charset(UTF16)] */
595 uint32_t *display_name_length;/* [unique] */
602 struct svcctl_GetServiceKeyNameW {
604 struct policy_handle *handle;/* [ref] */
605 const char *service_name;/* [unique,charset(UTF16)] */
606 uint32_t *display_name_length;/* [unique] */
610 const char **key_name;/* [ref,charset(UTF16)] */
611 uint32_t *display_name_length;/* [unique] */
618 struct svcctl_SCSetServiceBitsA {
620 struct policy_handle *handle;/* [ref] */
633 struct svcctl_ChangeServiceConfigA {
635 struct policy_handle *handle;/* [ref] */
637 enum svcctl_StartType start_type;
638 enum svcctl_ErrorControl error_control;
639 const char *binary_path;/* [unique,charset(UTF16)] */
640 const char *load_order_group;/* [unique,charset(UTF16)] */
641 const char *dependencies;/* [unique,charset(UTF16)] */
642 const char *service_start_name;/* [unique,charset(UTF16)] */
643 const char *password;/* [unique,charset(UTF16)] */
644 const char *display_name;/* [unique,charset(UTF16)] */
648 uint32_t *tag_id;/* [ref] */
655 struct svcctl_CreateServiceA {
657 struct policy_handle *handle;/* [ref] */
658 const char *ServiceName;/* [unique,charset(UTF16)] */
659 const char *DisplayName;/* [unique,charset(UTF16)] */
660 uint32_t desired_access;
662 enum svcctl_StartType start_type;
663 enum svcctl_ErrorControl error_control;
664 const char *binary_path;/* [unique,charset(UTF16)] */
665 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
666 const char *dependencies;/* [unique,charset(UTF16)] */
667 const char *service_start_name;/* [unique,charset(UTF16)] */
668 const char *password;/* [unique,charset(UTF16)] */
672 uint32_t *TagId;/* [unique] */
679 struct svcctl_EnumDependentServicesA {
681 struct policy_handle *service;/* [ref] */
687 struct ENUM_SERVICE_STATUSA *service_status;/* [unique] */
688 uint32_t *bytes_needed;/* [ref] */
689 uint32_t *services_returned;/* [ref] */
696 struct svcctl_EnumServicesStatusA {
698 struct policy_handle *handle;/* [ref] */
700 enum svcctl_ServiceState state;
702 uint32_t *resume_handle;/* [unique] */
706 uint8_t *service;/* [size_is(buf_size)] */
707 uint32_t *bytes_needed;/* [ref] */
708 uint32_t *services_returned;/* [ref] */
709 uint32_t *resume_handle;/* [unique] */
716 struct svcctl_OpenSCManagerA {
718 const char *MachineName;/* [unique,charset(UTF16)] */
719 const char *DatabaseName;/* [unique,charset(UTF16)] */
720 uint32_t access_mask;
724 struct policy_handle *handle;/* [ref] */
731 struct svcctl_OpenServiceA {
733 struct policy_handle *scmanager_handle;/* [ref] */
734 const char *ServiceName;/* [unique,charset(UTF16)] */
735 uint32_t access_mask;
745 struct svcctl_QueryServiceConfigA {
747 struct policy_handle *handle;/* [ref] */
753 uint32_t *bytes_needed;/* [ref] */
760 struct svcctl_QueryServiceLockStatusA {
762 struct policy_handle *handle;/* [ref] */
767 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
768 uint32_t *required_buf_size;/* [ref] */
775 struct svcctl_StartServiceA {
777 struct policy_handle *handle;/* [ref] */
779 const char *Arguments;/* [unique,charset(UTF16)] */
789 struct svcctl_GetServiceDisplayNameA {
791 struct policy_handle *handle;/* [ref] */
792 const char *service_name;/* [unique,charset(UTF16)] */
793 uint32_t *display_name_length;/* [unique] */
797 const char **display_name;/* [ref,charset(UTF16)] */
798 uint32_t *display_name_length;/* [unique] */
805 struct svcctl_GetServiceKeyNameA {
807 struct policy_handle *handle;/* [ref] */
808 const char *service_name;/* [unique,charset(UTF16)] */
809 uint32_t *display_name_length;/* [unique] */
813 const char **key_name;/* [ref,charset(UTF16)] */
814 uint32_t *display_name_length;/* [unique] */
821 struct svcctl_GetCurrentGroupeStateW {
829 struct svcctl_EnumServiceGroupW {
837 struct svcctl_ChangeServiceConfig2A {
839 struct policy_handle *handle;/* [ref] */
841 uint8_t *info;/* [unique] */
851 struct svcctl_ChangeServiceConfig2W {
853 struct policy_handle *handle;/* [ref] */
855 uint8_t *info;/* [unique] */
865 struct svcctl_QueryServiceConfig2A {
867 struct policy_handle *handle;/* [ref] */
868 enum svcctl_ConfigLevel info_level;
874 uint32_t *bytes_needed;/* [ref] */
881 struct svcctl_QueryServiceConfig2W {
883 struct policy_handle *handle;/* [ref] */
884 enum svcctl_ConfigLevel info_level;
885 uint32_t buf_size;/* [range(0,8192)] */
889 uint8_t *buffer;/* [ref,size_is(buf_size)] */
890 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
897 struct svcctl_QueryServiceStatusEx {
899 struct policy_handle *handle;/* [ref] */
900 enum svcctl_StatusLevel info_level;
901 uint32_t buf_size;/* [range(0,8192)] */
905 uint8_t *buffer;/* [ref,size_is(buf_size)] */
906 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
913 struct EnumServicesStatusExA {
915 struct policy_handle *scmanager;/* [ref] */
918 enum svcctl_ServiceState state;
920 uint32_t *resume_handle;/* [unique] */
925 uint32_t *bytes_needed;/* [ref] */
926 uint32_t *service_returned;/* [ref] */
927 const char **group_name;/* [ref,charset(UTF16)] */
928 uint32_t *resume_handle;/* [unique] */
935 struct EnumServicesStatusExW {
937 struct policy_handle *scmanager;/* [ref] */
940 enum svcctl_ServiceState state;
941 uint32_t buf_size;/* [range(0,0x40000)] */
942 const char *group_name;/* [unique,charset(UTF16)] */
943 uint32_t *resume_handle;/* [unique,range(0,0x40000)] */
947 uint8_t *services;/* [ref,size_is(buf_size)] */
948 uint32_t *bytes_needed;/* [ref,range(0,0x40000)] */
949 uint32_t *service_returned;/* [ref,range(0,0x40000)] */
950 uint32_t *resume_handle;/* [unique,range(0,0x40000)] */
957 struct svcctl_SCSendTSMessage {
964 #endif /* _HEADER_svcctl */