diff options
Diffstat (limited to 'source4/librpc/idl/svcctl.idl')
-rw-r--r-- | source4/librpc/idl/svcctl.idl | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/source4/librpc/idl/svcctl.idl b/source4/librpc/idl/svcctl.idl index 615f4e3dab..961493d9b2 100644 --- a/source4/librpc/idl/svcctl.idl +++ b/source4/librpc/idl/svcctl.idl @@ -115,12 +115,21 @@ import "misc.idl"; /*****************/ /* Function 0x04 */ - [todo] WERROR svcctl_QueryServiceObjectSecurity( + WERROR svcctl_QueryServiceObjectSecurity( + [in] policy_handle *handle, + [in] uint32 security_flags, + [out,ref,size_is(buffer_size)] uint8 *buffer, + [in,range(0,0x40000)] uint32 buffer_size, + [out,ref,range(0,0x40000)] uint32 *needed ); /*****************/ /* Function 0x05 */ - [todo] WERROR svcctl_SetServiceObjectSecurity( + WERROR svcctl_SetServiceObjectSecurity( + [in] policy_handle *handle, + [in] uint32 security_flags, + [in,ref,size_is(buffer_size)] uint8 *buffer, + [in] uint32 buffer_size ); /*****************/ @@ -227,10 +236,22 @@ import "misc.idl"; /*****************/ /* Function 0x10 */ + typedef [bitmap32bit] bitmap { + SC_RIGHT_SVC_QUERY_CONFIG = 0x0001, + SC_RIGHT_SVC_CHANGE_CONFIG = 0x0002, + SC_RIGHT_SVC_QUERY_STATUS = 0x0004, + SC_RIGHT_SVC_ENUMERATE_DEPENDENTS = 0x0008, + SC_RIGHT_SVC_START = 0x0010, + SC_RIGHT_SVC_STOP = 0x0020, + SC_RIGHT_SVC_PAUSE_CONTINUE = 0x0040, + SC_RIGHT_SVC_INTERROGATE = 0x0080, + SC_RIGHT_SVC_USER_DEFINED_CONTROL = 0x0100 + } svcctl_ServiceAccessMask; + WERROR svcctl_OpenServiceW( [in,ref] policy_handle *scmanager_handle, [in] [string,charset(UTF16)] uint16 ServiceName[], - [in] uint32 access_mask, + [in] svcctl_ServiceAccessMask access_mask, [out,ref] policy_handle *handle ); |