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 struct SERVICE_STATUS {
39 uint32_t controls_accepted;
40 WERROR win32_exit_code;
41 uint32_t service_exit_code;
46 struct SERVICE_STATUS_PROCESS {
47 struct SERVICE_STATUS status;
49 uint32_t service_flags;
52 struct ENUM_SERVICE_STATUS {
53 const char * service_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
54 const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
55 struct SERVICE_STATUS status;
58 /* bitmap svcctl_ServerType */
59 #define SV_TYPE_WORKSTATION ( 0x00000001 )
60 #define SV_TYPE_SERVER ( 0x00000002 )
61 #define SV_TYPE_SQLSERVER ( 0x00000004 )
62 #define SV_TYPE_DOMAIN_CTRL ( 0x00000008 )
63 #define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 )
64 #define SV_TYPE_TIME_SOURCE ( 0x00000020 )
65 #define SV_TYPE_AFP ( 0x00000040 )
66 #define SV_TYPE_NOVELL ( 0x00000080 )
67 #define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 )
68 #define SV_TYPE_PRINTQ_SERVER ( 0x00000200 )
69 #define SV_TYPE_DIALIN_SERVER ( 0x00000400 )
70 #define SV_TYPE_SERVER_UNIX ( 0x00000800 )
71 #define SV_TYPE_NT ( 0x00001000 )
72 #define SV_TYPE_WFW ( 0x00002000 )
73 #define SV_TYPE_SERVER_MFPN ( 0x00004000 )
74 #define SV_TYPE_SERVER_NT ( 0x00008000 )
75 #define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 )
76 #define SV_TYPE_BACKUP_BROWSER ( 0x00020000 )
77 #define SV_TYPE_MASTER_BROWSER ( 0x00040000 )
78 #define SV_TYPE_DOMAIN_MASTER ( 0x00080000 )
79 #define SV_TYPE_SERVER_OSF ( 0x00100000 )
80 #define SV_TYPE_SERVER_VMS ( 0x00200000 )
81 #define SV_TYPE_WIN95_PLUS ( 0x00400000 )
82 #define SV_TYPE_DFS_SERVER ( 0x00800000 )
83 #define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 )
84 #define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 )
85 #define SV_TYPE_DOMAIN_ENUM ( 0x80000000 )
88 #ifndef USE_UINT_ENUMS
90 SVCCTL_CONTROL_STOP=0x00000001,
91 SVCCTL_CONTROL_PAUSE=0x00000002,
92 SVCCTL_CONTROL_CONTINUE=0x00000003,
93 SVCCTL_CONTROL_INTERROGATE=0x00000004,
94 SVCCTL_CONTROL_SHUTDOWN=0x00000005
97 { __donnot_use_enum_SERVICE_CONTROL=0x7FFFFFFF}
98 #define SVCCTL_CONTROL_STOP ( 0x00000001 )
99 #define SVCCTL_CONTROL_PAUSE ( 0x00000002 )
100 #define SVCCTL_CONTROL_CONTINUE ( 0x00000003 )
101 #define SVCCTL_CONTROL_INTERROGATE ( 0x00000004 )
102 #define SVCCTL_CONTROL_SHUTDOWN ( 0x00000005 )
106 enum svcctl_ErrorControl
107 #ifndef USE_UINT_ENUMS
109 SVCCTL_SVC_ERROR_IGNORE=0x00000000,
110 SVCCTL_SVC_ERROR_NORMAL=0x00000001,
111 SVCCTL_SVC_ERROR_CRITICAL=0x00000002,
112 SVCCTL_SVC_ERROR_SEVERE=0x00000003
115 { __donnot_use_enum_svcctl_ErrorControl=0x7FFFFFFF}
116 #define SVCCTL_SVC_ERROR_IGNORE ( 0x00000000 )
117 #define SVCCTL_SVC_ERROR_NORMAL ( 0x00000001 )
118 #define SVCCTL_SVC_ERROR_CRITICAL ( 0x00000002 )
119 #define SVCCTL_SVC_ERROR_SEVERE ( 0x00000003 )
123 enum svcctl_StartType
124 #ifndef USE_UINT_ENUMS
126 SVCCTL_BOOT_START=0x00000000,
127 SVCCTL_SYSTEM_START=0x00000001,
128 SVCCTL_AUTO_START=0x00000002,
129 SVCCTL_DEMAND_START=0x00000003,
130 SVCCTL_DISABLED=0x00000004
133 { __donnot_use_enum_svcctl_StartType=0x7FFFFFFF}
134 #define SVCCTL_BOOT_START ( 0x00000000 )
135 #define SVCCTL_SYSTEM_START ( 0x00000001 )
136 #define SVCCTL_AUTO_START ( 0x00000002 )
137 #define SVCCTL_DEMAND_START ( 0x00000003 )
138 #define SVCCTL_DISABLED ( 0x00000004 )
142 enum svcctl_ServiceState
143 #ifndef USE_UINT_ENUMS
145 SVCCTL_STATE_ACTIVE=0x00000001,
146 SVCCTL_STATE_INACTIVE=0x00000002,
147 SVCCTL_STATE_ALL=(SVCCTL_STATE_ACTIVE|SVCCTL_STATE_INACTIVE)
150 { __donnot_use_enum_svcctl_ServiceState=0x7FFFFFFF}
151 #define SVCCTL_STATE_ACTIVE ( 0x00000001 )
152 #define SVCCTL_STATE_INACTIVE ( 0x00000002 )
153 #define SVCCTL_STATE_ALL ( (SVCCTL_STATE_ACTIVE|SVCCTL_STATE_INACTIVE) )
157 /* bitmap svcctl_MgrAccessMask */
158 #define SC_RIGHT_MGR_CONNECT ( 0x0001 )
159 #define SC_RIGHT_MGR_CREATE_SERVICE ( 0x0002 )
160 #define SC_RIGHT_MGR_ENUMERATE_SERVICE ( 0x0004 )
161 #define SC_RIGHT_MGR_LOCK ( 0x0008 )
162 #define SC_RIGHT_MGR_QUERY_LOCK_STATUS ( 0x0010 )
163 #define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG ( 0x0020 )
165 /* bitmap svcctl_ServiceAccessMask */
166 #define SC_RIGHT_SVC_QUERY_CONFIG ( 0x0001 )
167 #define SC_RIGHT_SVC_CHANGE_CONFIG ( 0x0002 )
168 #define SC_RIGHT_SVC_QUERY_STATUS ( 0x0004 )
169 #define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS ( 0x0008 )
170 #define SC_RIGHT_SVC_START ( 0x0010 )
171 #define SC_RIGHT_SVC_STOP ( 0x0020 )
172 #define SC_RIGHT_SVC_PAUSE_CONTINUE ( 0x0040 )
173 #define SC_RIGHT_SVC_INTERROGATE ( 0x0080 )
174 #define SC_RIGHT_SVC_USER_DEFINED_CONTROL ( 0x0100 )
176 struct QUERY_SERVICE_CONFIG {
177 uint32_t service_type;
178 enum svcctl_StartType start_type;
179 enum svcctl_ErrorControl error_control;
180 const char *executablepath;/* [unique,range(0,8192),charset(UTF16)] */
181 const char *loadordergroup;/* [unique,range(0,8192),charset(UTF16)] */
183 const char *dependencies;/* [unique,range(0,8192),charset(UTF16)] */
184 const char *startname;/* [unique,range(0,8192),charset(UTF16)] */
185 const char *displayname;/* [unique,range(0,8192),charset(UTF16)] */
186 }/* [gensize,public] */;
188 enum svcctl_ConfigLevel
189 #ifndef USE_UINT_ENUMS
191 SERVICE_CONFIG_DESCRIPTION=0x00000001,
192 SERVICE_CONFIG_FAILURE_ACTIONS=0x00000002
195 { __donnot_use_enum_svcctl_ConfigLevel=0x7FFFFFFF}
196 #define SERVICE_CONFIG_DESCRIPTION ( 0x00000001 )
197 #define SERVICE_CONFIG_FAILURE_ACTIONS ( 0x00000002 )
201 struct SERVICE_DESCRIPTION {
202 const char * description;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
203 }/* [gensize,public] */;
206 #ifndef USE_UINT_ENUMS
211 SC_ACTION_RUN_COMMAND=3
214 { __donnot_use_enum_SC_ACTION_TYPE=0x7FFFFFFF}
215 #define SC_ACTION_NONE ( 0 )
216 #define SC_ACTION_RESTART ( 1 )
217 #define SC_ACTION_REBOOT ( 2 )
218 #define SC_ACTION_RUN_COMMAND ( 3 )
223 enum SC_ACTION_TYPE type;
227 struct SERVICE_FAILURE_ACTIONS {
228 uint32_t reset_period;
229 const char * rebootmsg;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
230 const char * command;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
231 uint32_t num_actions;/* [range(0,1024)] */
232 struct SC_ACTION *actions;/* [relative,size_is(num_actions)] */
233 }/* [gensize,public] */;
235 enum svcctl_StatusLevel
236 #ifndef USE_UINT_ENUMS
238 SVC_STATUS_PROCESS_INFO=0x00000000
241 { __donnot_use_enum_svcctl_StatusLevel=0x7FFFFFFF}
242 #define SVC_STATUS_PROCESS_INFO ( 0x00000000 )
247 struct svcctl_CloseServiceHandle {
249 struct policy_handle *handle;/* [ref] */
253 struct policy_handle *handle;/* [ref] */
260 struct svcctl_ControlService {
262 struct policy_handle *handle;/* [ref] */
263 enum SERVICE_CONTROL control;
267 struct SERVICE_STATUS *service_status;/* [ref] */
274 struct svcctl_DeleteService {
276 struct policy_handle *handle;/* [ref] */
286 struct svcctl_LockServiceDatabase {
288 struct policy_handle *handle;/* [ref] */
292 struct policy_handle *lock;/* [ref] */
299 struct svcctl_QueryServiceObjectSecurity {
301 struct policy_handle *handle;/* [ref] */
302 uint32_t security_flags;
303 uint32_t buffer_size;/* [range(0,0x40000)] */
307 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
308 uint32_t *needed;/* [ref,range(0,0x40000)] */
315 struct svcctl_SetServiceObjectSecurity {
317 struct policy_handle *handle;/* [ref] */
318 uint32_t security_flags;
319 uint8_t *buffer;/* [ref,size_is(buffer_size)] */
320 uint32_t buffer_size;
330 struct svcctl_QueryServiceStatus {
332 struct policy_handle *handle;/* [ref] */
336 struct SERVICE_STATUS *service_status;/* [ref] */
343 struct svcctl_SetServiceStatus {
351 struct svcctl_UnlockServiceDatabase {
353 struct policy_handle *lock;/* [ref] */
357 struct policy_handle *lock;/* [ref] */
364 struct svcctl_NotifyBootConfigStatus {
372 struct svcctl_SCSetServiceBitsW {
374 struct policy_handle *handle;/* [ref] */
387 struct svcctl_ChangeServiceConfigW {
389 struct policy_handle *handle;/* [ref] */
391 enum svcctl_StartType start_type;
392 enum svcctl_ErrorControl error_control;
393 const char *binary_path;/* [unique,charset(UTF16)] */
394 const char *load_order_group;/* [unique,charset(UTF16)] */
395 const char *dependencies;/* [unique,charset(UTF16)] */
396 const char *service_start_name;/* [unique,charset(UTF16)] */
397 const char *password;/* [unique,charset(UTF16)] */
398 const char *display_name;/* [unique,charset(UTF16)] */
402 uint32_t *tag_id;/* [ref] */
409 struct svcctl_CreateServiceW {
411 struct policy_handle *scmanager_handle;/* [ref] */
412 const char *ServiceName;/* [charset(UTF16)] */
413 const char *DisplayName;/* [unique,charset(UTF16)] */
414 uint32_t desired_access;
416 enum svcctl_StartType start_type;
417 enum svcctl_ErrorControl error_control;
418 const char *binary_path;/* [charset(UTF16)] */
419 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
420 uint8_t *dependencies;/* [unique,size_is(dependencies_size)] */
421 uint32_t dependencies_size;
422 const char *service_start_name;/* [unique,charset(UTF16)] */
423 uint8_t *password;/* [unique,size_is(password_size)] */
424 uint32_t password_size;
425 uint32_t *TagId;/* [unique] */
429 struct policy_handle *handle;/* [ref] */
430 uint32_t *TagId;/* [unique] */
437 struct svcctl_EnumDependentServicesW {
439 struct policy_handle *service;/* [ref] */
441 uint32_t buf_size;/* [range(0,0x40000)] */
445 uint8_t *service_status;/* [ref,size_is(buf_size)] */
446 uint32_t *bytes_needed;/* [ref,range(0,0x40000)] */
447 uint32_t *services_returned;/* [ref,range(0,0x40000)] */
454 struct svcctl_EnumServicesStatusW {
456 struct policy_handle *handle;/* [ref] */
458 enum svcctl_ServiceState state;
459 uint32_t buf_size;/* [range(0,262144)] */
460 uint32_t *resume_handle;/* [unique] */
464 uint8_t *service;/* [ref,size_is(buf_size)] */
465 uint32_t *bytes_needed;/* [ref,range(0,262144)] */
466 uint32_t *services_returned;/* [ref,range(0,262144)] */
467 uint32_t *resume_handle;/* [unique] */
474 struct svcctl_OpenSCManagerW {
476 const char *MachineName;/* [unique,charset(UTF16)] */
477 const char *DatabaseName;/* [unique,charset(UTF16)] */
478 uint32_t access_mask;
482 struct policy_handle *handle;/* [ref] */
489 struct svcctl_OpenServiceW {
491 struct policy_handle *scmanager_handle;/* [ref] */
492 const char *ServiceName;/* [charset(UTF16)] */
493 uint32_t access_mask;
497 struct policy_handle *handle;/* [ref] */
504 struct svcctl_QueryServiceConfigW {
506 struct policy_handle *handle;/* [ref] */
507 uint32_t buf_size;/* [range(0,8192)] */
511 struct QUERY_SERVICE_CONFIG *query;/* [ref] */
512 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
519 struct svcctl_QueryServiceLockStatusW {
521 struct policy_handle *handle;/* [ref] */
526 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
527 uint32_t *required_buf_size;/* [ref] */
534 struct svcctl_StartServiceW {
536 struct policy_handle *handle;/* [ref] */
538 const char *Arguments;/* [unique,charset(UTF16)] */
548 struct svcctl_GetServiceDisplayNameW {
550 struct policy_handle *handle;/* [ref] */
551 const char *service_name;/* [unique,charset(UTF16)] */
552 uint32_t *display_name_length;/* [unique] */
556 const char **display_name;/* [ref,charset(UTF16)] */
557 uint32_t *display_name_length;/* [unique] */
564 struct svcctl_GetServiceKeyNameW {
566 struct policy_handle *handle;/* [ref] */
567 const char *service_name;/* [unique,charset(UTF16)] */
568 uint32_t *display_name_length;/* [unique] */
572 const char **key_name;/* [ref,charset(UTF16)] */
573 uint32_t *display_name_length;/* [unique] */
580 struct svcctl_SCSetServiceBitsA {
582 struct policy_handle *handle;/* [ref] */
595 struct svcctl_ChangeServiceConfigA {
597 struct policy_handle *handle;/* [ref] */
599 enum svcctl_StartType start_type;
600 enum svcctl_ErrorControl error_control;
601 const char *binary_path;/* [unique,charset(UTF16)] */
602 const char *load_order_group;/* [unique,charset(UTF16)] */
603 const char *dependencies;/* [unique,charset(UTF16)] */
604 const char *service_start_name;/* [unique,charset(UTF16)] */
605 const char *password;/* [unique,charset(UTF16)] */
606 const char *display_name;/* [unique,charset(UTF16)] */
610 uint32_t *tag_id;/* [ref] */
617 struct svcctl_CreateServiceA {
619 struct policy_handle *handle;/* [ref] */
620 const char *ServiceName;/* [unique,charset(UTF16)] */
621 const char *DisplayName;/* [unique,charset(UTF16)] */
622 uint32_t desired_access;
624 enum svcctl_StartType start_type;
625 enum svcctl_ErrorControl error_control;
626 const char *binary_path;/* [unique,charset(UTF16)] */
627 const char *LoadOrderGroupKey;/* [unique,charset(UTF16)] */
628 const char *dependencies;/* [unique,charset(UTF16)] */
629 const char *service_start_name;/* [unique,charset(UTF16)] */
630 const char *password;/* [unique,charset(UTF16)] */
634 uint32_t *TagId;/* [unique] */
641 struct svcctl_EnumDependentServicesA {
643 struct policy_handle *service;/* [ref] */
649 struct ENUM_SERVICE_STATUS *service_status;/* [unique] */
650 uint32_t *bytes_needed;/* [ref] */
651 uint32_t *services_returned;/* [ref] */
658 struct svcctl_EnumServicesStatusA {
660 struct policy_handle *handle;/* [ref] */
664 uint32_t *resume_handle;/* [unique] */
668 uint8_t *service;/* [size_is(buf_size)] */
669 uint32_t *bytes_needed;/* [ref] */
670 uint32_t *services_returned;/* [ref] */
671 uint32_t *resume_handle;/* [unique] */
678 struct svcctl_OpenSCManagerA {
680 const char *MachineName;/* [unique,charset(UTF16)] */
681 const char *DatabaseName;/* [unique,charset(UTF16)] */
682 uint32_t access_mask;
686 struct policy_handle *handle;/* [ref] */
693 struct svcctl_OpenServiceA {
695 struct policy_handle *scmanager_handle;/* [ref] */
696 const char *ServiceName;/* [unique,charset(UTF16)] */
697 uint32_t access_mask;
707 struct svcctl_QueryServiceConfigA {
709 struct policy_handle *handle;/* [ref] */
715 uint32_t *bytes_needed;/* [ref] */
722 struct svcctl_QueryServiceLockStatusA {
724 struct policy_handle *handle;/* [ref] */
729 struct SERVICE_LOCK_STATUS *lock_status;/* [ref] */
730 uint32_t *required_buf_size;/* [ref] */
737 struct svcctl_StartServiceA {
739 struct policy_handle *handle;/* [ref] */
741 const char *Arguments;/* [unique,charset(UTF16)] */
751 struct svcctl_GetServiceDisplayNameA {
753 struct policy_handle *handle;/* [ref] */
754 const char *service_name;/* [unique,charset(UTF16)] */
755 uint32_t *display_name_length;/* [unique] */
759 const char **display_name;/* [ref,charset(UTF16)] */
760 uint32_t *display_name_length;/* [unique] */
767 struct svcctl_GetServiceKeyNameA {
769 struct policy_handle *handle;/* [ref] */
770 const char *service_name;/* [unique,charset(UTF16)] */
771 uint32_t *display_name_length;/* [unique] */
775 const char **key_name;/* [ref,charset(UTF16)] */
776 uint32_t *display_name_length;/* [unique] */
783 struct svcctl_GetCurrentGroupeStateW {
791 struct svcctl_EnumServiceGroupW {
799 struct svcctl_ChangeServiceConfig2A {
801 struct policy_handle *handle;/* [ref] */
803 uint8_t *info;/* [unique] */
813 struct svcctl_ChangeServiceConfig2W {
815 struct policy_handle *handle;/* [ref] */
817 uint8_t *info;/* [unique] */
827 struct svcctl_QueryServiceConfig2A {
829 struct policy_handle *handle;/* [ref] */
830 enum svcctl_ConfigLevel info_level;
836 uint32_t *bytes_needed;/* [ref] */
843 struct svcctl_QueryServiceConfig2W {
845 struct policy_handle *handle;/* [ref] */
846 enum svcctl_ConfigLevel info_level;
847 uint32_t buf_size;/* [range(0,8192)] */
851 uint8_t *buffer;/* [ref,size_is(buf_size)] */
852 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
859 struct svcctl_QueryServiceStatusEx {
861 struct policy_handle *handle;/* [ref] */
862 enum svcctl_StatusLevel info_level;
863 uint32_t buf_size;/* [range(0,8192)] */
867 uint8_t *buffer;/* [ref,size_is(buf_size)] */
868 uint32_t *bytes_needed;/* [ref,range(0,8192)] */
875 struct EnumServicesStatusExA {
877 struct policy_handle *scmanager;/* [ref] */
882 uint32_t *resume_handle;/* [unique] */
887 uint32_t *bytes_needed;/* [ref] */
888 uint32_t *service_returned;/* [ref] */
889 const char **group_name;/* [ref,charset(UTF16)] */
890 uint32_t *resume_handle;/* [unique] */
897 struct EnumServicesStatusExW {
899 struct policy_handle *scmanager;/* [ref] */
903 uint32_t buf_size;/* [range(0,262144)] */
904 const char *group_name;/* [unique,charset(UTF16)] */
905 uint32_t *resume_handle;/* [unique,range(0,262144)] */
909 uint8_t *services;/* [ref,size_is(buf_size)] */
910 uint32_t *bytes_needed;/* [ref,range(0,262144)] */
911 uint32_t *service_returned;/* [ref,range(0,262144)] */
912 uint32_t *resume_handle;/* [unique,range(0,262144)] */
919 struct svcctl_SCSendTSMessage {
926 #endif /* _HEADER_svcctl */