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_TYPE_INTERACTIVE_PROCESS ( 0x100 )
19 #define SV_TYPE_ALL ( 0xFFFFFFFF )
20 #define SC_MANAGER_READ_ACCESS ( (SEC_STD_READ_CONTROL|SC_RIGHT_MGR_CONNECT|SC_RIGHT_MGR_ENUMERATE_SERVICE|SC_RIGHT_MGR_QUERY_LOCK_STATUS) )
21 #define SC_MANAGER_EXECUTE_ACCESS ( SC_MANAGER_READ_ACCESS )
22 #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) )
23 #define SC_MANAGER_ALL_ACCESS ( SC_MANAGER_WRITE_ACCESS )
24 #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) )
25 #define SERVICE_EXECUTE_ACCESS ( (SERVICE_READ_ACCESS|SC_RIGHT_SVC_START|SC_RIGHT_SVC_STOP|SC_RIGHT_SVC_PAUSE_CONTINUE) )
26 #define SERVICE_WRITE_ACCESS ( (SEC_STD_REQUIRED|SERVICE_READ_ACCESS|SERVICE_EXECUTE_ACCESS|SC_RIGHT_SVC_CHANGE_CONFIG) )
27 #define SERVICE_ALL_ACCESS ( SERVICE_WRITE_ACCESS )
28 struct SERVICE_LOCK_STATUS
{
30 const char *lock_owner
;/* [unique,charset(UTF16)] */
31 uint32_t lock_duration
;
34 enum svcctl_ServiceStatus
35 #ifndef USE_UINT_ENUMS
37 SVCCTL_STATE_UNKNOWN
=0x00000000,
38 SVCCTL_STOPPED
=0x00000001,
39 SVCCTL_START_PENDING
=0x00000002,
40 SVCCTL_STOP_PENDING
=0x00000003,
41 SVCCTL_RUNNING
=0x00000004,
42 SVCCTL_CONTINUE_PENDING
=0x00000005,
43 SVCCTL_PAUSE_PENDING
=0x00000006,
44 SVCCTL_PAUSED
=0x00000007
47 { __donnot_use_enum_svcctl_ServiceStatus
=0x7FFFFFFF}
48 #define SVCCTL_STATE_UNKNOWN ( 0x00000000 )
49 #define SVCCTL_STOPPED ( 0x00000001 )
50 #define SVCCTL_START_PENDING ( 0x00000002 )
51 #define SVCCTL_STOP_PENDING ( 0x00000003 )
52 #define SVCCTL_RUNNING ( 0x00000004 )
53 #define SVCCTL_CONTINUE_PENDING ( 0x00000005 )
54 #define SVCCTL_PAUSE_PENDING ( 0x00000006 )
55 #define SVCCTL_PAUSED ( 0x00000007 )
59 /* bitmap svcctl_ControlsAccepted */
60 #define SVCCTL_ACCEPT_NONE ( 0x00000000 )
61 #define SVCCTL_ACCEPT_STOP ( 0x00000001 )
62 #define SVCCTL_ACCEPT_PAUSE_CONTINUE ( 0x00000002 )
63 #define SVCCTL_ACCEPT_SHUTDOWN ( 0x00000004 )
64 #define SVCCTL_ACCEPT_PARAMCHANGE ( 0x00000008 )
65 #define SVCCTL_ACCEPT_NETBINDCHANGE ( 0x00000010 )
66 #define SVCCTL_ACCEPT_HARDWAREPROFILECHANGE ( 0x00000020 )
67 #define SVCCTL_ACCEPT_POWEREVENT ( 0x00000040 )
69 struct SERVICE_STATUS
{
71 enum svcctl_ServiceStatus state
;
72 uint32_t controls_accepted
;
73 WERROR win32_exit_code
;
74 uint32_t service_exit_code
;
79 struct SERVICE_STATUS_PROCESS
{
80 struct SERVICE_STATUS status
;
82 uint32_t service_flags
;
85 struct ENUM_SERVICE_STATUSW
{
86 const char * service_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
87 const char * display_name
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
88 struct SERVICE_STATUS status
;
89 }/* [gensize,public] */;
91 struct ENUM_SERVICE_STATUSA
{
92 const char * service_name
;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
93 const char * display_name
;/* [relative,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
94 struct SERVICE_STATUS status
;
95 }/* [gensize,public] */;
97 /* bitmap svcctl_ServerType */
98 #define SV_TYPE_WORKSTATION ( 0x00000001 )
99 #define SV_TYPE_SERVER ( 0x00000002 )
100 #define SV_TYPE_SQLSERVER ( 0x00000004 )
101 #define SV_TYPE_DOMAIN_CTRL ( 0x00000008 )
102 #define SV_TYPE_DOMAIN_BAKCTRL ( 0x00000010 )
103 #define SV_TYPE_TIME_SOURCE ( 0x00000020 )
104 #define SV_TYPE_AFP ( 0x00000040 )
105 #define SV_TYPE_NOVELL ( 0x00000080 )
106 #define SV_TYPE_DOMAIN_MEMBER ( 0x00000100 )
107 #define SV_TYPE_PRINTQ_SERVER ( 0x00000200 )
108 #define SV_TYPE_DIALIN_SERVER ( 0x00000400 )
109 #define SV_TYPE_SERVER_UNIX ( 0x00000800 )
110 #define SV_TYPE_NT ( 0x00001000 )
111 #define SV_TYPE_WFW ( 0x00002000 )
112 #define SV_TYPE_SERVER_MFPN ( 0x00004000 )
113 #define SV_TYPE_SERVER_NT ( 0x00008000 )
114 #define SV_TYPE_POTENTIAL_BROWSER ( 0x00010000 )
115 #define SV_TYPE_BACKUP_BROWSER ( 0x00020000 )
116 #define SV_TYPE_MASTER_BROWSER ( 0x00040000 )
117 #define SV_TYPE_DOMAIN_MASTER ( 0x00080000 )
118 #define SV_TYPE_SERVER_OSF ( 0x00100000 )
119 #define SV_TYPE_SERVER_VMS ( 0x00200000 )
120 #define SV_TYPE_WIN95_PLUS ( 0x00400000 )
121 #define SV_TYPE_DFS_SERVER ( 0x00800000 )
122 #define SV_TYPE_ALTERNATE_XPORT ( 0x20000000 )
123 #define SV_TYPE_LOCAL_LIST_ONLY ( 0x40000000 )
124 #define SV_TYPE_DOMAIN_ENUM ( 0x80000000 )
127 #ifndef USE_UINT_ENUMS
129 SVCCTL_CONTROL_STOP
=0x00000001,
130 SVCCTL_CONTROL_PAUSE
=0x00000002,
131 SVCCTL_CONTROL_CONTINUE
=0x00000003,
132 SVCCTL_CONTROL_INTERROGATE
=0x00000004,
133 SVCCTL_CONTROL_SHUTDOWN
=0x00000005
136 { __donnot_use_enum_SERVICE_CONTROL
=0x7FFFFFFF}
137 #define SVCCTL_CONTROL_STOP ( 0x00000001 )
138 #define SVCCTL_CONTROL_PAUSE ( 0x00000002 )
139 #define SVCCTL_CONTROL_CONTINUE ( 0x00000003 )
140 #define SVCCTL_CONTROL_INTERROGATE ( 0x00000004 )
141 #define SVCCTL_CONTROL_SHUTDOWN ( 0x00000005 )
145 enum svcctl_ErrorControl
146 #ifndef USE_UINT_ENUMS
148 SVCCTL_SVC_ERROR_IGNORE
=0x00000000,
149 SVCCTL_SVC_ERROR_NORMAL
=0x00000001,
150 SVCCTL_SVC_ERROR_CRITICAL
=0x00000002,
151 SVCCTL_SVC_ERROR_SEVERE
=0x00000003
154 { __donnot_use_enum_svcctl_ErrorControl
=0x7FFFFFFF}
155 #define SVCCTL_SVC_ERROR_IGNORE ( 0x00000000 )
156 #define SVCCTL_SVC_ERROR_NORMAL ( 0x00000001 )
157 #define SVCCTL_SVC_ERROR_CRITICAL ( 0x00000002 )
158 #define SVCCTL_SVC_ERROR_SEVERE ( 0x00000003 )
162 enum svcctl_StartType
163 #ifndef USE_UINT_ENUMS
165 SVCCTL_BOOT_START
=0x00000000,
166 SVCCTL_SYSTEM_START
=0x00000001,
167 SVCCTL_AUTO_START
=0x00000002,
168 SVCCTL_DEMAND_START
=0x00000003,
169 SVCCTL_DISABLED
=0x00000004
172 { __donnot_use_enum_svcctl_StartType
=0x7FFFFFFF}
173 #define SVCCTL_BOOT_START ( 0x00000000 )
174 #define SVCCTL_SYSTEM_START ( 0x00000001 )
175 #define SVCCTL_AUTO_START ( 0x00000002 )
176 #define SVCCTL_DEMAND_START ( 0x00000003 )
177 #define SVCCTL_DISABLED ( 0x00000004 )
181 enum svcctl_ServiceState
182 #ifndef USE_UINT_ENUMS
184 SERVICE_STATE_ACTIVE
=0x00000001,
185 SERVICE_STATE_INACTIVE
=0x00000002,
186 SERVICE_STATE_ALL
=(SERVICE_STATE_ACTIVE
|SERVICE_STATE_INACTIVE
)
189 { __donnot_use_enum_svcctl_ServiceState
=0x7FFFFFFF}
190 #define SERVICE_STATE_ACTIVE ( 0x00000001 )
191 #define SERVICE_STATE_INACTIVE ( 0x00000002 )
192 #define SERVICE_STATE_ALL ( (SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE) )
196 /* bitmap svcctl_MgrAccessMask */
197 #define SC_RIGHT_MGR_CONNECT ( 0x0001 )
198 #define SC_RIGHT_MGR_CREATE_SERVICE ( 0x0002 )
199 #define SC_RIGHT_MGR_ENUMERATE_SERVICE ( 0x0004 )
200 #define SC_RIGHT_MGR_LOCK ( 0x0008 )
201 #define SC_RIGHT_MGR_QUERY_LOCK_STATUS ( 0x0010 )
202 #define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG ( 0x0020 )
204 /* bitmap svcctl_ServiceAccessMask */
205 #define SC_RIGHT_SVC_QUERY_CONFIG ( 0x0001 )
206 #define SC_RIGHT_SVC_CHANGE_CONFIG ( 0x0002 )
207 #define SC_RIGHT_SVC_QUERY_STATUS ( 0x0004 )
208 #define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS ( 0x0008 )
209 #define SC_RIGHT_SVC_START ( 0x0010 )
210 #define SC_RIGHT_SVC_STOP ( 0x0020 )
211 #define SC_RIGHT_SVC_PAUSE_CONTINUE ( 0x0040 )
212 #define SC_RIGHT_SVC_INTERROGATE ( 0x0080 )
213 #define SC_RIGHT_SVC_USER_DEFINED_CONTROL ( 0x0100 )
215 struct QUERY_SERVICE_CONFIG
{
216 uint32_t service_type
;
217 enum svcctl_StartType start_type
;
218 enum svcctl_ErrorControl error_control
;
219 const char *executablepath
;/* [unique,range(0,8192),charset(UTF16)] */
220 const char *loadordergroup
;/* [unique,range(0,8192),charset(UTF16)] */
222 const char *dependencies
;/* [unique,range(0,8192),charset(UTF16)] */
223 const char *startname
;/* [unique,range(0,8192),charset(UTF16)] */
224 const char *displayname
;/* [unique,range(0,8192),charset(UTF16)] */
225 }/* [gensize,public] */;
227 enum svcctl_ConfigLevel
228 #ifndef USE_UINT_ENUMS
230 SERVICE_CONFIG_DESCRIPTION
=0x00000001,
231 SERVICE_CONFIG_FAILURE_ACTIONS
=0x00000002
234 { __donnot_use_enum_svcctl_ConfigLevel
=0x7FFFFFFF}
235 #define SERVICE_CONFIG_DESCRIPTION ( 0x00000001 )
236 #define SERVICE_CONFIG_FAILURE_ACTIONS ( 0x00000002 )
240 struct SERVICE_DESCRIPTION
{
241 const char * description
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
242 }/* [gensize,public] */;
245 #ifndef USE_UINT_ENUMS
250 SC_ACTION_RUN_COMMAND
=3
253 { __donnot_use_enum_SC_ACTION_TYPE
=0x7FFFFFFF}
254 #define SC_ACTION_NONE ( 0 )
255 #define SC_ACTION_RESTART ( 1 )
256 #define SC_ACTION_REBOOT ( 2 )
257 #define SC_ACTION_RUN_COMMAND ( 3 )
262 enum SC_ACTION_TYPE type
;
266 struct SERVICE_FAILURE_ACTIONS
{
267 uint32_t reset_period
;
268 const char * rebootmsg
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
269 const char * command
;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
270 uint32_t num_actions
;/* [range(0,1024)] */
271 struct SC_ACTION
*actions
;/* [relative,size_is(num_actions)] */
272 }/* [gensize,public] */;
274 enum svcctl_StatusLevel
275 #ifndef USE_UINT_ENUMS
277 SVC_STATUS_PROCESS_INFO
=0x00000000
280 { __donnot_use_enum_svcctl_StatusLevel
=0x7FFFFFFF}
281 #define SVC_STATUS_PROCESS_INFO ( 0x00000000 )
286 struct svcctl_CloseServiceHandle
{
288 struct policy_handle
*handle
;/* [ref] */
292 struct policy_handle
*handle
;/* [ref] */
299 struct svcctl_ControlService
{
301 struct policy_handle
*handle
;/* [ref] */
302 enum SERVICE_CONTROL control
;
306 struct SERVICE_STATUS
*service_status
;/* [ref] */
313 struct svcctl_DeleteService
{
315 struct policy_handle
*handle
;/* [ref] */
325 struct svcctl_LockServiceDatabase
{
327 struct policy_handle
*handle
;/* [ref] */
331 struct policy_handle
*lock
;/* [ref] */
338 struct svcctl_QueryServiceObjectSecurity
{
340 struct policy_handle
*handle
;/* [ref] */
341 uint32_t security_flags
;
342 uint32_t buffer_size
;/* [range(0,0x40000)] */
346 uint8_t *buffer
;/* [ref,size_is(buffer_size)] */
347 uint32_t *needed
;/* [ref,range(0,0x40000)] */
354 struct svcctl_SetServiceObjectSecurity
{
356 struct policy_handle
*handle
;/* [ref] */
357 uint32_t security_flags
;
358 uint8_t *buffer
;/* [ref,size_is(buffer_size)] */
359 uint32_t buffer_size
;
369 struct svcctl_QueryServiceStatus
{
371 struct policy_handle
*handle
;/* [ref] */
375 struct SERVICE_STATUS
*service_status
;/* [ref] */
382 struct svcctl_SetServiceStatus
{
390 struct svcctl_UnlockServiceDatabase
{
392 struct policy_handle
*lock
;/* [ref] */
396 struct policy_handle
*lock
;/* [ref] */
403 struct svcctl_NotifyBootConfigStatus
{
411 struct svcctl_SCSetServiceBitsW
{
413 struct policy_handle
*handle
;/* [ref] */
426 struct svcctl_ChangeServiceConfigW
{
428 struct policy_handle
*handle
;/* [ref] */
430 enum svcctl_StartType start_type
;
431 enum svcctl_ErrorControl error_control
;
432 const char *binary_path
;/* [unique,charset(UTF16)] */
433 const char *load_order_group
;/* [unique,charset(UTF16)] */
434 const char *dependencies
;/* [unique,charset(UTF16)] */
435 const char *service_start_name
;/* [unique,charset(UTF16)] */
436 const char *password
;/* [unique,charset(UTF16)] */
437 const char *display_name
;/* [unique,charset(UTF16)] */
441 uint32_t *tag_id
;/* [ref] */
448 struct svcctl_CreateServiceW
{
450 struct policy_handle
*scmanager_handle
;/* [ref] */
451 const char *ServiceName
;/* [charset(UTF16)] */
452 const char *DisplayName
;/* [unique,charset(UTF16)] */
453 uint32_t desired_access
;
455 enum svcctl_StartType start_type
;
456 enum svcctl_ErrorControl error_control
;
457 const char *binary_path
;/* [charset(UTF16)] */
458 const char *LoadOrderGroupKey
;/* [unique,charset(UTF16)] */
459 uint8_t *dependencies
;/* [unique,size_is(dependencies_size)] */
460 uint32_t dependencies_size
;
461 const char *service_start_name
;/* [unique,charset(UTF16)] */
462 uint8_t *password
;/* [unique,size_is(password_size)] */
463 uint32_t password_size
;
464 uint32_t *TagId
;/* [unique] */
468 struct policy_handle
*handle
;/* [ref] */
469 uint32_t *TagId
;/* [unique] */
476 struct svcctl_EnumDependentServicesW
{
478 struct policy_handle
*service
;/* [ref] */
480 uint32_t buf_size
;/* [range(0,0x40000)] */
484 uint8_t *service_status
;/* [ref,size_is(buf_size)] */
485 uint32_t *bytes_needed
;/* [ref,range(0,0x40000)] */
486 uint32_t *services_returned
;/* [ref,range(0,0x40000)] */
493 struct svcctl_EnumServicesStatusW
{
495 struct policy_handle
*handle
;/* [ref] */
497 enum svcctl_ServiceState state
;
498 uint32_t buf_size
;/* [range(0,0x40000)] */
499 uint32_t *resume_handle
;/* [unique] */
503 uint8_t *service
;/* [ref,size_is(buf_size)] */
504 uint32_t *bytes_needed
;/* [ref,range(0,0x40000)] */
505 uint32_t *services_returned
;/* [ref,range(0,0x40000)] */
506 uint32_t *resume_handle
;/* [unique] */
513 struct svcctl_OpenSCManagerW
{
515 const char *MachineName
;/* [unique,charset(UTF16)] */
516 const char *DatabaseName
;/* [unique,charset(UTF16)] */
517 uint32_t access_mask
;
521 struct policy_handle
*handle
;/* [ref] */
528 struct svcctl_OpenServiceW
{
530 struct policy_handle
*scmanager_handle
;/* [ref] */
531 const char *ServiceName
;/* [charset(UTF16)] */
532 uint32_t access_mask
;
536 struct policy_handle
*handle
;/* [ref] */
543 struct svcctl_QueryServiceConfigW
{
545 struct policy_handle
*handle
;/* [ref] */
546 uint32_t buf_size
;/* [range(0,8192)] */
550 struct QUERY_SERVICE_CONFIG
*query
;/* [ref] */
551 uint32_t *bytes_needed
;/* [ref,range(0,8192)] */
558 struct svcctl_QueryServiceLockStatusW
{
560 struct policy_handle
*handle
;/* [ref] */
565 struct SERVICE_LOCK_STATUS
*lock_status
;/* [ref] */
566 uint32_t *required_buf_size
;/* [ref] */
573 struct svcctl_StartServiceW
{
575 struct policy_handle
*handle
;/* [ref] */
577 const char *Arguments
;/* [unique,charset(UTF16)] */
587 struct svcctl_GetServiceDisplayNameW
{
589 struct policy_handle
*handle
;/* [ref] */
590 const char *service_name
;/* [unique,charset(UTF16)] */
591 uint32_t *display_name_length
;/* [unique] */
595 const char **display_name
;/* [ref,charset(UTF16)] */
596 uint32_t *display_name_length
;/* [unique] */
603 struct svcctl_GetServiceKeyNameW
{
605 struct policy_handle
*handle
;/* [ref] */
606 const char *service_name
;/* [unique,charset(UTF16)] */
607 uint32_t *display_name_length
;/* [unique] */
611 const char **key_name
;/* [ref,charset(UTF16)] */
612 uint32_t *display_name_length
;/* [unique] */
619 struct svcctl_SCSetServiceBitsA
{
621 struct policy_handle
*handle
;/* [ref] */
634 struct svcctl_ChangeServiceConfigA
{
636 struct policy_handle
*handle
;/* [ref] */
638 enum svcctl_StartType start_type
;
639 enum svcctl_ErrorControl error_control
;
640 const char *binary_path
;/* [unique,charset(UTF16)] */
641 const char *load_order_group
;/* [unique,charset(UTF16)] */
642 const char *dependencies
;/* [unique,charset(UTF16)] */
643 const char *service_start_name
;/* [unique,charset(UTF16)] */
644 const char *password
;/* [unique,charset(UTF16)] */
645 const char *display_name
;/* [unique,charset(UTF16)] */
649 uint32_t *tag_id
;/* [ref] */
656 struct svcctl_CreateServiceA
{
658 struct policy_handle
*handle
;/* [ref] */
659 const char *ServiceName
;/* [unique,charset(UTF16)] */
660 const char *DisplayName
;/* [unique,charset(UTF16)] */
661 uint32_t desired_access
;
663 enum svcctl_StartType start_type
;
664 enum svcctl_ErrorControl error_control
;
665 const char *binary_path
;/* [unique,charset(UTF16)] */
666 const char *LoadOrderGroupKey
;/* [unique,charset(UTF16)] */
667 const char *dependencies
;/* [unique,charset(UTF16)] */
668 const char *service_start_name
;/* [unique,charset(UTF16)] */
669 const char *password
;/* [unique,charset(UTF16)] */
673 uint32_t *TagId
;/* [unique] */
680 struct svcctl_EnumDependentServicesA
{
682 struct policy_handle
*service
;/* [ref] */
688 struct ENUM_SERVICE_STATUSA
*service_status
;/* [unique] */
689 uint32_t *bytes_needed
;/* [ref] */
690 uint32_t *services_returned
;/* [ref] */
697 struct svcctl_EnumServicesStatusA
{
699 struct policy_handle
*handle
;/* [ref] */
701 enum svcctl_ServiceState state
;
703 uint32_t *resume_handle
;/* [unique] */
707 uint8_t *service
;/* [size_is(buf_size)] */
708 uint32_t *bytes_needed
;/* [ref] */
709 uint32_t *services_returned
;/* [ref] */
710 uint32_t *resume_handle
;/* [unique] */
717 struct svcctl_OpenSCManagerA
{
719 const char *MachineName
;/* [unique,charset(UTF16)] */
720 const char *DatabaseName
;/* [unique,charset(UTF16)] */
721 uint32_t access_mask
;
725 struct policy_handle
*handle
;/* [ref] */
732 struct svcctl_OpenServiceA
{
734 struct policy_handle
*scmanager_handle
;/* [ref] */
735 const char *ServiceName
;/* [unique,charset(UTF16)] */
736 uint32_t access_mask
;
746 struct svcctl_QueryServiceConfigA
{
748 struct policy_handle
*handle
;/* [ref] */
754 uint32_t *bytes_needed
;/* [ref] */
761 struct svcctl_QueryServiceLockStatusA
{
763 struct policy_handle
*handle
;/* [ref] */
768 struct SERVICE_LOCK_STATUS
*lock_status
;/* [ref] */
769 uint32_t *required_buf_size
;/* [ref] */
776 struct svcctl_StartServiceA
{
778 struct policy_handle
*handle
;/* [ref] */
780 const char *Arguments
;/* [unique,charset(UTF16)] */
790 struct svcctl_GetServiceDisplayNameA
{
792 struct policy_handle
*handle
;/* [ref] */
793 const char *service_name
;/* [unique,charset(UTF16)] */
794 uint32_t *display_name_length
;/* [unique] */
798 const char **display_name
;/* [ref,charset(UTF16)] */
799 uint32_t *display_name_length
;/* [unique] */
806 struct svcctl_GetServiceKeyNameA
{
808 struct policy_handle
*handle
;/* [ref] */
809 const char *service_name
;/* [unique,charset(UTF16)] */
810 uint32_t *display_name_length
;/* [unique] */
814 const char **key_name
;/* [ref,charset(UTF16)] */
815 uint32_t *display_name_length
;/* [unique] */
822 struct svcctl_GetCurrentGroupeStateW
{
830 struct svcctl_EnumServiceGroupW
{
838 struct svcctl_ChangeServiceConfig2A
{
840 struct policy_handle
*handle
;/* [ref] */
842 uint8_t *info
;/* [unique] */
852 struct svcctl_ChangeServiceConfig2W
{
854 struct policy_handle
*handle
;/* [ref] */
856 uint8_t *info
;/* [unique] */
866 struct svcctl_QueryServiceConfig2A
{
868 struct policy_handle
*handle
;/* [ref] */
869 enum svcctl_ConfigLevel info_level
;
875 uint32_t *bytes_needed
;/* [ref] */
882 struct svcctl_QueryServiceConfig2W
{
884 struct policy_handle
*handle
;/* [ref] */
885 enum svcctl_ConfigLevel info_level
;
886 uint32_t buf_size
;/* [range(0,8192)] */
890 uint8_t *buffer
;/* [ref,size_is(buf_size)] */
891 uint32_t *bytes_needed
;/* [ref,range(0,8192)] */
898 struct svcctl_QueryServiceStatusEx
{
900 struct policy_handle
*handle
;/* [ref] */
901 enum svcctl_StatusLevel info_level
;
902 uint32_t buf_size
;/* [range(0,8192)] */
906 uint8_t *buffer
;/* [ref,size_is(buf_size)] */
907 uint32_t *bytes_needed
;/* [ref,range(0,8192)] */
914 struct EnumServicesStatusExA
{
916 struct policy_handle
*scmanager
;/* [ref] */
919 enum svcctl_ServiceState state
;
921 uint32_t *resume_handle
;/* [unique] */
926 uint32_t *bytes_needed
;/* [ref] */
927 uint32_t *service_returned
;/* [ref] */
928 const char **group_name
;/* [ref,charset(UTF16)] */
929 uint32_t *resume_handle
;/* [unique] */
936 struct EnumServicesStatusExW
{
938 struct policy_handle
*scmanager
;/* [ref] */
941 enum svcctl_ServiceState state
;
942 uint32_t buf_size
;/* [range(0,0x40000)] */
943 const char *group_name
;/* [unique,charset(UTF16)] */
944 uint32_t *resume_handle
;/* [unique,range(0,0x40000)] */
948 uint8_t *services
;/* [ref,size_is(buf_size)] */
949 uint32_t *bytes_needed
;/* [ref,range(0,0x40000)] */
950 uint32_t *service_returned
;/* [ref,range(0,0x40000)] */
951 uint32_t *resume_handle
;/* [unique,range(0,0x40000)] */
958 struct svcctl_SCSendTSMessage
{
965 #endif /* _HEADER_svcctl */