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 uint32_t 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 )
73 #ifndef USE_UINT_ENUMS
74 enum SERVICE_CONTROL
{
78 enum SERVICE_CONTROL
{ __donnot_use_enum_SERVICE_CONTROL
=0x7FFFFFFF}
84 struct svcctl_CloseServiceHandle
{
86 struct policy_handle
*handle
;/* [ref] */
90 struct policy_handle
*handle
;/* [ref] */
97 struct svcctl_ControlService
{
99 struct policy_handle
*handle
;/* [ref] */
104 struct SERVICE_STATUS
*status
;/* [ref] */
111 struct svcctl_DeleteService
{
113 struct policy_handle
*handle
;/* [ref] */
123 struct svcctl_LockServiceDatabase
{
125 struct policy_handle
*handle
;/* [ref] */
129 struct policy_handle
*lock
;/* [ref] */
136 struct svcctl_QueryServiceObjectSecurity
{
144 struct svcctl_SetServiceObjectSecurity
{
152 struct svcctl_QueryServiceStatus
{
154 struct policy_handle
*handle
;/* [ref] */
158 struct SERVICE_STATUS
*status
;/* [ref] */
165 struct svcctl_SetServiceStatus
{
173 struct svcctl_UnlockServiceDatabase
{
175 struct policy_handle
*lock
;/* [ref] */
179 struct policy_handle
*lock
;/* [ref] */
186 struct svcctl_NotifyBootConfigStatus
{
194 struct svcctl_SCSetServiceBitsW
{
196 struct policy_handle
*handle
;/* [ref] */
209 struct svcctl_ChangeServiceConfigW
{
211 struct policy_handle
*handle
;/* [ref] */
215 const char *binary_path
;/* [unique,charset(UTF16)] */
216 const char *load_order_group
;/* [unique,charset(UTF16)] */
217 const char *dependencies
;/* [unique,charset(UTF16)] */
218 const char *service_start_name
;/* [unique,charset(UTF16)] */
219 const char *password
;/* [unique,charset(UTF16)] */
220 const char *display_name
;/* [unique,charset(UTF16)] */
224 uint32_t *tag_id
;/* [ref] */
231 struct svcctl_CreateServiceW
{
233 struct policy_handle
*scmanager_handle
;/* [ref] */
234 const char *ServiceName
;/* [charset(UTF16)] */
235 const char *DisplayName
;/* [unique,charset(UTF16)] */
236 uint32_t desired_access
;
239 uint32_t error_control
;
240 const char *binary_path
;/* [charset(UTF16)] */
241 const char *LoadOrderGroupKey
;/* [unique,charset(UTF16)] */
242 uint8_t *dependencies
;/* [unique,size_is(dependencies_size)] */
243 uint32_t dependencies_size
;
244 const char *service_start_name
;/* [unique,charset(UTF16)] */
245 uint8_t *password
;/* [unique,size_is(password_size)] */
246 uint32_t password_size
;
247 uint32_t *TagId
;/* [unique] */
251 struct policy_handle
*handle
;/* [ref] */
252 uint32_t *TagId
;/* [unique] */
259 struct svcctl_EnumDependentServicesW
{
261 struct policy_handle
*service
;/* [ref] */
267 struct ENUM_SERVICE_STATUS
*status
;/* [unique] */
268 uint32_t *bytes_needed
;/* [ref] */
269 uint32_t *services_returned
;/* [ref] */
276 struct svcctl_EnumServicesStatusW
{
278 struct policy_handle
*handle
;/* [ref] */
282 uint32_t *resume_handle
;/* [unique] */
286 uint8_t *service
;/* [size_is(buf_size)] */
287 uint32_t *bytes_needed
;/* [ref] */
288 uint32_t *services_returned
;/* [ref] */
289 uint32_t *resume_handle
;/* [unique] */
296 struct svcctl_OpenSCManagerW
{
298 const char *MachineName
;/* [unique,charset(UTF16)] */
299 const char *DatabaseName
;/* [unique,charset(UTF16)] */
300 uint32_t access_mask
;
304 struct policy_handle
*handle
;/* [ref] */
311 struct svcctl_OpenServiceW
{
313 struct policy_handle
*scmanager_handle
;/* [ref] */
314 const char *ServiceName
;/* [charset(UTF16)] */
315 uint32_t access_mask
;
319 struct policy_handle
*handle
;/* [ref] */
326 struct svcctl_QueryServiceConfigW
{
328 struct policy_handle
*handle
;/* [ref] */
334 uint32_t *bytes_needed
;/* [ref] */
341 struct svcctl_QueryServiceLockStatusW
{
343 struct policy_handle
*handle
;/* [ref] */
348 struct SERVICE_LOCK_STATUS
*status
;/* [ref] */
349 uint32_t *required_buf_size
;/* [ref] */
356 struct svcctl_StartServiceW
{
358 struct policy_handle
*handle
;/* [ref] */
360 const char *Arguments
;/* [unique,charset(UTF16),length_is(NumArgs)] */
370 struct svcctl_GetServiceDisplayNameW
{
372 struct policy_handle
*handle
;/* [ref] */
373 const char *service_name
;/* [unique,charset(UTF16)] */
374 uint32_t *display_name_length
;/* [unique] */
378 const char **display_name
;/* [ref,charset(UTF16)] */
379 uint32_t *display_name_length
;/* [unique] */
386 struct svcctl_GetServiceKeyNameW
{
388 struct policy_handle
*handle
;/* [ref] */
389 const char *service_name
;/* [unique,charset(UTF16)] */
390 uint32_t *display_name_length
;/* [unique] */
394 const char **key_name
;/* [ref,charset(UTF16)] */
395 uint32_t *display_name_length
;/* [unique] */
402 struct svcctl_SCSetServiceBitsA
{
404 struct policy_handle
*handle
;/* [ref] */
417 struct svcctl_ChangeServiceConfigA
{
419 struct policy_handle
*handle
;/* [ref] */
423 const char *binary_path
;/* [unique,charset(UTF16)] */
424 const char *load_order_group
;/* [unique,charset(UTF16)] */
425 const char *dependencies
;/* [unique,charset(UTF16)] */
426 const char *service_start_name
;/* [unique,charset(UTF16)] */
427 const char *password
;/* [unique,charset(UTF16)] */
428 const char *display_name
;/* [unique,charset(UTF16)] */
432 uint32_t *tag_id
;/* [ref] */
439 struct svcctl_CreateServiceA
{
441 struct policy_handle
*handle
;/* [ref] */
442 const char *ServiceName
;/* [unique,charset(UTF16)] */
443 const char *DisplayName
;/* [unique,charset(UTF16)] */
444 uint32_t desired_access
;
447 uint32_t error_control
;
448 const char *binary_path
;/* [unique,charset(UTF16)] */
449 const char *LoadOrderGroupKey
;/* [unique,charset(UTF16)] */
450 const char *dependencies
;/* [unique,charset(UTF16)] */
451 const char *service_start_name
;/* [unique,charset(UTF16)] */
452 const char *password
;/* [unique,charset(UTF16)] */
456 uint32_t *TagId
;/* [unique] */
463 struct svcctl_EnumDependentServicesA
{
465 struct policy_handle
*service
;/* [ref] */
471 struct ENUM_SERVICE_STATUS
*status
;/* [unique] */
472 uint32_t *bytes_needed
;/* [ref] */
473 uint32_t *services_returned
;/* [ref] */
480 struct svcctl_EnumServicesStatusA
{
482 struct policy_handle
*handle
;/* [ref] */
486 uint32_t *resume_handle
;/* [unique] */
490 uint8_t *service
;/* [size_is(buf_size)] */
491 uint32_t *bytes_needed
;/* [ref] */
492 uint32_t *services_returned
;/* [ref] */
493 uint32_t *resume_handle
;/* [unique] */
500 struct svcctl_OpenSCManagerA
{
502 const char *MachineName
;/* [unique,charset(UTF16)] */
503 const char *DatabaseName
;/* [unique,charset(UTF16)] */
504 uint32_t access_mask
;
508 struct policy_handle
*handle
;/* [ref] */
515 struct svcctl_OpenServiceA
{
517 struct policy_handle
*scmanager_handle
;/* [ref] */
518 const char *ServiceName
;/* [unique,charset(UTF16)] */
519 uint32_t access_mask
;
529 struct svcctl_QueryServiceConfigA
{
531 struct policy_handle
*handle
;/* [ref] */
537 uint32_t *bytes_needed
;/* [ref] */
544 struct svcctl_QueryServiceLockStatusA
{
546 struct policy_handle
*handle
;/* [ref] */
551 struct SERVICE_LOCK_STATUS
*status
;/* [ref] */
552 uint32_t *required_buf_size
;/* [ref] */
559 struct svcctl_StartServiceA
{
561 struct policy_handle
*handle
;/* [ref] */
563 const char *Arguments
;/* [unique,charset(UTF16),length_is(NumArgs)] */
573 struct svcctl_GetServiceDisplayNameA
{
575 struct policy_handle
*handle
;/* [ref] */
576 const char *service_name
;/* [unique,charset(UTF16)] */
577 uint32_t *display_name_length
;/* [unique] */
581 const char **display_name
;/* [ref,charset(UTF16)] */
582 uint32_t *display_name_length
;/* [unique] */
589 struct svcctl_GetServiceKeyNameA
{
591 struct policy_handle
*handle
;/* [ref] */
592 const char *service_name
;/* [unique,charset(UTF16)] */
593 uint32_t *display_name_length
;/* [unique] */
597 const char **key_name
;/* [ref,charset(UTF16)] */
598 uint32_t *display_name_length
;/* [unique] */
605 struct svcctl_GetCurrentGroupeStateW
{
613 struct svcctl_EnumServiceGroupW
{
621 struct svcctl_ChangeServiceConfig2A
{
623 struct policy_handle
*handle
;/* [ref] */
625 uint8_t *info
;/* [unique] */
635 struct svcctl_ChangeServiceConfig2W
{
637 struct policy_handle
*handle
;/* [ref] */
639 uint8_t *info
;/* [unique] */
649 struct svcctl_QueryServiceConfig2A
{
651 struct policy_handle
*handle
;/* [ref] */
658 uint32_t *bytes_needed
;/* [ref] */
665 struct svcctl_QueryServiceConfig2W
{
667 struct policy_handle
*handle
;/* [ref] */
674 uint32_t *bytes_needed
;/* [ref] */
681 struct svcctl_QueryServiceStatusEx
{
683 struct policy_handle
*handle
;/* [ref] */
690 uint32_t *bytes_needed
;/* [ref] */
697 struct EnumServicesStatusExA
{
699 struct policy_handle
*scmanager
;/* [ref] */
704 uint32_t *resume_handle
;/* [unique] */
709 uint32_t *bytes_needed
;/* [ref] */
710 uint32_t *service_returned
;/* [ref] */
711 const char **group_name
;/* [ref,charset(UTF16)] */
712 uint32_t *resume_handle
;/* [unique] */
719 struct EnumServicesStatusExW
{
721 struct policy_handle
*scmanager
;/* [ref] */
726 uint32_t *resume_handle
;/* [unique] */
731 uint32_t *bytes_needed
;/* [ref] */
732 uint32_t *service_returned
;/* [ref] */
733 const char **group_name
;/* [ref,charset(UTF16)] */
734 uint32_t *resume_handle
;/* [unique] */
741 struct svcctl_SCSendTSMessage
{
748 #endif /* _HEADER_svcctl */