2 This file was automatically generated by Pidl
3 from svcctl.idl and svcctl.cnf.
5 Pidl is a perl based IDL compiler for DCE/RPC idl files.
6 It is maintained by the Samba team, not the Wireshark team.
7 Instructions on how to download and install Pidl can be
8 found at https://wiki.wireshark.org/Pidl
14 #include <wsutil/array.h>
15 #include <epan/packet.h>
18 #include "packet-dcerpc.h"
19 #include "packet-dcerpc-nt.h"
20 #include "packet-windows-common.h"
21 #include "packet-dcerpc-svcctl.h"
22 void proto_register_dcerpc_svcctl(void);
23 void proto_reg_handoff_dcerpc_svcctl(void);
25 /* Ett declarations */
26 static int ett_svcctl_service
;
27 static int ett_svcctl_service_name
;
28 static int ett_svcctl_display_name
;
29 static int ett_dcerpc_svcctl
;
30 static int ett_svcctl_security_secinfo
;
31 static int ett_svcctl_SERVICE_LOCK_STATUS
;
32 static int ett_svcctl_svcctl_ControlsAccepted
;
33 static int ett_svcctl_SERVICE_STATUS
;
34 static int ett_svcctl_SERVICE_STATUS_PROCESS
;
35 static int ett_svcctl_ENUM_SERVICE_STATUSW
;
36 static int ett_svcctl_ENUM_SERVICE_STATUSA
;
37 static int ett_svcctl_svcctl_MgrAccessMask
;
38 static int ett_svcctl_svcctl_ServiceAccessMask
;
39 static int ett_svcctl_QUERY_SERVICE_CONFIG
;
40 static int ett_svcctl_svcctl_ArgumentString
;
41 static int ett_svcctl_svcctl_ArgumentStringA
;
44 /* Header field declarations */
45 static int hf_svcctl_ENUM_SERVICE_STATUSA_display_name
;
46 static int hf_svcctl_ENUM_SERVICE_STATUSA_service_name
;
47 static int hf_svcctl_ENUM_SERVICE_STATUSA_status
;
48 static int hf_svcctl_ENUM_SERVICE_STATUSW_display_name
;
49 static int hf_svcctl_ENUM_SERVICE_STATUSW_service_name
;
50 static int hf_svcctl_ENUM_SERVICE_STATUSW_status
;
51 static int hf_svcctl_EnumServicesStatusExA_group_name
;
52 static int hf_svcctl_EnumServicesStatusExA_info_level
;
53 static int hf_svcctl_EnumServicesStatusExA_needed
;
54 static int hf_svcctl_EnumServicesStatusExA_offered
;
55 static int hf_svcctl_EnumServicesStatusExA_resume_handle
;
56 static int hf_svcctl_EnumServicesStatusExA_scm_handle
;
57 static int hf_svcctl_EnumServicesStatusExA_service_returned
;
58 static int hf_svcctl_EnumServicesStatusExA_service_type
;
59 static int hf_svcctl_EnumServicesStatusExA_services
;
60 static int hf_svcctl_EnumServicesStatusExA_state
;
61 static int hf_svcctl_EnumServicesStatusExW_group_name
;
62 static int hf_svcctl_EnumServicesStatusExW_info_level
;
63 static int hf_svcctl_EnumServicesStatusExW_needed
;
64 static int hf_svcctl_EnumServicesStatusExW_offered
;
65 static int hf_svcctl_EnumServicesStatusExW_resume_handle
;
66 static int hf_svcctl_EnumServicesStatusExW_scmanager
;
67 static int hf_svcctl_EnumServicesStatusExW_service_returned
;
68 static int hf_svcctl_EnumServicesStatusExW_service_type
;
69 static int hf_svcctl_EnumServicesStatusExW_services
;
70 static int hf_svcctl_EnumServicesStatusExW_state
;
71 static int hf_svcctl_QUERY_SERVICE_CONFIG_dependencies
;
72 static int hf_svcctl_QUERY_SERVICE_CONFIG_displayname
;
73 static int hf_svcctl_QUERY_SERVICE_CONFIG_error_control
;
74 static int hf_svcctl_QUERY_SERVICE_CONFIG_executablepath
;
75 static int hf_svcctl_QUERY_SERVICE_CONFIG_loadordergroup
;
76 static int hf_svcctl_QUERY_SERVICE_CONFIG_service_type
;
77 static int hf_svcctl_QUERY_SERVICE_CONFIG_start_type
;
78 static int hf_svcctl_QUERY_SERVICE_CONFIG_startname
;
79 static int hf_svcctl_QUERY_SERVICE_CONFIG_tag_id
;
80 static int hf_svcctl_SERVICE_LOCK_STATUS_is_locked
;
81 static int hf_svcctl_SERVICE_LOCK_STATUS_lock_duration
;
82 static int hf_svcctl_SERVICE_LOCK_STATUS_lock_owner
;
83 static int hf_svcctl_SERVICE_STATUS_PROCESS_check_point
;
84 static int hf_svcctl_SERVICE_STATUS_PROCESS_controls_accepted
;
85 static int hf_svcctl_SERVICE_STATUS_PROCESS_process_id
;
86 static int hf_svcctl_SERVICE_STATUS_PROCESS_service_exit_code
;
87 static int hf_svcctl_SERVICE_STATUS_PROCESS_service_flags
;
88 static int hf_svcctl_SERVICE_STATUS_PROCESS_state
;
89 static int hf_svcctl_SERVICE_STATUS_PROCESS_type
;
90 static int hf_svcctl_SERVICE_STATUS_PROCESS_wait_hint
;
91 static int hf_svcctl_SERVICE_STATUS_PROCESS_win32_exit_code
;
92 static int hf_svcctl_SERVICE_STATUS_check_point
;
93 static int hf_svcctl_SERVICE_STATUS_controls_accepted
;
94 static int hf_svcctl_SERVICE_STATUS_service_exit_code
;
95 static int hf_svcctl_SERVICE_STATUS_state
;
96 static int hf_svcctl_SERVICE_STATUS_type
;
97 static int hf_svcctl_SERVICE_STATUS_wait_hint
;
98 static int hf_svcctl_SERVICE_STATUS_win32_exit_code
;
99 static int hf_svcctl_opnum
;
100 static int hf_svcctl_service_buffer_size
;
101 static int hf_svcctl_service_referent_id
;
102 static int hf_svcctl_svcctl_ArgumentStringA_string
;
103 static int hf_svcctl_svcctl_ArgumentString_string
;
104 static int hf_svcctl_svcctl_ChangeServiceConfig2A_info
;
105 static int hf_svcctl_svcctl_ChangeServiceConfig2A_info_level
;
106 static int hf_svcctl_svcctl_ChangeServiceConfig2A_service_handle
;
107 static int hf_svcctl_svcctl_ChangeServiceConfig2W_handle
;
108 static int hf_svcctl_svcctl_ChangeServiceConfig2W_info
;
109 static int hf_svcctl_svcctl_ChangeServiceConfig2W_info_level
;
110 static int hf_svcctl_svcctl_ChangeServiceConfigA_binary_path
;
111 static int hf_svcctl_svcctl_ChangeServiceConfigA_dependencies
;
112 static int hf_svcctl_svcctl_ChangeServiceConfigA_display_name
;
113 static int hf_svcctl_svcctl_ChangeServiceConfigA_error_control
;
114 static int hf_svcctl_svcctl_ChangeServiceConfigA_load_order_group
;
115 static int hf_svcctl_svcctl_ChangeServiceConfigA_password
;
116 static int hf_svcctl_svcctl_ChangeServiceConfigA_service_handle
;
117 static int hf_svcctl_svcctl_ChangeServiceConfigA_service_start_name
;
118 static int hf_svcctl_svcctl_ChangeServiceConfigA_service_type
;
119 static int hf_svcctl_svcctl_ChangeServiceConfigA_start_type
;
120 static int hf_svcctl_svcctl_ChangeServiceConfigA_tag_id
;
121 static int hf_svcctl_svcctl_ChangeServiceConfigW_binary_path
;
122 static int hf_svcctl_svcctl_ChangeServiceConfigW_dependencies
;
123 static int hf_svcctl_svcctl_ChangeServiceConfigW_display_name
;
124 static int hf_svcctl_svcctl_ChangeServiceConfigW_dwDependSize
;
125 static int hf_svcctl_svcctl_ChangeServiceConfigW_dwPwSize
;
126 static int hf_svcctl_svcctl_ChangeServiceConfigW_error_control
;
127 static int hf_svcctl_svcctl_ChangeServiceConfigW_load_order_group
;
128 static int hf_svcctl_svcctl_ChangeServiceConfigW_password
;
129 static int hf_svcctl_svcctl_ChangeServiceConfigW_service_handle
;
130 static int hf_svcctl_svcctl_ChangeServiceConfigW_service_start_name
;
131 static int hf_svcctl_svcctl_ChangeServiceConfigW_service_type
;
132 static int hf_svcctl_svcctl_ChangeServiceConfigW_start_type
;
133 static int hf_svcctl_svcctl_ChangeServiceConfigW_tag_id
;
134 static int hf_svcctl_svcctl_CloseServiceHandle_object_handle
;
135 static int hf_svcctl_svcctl_ControlService_control
;
136 static int hf_svcctl_svcctl_ControlService_service_handle
;
137 static int hf_svcctl_svcctl_ControlService_service_status
;
138 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_HARDWAREPROFILECHANGE
;
139 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_NETBINDCHANGE
;
140 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PARAMCHANGE
;
141 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PAUSE_CONTINUE
;
142 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_POWEREVENT
;
143 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PRESHUTDOWN
;
144 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SESSIONCHANGE
;
145 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SHUTDOWN
;
146 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_STOP
;
147 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TIMECHANGE
;
148 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TRIGGEREVENT
;
149 static int hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_USERMODEREBOOT
;
150 static int hf_svcctl_svcctl_CreateServiceA_DisplayName
;
151 static int hf_svcctl_svcctl_CreateServiceA_LoadOrderGroupKey
;
152 static int hf_svcctl_svcctl_CreateServiceA_ServiceName
;
153 static int hf_svcctl_svcctl_CreateServiceA_binary_path
;
154 static int hf_svcctl_svcctl_CreateServiceA_dependencies
;
155 static int hf_svcctl_svcctl_CreateServiceA_dependencies_size
;
156 static int hf_svcctl_svcctl_CreateServiceA_desired_access
;
157 static int hf_svcctl_svcctl_CreateServiceA_error_control
;
158 static int hf_svcctl_svcctl_CreateServiceA_password
;
159 static int hf_svcctl_svcctl_CreateServiceA_password_size
;
160 static int hf_svcctl_svcctl_CreateServiceA_scm_handle
;
161 static int hf_svcctl_svcctl_CreateServiceA_service_handle
;
162 static int hf_svcctl_svcctl_CreateServiceA_service_start_name
;
163 static int hf_svcctl_svcctl_CreateServiceA_service_type
;
164 static int hf_svcctl_svcctl_CreateServiceA_start_type
;
165 static int hf_svcctl_svcctl_CreateServiceA_tag_id
;
166 static int hf_svcctl_svcctl_CreateServiceWOW64A_DisplayName
;
167 static int hf_svcctl_svcctl_CreateServiceWOW64A_LoadOrderGroupKey
;
168 static int hf_svcctl_svcctl_CreateServiceWOW64A_ServiceName
;
169 static int hf_svcctl_svcctl_CreateServiceWOW64A_binary_path
;
170 static int hf_svcctl_svcctl_CreateServiceWOW64A_dependencies
;
171 static int hf_svcctl_svcctl_CreateServiceWOW64A_dependencies_size
;
172 static int hf_svcctl_svcctl_CreateServiceWOW64A_desired_access
;
173 static int hf_svcctl_svcctl_CreateServiceWOW64A_error_control
;
174 static int hf_svcctl_svcctl_CreateServiceWOW64A_handle
;
175 static int hf_svcctl_svcctl_CreateServiceWOW64A_password
;
176 static int hf_svcctl_svcctl_CreateServiceWOW64A_password_size
;
177 static int hf_svcctl_svcctl_CreateServiceWOW64A_scm_handle
;
178 static int hf_svcctl_svcctl_CreateServiceWOW64A_service_start_name
;
179 static int hf_svcctl_svcctl_CreateServiceWOW64A_service_type
;
180 static int hf_svcctl_svcctl_CreateServiceWOW64A_start_type
;
181 static int hf_svcctl_svcctl_CreateServiceWOW64A_tag_id
;
182 static int hf_svcctl_svcctl_CreateServiceWOW64W_DisplayName
;
183 static int hf_svcctl_svcctl_CreateServiceWOW64W_LoadOrderGroupKey
;
184 static int hf_svcctl_svcctl_CreateServiceWOW64W_ServiceName
;
185 static int hf_svcctl_svcctl_CreateServiceWOW64W_binary_path
;
186 static int hf_svcctl_svcctl_CreateServiceWOW64W_dependencies
;
187 static int hf_svcctl_svcctl_CreateServiceWOW64W_dependencies_size
;
188 static int hf_svcctl_svcctl_CreateServiceWOW64W_desired_access
;
189 static int hf_svcctl_svcctl_CreateServiceWOW64W_error_control
;
190 static int hf_svcctl_svcctl_CreateServiceWOW64W_handle
;
191 static int hf_svcctl_svcctl_CreateServiceWOW64W_password
;
192 static int hf_svcctl_svcctl_CreateServiceWOW64W_password_size
;
193 static int hf_svcctl_svcctl_CreateServiceWOW64W_scm_handle
;
194 static int hf_svcctl_svcctl_CreateServiceWOW64W_service_start_name
;
195 static int hf_svcctl_svcctl_CreateServiceWOW64W_service_type
;
196 static int hf_svcctl_svcctl_CreateServiceWOW64W_start_type
;
197 static int hf_svcctl_svcctl_CreateServiceWOW64W_tag_id
;
198 static int hf_svcctl_svcctl_CreateServiceW_DisplayName
;
199 static int hf_svcctl_svcctl_CreateServiceW_LoadOrderGroup
;
200 static int hf_svcctl_svcctl_CreateServiceW_ServiceName
;
201 static int hf_svcctl_svcctl_CreateServiceW_binary_path
;
202 static int hf_svcctl_svcctl_CreateServiceW_dependencies
;
203 static int hf_svcctl_svcctl_CreateServiceW_dependencies_size
;
204 static int hf_svcctl_svcctl_CreateServiceW_desired_access
;
205 static int hf_svcctl_svcctl_CreateServiceW_error_control
;
206 static int hf_svcctl_svcctl_CreateServiceW_password
;
207 static int hf_svcctl_svcctl_CreateServiceW_password_size
;
208 static int hf_svcctl_svcctl_CreateServiceW_scm_handle
;
209 static int hf_svcctl_svcctl_CreateServiceW_service_handle
;
210 static int hf_svcctl_svcctl_CreateServiceW_service_start_name
;
211 static int hf_svcctl_svcctl_CreateServiceW_service_type
;
212 static int hf_svcctl_svcctl_CreateServiceW_start_type
;
213 static int hf_svcctl_svcctl_CreateServiceW_tag_id
;
214 static int hf_svcctl_svcctl_CreateWowService_DisplayName
;
215 static int hf_svcctl_svcctl_CreateWowService_LoadOrderGroupKey
;
216 static int hf_svcctl_svcctl_CreateWowService_ServiceName
;
217 static int hf_svcctl_svcctl_CreateWowService_binary_path
;
218 static int hf_svcctl_svcctl_CreateWowService_dependencies
;
219 static int hf_svcctl_svcctl_CreateWowService_dependencies_size
;
220 static int hf_svcctl_svcctl_CreateWowService_desired_access
;
221 static int hf_svcctl_svcctl_CreateWowService_error_control
;
222 static int hf_svcctl_svcctl_CreateWowService_handle
;
223 static int hf_svcctl_svcctl_CreateWowService_password
;
224 static int hf_svcctl_svcctl_CreateWowService_password_size
;
225 static int hf_svcctl_svcctl_CreateWowService_scm_handle
;
226 static int hf_svcctl_svcctl_CreateWowService_service_start_name
;
227 static int hf_svcctl_svcctl_CreateWowService_service_type
;
228 static int hf_svcctl_svcctl_CreateWowService_service_wow_type
;
229 static int hf_svcctl_svcctl_CreateWowService_start_type
;
230 static int hf_svcctl_svcctl_CreateWowService_tag_id
;
231 static int hf_svcctl_svcctl_DeleteService_service_handle
;
232 static int hf_svcctl_svcctl_EnumDependentServicesA_needed
;
233 static int hf_svcctl_svcctl_EnumDependentServicesA_offered
;
234 static int hf_svcctl_svcctl_EnumDependentServicesA_service_handle
;
235 static int hf_svcctl_svcctl_EnumDependentServicesA_service_status
;
236 static int hf_svcctl_svcctl_EnumDependentServicesA_services_returned
;
237 static int hf_svcctl_svcctl_EnumDependentServicesA_state
;
238 static int hf_svcctl_svcctl_EnumDependentServicesW_bytesneeded
;
239 static int hf_svcctl_svcctl_EnumDependentServicesW_offered
;
240 static int hf_svcctl_svcctl_EnumDependentServicesW_service_handle
;
241 static int hf_svcctl_svcctl_EnumDependentServicesW_service_state
;
242 static int hf_svcctl_svcctl_EnumDependentServicesW_service_status
;
243 static int hf_svcctl_svcctl_EnumDependentServicesW_services_returned
;
244 static int hf_svcctl_svcctl_EnumServiceGroupW_ResumeIndex
;
245 static int hf_svcctl_svcctl_EnumServiceGroupW_cbBufSize
;
246 static int hf_svcctl_svcctl_EnumServiceGroupW_lpBuffer
;
247 static int hf_svcctl_svcctl_EnumServiceGroupW_lpServicesReturned
;
248 static int hf_svcctl_svcctl_EnumServiceGroupW_pcbBytesNeeded
;
249 static int hf_svcctl_svcctl_EnumServiceGroupW_pszGroupName
;
250 static int hf_svcctl_svcctl_EnumServiceGroupW_scm_handle
;
251 static int hf_svcctl_svcctl_EnumServiceGroupW_service_state
;
252 static int hf_svcctl_svcctl_EnumServiceGroupW_service_type
;
253 static int hf_svcctl_svcctl_EnumServicesStatusA_needed
;
254 static int hf_svcctl_svcctl_EnumServicesStatusA_offered
;
255 static int hf_svcctl_svcctl_EnumServicesStatusA_resume_handle
;
256 static int hf_svcctl_svcctl_EnumServicesStatusA_scm_handle
;
257 static int hf_svcctl_svcctl_EnumServicesStatusA_service
;
258 static int hf_svcctl_svcctl_EnumServicesStatusA_service_state
;
259 static int hf_svcctl_svcctl_EnumServicesStatusA_service_type
;
260 static int hf_svcctl_svcctl_EnumServicesStatusA_services_returned
;
261 static int hf_svcctl_svcctl_EnumServicesStatusW_bytes_needed
;
262 static int hf_svcctl_svcctl_EnumServicesStatusW_offered
;
263 static int hf_svcctl_svcctl_EnumServicesStatusW_resume_index
;
264 static int hf_svcctl_svcctl_EnumServicesStatusW_scm_handle
;
265 static int hf_svcctl_svcctl_EnumServicesStatusW_service_state
;
266 static int hf_svcctl_svcctl_EnumServicesStatusW_service_type
;
267 static int hf_svcctl_svcctl_EnumServicesStatusW_services
;
268 static int hf_svcctl_svcctl_EnumServicesStatusW_services_returned
;
269 static int hf_svcctl_svcctl_GetCurrentGroupeStateW_handle
;
270 static int hf_svcctl_svcctl_GetCurrentGroupeStateW_lpLoadOrderGroup
;
271 static int hf_svcctl_svcctl_GetCurrentGroupeStateW_state
;
272 static int hf_svcctl_svcctl_GetServiceDisplayNameA_display_name
;
273 static int hf_svcctl_svcctl_GetServiceDisplayNameA_display_name_length
;
274 static int hf_svcctl_svcctl_GetServiceDisplayNameA_handle
;
275 static int hf_svcctl_svcctl_GetServiceDisplayNameA_service_name
;
276 static int hf_svcctl_svcctl_GetServiceDisplayNameW_display_name
;
277 static int hf_svcctl_svcctl_GetServiceDisplayNameW_display_name_length
;
278 static int hf_svcctl_svcctl_GetServiceDisplayNameW_scm_handle
;
279 static int hf_svcctl_svcctl_GetServiceDisplayNameW_service_name
;
280 static int hf_svcctl_svcctl_GetServiceKeyNameA_display_name_length
;
281 static int hf_svcctl_svcctl_GetServiceKeyNameA_key_name
;
282 static int hf_svcctl_svcctl_GetServiceKeyNameA_scm_handle
;
283 static int hf_svcctl_svcctl_GetServiceKeyNameA_service_name
;
284 static int hf_svcctl_svcctl_GetServiceKeyNameW_display_name
;
285 static int hf_svcctl_svcctl_GetServiceKeyNameW_scm_handle
;
286 static int hf_svcctl_svcctl_GetServiceKeyNameW_service_name
;
287 static int hf_svcctl_svcctl_GetServiceKeyNameW_service_name_length
;
288 static int hf_svcctl_svcctl_LockServiceDatabase_lock_handle
;
289 static int hf_svcctl_svcctl_LockServiceDatabase_scm_handle
;
290 static int hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ALL_ACCESS
;
291 static int hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CONNECT
;
292 static int hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CREATE_SERVICE
;
293 static int hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ENUMERATE_SERVICE
;
294 static int hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_LOCK
;
295 static int hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_MODIFY_BOOT_CONFIG
;
296 static int hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_QUERY_LOCK_STATUS
;
297 static int hf_svcctl_svcctl_NotifyBootConfigStatus_boot_acceptable
;
298 static int hf_svcctl_svcctl_NotifyBootConfigStatus_machine_name
;
299 static int hf_svcctl_svcctl_OpenSCManager2_database_name
;
300 static int hf_svcctl_svcctl_OpenSCManager2_desired_access
;
301 static int hf_svcctl_svcctl_OpenSCManager2_handle
;
302 static int hf_svcctl_svcctl_OpenSCManagerA_DatabaseName
;
303 static int hf_svcctl_svcctl_OpenSCManagerA_MachineName
;
304 static int hf_svcctl_svcctl_OpenSCManagerA_access_mask
;
305 static int hf_svcctl_svcctl_OpenSCManagerA_scm_handle
;
306 static int hf_svcctl_svcctl_OpenSCManagerW_DatabaseName
;
307 static int hf_svcctl_svcctl_OpenSCManagerW_MachineName
;
308 static int hf_svcctl_svcctl_OpenSCManagerW_access_mask
;
309 static int hf_svcctl_svcctl_OpenSCManagerW_scm_handle
;
310 static int hf_svcctl_svcctl_OpenServiceA_ServiceName
;
311 static int hf_svcctl_svcctl_OpenServiceA_access_mask
;
312 static int hf_svcctl_svcctl_OpenServiceA_scm_handle
;
313 static int hf_svcctl_svcctl_OpenServiceA_service_handle
;
314 static int hf_svcctl_svcctl_OpenServiceW_ServiceName
;
315 static int hf_svcctl_svcctl_OpenServiceW_access_mask
;
316 static int hf_svcctl_svcctl_OpenServiceW_scm_handle
;
317 static int hf_svcctl_svcctl_OpenServiceW_service_handle
;
318 static int hf_svcctl_svcctl_QueryServiceConfig2A_buffer
;
319 static int hf_svcctl_svcctl_QueryServiceConfig2A_handle
;
320 static int hf_svcctl_svcctl_QueryServiceConfig2A_info_level
;
321 static int hf_svcctl_svcctl_QueryServiceConfig2A_needed
;
322 static int hf_svcctl_svcctl_QueryServiceConfig2A_offered
;
323 static int hf_svcctl_svcctl_QueryServiceConfig2W_buffer
;
324 static int hf_svcctl_svcctl_QueryServiceConfig2W_handle
;
325 static int hf_svcctl_svcctl_QueryServiceConfig2W_info_level
;
326 static int hf_svcctl_svcctl_QueryServiceConfig2W_needed
;
327 static int hf_svcctl_svcctl_QueryServiceConfig2W_offered
;
328 static int hf_svcctl_svcctl_QueryServiceConfigA_needed
;
329 static int hf_svcctl_svcctl_QueryServiceConfigA_offered
;
330 static int hf_svcctl_svcctl_QueryServiceConfigA_query
;
331 static int hf_svcctl_svcctl_QueryServiceConfigA_service_handle
;
332 static int hf_svcctl_svcctl_QueryServiceConfigEx_info_level
;
333 static int hf_svcctl_svcctl_QueryServiceConfigEx_service_handle
;
334 static int hf_svcctl_svcctl_QueryServiceConfigW_needed
;
335 static int hf_svcctl_svcctl_QueryServiceConfigW_offered
;
336 static int hf_svcctl_svcctl_QueryServiceConfigW_service_config
;
337 static int hf_svcctl_svcctl_QueryServiceConfigW_service_handle
;
338 static int hf_svcctl_svcctl_QueryServiceLockStatusA_lock_status
;
339 static int hf_svcctl_svcctl_QueryServiceLockStatusA_needed
;
340 static int hf_svcctl_svcctl_QueryServiceLockStatusA_offered
;
341 static int hf_svcctl_svcctl_QueryServiceLockStatusA_scm_handle
;
342 static int hf_svcctl_svcctl_QueryServiceLockStatusW_lock_status
;
343 static int hf_svcctl_svcctl_QueryServiceLockStatusW_needed
;
344 static int hf_svcctl_svcctl_QueryServiceLockStatusW_offered
;
345 static int hf_svcctl_svcctl_QueryServiceLockStatusW_scm_handle
;
346 static int hf_svcctl_svcctl_QueryServiceObjectSecurity_bytes_needed
;
347 static int hf_svcctl_svcctl_QueryServiceObjectSecurity_offered
;
348 static int hf_svcctl_svcctl_QueryServiceObjectSecurity_security_descriptor
;
349 static int hf_svcctl_svcctl_QueryServiceObjectSecurity_security_flags
;
350 static int hf_svcctl_svcctl_QueryServiceObjectSecurity_service_handle
;
351 static int hf_svcctl_svcctl_QueryServiceStatusEx_buffer
;
352 static int hf_svcctl_svcctl_QueryServiceStatusEx_handle
;
353 static int hf_svcctl_svcctl_QueryServiceStatusEx_info_level
;
354 static int hf_svcctl_svcctl_QueryServiceStatusEx_needed
;
355 static int hf_svcctl_svcctl_QueryServiceStatusEx_offered
;
356 static int hf_svcctl_svcctl_QueryServiceStatus_service_handle
;
357 static int hf_svcctl_svcctl_QueryServiceStatus_service_status
;
358 static int hf_svcctl_svcctl_SCSetServiceBitsA_handle
;
359 static int hf_svcctl_svcctl_SCSetServiceBitsA_lpString
;
360 static int hf_svcctl_svcctl_SCSetServiceBitsA_service_bits
;
361 static int hf_svcctl_svcctl_SCSetServiceBitsA_set_bits_on
;
362 static int hf_svcctl_svcctl_SCSetServiceBitsA_update_immediately
;
363 static int hf_svcctl_svcctl_SCSetServiceBitsW_lpString
;
364 static int hf_svcctl_svcctl_SCSetServiceBitsW_service_bits
;
365 static int hf_svcctl_svcctl_SCSetServiceBitsW_service_handle
;
366 static int hf_svcctl_svcctl_SCSetServiceBitsW_set_bits_on
;
367 static int hf_svcctl_svcctl_SCSetServiceBitsW_update_immediately
;
368 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_CHANGE_CONFIG
;
369 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_ENUMERATE_DEPENDENTS
;
370 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_INTERROGATE
;
371 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_PAUSE_CONTINUE
;
372 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_CONFIG
;
373 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_STATUS
;
374 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_START
;
375 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_STOP
;
376 static int hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_USER_DEFINED_CONTROL
;
377 static int hf_svcctl_svcctl_SetServiceObjectSecurity_offered
;
378 static int hf_svcctl_svcctl_SetServiceObjectSecurity_security_descriptor
;
379 static int hf_svcctl_svcctl_SetServiceObjectSecurity_security_flags
;
380 static int hf_svcctl_svcctl_SetServiceObjectSecurity_service_handle
;
381 static int hf_svcctl_svcctl_SetServiceStatus_service_handle
;
382 static int hf_svcctl_svcctl_SetServiceStatus_service_status
;
383 static int hf_svcctl_svcctl_StartServiceA_Arguments
;
384 static int hf_svcctl_svcctl_StartServiceA_NumArgs
;
385 static int hf_svcctl_svcctl_StartServiceA_service_handle
;
386 static int hf_svcctl_svcctl_StartServiceW_Arguments
;
387 static int hf_svcctl_svcctl_StartServiceW_NumArgs
;
388 static int hf_svcctl_svcctl_StartServiceW_service_handle
;
389 static int hf_svcctl_svcctl_UnlockServiceDatabase_lock_handle
;
390 static int hf_svcctl_werror
;
392 static int proto_dcerpc_svcctl
;
393 /* Version information */
396 static e_guid_t uuid_dcerpc_svcctl
= {
397 0x367abb81, 0x9844, 0x35f1,
398 { 0xad, 0x32, 0x98, 0xf0, 0x38, 0x00, 0x10, 0x03 }
400 static uint16_t ver_dcerpc_svcctl
= 2;
402 static int svcctl_dissect_element_SERVICE_LOCK_STATUS_is_locked(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
403 static int svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_owner(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
404 static int svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_owner_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
405 static int svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_duration(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
406 const value_string svcctl_svcctl_ServiceStatus_vals
[] = {
407 { SVCCTL_STOPPED
, "SVCCTL_STOPPED" },
408 { SVCCTL_START_PENDING
, "SVCCTL_START_PENDING" },
409 { SVCCTL_STOP_PENDING
, "SVCCTL_STOP_PENDING" },
410 { SVCCTL_RUNNING
, "SVCCTL_RUNNING" },
411 { SVCCTL_CONTINUE_PENDING
, "SVCCTL_CONTINUE_PENDING" },
412 { SVCCTL_PAUSE_PENDING
, "SVCCTL_PAUSE_PENDING" },
413 { SVCCTL_PAUSED
, "SVCCTL_PAUSED" },
416 const value_string svcctl_svcctl_ServiceType_vals
[] = {
417 { SERVICE_TYPE_KERNEL_DRIVER
, "SERVICE_TYPE_KERNEL_DRIVER" },
418 { SERVICE_TYPE_FS_DRIVER
, "SERVICE_TYPE_FS_DRIVER" },
419 { SERVICE_TYPE_ADAPTER
, "SERVICE_TYPE_ADAPTER" },
420 { SERVICE_TYPE_RECOGNIZER_DRIVER
, "SERVICE_TYPE_RECOGNIZER_DRIVER" },
421 { SERVICE_TYPE_DRIVER
, "SERVICE_TYPE_DRIVER" },
422 { SERVICE_TYPE_WIN32_OWN_PROCESS
, "SERVICE_TYPE_WIN32_OWN_PROCESS" },
423 { SERVICE_TYPE_WIN32_SHARE_PROCESS
, "SERVICE_TYPE_WIN32_SHARE_PROCESS" },
424 { SERVICE_TYPE_USER_OWN_PROCESS
, "SERVICE_TYPE_USER_OWN_PROCESS" },
425 { SERVICE_TYPE_USER_SHARE_PROCESS
, "SERVICE_TYPE_USER_SHARE_PROCESS" },
426 { SERVICE_TYPE_WIN32
, "SERVICE_TYPE_WIN32" },
427 { SERVICE_TYPE_INTERACTIVE_PROCESS
, "SERVICE_TYPE_INTERACTIVE_PROCESS" },
430 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_STOP_tfs
= {
431 "SERVICE_ACCEPT_STOP is SET",
432 "SERVICE_ACCEPT_STOP is NOT SET",
434 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_PAUSE_CONTINUE_tfs
= {
435 "SERVICE_ACCEPT_PAUSE_CONTINUE is SET",
436 "SERVICE_ACCEPT_PAUSE_CONTINUE is NOT SET",
438 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_SHUTDOWN_tfs
= {
439 "SERVICE_ACCEPT_SHUTDOWN is SET",
440 "SERVICE_ACCEPT_SHUTDOWN is NOT SET",
442 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_PARAMCHANGE_tfs
= {
443 "SERVICE_ACCEPT_PARAMCHANGE is SET",
444 "SERVICE_ACCEPT_PARAMCHANGE is NOT SET",
446 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_NETBINDCHANGE_tfs
= {
447 "SERVICE_ACCEPT_NETBINDCHANGE is SET",
448 "SERVICE_ACCEPT_NETBINDCHANGE is NOT SET",
450 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_HARDWAREPROFILECHANGE_tfs
= {
451 "SERVICE_ACCEPT_HARDWAREPROFILECHANGE is SET",
452 "SERVICE_ACCEPT_HARDWAREPROFILECHANGE is NOT SET",
454 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_POWEREVENT_tfs
= {
455 "SERVICE_ACCEPT_POWEREVENT is SET",
456 "SERVICE_ACCEPT_POWEREVENT is NOT SET",
458 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_SESSIONCHANGE_tfs
= {
459 "SERVICE_ACCEPT_SESSIONCHANGE is SET",
460 "SERVICE_ACCEPT_SESSIONCHANGE is NOT SET",
462 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_PRESHUTDOWN_tfs
= {
463 "SERVICE_ACCEPT_PRESHUTDOWN is SET",
464 "SERVICE_ACCEPT_PRESHUTDOWN is NOT SET",
466 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_TIMECHANGE_tfs
= {
467 "SERVICE_ACCEPT_TIMECHANGE is SET",
468 "SERVICE_ACCEPT_TIMECHANGE is NOT SET",
470 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_TRIGGEREVENT_tfs
= {
471 "SERVICE_ACCEPT_TRIGGEREVENT is SET",
472 "SERVICE_ACCEPT_TRIGGEREVENT is NOT SET",
474 static const true_false_string svcctl_ControlsAccepted_SERVICE_ACCEPT_USERMODEREBOOT_tfs
= {
475 "SERVICE_ACCEPT_USERMODEREBOOT is SET",
476 "SERVICE_ACCEPT_USERMODEREBOOT is NOT SET",
478 static int svcctl_dissect_element_SERVICE_STATUS_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
479 static int svcctl_dissect_element_SERVICE_STATUS_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
480 static int svcctl_dissect_element_SERVICE_STATUS_controls_accepted(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
481 static int svcctl_dissect_element_SERVICE_STATUS_win32_exit_code(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
482 static int svcctl_dissect_element_SERVICE_STATUS_service_exit_code(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
483 static int svcctl_dissect_element_SERVICE_STATUS_check_point(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
484 static int svcctl_dissect_element_SERVICE_STATUS_wait_hint(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
485 const value_string svcctl_svcctl_ServiceFlags_vals
[] = {
486 { SERVICE_RUNS_IN_NONSYSTEM_ORNOTRUNNING
, "SERVICE_RUNS_IN_NONSYSTEM_ORNOTRUNNING" },
487 { SERVICE_RUNS_IN_SYSTEM_PROCESS
, "SERVICE_RUNS_IN_SYSTEM_PROCESS" },
490 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
491 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
492 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_controls_accepted(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
493 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_win32_exit_code(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
494 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_service_exit_code(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
495 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_check_point(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
496 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_wait_hint(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
497 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_process_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
498 static int svcctl_dissect_element_SERVICE_STATUS_PROCESS_service_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
499 static int svcctl_dissect_element_ENUM_SERVICE_STATUSW_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
500 static int svcctl_dissect_element_ENUM_SERVICE_STATUSW_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
501 static int svcctl_dissect_element_ENUM_SERVICE_STATUSW_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
502 static int svcctl_dissect_element_ENUM_SERVICE_STATUSW_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
503 static int svcctl_dissect_element_ENUM_SERVICE_STATUSW_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
504 static int svcctl_dissect_element_ENUM_SERVICE_STATUSA_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
505 static int svcctl_dissect_element_ENUM_SERVICE_STATUSA_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
506 static int svcctl_dissect_element_ENUM_SERVICE_STATUSA_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
507 static int svcctl_dissect_element_ENUM_SERVICE_STATUSA_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
508 static int svcctl_dissect_element_ENUM_SERVICE_STATUSA_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
509 const value_string svcctl_SERVICE_CONTROL_vals
[] = {
510 { SVCCTL_CONTROL_STOP
, "SVCCTL_CONTROL_STOP" },
511 { SVCCTL_CONTROL_PAUSE
, "SVCCTL_CONTROL_PAUSE" },
512 { SVCCTL_CONTROL_CONTINUE
, "SVCCTL_CONTROL_CONTINUE" },
513 { SVCCTL_CONTROL_INTERROGATE
, "SVCCTL_CONTROL_INTERROGATE" },
514 { SVCCTL_CONTROL_SHUTDOWN
, "SVCCTL_CONTROL_SHUTDOWN" },
515 { SERVICE_CONTROL_PARAMCHANGE
, "SERVICE_CONTROL_PARAMCHANGE" },
516 { SERVICE_CONTROL_NETBINDADD
, "SERVICE_CONTROL_NETBINDADD" },
517 { SERVICE_CONTROL_NETBINDREMOVE
, "SERVICE_CONTROL_NETBINDREMOVE" },
518 { SERVICE_CONTROL_NETBINDENABLE
, "SERVICE_CONTROL_NETBINDENABLE" },
519 { SERVICE_CONTROL_NETBINDDISABLE
, "SERVICE_CONTROL_NETBINDDISABLE" },
522 const value_string svcctl_svcctl_ErrorControl_vals
[] = {
523 { SVCCTL_SVC_ERROR_IGNORE
, "SVCCTL_SVC_ERROR_IGNORE" },
524 { SVCCTL_SVC_ERROR_NORMAL
, "SVCCTL_SVC_ERROR_NORMAL" },
525 { SVCCTL_SVC_ERROR_CRITICAL
, "SVCCTL_SVC_ERROR_CRITICAL" },
526 { SVCCTL_SVC_ERROR_SEVERE
, "SVCCTL_SVC_ERROR_SEVERE" },
529 const value_string svcctl_svcctl_StartType_vals
[] = {
530 { SVCCTL_BOOT_START
, "SVCCTL_BOOT_START" },
531 { SVCCTL_SYSTEM_START
, "SVCCTL_SYSTEM_START" },
532 { SVCCTL_AUTO_START
, "SVCCTL_AUTO_START" },
533 { SVCCTL_DEMAND_START
, "SVCCTL_DEMAND_START" },
534 { SVCCTL_DISABLED
, "SVCCTL_DISABLED" },
537 const value_string svcctl_svcctl_ServiceState_vals
[] = {
538 { SERVICE_STATE_ACTIVE
, "SERVICE_STATE_ACTIVE" },
539 { SERVICE_STATE_INACTIVE
, "SERVICE_STATE_INACTIVE" },
540 { SERVICE_STATE_ALL
, "SERVICE_STATE_ALL" },
543 static const true_false_string svcctl_MgrAccessMask_SC_RIGHT_MGR_CONNECT_tfs
= {
544 "SC_RIGHT_MGR_CONNECT is SET",
545 "SC_RIGHT_MGR_CONNECT is NOT SET",
547 static const true_false_string svcctl_MgrAccessMask_SC_RIGHT_MGR_CREATE_SERVICE_tfs
= {
548 "SC_RIGHT_MGR_CREATE_SERVICE is SET",
549 "SC_RIGHT_MGR_CREATE_SERVICE is NOT SET",
551 static const true_false_string svcctl_MgrAccessMask_SC_RIGHT_MGR_ENUMERATE_SERVICE_tfs
= {
552 "SC_RIGHT_MGR_ENUMERATE_SERVICE is SET",
553 "SC_RIGHT_MGR_ENUMERATE_SERVICE is NOT SET",
555 static const true_false_string svcctl_MgrAccessMask_SC_RIGHT_MGR_LOCK_tfs
= {
556 "SC_RIGHT_MGR_LOCK is SET",
557 "SC_RIGHT_MGR_LOCK is NOT SET",
559 static const true_false_string svcctl_MgrAccessMask_SC_RIGHT_MGR_QUERY_LOCK_STATUS_tfs
= {
560 "SC_RIGHT_MGR_QUERY_LOCK_STATUS is SET",
561 "SC_RIGHT_MGR_QUERY_LOCK_STATUS is NOT SET",
563 static const true_false_string svcctl_MgrAccessMask_SC_RIGHT_MGR_MODIFY_BOOT_CONFIG_tfs
= {
564 "SC_RIGHT_MGR_MODIFY_BOOT_CONFIG is SET",
565 "SC_RIGHT_MGR_MODIFY_BOOT_CONFIG is NOT SET",
567 static const true_false_string svcctl_MgrAccessMask_SC_RIGHT_MGR_ALL_ACCESS_tfs
= {
568 "SC_RIGHT_MGR_ALL_ACCESS is SET",
569 "SC_RIGHT_MGR_ALL_ACCESS is NOT SET",
571 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_CONFIG_tfs
= {
572 "SC_RIGHT_SVC_QUERY_CONFIG is SET",
573 "SC_RIGHT_SVC_QUERY_CONFIG is NOT SET",
575 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_CHANGE_CONFIG_tfs
= {
576 "SC_RIGHT_SVC_CHANGE_CONFIG is SET",
577 "SC_RIGHT_SVC_CHANGE_CONFIG is NOT SET",
579 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_STATUS_tfs
= {
580 "SC_RIGHT_SVC_QUERY_STATUS is SET",
581 "SC_RIGHT_SVC_QUERY_STATUS is NOT SET",
583 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_ENUMERATE_DEPENDENTS_tfs
= {
584 "SC_RIGHT_SVC_ENUMERATE_DEPENDENTS is SET",
585 "SC_RIGHT_SVC_ENUMERATE_DEPENDENTS is NOT SET",
587 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_START_tfs
= {
588 "SC_RIGHT_SVC_START is SET",
589 "SC_RIGHT_SVC_START is NOT SET",
591 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_STOP_tfs
= {
592 "SC_RIGHT_SVC_STOP is SET",
593 "SC_RIGHT_SVC_STOP is NOT SET",
595 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_PAUSE_CONTINUE_tfs
= {
596 "SC_RIGHT_SVC_PAUSE_CONTINUE is SET",
597 "SC_RIGHT_SVC_PAUSE_CONTINUE is NOT SET",
599 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_INTERROGATE_tfs
= {
600 "SC_RIGHT_SVC_INTERROGATE is SET",
601 "SC_RIGHT_SVC_INTERROGATE is NOT SET",
603 static const true_false_string svcctl_ServiceAccessMask_SC_RIGHT_SVC_USER_DEFINED_CONTROL_tfs
= {
604 "SC_RIGHT_SVC_USER_DEFINED_CONTROL is SET",
605 "SC_RIGHT_SVC_USER_DEFINED_CONTROL is NOT SET",
607 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
608 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
609 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
610 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_executablepath(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
611 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_executablepath_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
612 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_loadordergroup(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
613 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_loadordergroup_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
614 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
615 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
616 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
617 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_startname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
618 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_startname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
619 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_displayname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
620 static int svcctl_dissect_element_QUERY_SERVICE_CONFIG_displayname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
621 static int svcctl_dissect_element_ArgumentString_string(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
622 static int svcctl_dissect_element_ArgumentString_string_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
623 static int svcctl_dissect_element_ArgumentStringA_string(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
624 static int svcctl_dissect_element_ArgumentStringA_string_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
625 const value_string svcctl_svcctl_ConfigLevel_vals
[] = {
626 { SERVICE_CONFIG_DESCRIPTION
, "SERVICE_CONFIG_DESCRIPTION" },
627 { SERVICE_CONFIG_FAILURE_ACTIONS
, "SERVICE_CONFIG_FAILURE_ACTIONS" },
630 const value_string svcctl_svcctl_StatusLevel_vals
[] = {
631 { SVC_STATUS_PROCESS_INFO
, "SVC_STATUS_PROCESS_INFO" },
634 static int svcctl_dissect_element_CloseServiceHandle_object_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
635 static int svcctl_dissect_element_CloseServiceHandle_object_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
636 static int svcctl_dissect_element_ControlService_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
637 static int svcctl_dissect_element_ControlService_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
638 static int svcctl_dissect_element_ControlService_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
639 static int svcctl_dissect_element_ControlService_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
640 static int svcctl_dissect_element_ControlService_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
641 static int svcctl_dissect_element_DeleteService_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
642 static int svcctl_dissect_element_DeleteService_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
643 static int svcctl_dissect_element_LockServiceDatabase_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
644 static int svcctl_dissect_element_LockServiceDatabase_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
645 static int svcctl_dissect_element_LockServiceDatabase_lock_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
646 static int svcctl_dissect_element_LockServiceDatabase_lock_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
647 static int svcctl_dissect_element_QueryServiceObjectSecurity_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
648 static int svcctl_dissect_element_QueryServiceObjectSecurity_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
649 static int svcctl_dissect_element_QueryServiceObjectSecurity_security_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
650 static int svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
651 static int svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
652 static int svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
653 static int svcctl_dissect_element_QueryServiceObjectSecurity_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
654 static int svcctl_dissect_element_QueryServiceObjectSecurity_bytes_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
655 static int svcctl_dissect_element_QueryServiceObjectSecurity_bytes_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
656 static int svcctl_dissect_element_SetServiceObjectSecurity_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
657 static int svcctl_dissect_element_SetServiceObjectSecurity_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
658 static int svcctl_dissect_element_SetServiceObjectSecurity_security_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
659 static int svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
660 static int svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
661 static int svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
662 static int svcctl_dissect_element_SetServiceObjectSecurity_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
663 static int svcctl_dissect_element_QueryServiceStatus_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
664 static int svcctl_dissect_element_QueryServiceStatus_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
665 static int svcctl_dissect_element_QueryServiceStatus_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
666 static int svcctl_dissect_element_QueryServiceStatus_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
667 static int svcctl_dissect_element_SetServiceStatus_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
668 static int svcctl_dissect_element_SetServiceStatus_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
669 static int svcctl_dissect_element_SetServiceStatus_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
670 static int svcctl_dissect_element_SetServiceStatus_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
671 static int svcctl_dissect_element_UnlockServiceDatabase_lock_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
672 static int svcctl_dissect_element_UnlockServiceDatabase_lock_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
673 static int svcctl_dissect_element_NotifyBootConfigStatus_machine_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
674 static int svcctl_dissect_element_NotifyBootConfigStatus_machine_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
675 static int svcctl_dissect_element_NotifyBootConfigStatus_boot_acceptable(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
676 static int svcctl_dissect_element_SCSetServiceBitsW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
677 static int svcctl_dissect_element_SCSetServiceBitsW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
678 static int svcctl_dissect_element_SCSetServiceBitsW_service_bits(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
679 static int svcctl_dissect_element_SCSetServiceBitsW_set_bits_on(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
680 static int svcctl_dissect_element_SCSetServiceBitsW_update_immediately(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
681 static int svcctl_dissect_element_SCSetServiceBitsW_lpString(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
682 static int svcctl_dissect_element_SCSetServiceBitsW_lpString_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
683 static int svcctl_dissect_element_ChangeServiceConfigW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
684 static int svcctl_dissect_element_ChangeServiceConfigW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
685 static int svcctl_dissect_element_ChangeServiceConfigW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
686 static int svcctl_dissect_element_ChangeServiceConfigW_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
687 static int svcctl_dissect_element_ChangeServiceConfigW_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
688 static int svcctl_dissect_element_ChangeServiceConfigW_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
689 static int svcctl_dissect_element_ChangeServiceConfigW_binary_path_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
690 static int svcctl_dissect_element_ChangeServiceConfigW_load_order_group(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
691 static int svcctl_dissect_element_ChangeServiceConfigW_load_order_group_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
692 static int svcctl_dissect_element_ChangeServiceConfigW_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
693 static int svcctl_dissect_element_ChangeServiceConfigW_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
694 static int svcctl_dissect_element_ChangeServiceConfigW_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
695 static int svcctl_dissect_element_ChangeServiceConfigW_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
696 static int svcctl_dissect_element_ChangeServiceConfigW_dwDependSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
697 static int svcctl_dissect_element_ChangeServiceConfigW_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
698 static int svcctl_dissect_element_ChangeServiceConfigW_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
699 static int svcctl_dissect_element_ChangeServiceConfigW_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
700 static int svcctl_dissect_element_ChangeServiceConfigW_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
701 static int svcctl_dissect_element_ChangeServiceConfigW_dwPwSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
702 static int svcctl_dissect_element_ChangeServiceConfigW_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
703 static int svcctl_dissect_element_ChangeServiceConfigW_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
704 static int svcctl_dissect_element_CreateServiceW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
705 static int svcctl_dissect_element_CreateServiceW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
706 static int svcctl_dissect_element_CreateServiceW_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
707 static int svcctl_dissect_element_CreateServiceW_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
708 static int svcctl_dissect_element_CreateServiceW_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
709 static int svcctl_dissect_element_CreateServiceW_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
710 static int svcctl_dissect_element_CreateServiceW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
711 static int svcctl_dissect_element_CreateServiceW_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
712 static int svcctl_dissect_element_CreateServiceW_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
713 static int svcctl_dissect_element_CreateServiceW_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
714 static int svcctl_dissect_element_CreateServiceW_LoadOrderGroup(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
715 static int svcctl_dissect_element_CreateServiceW_LoadOrderGroup_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
716 static int svcctl_dissect_element_CreateServiceW_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
717 static int svcctl_dissect_element_CreateServiceW_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
718 static int svcctl_dissect_element_CreateServiceW_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
719 static int svcctl_dissect_element_CreateServiceW_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
720 static int svcctl_dissect_element_CreateServiceW_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
721 static int svcctl_dissect_element_CreateServiceW_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
722 static int svcctl_dissect_element_CreateServiceW_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
723 static int svcctl_dissect_element_CreateServiceW_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
724 static int svcctl_dissect_element_CreateServiceW_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
725 static int svcctl_dissect_element_CreateServiceW_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
726 static int svcctl_dissect_element_CreateServiceW_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
727 static int svcctl_dissect_element_CreateServiceW_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
728 static int svcctl_dissect_element_CreateServiceW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
729 static int svcctl_dissect_element_CreateServiceW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
730 static int svcctl_dissect_element_EnumDependentServicesW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
731 static int svcctl_dissect_element_EnumDependentServicesW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
732 static int svcctl_dissect_element_EnumDependentServicesW_service_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
733 static int svcctl_dissect_element_EnumDependentServicesW_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
734 static int svcctl_dissect_element_EnumDependentServicesW_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
735 static int svcctl_dissect_element_EnumDependentServicesW_service_status__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
736 static int svcctl_dissect_element_EnumDependentServicesW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
737 static int svcctl_dissect_element_EnumDependentServicesW_bytesneeded(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
738 static int svcctl_dissect_element_EnumDependentServicesW_bytesneeded_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
739 static int svcctl_dissect_element_EnumDependentServicesW_services_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
740 static int svcctl_dissect_element_EnumDependentServicesW_services_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
741 static int svcctl_dissect_element_EnumServicesStatusW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
742 static int svcctl_dissect_element_EnumServicesStatusW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
743 static int svcctl_dissect_element_EnumServicesStatusW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
744 static int svcctl_dissect_element_EnumServicesStatusW_service_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
745 static int svcctl_dissect_element_EnumServicesStatusW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
746 static int svcctl_dissect_element_EnumServicesStatusW_resume_index(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
747 static int svcctl_dissect_element_EnumServicesStatusW_resume_index_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
748 static int svcctl_dissect_element_OpenSCManagerW_MachineName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
749 static int svcctl_dissect_element_OpenSCManagerW_MachineName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
750 static int svcctl_dissect_element_OpenSCManagerW_DatabaseName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
751 static int svcctl_dissect_element_OpenSCManagerW_DatabaseName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
752 static int svcctl_dissect_element_OpenSCManagerW_access_mask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
753 static int svcctl_dissect_element_OpenSCManagerW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
754 static int svcctl_dissect_element_OpenSCManagerW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
755 static int svcctl_dissect_element_OpenServiceW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
756 static int svcctl_dissect_element_OpenServiceW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
757 static int svcctl_dissect_element_OpenServiceW_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
758 static int svcctl_dissect_element_OpenServiceW_access_mask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
759 static int svcctl_dissect_element_OpenServiceW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
760 static int svcctl_dissect_element_OpenServiceW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
761 static int svcctl_dissect_element_QueryServiceConfigW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
762 static int svcctl_dissect_element_QueryServiceConfigW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
763 static int svcctl_dissect_element_QueryServiceConfigW_service_config(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
764 static int svcctl_dissect_element_QueryServiceConfigW_service_config_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
765 static int svcctl_dissect_element_QueryServiceConfigW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
766 static int svcctl_dissect_element_QueryServiceConfigW_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
767 static int svcctl_dissect_element_QueryServiceConfigW_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
768 static int svcctl_dissect_element_QueryServiceLockStatusW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
769 static int svcctl_dissect_element_QueryServiceLockStatusW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
770 static int svcctl_dissect_element_QueryServiceLockStatusW_lock_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
771 static int svcctl_dissect_element_QueryServiceLockStatusW_lock_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
772 static int svcctl_dissect_element_QueryServiceLockStatusW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
773 static int svcctl_dissect_element_QueryServiceLockStatusW_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
774 static int svcctl_dissect_element_QueryServiceLockStatusW_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
775 static int svcctl_dissect_element_StartServiceW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
776 static int svcctl_dissect_element_StartServiceW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
777 static int svcctl_dissect_element_StartServiceW_NumArgs(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
778 static int svcctl_dissect_element_StartServiceW_Arguments(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
779 static int svcctl_dissect_element_StartServiceW_Arguments_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
780 static int svcctl_dissect_element_StartServiceW_Arguments__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
781 static int svcctl_dissect_element_GetServiceDisplayNameW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
782 static int svcctl_dissect_element_GetServiceDisplayNameW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
783 static int svcctl_dissect_element_GetServiceDisplayNameW_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
784 static int svcctl_dissect_element_GetServiceDisplayNameW_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
785 static int svcctl_dissect_element_GetServiceDisplayNameW_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
786 static int svcctl_dissect_element_GetServiceDisplayNameW_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
787 static int svcctl_dissect_element_GetServiceDisplayNameW_display_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
788 static int svcctl_dissect_element_GetServiceDisplayNameW_display_name_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
789 static int svcctl_dissect_element_GetServiceDisplayNameW_display_name_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
790 static int svcctl_dissect_element_GetServiceKeyNameW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
791 static int svcctl_dissect_element_GetServiceKeyNameW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
792 static int svcctl_dissect_element_GetServiceKeyNameW_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
793 static int svcctl_dissect_element_GetServiceKeyNameW_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
794 static int svcctl_dissect_element_GetServiceKeyNameW_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
795 static int svcctl_dissect_element_GetServiceKeyNameW_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
796 static int svcctl_dissect_element_GetServiceKeyNameW_service_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
797 static int svcctl_dissect_element_GetServiceKeyNameW_service_name_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
798 static int svcctl_dissect_element_GetServiceKeyNameW_service_name_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
799 static int svcctl_dissect_element_SCSetServiceBitsA_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
800 static int svcctl_dissect_element_SCSetServiceBitsA_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
801 static int svcctl_dissect_element_SCSetServiceBitsA_service_bits(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
802 static int svcctl_dissect_element_SCSetServiceBitsA_set_bits_on(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
803 static int svcctl_dissect_element_SCSetServiceBitsA_update_immediately(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
804 static int svcctl_dissect_element_SCSetServiceBitsA_lpString(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
805 static int svcctl_dissect_element_SCSetServiceBitsA_lpString_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
806 static int svcctl_dissect_element_ChangeServiceConfigA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
807 static int svcctl_dissect_element_ChangeServiceConfigA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
808 static int svcctl_dissect_element_ChangeServiceConfigA_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
809 static int svcctl_dissect_element_ChangeServiceConfigA_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
810 static int svcctl_dissect_element_ChangeServiceConfigA_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
811 static int svcctl_dissect_element_ChangeServiceConfigA_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
812 static int svcctl_dissect_element_ChangeServiceConfigA_binary_path_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
813 static int svcctl_dissect_element_ChangeServiceConfigA_load_order_group(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
814 static int svcctl_dissect_element_ChangeServiceConfigA_load_order_group_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
815 static int svcctl_dissect_element_ChangeServiceConfigA_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
816 static int svcctl_dissect_element_ChangeServiceConfigA_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
817 static int svcctl_dissect_element_ChangeServiceConfigA_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
818 static int svcctl_dissect_element_ChangeServiceConfigA_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
819 static int svcctl_dissect_element_ChangeServiceConfigA_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
820 static int svcctl_dissect_element_ChangeServiceConfigA_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
821 static int svcctl_dissect_element_ChangeServiceConfigA_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
822 static int svcctl_dissect_element_ChangeServiceConfigA_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
823 static int svcctl_dissect_element_ChangeServiceConfigA_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
824 static int svcctl_dissect_element_ChangeServiceConfigA_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
825 static int svcctl_dissect_element_CreateServiceA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
826 static int svcctl_dissect_element_CreateServiceA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
827 static int svcctl_dissect_element_CreateServiceA_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
828 static int svcctl_dissect_element_CreateServiceA_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
829 static int svcctl_dissect_element_CreateServiceA_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
830 static int svcctl_dissect_element_CreateServiceA_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
831 static int svcctl_dissect_element_CreateServiceA_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
832 static int svcctl_dissect_element_CreateServiceA_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
833 static int svcctl_dissect_element_CreateServiceA_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
834 static int svcctl_dissect_element_CreateServiceA_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
835 static int svcctl_dissect_element_CreateServiceA_LoadOrderGroupKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
836 static int svcctl_dissect_element_CreateServiceA_LoadOrderGroupKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
837 static int svcctl_dissect_element_CreateServiceA_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
838 static int svcctl_dissect_element_CreateServiceA_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
839 static int svcctl_dissect_element_CreateServiceA_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
840 static int svcctl_dissect_element_CreateServiceA_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
841 static int svcctl_dissect_element_CreateServiceA_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
842 static int svcctl_dissect_element_CreateServiceA_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
843 static int svcctl_dissect_element_CreateServiceA_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
844 static int svcctl_dissect_element_CreateServiceA_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
845 static int svcctl_dissect_element_CreateServiceA_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
846 static int svcctl_dissect_element_CreateServiceA_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
847 static int svcctl_dissect_element_CreateServiceA_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
848 static int svcctl_dissect_element_CreateServiceA_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
849 static int svcctl_dissect_element_CreateServiceA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
850 static int svcctl_dissect_element_CreateServiceA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
851 static int svcctl_dissect_element_EnumDependentServicesA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
852 static int svcctl_dissect_element_EnumDependentServicesA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
853 static int svcctl_dissect_element_EnumDependentServicesA_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
854 static int svcctl_dissect_element_EnumDependentServicesA_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
855 static int svcctl_dissect_element_EnumDependentServicesA_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
856 static int svcctl_dissect_element_EnumDependentServicesA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
857 static int svcctl_dissect_element_EnumDependentServicesA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
858 static int svcctl_dissect_element_EnumDependentServicesA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
859 static int svcctl_dissect_element_EnumDependentServicesA_services_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
860 static int svcctl_dissect_element_EnumDependentServicesA_services_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
861 static int svcctl_dissect_element_EnumServicesStatusA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
862 static int svcctl_dissect_element_EnumServicesStatusA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
863 static int svcctl_dissect_element_EnumServicesStatusA_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
864 static int svcctl_dissect_element_EnumServicesStatusA_service_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
865 static int svcctl_dissect_element_EnumServicesStatusA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
866 static int svcctl_dissect_element_EnumServicesStatusA_service(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
867 static int svcctl_dissect_element_EnumServicesStatusA_service_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
868 static int svcctl_dissect_element_EnumServicesStatusA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
869 static int svcctl_dissect_element_EnumServicesStatusA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
870 static int svcctl_dissect_element_EnumServicesStatusA_services_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
871 static int svcctl_dissect_element_EnumServicesStatusA_services_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
872 static int svcctl_dissect_element_EnumServicesStatusA_resume_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
873 static int svcctl_dissect_element_EnumServicesStatusA_resume_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
874 static int svcctl_dissect_element_OpenSCManagerA_MachineName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
875 static int svcctl_dissect_element_OpenSCManagerA_MachineName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
876 static int svcctl_dissect_element_OpenSCManagerA_DatabaseName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
877 static int svcctl_dissect_element_OpenSCManagerA_DatabaseName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
878 static int svcctl_dissect_element_OpenSCManagerA_access_mask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
879 static int svcctl_dissect_element_OpenSCManagerA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
880 static int svcctl_dissect_element_OpenSCManagerA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
881 static int svcctl_dissect_element_OpenServiceA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
882 static int svcctl_dissect_element_OpenServiceA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
883 static int svcctl_dissect_element_OpenServiceA_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
884 static int svcctl_dissect_element_OpenServiceA_access_mask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
885 static int svcctl_dissect_element_OpenServiceA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
886 static int svcctl_dissect_element_OpenServiceA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
887 static int svcctl_dissect_element_QueryServiceConfigA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
888 static int svcctl_dissect_element_QueryServiceConfigA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
889 static int svcctl_dissect_element_QueryServiceConfigA_query(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
890 static int svcctl_dissect_element_QueryServiceConfigA_query_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
891 static int svcctl_dissect_element_QueryServiceConfigA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
892 static int svcctl_dissect_element_QueryServiceConfigA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
893 static int svcctl_dissect_element_QueryServiceConfigA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
894 static int svcctl_dissect_element_QueryServiceLockStatusA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
895 static int svcctl_dissect_element_QueryServiceLockStatusA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
896 static int svcctl_dissect_element_QueryServiceLockStatusA_lock_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
897 static int svcctl_dissect_element_QueryServiceLockStatusA_lock_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
898 static int svcctl_dissect_element_QueryServiceLockStatusA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
899 static int svcctl_dissect_element_QueryServiceLockStatusA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
900 static int svcctl_dissect_element_QueryServiceLockStatusA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
901 static int svcctl_dissect_element_StartServiceA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
902 static int svcctl_dissect_element_StartServiceA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
903 static int svcctl_dissect_element_StartServiceA_NumArgs(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
904 static int svcctl_dissect_element_StartServiceA_Arguments(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
905 static int svcctl_dissect_element_StartServiceA_Arguments_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
906 static int svcctl_dissect_element_StartServiceA_Arguments__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
907 static int svcctl_dissect_element_GetServiceDisplayNameA_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
908 static int svcctl_dissect_element_GetServiceDisplayNameA_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
909 static int svcctl_dissect_element_GetServiceDisplayNameA_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
910 static int svcctl_dissect_element_GetServiceDisplayNameA_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
911 static int svcctl_dissect_element_GetServiceDisplayNameA_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
912 static int svcctl_dissect_element_GetServiceDisplayNameA_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
913 static int svcctl_dissect_element_GetServiceDisplayNameA_display_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
914 static int svcctl_dissect_element_GetServiceDisplayNameA_display_name_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
915 static int svcctl_dissect_element_GetServiceDisplayNameA_display_name_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
916 static int svcctl_dissect_element_GetServiceKeyNameA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
917 static int svcctl_dissect_element_GetServiceKeyNameA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
918 static int svcctl_dissect_element_GetServiceKeyNameA_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
919 static int svcctl_dissect_element_GetServiceKeyNameA_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
920 static int svcctl_dissect_element_GetServiceKeyNameA_key_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
921 static int svcctl_dissect_element_GetServiceKeyNameA_key_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
922 static int svcctl_dissect_element_GetServiceKeyNameA_key_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
923 static int svcctl_dissect_element_GetServiceKeyNameA_display_name_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
924 static int svcctl_dissect_element_GetServiceKeyNameA_display_name_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
925 static int svcctl_dissect_element_GetCurrentGroupeStateW_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
926 static int svcctl_dissect_element_GetCurrentGroupeStateW_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
927 static int svcctl_dissect_element_GetCurrentGroupeStateW_lpLoadOrderGroup(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
928 static int svcctl_dissect_element_GetCurrentGroupeStateW_lpLoadOrderGroup_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
929 static int svcctl_dissect_element_GetCurrentGroupeStateW_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
930 static int svcctl_dissect_element_GetCurrentGroupeStateW_state_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
931 static int svcctl_dissect_element_EnumServiceGroupW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
932 static int svcctl_dissect_element_EnumServiceGroupW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
933 static int svcctl_dissect_element_EnumServiceGroupW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
934 static int svcctl_dissect_element_EnumServiceGroupW_service_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
935 static int svcctl_dissect_element_EnumServiceGroupW_lpBuffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
936 static int svcctl_dissect_element_EnumServiceGroupW_lpBuffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
937 static int svcctl_dissect_element_EnumServiceGroupW_cbBufSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
938 static int svcctl_dissect_element_EnumServiceGroupW_pcbBytesNeeded(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
939 static int svcctl_dissect_element_EnumServiceGroupW_pcbBytesNeeded_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
940 static int svcctl_dissect_element_EnumServiceGroupW_lpServicesReturned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
941 static int svcctl_dissect_element_EnumServiceGroupW_lpServicesReturned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
942 static int svcctl_dissect_element_EnumServiceGroupW_ResumeIndex(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
943 static int svcctl_dissect_element_EnumServiceGroupW_ResumeIndex_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
944 static int svcctl_dissect_element_EnumServiceGroupW_pszGroupName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
945 static int svcctl_dissect_element_EnumServiceGroupW_pszGroupName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
946 static int svcctl_dissect_element_ChangeServiceConfig2A_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
947 static int svcctl_dissect_element_ChangeServiceConfig2A_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
948 static int svcctl_dissect_element_ChangeServiceConfig2A_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
949 static int svcctl_dissect_element_ChangeServiceConfig2A_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
950 static int svcctl_dissect_element_ChangeServiceConfig2A_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
951 static int svcctl_dissect_element_ChangeServiceConfig2W_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
952 static int svcctl_dissect_element_ChangeServiceConfig2W_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
953 static int svcctl_dissect_element_ChangeServiceConfig2W_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
954 static int svcctl_dissect_element_ChangeServiceConfig2W_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
955 static int svcctl_dissect_element_ChangeServiceConfig2W_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
956 static int svcctl_dissect_element_QueryServiceConfig2A_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
957 static int svcctl_dissect_element_QueryServiceConfig2A_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
958 static int svcctl_dissect_element_QueryServiceConfig2A_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
959 static int svcctl_dissect_element_QueryServiceConfig2A_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
960 static int svcctl_dissect_element_QueryServiceConfig2A_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
961 static int svcctl_dissect_element_QueryServiceConfig2A_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
962 static int svcctl_dissect_element_QueryServiceConfig2A_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
963 static int svcctl_dissect_element_QueryServiceConfig2A_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
964 static int svcctl_dissect_element_QueryServiceConfig2W_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
965 static int svcctl_dissect_element_QueryServiceConfig2W_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
966 static int svcctl_dissect_element_QueryServiceConfig2W_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
967 static int svcctl_dissect_element_QueryServiceConfig2W_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
968 static int svcctl_dissect_element_QueryServiceConfig2W_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
969 static int svcctl_dissect_element_QueryServiceConfig2W_buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
970 static int svcctl_dissect_element_QueryServiceConfig2W_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
971 static int svcctl_dissect_element_QueryServiceConfig2W_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
972 static int svcctl_dissect_element_QueryServiceConfig2W_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
973 static int svcctl_dissect_element_QueryServiceStatusEx_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
974 static int svcctl_dissect_element_QueryServiceStatusEx_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
975 static int svcctl_dissect_element_QueryServiceStatusEx_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
976 static int svcctl_dissect_element_QueryServiceStatusEx_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
977 static int svcctl_dissect_element_QueryServiceStatusEx_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
978 static int svcctl_dissect_element_QueryServiceStatusEx_buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
979 static int svcctl_dissect_element_QueryServiceStatusEx_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
980 static int svcctl_dissect_element_QueryServiceStatusEx_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
981 static int svcctl_dissect_element_QueryServiceStatusEx_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
982 static int svcctl_dissect_element_EnumServicesStatusExA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
983 static int svcctl_dissect_element_EnumServicesStatusExA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
984 static int svcctl_dissect_element_EnumServicesStatusExA_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
985 static int svcctl_dissect_element_EnumServicesStatusExA_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
986 static int svcctl_dissect_element_EnumServicesStatusExA_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
987 static int svcctl_dissect_element_EnumServicesStatusExA_services(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
988 static int svcctl_dissect_element_EnumServicesStatusExA_services_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
989 static int svcctl_dissect_element_EnumServicesStatusExA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
990 static int svcctl_dissect_element_EnumServicesStatusExA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
991 static int svcctl_dissect_element_EnumServicesStatusExA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
992 static int svcctl_dissect_element_EnumServicesStatusExA_service_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
993 static int svcctl_dissect_element_EnumServicesStatusExA_service_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
994 static int svcctl_dissect_element_EnumServicesStatusExA_resume_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
995 static int svcctl_dissect_element_EnumServicesStatusExA_resume_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
996 static int svcctl_dissect_element_EnumServicesStatusExA_group_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
997 static int svcctl_dissect_element_EnumServicesStatusExA_group_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
998 static int svcctl_dissect_element_EnumServicesStatusExA_group_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
999 static int svcctl_dissect_element_EnumServicesStatusExW_scmanager(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1000 static int svcctl_dissect_element_EnumServicesStatusExW_scmanager_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1001 static int svcctl_dissect_element_EnumServicesStatusExW_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1002 static int svcctl_dissect_element_EnumServicesStatusExW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1003 static int svcctl_dissect_element_EnumServicesStatusExW_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1004 static int svcctl_dissect_element_EnumServicesStatusExW_services(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1005 static int svcctl_dissect_element_EnumServicesStatusExW_services_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1006 static int svcctl_dissect_element_EnumServicesStatusExW_services__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1007 static int svcctl_dissect_element_EnumServicesStatusExW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1008 static int svcctl_dissect_element_EnumServicesStatusExW_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1009 static int svcctl_dissect_element_EnumServicesStatusExW_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1010 static int svcctl_dissect_element_EnumServicesStatusExW_service_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1011 static int svcctl_dissect_element_EnumServicesStatusExW_service_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1012 static int svcctl_dissect_element_EnumServicesStatusExW_resume_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1013 static int svcctl_dissect_element_EnumServicesStatusExW_resume_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1014 static int svcctl_dissect_element_EnumServicesStatusExW_group_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1015 static int svcctl_dissect_element_EnumServicesStatusExW_group_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1016 static int svcctl_dissect_element_CreateServiceWOW64A_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1017 static int svcctl_dissect_element_CreateServiceWOW64A_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1018 static int svcctl_dissect_element_CreateServiceWOW64A_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1019 static int svcctl_dissect_element_CreateServiceWOW64A_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1020 static int svcctl_dissect_element_CreateServiceWOW64A_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1021 static int svcctl_dissect_element_CreateServiceWOW64A_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1022 static int svcctl_dissect_element_CreateServiceWOW64A_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1023 static int svcctl_dissect_element_CreateServiceWOW64A_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1024 static int svcctl_dissect_element_CreateServiceWOW64A_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1025 static int svcctl_dissect_element_CreateServiceWOW64A_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1026 static int svcctl_dissect_element_CreateServiceWOW64A_LoadOrderGroupKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1027 static int svcctl_dissect_element_CreateServiceWOW64A_LoadOrderGroupKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1028 static int svcctl_dissect_element_CreateServiceWOW64A_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1029 static int svcctl_dissect_element_CreateServiceWOW64A_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1030 static int svcctl_dissect_element_CreateServiceWOW64A_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1031 static int svcctl_dissect_element_CreateServiceWOW64A_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1032 static int svcctl_dissect_element_CreateServiceWOW64A_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1033 static int svcctl_dissect_element_CreateServiceWOW64A_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1034 static int svcctl_dissect_element_CreateServiceWOW64A_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1035 static int svcctl_dissect_element_CreateServiceWOW64A_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1036 static int svcctl_dissect_element_CreateServiceWOW64A_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1037 static int svcctl_dissect_element_CreateServiceWOW64A_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1038 static int svcctl_dissect_element_CreateServiceWOW64A_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1039 static int svcctl_dissect_element_CreateServiceWOW64A_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1040 static int svcctl_dissect_element_CreateServiceWOW64A_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1041 static int svcctl_dissect_element_CreateServiceWOW64A_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1042 static int svcctl_dissect_element_CreateServiceWOW64W_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1043 static int svcctl_dissect_element_CreateServiceWOW64W_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1044 static int svcctl_dissect_element_CreateServiceWOW64W_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1045 static int svcctl_dissect_element_CreateServiceWOW64W_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1046 static int svcctl_dissect_element_CreateServiceWOW64W_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1047 static int svcctl_dissect_element_CreateServiceWOW64W_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1048 static int svcctl_dissect_element_CreateServiceWOW64W_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1049 static int svcctl_dissect_element_CreateServiceWOW64W_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1050 static int svcctl_dissect_element_CreateServiceWOW64W_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1051 static int svcctl_dissect_element_CreateServiceWOW64W_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1052 static int svcctl_dissect_element_CreateServiceWOW64W_LoadOrderGroupKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1053 static int svcctl_dissect_element_CreateServiceWOW64W_LoadOrderGroupKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1054 static int svcctl_dissect_element_CreateServiceWOW64W_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1055 static int svcctl_dissect_element_CreateServiceWOW64W_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1056 static int svcctl_dissect_element_CreateServiceWOW64W_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1057 static int svcctl_dissect_element_CreateServiceWOW64W_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1058 static int svcctl_dissect_element_CreateServiceWOW64W_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1059 static int svcctl_dissect_element_CreateServiceWOW64W_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1060 static int svcctl_dissect_element_CreateServiceWOW64W_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1061 static int svcctl_dissect_element_CreateServiceWOW64W_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1062 static int svcctl_dissect_element_CreateServiceWOW64W_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1063 static int svcctl_dissect_element_CreateServiceWOW64W_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1064 static int svcctl_dissect_element_CreateServiceWOW64W_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1065 static int svcctl_dissect_element_CreateServiceWOW64W_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1066 static int svcctl_dissect_element_CreateServiceWOW64W_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1067 static int svcctl_dissect_element_CreateServiceWOW64W_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1068 static int svcctl_dissect_element_QueryServiceConfigEx_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1069 static int svcctl_dissect_element_QueryServiceConfigEx_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1070 static int svcctl_dissect_element_QueryServiceConfigEx_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1071 static int svcctl_dissect_element_CreateWowService_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1072 static int svcctl_dissect_element_CreateWowService_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1073 static int svcctl_dissect_element_CreateWowService_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1074 static int svcctl_dissect_element_CreateWowService_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1075 static int svcctl_dissect_element_CreateWowService_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1076 static int svcctl_dissect_element_CreateWowService_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1077 static int svcctl_dissect_element_CreateWowService_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1078 static int svcctl_dissect_element_CreateWowService_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1079 static int svcctl_dissect_element_CreateWowService_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1080 static int svcctl_dissect_element_CreateWowService_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1081 static int svcctl_dissect_element_CreateWowService_LoadOrderGroupKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1082 static int svcctl_dissect_element_CreateWowService_LoadOrderGroupKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1083 static int svcctl_dissect_element_CreateWowService_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1084 static int svcctl_dissect_element_CreateWowService_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1085 static int svcctl_dissect_element_CreateWowService_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1086 static int svcctl_dissect_element_CreateWowService_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1087 static int svcctl_dissect_element_CreateWowService_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1088 static int svcctl_dissect_element_CreateWowService_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1089 static int svcctl_dissect_element_CreateWowService_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1090 static int svcctl_dissect_element_CreateWowService_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1091 static int svcctl_dissect_element_CreateWowService_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1092 static int svcctl_dissect_element_CreateWowService_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1093 static int svcctl_dissect_element_CreateWowService_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1094 static int svcctl_dissect_element_CreateWowService_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1095 static int svcctl_dissect_element_CreateWowService_service_wow_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1096 static int svcctl_dissect_element_CreateWowService_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1097 static int svcctl_dissect_element_CreateWowService_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1098 static int svcctl_dissect_element_OpenSCManager2_database_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1099 static int svcctl_dissect_element_OpenSCManager2_database_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1100 static int svcctl_dissect_element_OpenSCManager2_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1101 static int svcctl_dissect_element_OpenSCManager2_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1102 static int svcctl_dissect_element_OpenSCManager2_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
1103 /* ENUM_SERVICE_STATUSW Caveats
1104 https://github.com/fortra/impacket/blob/4888172ce638910104da4bda2c3301c24e17564c/impacket/dcerpc/v5/scmr.py#L1274
1107 svcctl_dissect_struct_ENUM_SERVICE_STATUSW_ptr(tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*parent_tree
, dcerpc_info
* di
, uint8_t *drep
, int hf_index
, int starting_offset
);
1109 svcctl_dissect_struct_ENUM_SERVICE_STATUSW_ptr(tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*parent_tree
, dcerpc_info
* di
, uint8_t *drep
, int hf_index
, int starting_offset
)
1111 proto_item
*item
= NULL
;
1112 proto_tree
*tree
= NULL
;
1113 proto_tree
*tr
= NULL
;
1115 uint32_t _referent_id
= 0;
1117 old_offset
= offset
;
1119 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1120 tree
= proto_item_add_subtree(item
, ett_svcctl_ENUM_SERVICE_STATUSW
);
1123 tr
= proto_tree_add_subtree(tree
, tvb
, offset
, 4, ett_svcctl_service_name
, NULL
, "Pointer to Service Name");
1124 offset
= PIDL_dissect_uint32_val(tvb
, offset
, pinfo
, tr
, di
, drep
, hf_svcctl_service_referent_id
, 0, &_referent_id
);
1125 dissect_null_term_wstring(tvb
, starting_offset
+ _referent_id
, pinfo
, tr
, drep
, hf_svcctl_ENUM_SERVICE_STATUSW_service_name
, 0);
1127 tr
= proto_tree_add_subtree(tree
, tvb
, offset
, 4, ett_svcctl_display_name
, NULL
, "Pointer to Display Name");
1128 offset
= PIDL_dissect_uint32_val(tvb
, offset
, pinfo
, tr
, di
, drep
, hf_svcctl_service_referent_id
, 0, &_referent_id
);
1129 dissect_null_term_wstring(tvb
, starting_offset
+ _referent_id
, pinfo
, tr
, drep
, hf_svcctl_ENUM_SERVICE_STATUSW_display_name
, 0);
1131 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSW_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
1132 proto_item_set_len(item
, offset
-old_offset
);
1133 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1138 /* REnumServicesStatusW
1139 https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-scmr/22b4ff3d-29c6-481f-b598-8ce66a46944a
1142 svcctl_dissect_EnumServicesStatusW_response(tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*tree
, dcerpc_info
* di
, uint8_t *drep
)
1145 uint32_t services_returned
= 0;
1147 proto_tree
*tr
= NULL
;
1148 int services_buffer_offset
;
1149 int payload_starting_offset
= offset
;
1150 uint64_t buffer_size
= 0;
1152 di
->dcerpc_procedure_name
="EnumServicesStatusW";
1153 tr
= proto_tree_add_subtree(tree
, tvb
, offset
, 0, ett_svcctl_service
, &item
, "Pointer to Services Status");
1154 // Services Buffer Size
1155 offset
= dissect_ndr_uint3264(tvb
, offset
, pinfo
, tr
, di
, drep
, hf_svcctl_service_buffer_size
, &buffer_size
);
1156 services_buffer_offset
= offset
;
1157 offset
+= (int)buffer_size
;
1158 proto_item_set_len(item
, offset
-payload_starting_offset
);
1161 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_bytes_needed
, 0);
1162 // Services Returned
1163 offset
= PIDL_dissect_uint32_val( tvb
, offset
, pinfo
, tree
, di
, drep
1164 , hf_svcctl_svcctl_EnumServicesStatusW_services_returned
1165 , 0, &services_returned
);
1167 if (services_returned
> 0){
1168 payload_starting_offset
= services_buffer_offset
;
1169 for(unsigned idx
= 0; idx
< services_returned
; ++idx
){
1170 services_buffer_offset
= svcctl_dissect_struct_ENUM_SERVICE_STATUSW_ptr( tvb
, services_buffer_offset
1171 , pinfo
, tr
, di
, drep
1172 , hf_svcctl_svcctl_EnumDependentServicesW_service_status
1173 , payload_starting_offset
);
1175 dissect_deferred_pointers(pinfo
, tvb
, services_buffer_offset
, di
, drep
);
1178 offset
= svcctl_dissect_element_EnumServicesStatusW_resume_index(tvb
, offset
, pinfo
, tree
, di
, drep
);
1179 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1181 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
1183 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1192 svcctl_dissect_bitmap_security_secinfo(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1197 proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, 4, DREP_ENC_INTEGER(drep
));
1199 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1206 /* IDL: uint32 is_locked; */
1207 /* IDL: [charset(UTF16)] [unique(1)] uint16 *lock_owner; */
1208 /* IDL: uint32 lock_duration; */
1212 svcctl_dissect_element_SERVICE_LOCK_STATUS_is_locked(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1214 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_LOCK_STATUS_is_locked
, 0);
1220 svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_owner(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1222 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_owner_
, NDR_POINTER_UNIQUE
, "Pointer to Lock Owner (uint16)",hf_svcctl_SERVICE_LOCK_STATUS_lock_owner
);
1228 svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_owner_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1232 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_SERVICE_LOCK_STATUS_lock_owner
, false, &data
);
1233 proto_item_append_text(tree
, ": %s", data
);
1239 svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_duration(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1241 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_LOCK_STATUS_lock_duration
, 0);
1247 svcctl_dissect_struct_SERVICE_LOCK_STATUS(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1249 proto_item
*item
= NULL
;
1250 proto_tree
*tree
= NULL
;
1255 old_offset
= offset
;
1258 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1259 tree
= proto_item_add_subtree(item
, ett_svcctl_SERVICE_LOCK_STATUS
);
1262 offset
= svcctl_dissect_element_SERVICE_LOCK_STATUS_is_locked(tvb
, offset
, pinfo
, tree
, di
, drep
);
1264 offset
= svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_owner(tvb
, offset
, pinfo
, tree
, di
, drep
);
1266 offset
= svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_duration(tvb
, offset
, pinfo
, tree
, di
, drep
);
1269 proto_item_set_len(item
, offset
-old_offset
);
1272 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1281 /* IDL: SVCCTL_STOPPED=0x00000001, */
1282 /* IDL: SVCCTL_START_PENDING=0x00000002, */
1283 /* IDL: SVCCTL_STOP_PENDING=0x00000003, */
1284 /* IDL: SVCCTL_RUNNING=0x00000004, */
1285 /* IDL: SVCCTL_CONTINUE_PENDING=0x00000005, */
1286 /* IDL: SVCCTL_PAUSE_PENDING=0x00000006, */
1287 /* IDL: SVCCTL_PAUSED=0x00000007, */
1291 svcctl_dissect_enum_ServiceStatus(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
1293 uint32_t parameter
=0;
1297 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1306 /* IDL: SERVICE_TYPE_KERNEL_DRIVER=0x00000001, */
1307 /* IDL: SERVICE_TYPE_FS_DRIVER=0x00000002, */
1308 /* IDL: SERVICE_TYPE_ADAPTER=0x00000004, */
1309 /* IDL: SERVICE_TYPE_RECOGNIZER_DRIVER=0x00000008, */
1310 /* IDL: SERVICE_TYPE_DRIVER=SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER, */
1311 /* IDL: SERVICE_TYPE_WIN32_OWN_PROCESS=0x00000010, */
1312 /* IDL: SERVICE_TYPE_WIN32_SHARE_PROCESS=0x00000020, */
1313 /* IDL: SERVICE_TYPE_USER_OWN_PROCESS=0x00000050, */
1314 /* IDL: SERVICE_TYPE_USER_SHARE_PROCESS=0x00000060, */
1315 /* IDL: SERVICE_TYPE_WIN32=SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS, */
1316 /* IDL: SERVICE_TYPE_INTERACTIVE_PROCESS=0x00000100, */
1320 svcctl_dissect_enum_ServiceType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
1322 uint32_t parameter
=0;
1326 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1335 /* IDL: SERVICE_ACCEPT_STOP = 0x00000001 , */
1336 /* IDL: SERVICE_ACCEPT_PAUSE_CONTINUE = 0x00000002 , */
1337 /* IDL: SERVICE_ACCEPT_SHUTDOWN = 0x00000004 , */
1338 /* IDL: SERVICE_ACCEPT_PARAMCHANGE = 0x00000008 , */
1339 /* IDL: SERVICE_ACCEPT_NETBINDCHANGE = 0x00000010 , */
1340 /* IDL: SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 0x00000020 , */
1341 /* IDL: SERVICE_ACCEPT_POWEREVENT = 0x00000040 , */
1342 /* IDL: SERVICE_ACCEPT_SESSIONCHANGE = 0x00000080 , */
1343 /* IDL: SERVICE_ACCEPT_PRESHUTDOWN = 0x00000100 , */
1344 /* IDL: SERVICE_ACCEPT_TIMECHANGE = 0x00000200 , */
1345 /* IDL: SERVICE_ACCEPT_TRIGGEREVENT = 0x00000400 , */
1346 /* IDL: SERVICE_ACCEPT_USERMODEREBOOT = 0x00000800 , */
1350 svcctl_dissect_bitmap_ControlsAccepted(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1353 static int * const svcctl_svcctl_ControlsAccepted_fields
[] = {
1354 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_STOP
,
1355 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PAUSE_CONTINUE
,
1356 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SHUTDOWN
,
1357 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PARAMCHANGE
,
1358 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_NETBINDCHANGE
,
1359 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_HARDWAREPROFILECHANGE
,
1360 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_POWEREVENT
,
1361 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SESSIONCHANGE
,
1362 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PRESHUTDOWN
,
1363 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TIMECHANGE
,
1364 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TRIGGEREVENT
,
1365 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_USERMODEREBOOT
,
1371 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
1372 ett_svcctl_svcctl_ControlsAccepted
, svcctl_svcctl_ControlsAccepted_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
1374 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1377 proto_item_append_text(item
, ": (No values set)");
1379 if (flags
& (~0x00000fff)) {
1380 flags
&= (~0x00000fff);
1381 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
1389 /* IDL: svcctl_ServiceType type; */
1390 /* IDL: svcctl_ServiceStatus state; */
1391 /* IDL: svcctl_ControlsAccepted controls_accepted; */
1392 /* IDL: WERROR win32_exit_code; */
1393 /* IDL: uint32 service_exit_code; */
1394 /* IDL: uint32 check_point; */
1395 /* IDL: uint32 wait_hint; */
1399 svcctl_dissect_element_SERVICE_STATUS_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1401 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_type
, 0);
1407 svcctl_dissect_element_SERVICE_STATUS_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1409 offset
= svcctl_dissect_enum_ServiceStatus(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_state
, 0);
1415 svcctl_dissect_element_SERVICE_STATUS_controls_accepted(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1417 offset
= svcctl_dissect_bitmap_ControlsAccepted(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_controls_accepted
, 0);
1423 svcctl_dissect_element_SERVICE_STATUS_win32_exit_code(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1425 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_win32_exit_code
, 0);
1431 svcctl_dissect_element_SERVICE_STATUS_service_exit_code(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1433 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_service_exit_code
, 0);
1439 svcctl_dissect_element_SERVICE_STATUS_check_point(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1441 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_check_point
, 0);
1447 svcctl_dissect_element_SERVICE_STATUS_wait_hint(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1449 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_wait_hint
, 0);
1455 svcctl_dissect_struct_SERVICE_STATUS(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1457 proto_item
*item
= NULL
;
1458 proto_tree
*tree
= NULL
;
1463 old_offset
= offset
;
1466 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1467 tree
= proto_item_add_subtree(item
, ett_svcctl_SERVICE_STATUS
);
1470 offset
= svcctl_dissect_element_SERVICE_STATUS_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
1472 offset
= svcctl_dissect_element_SERVICE_STATUS_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
1474 offset
= svcctl_dissect_element_SERVICE_STATUS_controls_accepted(tvb
, offset
, pinfo
, tree
, di
, drep
);
1476 offset
= svcctl_dissect_element_SERVICE_STATUS_win32_exit_code(tvb
, offset
, pinfo
, tree
, di
, drep
);
1478 offset
= svcctl_dissect_element_SERVICE_STATUS_service_exit_code(tvb
, offset
, pinfo
, tree
, di
, drep
);
1480 offset
= svcctl_dissect_element_SERVICE_STATUS_check_point(tvb
, offset
, pinfo
, tree
, di
, drep
);
1482 offset
= svcctl_dissect_element_SERVICE_STATUS_wait_hint(tvb
, offset
, pinfo
, tree
, di
, drep
);
1485 proto_item_set_len(item
, offset
-old_offset
);
1488 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1497 /* IDL: SERVICE_RUNS_IN_NONSYSTEM_ORNOTRUNNING=0x00000000, */
1498 /* IDL: SERVICE_RUNS_IN_SYSTEM_PROCESS=0x00000001, */
1502 svcctl_dissect_enum_ServiceFlags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
1504 uint32_t parameter
=0;
1508 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1517 /* IDL: svcctl_ServiceType type; */
1518 /* IDL: svcctl_ServiceStatus state; */
1519 /* IDL: svcctl_ControlsAccepted controls_accepted; */
1520 /* IDL: WERROR win32_exit_code; */
1521 /* IDL: uint32 service_exit_code; */
1522 /* IDL: uint32 check_point; */
1523 /* IDL: uint32 wait_hint; */
1524 /* IDL: uint32 process_id; */
1525 /* IDL: svcctl_ServiceFlags service_flags; */
1529 svcctl_dissect_element_SERVICE_STATUS_PROCESS_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1531 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_type
, 0);
1537 svcctl_dissect_element_SERVICE_STATUS_PROCESS_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1539 offset
= svcctl_dissect_enum_ServiceStatus(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_state
, 0);
1545 svcctl_dissect_element_SERVICE_STATUS_PROCESS_controls_accepted(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1547 offset
= svcctl_dissect_bitmap_ControlsAccepted(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_controls_accepted
, 0);
1553 svcctl_dissect_element_SERVICE_STATUS_PROCESS_win32_exit_code(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1555 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_win32_exit_code
, 0);
1561 svcctl_dissect_element_SERVICE_STATUS_PROCESS_service_exit_code(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1563 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_service_exit_code
, 0);
1569 svcctl_dissect_element_SERVICE_STATUS_PROCESS_check_point(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1571 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_check_point
, 0);
1577 svcctl_dissect_element_SERVICE_STATUS_PROCESS_wait_hint(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1579 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_wait_hint
, 0);
1585 svcctl_dissect_element_SERVICE_STATUS_PROCESS_process_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1587 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_process_id
, 0);
1593 svcctl_dissect_element_SERVICE_STATUS_PROCESS_service_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1595 offset
= svcctl_dissect_enum_ServiceFlags(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_service_flags
, 0);
1601 svcctl_dissect_struct_SERVICE_STATUS_PROCESS(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1603 proto_item
*item
= NULL
;
1604 proto_tree
*tree
= NULL
;
1609 old_offset
= offset
;
1612 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1613 tree
= proto_item_add_subtree(item
, ett_svcctl_SERVICE_STATUS_PROCESS
);
1616 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
1618 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
1620 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_controls_accepted(tvb
, offset
, pinfo
, tree
, di
, drep
);
1622 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_win32_exit_code(tvb
, offset
, pinfo
, tree
, di
, drep
);
1624 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_service_exit_code(tvb
, offset
, pinfo
, tree
, di
, drep
);
1626 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_check_point(tvb
, offset
, pinfo
, tree
, di
, drep
);
1628 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_wait_hint(tvb
, offset
, pinfo
, tree
, di
, drep
);
1630 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_process_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
1632 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_service_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
1635 proto_item_set_len(item
, offset
-old_offset
);
1638 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1647 /* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] [unique(1)] string *service_name; */
1648 /* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] [unique(1)] string *display_name; */
1649 /* IDL: SERVICE_STATUS status; */
1653 svcctl_dissect_element_ENUM_SERVICE_STATUSW_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1655 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ENUM_SERVICE_STATUSW_service_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Name (string)",hf_svcctl_ENUM_SERVICE_STATUSW_service_name
);
1661 svcctl_dissect_element_ENUM_SERVICE_STATUSW_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1663 offset
= dissect_null_term_wstring(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_ENUM_SERVICE_STATUSW_service_name
, 0);
1669 svcctl_dissect_element_ENUM_SERVICE_STATUSW_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1671 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ENUM_SERVICE_STATUSW_display_name_
, NDR_POINTER_UNIQUE
, "Pointer to Display Name (string)",hf_svcctl_ENUM_SERVICE_STATUSW_display_name
);
1677 svcctl_dissect_element_ENUM_SERVICE_STATUSW_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1679 offset
= dissect_null_term_wstring(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_ENUM_SERVICE_STATUSW_display_name
, 0);
1685 svcctl_dissect_element_ENUM_SERVICE_STATUSW_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1687 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_ENUM_SERVICE_STATUSW_status
,0);
1693 svcctl_dissect_struct_ENUM_SERVICE_STATUSW(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1695 proto_item
*item
= NULL
;
1696 proto_tree
*tree
= NULL
;
1701 old_offset
= offset
;
1704 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1705 tree
= proto_item_add_subtree(item
, ett_svcctl_ENUM_SERVICE_STATUSW
);
1708 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSW_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1710 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSW_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1712 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSW_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
1715 proto_item_set_len(item
, offset
-old_offset
);
1718 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1727 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [unique(1)] string *service_name; */
1728 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [unique(1)] string *display_name; */
1729 /* IDL: SERVICE_STATUS status; */
1733 svcctl_dissect_element_ENUM_SERVICE_STATUSA_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1735 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ENUM_SERVICE_STATUSA_service_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Name (string)",hf_svcctl_ENUM_SERVICE_STATUSA_service_name
);
1741 svcctl_dissect_element_ENUM_SERVICE_STATUSA_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1743 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_ENUM_SERVICE_STATUSA_service_name
, 0);
1749 svcctl_dissect_element_ENUM_SERVICE_STATUSA_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1751 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ENUM_SERVICE_STATUSA_display_name_
, NDR_POINTER_UNIQUE
, "Pointer to Display Name (string)",hf_svcctl_ENUM_SERVICE_STATUSA_display_name
);
1757 svcctl_dissect_element_ENUM_SERVICE_STATUSA_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1759 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_ENUM_SERVICE_STATUSA_display_name
, 0);
1765 svcctl_dissect_element_ENUM_SERVICE_STATUSA_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1767 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_ENUM_SERVICE_STATUSA_status
,0);
1773 svcctl_dissect_struct_ENUM_SERVICE_STATUSA(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1775 proto_item
*item
= NULL
;
1776 proto_tree
*tree
= NULL
;
1781 old_offset
= offset
;
1784 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1785 tree
= proto_item_add_subtree(item
, ett_svcctl_ENUM_SERVICE_STATUSA
);
1788 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSA_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1790 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSA_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1792 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSA_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
1795 proto_item_set_len(item
, offset
-old_offset
);
1798 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1807 /* IDL: SVCCTL_CONTROL_STOP=0x00000001, */
1808 /* IDL: SVCCTL_CONTROL_PAUSE=0x00000002, */
1809 /* IDL: SVCCTL_CONTROL_CONTINUE=0x00000003, */
1810 /* IDL: SVCCTL_CONTROL_INTERROGATE=0x00000004, */
1811 /* IDL: SVCCTL_CONTROL_SHUTDOWN=0x00000005, */
1812 /* IDL: SERVICE_CONTROL_PARAMCHANGE=0x00000006, */
1813 /* IDL: SERVICE_CONTROL_NETBINDADD=0x00000007, */
1814 /* IDL: SERVICE_CONTROL_NETBINDREMOVE=0x00000008, */
1815 /* IDL: SERVICE_CONTROL_NETBINDENABLE=0x00000009, */
1816 /* IDL: SERVICE_CONTROL_NETBINDDISABLE=0x0000000A, */
1820 svcctl_dissect_enum_SERVICE_CONTROL(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
1822 uint32_t parameter
=0;
1826 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1835 /* IDL: SVCCTL_SVC_ERROR_IGNORE=0x00000000, */
1836 /* IDL: SVCCTL_SVC_ERROR_NORMAL=0x00000001, */
1837 /* IDL: SVCCTL_SVC_ERROR_CRITICAL=0x00000002, */
1838 /* IDL: SVCCTL_SVC_ERROR_SEVERE=0x00000003, */
1842 svcctl_dissect_enum_ErrorControl(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
1844 uint32_t parameter
=0;
1848 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1857 /* IDL: SVCCTL_BOOT_START=0x00000000, */
1858 /* IDL: SVCCTL_SYSTEM_START=0x00000001, */
1859 /* IDL: SVCCTL_AUTO_START=0x00000002, */
1860 /* IDL: SVCCTL_DEMAND_START=0x00000003, */
1861 /* IDL: SVCCTL_DISABLED=0x00000004, */
1865 svcctl_dissect_enum_StartType(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
1867 uint32_t parameter
=0;
1871 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1880 /* IDL: SERVICE_STATE_ACTIVE=0x00000001, */
1881 /* IDL: SERVICE_STATE_INACTIVE=0x00000002, */
1882 /* IDL: SERVICE_STATE_ALL=(SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE), */
1886 svcctl_dissect_enum_ServiceState(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
1888 uint32_t parameter
=0;
1892 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1901 /* IDL: SC_RIGHT_MGR_CONNECT = 0x00000001 , */
1902 /* IDL: SC_RIGHT_MGR_CREATE_SERVICE = 0x00000002 , */
1903 /* IDL: SC_RIGHT_MGR_ENUMERATE_SERVICE = 0x00000004 , */
1904 /* IDL: SC_RIGHT_MGR_LOCK = 0x00000008 , */
1905 /* IDL: SC_RIGHT_MGR_QUERY_LOCK_STATUS = 0x00000010 , */
1906 /* IDL: SC_RIGHT_MGR_MODIFY_BOOT_CONFIG = 0x00000020 , */
1907 /* IDL: SC_RIGHT_MGR_ALL_ACCESS = 0x000F003F , */
1911 svcctl_dissect_bitmap_MgrAccessMask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1914 static int * const svcctl_svcctl_MgrAccessMask_fields
[] = {
1915 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CONNECT
,
1916 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CREATE_SERVICE
,
1917 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ENUMERATE_SERVICE
,
1918 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_LOCK
,
1919 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_QUERY_LOCK_STATUS
,
1920 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_MODIFY_BOOT_CONFIG
,
1921 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ALL_ACCESS
,
1927 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
1928 ett_svcctl_svcctl_MgrAccessMask
, svcctl_svcctl_MgrAccessMask_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
1930 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1933 proto_item_append_text(item
, ": (No values set)");
1935 if (flags
& (~0x000f007e)) {
1936 flags
&= (~0x000f007e);
1937 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
1945 /* IDL: SC_RIGHT_SVC_QUERY_CONFIG = 0x00000001 , */
1946 /* IDL: SC_RIGHT_SVC_CHANGE_CONFIG = 0x00000002 , */
1947 /* IDL: SC_RIGHT_SVC_QUERY_STATUS = 0x00000004 , */
1948 /* IDL: SC_RIGHT_SVC_ENUMERATE_DEPENDENTS = 0x00000008 , */
1949 /* IDL: SC_RIGHT_SVC_START = 0x00000010 , */
1950 /* IDL: SC_RIGHT_SVC_STOP = 0x00000020 , */
1951 /* IDL: SC_RIGHT_SVC_PAUSE_CONTINUE = 0x00000040 , */
1952 /* IDL: SC_RIGHT_SVC_INTERROGATE = 0x00000080 , */
1953 /* IDL: SC_RIGHT_SVC_USER_DEFINED_CONTROL = 0x00000100 , */
1957 svcctl_dissect_bitmap_ServiceAccessMask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
1960 static int * const svcctl_svcctl_ServiceAccessMask_fields
[] = {
1961 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_CONFIG
,
1962 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_CHANGE_CONFIG
,
1963 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_STATUS
,
1964 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_ENUMERATE_DEPENDENTS
,
1965 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_START
,
1966 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_STOP
,
1967 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_PAUSE_CONTINUE
,
1968 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_INTERROGATE
,
1969 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_USER_DEFINED_CONTROL
,
1975 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
1976 ett_svcctl_svcctl_ServiceAccessMask
, svcctl_svcctl_ServiceAccessMask_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
1978 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1981 proto_item_append_text(item
, ": (No values set)");
1983 if (flags
& (~0x000001ff)) {
1984 flags
&= (~0x000001ff);
1985 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
1993 /* IDL: svcctl_ServiceType service_type; */
1994 /* IDL: svcctl_StartType start_type; */
1995 /* IDL: svcctl_ErrorControl error_control; */
1996 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *executablepath; */
1997 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *loadordergroup; */
1998 /* IDL: uint32 tag_id; */
1999 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *dependencies; */
2000 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *startname; */
2001 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *displayname; */
2005 svcctl_dissect_element_QUERY_SERVICE_CONFIG_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2007 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_QUERY_SERVICE_CONFIG_service_type
, 0);
2013 svcctl_dissect_element_QUERY_SERVICE_CONFIG_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2015 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_QUERY_SERVICE_CONFIG_start_type
, 0);
2021 svcctl_dissect_element_QUERY_SERVICE_CONFIG_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2023 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_QUERY_SERVICE_CONFIG_error_control
, 0);
2029 svcctl_dissect_element_QUERY_SERVICE_CONFIG_executablepath(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2031 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QUERY_SERVICE_CONFIG_executablepath_
, NDR_POINTER_UNIQUE
, "Pointer to Executablepath (uint16)",hf_svcctl_QUERY_SERVICE_CONFIG_executablepath
);
2037 svcctl_dissect_element_QUERY_SERVICE_CONFIG_executablepath_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2041 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_executablepath
, false, &data
);
2042 proto_item_append_text(tree
, ": %s", data
);
2048 svcctl_dissect_element_QUERY_SERVICE_CONFIG_loadordergroup(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2050 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QUERY_SERVICE_CONFIG_loadordergroup_
, NDR_POINTER_UNIQUE
, "Pointer to Loadordergroup (uint16)",hf_svcctl_QUERY_SERVICE_CONFIG_loadordergroup
);
2056 svcctl_dissect_element_QUERY_SERVICE_CONFIG_loadordergroup_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2060 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_loadordergroup
, false, &data
);
2061 proto_item_append_text(tree
, ": %s", data
);
2067 svcctl_dissect_element_QUERY_SERVICE_CONFIG_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2069 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_QUERY_SERVICE_CONFIG_tag_id
, 0);
2075 svcctl_dissect_element_QUERY_SERVICE_CONFIG_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2077 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QUERY_SERVICE_CONFIG_dependencies_
, NDR_POINTER_UNIQUE
, "Pointer to Dependencies (uint16)",hf_svcctl_QUERY_SERVICE_CONFIG_dependencies
);
2083 svcctl_dissect_element_QUERY_SERVICE_CONFIG_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2087 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_dependencies
, false, &data
);
2088 proto_item_append_text(tree
, ": %s", data
);
2094 svcctl_dissect_element_QUERY_SERVICE_CONFIG_startname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2096 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QUERY_SERVICE_CONFIG_startname_
, NDR_POINTER_UNIQUE
, "Pointer to Startname (uint16)",hf_svcctl_QUERY_SERVICE_CONFIG_startname
);
2102 svcctl_dissect_element_QUERY_SERVICE_CONFIG_startname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2106 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_startname
, false, &data
);
2107 proto_item_append_text(tree
, ": %s", data
);
2113 svcctl_dissect_element_QUERY_SERVICE_CONFIG_displayname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2115 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QUERY_SERVICE_CONFIG_displayname_
, NDR_POINTER_UNIQUE
, "Pointer to Displayname (uint16)",hf_svcctl_QUERY_SERVICE_CONFIG_displayname
);
2121 svcctl_dissect_element_QUERY_SERVICE_CONFIG_displayname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2125 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_displayname
, false, &data
);
2126 proto_item_append_text(tree
, ": %s", data
);
2132 svcctl_dissect_struct_QUERY_SERVICE_CONFIG(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2134 proto_item
*item
= NULL
;
2135 proto_tree
*tree
= NULL
;
2140 old_offset
= offset
;
2143 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2144 tree
= proto_item_add_subtree(item
, ett_svcctl_QUERY_SERVICE_CONFIG
);
2147 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
2149 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
2151 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
2153 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_executablepath(tvb
, offset
, pinfo
, tree
, di
, drep
);
2155 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_loadordergroup(tvb
, offset
, pinfo
, tree
, di
, drep
);
2157 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
2159 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
2161 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_startname(tvb
, offset
, pinfo
, tree
, di
, drep
);
2163 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_displayname(tvb
, offset
, pinfo
, tree
, di
, drep
);
2166 proto_item_set_len(item
, offset
-old_offset
);
2169 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2178 /* IDL: [charset(UTF16)] [range(0,SC_MAX_ARGUMENT_LENGTH)] [unique(1)] uint16 *string; */
2182 svcctl_dissect_element_ArgumentString_string(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2184 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ArgumentString_string_
, NDR_POINTER_UNIQUE
, "Pointer to String (uint16)",hf_svcctl_svcctl_ArgumentString_string
);
2190 svcctl_dissect_element_ArgumentString_string_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2194 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ArgumentString_string
, false, &data
);
2195 proto_item_append_text(tree
, ": %s", data
);
2201 svcctl_dissect_struct_ArgumentString(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2203 proto_item
*item
= NULL
;
2204 proto_tree
*tree
= NULL
;
2209 old_offset
= offset
;
2212 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2213 tree
= proto_item_add_subtree(item
, ett_svcctl_svcctl_ArgumentString
);
2216 offset
= svcctl_dissect_element_ArgumentString_string(tvb
, offset
, pinfo
, tree
, di
, drep
);
2219 proto_item_set_len(item
, offset
-old_offset
);
2222 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2231 /* IDL: [charset(ASCII)] [range(0,SC_MAX_ARGUMENT_LENGTH)] [unique(1)] uint8 *string; */
2235 svcctl_dissect_element_ArgumentStringA_string(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2237 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ArgumentStringA_string_
, NDR_POINTER_UNIQUE
, "Pointer to String (uint8)",hf_svcctl_svcctl_ArgumentStringA_string
);
2243 svcctl_dissect_element_ArgumentStringA_string_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2247 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_ArgumentStringA_string
, false, &data
);
2248 proto_item_append_text(tree
, ": %s", data
);
2254 svcctl_dissect_struct_ArgumentStringA(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*parent_tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t param _U_
)
2256 proto_item
*item
= NULL
;
2257 proto_tree
*tree
= NULL
;
2262 old_offset
= offset
;
2265 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2266 tree
= proto_item_add_subtree(item
, ett_svcctl_svcctl_ArgumentStringA
);
2269 offset
= svcctl_dissect_element_ArgumentStringA_string(tvb
, offset
, pinfo
, tree
, di
, drep
);
2272 proto_item_set_len(item
, offset
-old_offset
);
2275 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2284 /* IDL: SERVICE_CONFIG_DESCRIPTION=0x00000001, */
2285 /* IDL: SERVICE_CONFIG_FAILURE_ACTIONS=0x00000002, */
2289 svcctl_dissect_enum_ConfigLevel(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
2291 uint32_t parameter
=0;
2295 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
2304 /* IDL: SVC_STATUS_PROCESS_INFO=0x00000000, */
2308 svcctl_dissect_enum_StatusLevel(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
, int hf_index _U_
, uint32_t *param _U_
)
2310 uint32_t parameter
=0;
2314 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
2322 svcctl_dissect_element_CloseServiceHandle_object_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2324 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CloseServiceHandle_object_handle_
, NDR_POINTER_REF
, "Pointer to Object Handle (policy_handle)",hf_svcctl_svcctl_CloseServiceHandle_object_handle
);
2330 svcctl_dissect_element_CloseServiceHandle_object_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2332 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CloseServiceHandle_object_handle
, 0);
2337 /* IDL: WERROR svcctl_CloseServiceHandle( */
2338 /* IDL: [in] [out] [ref] policy_handle *object_handle */
2342 svcctl_dissect_CloseServiceHandle_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2346 di
->dcerpc_procedure_name
="CloseServiceHandle";
2347 offset
= svcctl_dissect_element_CloseServiceHandle_object_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2348 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2350 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2353 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2359 svcctl_dissect_CloseServiceHandle_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2361 di
->dcerpc_procedure_name
="CloseServiceHandle";
2362 offset
= svcctl_dissect_element_CloseServiceHandle_object_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2363 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2368 svcctl_dissect_element_ControlService_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2370 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ControlService_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_ControlService_service_handle
);
2376 svcctl_dissect_element_ControlService_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2378 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ControlService_service_handle
, 0);
2384 svcctl_dissect_element_ControlService_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2386 offset
= svcctl_dissect_enum_SERVICE_CONTROL(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ControlService_control
, 0);
2392 svcctl_dissect_element_ControlService_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2394 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ControlService_service_status_
, NDR_POINTER_REF
, "Pointer to Service Status (SERVICE_STATUS)",hf_svcctl_svcctl_ControlService_service_status
);
2400 svcctl_dissect_element_ControlService_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2402 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_ControlService_service_status
,0);
2407 /* IDL: WERROR svcctl_ControlService( */
2408 /* IDL: [in] [ref] policy_handle *service_handle, */
2409 /* IDL: [in] SERVICE_CONTROL control, */
2410 /* IDL: [out] [ref] SERVICE_STATUS *service_status */
2414 svcctl_dissect_ControlService_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2418 di
->dcerpc_procedure_name
="ControlService";
2419 offset
= svcctl_dissect_element_ControlService_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
2420 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2422 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2425 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2431 svcctl_dissect_ControlService_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2433 di
->dcerpc_procedure_name
="ControlService";
2434 offset
= svcctl_dissect_element_ControlService_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2435 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2436 offset
= svcctl_dissect_element_ControlService_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
2437 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2442 svcctl_dissect_element_DeleteService_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2444 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_DeleteService_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_DeleteService_service_handle
);
2450 svcctl_dissect_element_DeleteService_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2452 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_DeleteService_service_handle
, 0);
2457 /* IDL: WERROR svcctl_DeleteService( */
2458 /* IDL: [in] [ref] policy_handle *service_handle */
2462 svcctl_dissect_DeleteService_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2466 di
->dcerpc_procedure_name
="DeleteService";
2467 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2470 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2476 svcctl_dissect_DeleteService_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2478 di
->dcerpc_procedure_name
="DeleteService";
2479 offset
= svcctl_dissect_element_DeleteService_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2480 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2485 svcctl_dissect_element_LockServiceDatabase_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2487 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_LockServiceDatabase_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_LockServiceDatabase_scm_handle
);
2493 svcctl_dissect_element_LockServiceDatabase_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2495 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_LockServiceDatabase_scm_handle
, 0);
2501 svcctl_dissect_element_LockServiceDatabase_lock_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2503 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_LockServiceDatabase_lock_handle_
, NDR_POINTER_REF
, "Pointer to Lock Handle (policy_handle)",hf_svcctl_svcctl_LockServiceDatabase_lock_handle
);
2509 svcctl_dissect_element_LockServiceDatabase_lock_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2511 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_LockServiceDatabase_lock_handle
, 0);
2516 /* IDL: WERROR svcctl_LockServiceDatabase( */
2517 /* IDL: [in] [ref] policy_handle *scm_handle, */
2518 /* IDL: [out] [ref] policy_handle *lock_handle */
2522 svcctl_dissect_LockServiceDatabase_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2526 di
->dcerpc_procedure_name
="LockServiceDatabase";
2527 offset
= svcctl_dissect_element_LockServiceDatabase_lock_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2528 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2530 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2533 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2539 svcctl_dissect_LockServiceDatabase_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2541 di
->dcerpc_procedure_name
="LockServiceDatabase";
2542 offset
= svcctl_dissect_element_LockServiceDatabase_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2543 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2548 svcctl_dissect_element_QueryServiceObjectSecurity_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2550 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceObjectSecurity_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceObjectSecurity_service_handle
);
2556 svcctl_dissect_element_QueryServiceObjectSecurity_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2558 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_service_handle
, 0);
2564 svcctl_dissect_element_QueryServiceObjectSecurity_security_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2566 offset
= svcctl_dissect_bitmap_security_secinfo(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_security_flags
, 0);
2572 svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2574 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor_
, NDR_POINTER_REF
, "Pointer to Security Descriptor (uint8)",hf_svcctl_svcctl_QueryServiceObjectSecurity_security_descriptor
);
2580 svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2582 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor__
);
2588 svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2590 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_security_descriptor
, 0);
2596 svcctl_dissect_element_QueryServiceObjectSecurity_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2598 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_offered
, 0);
2604 svcctl_dissect_element_QueryServiceObjectSecurity_bytes_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2606 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceObjectSecurity_bytes_needed_
, NDR_POINTER_REF
, "Pointer to Bytes Needed (uint32)",hf_svcctl_svcctl_QueryServiceObjectSecurity_bytes_needed
);
2612 svcctl_dissect_element_QueryServiceObjectSecurity_bytes_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2614 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_bytes_needed
, 0);
2619 /* IDL: WERROR svcctl_QueryServiceObjectSecurity( */
2620 /* IDL: [in] [ref] policy_handle *service_handle, */
2621 /* IDL: [in] security_secinfo security_flags, */
2622 /* IDL: [out] [ref] [size_is(offered)] uint8 *security_descriptor, */
2623 /* IDL: [in] [range(0,0x40000)] uint32 offered, */
2624 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *bytes_needed */
2628 svcctl_dissect_QueryServiceObjectSecurity_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2632 di
->dcerpc_procedure_name
="QueryServiceObjectSecurity";
2633 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor(tvb
, offset
, pinfo
, tree
, di
, drep
);
2634 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2636 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_bytes_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
2637 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2639 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2642 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2648 svcctl_dissect_QueryServiceObjectSecurity_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2650 di
->dcerpc_procedure_name
="QueryServiceObjectSecurity";
2651 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2652 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2653 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_security_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
2654 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2655 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
2656 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2661 svcctl_dissect_element_SetServiceObjectSecurity_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2663 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SetServiceObjectSecurity_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_SetServiceObjectSecurity_service_handle
);
2669 svcctl_dissect_element_SetServiceObjectSecurity_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2671 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceObjectSecurity_service_handle
, 0);
2677 svcctl_dissect_element_SetServiceObjectSecurity_security_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2679 offset
= svcctl_dissect_bitmap_security_secinfo(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceObjectSecurity_security_flags
, 0);
2685 svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2687 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor_
, NDR_POINTER_REF
, "Pointer to Security Descriptor (uint8)",hf_svcctl_svcctl_SetServiceObjectSecurity_security_descriptor
);
2693 svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2695 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor__
);
2701 svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2703 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceObjectSecurity_security_descriptor
, 0);
2709 svcctl_dissect_element_SetServiceObjectSecurity_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2711 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceObjectSecurity_offered
, 0);
2716 /* IDL: WERROR svcctl_SetServiceObjectSecurity( */
2717 /* IDL: [in] [ref] policy_handle *service_handle, */
2718 /* IDL: [in] security_secinfo security_flags, */
2719 /* IDL: [in] [ref] [size_is(offered)] uint8 *security_descriptor, */
2720 /* IDL: [in] uint32 offered */
2724 svcctl_dissect_SetServiceObjectSecurity_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2728 di
->dcerpc_procedure_name
="SetServiceObjectSecurity";
2729 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2732 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2738 svcctl_dissect_SetServiceObjectSecurity_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2740 di
->dcerpc_procedure_name
="SetServiceObjectSecurity";
2741 offset
= svcctl_dissect_element_SetServiceObjectSecurity_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2742 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2743 offset
= svcctl_dissect_element_SetServiceObjectSecurity_security_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
2744 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2745 offset
= svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor(tvb
, offset
, pinfo
, tree
, di
, drep
);
2746 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2747 offset
= svcctl_dissect_element_SetServiceObjectSecurity_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
2748 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2753 svcctl_dissect_element_QueryServiceStatus_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2755 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceStatus_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceStatus_service_handle
);
2761 svcctl_dissect_element_QueryServiceStatus_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2763 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatus_service_handle
, 0);
2769 svcctl_dissect_element_QueryServiceStatus_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2771 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceStatus_service_status_
, NDR_POINTER_REF
, "Pointer to Service Status (SERVICE_STATUS)",hf_svcctl_svcctl_QueryServiceStatus_service_status
);
2777 svcctl_dissect_element_QueryServiceStatus_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2779 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_QueryServiceStatus_service_status
,0);
2784 /* IDL: WERROR svcctl_QueryServiceStatus( */
2785 /* IDL: [in] [ref] policy_handle *service_handle, */
2786 /* IDL: [out] [ref] SERVICE_STATUS *service_status */
2790 svcctl_dissect_QueryServiceStatus_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2794 di
->dcerpc_procedure_name
="QueryServiceStatus";
2795 offset
= svcctl_dissect_element_QueryServiceStatus_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
2796 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2798 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2801 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2807 svcctl_dissect_QueryServiceStatus_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2809 di
->dcerpc_procedure_name
="QueryServiceStatus";
2810 offset
= svcctl_dissect_element_QueryServiceStatus_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2811 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2816 svcctl_dissect_element_SetServiceStatus_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2818 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SetServiceStatus_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_SetServiceStatus_service_handle
);
2824 svcctl_dissect_element_SetServiceStatus_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2826 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceStatus_service_handle
, 0);
2832 svcctl_dissect_element_SetServiceStatus_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2834 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SetServiceStatus_service_status_
, NDR_POINTER_REF
, "Pointer to Service Status (SERVICE_STATUS)",hf_svcctl_svcctl_SetServiceStatus_service_status
);
2840 svcctl_dissect_element_SetServiceStatus_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2842 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_SetServiceStatus_service_status
,0);
2847 /* IDL: WERROR svcctl_SetServiceStatus( */
2848 /* IDL: [in] [ref] policy_handle *service_handle, */
2849 /* IDL: [in] [ref] SERVICE_STATUS *service_status */
2853 svcctl_dissect_SetServiceStatus_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2857 di
->dcerpc_procedure_name
="SetServiceStatus";
2858 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2861 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2867 svcctl_dissect_SetServiceStatus_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2869 di
->dcerpc_procedure_name
="SetServiceStatus";
2870 offset
= svcctl_dissect_element_SetServiceStatus_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2871 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2872 offset
= svcctl_dissect_element_SetServiceStatus_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
2873 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2878 svcctl_dissect_element_UnlockServiceDatabase_lock_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2880 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_UnlockServiceDatabase_lock_handle_
, NDR_POINTER_REF
, "Pointer to Lock Handle (policy_handle)",hf_svcctl_svcctl_UnlockServiceDatabase_lock_handle
);
2886 svcctl_dissect_element_UnlockServiceDatabase_lock_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2888 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_UnlockServiceDatabase_lock_handle
, 0);
2893 /* IDL: WERROR svcctl_UnlockServiceDatabase( */
2894 /* IDL: [in] [out] [ref] policy_handle *lock_handle */
2898 svcctl_dissect_UnlockServiceDatabase_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2902 di
->dcerpc_procedure_name
="UnlockServiceDatabase";
2903 offset
= svcctl_dissect_element_UnlockServiceDatabase_lock_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2904 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2906 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2909 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2915 svcctl_dissect_UnlockServiceDatabase_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2917 di
->dcerpc_procedure_name
="UnlockServiceDatabase";
2918 offset
= svcctl_dissect_element_UnlockServiceDatabase_lock_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2919 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2924 svcctl_dissect_element_NotifyBootConfigStatus_machine_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2926 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_NotifyBootConfigStatus_machine_name_
, NDR_POINTER_UNIQUE
, "Pointer to Machine Name (uint16)",hf_svcctl_svcctl_NotifyBootConfigStatus_machine_name
);
2932 svcctl_dissect_element_NotifyBootConfigStatus_machine_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2936 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_NotifyBootConfigStatus_machine_name
, false, &data
);
2937 proto_item_append_text(tree
, ": %s", data
);
2943 svcctl_dissect_element_NotifyBootConfigStatus_boot_acceptable(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2945 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_NotifyBootConfigStatus_boot_acceptable
, 0);
2950 /* IDL: WERROR svcctl_NotifyBootConfigStatus( */
2951 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *machine_name, */
2952 /* IDL: [in] uint32 boot_acceptable */
2956 svcctl_dissect_NotifyBootConfigStatus_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2960 di
->dcerpc_procedure_name
="NotifyBootConfigStatus";
2961 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2964 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2970 svcctl_dissect_NotifyBootConfigStatus_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2972 di
->dcerpc_procedure_name
="NotifyBootConfigStatus";
2973 offset
= svcctl_dissect_element_NotifyBootConfigStatus_machine_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
2974 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2975 offset
= svcctl_dissect_element_NotifyBootConfigStatus_boot_acceptable(tvb
, offset
, pinfo
, tree
, di
, drep
);
2976 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2981 svcctl_dissect_element_SCSetServiceBitsW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2983 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SCSetServiceBitsW_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_SCSetServiceBitsW_service_handle
);
2989 svcctl_dissect_element_SCSetServiceBitsW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2991 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsW_service_handle
, 0);
2997 svcctl_dissect_element_SCSetServiceBitsW_service_bits(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2999 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsW_service_bits
, 0);
3005 svcctl_dissect_element_SCSetServiceBitsW_set_bits_on(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3007 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsW_set_bits_on
, 0);
3013 svcctl_dissect_element_SCSetServiceBitsW_update_immediately(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3015 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsW_update_immediately
, 0);
3021 svcctl_dissect_element_SCSetServiceBitsW_lpString(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3023 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SCSetServiceBitsW_lpString_
, NDR_POINTER_UNIQUE
, "Pointer to LpString (uint16)",hf_svcctl_svcctl_SCSetServiceBitsW_lpString
);
3029 svcctl_dissect_element_SCSetServiceBitsW_lpString_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3033 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_SCSetServiceBitsW_lpString
, false, &data
);
3034 proto_item_append_text(tree
, ": %s", data
);
3039 /* IDL: WERROR svcctl_SCSetServiceBitsW( */
3040 /* IDL: [in] [ref] policy_handle *service_handle, */
3041 /* IDL: [in] uint32 service_bits, */
3042 /* IDL: [in] uint32 set_bits_on, */
3043 /* IDL: [in] uint32 update_immediately, */
3044 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *lpString */
3048 svcctl_dissect_SCSetServiceBitsW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3052 di
->dcerpc_procedure_name
="SCSetServiceBitsW";
3053 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3056 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3062 svcctl_dissect_SCSetServiceBitsW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3064 di
->dcerpc_procedure_name
="SCSetServiceBitsW";
3065 offset
= svcctl_dissect_element_SCSetServiceBitsW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3066 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3067 offset
= svcctl_dissect_element_SCSetServiceBitsW_service_bits(tvb
, offset
, pinfo
, tree
, di
, drep
);
3068 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3069 offset
= svcctl_dissect_element_SCSetServiceBitsW_set_bits_on(tvb
, offset
, pinfo
, tree
, di
, drep
);
3070 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3071 offset
= svcctl_dissect_element_SCSetServiceBitsW_update_immediately(tvb
, offset
, pinfo
, tree
, di
, drep
);
3072 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3073 offset
= svcctl_dissect_element_SCSetServiceBitsW_lpString(tvb
, offset
, pinfo
, tree
, di
, drep
);
3074 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3079 svcctl_dissect_element_ChangeServiceConfigW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3081 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigW_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_ChangeServiceConfigW_service_handle
);
3087 svcctl_dissect_element_ChangeServiceConfigW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3089 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_service_handle
, 0);
3095 svcctl_dissect_element_ChangeServiceConfigW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3097 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_service_type
, 0);
3103 svcctl_dissect_element_ChangeServiceConfigW_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3105 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_start_type
, 0);
3111 svcctl_dissect_element_ChangeServiceConfigW_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3113 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_error_control
, 0);
3119 svcctl_dissect_element_ChangeServiceConfigW_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3121 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigW_binary_path_
, NDR_POINTER_UNIQUE
, "Pointer to Binary Path (uint16)",hf_svcctl_svcctl_ChangeServiceConfigW_binary_path
);
3127 svcctl_dissect_element_ChangeServiceConfigW_binary_path_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3131 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_binary_path
, false, &data
);
3132 proto_item_append_text(tree
, ": %s", data
);
3138 svcctl_dissect_element_ChangeServiceConfigW_load_order_group(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3140 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigW_load_order_group_
, NDR_POINTER_UNIQUE
, "Pointer to Load Order Group (uint16)",hf_svcctl_svcctl_ChangeServiceConfigW_load_order_group
);
3146 svcctl_dissect_element_ChangeServiceConfigW_load_order_group_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3150 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_load_order_group
, false, &data
);
3151 proto_item_append_text(tree
, ": %s", data
);
3157 svcctl_dissect_element_ChangeServiceConfigW_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3159 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigW_tag_id_
, NDR_POINTER_UNIQUE
, "Pointer to Tag Id (uint32)",hf_svcctl_svcctl_ChangeServiceConfigW_tag_id
);
3165 svcctl_dissect_element_ChangeServiceConfigW_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3167 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_tag_id
, 0);
3173 svcctl_dissect_element_ChangeServiceConfigW_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3175 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigW_dependencies_
, NDR_POINTER_UNIQUE
, "Pointer to Dependencies (uint16)",hf_svcctl_svcctl_ChangeServiceConfigW_dependencies
);
3181 svcctl_dissect_element_ChangeServiceConfigW_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3185 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_dependencies
, false, &data
);
3186 proto_item_append_text(tree
, ": %s", data
);
3192 svcctl_dissect_element_ChangeServiceConfigW_dwDependSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3194 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_dwDependSize
, 0);
3200 svcctl_dissect_element_ChangeServiceConfigW_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3202 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigW_service_start_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Start Name (uint16)",hf_svcctl_svcctl_ChangeServiceConfigW_service_start_name
);
3208 svcctl_dissect_element_ChangeServiceConfigW_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3212 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_service_start_name
, false, &data
);
3213 proto_item_append_text(tree
, ": %s", data
);
3219 svcctl_dissect_element_ChangeServiceConfigW_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3221 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigW_password_
, NDR_POINTER_UNIQUE
, "Pointer to Password (uint16)",hf_svcctl_svcctl_ChangeServiceConfigW_password
);
3227 svcctl_dissect_element_ChangeServiceConfigW_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3231 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_password
, false, &data
);
3232 proto_item_append_text(tree
, ": %s", data
);
3238 svcctl_dissect_element_ChangeServiceConfigW_dwPwSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3240 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_dwPwSize
, 0);
3246 svcctl_dissect_element_ChangeServiceConfigW_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3248 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigW_display_name_
, NDR_POINTER_UNIQUE
, "Pointer to Display Name (uint16)",hf_svcctl_svcctl_ChangeServiceConfigW_display_name
);
3254 svcctl_dissect_element_ChangeServiceConfigW_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3258 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_display_name
, false, &data
);
3259 proto_item_append_text(tree
, ": %s", data
);
3264 /* IDL: WERROR svcctl_ChangeServiceConfigW( */
3265 /* IDL: [in] [ref] policy_handle *service_handle, */
3266 /* IDL: [in] svcctl_ServiceType service_type, */
3267 /* IDL: [in] svcctl_StartType start_type, */
3268 /* IDL: [in] svcctl_ErrorControl error_control, */
3269 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *binary_path, */
3270 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *load_order_group, */
3271 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
3272 /* IDL: [charset(UTF16)] [in] [size_is(dwDependSize)] [unique(1)] uint16 *dependencies, */
3273 /* IDL: [in] [range(0,SC_MAX_DEPEND_SIZE)] uint32 dwDependSize, */
3274 /* IDL: [charset(UTF16)] [in] [range(0,SC_MAX_ACCOUNT_NAME_LENGTH)] [unique(1)] uint16 *service_start_name, */
3275 /* IDL: [charset(UTF16)] [in] [size_is(dwPwSize)] [unique(1)] uint16 *password, */
3276 /* IDL: [in] [range(0,SC_MAX_PWD_SIZE)] uint32 dwPwSize, */
3277 /* IDL: [charset(UTF16)] [in] [range(0,SC_MAX_NAME_LENGTH)] [unique(1)] uint16 *display_name */
3281 svcctl_dissect_ChangeServiceConfigW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3285 di
->dcerpc_procedure_name
="ChangeServiceConfigW";
3286 offset
= svcctl_dissect_element_ChangeServiceConfigW_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
3287 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3289 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3292 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3298 svcctl_dissect_ChangeServiceConfigW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3300 di
->dcerpc_procedure_name
="ChangeServiceConfigW";
3301 offset
= svcctl_dissect_element_ChangeServiceConfigW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3302 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3303 offset
= svcctl_dissect_element_ChangeServiceConfigW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3304 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3305 offset
= svcctl_dissect_element_ChangeServiceConfigW_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3306 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3307 offset
= svcctl_dissect_element_ChangeServiceConfigW_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
3308 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3309 offset
= svcctl_dissect_element_ChangeServiceConfigW_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
3310 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3311 offset
= svcctl_dissect_element_ChangeServiceConfigW_load_order_group(tvb
, offset
, pinfo
, tree
, di
, drep
);
3312 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3313 offset
= svcctl_dissect_element_ChangeServiceConfigW_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
3314 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3315 offset
= svcctl_dissect_element_ChangeServiceConfigW_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
3316 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3317 offset
= svcctl_dissect_element_ChangeServiceConfigW_dwDependSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3318 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3319 offset
= svcctl_dissect_element_ChangeServiceConfigW_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3320 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3321 offset
= svcctl_dissect_element_ChangeServiceConfigW_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
3322 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3323 offset
= svcctl_dissect_element_ChangeServiceConfigW_dwPwSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3324 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3325 offset
= svcctl_dissect_element_ChangeServiceConfigW_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3326 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3331 svcctl_dissect_element_CreateServiceW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3333 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_CreateServiceW_scm_handle
);
3339 svcctl_dissect_element_CreateServiceW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3341 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_scm_handle
, 0);
3347 svcctl_dissect_element_CreateServiceW_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3351 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_ServiceName
, false, &data
);
3352 proto_item_append_text(tree
, ": %s", data
);
3358 svcctl_dissect_element_CreateServiceW_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3360 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_DisplayName_
, NDR_POINTER_UNIQUE
, "Pointer to DisplayName (uint16)",hf_svcctl_svcctl_CreateServiceW_DisplayName
);
3366 svcctl_dissect_element_CreateServiceW_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3370 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_DisplayName
, false, &data
);
3371 proto_item_append_text(tree
, ": %s", data
);
3377 svcctl_dissect_element_CreateServiceW_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3379 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_desired_access
, 0);
3385 svcctl_dissect_element_CreateServiceW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3387 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_service_type
, 0);
3393 svcctl_dissect_element_CreateServiceW_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3395 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_start_type
, 0);
3401 svcctl_dissect_element_CreateServiceW_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3403 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_error_control
, 0);
3409 svcctl_dissect_element_CreateServiceW_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3413 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_binary_path
, false, &data
);
3414 proto_item_append_text(tree
, ": %s", data
);
3420 svcctl_dissect_element_CreateServiceW_LoadOrderGroup(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3422 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_LoadOrderGroup_
, NDR_POINTER_UNIQUE
, "Pointer to LoadOrderGroup (uint16)",hf_svcctl_svcctl_CreateServiceW_LoadOrderGroup
);
3428 svcctl_dissect_element_CreateServiceW_LoadOrderGroup_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3432 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_LoadOrderGroup
, false, &data
);
3433 proto_item_append_text(tree
, ": %s", data
);
3439 svcctl_dissect_element_CreateServiceW_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3441 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_tag_id_
, NDR_POINTER_UNIQUE
, "Pointer to Tag Id (uint32)",hf_svcctl_svcctl_CreateServiceW_tag_id
);
3447 svcctl_dissect_element_CreateServiceW_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3449 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_tag_id
, 0);
3455 svcctl_dissect_element_CreateServiceW_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3457 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_dependencies_
, NDR_POINTER_UNIQUE
, "Pointer to Dependencies (uint8)",hf_svcctl_svcctl_CreateServiceW_dependencies
);
3463 svcctl_dissect_element_CreateServiceW_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3465 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_dependencies__
);
3471 svcctl_dissect_element_CreateServiceW_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3473 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_dependencies
, 0);
3479 svcctl_dissect_element_CreateServiceW_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3481 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_dependencies_size
, 0);
3487 svcctl_dissect_element_CreateServiceW_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3489 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_service_start_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Start Name (uint16)",hf_svcctl_svcctl_CreateServiceW_service_start_name
);
3495 svcctl_dissect_element_CreateServiceW_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3499 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_service_start_name
, false, &data
);
3500 proto_item_append_text(tree
, ": %s", data
);
3506 svcctl_dissect_element_CreateServiceW_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3508 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_password_
, NDR_POINTER_UNIQUE
, "Pointer to Password (uint8)",hf_svcctl_svcctl_CreateServiceW_password
);
3514 svcctl_dissect_element_CreateServiceW_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3516 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_password__
);
3522 svcctl_dissect_element_CreateServiceW_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3524 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_password
, 0);
3530 svcctl_dissect_element_CreateServiceW_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3532 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_password_size
, 0);
3538 svcctl_dissect_element_CreateServiceW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3540 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceW_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_CreateServiceW_service_handle
);
3546 svcctl_dissect_element_CreateServiceW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3548 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_service_handle
, 0);
3553 /* IDL: WERROR svcctl_CreateServiceW( */
3554 /* IDL: [in] [ref] policy_handle *scm_handle, */
3555 /* IDL: [charset(UTF16)] [in] uint16 ServiceName[*], */
3556 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *DisplayName, */
3557 /* IDL: [in] uint32 desired_access, */
3558 /* IDL: [in] svcctl_ServiceType service_type, */
3559 /* IDL: [in] svcctl_StartType start_type, */
3560 /* IDL: [in] svcctl_ErrorControl error_control, */
3561 /* IDL: [charset(UTF16)] [in] uint16 binary_path[*], */
3562 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *LoadOrderGroup, */
3563 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
3564 /* IDL: [in] [size_is(dependencies_size)] [unique(1)] uint8 *dependencies, */
3565 /* IDL: [in] uint32 dependencies_size, */
3566 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *service_start_name, */
3567 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
3568 /* IDL: [in] uint32 password_size, */
3569 /* IDL: [out] [ref] policy_handle *service_handle */
3573 svcctl_dissect_CreateServiceW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3577 di
->dcerpc_procedure_name
="CreateServiceW";
3578 offset
= svcctl_dissect_element_CreateServiceW_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
3579 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3581 offset
= svcctl_dissect_element_CreateServiceW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3582 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3584 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3587 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3593 svcctl_dissect_CreateServiceW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3595 di
->dcerpc_procedure_name
="CreateServiceW";
3596 offset
= svcctl_dissect_element_CreateServiceW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3597 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3598 offset
= svcctl_dissect_element_CreateServiceW_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
3599 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3600 offset
= svcctl_dissect_element_CreateServiceW_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
3601 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3602 offset
= svcctl_dissect_element_CreateServiceW_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
3603 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3604 offset
= svcctl_dissect_element_CreateServiceW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3605 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3606 offset
= svcctl_dissect_element_CreateServiceW_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3607 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3608 offset
= svcctl_dissect_element_CreateServiceW_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
3609 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3610 offset
= svcctl_dissect_element_CreateServiceW_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
3611 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3612 offset
= svcctl_dissect_element_CreateServiceW_LoadOrderGroup(tvb
, offset
, pinfo
, tree
, di
, drep
);
3613 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3614 offset
= svcctl_dissect_element_CreateServiceW_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
3615 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3616 offset
= svcctl_dissect_element_CreateServiceW_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
3617 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3618 offset
= svcctl_dissect_element_CreateServiceW_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
3619 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3620 offset
= svcctl_dissect_element_CreateServiceW_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3621 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3622 offset
= svcctl_dissect_element_CreateServiceW_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
3623 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3624 offset
= svcctl_dissect_element_CreateServiceW_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
3625 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3630 svcctl_dissect_element_EnumDependentServicesW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3632 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesW_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_EnumDependentServicesW_service_handle
);
3638 svcctl_dissect_element_EnumDependentServicesW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3640 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_service_handle
, 0);
3646 svcctl_dissect_element_EnumDependentServicesW_service_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3648 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_service_state
, 0);
3654 svcctl_dissect_element_EnumDependentServicesW_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3656 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesW_service_status_
, NDR_POINTER_REF
, "Pointer to Service Status (ENUM_SERVICE_STATUSW)",hf_svcctl_svcctl_EnumDependentServicesW_service_status
);
3662 svcctl_dissect_element_EnumDependentServicesW_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3664 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesW_service_status__
);
3670 svcctl_dissect_element_EnumDependentServicesW_service_status__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3672 offset
= svcctl_dissect_struct_ENUM_SERVICE_STATUSW(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_EnumDependentServicesW_service_status
,0);
3678 svcctl_dissect_element_EnumDependentServicesW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3680 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_offered
, 0);
3686 svcctl_dissect_element_EnumDependentServicesW_bytesneeded(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3688 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesW_bytesneeded_
, NDR_POINTER_REF
, "Pointer to Bytesneeded (uint32)",hf_svcctl_svcctl_EnumDependentServicesW_bytesneeded
);
3694 svcctl_dissect_element_EnumDependentServicesW_bytesneeded_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3696 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_bytesneeded
, 0);
3702 svcctl_dissect_element_EnumDependentServicesW_services_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3704 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesW_services_returned_
, NDR_POINTER_REF
, "Pointer to Services Returned (uint32)",hf_svcctl_svcctl_EnumDependentServicesW_services_returned
);
3710 svcctl_dissect_element_EnumDependentServicesW_services_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3712 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_services_returned
, 0);
3717 /* IDL: WERROR svcctl_EnumDependentServicesW( */
3718 /* IDL: [in] [ref] policy_handle *service_handle, */
3719 /* IDL: [in] svcctl_ServiceState service_state, */
3720 /* IDL: [out] [ref] [size_is(offered)] ENUM_SERVICE_STATUSW *service_status, */
3721 /* IDL: [in] [range(0,0x40000)] uint32 offered, */
3722 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *bytesneeded, */
3723 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *services_returned */
3727 svcctl_dissect_EnumDependentServicesW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3731 di
->dcerpc_procedure_name
="EnumDependentServicesW";
3732 offset
= svcctl_dissect_element_EnumDependentServicesW_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
3733 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3735 offset
= svcctl_dissect_element_EnumDependentServicesW_bytesneeded(tvb
, offset
, pinfo
, tree
, di
, drep
);
3736 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3738 offset
= svcctl_dissect_element_EnumDependentServicesW_services_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
3739 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3741 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3744 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3750 svcctl_dissect_EnumDependentServicesW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3752 di
->dcerpc_procedure_name
="EnumDependentServicesW";
3753 offset
= svcctl_dissect_element_EnumDependentServicesW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3754 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3755 offset
= svcctl_dissect_element_EnumDependentServicesW_service_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
3756 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3757 offset
= svcctl_dissect_element_EnumDependentServicesW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
3758 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3763 svcctl_dissect_element_EnumServicesStatusW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3765 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusW_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_EnumServicesStatusW_scm_handle
);
3771 svcctl_dissect_element_EnumServicesStatusW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3773 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_scm_handle
, 0);
3779 svcctl_dissect_element_EnumServicesStatusW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3781 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_service_type
, 0);
3787 svcctl_dissect_element_EnumServicesStatusW_service_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3789 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_service_state
, 0);
3795 svcctl_dissect_element_EnumServicesStatusW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3797 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_offered
, 0);
3803 svcctl_dissect_element_EnumServicesStatusW_resume_index(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3805 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusW_resume_index_
, NDR_POINTER_UNIQUE
, "Pointer to Resume Index (uint32)",hf_svcctl_svcctl_EnumServicesStatusW_resume_index
);
3811 svcctl_dissect_element_EnumServicesStatusW_resume_index_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3813 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_resume_index
, 0);
3818 /* IDL: WERROR svcctl_EnumServicesStatusW( */
3819 /* IDL: [in] [ref] policy_handle *scm_handle, */
3820 /* IDL: [in] svcctl_ServiceType service_type, */
3821 /* IDL: [in] svcctl_ServiceState service_state, */
3822 /* IDL: [out] [ref] [size_is(offered)] uint8 *services, */
3823 /* IDL: [in] [range(0,0x40000)] uint32 offered, */
3824 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *bytes_needed, */
3825 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *services_returned, */
3826 /* IDL: [in] [out] [unique(1)] uint32 *resume_index */
3830 svcctl_dissect_EnumServicesStatusW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3832 di
->dcerpc_procedure_name
="EnumServicesStatusW";
3833 offset
= svcctl_dissect_element_EnumServicesStatusW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3834 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3835 offset
= svcctl_dissect_element_EnumServicesStatusW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3836 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3837 offset
= svcctl_dissect_element_EnumServicesStatusW_service_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
3838 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3839 offset
= svcctl_dissect_element_EnumServicesStatusW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
3840 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3841 offset
= svcctl_dissect_element_EnumServicesStatusW_resume_index(tvb
, offset
, pinfo
, tree
, di
, drep
);
3842 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3847 svcctl_dissect_element_OpenSCManagerW_MachineName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3849 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenSCManagerW_MachineName_
, NDR_POINTER_UNIQUE
, "Pointer to MachineName (uint16)",hf_svcctl_svcctl_OpenSCManagerW_MachineName
);
3855 svcctl_dissect_element_OpenSCManagerW_MachineName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3859 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_OpenSCManagerW_MachineName
, false, &data
);
3860 proto_item_append_text(tree
, ": %s", data
);
3866 svcctl_dissect_element_OpenSCManagerW_DatabaseName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3868 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenSCManagerW_DatabaseName_
, NDR_POINTER_UNIQUE
, "Pointer to DatabaseName (uint16)",hf_svcctl_svcctl_OpenSCManagerW_DatabaseName
);
3874 svcctl_dissect_element_OpenSCManagerW_DatabaseName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3878 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_OpenSCManagerW_DatabaseName
, false, &data
);
3879 proto_item_append_text(tree
, ": %s", data
);
3885 svcctl_dissect_element_OpenSCManagerW_access_mask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3887 offset
= svcctl_dissect_bitmap_MgrAccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManagerW_access_mask
, 0);
3893 svcctl_dissect_element_OpenSCManagerW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3895 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenSCManagerW_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_OpenSCManagerW_scm_handle
);
3901 svcctl_dissect_element_OpenSCManagerW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3903 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManagerW_scm_handle
, 0);
3908 /* IDL: WERROR svcctl_OpenSCManagerW( */
3909 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *MachineName, */
3910 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *DatabaseName, */
3911 /* IDL: [in] svcctl_MgrAccessMask access_mask, */
3912 /* IDL: [out] [ref] policy_handle *scm_handle */
3916 svcctl_dissect_OpenSCManagerW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3920 di
->dcerpc_procedure_name
="OpenSCManagerW";
3921 offset
= svcctl_dissect_element_OpenSCManagerW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3922 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3924 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3927 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3933 svcctl_dissect_OpenSCManagerW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3935 di
->dcerpc_procedure_name
="OpenSCManagerW";
3936 offset
= svcctl_dissect_element_OpenSCManagerW_MachineName(tvb
, offset
, pinfo
, tree
, di
, drep
);
3937 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3938 offset
= svcctl_dissect_element_OpenSCManagerW_DatabaseName(tvb
, offset
, pinfo
, tree
, di
, drep
);
3939 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3940 offset
= svcctl_dissect_element_OpenSCManagerW_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
3941 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3946 svcctl_dissect_element_OpenServiceW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3948 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenServiceW_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_OpenServiceW_scm_handle
);
3954 svcctl_dissect_element_OpenServiceW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3956 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceW_scm_handle
, 0);
3962 svcctl_dissect_element_OpenServiceW_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3966 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_OpenServiceW_ServiceName
, false, &data
);
3967 proto_item_append_text(tree
, ": %s", data
);
3973 svcctl_dissect_element_OpenServiceW_access_mask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3975 offset
= svcctl_dissect_bitmap_ServiceAccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceW_access_mask
, 0);
3981 svcctl_dissect_element_OpenServiceW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3983 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenServiceW_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_OpenServiceW_service_handle
);
3989 svcctl_dissect_element_OpenServiceW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3991 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceW_service_handle
, 0);
3996 /* IDL: WERROR svcctl_OpenServiceW( */
3997 /* IDL: [in] [ref] policy_handle *scm_handle, */
3998 /* IDL: [charset(UTF16)] [in] uint16 ServiceName[*], */
3999 /* IDL: [in] svcctl_ServiceAccessMask access_mask, */
4000 /* IDL: [out] [ref] policy_handle *service_handle */
4004 svcctl_dissect_OpenServiceW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4008 di
->dcerpc_procedure_name
="OpenServiceW";
4009 offset
= svcctl_dissect_element_OpenServiceW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4010 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4012 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4015 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4021 svcctl_dissect_OpenServiceW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4023 di
->dcerpc_procedure_name
="OpenServiceW";
4024 offset
= svcctl_dissect_element_OpenServiceW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4025 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4026 offset
= svcctl_dissect_element_OpenServiceW_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
4027 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4028 offset
= svcctl_dissect_element_OpenServiceW_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
4029 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4034 svcctl_dissect_element_QueryServiceConfigW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4036 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfigW_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceConfigW_service_handle
);
4042 svcctl_dissect_element_QueryServiceConfigW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4044 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigW_service_handle
, 0);
4050 svcctl_dissect_element_QueryServiceConfigW_service_config(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4052 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfigW_service_config_
, NDR_POINTER_REF
, "Pointer to Service Config (QUERY_SERVICE_CONFIG)",hf_svcctl_svcctl_QueryServiceConfigW_service_config
);
4058 svcctl_dissect_element_QueryServiceConfigW_service_config_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4060 offset
= svcctl_dissect_struct_QUERY_SERVICE_CONFIG(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_QueryServiceConfigW_service_config
,0);
4066 svcctl_dissect_element_QueryServiceConfigW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4068 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigW_offered
, 0);
4074 svcctl_dissect_element_QueryServiceConfigW_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4076 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfigW_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_QueryServiceConfigW_needed
);
4082 svcctl_dissect_element_QueryServiceConfigW_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4084 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigW_needed
, 0);
4089 /* IDL: WERROR svcctl_QueryServiceConfigW( */
4090 /* IDL: [in] [ref] policy_handle *service_handle, */
4091 /* IDL: [out] [ref] QUERY_SERVICE_CONFIG *service_config, */
4092 /* IDL: [in] [range(0,8192)] uint32 offered, */
4093 /* IDL: [out] [range(0,8192)] [ref] uint32 *needed */
4097 svcctl_dissect_QueryServiceConfigW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4101 di
->dcerpc_procedure_name
="QueryServiceConfigW";
4102 offset
= svcctl_dissect_element_QueryServiceConfigW_service_config(tvb
, offset
, pinfo
, tree
, di
, drep
);
4103 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4105 offset
= svcctl_dissect_element_QueryServiceConfigW_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
4106 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4108 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4111 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4117 svcctl_dissect_QueryServiceConfigW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4119 di
->dcerpc_procedure_name
="QueryServiceConfigW";
4120 offset
= svcctl_dissect_element_QueryServiceConfigW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4121 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4122 offset
= svcctl_dissect_element_QueryServiceConfigW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
4123 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4128 svcctl_dissect_element_QueryServiceLockStatusW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4130 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceLockStatusW_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceLockStatusW_scm_handle
);
4136 svcctl_dissect_element_QueryServiceLockStatusW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4138 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusW_scm_handle
, 0);
4144 svcctl_dissect_element_QueryServiceLockStatusW_lock_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4146 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceLockStatusW_lock_status_
, NDR_POINTER_REF
, "Pointer to Lock Status (SERVICE_LOCK_STATUS)",hf_svcctl_svcctl_QueryServiceLockStatusW_lock_status
);
4152 svcctl_dissect_element_QueryServiceLockStatusW_lock_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4154 offset
= svcctl_dissect_struct_SERVICE_LOCK_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_QueryServiceLockStatusW_lock_status
,0);
4160 svcctl_dissect_element_QueryServiceLockStatusW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4162 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusW_offered
, 0);
4168 svcctl_dissect_element_QueryServiceLockStatusW_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4170 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceLockStatusW_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_QueryServiceLockStatusW_needed
);
4176 svcctl_dissect_element_QueryServiceLockStatusW_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4178 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusW_needed
, 0);
4183 /* IDL: WERROR svcctl_QueryServiceLockStatusW( */
4184 /* IDL: [in] [ref] policy_handle *scm_handle, */
4185 /* IDL: [out] [ref] SERVICE_LOCK_STATUS *lock_status, */
4186 /* IDL: [in] uint32 offered, */
4187 /* IDL: [out] [ref] uint32 *needed */
4191 svcctl_dissect_QueryServiceLockStatusW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4195 di
->dcerpc_procedure_name
="QueryServiceLockStatusW";
4196 offset
= svcctl_dissect_element_QueryServiceLockStatusW_lock_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
4197 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4199 offset
= svcctl_dissect_element_QueryServiceLockStatusW_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
4200 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4202 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4205 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4211 svcctl_dissect_QueryServiceLockStatusW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4213 di
->dcerpc_procedure_name
="QueryServiceLockStatusW";
4214 offset
= svcctl_dissect_element_QueryServiceLockStatusW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4215 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4216 offset
= svcctl_dissect_element_QueryServiceLockStatusW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
4217 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4222 svcctl_dissect_element_StartServiceW_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4224 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_StartServiceW_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_StartServiceW_service_handle
);
4230 svcctl_dissect_element_StartServiceW_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4232 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_StartServiceW_service_handle
, 0);
4238 svcctl_dissect_element_StartServiceW_NumArgs(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4240 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_StartServiceW_NumArgs
, 0);
4246 svcctl_dissect_element_StartServiceW_Arguments(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4248 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_StartServiceW_Arguments_
, NDR_POINTER_UNIQUE
, "Pointer to Arguments (svcctl_ArgumentString)",hf_svcctl_svcctl_StartServiceW_Arguments
);
4254 svcctl_dissect_element_StartServiceW_Arguments_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4256 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_StartServiceW_Arguments__
);
4262 svcctl_dissect_element_StartServiceW_Arguments__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4264 offset
= svcctl_dissect_struct_ArgumentString(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_StartServiceW_Arguments
,0);
4269 /* IDL: WERROR svcctl_StartServiceW( */
4270 /* IDL: [in] [ref] policy_handle *service_handle, */
4271 /* IDL: [in] [range(0,SC_MAX_ARGUMENTS)] uint32 NumArgs, */
4272 /* IDL: [in] [size_is(NumArgs)] [unique(1)] svcctl_ArgumentString *Arguments */
4276 svcctl_dissect_StartServiceW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4280 di
->dcerpc_procedure_name
="StartServiceW";
4281 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4284 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4290 svcctl_dissect_StartServiceW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4292 di
->dcerpc_procedure_name
="StartServiceW";
4293 offset
= svcctl_dissect_element_StartServiceW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4294 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4295 offset
= svcctl_dissect_element_StartServiceW_NumArgs(tvb
, offset
, pinfo
, tree
, di
, drep
);
4296 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4297 offset
= svcctl_dissect_element_StartServiceW_Arguments(tvb
, offset
, pinfo
, tree
, di
, drep
);
4298 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4303 svcctl_dissect_element_GetServiceDisplayNameW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4305 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameW_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_GetServiceDisplayNameW_scm_handle
);
4311 svcctl_dissect_element_GetServiceDisplayNameW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4313 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameW_scm_handle
, 0);
4319 svcctl_dissect_element_GetServiceDisplayNameW_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4321 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameW_service_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Name (uint16)",hf_svcctl_svcctl_GetServiceDisplayNameW_service_name
);
4327 svcctl_dissect_element_GetServiceDisplayNameW_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4331 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetServiceDisplayNameW_service_name
, false, &data
);
4332 proto_item_append_text(tree
, ": %s", data
);
4338 svcctl_dissect_element_GetServiceDisplayNameW_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4340 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameW_display_name_
, NDR_POINTER_REF
, "Pointer to Display Name (uint16)",hf_svcctl_svcctl_GetServiceDisplayNameW_display_name
);
4346 svcctl_dissect_element_GetServiceDisplayNameW_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4348 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameW_display_name__
, NDR_POINTER_UNIQUE
, "Pointer to Display Name (uint16)",hf_svcctl_svcctl_GetServiceDisplayNameW_display_name
);
4354 svcctl_dissect_element_GetServiceDisplayNameW_display_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4358 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetServiceDisplayNameW_display_name
, false, &data
);
4359 proto_item_append_text(tree
, ": %s", data
);
4365 svcctl_dissect_element_GetServiceDisplayNameW_display_name_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4367 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameW_display_name_length_
, NDR_POINTER_UNIQUE
, "Pointer to Display Name Length (uint32)",hf_svcctl_svcctl_GetServiceDisplayNameW_display_name_length
);
4373 svcctl_dissect_element_GetServiceDisplayNameW_display_name_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4375 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameW_display_name_length
, 0);
4380 /* IDL: WERROR svcctl_GetServiceDisplayNameW( */
4381 /* IDL: [in] [ref] policy_handle *scm_handle, */
4382 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *service_name, */
4383 /* IDL: [charset(UTF16)] [out] [ref] uint16 **display_name, */
4384 /* IDL: [in] [out] [unique(1)] uint32 *display_name_length */
4388 svcctl_dissect_GetServiceDisplayNameW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4392 di
->dcerpc_procedure_name
="GetServiceDisplayNameW";
4393 offset
= svcctl_dissect_element_GetServiceDisplayNameW_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4394 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4396 offset
= svcctl_dissect_element_GetServiceDisplayNameW_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
4397 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4399 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4402 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4408 svcctl_dissect_GetServiceDisplayNameW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4410 di
->dcerpc_procedure_name
="GetServiceDisplayNameW";
4411 offset
= svcctl_dissect_element_GetServiceDisplayNameW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4412 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4413 offset
= svcctl_dissect_element_GetServiceDisplayNameW_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4414 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4415 offset
= svcctl_dissect_element_GetServiceDisplayNameW_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
4416 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4421 svcctl_dissect_element_GetServiceKeyNameW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4423 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameW_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_GetServiceKeyNameW_scm_handle
);
4429 svcctl_dissect_element_GetServiceKeyNameW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4431 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceKeyNameW_scm_handle
, 0);
4437 svcctl_dissect_element_GetServiceKeyNameW_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4439 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameW_display_name_
, NDR_POINTER_UNIQUE
, "Pointer to Display Name (uint16)",hf_svcctl_svcctl_GetServiceKeyNameW_display_name
);
4445 svcctl_dissect_element_GetServiceKeyNameW_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4449 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetServiceKeyNameW_display_name
, false, &data
);
4450 proto_item_append_text(tree
, ": %s", data
);
4456 svcctl_dissect_element_GetServiceKeyNameW_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4458 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameW_service_name_
, NDR_POINTER_REF
, "Pointer to Service Name (uint16)",hf_svcctl_svcctl_GetServiceKeyNameW_service_name
);
4464 svcctl_dissect_element_GetServiceKeyNameW_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4466 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameW_service_name__
, NDR_POINTER_UNIQUE
, "Pointer to Service Name (uint16)",hf_svcctl_svcctl_GetServiceKeyNameW_service_name
);
4472 svcctl_dissect_element_GetServiceKeyNameW_service_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4476 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetServiceKeyNameW_service_name
, false, &data
);
4477 proto_item_append_text(tree
, ": %s", data
);
4483 svcctl_dissect_element_GetServiceKeyNameW_service_name_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4485 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameW_service_name_length_
, NDR_POINTER_UNIQUE
, "Pointer to Service Name Length (uint32)",hf_svcctl_svcctl_GetServiceKeyNameW_service_name_length
);
4491 svcctl_dissect_element_GetServiceKeyNameW_service_name_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4493 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceKeyNameW_service_name_length
, 0);
4498 /* IDL: WERROR svcctl_GetServiceKeyNameW( */
4499 /* IDL: [in] [ref] policy_handle *scm_handle, */
4500 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *display_name, */
4501 /* IDL: [charset(UTF16)] [out] [ref] uint16 **service_name, */
4502 /* IDL: [in] [out] [unique(1)] uint32 *service_name_length */
4506 svcctl_dissect_GetServiceKeyNameW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4510 di
->dcerpc_procedure_name
="GetServiceKeyNameW";
4511 offset
= svcctl_dissect_element_GetServiceKeyNameW_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4512 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4514 offset
= svcctl_dissect_element_GetServiceKeyNameW_service_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
4515 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4517 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4520 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4526 svcctl_dissect_GetServiceKeyNameW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4528 di
->dcerpc_procedure_name
="GetServiceKeyNameW";
4529 offset
= svcctl_dissect_element_GetServiceKeyNameW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4530 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4531 offset
= svcctl_dissect_element_GetServiceKeyNameW_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4532 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4533 offset
= svcctl_dissect_element_GetServiceKeyNameW_service_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
4534 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4539 svcctl_dissect_element_SCSetServiceBitsA_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4541 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SCSetServiceBitsA_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_SCSetServiceBitsA_handle
);
4547 svcctl_dissect_element_SCSetServiceBitsA_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4549 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsA_handle
, 0);
4555 svcctl_dissect_element_SCSetServiceBitsA_service_bits(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4557 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsA_service_bits
, 0);
4563 svcctl_dissect_element_SCSetServiceBitsA_set_bits_on(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4565 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsA_set_bits_on
, 0);
4571 svcctl_dissect_element_SCSetServiceBitsA_update_immediately(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4573 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsA_update_immediately
, 0);
4579 svcctl_dissect_element_SCSetServiceBitsA_lpString(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4581 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_SCSetServiceBitsA_lpString_
, NDR_POINTER_UNIQUE
, "Pointer to LpString (uint16)",hf_svcctl_svcctl_SCSetServiceBitsA_lpString
);
4587 svcctl_dissect_element_SCSetServiceBitsA_lpString_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4591 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_SCSetServiceBitsA_lpString
, false, &data
);
4592 proto_item_append_text(tree
, ": %s", data
);
4597 /* IDL: WERROR svcctl_SCSetServiceBitsA( */
4598 /* IDL: [in] [ref] policy_handle *handle, */
4599 /* IDL: [in] uint32 service_bits, */
4600 /* IDL: [in] uint32 set_bits_on, */
4601 /* IDL: [in] uint32 update_immediately, */
4602 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *lpString */
4606 svcctl_dissect_SCSetServiceBitsA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4610 di
->dcerpc_procedure_name
="SCSetServiceBitsA";
4611 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4614 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4620 svcctl_dissect_SCSetServiceBitsA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4622 di
->dcerpc_procedure_name
="SCSetServiceBitsA";
4623 offset
= svcctl_dissect_element_SCSetServiceBitsA_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4624 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4625 offset
= svcctl_dissect_element_SCSetServiceBitsA_service_bits(tvb
, offset
, pinfo
, tree
, di
, drep
);
4626 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4627 offset
= svcctl_dissect_element_SCSetServiceBitsA_set_bits_on(tvb
, offset
, pinfo
, tree
, di
, drep
);
4628 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4629 offset
= svcctl_dissect_element_SCSetServiceBitsA_update_immediately(tvb
, offset
, pinfo
, tree
, di
, drep
);
4630 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4631 offset
= svcctl_dissect_element_SCSetServiceBitsA_lpString(tvb
, offset
, pinfo
, tree
, di
, drep
);
4632 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4637 svcctl_dissect_element_ChangeServiceConfigA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4639 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigA_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_ChangeServiceConfigA_service_handle
);
4645 svcctl_dissect_element_ChangeServiceConfigA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4647 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_service_handle
, 0);
4653 svcctl_dissect_element_ChangeServiceConfigA_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4655 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_service_type
, 0);
4661 svcctl_dissect_element_ChangeServiceConfigA_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4663 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_start_type
, 0);
4669 svcctl_dissect_element_ChangeServiceConfigA_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4671 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_error_control
, 0);
4677 svcctl_dissect_element_ChangeServiceConfigA_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4679 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigA_binary_path_
, NDR_POINTER_UNIQUE
, "Pointer to Binary Path (string)",hf_svcctl_svcctl_ChangeServiceConfigA_binary_path
);
4685 svcctl_dissect_element_ChangeServiceConfigA_binary_path_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4687 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_binary_path
, 0);
4693 svcctl_dissect_element_ChangeServiceConfigA_load_order_group(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4695 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigA_load_order_group_
, NDR_POINTER_UNIQUE
, "Pointer to Load Order Group (string)",hf_svcctl_svcctl_ChangeServiceConfigA_load_order_group
);
4701 svcctl_dissect_element_ChangeServiceConfigA_load_order_group_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4703 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_load_order_group
, 0);
4709 svcctl_dissect_element_ChangeServiceConfigA_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4711 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigA_tag_id_
, NDR_POINTER_UNIQUE
, "Pointer to Tag Id (uint32)",hf_svcctl_svcctl_ChangeServiceConfigA_tag_id
);
4717 svcctl_dissect_element_ChangeServiceConfigA_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4719 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_tag_id
, 0);
4725 svcctl_dissect_element_ChangeServiceConfigA_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4727 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigA_dependencies_
, NDR_POINTER_UNIQUE
, "Pointer to Dependencies (string)",hf_svcctl_svcctl_ChangeServiceConfigA_dependencies
);
4733 svcctl_dissect_element_ChangeServiceConfigA_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4735 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_dependencies
, 0);
4741 svcctl_dissect_element_ChangeServiceConfigA_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4743 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigA_service_start_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Start Name (string)",hf_svcctl_svcctl_ChangeServiceConfigA_service_start_name
);
4749 svcctl_dissect_element_ChangeServiceConfigA_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4751 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_service_start_name
, 0);
4757 svcctl_dissect_element_ChangeServiceConfigA_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4759 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigA_password_
, NDR_POINTER_UNIQUE
, "Pointer to Password (string)",hf_svcctl_svcctl_ChangeServiceConfigA_password
);
4765 svcctl_dissect_element_ChangeServiceConfigA_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4767 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_password
, 0);
4773 svcctl_dissect_element_ChangeServiceConfigA_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4775 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfigA_display_name_
, NDR_POINTER_UNIQUE
, "Pointer to Display Name (string)",hf_svcctl_svcctl_ChangeServiceConfigA_display_name
);
4781 svcctl_dissect_element_ChangeServiceConfigA_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4783 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_display_name
, 0);
4788 /* IDL: WERROR svcctl_ChangeServiceConfigA( */
4789 /* IDL: [in] [ref] policy_handle *service_handle, */
4790 /* IDL: [in] svcctl_ServiceType service_type, */
4791 /* IDL: [in] svcctl_StartType start_type, */
4792 /* IDL: [in] svcctl_ErrorControl error_control, */
4793 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *binary_path, */
4794 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *load_order_group, */
4795 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
4796 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *dependencies, */
4797 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *service_start_name, */
4798 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *password, */
4799 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *display_name */
4803 svcctl_dissect_ChangeServiceConfigA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4807 di
->dcerpc_procedure_name
="ChangeServiceConfigA";
4808 offset
= svcctl_dissect_element_ChangeServiceConfigA_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
4809 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4811 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4814 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4820 svcctl_dissect_ChangeServiceConfigA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4822 di
->dcerpc_procedure_name
="ChangeServiceConfigA";
4823 offset
= svcctl_dissect_element_ChangeServiceConfigA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4824 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4825 offset
= svcctl_dissect_element_ChangeServiceConfigA_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
4826 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4827 offset
= svcctl_dissect_element_ChangeServiceConfigA_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
4828 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4829 offset
= svcctl_dissect_element_ChangeServiceConfigA_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
4830 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4831 offset
= svcctl_dissect_element_ChangeServiceConfigA_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
4832 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4833 offset
= svcctl_dissect_element_ChangeServiceConfigA_load_order_group(tvb
, offset
, pinfo
, tree
, di
, drep
);
4834 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4835 offset
= svcctl_dissect_element_ChangeServiceConfigA_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
4836 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4837 offset
= svcctl_dissect_element_ChangeServiceConfigA_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
4838 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4839 offset
= svcctl_dissect_element_ChangeServiceConfigA_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4840 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4841 offset
= svcctl_dissect_element_ChangeServiceConfigA_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
4842 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4843 offset
= svcctl_dissect_element_ChangeServiceConfigA_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4844 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4849 svcctl_dissect_element_CreateServiceA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4851 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_CreateServiceA_scm_handle
);
4857 svcctl_dissect_element_CreateServiceA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4859 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_scm_handle
, 0);
4865 svcctl_dissect_element_CreateServiceA_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4869 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_ServiceName
, false, &data
);
4870 proto_item_append_text(tree
, ": %s", data
);
4876 svcctl_dissect_element_CreateServiceA_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4878 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_DisplayName_
, NDR_POINTER_UNIQUE
, "Pointer to DisplayName (uint8)",hf_svcctl_svcctl_CreateServiceA_DisplayName
);
4884 svcctl_dissect_element_CreateServiceA_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4888 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_DisplayName
, false, &data
);
4889 proto_item_append_text(tree
, ": %s", data
);
4895 svcctl_dissect_element_CreateServiceA_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4897 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_desired_access
, 0);
4903 svcctl_dissect_element_CreateServiceA_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4905 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_service_type
, 0);
4911 svcctl_dissect_element_CreateServiceA_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4913 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_start_type
, 0);
4919 svcctl_dissect_element_CreateServiceA_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4921 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_error_control
, 0);
4927 svcctl_dissect_element_CreateServiceA_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4931 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_binary_path
, false, &data
);
4932 proto_item_append_text(tree
, ": %s", data
);
4938 svcctl_dissect_element_CreateServiceA_LoadOrderGroupKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4940 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_LoadOrderGroupKey_
, NDR_POINTER_UNIQUE
, "Pointer to LoadOrderGroupKey (uint8)",hf_svcctl_svcctl_CreateServiceA_LoadOrderGroupKey
);
4946 svcctl_dissect_element_CreateServiceA_LoadOrderGroupKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4950 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_LoadOrderGroupKey
, false, &data
);
4951 proto_item_append_text(tree
, ": %s", data
);
4957 svcctl_dissect_element_CreateServiceA_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4959 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_tag_id_
, NDR_POINTER_UNIQUE
, "Pointer to Tag Id (uint32)",hf_svcctl_svcctl_CreateServiceA_tag_id
);
4965 svcctl_dissect_element_CreateServiceA_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4967 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_tag_id
, 0);
4973 svcctl_dissect_element_CreateServiceA_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4975 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_dependencies_
, NDR_POINTER_UNIQUE
, "Pointer to Dependencies (string)",hf_svcctl_svcctl_CreateServiceA_dependencies
);
4981 svcctl_dissect_element_CreateServiceA_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4983 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_dependencies__
);
4989 svcctl_dissect_element_CreateServiceA_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4991 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_CreateServiceA_dependencies
, 0);
4997 svcctl_dissect_element_CreateServiceA_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4999 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_dependencies_size
, 0);
5005 svcctl_dissect_element_CreateServiceA_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5007 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_service_start_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Start Name (uint8)",hf_svcctl_svcctl_CreateServiceA_service_start_name
);
5013 svcctl_dissect_element_CreateServiceA_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5017 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_service_start_name
, false, &data
);
5018 proto_item_append_text(tree
, ": %s", data
);
5024 svcctl_dissect_element_CreateServiceA_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5026 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_password_
, NDR_POINTER_UNIQUE
, "Pointer to Password (uint8)",hf_svcctl_svcctl_CreateServiceA_password
);
5032 svcctl_dissect_element_CreateServiceA_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5034 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_password__
);
5040 svcctl_dissect_element_CreateServiceA_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5042 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_password
, 0);
5048 svcctl_dissect_element_CreateServiceA_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5050 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_password_size
, 0);
5056 svcctl_dissect_element_CreateServiceA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5058 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceA_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_CreateServiceA_service_handle
);
5064 svcctl_dissect_element_CreateServiceA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5066 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_service_handle
, 0);
5071 /* IDL: WERROR svcctl_CreateServiceA( */
5072 /* IDL: [in] [ref] policy_handle *scm_handle, */
5073 /* IDL: [charset(ASCII)] [in] uint8 ServiceName[*], */
5074 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *DisplayName, */
5075 /* IDL: [in] uint32 desired_access, */
5076 /* IDL: [in] svcctl_ServiceType service_type, */
5077 /* IDL: [in] svcctl_StartType start_type, */
5078 /* IDL: [in] svcctl_ErrorControl error_control, */
5079 /* IDL: [charset(ASCII)] [in] uint8 binary_path[*], */
5080 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *LoadOrderGroupKey, */
5081 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
5082 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [size_is(dependencies_size)] [unique(1)] string *dependencies, */
5083 /* IDL: [in] uint32 dependencies_size, */
5084 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *service_start_name, */
5085 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
5086 /* IDL: [in] uint32 password_size, */
5087 /* IDL: [out] [ref] policy_handle *service_handle */
5091 svcctl_dissect_CreateServiceA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5095 di
->dcerpc_procedure_name
="CreateServiceA";
5096 offset
= svcctl_dissect_element_CreateServiceA_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
5097 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5099 offset
= svcctl_dissect_element_CreateServiceA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5100 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5102 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5105 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5111 svcctl_dissect_CreateServiceA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5113 di
->dcerpc_procedure_name
="CreateServiceA";
5114 offset
= svcctl_dissect_element_CreateServiceA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5115 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5116 offset
= svcctl_dissect_element_CreateServiceA_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5117 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5118 offset
= svcctl_dissect_element_CreateServiceA_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5119 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5120 offset
= svcctl_dissect_element_CreateServiceA_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
5121 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5122 offset
= svcctl_dissect_element_CreateServiceA_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
5123 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5124 offset
= svcctl_dissect_element_CreateServiceA_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
5125 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5126 offset
= svcctl_dissect_element_CreateServiceA_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
5127 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5128 offset
= svcctl_dissect_element_CreateServiceA_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
5129 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5130 offset
= svcctl_dissect_element_CreateServiceA_LoadOrderGroupKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
5131 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5132 offset
= svcctl_dissect_element_CreateServiceA_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
5133 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5134 offset
= svcctl_dissect_element_CreateServiceA_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
5135 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5136 offset
= svcctl_dissect_element_CreateServiceA_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
5137 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5138 offset
= svcctl_dissect_element_CreateServiceA_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
5139 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5140 offset
= svcctl_dissect_element_CreateServiceA_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
5141 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5142 offset
= svcctl_dissect_element_CreateServiceA_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
5143 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5148 svcctl_dissect_element_EnumDependentServicesA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5150 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesA_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_EnumDependentServicesA_service_handle
);
5156 svcctl_dissect_element_EnumDependentServicesA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5158 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_service_handle
, 0);
5164 svcctl_dissect_element_EnumDependentServicesA_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5166 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_state
, 0);
5172 svcctl_dissect_element_EnumDependentServicesA_service_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5174 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesA_service_status_
, NDR_POINTER_REF
, "Pointer to Service Status (ENUM_SERVICE_STATUSA)",hf_svcctl_svcctl_EnumDependentServicesA_service_status
);
5180 svcctl_dissect_element_EnumDependentServicesA_service_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5182 offset
= svcctl_dissect_struct_ENUM_SERVICE_STATUSA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_EnumDependentServicesA_service_status
,0);
5188 svcctl_dissect_element_EnumDependentServicesA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5190 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_offered
, 0);
5196 svcctl_dissect_element_EnumDependentServicesA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5198 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesA_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_EnumDependentServicesA_needed
);
5204 svcctl_dissect_element_EnumDependentServicesA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5206 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_needed
, 0);
5212 svcctl_dissect_element_EnumDependentServicesA_services_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5214 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumDependentServicesA_services_returned_
, NDR_POINTER_REF
, "Pointer to Services Returned (uint32)",hf_svcctl_svcctl_EnumDependentServicesA_services_returned
);
5220 svcctl_dissect_element_EnumDependentServicesA_services_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5222 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_services_returned
, 0);
5227 /* IDL: WERROR svcctl_EnumDependentServicesA( */
5228 /* IDL: [in] [ref] policy_handle *service_handle, */
5229 /* IDL: [in] svcctl_ServiceState state, */
5230 /* IDL: [out] [ref] ENUM_SERVICE_STATUSA *service_status, */
5231 /* IDL: [in] uint32 offered, */
5232 /* IDL: [out] [ref] uint32 *needed, */
5233 /* IDL: [out] [ref] uint32 *services_returned */
5237 svcctl_dissect_EnumDependentServicesA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5241 di
->dcerpc_procedure_name
="EnumDependentServicesA";
5242 offset
= svcctl_dissect_element_EnumDependentServicesA_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
5243 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5245 offset
= svcctl_dissect_element_EnumDependentServicesA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
5246 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5248 offset
= svcctl_dissect_element_EnumDependentServicesA_services_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
5249 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5251 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5254 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5260 svcctl_dissect_EnumDependentServicesA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5262 di
->dcerpc_procedure_name
="EnumDependentServicesA";
5263 offset
= svcctl_dissect_element_EnumDependentServicesA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5264 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5265 offset
= svcctl_dissect_element_EnumDependentServicesA_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
5266 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5267 offset
= svcctl_dissect_element_EnumDependentServicesA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
5268 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5273 svcctl_dissect_element_EnumServicesStatusA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5275 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusA_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_EnumServicesStatusA_scm_handle
);
5281 svcctl_dissect_element_EnumServicesStatusA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5283 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_scm_handle
, 0);
5289 svcctl_dissect_element_EnumServicesStatusA_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5291 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_service_type
, 0);
5297 svcctl_dissect_element_EnumServicesStatusA_service_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5299 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_service_state
, 0);
5305 svcctl_dissect_element_EnumServicesStatusA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5307 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_offered
, 0);
5313 svcctl_dissect_element_EnumServicesStatusA_service(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5315 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusA_service_
);
5321 svcctl_dissect_element_EnumServicesStatusA_service_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5323 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_service
, 0);
5329 svcctl_dissect_element_EnumServicesStatusA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5331 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusA_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_EnumServicesStatusA_needed
);
5337 svcctl_dissect_element_EnumServicesStatusA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5339 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_needed
, 0);
5345 svcctl_dissect_element_EnumServicesStatusA_services_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5347 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusA_services_returned_
, NDR_POINTER_REF
, "Pointer to Services Returned (uint32)",hf_svcctl_svcctl_EnumServicesStatusA_services_returned
);
5353 svcctl_dissect_element_EnumServicesStatusA_services_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5355 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_services_returned
, 0);
5361 svcctl_dissect_element_EnumServicesStatusA_resume_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5363 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusA_resume_handle_
, NDR_POINTER_UNIQUE
, "Pointer to Resume Handle (uint32)",hf_svcctl_svcctl_EnumServicesStatusA_resume_handle
);
5369 svcctl_dissect_element_EnumServicesStatusA_resume_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5371 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_resume_handle
, 0);
5376 /* IDL: WERROR svcctl_EnumServicesStatusA( */
5377 /* IDL: [in] [ref] policy_handle *scm_handle, */
5378 /* IDL: [in] svcctl_ServiceType service_type, */
5379 /* IDL: [in] svcctl_ServiceState service_state, */
5380 /* IDL: [in] uint32 offered, */
5381 /* IDL: [out] [size_is(offered)] uint8 service[*], */
5382 /* IDL: [out] [ref] uint32 *needed, */
5383 /* IDL: [out] [ref] uint32 *services_returned, */
5384 /* IDL: [in] [out] [unique(1)] uint32 *resume_handle */
5388 svcctl_dissect_EnumServicesStatusA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5392 di
->dcerpc_procedure_name
="EnumServicesStatusA";
5393 offset
= svcctl_dissect_element_EnumServicesStatusA_service(tvb
, offset
, pinfo
, tree
, di
, drep
);
5394 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5396 offset
= svcctl_dissect_element_EnumServicesStatusA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
5397 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5399 offset
= svcctl_dissect_element_EnumServicesStatusA_services_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
5400 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5402 offset
= svcctl_dissect_element_EnumServicesStatusA_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5403 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5405 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5408 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5414 svcctl_dissect_EnumServicesStatusA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5416 di
->dcerpc_procedure_name
="EnumServicesStatusA";
5417 offset
= svcctl_dissect_element_EnumServicesStatusA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5418 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5419 offset
= svcctl_dissect_element_EnumServicesStatusA_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
5420 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5421 offset
= svcctl_dissect_element_EnumServicesStatusA_service_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
5422 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5423 offset
= svcctl_dissect_element_EnumServicesStatusA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
5424 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5425 offset
= svcctl_dissect_element_EnumServicesStatusA_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5426 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5431 svcctl_dissect_element_OpenSCManagerA_MachineName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5433 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenSCManagerA_MachineName_
, NDR_POINTER_UNIQUE
, "Pointer to MachineName (uint8)",hf_svcctl_svcctl_OpenSCManagerA_MachineName
);
5439 svcctl_dissect_element_OpenSCManagerA_MachineName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5443 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_OpenSCManagerA_MachineName
, false, &data
);
5444 proto_item_append_text(tree
, ": %s", data
);
5450 svcctl_dissect_element_OpenSCManagerA_DatabaseName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5452 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenSCManagerA_DatabaseName_
, NDR_POINTER_UNIQUE
, "Pointer to DatabaseName (uint8)",hf_svcctl_svcctl_OpenSCManagerA_DatabaseName
);
5458 svcctl_dissect_element_OpenSCManagerA_DatabaseName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5462 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_OpenSCManagerA_DatabaseName
, false, &data
);
5463 proto_item_append_text(tree
, ": %s", data
);
5469 svcctl_dissect_element_OpenSCManagerA_access_mask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5471 offset
= svcctl_dissect_bitmap_MgrAccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManagerA_access_mask
, 0);
5477 svcctl_dissect_element_OpenSCManagerA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5479 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenSCManagerA_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_OpenSCManagerA_scm_handle
);
5485 svcctl_dissect_element_OpenSCManagerA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5487 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManagerA_scm_handle
, 0);
5492 /* IDL: WERROR svcctl_OpenSCManagerA( */
5493 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *MachineName, */
5494 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *DatabaseName, */
5495 /* IDL: [in] svcctl_MgrAccessMask access_mask, */
5496 /* IDL: [out] [ref] policy_handle *scm_handle */
5500 svcctl_dissect_OpenSCManagerA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5504 di
->dcerpc_procedure_name
="OpenSCManagerA";
5505 offset
= svcctl_dissect_element_OpenSCManagerA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5506 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5508 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5511 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5517 svcctl_dissect_OpenSCManagerA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5519 di
->dcerpc_procedure_name
="OpenSCManagerA";
5520 offset
= svcctl_dissect_element_OpenSCManagerA_MachineName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5521 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5522 offset
= svcctl_dissect_element_OpenSCManagerA_DatabaseName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5523 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5524 offset
= svcctl_dissect_element_OpenSCManagerA_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
5525 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5530 svcctl_dissect_element_OpenServiceA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5532 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenServiceA_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_OpenServiceA_scm_handle
);
5538 svcctl_dissect_element_OpenServiceA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5540 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceA_scm_handle
, 0);
5546 svcctl_dissect_element_OpenServiceA_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5550 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_OpenServiceA_ServiceName
, false, &data
);
5551 proto_item_append_text(tree
, ": %s", data
);
5557 svcctl_dissect_element_OpenServiceA_access_mask(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5559 offset
= svcctl_dissect_bitmap_MgrAccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceA_access_mask
, 0);
5565 svcctl_dissect_element_OpenServiceA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5567 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenServiceA_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_OpenServiceA_service_handle
);
5573 svcctl_dissect_element_OpenServiceA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5575 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceA_service_handle
, 0);
5580 /* IDL: WERROR svcctl_OpenServiceA( */
5581 /* IDL: [in] [ref] policy_handle *scm_handle, */
5582 /* IDL: [charset(ASCII)] [in] uint8 ServiceName[*], */
5583 /* IDL: [in] svcctl_MgrAccessMask access_mask, */
5584 /* IDL: [out] [ref] policy_handle *service_handle */
5588 svcctl_dissect_OpenServiceA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5592 di
->dcerpc_procedure_name
="OpenServiceA";
5593 offset
= svcctl_dissect_element_OpenServiceA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5594 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5596 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5599 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5605 svcctl_dissect_OpenServiceA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5607 di
->dcerpc_procedure_name
="OpenServiceA";
5608 offset
= svcctl_dissect_element_OpenServiceA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5609 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5610 offset
= svcctl_dissect_element_OpenServiceA_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5611 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5612 offset
= svcctl_dissect_element_OpenServiceA_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
5613 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5618 svcctl_dissect_element_QueryServiceConfigA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5620 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfigA_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceConfigA_service_handle
);
5626 svcctl_dissect_element_QueryServiceConfigA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5628 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigA_service_handle
, 0);
5634 svcctl_dissect_element_QueryServiceConfigA_query(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5636 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfigA_query_
);
5642 svcctl_dissect_element_QueryServiceConfigA_query_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5644 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigA_query
, 0);
5650 svcctl_dissect_element_QueryServiceConfigA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5652 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigA_offered
, 0);
5658 svcctl_dissect_element_QueryServiceConfigA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5660 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfigA_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_QueryServiceConfigA_needed
);
5666 svcctl_dissect_element_QueryServiceConfigA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5668 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigA_needed
, 0);
5673 /* IDL: WERROR svcctl_QueryServiceConfigA( */
5674 /* IDL: [in] [ref] policy_handle *service_handle, */
5675 /* IDL: [out] [size_is(cbBufSize)] uint8 query[*], */
5676 /* IDL: [in] uint32 offered, */
5677 /* IDL: [out] [ref] uint32 *needed */
5681 svcctl_dissect_QueryServiceConfigA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5685 di
->dcerpc_procedure_name
="QueryServiceConfigA";
5686 offset
= svcctl_dissect_element_QueryServiceConfigA_query(tvb
, offset
, pinfo
, tree
, di
, drep
);
5687 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5689 offset
= svcctl_dissect_element_QueryServiceConfigA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
5690 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5692 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5695 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5701 svcctl_dissect_QueryServiceConfigA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5703 di
->dcerpc_procedure_name
="QueryServiceConfigA";
5704 offset
= svcctl_dissect_element_QueryServiceConfigA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5705 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5706 offset
= svcctl_dissect_element_QueryServiceConfigA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
5707 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5712 svcctl_dissect_element_QueryServiceLockStatusA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5714 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceLockStatusA_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceLockStatusA_scm_handle
);
5720 svcctl_dissect_element_QueryServiceLockStatusA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5722 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusA_scm_handle
, 0);
5728 svcctl_dissect_element_QueryServiceLockStatusA_lock_status(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5730 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceLockStatusA_lock_status_
, NDR_POINTER_REF
, "Pointer to Lock Status (SERVICE_LOCK_STATUS)",hf_svcctl_svcctl_QueryServiceLockStatusA_lock_status
);
5736 svcctl_dissect_element_QueryServiceLockStatusA_lock_status_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5738 offset
= svcctl_dissect_struct_SERVICE_LOCK_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_QueryServiceLockStatusA_lock_status
,0);
5744 svcctl_dissect_element_QueryServiceLockStatusA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5746 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusA_offered
, 0);
5752 svcctl_dissect_element_QueryServiceLockStatusA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5754 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceLockStatusA_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_QueryServiceLockStatusA_needed
);
5760 svcctl_dissect_element_QueryServiceLockStatusA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5762 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusA_needed
, 0);
5767 /* IDL: WERROR svcctl_QueryServiceLockStatusA( */
5768 /* IDL: [in] [ref] policy_handle *scm_handle, */
5769 /* IDL: [out] [ref] SERVICE_LOCK_STATUS *lock_status, */
5770 /* IDL: [in] uint32 offered, */
5771 /* IDL: [out] [ref] uint32 *needed */
5775 svcctl_dissect_QueryServiceLockStatusA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5779 di
->dcerpc_procedure_name
="QueryServiceLockStatusA";
5780 offset
= svcctl_dissect_element_QueryServiceLockStatusA_lock_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
5781 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5783 offset
= svcctl_dissect_element_QueryServiceLockStatusA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
5784 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5786 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5789 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5795 svcctl_dissect_QueryServiceLockStatusA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5797 di
->dcerpc_procedure_name
="QueryServiceLockStatusA";
5798 offset
= svcctl_dissect_element_QueryServiceLockStatusA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5799 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5800 offset
= svcctl_dissect_element_QueryServiceLockStatusA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
5801 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5806 svcctl_dissect_element_StartServiceA_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5808 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_StartServiceA_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_StartServiceA_service_handle
);
5814 svcctl_dissect_element_StartServiceA_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5816 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_StartServiceA_service_handle
, 0);
5822 svcctl_dissect_element_StartServiceA_NumArgs(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5824 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_StartServiceA_NumArgs
, 0);
5830 svcctl_dissect_element_StartServiceA_Arguments(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5832 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_StartServiceA_Arguments_
, NDR_POINTER_UNIQUE
, "Pointer to Arguments (svcctl_ArgumentStringA)",hf_svcctl_svcctl_StartServiceA_Arguments
);
5838 svcctl_dissect_element_StartServiceA_Arguments_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5840 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_StartServiceA_Arguments__
);
5846 svcctl_dissect_element_StartServiceA_Arguments__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5848 offset
= svcctl_dissect_struct_ArgumentStringA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_StartServiceA_Arguments
,0);
5853 /* IDL: WERROR svcctl_StartServiceA( */
5854 /* IDL: [in] [ref] policy_handle *service_handle, */
5855 /* IDL: [in] uint32 NumArgs, */
5856 /* IDL: [in] [size_is(NumArgs)] [unique(1)] svcctl_ArgumentStringA *Arguments */
5860 svcctl_dissect_StartServiceA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5864 di
->dcerpc_procedure_name
="StartServiceA";
5865 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5868 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5874 svcctl_dissect_StartServiceA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5876 di
->dcerpc_procedure_name
="StartServiceA";
5877 offset
= svcctl_dissect_element_StartServiceA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5878 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5879 offset
= svcctl_dissect_element_StartServiceA_NumArgs(tvb
, offset
, pinfo
, tree
, di
, drep
);
5880 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5881 offset
= svcctl_dissect_element_StartServiceA_Arguments(tvb
, offset
, pinfo
, tree
, di
, drep
);
5882 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5887 svcctl_dissect_element_GetServiceDisplayNameA_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5889 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameA_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_GetServiceDisplayNameA_handle
);
5895 svcctl_dissect_element_GetServiceDisplayNameA_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5897 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameA_handle
, 0);
5903 svcctl_dissect_element_GetServiceDisplayNameA_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5905 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameA_service_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Name (string)",hf_svcctl_svcctl_GetServiceDisplayNameA_service_name
);
5911 svcctl_dissect_element_GetServiceDisplayNameA_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5913 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameA_service_name
, 0);
5919 svcctl_dissect_element_GetServiceDisplayNameA_display_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5921 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameA_display_name_
, NDR_POINTER_REF
, "Pointer to Display Name (uint8)",hf_svcctl_svcctl_GetServiceDisplayNameA_display_name
);
5927 svcctl_dissect_element_GetServiceDisplayNameA_display_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5929 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameA_display_name__
, NDR_POINTER_UNIQUE
, "Pointer to Display Name (uint8)",hf_svcctl_svcctl_GetServiceDisplayNameA_display_name
);
5935 svcctl_dissect_element_GetServiceDisplayNameA_display_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5939 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_GetServiceDisplayNameA_display_name
, false, &data
);
5940 proto_item_append_text(tree
, ": %s", data
);
5946 svcctl_dissect_element_GetServiceDisplayNameA_display_name_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5948 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceDisplayNameA_display_name_length_
, NDR_POINTER_UNIQUE
, "Pointer to Display Name Length (uint32)",hf_svcctl_svcctl_GetServiceDisplayNameA_display_name_length
);
5954 svcctl_dissect_element_GetServiceDisplayNameA_display_name_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5956 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameA_display_name_length
, 0);
5961 /* IDL: WERROR svcctl_GetServiceDisplayNameA( */
5962 /* IDL: [in] [ref] policy_handle *handle, */
5963 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *service_name, */
5964 /* IDL: [charset(ASCII)] [out] [ref] uint8 **display_name, */
5965 /* IDL: [in] [out] [unique(1)] uint32 *display_name_length */
5969 svcctl_dissect_GetServiceDisplayNameA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5973 di
->dcerpc_procedure_name
="GetServiceDisplayNameA";
5974 offset
= svcctl_dissect_element_GetServiceDisplayNameA_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
5975 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5977 offset
= svcctl_dissect_element_GetServiceDisplayNameA_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
5978 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5980 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5983 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5989 svcctl_dissect_GetServiceDisplayNameA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
5991 di
->dcerpc_procedure_name
="GetServiceDisplayNameA";
5992 offset
= svcctl_dissect_element_GetServiceDisplayNameA_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5993 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5994 offset
= svcctl_dissect_element_GetServiceDisplayNameA_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
5995 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5996 offset
= svcctl_dissect_element_GetServiceDisplayNameA_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
5997 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6002 svcctl_dissect_element_GetServiceKeyNameA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6004 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameA_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_GetServiceKeyNameA_scm_handle
);
6010 svcctl_dissect_element_GetServiceKeyNameA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6012 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceKeyNameA_scm_handle
, 0);
6018 svcctl_dissect_element_GetServiceKeyNameA_service_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6020 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameA_service_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Name (string)",hf_svcctl_svcctl_GetServiceKeyNameA_service_name
);
6026 svcctl_dissect_element_GetServiceKeyNameA_service_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6028 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_GetServiceKeyNameA_service_name
, 0);
6034 svcctl_dissect_element_GetServiceKeyNameA_key_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6036 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameA_key_name_
, NDR_POINTER_REF
, "Pointer to Key Name (uint8)",hf_svcctl_svcctl_GetServiceKeyNameA_key_name
);
6042 svcctl_dissect_element_GetServiceKeyNameA_key_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6044 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameA_key_name__
, NDR_POINTER_UNIQUE
, "Pointer to Key Name (uint8)",hf_svcctl_svcctl_GetServiceKeyNameA_key_name
);
6050 svcctl_dissect_element_GetServiceKeyNameA_key_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6054 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_GetServiceKeyNameA_key_name
, false, &data
);
6055 proto_item_append_text(tree
, ": %s", data
);
6061 svcctl_dissect_element_GetServiceKeyNameA_display_name_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6063 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetServiceKeyNameA_display_name_length_
, NDR_POINTER_UNIQUE
, "Pointer to Display Name Length (uint32)",hf_svcctl_svcctl_GetServiceKeyNameA_display_name_length
);
6069 svcctl_dissect_element_GetServiceKeyNameA_display_name_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6071 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceKeyNameA_display_name_length
, 0);
6076 /* IDL: WERROR svcctl_GetServiceKeyNameA( */
6077 /* IDL: [in] [ref] policy_handle *scm_handle, */
6078 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *service_name, */
6079 /* IDL: [charset(ASCII)] [out] [ref] uint8 **key_name, */
6080 /* IDL: [in] [out] [unique(1)] uint32 *display_name_length */
6084 svcctl_dissect_GetServiceKeyNameA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6088 di
->dcerpc_procedure_name
="GetServiceKeyNameA";
6089 offset
= svcctl_dissect_element_GetServiceKeyNameA_key_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
6090 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6092 offset
= svcctl_dissect_element_GetServiceKeyNameA_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
6093 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6095 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6098 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6104 svcctl_dissect_GetServiceKeyNameA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6106 di
->dcerpc_procedure_name
="GetServiceKeyNameA";
6107 offset
= svcctl_dissect_element_GetServiceKeyNameA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6108 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6109 offset
= svcctl_dissect_element_GetServiceKeyNameA_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
6110 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6111 offset
= svcctl_dissect_element_GetServiceKeyNameA_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
6112 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6117 svcctl_dissect_element_GetCurrentGroupeStateW_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6119 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetCurrentGroupeStateW_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_GetCurrentGroupeStateW_handle
);
6125 svcctl_dissect_element_GetCurrentGroupeStateW_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6127 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetCurrentGroupeStateW_handle
, 0);
6133 svcctl_dissect_element_GetCurrentGroupeStateW_lpLoadOrderGroup(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6135 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetCurrentGroupeStateW_lpLoadOrderGroup_
, NDR_POINTER_UNIQUE
, "Pointer to LpLoadOrderGroup (uint16)",hf_svcctl_svcctl_GetCurrentGroupeStateW_lpLoadOrderGroup
);
6141 svcctl_dissect_element_GetCurrentGroupeStateW_lpLoadOrderGroup_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6145 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetCurrentGroupeStateW_lpLoadOrderGroup
, false, &data
);
6146 proto_item_append_text(tree
, ": %s", data
);
6152 svcctl_dissect_element_GetCurrentGroupeStateW_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6154 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_GetCurrentGroupeStateW_state_
, NDR_POINTER_REF
, "Pointer to State (uint32)",hf_svcctl_svcctl_GetCurrentGroupeStateW_state
);
6160 svcctl_dissect_element_GetCurrentGroupeStateW_state_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6162 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetCurrentGroupeStateW_state
, 0);
6167 /* IDL: WERROR svcctl_GetCurrentGroupeStateW( */
6168 /* IDL: [in] [ref] policy_handle *handle, */
6169 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *lpLoadOrderGroup, */
6170 /* IDL: [out] [ref] uint32 *state */
6174 svcctl_dissect_GetCurrentGroupeStateW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6178 di
->dcerpc_procedure_name
="GetCurrentGroupeStateW";
6179 offset
= svcctl_dissect_element_GetCurrentGroupeStateW_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
6180 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6182 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6185 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6191 svcctl_dissect_GetCurrentGroupeStateW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6193 di
->dcerpc_procedure_name
="GetCurrentGroupeStateW";
6194 offset
= svcctl_dissect_element_GetCurrentGroupeStateW_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6195 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6196 offset
= svcctl_dissect_element_GetCurrentGroupeStateW_lpLoadOrderGroup(tvb
, offset
, pinfo
, tree
, di
, drep
);
6197 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6202 svcctl_dissect_element_EnumServiceGroupW_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6204 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServiceGroupW_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_EnumServiceGroupW_scm_handle
);
6210 svcctl_dissect_element_EnumServiceGroupW_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6212 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_scm_handle
, 0);
6218 svcctl_dissect_element_EnumServiceGroupW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6220 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_service_type
, 0);
6226 svcctl_dissect_element_EnumServiceGroupW_service_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6228 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_service_state
, 0);
6234 svcctl_dissect_element_EnumServiceGroupW_lpBuffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6236 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServiceGroupW_lpBuffer_
);
6242 svcctl_dissect_element_EnumServiceGroupW_lpBuffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6244 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_lpBuffer
, 0);
6250 svcctl_dissect_element_EnumServiceGroupW_cbBufSize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6252 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_cbBufSize
, 0);
6258 svcctl_dissect_element_EnumServiceGroupW_pcbBytesNeeded(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6260 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServiceGroupW_pcbBytesNeeded_
, NDR_POINTER_REF
, "Pointer to PcbBytesNeeded (uint32)",hf_svcctl_svcctl_EnumServiceGroupW_pcbBytesNeeded
);
6266 svcctl_dissect_element_EnumServiceGroupW_pcbBytesNeeded_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6268 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_pcbBytesNeeded
, 0);
6274 svcctl_dissect_element_EnumServiceGroupW_lpServicesReturned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6276 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServiceGroupW_lpServicesReturned_
, NDR_POINTER_REF
, "Pointer to LpServicesReturned (uint32)",hf_svcctl_svcctl_EnumServiceGroupW_lpServicesReturned
);
6282 svcctl_dissect_element_EnumServiceGroupW_lpServicesReturned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6284 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_lpServicesReturned
, 0);
6290 svcctl_dissect_element_EnumServiceGroupW_ResumeIndex(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6292 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServiceGroupW_ResumeIndex_
, NDR_POINTER_UNIQUE
, "Pointer to ResumeIndex (uint32)",hf_svcctl_svcctl_EnumServiceGroupW_ResumeIndex
);
6298 svcctl_dissect_element_EnumServiceGroupW_ResumeIndex_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6300 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_ResumeIndex
, 0);
6306 svcctl_dissect_element_EnumServiceGroupW_pszGroupName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6308 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServiceGroupW_pszGroupName_
, NDR_POINTER_UNIQUE
, "Pointer to PszGroupName (uint16)",hf_svcctl_svcctl_EnumServiceGroupW_pszGroupName
);
6314 svcctl_dissect_element_EnumServiceGroupW_pszGroupName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6318 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_EnumServiceGroupW_pszGroupName
, false, &data
);
6319 proto_item_append_text(tree
, ": %s", data
);
6324 /* IDL: WERROR svcctl_EnumServiceGroupW( */
6325 /* IDL: [in] [ref] policy_handle *scm_handle, */
6326 /* IDL: [in] svcctl_ServiceType service_type, */
6327 /* IDL: [in] svcctl_ServiceState service_state, */
6328 /* IDL: [out] [size_is(cbBufSize)] uint8 lpBuffer[*], */
6329 /* IDL: [in] [range(0,1024*256)] uint32 cbBufSize, */
6330 /* IDL: [out] [range(0,1024*256)] [ref] uint32 *pcbBytesNeeded, */
6331 /* IDL: [out] [range(0,1024*256)] [ref] uint32 *lpServicesReturned, */
6332 /* IDL: [in] [out] [unique(1)] uint32 *ResumeIndex, */
6333 /* IDL: [charset(UTF16)] [in] [range(0,SC_MAX_NAME_LENGTH)] [unique(1)] uint16 *pszGroupName */
6337 svcctl_dissect_EnumServiceGroupW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6341 di
->dcerpc_procedure_name
="EnumServiceGroupW";
6342 offset
= svcctl_dissect_element_EnumServiceGroupW_lpBuffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
6343 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6345 offset
= svcctl_dissect_element_EnumServiceGroupW_pcbBytesNeeded(tvb
, offset
, pinfo
, tree
, di
, drep
);
6346 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6348 offset
= svcctl_dissect_element_EnumServiceGroupW_lpServicesReturned(tvb
, offset
, pinfo
, tree
, di
, drep
);
6349 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6351 offset
= svcctl_dissect_element_EnumServiceGroupW_ResumeIndex(tvb
, offset
, pinfo
, tree
, di
, drep
);
6352 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6354 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6357 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6363 svcctl_dissect_EnumServiceGroupW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6365 di
->dcerpc_procedure_name
="EnumServiceGroupW";
6366 offset
= svcctl_dissect_element_EnumServiceGroupW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6367 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6368 offset
= svcctl_dissect_element_EnumServiceGroupW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
6369 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6370 offset
= svcctl_dissect_element_EnumServiceGroupW_service_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
6371 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6372 offset
= svcctl_dissect_element_EnumServiceGroupW_cbBufSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
6373 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6374 offset
= svcctl_dissect_element_EnumServiceGroupW_ResumeIndex(tvb
, offset
, pinfo
, tree
, di
, drep
);
6375 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6376 offset
= svcctl_dissect_element_EnumServiceGroupW_pszGroupName(tvb
, offset
, pinfo
, tree
, di
, drep
);
6377 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6382 svcctl_dissect_element_ChangeServiceConfig2A_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6384 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfig2A_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_ChangeServiceConfig2A_service_handle
);
6390 svcctl_dissect_element_ChangeServiceConfig2A_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6392 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2A_service_handle
, 0);
6398 svcctl_dissect_element_ChangeServiceConfig2A_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6400 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2A_info_level
, 0);
6406 svcctl_dissect_element_ChangeServiceConfig2A_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6408 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfig2A_info_
, NDR_POINTER_UNIQUE
, "Pointer to Info (uint8)",hf_svcctl_svcctl_ChangeServiceConfig2A_info
);
6414 svcctl_dissect_element_ChangeServiceConfig2A_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6416 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2A_info
, 0);
6421 /* IDL: WERROR svcctl_ChangeServiceConfig2A( */
6422 /* IDL: [in] [ref] policy_handle *service_handle, */
6423 /* IDL: [in] uint32 info_level, */
6424 /* IDL: [in] [unique(1)] uint8 *info */
6428 svcctl_dissect_ChangeServiceConfig2A_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6432 di
->dcerpc_procedure_name
="ChangeServiceConfig2A";
6433 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6436 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6442 svcctl_dissect_ChangeServiceConfig2A_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6444 di
->dcerpc_procedure_name
="ChangeServiceConfig2A";
6445 offset
= svcctl_dissect_element_ChangeServiceConfig2A_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6446 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6447 offset
= svcctl_dissect_element_ChangeServiceConfig2A_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6448 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6449 offset
= svcctl_dissect_element_ChangeServiceConfig2A_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
6450 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6455 svcctl_dissect_element_ChangeServiceConfig2W_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6457 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfig2W_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_ChangeServiceConfig2W_handle
);
6463 svcctl_dissect_element_ChangeServiceConfig2W_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6465 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2W_handle
, 0);
6471 svcctl_dissect_element_ChangeServiceConfig2W_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6473 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2W_info_level
, 0);
6479 svcctl_dissect_element_ChangeServiceConfig2W_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6481 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_ChangeServiceConfig2W_info_
, NDR_POINTER_UNIQUE
, "Pointer to Info (uint8)",hf_svcctl_svcctl_ChangeServiceConfig2W_info
);
6487 svcctl_dissect_element_ChangeServiceConfig2W_info_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6489 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2W_info
, 0);
6494 /* IDL: WERROR svcctl_ChangeServiceConfig2W( */
6495 /* IDL: [in] [ref] policy_handle *handle, */
6496 /* IDL: [in] uint32 info_level, */
6497 /* IDL: [in] [unique(1)] uint8 *info */
6501 svcctl_dissect_ChangeServiceConfig2W_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6505 di
->dcerpc_procedure_name
="ChangeServiceConfig2W";
6506 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6509 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6515 svcctl_dissect_ChangeServiceConfig2W_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6517 di
->dcerpc_procedure_name
="ChangeServiceConfig2W";
6518 offset
= svcctl_dissect_element_ChangeServiceConfig2W_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6519 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6520 offset
= svcctl_dissect_element_ChangeServiceConfig2W_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6521 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6522 offset
= svcctl_dissect_element_ChangeServiceConfig2W_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
6523 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6528 svcctl_dissect_element_QueryServiceConfig2A_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6530 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfig2A_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceConfig2A_handle
);
6536 svcctl_dissect_element_QueryServiceConfig2A_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6538 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_handle
, 0);
6544 svcctl_dissect_element_QueryServiceConfig2A_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6546 offset
= svcctl_dissect_enum_ConfigLevel(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_info_level
, 0);
6552 svcctl_dissect_element_QueryServiceConfig2A_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6554 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfig2A_buffer_
);
6560 svcctl_dissect_element_QueryServiceConfig2A_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6562 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_buffer
, 0);
6568 svcctl_dissect_element_QueryServiceConfig2A_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6570 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_offered
, 0);
6576 svcctl_dissect_element_QueryServiceConfig2A_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6578 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfig2A_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_QueryServiceConfig2A_needed
);
6584 svcctl_dissect_element_QueryServiceConfig2A_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6586 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_needed
, 0);
6591 /* IDL: WERROR svcctl_QueryServiceConfig2A( */
6592 /* IDL: [in] [ref] policy_handle *handle, */
6593 /* IDL: [in] svcctl_ConfigLevel info_level, */
6594 /* IDL: [out] [size_is(offered)] uint8 buffer[*], */
6595 /* IDL: [in] uint32 offered, */
6596 /* IDL: [out] [ref] uint32 *needed */
6600 svcctl_dissect_QueryServiceConfig2A_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6604 di
->dcerpc_procedure_name
="QueryServiceConfig2A";
6605 offset
= svcctl_dissect_element_QueryServiceConfig2A_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
6606 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6608 offset
= svcctl_dissect_element_QueryServiceConfig2A_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
6609 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6611 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6614 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6620 svcctl_dissect_QueryServiceConfig2A_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6622 di
->dcerpc_procedure_name
="QueryServiceConfig2A";
6623 offset
= svcctl_dissect_element_QueryServiceConfig2A_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6624 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6625 offset
= svcctl_dissect_element_QueryServiceConfig2A_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6626 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6627 offset
= svcctl_dissect_element_QueryServiceConfig2A_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
6628 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6633 svcctl_dissect_element_QueryServiceConfig2W_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6635 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfig2W_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceConfig2W_handle
);
6641 svcctl_dissect_element_QueryServiceConfig2W_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6643 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_handle
, 0);
6649 svcctl_dissect_element_QueryServiceConfig2W_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6651 offset
= svcctl_dissect_enum_ConfigLevel(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_info_level
, 0);
6657 svcctl_dissect_element_QueryServiceConfig2W_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6659 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfig2W_buffer_
, NDR_POINTER_REF
, "Pointer to Buffer (uint8)",hf_svcctl_svcctl_QueryServiceConfig2W_buffer
);
6665 svcctl_dissect_element_QueryServiceConfig2W_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6667 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfig2W_buffer__
);
6673 svcctl_dissect_element_QueryServiceConfig2W_buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6675 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_buffer
, 0);
6681 svcctl_dissect_element_QueryServiceConfig2W_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6683 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_offered
, 0);
6689 svcctl_dissect_element_QueryServiceConfig2W_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6691 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfig2W_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_QueryServiceConfig2W_needed
);
6697 svcctl_dissect_element_QueryServiceConfig2W_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6699 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_needed
, 0);
6704 /* IDL: WERROR svcctl_QueryServiceConfig2W( */
6705 /* IDL: [in] [ref] policy_handle *handle, */
6706 /* IDL: [in] svcctl_ConfigLevel info_level, */
6707 /* IDL: [out] [ref] [size_is(offered)] uint8 *buffer, */
6708 /* IDL: [in] [range(0,8192)] uint32 offered, */
6709 /* IDL: [out] [range(0,8192)] [ref] uint32 *needed */
6713 svcctl_dissect_QueryServiceConfig2W_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6717 di
->dcerpc_procedure_name
="QueryServiceConfig2W";
6718 offset
= svcctl_dissect_element_QueryServiceConfig2W_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
6719 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6721 offset
= svcctl_dissect_element_QueryServiceConfig2W_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
6722 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6724 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6727 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6733 svcctl_dissect_QueryServiceConfig2W_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6735 di
->dcerpc_procedure_name
="QueryServiceConfig2W";
6736 offset
= svcctl_dissect_element_QueryServiceConfig2W_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6737 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6738 offset
= svcctl_dissect_element_QueryServiceConfig2W_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6739 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6740 offset
= svcctl_dissect_element_QueryServiceConfig2W_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
6741 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6746 svcctl_dissect_element_QueryServiceStatusEx_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6748 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceStatusEx_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceStatusEx_handle
);
6754 svcctl_dissect_element_QueryServiceStatusEx_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6756 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_handle
, 0);
6762 svcctl_dissect_element_QueryServiceStatusEx_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6764 offset
= svcctl_dissect_enum_StatusLevel(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_info_level
, 0);
6770 svcctl_dissect_element_QueryServiceStatusEx_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6772 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceStatusEx_buffer_
, NDR_POINTER_REF
, "Pointer to Buffer (uint8)",hf_svcctl_svcctl_QueryServiceStatusEx_buffer
);
6778 svcctl_dissect_element_QueryServiceStatusEx_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6780 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceStatusEx_buffer__
);
6786 svcctl_dissect_element_QueryServiceStatusEx_buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6788 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_buffer
, 0);
6794 svcctl_dissect_element_QueryServiceStatusEx_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6796 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_offered
, 0);
6802 svcctl_dissect_element_QueryServiceStatusEx_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6804 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceStatusEx_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_svcctl_QueryServiceStatusEx_needed
);
6810 svcctl_dissect_element_QueryServiceStatusEx_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6812 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_needed
, 0);
6817 /* IDL: WERROR svcctl_QueryServiceStatusEx( */
6818 /* IDL: [in] [ref] policy_handle *handle, */
6819 /* IDL: [in] svcctl_StatusLevel info_level, */
6820 /* IDL: [out] [ref] [size_is(offered)] uint8 *buffer, */
6821 /* IDL: [in] [range(0,8192)] uint32 offered, */
6822 /* IDL: [out] [range(0,8192)] [ref] uint32 *needed */
6826 svcctl_dissect_QueryServiceStatusEx_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6830 di
->dcerpc_procedure_name
="QueryServiceStatusEx";
6831 offset
= svcctl_dissect_element_QueryServiceStatusEx_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
6832 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6834 offset
= svcctl_dissect_element_QueryServiceStatusEx_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
6835 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6837 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6840 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6846 svcctl_dissect_QueryServiceStatusEx_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6848 di
->dcerpc_procedure_name
="QueryServiceStatusEx";
6849 offset
= svcctl_dissect_element_QueryServiceStatusEx_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6850 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6851 offset
= svcctl_dissect_element_QueryServiceStatusEx_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6852 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6853 offset
= svcctl_dissect_element_QueryServiceStatusEx_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
6854 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6859 svcctl_dissect_element_EnumServicesStatusExA_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6861 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExA_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_EnumServicesStatusExA_scm_handle
);
6867 svcctl_dissect_element_EnumServicesStatusExA_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6869 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_scm_handle
, 0);
6875 svcctl_dissect_element_EnumServicesStatusExA_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6877 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_info_level
, 0);
6883 svcctl_dissect_element_EnumServicesStatusExA_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6885 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_service_type
, 0);
6891 svcctl_dissect_element_EnumServicesStatusExA_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6893 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_state
, 0);
6899 svcctl_dissect_element_EnumServicesStatusExA_services(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6901 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExA_services_
);
6907 svcctl_dissect_element_EnumServicesStatusExA_services_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6909 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_services
, 0);
6915 svcctl_dissect_element_EnumServicesStatusExA_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6917 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_offered
, 0);
6923 svcctl_dissect_element_EnumServicesStatusExA_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6925 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExA_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_EnumServicesStatusExA_needed
);
6931 svcctl_dissect_element_EnumServicesStatusExA_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6933 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_needed
, 0);
6939 svcctl_dissect_element_EnumServicesStatusExA_service_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6941 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExA_service_returned_
, NDR_POINTER_REF
, "Pointer to Service Returned (uint32)",hf_svcctl_EnumServicesStatusExA_service_returned
);
6947 svcctl_dissect_element_EnumServicesStatusExA_service_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6949 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_service_returned
, 0);
6955 svcctl_dissect_element_EnumServicesStatusExA_resume_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6957 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExA_resume_handle_
, NDR_POINTER_UNIQUE
, "Pointer to Resume Handle (uint32)",hf_svcctl_EnumServicesStatusExA_resume_handle
);
6963 svcctl_dissect_element_EnumServicesStatusExA_resume_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6965 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_resume_handle
, 0);
6971 svcctl_dissect_element_EnumServicesStatusExA_group_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6973 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExA_group_name_
, NDR_POINTER_REF
, "Pointer to Group Name (uint16)",hf_svcctl_EnumServicesStatusExA_group_name
);
6979 svcctl_dissect_element_EnumServicesStatusExA_group_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6981 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExA_group_name__
, NDR_POINTER_UNIQUE
, "Pointer to Group Name (uint16)",hf_svcctl_EnumServicesStatusExA_group_name
);
6987 svcctl_dissect_element_EnumServicesStatusExA_group_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
6991 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_EnumServicesStatusExA_group_name
, false, &data
);
6992 proto_item_append_text(tree
, ": %s", data
);
6997 /* IDL: WERROR EnumServicesStatusExA( */
6998 /* IDL: [in] [ref] policy_handle *scm_handle, */
6999 /* IDL: [in] uint32 info_level, */
7000 /* IDL: [in] svcctl_ServiceType service_type, */
7001 /* IDL: [in] svcctl_ServiceState state, */
7002 /* IDL: [out] [size_is(offered)] uint8 services[*], */
7003 /* IDL: [in] uint32 offered, */
7004 /* IDL: [out] [ref] uint32 *needed, */
7005 /* IDL: [out] [ref] uint32 *service_returned, */
7006 /* IDL: [in] [out] [unique(1)] uint32 *resume_handle, */
7007 /* IDL: [charset(UTF16)] [out] [ref] uint16 **group_name */
7011 svcctl_dissect_EnumServicesStatusExA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7015 di
->dcerpc_procedure_name
="EnumServicesStatusExA";
7016 offset
= svcctl_dissect_element_EnumServicesStatusExA_services(tvb
, offset
, pinfo
, tree
, di
, drep
);
7017 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7019 offset
= svcctl_dissect_element_EnumServicesStatusExA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
7020 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7022 offset
= svcctl_dissect_element_EnumServicesStatusExA_service_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
7023 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7025 offset
= svcctl_dissect_element_EnumServicesStatusExA_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7026 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7028 offset
= svcctl_dissect_element_EnumServicesStatusExA_group_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
7029 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7031 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7034 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7040 svcctl_dissect_EnumServicesStatusExA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7042 di
->dcerpc_procedure_name
="EnumServicesStatusExA";
7043 offset
= svcctl_dissect_element_EnumServicesStatusExA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7044 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7045 offset
= svcctl_dissect_element_EnumServicesStatusExA_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
7046 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7047 offset
= svcctl_dissect_element_EnumServicesStatusExA_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7048 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7049 offset
= svcctl_dissect_element_EnumServicesStatusExA_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
7050 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7051 offset
= svcctl_dissect_element_EnumServicesStatusExA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
7052 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7053 offset
= svcctl_dissect_element_EnumServicesStatusExA_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7054 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7059 svcctl_dissect_element_EnumServicesStatusExW_scmanager(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7061 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExW_scmanager_
, NDR_POINTER_REF
, "Pointer to Scmanager (policy_handle)",hf_svcctl_EnumServicesStatusExW_scmanager
);
7067 svcctl_dissect_element_EnumServicesStatusExW_scmanager_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7069 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_scmanager
, 0);
7075 svcctl_dissect_element_EnumServicesStatusExW_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7077 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_info_level
, 0);
7083 svcctl_dissect_element_EnumServicesStatusExW_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7085 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_service_type
, 0);
7091 svcctl_dissect_element_EnumServicesStatusExW_state(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7093 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_state
, 0);
7099 svcctl_dissect_element_EnumServicesStatusExW_services(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7101 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExW_services_
, NDR_POINTER_REF
, "Pointer to Services (uint8)",hf_svcctl_EnumServicesStatusExW_services
);
7107 svcctl_dissect_element_EnumServicesStatusExW_services_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7109 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExW_services__
);
7115 svcctl_dissect_element_EnumServicesStatusExW_services__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7117 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_services
, 0);
7123 svcctl_dissect_element_EnumServicesStatusExW_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7125 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_offered
, 0);
7131 svcctl_dissect_element_EnumServicesStatusExW_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7133 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExW_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_svcctl_EnumServicesStatusExW_needed
);
7139 svcctl_dissect_element_EnumServicesStatusExW_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7141 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_needed
, 0);
7147 svcctl_dissect_element_EnumServicesStatusExW_service_returned(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7149 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExW_service_returned_
, NDR_POINTER_REF
, "Pointer to Service Returned (uint32)",hf_svcctl_EnumServicesStatusExW_service_returned
);
7155 svcctl_dissect_element_EnumServicesStatusExW_service_returned_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7157 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_service_returned
, 0);
7163 svcctl_dissect_element_EnumServicesStatusExW_resume_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7165 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExW_resume_handle_
, NDR_POINTER_UNIQUE
, "Pointer to Resume Handle (uint32)",hf_svcctl_EnumServicesStatusExW_resume_handle
);
7171 svcctl_dissect_element_EnumServicesStatusExW_resume_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7173 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_resume_handle
, 0);
7179 svcctl_dissect_element_EnumServicesStatusExW_group_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7181 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_EnumServicesStatusExW_group_name_
, NDR_POINTER_UNIQUE
, "Pointer to Group Name (uint16)",hf_svcctl_EnumServicesStatusExW_group_name
);
7187 svcctl_dissect_element_EnumServicesStatusExW_group_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7191 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_EnumServicesStatusExW_group_name
, false, &data
);
7192 proto_item_append_text(tree
, ": %s", data
);
7197 /* IDL: WERROR EnumServicesStatusExW( */
7198 /* IDL: [in] [ref] policy_handle *scmanager, */
7199 /* IDL: [in] uint32 info_level, */
7200 /* IDL: [in] svcctl_ServiceType service_type, */
7201 /* IDL: [in] svcctl_ServiceState state, */
7202 /* IDL: [out] [ref] [size_is(offered)] uint8 *services, */
7203 /* IDL: [in] [range(0,0x40000)] uint32 offered, */
7204 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *needed, */
7205 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *service_returned, */
7206 /* IDL: [in] [out] [range(0,0x40000)] [unique(1)] uint32 *resume_handle, */
7207 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *group_name */
7211 svcctl_dissect_EnumServicesStatusExW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7215 di
->dcerpc_procedure_name
="EnumServicesStatusExW";
7216 offset
= svcctl_dissect_element_EnumServicesStatusExW_services(tvb
, offset
, pinfo
, tree
, di
, drep
);
7217 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7219 offset
= svcctl_dissect_element_EnumServicesStatusExW_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
7220 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7222 offset
= svcctl_dissect_element_EnumServicesStatusExW_service_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
7223 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7225 offset
= svcctl_dissect_element_EnumServicesStatusExW_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7226 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7228 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7231 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7237 svcctl_dissect_EnumServicesStatusExW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7239 di
->dcerpc_procedure_name
="EnumServicesStatusExW";
7240 offset
= svcctl_dissect_element_EnumServicesStatusExW_scmanager(tvb
, offset
, pinfo
, tree
, di
, drep
);
7241 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7242 offset
= svcctl_dissect_element_EnumServicesStatusExW_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
7243 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7244 offset
= svcctl_dissect_element_EnumServicesStatusExW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7245 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7246 offset
= svcctl_dissect_element_EnumServicesStatusExW_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
7247 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7248 offset
= svcctl_dissect_element_EnumServicesStatusExW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
7249 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7250 offset
= svcctl_dissect_element_EnumServicesStatusExW_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7251 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7252 offset
= svcctl_dissect_element_EnumServicesStatusExW_group_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
7253 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7257 /* IDL: WERROR svcctl_ScBroadcastServiceControlMessage( */
7262 svcctl_dissect_ScBroadcastServiceControlMessage_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7266 di
->dcerpc_procedure_name
="ScBroadcastServiceControlMessage";
7267 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7270 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7276 svcctl_dissect_ScBroadcastServiceControlMessage_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7278 di
->dcerpc_procedure_name
="ScBroadcastServiceControlMessage";
7283 svcctl_dissect_element_CreateServiceWOW64A_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7285 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_CreateServiceWOW64A_scm_handle
);
7291 svcctl_dissect_element_CreateServiceWOW64A_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7293 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_scm_handle
, 0);
7299 svcctl_dissect_element_CreateServiceWOW64A_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7303 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_ServiceName
, false, &data
);
7304 proto_item_append_text(tree
, ": %s", data
);
7310 svcctl_dissect_element_CreateServiceWOW64A_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7312 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_DisplayName_
, NDR_POINTER_UNIQUE
, "Pointer to DisplayName (uint8)",hf_svcctl_svcctl_CreateServiceWOW64A_DisplayName
);
7318 svcctl_dissect_element_CreateServiceWOW64A_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7322 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_DisplayName
, false, &data
);
7323 proto_item_append_text(tree
, ": %s", data
);
7329 svcctl_dissect_element_CreateServiceWOW64A_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7331 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_desired_access
, 0);
7337 svcctl_dissect_element_CreateServiceWOW64A_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7339 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_service_type
, 0);
7345 svcctl_dissect_element_CreateServiceWOW64A_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7347 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_start_type
, 0);
7353 svcctl_dissect_element_CreateServiceWOW64A_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7355 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_error_control
, 0);
7361 svcctl_dissect_element_CreateServiceWOW64A_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7365 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_binary_path
, false, &data
);
7366 proto_item_append_text(tree
, ": %s", data
);
7372 svcctl_dissect_element_CreateServiceWOW64A_LoadOrderGroupKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7374 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_LoadOrderGroupKey_
, NDR_POINTER_UNIQUE
, "Pointer to LoadOrderGroupKey (uint8)",hf_svcctl_svcctl_CreateServiceWOW64A_LoadOrderGroupKey
);
7380 svcctl_dissect_element_CreateServiceWOW64A_LoadOrderGroupKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7384 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_LoadOrderGroupKey
, false, &data
);
7385 proto_item_append_text(tree
, ": %s", data
);
7391 svcctl_dissect_element_CreateServiceWOW64A_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7393 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_tag_id_
, NDR_POINTER_UNIQUE
, "Pointer to Tag Id (uint32)",hf_svcctl_svcctl_CreateServiceWOW64A_tag_id
);
7399 svcctl_dissect_element_CreateServiceWOW64A_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7401 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_tag_id
, 0);
7407 svcctl_dissect_element_CreateServiceWOW64A_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7409 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_dependencies_
, NDR_POINTER_UNIQUE
, "Pointer to Dependencies (string)",hf_svcctl_svcctl_CreateServiceWOW64A_dependencies
);
7415 svcctl_dissect_element_CreateServiceWOW64A_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7417 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_dependencies__
);
7423 svcctl_dissect_element_CreateServiceWOW64A_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7425 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_dependencies
, 0);
7431 svcctl_dissect_element_CreateServiceWOW64A_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7433 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_dependencies_size
, 0);
7439 svcctl_dissect_element_CreateServiceWOW64A_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7441 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_service_start_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Start Name (uint8)",hf_svcctl_svcctl_CreateServiceWOW64A_service_start_name
);
7447 svcctl_dissect_element_CreateServiceWOW64A_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7451 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_service_start_name
, false, &data
);
7452 proto_item_append_text(tree
, ": %s", data
);
7458 svcctl_dissect_element_CreateServiceWOW64A_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7460 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_password_
, NDR_POINTER_UNIQUE
, "Pointer to Password (uint8)",hf_svcctl_svcctl_CreateServiceWOW64A_password
);
7466 svcctl_dissect_element_CreateServiceWOW64A_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7468 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_password__
);
7474 svcctl_dissect_element_CreateServiceWOW64A_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7476 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_password
, 0);
7482 svcctl_dissect_element_CreateServiceWOW64A_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7484 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_password_size
, 0);
7490 svcctl_dissect_element_CreateServiceWOW64A_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7492 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64A_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_CreateServiceWOW64A_handle
);
7498 svcctl_dissect_element_CreateServiceWOW64A_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7500 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_handle
, 0);
7505 /* IDL: WERROR svcctl_CreateServiceWOW64A( */
7506 /* IDL: [in] [ref] policy_handle *scm_handle, */
7507 /* IDL: [charset(ASCII)] [in] uint8 ServiceName[*], */
7508 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *DisplayName, */
7509 /* IDL: [in] uint32 desired_access, */
7510 /* IDL: [in] svcctl_ServiceType service_type, */
7511 /* IDL: [in] svcctl_StartType start_type, */
7512 /* IDL: [in] svcctl_ErrorControl error_control, */
7513 /* IDL: [charset(ASCII)] [in] uint8 binary_path[*], */
7514 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *LoadOrderGroupKey, */
7515 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
7516 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [size_is(dependencies_size)] [unique(1)] string *dependencies, */
7517 /* IDL: [in] uint32 dependencies_size, */
7518 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *service_start_name, */
7519 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
7520 /* IDL: [in] uint32 password_size, */
7521 /* IDL: [out] [ref] policy_handle *handle */
7525 svcctl_dissect_CreateServiceWOW64A_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7529 di
->dcerpc_procedure_name
="CreateServiceWOW64A";
7530 offset
= svcctl_dissect_element_CreateServiceWOW64A_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
7531 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7533 offset
= svcctl_dissect_element_CreateServiceWOW64A_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7534 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7536 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7539 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7545 svcctl_dissect_CreateServiceWOW64A_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7547 di
->dcerpc_procedure_name
="CreateServiceWOW64A";
7548 offset
= svcctl_dissect_element_CreateServiceWOW64A_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7549 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7550 offset
= svcctl_dissect_element_CreateServiceWOW64A_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
7551 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7552 offset
= svcctl_dissect_element_CreateServiceWOW64A_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
7553 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7554 offset
= svcctl_dissect_element_CreateServiceWOW64A_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
7555 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7556 offset
= svcctl_dissect_element_CreateServiceWOW64A_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7557 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7558 offset
= svcctl_dissect_element_CreateServiceWOW64A_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7559 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7560 offset
= svcctl_dissect_element_CreateServiceWOW64A_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
7561 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7562 offset
= svcctl_dissect_element_CreateServiceWOW64A_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
7563 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7564 offset
= svcctl_dissect_element_CreateServiceWOW64A_LoadOrderGroupKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
7565 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7566 offset
= svcctl_dissect_element_CreateServiceWOW64A_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
7567 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7568 offset
= svcctl_dissect_element_CreateServiceWOW64A_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
7569 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7570 offset
= svcctl_dissect_element_CreateServiceWOW64A_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
7571 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7572 offset
= svcctl_dissect_element_CreateServiceWOW64A_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
7573 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7574 offset
= svcctl_dissect_element_CreateServiceWOW64A_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
7575 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7576 offset
= svcctl_dissect_element_CreateServiceWOW64A_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
7577 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7582 svcctl_dissect_element_CreateServiceWOW64W_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7584 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_CreateServiceWOW64W_scm_handle
);
7590 svcctl_dissect_element_CreateServiceWOW64W_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7592 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_scm_handle
, 0);
7598 svcctl_dissect_element_CreateServiceWOW64W_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7602 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_ServiceName
, false, &data
);
7603 proto_item_append_text(tree
, ": %s", data
);
7609 svcctl_dissect_element_CreateServiceWOW64W_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7611 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_DisplayName_
, NDR_POINTER_UNIQUE
, "Pointer to DisplayName (uint16)",hf_svcctl_svcctl_CreateServiceWOW64W_DisplayName
);
7617 svcctl_dissect_element_CreateServiceWOW64W_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7621 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_DisplayName
, false, &data
);
7622 proto_item_append_text(tree
, ": %s", data
);
7628 svcctl_dissect_element_CreateServiceWOW64W_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7630 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_desired_access
, 0);
7636 svcctl_dissect_element_CreateServiceWOW64W_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7638 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_service_type
, 0);
7644 svcctl_dissect_element_CreateServiceWOW64W_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7646 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_start_type
, 0);
7652 svcctl_dissect_element_CreateServiceWOW64W_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7654 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_error_control
, 0);
7660 svcctl_dissect_element_CreateServiceWOW64W_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7664 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_binary_path
, false, &data
);
7665 proto_item_append_text(tree
, ": %s", data
);
7671 svcctl_dissect_element_CreateServiceWOW64W_LoadOrderGroupKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7673 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_LoadOrderGroupKey_
, NDR_POINTER_UNIQUE
, "Pointer to LoadOrderGroupKey (uint16)",hf_svcctl_svcctl_CreateServiceWOW64W_LoadOrderGroupKey
);
7679 svcctl_dissect_element_CreateServiceWOW64W_LoadOrderGroupKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7683 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_LoadOrderGroupKey
, false, &data
);
7684 proto_item_append_text(tree
, ": %s", data
);
7690 svcctl_dissect_element_CreateServiceWOW64W_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7692 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_tag_id_
, NDR_POINTER_UNIQUE
, "Pointer to Tag Id (uint32)",hf_svcctl_svcctl_CreateServiceWOW64W_tag_id
);
7698 svcctl_dissect_element_CreateServiceWOW64W_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7700 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_tag_id
, 0);
7706 svcctl_dissect_element_CreateServiceWOW64W_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7708 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_dependencies_
, NDR_POINTER_UNIQUE
, "Pointer to Dependencies (uint8)",hf_svcctl_svcctl_CreateServiceWOW64W_dependencies
);
7714 svcctl_dissect_element_CreateServiceWOW64W_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7716 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_dependencies__
);
7722 svcctl_dissect_element_CreateServiceWOW64W_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7724 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_dependencies
, 0);
7730 svcctl_dissect_element_CreateServiceWOW64W_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7732 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_dependencies_size
, 0);
7738 svcctl_dissect_element_CreateServiceWOW64W_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7740 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_service_start_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Start Name (uint16)",hf_svcctl_svcctl_CreateServiceWOW64W_service_start_name
);
7746 svcctl_dissect_element_CreateServiceWOW64W_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7750 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_service_start_name
, false, &data
);
7751 proto_item_append_text(tree
, ": %s", data
);
7757 svcctl_dissect_element_CreateServiceWOW64W_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7759 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_password_
, NDR_POINTER_UNIQUE
, "Pointer to Password (uint8)",hf_svcctl_svcctl_CreateServiceWOW64W_password
);
7765 svcctl_dissect_element_CreateServiceWOW64W_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7767 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_password__
);
7773 svcctl_dissect_element_CreateServiceWOW64W_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7775 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_password
, 0);
7781 svcctl_dissect_element_CreateServiceWOW64W_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7783 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_password_size
, 0);
7789 svcctl_dissect_element_CreateServiceWOW64W_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7791 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateServiceWOW64W_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_CreateServiceWOW64W_handle
);
7797 svcctl_dissect_element_CreateServiceWOW64W_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7799 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_handle
, 0);
7804 /* IDL: WERROR svcctl_CreateServiceWOW64W( */
7805 /* IDL: [in] [ref] policy_handle *scm_handle, */
7806 /* IDL: [charset(UTF16)] [in] uint16 ServiceName[*], */
7807 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *DisplayName, */
7808 /* IDL: [in] uint32 desired_access, */
7809 /* IDL: [in] svcctl_ServiceType service_type, */
7810 /* IDL: [in] svcctl_StartType start_type, */
7811 /* IDL: [in] svcctl_ErrorControl error_control, */
7812 /* IDL: [charset(UTF16)] [in] uint16 binary_path[*], */
7813 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *LoadOrderGroupKey, */
7814 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
7815 /* IDL: [in] [size_is(dependencies_size)] [unique(1)] uint8 *dependencies, */
7816 /* IDL: [in] uint32 dependencies_size, */
7817 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *service_start_name, */
7818 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
7819 /* IDL: [in] uint32 password_size, */
7820 /* IDL: [out] [ref] policy_handle *handle */
7824 svcctl_dissect_CreateServiceWOW64W_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7828 di
->dcerpc_procedure_name
="CreateServiceWOW64W";
7829 offset
= svcctl_dissect_element_CreateServiceWOW64W_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
7830 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7832 offset
= svcctl_dissect_element_CreateServiceWOW64W_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7833 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7835 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7838 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7844 svcctl_dissect_CreateServiceWOW64W_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7846 di
->dcerpc_procedure_name
="CreateServiceWOW64W";
7847 offset
= svcctl_dissect_element_CreateServiceWOW64W_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7848 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7849 offset
= svcctl_dissect_element_CreateServiceWOW64W_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
7850 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7851 offset
= svcctl_dissect_element_CreateServiceWOW64W_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
7852 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7853 offset
= svcctl_dissect_element_CreateServiceWOW64W_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
7854 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7855 offset
= svcctl_dissect_element_CreateServiceWOW64W_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7856 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7857 offset
= svcctl_dissect_element_CreateServiceWOW64W_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7858 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7859 offset
= svcctl_dissect_element_CreateServiceWOW64W_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
7860 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7861 offset
= svcctl_dissect_element_CreateServiceWOW64W_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
7862 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7863 offset
= svcctl_dissect_element_CreateServiceWOW64W_LoadOrderGroupKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
7864 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7865 offset
= svcctl_dissect_element_CreateServiceWOW64W_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
7866 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7867 offset
= svcctl_dissect_element_CreateServiceWOW64W_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
7868 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7869 offset
= svcctl_dissect_element_CreateServiceWOW64W_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
7870 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7871 offset
= svcctl_dissect_element_CreateServiceWOW64W_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
7872 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7873 offset
= svcctl_dissect_element_CreateServiceWOW64W_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
7874 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7875 offset
= svcctl_dissect_element_CreateServiceWOW64W_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
7876 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7880 /* IDL: WERROR svcctl_ScQueryServiceTagInfo( */
7885 svcctl_dissect_ScQueryServiceTagInfo_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7889 di
->dcerpc_procedure_name
="ScQueryServiceTagInfo";
7890 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7893 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7899 svcctl_dissect_ScQueryServiceTagInfo_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7901 di
->dcerpc_procedure_name
="ScQueryServiceTagInfo";
7905 /* IDL: WERROR svcctl_NotifyServiceStatusChange( */
7910 svcctl_dissect_NotifyServiceStatusChange_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7914 di
->dcerpc_procedure_name
="NotifyServiceStatusChange";
7915 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7918 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7924 svcctl_dissect_NotifyServiceStatusChange_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7926 di
->dcerpc_procedure_name
="NotifyServiceStatusChange";
7930 /* IDL: WERROR svcctl_GetNotifyResults( */
7935 svcctl_dissect_GetNotifyResults_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7939 di
->dcerpc_procedure_name
="GetNotifyResults";
7940 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7943 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7949 svcctl_dissect_GetNotifyResults_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7951 di
->dcerpc_procedure_name
="GetNotifyResults";
7955 /* IDL: WERROR svcctl_CloseNotifyHandle( */
7960 svcctl_dissect_CloseNotifyHandle_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7964 di
->dcerpc_procedure_name
="CloseNotifyHandle";
7965 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7968 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7974 svcctl_dissect_CloseNotifyHandle_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7976 di
->dcerpc_procedure_name
="CloseNotifyHandle";
7980 /* IDL: WERROR svcctl_ControlServiceExA( */
7985 svcctl_dissect_ControlServiceExA_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
7989 di
->dcerpc_procedure_name
="ControlServiceExA";
7990 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7993 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7999 svcctl_dissect_ControlServiceExA_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8001 di
->dcerpc_procedure_name
="ControlServiceExA";
8005 /* IDL: WERROR svcctl_ControlServiceExW( */
8010 svcctl_dissect_ControlServiceExW_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8014 di
->dcerpc_procedure_name
="ControlServiceExW";
8015 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8018 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8024 svcctl_dissect_ControlServiceExW_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8026 di
->dcerpc_procedure_name
="ControlServiceExW";
8030 /* IDL: WERROR svcctl_ScSendPnPMessage( */
8035 svcctl_dissect_ScSendPnPMessage_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8039 di
->dcerpc_procedure_name
="ScSendPnPMessage";
8040 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8043 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8049 svcctl_dissect_ScSendPnPMessage_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8051 di
->dcerpc_procedure_name
="ScSendPnPMessage";
8055 /* IDL: WERROR svcctl_ScValidatePnPService( */
8060 svcctl_dissect_ScValidatePnPService_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8064 di
->dcerpc_procedure_name
="ScValidatePnPService";
8065 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8068 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8074 svcctl_dissect_ScValidatePnPService_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8076 di
->dcerpc_procedure_name
="ScValidatePnPService";
8080 /* IDL: WERROR svcctl_ScOpenServiceStatusHandle( */
8085 svcctl_dissect_ScOpenServiceStatusHandle_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8089 di
->dcerpc_procedure_name
="ScOpenServiceStatusHandle";
8090 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8093 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8099 svcctl_dissect_ScOpenServiceStatusHandle_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8101 di
->dcerpc_procedure_name
="ScOpenServiceStatusHandle";
8105 /* IDL: WERROR svcctl_ScQueryServiceConfig( */
8110 svcctl_dissect_ScQueryServiceConfig_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8114 di
->dcerpc_procedure_name
="ScQueryServiceConfig";
8115 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8118 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8124 svcctl_dissect_ScQueryServiceConfig_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8126 di
->dcerpc_procedure_name
="ScQueryServiceConfig";
8131 svcctl_dissect_element_QueryServiceConfigEx_service_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8133 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_QueryServiceConfigEx_service_handle_
, NDR_POINTER_REF
, "Pointer to Service Handle (policy_handle)",hf_svcctl_svcctl_QueryServiceConfigEx_service_handle
);
8139 svcctl_dissect_element_QueryServiceConfigEx_service_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8141 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigEx_service_handle
, 0);
8147 svcctl_dissect_element_QueryServiceConfigEx_info_level(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8149 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigEx_info_level
, 0);
8154 /* IDL: WERROR svcctl_QueryServiceConfigEx( */
8155 /* IDL: [in] [ref] policy_handle *service_handle, */
8156 /* IDL: [in] uint32 info_level */
8160 svcctl_dissect_QueryServiceConfigEx_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8164 di
->dcerpc_procedure_name
="QueryServiceConfigEx";
8165 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8168 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8174 svcctl_dissect_QueryServiceConfigEx_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8176 di
->dcerpc_procedure_name
="QueryServiceConfigEx";
8177 offset
= svcctl_dissect_element_QueryServiceConfigEx_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8178 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8179 offset
= svcctl_dissect_element_QueryServiceConfigEx_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
8180 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8184 /* IDL: WERROR svcctl_ScRegisterPreshutdownRestart( */
8189 svcctl_dissect_ScRegisterPreshutdownRestart_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8193 di
->dcerpc_procedure_name
="ScRegisterPreshutdownRestart";
8194 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8197 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8203 svcctl_dissect_ScRegisterPreshutdownRestart_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8205 di
->dcerpc_procedure_name
="ScRegisterPreshutdownRestart";
8209 /* IDL: WERROR svcctl_ScReparseServiceDatabase( */
8214 svcctl_dissect_ScReparseServiceDatabase_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8218 di
->dcerpc_procedure_name
="ScReparseServiceDatabase";
8219 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8222 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8228 svcctl_dissect_ScReparseServiceDatabase_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8230 di
->dcerpc_procedure_name
="ScReparseServiceDatabase";
8234 /* IDL: WERROR svcctl_QueryUserServiceName( */
8239 svcctl_dissect_QueryUserServiceName_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8243 di
->dcerpc_procedure_name
="QueryUserServiceName";
8244 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8247 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8253 svcctl_dissect_QueryUserServiceName_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8255 di
->dcerpc_procedure_name
="QueryUserServiceName";
8260 svcctl_dissect_element_CreateWowService_scm_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8262 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_scm_handle_
, NDR_POINTER_REF
, "Pointer to Scm Handle (policy_handle)",hf_svcctl_svcctl_CreateWowService_scm_handle
);
8268 svcctl_dissect_element_CreateWowService_scm_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8270 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_scm_handle
, 0);
8276 svcctl_dissect_element_CreateWowService_ServiceName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8280 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_ServiceName
, false, &data
);
8281 proto_item_append_text(tree
, ": %s", data
);
8287 svcctl_dissect_element_CreateWowService_DisplayName(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8289 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_DisplayName_
, NDR_POINTER_UNIQUE
, "Pointer to DisplayName (uint16)",hf_svcctl_svcctl_CreateWowService_DisplayName
);
8295 svcctl_dissect_element_CreateWowService_DisplayName_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8299 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_DisplayName
, false, &data
);
8300 proto_item_append_text(tree
, ": %s", data
);
8306 svcctl_dissect_element_CreateWowService_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8308 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_desired_access
, 0);
8314 svcctl_dissect_element_CreateWowService_service_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8316 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_service_type
, 0);
8322 svcctl_dissect_element_CreateWowService_start_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8324 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_start_type
, 0);
8330 svcctl_dissect_element_CreateWowService_error_control(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8332 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_error_control
, 0);
8338 svcctl_dissect_element_CreateWowService_binary_path(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8342 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_binary_path
, false, &data
);
8343 proto_item_append_text(tree
, ": %s", data
);
8349 svcctl_dissect_element_CreateWowService_LoadOrderGroupKey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8351 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_LoadOrderGroupKey_
, NDR_POINTER_UNIQUE
, "Pointer to LoadOrderGroupKey (uint16)",hf_svcctl_svcctl_CreateWowService_LoadOrderGroupKey
);
8357 svcctl_dissect_element_CreateWowService_LoadOrderGroupKey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8361 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_LoadOrderGroupKey
, false, &data
);
8362 proto_item_append_text(tree
, ": %s", data
);
8368 svcctl_dissect_element_CreateWowService_tag_id(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8370 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_tag_id_
, NDR_POINTER_UNIQUE
, "Pointer to Tag Id (uint32)",hf_svcctl_svcctl_CreateWowService_tag_id
);
8376 svcctl_dissect_element_CreateWowService_tag_id_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8378 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_tag_id
, 0);
8384 svcctl_dissect_element_CreateWowService_dependencies(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8386 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_dependencies_
, NDR_POINTER_UNIQUE
, "Pointer to Dependencies (uint8)",hf_svcctl_svcctl_CreateWowService_dependencies
);
8392 svcctl_dissect_element_CreateWowService_dependencies_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8394 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_dependencies__
);
8400 svcctl_dissect_element_CreateWowService_dependencies__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8402 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_dependencies
, 0);
8408 svcctl_dissect_element_CreateWowService_dependencies_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8410 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_dependencies_size
, 0);
8416 svcctl_dissect_element_CreateWowService_service_start_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8418 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_service_start_name_
, NDR_POINTER_UNIQUE
, "Pointer to Service Start Name (uint16)",hf_svcctl_svcctl_CreateWowService_service_start_name
);
8424 svcctl_dissect_element_CreateWowService_service_start_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8428 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_service_start_name
, false, &data
);
8429 proto_item_append_text(tree
, ": %s", data
);
8435 svcctl_dissect_element_CreateWowService_password(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8437 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_password_
, NDR_POINTER_UNIQUE
, "Pointer to Password (uint8)",hf_svcctl_svcctl_CreateWowService_password
);
8443 svcctl_dissect_element_CreateWowService_password_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8445 offset
= dissect_ndr_ucarray(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_password__
);
8451 svcctl_dissect_element_CreateWowService_password__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8453 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_password
, 0);
8459 svcctl_dissect_element_CreateWowService_password_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8461 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_password_size
, 0);
8467 svcctl_dissect_element_CreateWowService_service_wow_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8469 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_service_wow_type
, 0);
8475 svcctl_dissect_element_CreateWowService_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8477 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_CreateWowService_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_CreateWowService_handle
);
8483 svcctl_dissect_element_CreateWowService_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8485 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_handle
, 0);
8490 /* IDL: WERROR svcctl_CreateWowService( */
8491 /* IDL: [in] [ref] policy_handle *scm_handle, */
8492 /* IDL: [charset(UTF16)] [in] uint16 ServiceName[*], */
8493 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *DisplayName, */
8494 /* IDL: [in] uint32 desired_access, */
8495 /* IDL: [in] uint32 service_type, */
8496 /* IDL: [in] svcctl_StartType start_type, */
8497 /* IDL: [in] svcctl_ErrorControl error_control, */
8498 /* IDL: [charset(UTF16)] [in] uint16 binary_path[*], */
8499 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *LoadOrderGroupKey, */
8500 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
8501 /* IDL: [in] [size_is(dependencies_size)] [unique(1)] uint8 *dependencies, */
8502 /* IDL: [in] uint32 dependencies_size, */
8503 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *service_start_name, */
8504 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
8505 /* IDL: [in] uint32 password_size, */
8506 /* IDL: [in] uint16 service_wow_type, */
8507 /* IDL: [out] [ref] policy_handle *handle */
8511 svcctl_dissect_CreateWowService_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8515 di
->dcerpc_procedure_name
="CreateWowService";
8516 offset
= svcctl_dissect_element_CreateWowService_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
8517 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8519 offset
= svcctl_dissect_element_CreateWowService_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8520 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8522 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8525 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8531 svcctl_dissect_CreateWowService_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8533 di
->dcerpc_procedure_name
="CreateWowService";
8534 offset
= svcctl_dissect_element_CreateWowService_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8535 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8536 offset
= svcctl_dissect_element_CreateWowService_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
8537 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8538 offset
= svcctl_dissect_element_CreateWowService_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
8539 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8540 offset
= svcctl_dissect_element_CreateWowService_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
8541 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8542 offset
= svcctl_dissect_element_CreateWowService_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
8543 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8544 offset
= svcctl_dissect_element_CreateWowService_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
8545 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8546 offset
= svcctl_dissect_element_CreateWowService_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
8547 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8548 offset
= svcctl_dissect_element_CreateWowService_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
8549 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8550 offset
= svcctl_dissect_element_CreateWowService_LoadOrderGroupKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
8551 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8552 offset
= svcctl_dissect_element_CreateWowService_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
8553 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8554 offset
= svcctl_dissect_element_CreateWowService_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
8555 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8556 offset
= svcctl_dissect_element_CreateWowService_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
8557 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8558 offset
= svcctl_dissect_element_CreateWowService_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
8559 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8560 offset
= svcctl_dissect_element_CreateWowService_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
8561 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8562 offset
= svcctl_dissect_element_CreateWowService_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
8563 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8564 offset
= svcctl_dissect_element_CreateWowService_service_wow_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
8565 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8569 /* IDL: WERROR svcctl_GetServiceRegistryStateKey( */
8574 svcctl_dissect_GetServiceRegistryStateKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8578 di
->dcerpc_procedure_name
="GetServiceRegistryStateKey";
8579 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8582 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8588 svcctl_dissect_GetServiceRegistryStateKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8590 di
->dcerpc_procedure_name
="GetServiceRegistryStateKey";
8594 /* IDL: WERROR svcctl_GetServiceDirectory( */
8599 svcctl_dissect_GetServiceDirectory_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8603 di
->dcerpc_procedure_name
="GetServiceDirectory";
8604 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8607 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8613 svcctl_dissect_GetServiceDirectory_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8615 di
->dcerpc_procedure_name
="GetServiceDirectory";
8619 /* IDL: WERROR svcctl_GetServiceProcessToken( */
8624 svcctl_dissect_GetServiceProcessToken_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8628 di
->dcerpc_procedure_name
="GetServiceProcessToken";
8629 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8632 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8638 svcctl_dissect_GetServiceProcessToken_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8640 di
->dcerpc_procedure_name
="GetServiceProcessToken";
8645 svcctl_dissect_element_OpenSCManager2_database_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8647 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenSCManager2_database_name_
, NDR_POINTER_UNIQUE
, "Pointer to Database Name (uint16)",hf_svcctl_svcctl_OpenSCManager2_database_name
);
8653 svcctl_dissect_element_OpenSCManager2_database_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8657 offset
= dissect_ndr_cvstring(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_OpenSCManager2_database_name
, false, &data
);
8658 proto_item_append_text(tree
, ": %s", data
);
8664 svcctl_dissect_element_OpenSCManager2_desired_access(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8666 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManager2_desired_access
, 0);
8672 svcctl_dissect_element_OpenSCManager2_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8674 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, svcctl_dissect_element_OpenSCManager2_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_svcctl_svcctl_OpenSCManager2_handle
);
8680 svcctl_dissect_element_OpenSCManager2_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8682 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManager2_handle
, 0);
8687 /* IDL: WERROR svcctl_OpenSCManager2( */
8688 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *database_name, */
8689 /* IDL: [in] uint32 desired_access, */
8690 /* IDL: [out] [ref] policy_handle *handle */
8694 svcctl_dissect_OpenSCManager2_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8698 di
->dcerpc_procedure_name
="OpenSCManager2";
8699 offset
= svcctl_dissect_element_OpenSCManager2_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8700 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8702 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8705 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8711 svcctl_dissect_OpenSCManager2_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8713 di
->dcerpc_procedure_name
="OpenSCManager2";
8714 offset
= svcctl_dissect_element_OpenSCManager2_database_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
8715 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8716 offset
= svcctl_dissect_element_OpenSCManager2_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
8717 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8721 /* IDL: WERROR svcctl_GetSharedServiceRegistryStateKey( */
8726 svcctl_dissect_GetSharedServiceRegistryStateKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8730 di
->dcerpc_procedure_name
="GetSharedServiceRegistryStateKey";
8731 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8734 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8740 svcctl_dissect_GetSharedServiceRegistryStateKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8742 di
->dcerpc_procedure_name
="GetSharedServiceRegistryStateKey";
8746 /* IDL: WERROR svcctl_GetSharedServiceDirectory( */
8751 svcctl_dissect_GetSharedServiceDirectory_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8755 di
->dcerpc_procedure_name
="GetSharedServiceDirectory";
8756 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8759 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8765 svcctl_dissect_GetSharedServiceDirectory_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
8767 di
->dcerpc_procedure_name
="GetSharedServiceDirectory";
8772 static const dcerpc_sub_dissector svcctl_dissectors
[] = {
8773 { 0, "CloseServiceHandle",
8774 svcctl_dissect_CloseServiceHandle_request
, svcctl_dissect_CloseServiceHandle_response
},
8775 { 1, "ControlService",
8776 svcctl_dissect_ControlService_request
, svcctl_dissect_ControlService_response
},
8777 { 2, "DeleteService",
8778 svcctl_dissect_DeleteService_request
, svcctl_dissect_DeleteService_response
},
8779 { 3, "LockServiceDatabase",
8780 svcctl_dissect_LockServiceDatabase_request
, svcctl_dissect_LockServiceDatabase_response
},
8781 { 4, "QueryServiceObjectSecurity",
8782 svcctl_dissect_QueryServiceObjectSecurity_request
, svcctl_dissect_QueryServiceObjectSecurity_response
},
8783 { 5, "SetServiceObjectSecurity",
8784 svcctl_dissect_SetServiceObjectSecurity_request
, svcctl_dissect_SetServiceObjectSecurity_response
},
8785 { 6, "QueryServiceStatus",
8786 svcctl_dissect_QueryServiceStatus_request
, svcctl_dissect_QueryServiceStatus_response
},
8787 { 7, "SetServiceStatus",
8788 svcctl_dissect_SetServiceStatus_request
, svcctl_dissect_SetServiceStatus_response
},
8789 { 8, "UnlockServiceDatabase",
8790 svcctl_dissect_UnlockServiceDatabase_request
, svcctl_dissect_UnlockServiceDatabase_response
},
8791 { 9, "NotifyBootConfigStatus",
8792 svcctl_dissect_NotifyBootConfigStatus_request
, svcctl_dissect_NotifyBootConfigStatus_response
},
8793 { 10, "SCSetServiceBitsW",
8794 svcctl_dissect_SCSetServiceBitsW_request
, svcctl_dissect_SCSetServiceBitsW_response
},
8795 { 11, "ChangeServiceConfigW",
8796 svcctl_dissect_ChangeServiceConfigW_request
, svcctl_dissect_ChangeServiceConfigW_response
},
8797 { 12, "CreateServiceW",
8798 svcctl_dissect_CreateServiceW_request
, svcctl_dissect_CreateServiceW_response
},
8799 { 13, "EnumDependentServicesW",
8800 svcctl_dissect_EnumDependentServicesW_request
, svcctl_dissect_EnumDependentServicesW_response
},
8801 { 14, "EnumServicesStatusW",
8802 svcctl_dissect_EnumServicesStatusW_request
, svcctl_dissect_EnumServicesStatusW_response
},
8803 { 15, "OpenSCManagerW",
8804 svcctl_dissect_OpenSCManagerW_request
, svcctl_dissect_OpenSCManagerW_response
},
8805 { 16, "OpenServiceW",
8806 svcctl_dissect_OpenServiceW_request
, svcctl_dissect_OpenServiceW_response
},
8807 { 17, "QueryServiceConfigW",
8808 svcctl_dissect_QueryServiceConfigW_request
, svcctl_dissect_QueryServiceConfigW_response
},
8809 { 18, "QueryServiceLockStatusW",
8810 svcctl_dissect_QueryServiceLockStatusW_request
, svcctl_dissect_QueryServiceLockStatusW_response
},
8811 { 19, "StartServiceW",
8812 svcctl_dissect_StartServiceW_request
, svcctl_dissect_StartServiceW_response
},
8813 { 20, "GetServiceDisplayNameW",
8814 svcctl_dissect_GetServiceDisplayNameW_request
, svcctl_dissect_GetServiceDisplayNameW_response
},
8815 { 21, "GetServiceKeyNameW",
8816 svcctl_dissect_GetServiceKeyNameW_request
, svcctl_dissect_GetServiceKeyNameW_response
},
8817 { 22, "SCSetServiceBitsA",
8818 svcctl_dissect_SCSetServiceBitsA_request
, svcctl_dissect_SCSetServiceBitsA_response
},
8819 { 23, "ChangeServiceConfigA",
8820 svcctl_dissect_ChangeServiceConfigA_request
, svcctl_dissect_ChangeServiceConfigA_response
},
8821 { 24, "CreateServiceA",
8822 svcctl_dissect_CreateServiceA_request
, svcctl_dissect_CreateServiceA_response
},
8823 { 25, "EnumDependentServicesA",
8824 svcctl_dissect_EnumDependentServicesA_request
, svcctl_dissect_EnumDependentServicesA_response
},
8825 { 26, "EnumServicesStatusA",
8826 svcctl_dissect_EnumServicesStatusA_request
, svcctl_dissect_EnumServicesStatusA_response
},
8827 { 27, "OpenSCManagerA",
8828 svcctl_dissect_OpenSCManagerA_request
, svcctl_dissect_OpenSCManagerA_response
},
8829 { 28, "OpenServiceA",
8830 svcctl_dissect_OpenServiceA_request
, svcctl_dissect_OpenServiceA_response
},
8831 { 29, "QueryServiceConfigA",
8832 svcctl_dissect_QueryServiceConfigA_request
, svcctl_dissect_QueryServiceConfigA_response
},
8833 { 30, "QueryServiceLockStatusA",
8834 svcctl_dissect_QueryServiceLockStatusA_request
, svcctl_dissect_QueryServiceLockStatusA_response
},
8835 { 31, "StartServiceA",
8836 svcctl_dissect_StartServiceA_request
, svcctl_dissect_StartServiceA_response
},
8837 { 32, "GetServiceDisplayNameA",
8838 svcctl_dissect_GetServiceDisplayNameA_request
, svcctl_dissect_GetServiceDisplayNameA_response
},
8839 { 33, "GetServiceKeyNameA",
8840 svcctl_dissect_GetServiceKeyNameA_request
, svcctl_dissect_GetServiceKeyNameA_response
},
8841 { 34, "GetCurrentGroupeStateW",
8842 svcctl_dissect_GetCurrentGroupeStateW_request
, svcctl_dissect_GetCurrentGroupeStateW_response
},
8843 { 35, "EnumServiceGroupW",
8844 svcctl_dissect_EnumServiceGroupW_request
, svcctl_dissect_EnumServiceGroupW_response
},
8845 { 36, "ChangeServiceConfig2A",
8846 svcctl_dissect_ChangeServiceConfig2A_request
, svcctl_dissect_ChangeServiceConfig2A_response
},
8847 { 37, "ChangeServiceConfig2W",
8848 svcctl_dissect_ChangeServiceConfig2W_request
, svcctl_dissect_ChangeServiceConfig2W_response
},
8849 { 38, "QueryServiceConfig2A",
8850 svcctl_dissect_QueryServiceConfig2A_request
, svcctl_dissect_QueryServiceConfig2A_response
},
8851 { 39, "QueryServiceConfig2W",
8852 svcctl_dissect_QueryServiceConfig2W_request
, svcctl_dissect_QueryServiceConfig2W_response
},
8853 { 40, "QueryServiceStatusEx",
8854 svcctl_dissect_QueryServiceStatusEx_request
, svcctl_dissect_QueryServiceStatusEx_response
},
8855 { 41, "EnumServicesStatusExA",
8856 svcctl_dissect_EnumServicesStatusExA_request
, svcctl_dissect_EnumServicesStatusExA_response
},
8857 { 42, "EnumServicesStatusExW",
8858 svcctl_dissect_EnumServicesStatusExW_request
, svcctl_dissect_EnumServicesStatusExW_response
},
8859 { 43, "ScBroadcastServiceControlMessage",
8860 svcctl_dissect_ScBroadcastServiceControlMessage_request
, svcctl_dissect_ScBroadcastServiceControlMessage_response
},
8861 { 44, "CreateServiceWOW64A",
8862 svcctl_dissect_CreateServiceWOW64A_request
, svcctl_dissect_CreateServiceWOW64A_response
},
8863 { 45, "CreateServiceWOW64W",
8864 svcctl_dissect_CreateServiceWOW64W_request
, svcctl_dissect_CreateServiceWOW64W_response
},
8865 { 46, "ScQueryServiceTagInfo",
8866 svcctl_dissect_ScQueryServiceTagInfo_request
, svcctl_dissect_ScQueryServiceTagInfo_response
},
8867 { 47, "NotifyServiceStatusChange",
8868 svcctl_dissect_NotifyServiceStatusChange_request
, svcctl_dissect_NotifyServiceStatusChange_response
},
8869 { 48, "GetNotifyResults",
8870 svcctl_dissect_GetNotifyResults_request
, svcctl_dissect_GetNotifyResults_response
},
8871 { 49, "CloseNotifyHandle",
8872 svcctl_dissect_CloseNotifyHandle_request
, svcctl_dissect_CloseNotifyHandle_response
},
8873 { 50, "ControlServiceExA",
8874 svcctl_dissect_ControlServiceExA_request
, svcctl_dissect_ControlServiceExA_response
},
8875 { 51, "ControlServiceExW",
8876 svcctl_dissect_ControlServiceExW_request
, svcctl_dissect_ControlServiceExW_response
},
8877 { 52, "ScSendPnPMessage",
8878 svcctl_dissect_ScSendPnPMessage_request
, svcctl_dissect_ScSendPnPMessage_response
},
8879 { 53, "ScValidatePnPService",
8880 svcctl_dissect_ScValidatePnPService_request
, svcctl_dissect_ScValidatePnPService_response
},
8881 { 54, "ScOpenServiceStatusHandle",
8882 svcctl_dissect_ScOpenServiceStatusHandle_request
, svcctl_dissect_ScOpenServiceStatusHandle_response
},
8883 { 55, "ScQueryServiceConfig",
8884 svcctl_dissect_ScQueryServiceConfig_request
, svcctl_dissect_ScQueryServiceConfig_response
},
8885 { 56, "QueryServiceConfigEx",
8886 svcctl_dissect_QueryServiceConfigEx_request
, svcctl_dissect_QueryServiceConfigEx_response
},
8887 { 57, "ScRegisterPreshutdownRestart",
8888 svcctl_dissect_ScRegisterPreshutdownRestart_request
, svcctl_dissect_ScRegisterPreshutdownRestart_response
},
8889 { 58, "ScReparseServiceDatabase",
8890 svcctl_dissect_ScReparseServiceDatabase_request
, svcctl_dissect_ScReparseServiceDatabase_response
},
8891 { 59, "QueryUserServiceName",
8892 svcctl_dissect_QueryUserServiceName_request
, svcctl_dissect_QueryUserServiceName_response
},
8893 { 60, "CreateWowService",
8894 svcctl_dissect_CreateWowService_request
, svcctl_dissect_CreateWowService_response
},
8895 { 61, "GetServiceRegistryStateKey",
8896 svcctl_dissect_GetServiceRegistryStateKey_request
, svcctl_dissect_GetServiceRegistryStateKey_response
},
8897 { 62, "GetServiceDirectory",
8898 svcctl_dissect_GetServiceDirectory_request
, svcctl_dissect_GetServiceDirectory_response
},
8899 { 63, "GetServiceProcessToken",
8900 svcctl_dissect_GetServiceProcessToken_request
, svcctl_dissect_GetServiceProcessToken_response
},
8901 { 64, "OpenSCManager2",
8902 svcctl_dissect_OpenSCManager2_request
, svcctl_dissect_OpenSCManager2_response
},
8903 { 65, "GetSharedServiceRegistryStateKey",
8904 svcctl_dissect_GetSharedServiceRegistryStateKey_request
, svcctl_dissect_GetSharedServiceRegistryStateKey_response
},
8905 { 66, "GetSharedServiceDirectory",
8906 svcctl_dissect_GetSharedServiceDirectory_request
, svcctl_dissect_GetSharedServiceDirectory_response
},
8907 { 0, NULL
, NULL
, NULL
}
8910 void proto_register_dcerpc_svcctl(void)
8912 static hf_register_info hf
[] = {
8913 { &hf_svcctl_ENUM_SERVICE_STATUSA_display_name
,
8914 { "Display Name", "svcctl.ENUM_SERVICE_STATUSA.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8915 { &hf_svcctl_ENUM_SERVICE_STATUSA_service_name
,
8916 { "Service Name", "svcctl.ENUM_SERVICE_STATUSA.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8917 { &hf_svcctl_ENUM_SERVICE_STATUSA_status
,
8918 { "Status", "svcctl.ENUM_SERVICE_STATUSA.status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8919 { &hf_svcctl_ENUM_SERVICE_STATUSW_display_name
,
8920 { "Display Name", "svcctl.ENUM_SERVICE_STATUSW.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8921 { &hf_svcctl_ENUM_SERVICE_STATUSW_service_name
,
8922 { "Service Name", "svcctl.ENUM_SERVICE_STATUSW.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8923 { &hf_svcctl_ENUM_SERVICE_STATUSW_status
,
8924 { "Status", "svcctl.ENUM_SERVICE_STATUSW.status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8925 { &hf_svcctl_EnumServicesStatusExA_group_name
,
8926 { "Group Name", "svcctl.EnumServicesStatusExA.group_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8927 { &hf_svcctl_EnumServicesStatusExA_info_level
,
8928 { "Info Level", "svcctl.EnumServicesStatusExA.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8929 { &hf_svcctl_EnumServicesStatusExA_needed
,
8930 { "Needed", "svcctl.EnumServicesStatusExA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8931 { &hf_svcctl_EnumServicesStatusExA_offered
,
8932 { "Offered", "svcctl.EnumServicesStatusExA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8933 { &hf_svcctl_EnumServicesStatusExA_resume_handle
,
8934 { "Resume Handle", "svcctl.EnumServicesStatusExA.resume_handle", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8935 { &hf_svcctl_EnumServicesStatusExA_scm_handle
,
8936 { "Scm Handle", "svcctl.EnumServicesStatusExA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8937 { &hf_svcctl_EnumServicesStatusExA_service_returned
,
8938 { "Service Returned", "svcctl.EnumServicesStatusExA.service_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8939 { &hf_svcctl_EnumServicesStatusExA_service_type
,
8940 { "Service Type", "svcctl.EnumServicesStatusExA.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
8941 { &hf_svcctl_EnumServicesStatusExA_services
,
8942 { "Services", "svcctl.EnumServicesStatusExA.services", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8943 { &hf_svcctl_EnumServicesStatusExA_state
,
8944 { "State", "svcctl.EnumServicesStatusExA.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
8945 { &hf_svcctl_EnumServicesStatusExW_group_name
,
8946 { "Group Name", "svcctl.EnumServicesStatusExW.group_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8947 { &hf_svcctl_EnumServicesStatusExW_info_level
,
8948 { "Info Level", "svcctl.EnumServicesStatusExW.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8949 { &hf_svcctl_EnumServicesStatusExW_needed
,
8950 { "Needed", "svcctl.EnumServicesStatusExW.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8951 { &hf_svcctl_EnumServicesStatusExW_offered
,
8952 { "Offered", "svcctl.EnumServicesStatusExW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8953 { &hf_svcctl_EnumServicesStatusExW_resume_handle
,
8954 { "Resume Handle", "svcctl.EnumServicesStatusExW.resume_handle", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8955 { &hf_svcctl_EnumServicesStatusExW_scmanager
,
8956 { "Scmanager", "svcctl.EnumServicesStatusExW.scmanager", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8957 { &hf_svcctl_EnumServicesStatusExW_service_returned
,
8958 { "Service Returned", "svcctl.EnumServicesStatusExW.service_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8959 { &hf_svcctl_EnumServicesStatusExW_service_type
,
8960 { "Service Type", "svcctl.EnumServicesStatusExW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
8961 { &hf_svcctl_EnumServicesStatusExW_services
,
8962 { "Services", "svcctl.EnumServicesStatusExW.services", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8963 { &hf_svcctl_EnumServicesStatusExW_state
,
8964 { "State", "svcctl.EnumServicesStatusExW.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
8965 { &hf_svcctl_QUERY_SERVICE_CONFIG_dependencies
,
8966 { "Dependencies", "svcctl.QUERY_SERVICE_CONFIG.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8967 { &hf_svcctl_QUERY_SERVICE_CONFIG_displayname
,
8968 { "Displayname", "svcctl.QUERY_SERVICE_CONFIG.displayname", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8969 { &hf_svcctl_QUERY_SERVICE_CONFIG_error_control
,
8970 { "Error Control", "svcctl.QUERY_SERVICE_CONFIG.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
8971 { &hf_svcctl_QUERY_SERVICE_CONFIG_executablepath
,
8972 { "Executablepath", "svcctl.QUERY_SERVICE_CONFIG.executablepath", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8973 { &hf_svcctl_QUERY_SERVICE_CONFIG_loadordergroup
,
8974 { "Loadordergroup", "svcctl.QUERY_SERVICE_CONFIG.loadordergroup", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8975 { &hf_svcctl_QUERY_SERVICE_CONFIG_service_type
,
8976 { "Service Type", "svcctl.QUERY_SERVICE_CONFIG.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
8977 { &hf_svcctl_QUERY_SERVICE_CONFIG_start_type
,
8978 { "Start Type", "svcctl.QUERY_SERVICE_CONFIG.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
8979 { &hf_svcctl_QUERY_SERVICE_CONFIG_startname
,
8980 { "Startname", "svcctl.QUERY_SERVICE_CONFIG.startname", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8981 { &hf_svcctl_QUERY_SERVICE_CONFIG_tag_id
,
8982 { "Tag Id", "svcctl.QUERY_SERVICE_CONFIG.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8983 { &hf_svcctl_SERVICE_LOCK_STATUS_is_locked
,
8984 { "Is Locked", "svcctl.SERVICE_LOCK_STATUS.is_locked", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8985 { &hf_svcctl_SERVICE_LOCK_STATUS_lock_duration
,
8986 { "Lock Duration", "svcctl.SERVICE_LOCK_STATUS.lock_duration", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8987 { &hf_svcctl_SERVICE_LOCK_STATUS_lock_owner
,
8988 { "Lock Owner", "svcctl.SERVICE_LOCK_STATUS.lock_owner", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
8989 { &hf_svcctl_SERVICE_STATUS_PROCESS_check_point
,
8990 { "Check Point", "svcctl.SERVICE_STATUS_PROCESS.check_point", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8991 { &hf_svcctl_SERVICE_STATUS_PROCESS_controls_accepted
,
8992 { "Controls Accepted", "svcctl.SERVICE_STATUS_PROCESS.controls_accepted", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
8993 { &hf_svcctl_SERVICE_STATUS_PROCESS_process_id
,
8994 { "Process Id", "svcctl.SERVICE_STATUS_PROCESS.process_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8995 { &hf_svcctl_SERVICE_STATUS_PROCESS_service_exit_code
,
8996 { "Service Exit Code", "svcctl.SERVICE_STATUS_PROCESS.service_exit_code", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
8997 { &hf_svcctl_SERVICE_STATUS_PROCESS_service_flags
,
8998 { "Service Flags", "svcctl.SERVICE_STATUS_PROCESS.service_flags", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceFlags_vals
), 0, NULL
, HFILL
}},
8999 { &hf_svcctl_SERVICE_STATUS_PROCESS_state
,
9000 { "State", "svcctl.SERVICE_STATUS_PROCESS.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceStatus_vals
), 0, NULL
, HFILL
}},
9001 { &hf_svcctl_SERVICE_STATUS_PROCESS_type
,
9002 { "Type", "svcctl.SERVICE_STATUS_PROCESS.type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9003 { &hf_svcctl_SERVICE_STATUS_PROCESS_wait_hint
,
9004 { "Wait Hint", "svcctl.SERVICE_STATUS_PROCESS.wait_hint", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9005 { &hf_svcctl_SERVICE_STATUS_PROCESS_win32_exit_code
,
9006 { "Win32 Exit Code", "svcctl.SERVICE_STATUS_PROCESS.win32_exit_code", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
9007 { &hf_svcctl_SERVICE_STATUS_check_point
,
9008 { "Check Point", "svcctl.SERVICE_STATUS.check_point", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9009 { &hf_svcctl_SERVICE_STATUS_controls_accepted
,
9010 { "Controls Accepted", "svcctl.SERVICE_STATUS.controls_accepted", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9011 { &hf_svcctl_SERVICE_STATUS_service_exit_code
,
9012 { "Service Exit Code", "svcctl.SERVICE_STATUS.service_exit_code", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9013 { &hf_svcctl_SERVICE_STATUS_state
,
9014 { "State", "svcctl.SERVICE_STATUS.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceStatus_vals
), 0, NULL
, HFILL
}},
9015 { &hf_svcctl_SERVICE_STATUS_type
,
9016 { "Type", "svcctl.SERVICE_STATUS.type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9017 { &hf_svcctl_SERVICE_STATUS_wait_hint
,
9018 { "Wait Hint", "svcctl.SERVICE_STATUS.wait_hint", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9019 { &hf_svcctl_SERVICE_STATUS_win32_exit_code
,
9020 { "Win32 Exit Code", "svcctl.SERVICE_STATUS.win32_exit_code", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
9022 { "Operation", "svcctl.opnum", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9023 { &hf_svcctl_service_buffer_size
,
9024 { "Buffer Size", "svcctl.services.buffer_size", FT_UINT32
, BASE_DEC
, NULL
, 0, "NULL", HFILL
}},
9025 { &hf_svcctl_service_referent_id
,
9026 { "Referent ID(offset)", "svcctl.ENUM_SERVICE_STATUSW.referent_id", FT_UINT32
, BASE_DEC
, NULL
, 0, "NULL", HFILL
}},
9027 { &hf_svcctl_svcctl_ArgumentStringA_string
,
9028 { "String", "svcctl.svcctl_ArgumentStringA.string", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9029 { &hf_svcctl_svcctl_ArgumentString_string
,
9030 { "String", "svcctl.svcctl_ArgumentString.string", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9031 { &hf_svcctl_svcctl_ChangeServiceConfig2A_info
,
9032 { "Info", "svcctl.svcctl_ChangeServiceConfig2A.info", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9033 { &hf_svcctl_svcctl_ChangeServiceConfig2A_info_level
,
9034 { "Info Level", "svcctl.svcctl_ChangeServiceConfig2A.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9035 { &hf_svcctl_svcctl_ChangeServiceConfig2A_service_handle
,
9036 { "Service Handle", "svcctl.svcctl_ChangeServiceConfig2A.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9037 { &hf_svcctl_svcctl_ChangeServiceConfig2W_handle
,
9038 { "Handle", "svcctl.svcctl_ChangeServiceConfig2W.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9039 { &hf_svcctl_svcctl_ChangeServiceConfig2W_info
,
9040 { "Info", "svcctl.svcctl_ChangeServiceConfig2W.info", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9041 { &hf_svcctl_svcctl_ChangeServiceConfig2W_info_level
,
9042 { "Info Level", "svcctl.svcctl_ChangeServiceConfig2W.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9043 { &hf_svcctl_svcctl_ChangeServiceConfigA_binary_path
,
9044 { "Binary Path", "svcctl.svcctl_ChangeServiceConfigA.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9045 { &hf_svcctl_svcctl_ChangeServiceConfigA_dependencies
,
9046 { "Dependencies", "svcctl.svcctl_ChangeServiceConfigA.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9047 { &hf_svcctl_svcctl_ChangeServiceConfigA_display_name
,
9048 { "Display Name", "svcctl.svcctl_ChangeServiceConfigA.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9049 { &hf_svcctl_svcctl_ChangeServiceConfigA_error_control
,
9050 { "Error Control", "svcctl.svcctl_ChangeServiceConfigA.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9051 { &hf_svcctl_svcctl_ChangeServiceConfigA_load_order_group
,
9052 { "Load Order Group", "svcctl.svcctl_ChangeServiceConfigA.load_order_group", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9053 { &hf_svcctl_svcctl_ChangeServiceConfigA_password
,
9054 { "Password", "svcctl.svcctl_ChangeServiceConfigA.password", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9055 { &hf_svcctl_svcctl_ChangeServiceConfigA_service_handle
,
9056 { "Service Handle", "svcctl.svcctl_ChangeServiceConfigA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9057 { &hf_svcctl_svcctl_ChangeServiceConfigA_service_start_name
,
9058 { "Service Start Name", "svcctl.svcctl_ChangeServiceConfigA.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9059 { &hf_svcctl_svcctl_ChangeServiceConfigA_service_type
,
9060 { "Service Type", "svcctl.svcctl_ChangeServiceConfigA.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9061 { &hf_svcctl_svcctl_ChangeServiceConfigA_start_type
,
9062 { "Start Type", "svcctl.svcctl_ChangeServiceConfigA.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9063 { &hf_svcctl_svcctl_ChangeServiceConfigA_tag_id
,
9064 { "Tag Id", "svcctl.svcctl_ChangeServiceConfigA.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9065 { &hf_svcctl_svcctl_ChangeServiceConfigW_binary_path
,
9066 { "Binary Path", "svcctl.svcctl_ChangeServiceConfigW.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9067 { &hf_svcctl_svcctl_ChangeServiceConfigW_dependencies
,
9068 { "Dependencies", "svcctl.svcctl_ChangeServiceConfigW.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9069 { &hf_svcctl_svcctl_ChangeServiceConfigW_display_name
,
9070 { "Display Name", "svcctl.svcctl_ChangeServiceConfigW.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9071 { &hf_svcctl_svcctl_ChangeServiceConfigW_dwDependSize
,
9072 { "DwDependSize", "svcctl.svcctl_ChangeServiceConfigW.dwDependSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9073 { &hf_svcctl_svcctl_ChangeServiceConfigW_dwPwSize
,
9074 { "DwPwSize", "svcctl.svcctl_ChangeServiceConfigW.dwPwSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9075 { &hf_svcctl_svcctl_ChangeServiceConfigW_error_control
,
9076 { "Error Control", "svcctl.svcctl_ChangeServiceConfigW.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9077 { &hf_svcctl_svcctl_ChangeServiceConfigW_load_order_group
,
9078 { "Load Order Group", "svcctl.svcctl_ChangeServiceConfigW.load_order_group", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9079 { &hf_svcctl_svcctl_ChangeServiceConfigW_password
,
9080 { "Password", "svcctl.svcctl_ChangeServiceConfigW.password", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9081 { &hf_svcctl_svcctl_ChangeServiceConfigW_service_handle
,
9082 { "Service Handle", "svcctl.svcctl_ChangeServiceConfigW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9083 { &hf_svcctl_svcctl_ChangeServiceConfigW_service_start_name
,
9084 { "Service Start Name", "svcctl.svcctl_ChangeServiceConfigW.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9085 { &hf_svcctl_svcctl_ChangeServiceConfigW_service_type
,
9086 { "Service Type", "svcctl.svcctl_ChangeServiceConfigW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9087 { &hf_svcctl_svcctl_ChangeServiceConfigW_start_type
,
9088 { "Start Type", "svcctl.svcctl_ChangeServiceConfigW.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9089 { &hf_svcctl_svcctl_ChangeServiceConfigW_tag_id
,
9090 { "Tag Id", "svcctl.svcctl_ChangeServiceConfigW.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9091 { &hf_svcctl_svcctl_CloseServiceHandle_object_handle
,
9092 { "Object Handle", "svcctl.svcctl_CloseServiceHandle.object_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9093 { &hf_svcctl_svcctl_ControlService_control
,
9094 { "Control", "svcctl.svcctl_ControlService.control", FT_UINT32
, BASE_DEC
, VALS(svcctl_SERVICE_CONTROL_vals
), 0, NULL
, HFILL
}},
9095 { &hf_svcctl_svcctl_ControlService_service_handle
,
9096 { "Service Handle", "svcctl.svcctl_ControlService.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9097 { &hf_svcctl_svcctl_ControlService_service_status
,
9098 { "Service Status", "svcctl.svcctl_ControlService.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9099 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_HARDWAREPROFILECHANGE
,
9100 { "SERVICE ACCEPT HARDWAREPROFILECHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_HARDWAREPROFILECHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_HARDWAREPROFILECHANGE_tfs
), ( 0x00000020 ), NULL
, HFILL
}},
9101 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_NETBINDCHANGE
,
9102 { "SERVICE ACCEPT NETBINDCHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_NETBINDCHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_NETBINDCHANGE_tfs
), ( 0x00000010 ), NULL
, HFILL
}},
9103 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PARAMCHANGE
,
9104 { "SERVICE ACCEPT PARAMCHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_PARAMCHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_PARAMCHANGE_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
9105 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PAUSE_CONTINUE
,
9106 { "SERVICE ACCEPT PAUSE CONTINUE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_PAUSE_CONTINUE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_PAUSE_CONTINUE_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
9107 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_POWEREVENT
,
9108 { "SERVICE ACCEPT POWEREVENT", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_POWEREVENT", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_POWEREVENT_tfs
), ( 0x00000040 ), NULL
, HFILL
}},
9109 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PRESHUTDOWN
,
9110 { "SERVICE ACCEPT PRESHUTDOWN", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_PRESHUTDOWN", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_PRESHUTDOWN_tfs
), ( 0x00000100 ), NULL
, HFILL
}},
9111 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SESSIONCHANGE
,
9112 { "SERVICE ACCEPT SESSIONCHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_SESSIONCHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_SESSIONCHANGE_tfs
), ( 0x00000080 ), NULL
, HFILL
}},
9113 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SHUTDOWN
,
9114 { "SERVICE ACCEPT SHUTDOWN", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_SHUTDOWN", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_SHUTDOWN_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
9115 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_STOP
,
9116 { "SERVICE ACCEPT STOP", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_STOP", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_STOP_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
9117 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TIMECHANGE
,
9118 { "SERVICE ACCEPT TIMECHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_TIMECHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_TIMECHANGE_tfs
), ( 0x00000200 ), NULL
, HFILL
}},
9119 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TRIGGEREVENT
,
9120 { "SERVICE ACCEPT TRIGGEREVENT", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_TRIGGEREVENT", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_TRIGGEREVENT_tfs
), ( 0x00000400 ), NULL
, HFILL
}},
9121 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_USERMODEREBOOT
,
9122 { "SERVICE ACCEPT USERMODEREBOOT", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_USERMODEREBOOT", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_USERMODEREBOOT_tfs
), ( 0x00000800 ), NULL
, HFILL
}},
9123 { &hf_svcctl_svcctl_CreateServiceA_DisplayName
,
9124 { "DisplayName", "svcctl.svcctl_CreateServiceA.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9125 { &hf_svcctl_svcctl_CreateServiceA_LoadOrderGroupKey
,
9126 { "LoadOrderGroupKey", "svcctl.svcctl_CreateServiceA.LoadOrderGroupKey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9127 { &hf_svcctl_svcctl_CreateServiceA_ServiceName
,
9128 { "ServiceName", "svcctl.svcctl_CreateServiceA.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9129 { &hf_svcctl_svcctl_CreateServiceA_binary_path
,
9130 { "Binary Path", "svcctl.svcctl_CreateServiceA.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9131 { &hf_svcctl_svcctl_CreateServiceA_dependencies
,
9132 { "Dependencies", "svcctl.svcctl_CreateServiceA.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9133 { &hf_svcctl_svcctl_CreateServiceA_dependencies_size
,
9134 { "Dependencies Size", "svcctl.svcctl_CreateServiceA.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9135 { &hf_svcctl_svcctl_CreateServiceA_desired_access
,
9136 { "Desired Access", "svcctl.svcctl_CreateServiceA.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9137 { &hf_svcctl_svcctl_CreateServiceA_error_control
,
9138 { "Error Control", "svcctl.svcctl_CreateServiceA.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9139 { &hf_svcctl_svcctl_CreateServiceA_password
,
9140 { "Password", "svcctl.svcctl_CreateServiceA.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9141 { &hf_svcctl_svcctl_CreateServiceA_password_size
,
9142 { "Password Size", "svcctl.svcctl_CreateServiceA.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9143 { &hf_svcctl_svcctl_CreateServiceA_scm_handle
,
9144 { "Scm Handle", "svcctl.svcctl_CreateServiceA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9145 { &hf_svcctl_svcctl_CreateServiceA_service_handle
,
9146 { "Service Handle", "svcctl.svcctl_CreateServiceA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9147 { &hf_svcctl_svcctl_CreateServiceA_service_start_name
,
9148 { "Service Start Name", "svcctl.svcctl_CreateServiceA.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9149 { &hf_svcctl_svcctl_CreateServiceA_service_type
,
9150 { "Service Type", "svcctl.svcctl_CreateServiceA.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9151 { &hf_svcctl_svcctl_CreateServiceA_start_type
,
9152 { "Start Type", "svcctl.svcctl_CreateServiceA.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9153 { &hf_svcctl_svcctl_CreateServiceA_tag_id
,
9154 { "Tag Id", "svcctl.svcctl_CreateServiceA.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9155 { &hf_svcctl_svcctl_CreateServiceWOW64A_DisplayName
,
9156 { "DisplayName", "svcctl.svcctl_CreateServiceWOW64A.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9157 { &hf_svcctl_svcctl_CreateServiceWOW64A_LoadOrderGroupKey
,
9158 { "LoadOrderGroupKey", "svcctl.svcctl_CreateServiceWOW64A.LoadOrderGroupKey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9159 { &hf_svcctl_svcctl_CreateServiceWOW64A_ServiceName
,
9160 { "ServiceName", "svcctl.svcctl_CreateServiceWOW64A.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9161 { &hf_svcctl_svcctl_CreateServiceWOW64A_binary_path
,
9162 { "Binary Path", "svcctl.svcctl_CreateServiceWOW64A.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9163 { &hf_svcctl_svcctl_CreateServiceWOW64A_dependencies
,
9164 { "Dependencies", "svcctl.svcctl_CreateServiceWOW64A.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9165 { &hf_svcctl_svcctl_CreateServiceWOW64A_dependencies_size
,
9166 { "Dependencies Size", "svcctl.svcctl_CreateServiceWOW64A.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9167 { &hf_svcctl_svcctl_CreateServiceWOW64A_desired_access
,
9168 { "Desired Access", "svcctl.svcctl_CreateServiceWOW64A.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9169 { &hf_svcctl_svcctl_CreateServiceWOW64A_error_control
,
9170 { "Error Control", "svcctl.svcctl_CreateServiceWOW64A.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9171 { &hf_svcctl_svcctl_CreateServiceWOW64A_handle
,
9172 { "Handle", "svcctl.svcctl_CreateServiceWOW64A.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9173 { &hf_svcctl_svcctl_CreateServiceWOW64A_password
,
9174 { "Password", "svcctl.svcctl_CreateServiceWOW64A.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9175 { &hf_svcctl_svcctl_CreateServiceWOW64A_password_size
,
9176 { "Password Size", "svcctl.svcctl_CreateServiceWOW64A.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9177 { &hf_svcctl_svcctl_CreateServiceWOW64A_scm_handle
,
9178 { "Scm Handle", "svcctl.svcctl_CreateServiceWOW64A.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9179 { &hf_svcctl_svcctl_CreateServiceWOW64A_service_start_name
,
9180 { "Service Start Name", "svcctl.svcctl_CreateServiceWOW64A.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9181 { &hf_svcctl_svcctl_CreateServiceWOW64A_service_type
,
9182 { "Service Type", "svcctl.svcctl_CreateServiceWOW64A.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9183 { &hf_svcctl_svcctl_CreateServiceWOW64A_start_type
,
9184 { "Start Type", "svcctl.svcctl_CreateServiceWOW64A.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9185 { &hf_svcctl_svcctl_CreateServiceWOW64A_tag_id
,
9186 { "Tag Id", "svcctl.svcctl_CreateServiceWOW64A.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9187 { &hf_svcctl_svcctl_CreateServiceWOW64W_DisplayName
,
9188 { "DisplayName", "svcctl.svcctl_CreateServiceWOW64W.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9189 { &hf_svcctl_svcctl_CreateServiceWOW64W_LoadOrderGroupKey
,
9190 { "LoadOrderGroupKey", "svcctl.svcctl_CreateServiceWOW64W.LoadOrderGroupKey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9191 { &hf_svcctl_svcctl_CreateServiceWOW64W_ServiceName
,
9192 { "ServiceName", "svcctl.svcctl_CreateServiceWOW64W.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9193 { &hf_svcctl_svcctl_CreateServiceWOW64W_binary_path
,
9194 { "Binary Path", "svcctl.svcctl_CreateServiceWOW64W.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9195 { &hf_svcctl_svcctl_CreateServiceWOW64W_dependencies
,
9196 { "Dependencies", "svcctl.svcctl_CreateServiceWOW64W.dependencies", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9197 { &hf_svcctl_svcctl_CreateServiceWOW64W_dependencies_size
,
9198 { "Dependencies Size", "svcctl.svcctl_CreateServiceWOW64W.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9199 { &hf_svcctl_svcctl_CreateServiceWOW64W_desired_access
,
9200 { "Desired Access", "svcctl.svcctl_CreateServiceWOW64W.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9201 { &hf_svcctl_svcctl_CreateServiceWOW64W_error_control
,
9202 { "Error Control", "svcctl.svcctl_CreateServiceWOW64W.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9203 { &hf_svcctl_svcctl_CreateServiceWOW64W_handle
,
9204 { "Handle", "svcctl.svcctl_CreateServiceWOW64W.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9205 { &hf_svcctl_svcctl_CreateServiceWOW64W_password
,
9206 { "Password", "svcctl.svcctl_CreateServiceWOW64W.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9207 { &hf_svcctl_svcctl_CreateServiceWOW64W_password_size
,
9208 { "Password Size", "svcctl.svcctl_CreateServiceWOW64W.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9209 { &hf_svcctl_svcctl_CreateServiceWOW64W_scm_handle
,
9210 { "Scm Handle", "svcctl.svcctl_CreateServiceWOW64W.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9211 { &hf_svcctl_svcctl_CreateServiceWOW64W_service_start_name
,
9212 { "Service Start Name", "svcctl.svcctl_CreateServiceWOW64W.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9213 { &hf_svcctl_svcctl_CreateServiceWOW64W_service_type
,
9214 { "Service Type", "svcctl.svcctl_CreateServiceWOW64W.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9215 { &hf_svcctl_svcctl_CreateServiceWOW64W_start_type
,
9216 { "Start Type", "svcctl.svcctl_CreateServiceWOW64W.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9217 { &hf_svcctl_svcctl_CreateServiceWOW64W_tag_id
,
9218 { "Tag Id", "svcctl.svcctl_CreateServiceWOW64W.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9219 { &hf_svcctl_svcctl_CreateServiceW_DisplayName
,
9220 { "DisplayName", "svcctl.svcctl_CreateServiceW.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9221 { &hf_svcctl_svcctl_CreateServiceW_LoadOrderGroup
,
9222 { "LoadOrderGroup", "svcctl.svcctl_CreateServiceW.LoadOrderGroup", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9223 { &hf_svcctl_svcctl_CreateServiceW_ServiceName
,
9224 { "ServiceName", "svcctl.svcctl_CreateServiceW.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9225 { &hf_svcctl_svcctl_CreateServiceW_binary_path
,
9226 { "Binary Path", "svcctl.svcctl_CreateServiceW.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9227 { &hf_svcctl_svcctl_CreateServiceW_dependencies
,
9228 { "Dependencies", "svcctl.svcctl_CreateServiceW.dependencies", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9229 { &hf_svcctl_svcctl_CreateServiceW_dependencies_size
,
9230 { "Dependencies Size", "svcctl.svcctl_CreateServiceW.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9231 { &hf_svcctl_svcctl_CreateServiceW_desired_access
,
9232 { "Desired Access", "svcctl.svcctl_CreateServiceW.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9233 { &hf_svcctl_svcctl_CreateServiceW_error_control
,
9234 { "Error Control", "svcctl.svcctl_CreateServiceW.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9235 { &hf_svcctl_svcctl_CreateServiceW_password
,
9236 { "Password", "svcctl.svcctl_CreateServiceW.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9237 { &hf_svcctl_svcctl_CreateServiceW_password_size
,
9238 { "Password Size", "svcctl.svcctl_CreateServiceW.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9239 { &hf_svcctl_svcctl_CreateServiceW_scm_handle
,
9240 { "Scm Handle", "svcctl.svcctl_CreateServiceW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9241 { &hf_svcctl_svcctl_CreateServiceW_service_handle
,
9242 { "Service Handle", "svcctl.svcctl_CreateServiceW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9243 { &hf_svcctl_svcctl_CreateServiceW_service_start_name
,
9244 { "Service Start Name", "svcctl.svcctl_CreateServiceW.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9245 { &hf_svcctl_svcctl_CreateServiceW_service_type
,
9246 { "Service Type", "svcctl.svcctl_CreateServiceW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9247 { &hf_svcctl_svcctl_CreateServiceW_start_type
,
9248 { "Start Type", "svcctl.svcctl_CreateServiceW.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9249 { &hf_svcctl_svcctl_CreateServiceW_tag_id
,
9250 { "Tag Id", "svcctl.svcctl_CreateServiceW.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9251 { &hf_svcctl_svcctl_CreateWowService_DisplayName
,
9252 { "DisplayName", "svcctl.svcctl_CreateWowService.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9253 { &hf_svcctl_svcctl_CreateWowService_LoadOrderGroupKey
,
9254 { "LoadOrderGroupKey", "svcctl.svcctl_CreateWowService.LoadOrderGroupKey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9255 { &hf_svcctl_svcctl_CreateWowService_ServiceName
,
9256 { "ServiceName", "svcctl.svcctl_CreateWowService.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9257 { &hf_svcctl_svcctl_CreateWowService_binary_path
,
9258 { "Binary Path", "svcctl.svcctl_CreateWowService.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9259 { &hf_svcctl_svcctl_CreateWowService_dependencies
,
9260 { "Dependencies", "svcctl.svcctl_CreateWowService.dependencies", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9261 { &hf_svcctl_svcctl_CreateWowService_dependencies_size
,
9262 { "Dependencies Size", "svcctl.svcctl_CreateWowService.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9263 { &hf_svcctl_svcctl_CreateWowService_desired_access
,
9264 { "Desired Access", "svcctl.svcctl_CreateWowService.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9265 { &hf_svcctl_svcctl_CreateWowService_error_control
,
9266 { "Error Control", "svcctl.svcctl_CreateWowService.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9267 { &hf_svcctl_svcctl_CreateWowService_handle
,
9268 { "Handle", "svcctl.svcctl_CreateWowService.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9269 { &hf_svcctl_svcctl_CreateWowService_password
,
9270 { "Password", "svcctl.svcctl_CreateWowService.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9271 { &hf_svcctl_svcctl_CreateWowService_password_size
,
9272 { "Password Size", "svcctl.svcctl_CreateWowService.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9273 { &hf_svcctl_svcctl_CreateWowService_scm_handle
,
9274 { "Scm Handle", "svcctl.svcctl_CreateWowService.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9275 { &hf_svcctl_svcctl_CreateWowService_service_start_name
,
9276 { "Service Start Name", "svcctl.svcctl_CreateWowService.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9277 { &hf_svcctl_svcctl_CreateWowService_service_type
,
9278 { "Service Type", "svcctl.svcctl_CreateWowService.service_type", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9279 { &hf_svcctl_svcctl_CreateWowService_service_wow_type
,
9280 { "Service Wow Type", "svcctl.svcctl_CreateWowService.service_wow_type", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9281 { &hf_svcctl_svcctl_CreateWowService_start_type
,
9282 { "Start Type", "svcctl.svcctl_CreateWowService.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9283 { &hf_svcctl_svcctl_CreateWowService_tag_id
,
9284 { "Tag Id", "svcctl.svcctl_CreateWowService.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9285 { &hf_svcctl_svcctl_DeleteService_service_handle
,
9286 { "Service Handle", "svcctl.svcctl_DeleteService.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9287 { &hf_svcctl_svcctl_EnumDependentServicesA_needed
,
9288 { "Needed", "svcctl.svcctl_EnumDependentServicesA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9289 { &hf_svcctl_svcctl_EnumDependentServicesA_offered
,
9290 { "Offered", "svcctl.svcctl_EnumDependentServicesA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9291 { &hf_svcctl_svcctl_EnumDependentServicesA_service_handle
,
9292 { "Service Handle", "svcctl.svcctl_EnumDependentServicesA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9293 { &hf_svcctl_svcctl_EnumDependentServicesA_service_status
,
9294 { "Service Status", "svcctl.svcctl_EnumDependentServicesA.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9295 { &hf_svcctl_svcctl_EnumDependentServicesA_services_returned
,
9296 { "Services Returned", "svcctl.svcctl_EnumDependentServicesA.services_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9297 { &hf_svcctl_svcctl_EnumDependentServicesA_state
,
9298 { "State", "svcctl.svcctl_EnumDependentServicesA.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9299 { &hf_svcctl_svcctl_EnumDependentServicesW_bytesneeded
,
9300 { "Bytesneeded", "svcctl.svcctl_EnumDependentServicesW.bytesneeded", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9301 { &hf_svcctl_svcctl_EnumDependentServicesW_offered
,
9302 { "Offered", "svcctl.svcctl_EnumDependentServicesW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9303 { &hf_svcctl_svcctl_EnumDependentServicesW_service_handle
,
9304 { "Service Handle", "svcctl.svcctl_EnumDependentServicesW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9305 { &hf_svcctl_svcctl_EnumDependentServicesW_service_state
,
9306 { "Service State", "svcctl.svcctl_EnumDependentServicesW.service_state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9307 { &hf_svcctl_svcctl_EnumDependentServicesW_service_status
,
9308 { "Service Status", "svcctl.svcctl_EnumDependentServicesW.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9309 { &hf_svcctl_svcctl_EnumDependentServicesW_services_returned
,
9310 { "Services Returned", "svcctl.svcctl_EnumDependentServicesW.services_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9311 { &hf_svcctl_svcctl_EnumServiceGroupW_ResumeIndex
,
9312 { "ResumeIndex", "svcctl.svcctl_EnumServiceGroupW.ResumeIndex", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9313 { &hf_svcctl_svcctl_EnumServiceGroupW_cbBufSize
,
9314 { "CbBufSize", "svcctl.svcctl_EnumServiceGroupW.cbBufSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9315 { &hf_svcctl_svcctl_EnumServiceGroupW_lpBuffer
,
9316 { "LpBuffer", "svcctl.svcctl_EnumServiceGroupW.lpBuffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9317 { &hf_svcctl_svcctl_EnumServiceGroupW_lpServicesReturned
,
9318 { "LpServicesReturned", "svcctl.svcctl_EnumServiceGroupW.lpServicesReturned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9319 { &hf_svcctl_svcctl_EnumServiceGroupW_pcbBytesNeeded
,
9320 { "PcbBytesNeeded", "svcctl.svcctl_EnumServiceGroupW.pcbBytesNeeded", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9321 { &hf_svcctl_svcctl_EnumServiceGroupW_pszGroupName
,
9322 { "PszGroupName", "svcctl.svcctl_EnumServiceGroupW.pszGroupName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9323 { &hf_svcctl_svcctl_EnumServiceGroupW_scm_handle
,
9324 { "Scm Handle", "svcctl.svcctl_EnumServiceGroupW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9325 { &hf_svcctl_svcctl_EnumServiceGroupW_service_state
,
9326 { "Service State", "svcctl.svcctl_EnumServiceGroupW.service_state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9327 { &hf_svcctl_svcctl_EnumServiceGroupW_service_type
,
9328 { "Service Type", "svcctl.svcctl_EnumServiceGroupW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9329 { &hf_svcctl_svcctl_EnumServicesStatusA_needed
,
9330 { "Needed", "svcctl.svcctl_EnumServicesStatusA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9331 { &hf_svcctl_svcctl_EnumServicesStatusA_offered
,
9332 { "Offered", "svcctl.svcctl_EnumServicesStatusA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9333 { &hf_svcctl_svcctl_EnumServicesStatusA_resume_handle
,
9334 { "Resume Handle", "svcctl.svcctl_EnumServicesStatusA.resume_handle", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9335 { &hf_svcctl_svcctl_EnumServicesStatusA_scm_handle
,
9336 { "Scm Handle", "svcctl.svcctl_EnumServicesStatusA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9337 { &hf_svcctl_svcctl_EnumServicesStatusA_service
,
9338 { "Service", "svcctl.svcctl_EnumServicesStatusA.service", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9339 { &hf_svcctl_svcctl_EnumServicesStatusA_service_state
,
9340 { "Service State", "svcctl.svcctl_EnumServicesStatusA.service_state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9341 { &hf_svcctl_svcctl_EnumServicesStatusA_service_type
,
9342 { "Service Type", "svcctl.svcctl_EnumServicesStatusA.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9343 { &hf_svcctl_svcctl_EnumServicesStatusA_services_returned
,
9344 { "Services Returned", "svcctl.svcctl_EnumServicesStatusA.services_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9345 { &hf_svcctl_svcctl_EnumServicesStatusW_bytes_needed
,
9346 { "Bytes Needed", "svcctl.svcctl_EnumServicesStatusW.bytes_needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9347 { &hf_svcctl_svcctl_EnumServicesStatusW_offered
,
9348 { "Offered", "svcctl.svcctl_EnumServicesStatusW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9349 { &hf_svcctl_svcctl_EnumServicesStatusW_resume_index
,
9350 { "Resume Index", "svcctl.svcctl_EnumServicesStatusW.resume_index", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9351 { &hf_svcctl_svcctl_EnumServicesStatusW_scm_handle
,
9352 { "Scm Handle", "svcctl.svcctl_EnumServicesStatusW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9353 { &hf_svcctl_svcctl_EnumServicesStatusW_service_state
,
9354 { "Service State", "svcctl.svcctl_EnumServicesStatusW.service_state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9355 { &hf_svcctl_svcctl_EnumServicesStatusW_service_type
,
9356 { "Service Type", "svcctl.svcctl_EnumServicesStatusW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9357 { &hf_svcctl_svcctl_EnumServicesStatusW_services
,
9358 { "Services", "svcctl.svcctl_EnumServicesStatusW.services", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9359 { &hf_svcctl_svcctl_EnumServicesStatusW_services_returned
,
9360 { "Services Returned", "svcctl.svcctl_EnumServicesStatusW.services_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9361 { &hf_svcctl_svcctl_GetCurrentGroupeStateW_handle
,
9362 { "Handle", "svcctl.svcctl_GetCurrentGroupeStateW.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9363 { &hf_svcctl_svcctl_GetCurrentGroupeStateW_lpLoadOrderGroup
,
9364 { "LpLoadOrderGroup", "svcctl.svcctl_GetCurrentGroupeStateW.lpLoadOrderGroup", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9365 { &hf_svcctl_svcctl_GetCurrentGroupeStateW_state
,
9366 { "State", "svcctl.svcctl_GetCurrentGroupeStateW.state", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9367 { &hf_svcctl_svcctl_GetServiceDisplayNameA_display_name
,
9368 { "Display Name", "svcctl.svcctl_GetServiceDisplayNameA.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9369 { &hf_svcctl_svcctl_GetServiceDisplayNameA_display_name_length
,
9370 { "Display Name Length", "svcctl.svcctl_GetServiceDisplayNameA.display_name_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9371 { &hf_svcctl_svcctl_GetServiceDisplayNameA_handle
,
9372 { "Handle", "svcctl.svcctl_GetServiceDisplayNameA.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9373 { &hf_svcctl_svcctl_GetServiceDisplayNameA_service_name
,
9374 { "Service Name", "svcctl.svcctl_GetServiceDisplayNameA.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9375 { &hf_svcctl_svcctl_GetServiceDisplayNameW_display_name
,
9376 { "Display Name", "svcctl.svcctl_GetServiceDisplayNameW.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9377 { &hf_svcctl_svcctl_GetServiceDisplayNameW_display_name_length
,
9378 { "Display Name Length", "svcctl.svcctl_GetServiceDisplayNameW.display_name_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9379 { &hf_svcctl_svcctl_GetServiceDisplayNameW_scm_handle
,
9380 { "Scm Handle", "svcctl.svcctl_GetServiceDisplayNameW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9381 { &hf_svcctl_svcctl_GetServiceDisplayNameW_service_name
,
9382 { "Service Name", "svcctl.svcctl_GetServiceDisplayNameW.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9383 { &hf_svcctl_svcctl_GetServiceKeyNameA_display_name_length
,
9384 { "Display Name Length", "svcctl.svcctl_GetServiceKeyNameA.display_name_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9385 { &hf_svcctl_svcctl_GetServiceKeyNameA_key_name
,
9386 { "Key Name", "svcctl.svcctl_GetServiceKeyNameA.key_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9387 { &hf_svcctl_svcctl_GetServiceKeyNameA_scm_handle
,
9388 { "Scm Handle", "svcctl.svcctl_GetServiceKeyNameA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9389 { &hf_svcctl_svcctl_GetServiceKeyNameA_service_name
,
9390 { "Service Name", "svcctl.svcctl_GetServiceKeyNameA.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9391 { &hf_svcctl_svcctl_GetServiceKeyNameW_display_name
,
9392 { "Display Name", "svcctl.svcctl_GetServiceKeyNameW.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9393 { &hf_svcctl_svcctl_GetServiceKeyNameW_scm_handle
,
9394 { "Scm Handle", "svcctl.svcctl_GetServiceKeyNameW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9395 { &hf_svcctl_svcctl_GetServiceKeyNameW_service_name
,
9396 { "Service Name", "svcctl.svcctl_GetServiceKeyNameW.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9397 { &hf_svcctl_svcctl_GetServiceKeyNameW_service_name_length
,
9398 { "Service Name Length", "svcctl.svcctl_GetServiceKeyNameW.service_name_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9399 { &hf_svcctl_svcctl_LockServiceDatabase_lock_handle
,
9400 { "Lock Handle", "svcctl.svcctl_LockServiceDatabase.lock_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9401 { &hf_svcctl_svcctl_LockServiceDatabase_scm_handle
,
9402 { "Scm Handle", "svcctl.svcctl_LockServiceDatabase.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9403 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ALL_ACCESS
,
9404 { "SC RIGHT MGR ALL ACCESS", "svcctl.svcctl_MgrAccessMask.SC_RIGHT_MGR_ALL_ACCESS", FT_BOOLEAN
, 32, TFS(&svcctl_MgrAccessMask_SC_RIGHT_MGR_ALL_ACCESS_tfs
), ( 0x000F003F ), NULL
, HFILL
}},
9405 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CONNECT
,
9406 { "SC RIGHT MGR CONNECT", "svcctl.svcctl_MgrAccessMask.SC_RIGHT_MGR_CONNECT", FT_BOOLEAN
, 32, TFS(&svcctl_MgrAccessMask_SC_RIGHT_MGR_CONNECT_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
9407 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CREATE_SERVICE
,
9408 { "SC RIGHT MGR CREATE SERVICE", "svcctl.svcctl_MgrAccessMask.SC_RIGHT_MGR_CREATE_SERVICE", FT_BOOLEAN
, 32, TFS(&svcctl_MgrAccessMask_SC_RIGHT_MGR_CREATE_SERVICE_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
9409 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ENUMERATE_SERVICE
,
9410 { "SC RIGHT MGR ENUMERATE SERVICE", "svcctl.svcctl_MgrAccessMask.SC_RIGHT_MGR_ENUMERATE_SERVICE", FT_BOOLEAN
, 32, TFS(&svcctl_MgrAccessMask_SC_RIGHT_MGR_ENUMERATE_SERVICE_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
9411 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_LOCK
,
9412 { "SC RIGHT MGR LOCK", "svcctl.svcctl_MgrAccessMask.SC_RIGHT_MGR_LOCK", FT_BOOLEAN
, 32, TFS(&svcctl_MgrAccessMask_SC_RIGHT_MGR_LOCK_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
9413 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_MODIFY_BOOT_CONFIG
,
9414 { "SC RIGHT MGR MODIFY BOOT CONFIG", "svcctl.svcctl_MgrAccessMask.SC_RIGHT_MGR_MODIFY_BOOT_CONFIG", FT_BOOLEAN
, 32, TFS(&svcctl_MgrAccessMask_SC_RIGHT_MGR_MODIFY_BOOT_CONFIG_tfs
), ( 0x00000020 ), NULL
, HFILL
}},
9415 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_QUERY_LOCK_STATUS
,
9416 { "SC RIGHT MGR QUERY LOCK STATUS", "svcctl.svcctl_MgrAccessMask.SC_RIGHT_MGR_QUERY_LOCK_STATUS", FT_BOOLEAN
, 32, TFS(&svcctl_MgrAccessMask_SC_RIGHT_MGR_QUERY_LOCK_STATUS_tfs
), ( 0x00000010 ), NULL
, HFILL
}},
9417 { &hf_svcctl_svcctl_NotifyBootConfigStatus_boot_acceptable
,
9418 { "Boot Acceptable", "svcctl.svcctl_NotifyBootConfigStatus.boot_acceptable", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9419 { &hf_svcctl_svcctl_NotifyBootConfigStatus_machine_name
,
9420 { "Machine Name", "svcctl.svcctl_NotifyBootConfigStatus.machine_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9421 { &hf_svcctl_svcctl_OpenSCManager2_database_name
,
9422 { "Database Name", "svcctl.svcctl_OpenSCManager2.database_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9423 { &hf_svcctl_svcctl_OpenSCManager2_desired_access
,
9424 { "Desired Access", "svcctl.svcctl_OpenSCManager2.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9425 { &hf_svcctl_svcctl_OpenSCManager2_handle
,
9426 { "Handle", "svcctl.svcctl_OpenSCManager2.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9427 { &hf_svcctl_svcctl_OpenSCManagerA_DatabaseName
,
9428 { "DatabaseName", "svcctl.svcctl_OpenSCManagerA.DatabaseName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9429 { &hf_svcctl_svcctl_OpenSCManagerA_MachineName
,
9430 { "MachineName", "svcctl.svcctl_OpenSCManagerA.MachineName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9431 { &hf_svcctl_svcctl_OpenSCManagerA_access_mask
,
9432 { "Access Mask", "svcctl.svcctl_OpenSCManagerA.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9433 { &hf_svcctl_svcctl_OpenSCManagerA_scm_handle
,
9434 { "Scm Handle", "svcctl.svcctl_OpenSCManagerA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9435 { &hf_svcctl_svcctl_OpenSCManagerW_DatabaseName
,
9436 { "DatabaseName", "svcctl.svcctl_OpenSCManagerW.DatabaseName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9437 { &hf_svcctl_svcctl_OpenSCManagerW_MachineName
,
9438 { "MachineName", "svcctl.svcctl_OpenSCManagerW.MachineName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9439 { &hf_svcctl_svcctl_OpenSCManagerW_access_mask
,
9440 { "Access Mask", "svcctl.svcctl_OpenSCManagerW.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9441 { &hf_svcctl_svcctl_OpenSCManagerW_scm_handle
,
9442 { "Scm Handle", "svcctl.svcctl_OpenSCManagerW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9443 { &hf_svcctl_svcctl_OpenServiceA_ServiceName
,
9444 { "ServiceName", "svcctl.svcctl_OpenServiceA.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9445 { &hf_svcctl_svcctl_OpenServiceA_access_mask
,
9446 { "Access Mask", "svcctl.svcctl_OpenServiceA.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9447 { &hf_svcctl_svcctl_OpenServiceA_scm_handle
,
9448 { "Scm Handle", "svcctl.svcctl_OpenServiceA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9449 { &hf_svcctl_svcctl_OpenServiceA_service_handle
,
9450 { "Service Handle", "svcctl.svcctl_OpenServiceA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9451 { &hf_svcctl_svcctl_OpenServiceW_ServiceName
,
9452 { "ServiceName", "svcctl.svcctl_OpenServiceW.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9453 { &hf_svcctl_svcctl_OpenServiceW_access_mask
,
9454 { "Access Mask", "svcctl.svcctl_OpenServiceW.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9455 { &hf_svcctl_svcctl_OpenServiceW_scm_handle
,
9456 { "Scm Handle", "svcctl.svcctl_OpenServiceW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9457 { &hf_svcctl_svcctl_OpenServiceW_service_handle
,
9458 { "Service Handle", "svcctl.svcctl_OpenServiceW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9459 { &hf_svcctl_svcctl_QueryServiceConfig2A_buffer
,
9460 { "Buffer", "svcctl.svcctl_QueryServiceConfig2A.buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9461 { &hf_svcctl_svcctl_QueryServiceConfig2A_handle
,
9462 { "Handle", "svcctl.svcctl_QueryServiceConfig2A.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9463 { &hf_svcctl_svcctl_QueryServiceConfig2A_info_level
,
9464 { "Info Level", "svcctl.svcctl_QueryServiceConfig2A.info_level", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ConfigLevel_vals
), 0, NULL
, HFILL
}},
9465 { &hf_svcctl_svcctl_QueryServiceConfig2A_needed
,
9466 { "Needed", "svcctl.svcctl_QueryServiceConfig2A.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9467 { &hf_svcctl_svcctl_QueryServiceConfig2A_offered
,
9468 { "Offered", "svcctl.svcctl_QueryServiceConfig2A.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9469 { &hf_svcctl_svcctl_QueryServiceConfig2W_buffer
,
9470 { "Buffer", "svcctl.svcctl_QueryServiceConfig2W.buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9471 { &hf_svcctl_svcctl_QueryServiceConfig2W_handle
,
9472 { "Handle", "svcctl.svcctl_QueryServiceConfig2W.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9473 { &hf_svcctl_svcctl_QueryServiceConfig2W_info_level
,
9474 { "Info Level", "svcctl.svcctl_QueryServiceConfig2W.info_level", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ConfigLevel_vals
), 0, NULL
, HFILL
}},
9475 { &hf_svcctl_svcctl_QueryServiceConfig2W_needed
,
9476 { "Needed", "svcctl.svcctl_QueryServiceConfig2W.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9477 { &hf_svcctl_svcctl_QueryServiceConfig2W_offered
,
9478 { "Offered", "svcctl.svcctl_QueryServiceConfig2W.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9479 { &hf_svcctl_svcctl_QueryServiceConfigA_needed
,
9480 { "Needed", "svcctl.svcctl_QueryServiceConfigA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9481 { &hf_svcctl_svcctl_QueryServiceConfigA_offered
,
9482 { "Offered", "svcctl.svcctl_QueryServiceConfigA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9483 { &hf_svcctl_svcctl_QueryServiceConfigA_query
,
9484 { "Query", "svcctl.svcctl_QueryServiceConfigA.query", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9485 { &hf_svcctl_svcctl_QueryServiceConfigA_service_handle
,
9486 { "Service Handle", "svcctl.svcctl_QueryServiceConfigA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9487 { &hf_svcctl_svcctl_QueryServiceConfigEx_info_level
,
9488 { "Info Level", "svcctl.svcctl_QueryServiceConfigEx.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9489 { &hf_svcctl_svcctl_QueryServiceConfigEx_service_handle
,
9490 { "Service Handle", "svcctl.svcctl_QueryServiceConfigEx.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9491 { &hf_svcctl_svcctl_QueryServiceConfigW_needed
,
9492 { "Needed", "svcctl.svcctl_QueryServiceConfigW.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9493 { &hf_svcctl_svcctl_QueryServiceConfigW_offered
,
9494 { "Offered", "svcctl.svcctl_QueryServiceConfigW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9495 { &hf_svcctl_svcctl_QueryServiceConfigW_service_config
,
9496 { "Service Config", "svcctl.svcctl_QueryServiceConfigW.service_config", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9497 { &hf_svcctl_svcctl_QueryServiceConfigW_service_handle
,
9498 { "Service Handle", "svcctl.svcctl_QueryServiceConfigW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9499 { &hf_svcctl_svcctl_QueryServiceLockStatusA_lock_status
,
9500 { "Lock Status", "svcctl.svcctl_QueryServiceLockStatusA.lock_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9501 { &hf_svcctl_svcctl_QueryServiceLockStatusA_needed
,
9502 { "Needed", "svcctl.svcctl_QueryServiceLockStatusA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9503 { &hf_svcctl_svcctl_QueryServiceLockStatusA_offered
,
9504 { "Offered", "svcctl.svcctl_QueryServiceLockStatusA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9505 { &hf_svcctl_svcctl_QueryServiceLockStatusA_scm_handle
,
9506 { "Scm Handle", "svcctl.svcctl_QueryServiceLockStatusA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9507 { &hf_svcctl_svcctl_QueryServiceLockStatusW_lock_status
,
9508 { "Lock Status", "svcctl.svcctl_QueryServiceLockStatusW.lock_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9509 { &hf_svcctl_svcctl_QueryServiceLockStatusW_needed
,
9510 { "Needed", "svcctl.svcctl_QueryServiceLockStatusW.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9511 { &hf_svcctl_svcctl_QueryServiceLockStatusW_offered
,
9512 { "Offered", "svcctl.svcctl_QueryServiceLockStatusW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9513 { &hf_svcctl_svcctl_QueryServiceLockStatusW_scm_handle
,
9514 { "Scm Handle", "svcctl.svcctl_QueryServiceLockStatusW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9515 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_bytes_needed
,
9516 { "Bytes Needed", "svcctl.svcctl_QueryServiceObjectSecurity.bytes_needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9517 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_offered
,
9518 { "Offered", "svcctl.svcctl_QueryServiceObjectSecurity.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9519 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_security_descriptor
,
9520 { "Security Descriptor", "svcctl.svcctl_QueryServiceObjectSecurity.security_descriptor", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9521 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_security_flags
,
9522 { "Security Flags", "svcctl.svcctl_QueryServiceObjectSecurity.security_flags", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9523 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_service_handle
,
9524 { "Service Handle", "svcctl.svcctl_QueryServiceObjectSecurity.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9525 { &hf_svcctl_svcctl_QueryServiceStatusEx_buffer
,
9526 { "Buffer", "svcctl.svcctl_QueryServiceStatusEx.buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9527 { &hf_svcctl_svcctl_QueryServiceStatusEx_handle
,
9528 { "Handle", "svcctl.svcctl_QueryServiceStatusEx.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9529 { &hf_svcctl_svcctl_QueryServiceStatusEx_info_level
,
9530 { "Info Level", "svcctl.svcctl_QueryServiceStatusEx.info_level", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StatusLevel_vals
), 0, NULL
, HFILL
}},
9531 { &hf_svcctl_svcctl_QueryServiceStatusEx_needed
,
9532 { "Needed", "svcctl.svcctl_QueryServiceStatusEx.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9533 { &hf_svcctl_svcctl_QueryServiceStatusEx_offered
,
9534 { "Offered", "svcctl.svcctl_QueryServiceStatusEx.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9535 { &hf_svcctl_svcctl_QueryServiceStatus_service_handle
,
9536 { "Service Handle", "svcctl.svcctl_QueryServiceStatus.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9537 { &hf_svcctl_svcctl_QueryServiceStatus_service_status
,
9538 { "Service Status", "svcctl.svcctl_QueryServiceStatus.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9539 { &hf_svcctl_svcctl_SCSetServiceBitsA_handle
,
9540 { "Handle", "svcctl.svcctl_SCSetServiceBitsA.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9541 { &hf_svcctl_svcctl_SCSetServiceBitsA_lpString
,
9542 { "LpString", "svcctl.svcctl_SCSetServiceBitsA.lpString", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9543 { &hf_svcctl_svcctl_SCSetServiceBitsA_service_bits
,
9544 { "Service Bits", "svcctl.svcctl_SCSetServiceBitsA.service_bits", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9545 { &hf_svcctl_svcctl_SCSetServiceBitsA_set_bits_on
,
9546 { "Set Bits On", "svcctl.svcctl_SCSetServiceBitsA.set_bits_on", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9547 { &hf_svcctl_svcctl_SCSetServiceBitsA_update_immediately
,
9548 { "Update Immediately", "svcctl.svcctl_SCSetServiceBitsA.update_immediately", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9549 { &hf_svcctl_svcctl_SCSetServiceBitsW_lpString
,
9550 { "LpString", "svcctl.svcctl_SCSetServiceBitsW.lpString", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9551 { &hf_svcctl_svcctl_SCSetServiceBitsW_service_bits
,
9552 { "Service Bits", "svcctl.svcctl_SCSetServiceBitsW.service_bits", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9553 { &hf_svcctl_svcctl_SCSetServiceBitsW_service_handle
,
9554 { "Service Handle", "svcctl.svcctl_SCSetServiceBitsW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9555 { &hf_svcctl_svcctl_SCSetServiceBitsW_set_bits_on
,
9556 { "Set Bits On", "svcctl.svcctl_SCSetServiceBitsW.set_bits_on", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9557 { &hf_svcctl_svcctl_SCSetServiceBitsW_update_immediately
,
9558 { "Update Immediately", "svcctl.svcctl_SCSetServiceBitsW.update_immediately", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9559 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_CHANGE_CONFIG
,
9560 { "SC RIGHT SVC CHANGE CONFIG", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_CHANGE_CONFIG", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_CHANGE_CONFIG_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
9561 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_ENUMERATE_DEPENDENTS
,
9562 { "SC RIGHT SVC ENUMERATE DEPENDENTS", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_ENUMERATE_DEPENDENTS", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_ENUMERATE_DEPENDENTS_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
9563 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_INTERROGATE
,
9564 { "SC RIGHT SVC INTERROGATE", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_INTERROGATE", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_INTERROGATE_tfs
), ( 0x00000080 ), NULL
, HFILL
}},
9565 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_PAUSE_CONTINUE
,
9566 { "SC RIGHT SVC PAUSE CONTINUE", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_PAUSE_CONTINUE", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_PAUSE_CONTINUE_tfs
), ( 0x00000040 ), NULL
, HFILL
}},
9567 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_CONFIG
,
9568 { "SC RIGHT SVC QUERY CONFIG", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_QUERY_CONFIG", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_CONFIG_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
9569 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_STATUS
,
9570 { "SC RIGHT SVC QUERY STATUS", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_QUERY_STATUS", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_STATUS_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
9571 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_START
,
9572 { "SC RIGHT SVC START", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_START", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_START_tfs
), ( 0x00000010 ), NULL
, HFILL
}},
9573 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_STOP
,
9574 { "SC RIGHT SVC STOP", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_STOP", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_STOP_tfs
), ( 0x00000020 ), NULL
, HFILL
}},
9575 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_USER_DEFINED_CONTROL
,
9576 { "SC RIGHT SVC USER DEFINED CONTROL", "svcctl.svcctl_ServiceAccessMask.SC_RIGHT_SVC_USER_DEFINED_CONTROL", FT_BOOLEAN
, 32, TFS(&svcctl_ServiceAccessMask_SC_RIGHT_SVC_USER_DEFINED_CONTROL_tfs
), ( 0x00000100 ), NULL
, HFILL
}},
9577 { &hf_svcctl_svcctl_SetServiceObjectSecurity_offered
,
9578 { "Offered", "svcctl.svcctl_SetServiceObjectSecurity.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9579 { &hf_svcctl_svcctl_SetServiceObjectSecurity_security_descriptor
,
9580 { "Security Descriptor", "svcctl.svcctl_SetServiceObjectSecurity.security_descriptor", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9581 { &hf_svcctl_svcctl_SetServiceObjectSecurity_security_flags
,
9582 { "Security Flags", "svcctl.svcctl_SetServiceObjectSecurity.security_flags", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9583 { &hf_svcctl_svcctl_SetServiceObjectSecurity_service_handle
,
9584 { "Service Handle", "svcctl.svcctl_SetServiceObjectSecurity.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9585 { &hf_svcctl_svcctl_SetServiceStatus_service_handle
,
9586 { "Service Handle", "svcctl.svcctl_SetServiceStatus.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9587 { &hf_svcctl_svcctl_SetServiceStatus_service_status
,
9588 { "Service Status", "svcctl.svcctl_SetServiceStatus.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9589 { &hf_svcctl_svcctl_StartServiceA_Arguments
,
9590 { "Arguments", "svcctl.svcctl_StartServiceA.Arguments", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9591 { &hf_svcctl_svcctl_StartServiceA_NumArgs
,
9592 { "NumArgs", "svcctl.svcctl_StartServiceA.NumArgs", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9593 { &hf_svcctl_svcctl_StartServiceA_service_handle
,
9594 { "Service Handle", "svcctl.svcctl_StartServiceA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9595 { &hf_svcctl_svcctl_StartServiceW_Arguments
,
9596 { "Arguments", "svcctl.svcctl_StartServiceW.Arguments", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9597 { &hf_svcctl_svcctl_StartServiceW_NumArgs
,
9598 { "NumArgs", "svcctl.svcctl_StartServiceW.NumArgs", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9599 { &hf_svcctl_svcctl_StartServiceW_service_handle
,
9600 { "Service Handle", "svcctl.svcctl_StartServiceW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9601 { &hf_svcctl_svcctl_UnlockServiceDatabase_lock_handle
,
9602 { "Lock Handle", "svcctl.svcctl_UnlockServiceDatabase.lock_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9603 { &hf_svcctl_werror
,
9604 { "Windows Error", "svcctl.werror", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
9608 static int *ett
[] = {
9609 &ett_svcctl_service
,
9610 &ett_svcctl_service_name
,
9611 &ett_svcctl_display_name
,
9613 &ett_svcctl_security_secinfo
,
9614 &ett_svcctl_SERVICE_LOCK_STATUS
,
9615 &ett_svcctl_svcctl_ControlsAccepted
,
9616 &ett_svcctl_SERVICE_STATUS
,
9617 &ett_svcctl_SERVICE_STATUS_PROCESS
,
9618 &ett_svcctl_ENUM_SERVICE_STATUSW
,
9619 &ett_svcctl_ENUM_SERVICE_STATUSA
,
9620 &ett_svcctl_svcctl_MgrAccessMask
,
9621 &ett_svcctl_svcctl_ServiceAccessMask
,
9622 &ett_svcctl_QUERY_SERVICE_CONFIG
,
9623 &ett_svcctl_svcctl_ArgumentString
,
9624 &ett_svcctl_svcctl_ArgumentStringA
,
9627 proto_dcerpc_svcctl
= proto_register_protocol("Service Control", "SVCCTL", "svcctl");
9628 proto_register_field_array(proto_dcerpc_svcctl
, hf
, array_length (hf
));
9629 proto_register_subtree_array(ett
, array_length(ett
));
9632 void proto_reg_handoff_dcerpc_svcctl(void)
9634 dcerpc_init_uuid(proto_dcerpc_svcctl
, ett_dcerpc_svcctl
,
9635 &uuid_dcerpc_svcctl
, ver_dcerpc_svcctl
,
9636 svcctl_dissectors
, hf_svcctl_opnum
);