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_
)
1231 struct ndr_generic_array nga
= { .is_conformant
= false, };
1233 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1235 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1236 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_SERVICE_LOCK_STATUS_lock_owner
, false, &nga
, &data
);
1237 proto_item_append_text(tree
, ": %s", data
);
1243 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_
)
1245 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_LOCK_STATUS_lock_duration
, 0);
1251 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_
)
1253 proto_item
*item
= NULL
;
1254 proto_tree
*tree
= NULL
;
1259 old_offset
= offset
;
1262 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1263 tree
= proto_item_add_subtree(item
, ett_svcctl_SERVICE_LOCK_STATUS
);
1266 offset
= svcctl_dissect_element_SERVICE_LOCK_STATUS_is_locked(tvb
, offset
, pinfo
, tree
, di
, drep
);
1268 offset
= svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_owner(tvb
, offset
, pinfo
, tree
, di
, drep
);
1270 offset
= svcctl_dissect_element_SERVICE_LOCK_STATUS_lock_duration(tvb
, offset
, pinfo
, tree
, di
, drep
);
1273 proto_item_set_len(item
, offset
-old_offset
);
1276 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1285 /* IDL: SVCCTL_STOPPED=0x00000001, */
1286 /* IDL: SVCCTL_START_PENDING=0x00000002, */
1287 /* IDL: SVCCTL_STOP_PENDING=0x00000003, */
1288 /* IDL: SVCCTL_RUNNING=0x00000004, */
1289 /* IDL: SVCCTL_CONTINUE_PENDING=0x00000005, */
1290 /* IDL: SVCCTL_PAUSE_PENDING=0x00000006, */
1291 /* IDL: SVCCTL_PAUSED=0x00000007, */
1295 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_
)
1297 uint32_t parameter
=0;
1301 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1310 /* IDL: SERVICE_TYPE_KERNEL_DRIVER=0x00000001, */
1311 /* IDL: SERVICE_TYPE_FS_DRIVER=0x00000002, */
1312 /* IDL: SERVICE_TYPE_ADAPTER=0x00000004, */
1313 /* IDL: SERVICE_TYPE_RECOGNIZER_DRIVER=0x00000008, */
1314 /* IDL: SERVICE_TYPE_DRIVER=SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER, */
1315 /* IDL: SERVICE_TYPE_WIN32_OWN_PROCESS=0x00000010, */
1316 /* IDL: SERVICE_TYPE_WIN32_SHARE_PROCESS=0x00000020, */
1317 /* IDL: SERVICE_TYPE_USER_OWN_PROCESS=0x00000050, */
1318 /* IDL: SERVICE_TYPE_USER_SHARE_PROCESS=0x00000060, */
1319 /* IDL: SERVICE_TYPE_WIN32=SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS, */
1320 /* IDL: SERVICE_TYPE_INTERACTIVE_PROCESS=0x00000100, */
1324 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_
)
1326 uint32_t parameter
=0;
1330 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1339 /* IDL: SERVICE_ACCEPT_STOP = 0x00000001 , */
1340 /* IDL: SERVICE_ACCEPT_PAUSE_CONTINUE = 0x00000002 , */
1341 /* IDL: SERVICE_ACCEPT_SHUTDOWN = 0x00000004 , */
1342 /* IDL: SERVICE_ACCEPT_PARAMCHANGE = 0x00000008 , */
1343 /* IDL: SERVICE_ACCEPT_NETBINDCHANGE = 0x00000010 , */
1344 /* IDL: SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 0x00000020 , */
1345 /* IDL: SERVICE_ACCEPT_POWEREVENT = 0x00000040 , */
1346 /* IDL: SERVICE_ACCEPT_SESSIONCHANGE = 0x00000080 , */
1347 /* IDL: SERVICE_ACCEPT_PRESHUTDOWN = 0x00000100 , */
1348 /* IDL: SERVICE_ACCEPT_TIMECHANGE = 0x00000200 , */
1349 /* IDL: SERVICE_ACCEPT_TRIGGEREVENT = 0x00000400 , */
1350 /* IDL: SERVICE_ACCEPT_USERMODEREBOOT = 0x00000800 , */
1354 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_
)
1357 static int * const svcctl_svcctl_ControlsAccepted_fields
[] = {
1358 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_STOP
,
1359 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PAUSE_CONTINUE
,
1360 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SHUTDOWN
,
1361 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PARAMCHANGE
,
1362 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_NETBINDCHANGE
,
1363 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_HARDWAREPROFILECHANGE
,
1364 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_POWEREVENT
,
1365 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SESSIONCHANGE
,
1366 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PRESHUTDOWN
,
1367 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TIMECHANGE
,
1368 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TRIGGEREVENT
,
1369 &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_USERMODEREBOOT
,
1375 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
1376 ett_svcctl_svcctl_ControlsAccepted
, svcctl_svcctl_ControlsAccepted_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
1378 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1381 proto_item_append_text(item
, ": (No values set)");
1383 if (flags
& (~0x00000fff)) {
1384 flags
&= (~0x00000fff);
1385 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
1393 /* IDL: svcctl_ServiceType type; */
1394 /* IDL: svcctl_ServiceStatus state; */
1395 /* IDL: svcctl_ControlsAccepted controls_accepted; */
1396 /* IDL: WERROR win32_exit_code; */
1397 /* IDL: uint32 service_exit_code; */
1398 /* IDL: uint32 check_point; */
1399 /* IDL: uint32 wait_hint; */
1403 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_
)
1405 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_type
, 0);
1411 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_
)
1413 offset
= svcctl_dissect_enum_ServiceStatus(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_state
, 0);
1419 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_
)
1421 offset
= svcctl_dissect_bitmap_ControlsAccepted(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_controls_accepted
, 0);
1427 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_
)
1429 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_win32_exit_code
, 0);
1435 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_
)
1437 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_service_exit_code
, 0);
1443 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_
)
1445 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_check_point
, 0);
1451 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_
)
1453 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_wait_hint
, 0);
1459 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_
)
1461 proto_item
*item
= NULL
;
1462 proto_tree
*tree
= NULL
;
1467 old_offset
= offset
;
1470 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1471 tree
= proto_item_add_subtree(item
, ett_svcctl_SERVICE_STATUS
);
1474 offset
= svcctl_dissect_element_SERVICE_STATUS_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
1476 offset
= svcctl_dissect_element_SERVICE_STATUS_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
1478 offset
= svcctl_dissect_element_SERVICE_STATUS_controls_accepted(tvb
, offset
, pinfo
, tree
, di
, drep
);
1480 offset
= svcctl_dissect_element_SERVICE_STATUS_win32_exit_code(tvb
, offset
, pinfo
, tree
, di
, drep
);
1482 offset
= svcctl_dissect_element_SERVICE_STATUS_service_exit_code(tvb
, offset
, pinfo
, tree
, di
, drep
);
1484 offset
= svcctl_dissect_element_SERVICE_STATUS_check_point(tvb
, offset
, pinfo
, tree
, di
, drep
);
1486 offset
= svcctl_dissect_element_SERVICE_STATUS_wait_hint(tvb
, offset
, pinfo
, tree
, di
, drep
);
1489 proto_item_set_len(item
, offset
-old_offset
);
1492 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1501 /* IDL: SERVICE_RUNS_IN_NONSYSTEM_ORNOTRUNNING=0x00000000, */
1502 /* IDL: SERVICE_RUNS_IN_SYSTEM_PROCESS=0x00000001, */
1506 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_
)
1508 uint32_t parameter
=0;
1512 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1521 /* IDL: svcctl_ServiceType type; */
1522 /* IDL: svcctl_ServiceStatus state; */
1523 /* IDL: svcctl_ControlsAccepted controls_accepted; */
1524 /* IDL: WERROR win32_exit_code; */
1525 /* IDL: uint32 service_exit_code; */
1526 /* IDL: uint32 check_point; */
1527 /* IDL: uint32 wait_hint; */
1528 /* IDL: uint32 process_id; */
1529 /* IDL: svcctl_ServiceFlags service_flags; */
1533 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_
)
1535 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_type
, 0);
1541 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_
)
1543 offset
= svcctl_dissect_enum_ServiceStatus(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_state
, 0);
1549 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_
)
1551 offset
= svcctl_dissect_bitmap_ControlsAccepted(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_controls_accepted
, 0);
1557 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_
)
1559 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_win32_exit_code
, 0);
1565 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_
)
1567 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_service_exit_code
, 0);
1573 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_
)
1575 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_check_point
, 0);
1581 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_
)
1583 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_wait_hint
, 0);
1589 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_
)
1591 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_process_id
, 0);
1597 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_
)
1599 offset
= svcctl_dissect_enum_ServiceFlags(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_SERVICE_STATUS_PROCESS_service_flags
, 0);
1605 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_
)
1607 proto_item
*item
= NULL
;
1608 proto_tree
*tree
= NULL
;
1613 old_offset
= offset
;
1616 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1617 tree
= proto_item_add_subtree(item
, ett_svcctl_SERVICE_STATUS_PROCESS
);
1620 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
1622 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
1624 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_controls_accepted(tvb
, offset
, pinfo
, tree
, di
, drep
);
1626 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_win32_exit_code(tvb
, offset
, pinfo
, tree
, di
, drep
);
1628 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_service_exit_code(tvb
, offset
, pinfo
, tree
, di
, drep
);
1630 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_check_point(tvb
, offset
, pinfo
, tree
, di
, drep
);
1632 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_wait_hint(tvb
, offset
, pinfo
, tree
, di
, drep
);
1634 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_process_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
1636 offset
= svcctl_dissect_element_SERVICE_STATUS_PROCESS_service_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
1639 proto_item_set_len(item
, offset
-old_offset
);
1642 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1651 /* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] [unique(1)] string *service_name; */
1652 /* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM)] [unique(1)] string *display_name; */
1653 /* IDL: SERVICE_STATUS status; */
1657 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_
)
1659 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
);
1665 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_
)
1667 offset
= dissect_null_term_wstring(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_ENUM_SERVICE_STATUSW_service_name
, 0);
1673 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_
)
1675 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
);
1681 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_
)
1683 offset
= dissect_null_term_wstring(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_ENUM_SERVICE_STATUSW_display_name
, 0);
1689 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_
)
1691 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_ENUM_SERVICE_STATUSW_status
,0);
1697 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_
)
1699 proto_item
*item
= NULL
;
1700 proto_tree
*tree
= NULL
;
1705 old_offset
= offset
;
1708 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1709 tree
= proto_item_add_subtree(item
, ett_svcctl_ENUM_SERVICE_STATUSW
);
1712 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSW_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1714 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSW_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1716 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSW_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
1719 proto_item_set_len(item
, offset
-old_offset
);
1722 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1731 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [unique(1)] string *service_name; */
1732 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [unique(1)] string *display_name; */
1733 /* IDL: SERVICE_STATUS status; */
1737 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_
)
1739 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
);
1745 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_
)
1747 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_ENUM_SERVICE_STATUSA_service_name
, 0);
1753 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_
)
1755 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
);
1761 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_
)
1763 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_ENUM_SERVICE_STATUSA_display_name
, 0);
1769 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_
)
1771 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_ENUM_SERVICE_STATUSA_status
,0);
1777 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_
)
1779 proto_item
*item
= NULL
;
1780 proto_tree
*tree
= NULL
;
1785 old_offset
= offset
;
1788 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1789 tree
= proto_item_add_subtree(item
, ett_svcctl_ENUM_SERVICE_STATUSA
);
1792 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSA_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1794 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSA_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1796 offset
= svcctl_dissect_element_ENUM_SERVICE_STATUSA_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
1799 proto_item_set_len(item
, offset
-old_offset
);
1802 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1811 /* IDL: SVCCTL_CONTROL_STOP=0x00000001, */
1812 /* IDL: SVCCTL_CONTROL_PAUSE=0x00000002, */
1813 /* IDL: SVCCTL_CONTROL_CONTINUE=0x00000003, */
1814 /* IDL: SVCCTL_CONTROL_INTERROGATE=0x00000004, */
1815 /* IDL: SVCCTL_CONTROL_SHUTDOWN=0x00000005, */
1816 /* IDL: SERVICE_CONTROL_PARAMCHANGE=0x00000006, */
1817 /* IDL: SERVICE_CONTROL_NETBINDADD=0x00000007, */
1818 /* IDL: SERVICE_CONTROL_NETBINDREMOVE=0x00000008, */
1819 /* IDL: SERVICE_CONTROL_NETBINDENABLE=0x00000009, */
1820 /* IDL: SERVICE_CONTROL_NETBINDDISABLE=0x0000000A, */
1824 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_
)
1826 uint32_t parameter
=0;
1830 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1839 /* IDL: SVCCTL_SVC_ERROR_IGNORE=0x00000000, */
1840 /* IDL: SVCCTL_SVC_ERROR_NORMAL=0x00000001, */
1841 /* IDL: SVCCTL_SVC_ERROR_CRITICAL=0x00000002, */
1842 /* IDL: SVCCTL_SVC_ERROR_SEVERE=0x00000003, */
1846 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_
)
1848 uint32_t parameter
=0;
1852 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1861 /* IDL: SVCCTL_BOOT_START=0x00000000, */
1862 /* IDL: SVCCTL_SYSTEM_START=0x00000001, */
1863 /* IDL: SVCCTL_AUTO_START=0x00000002, */
1864 /* IDL: SVCCTL_DEMAND_START=0x00000003, */
1865 /* IDL: SVCCTL_DISABLED=0x00000004, */
1869 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_
)
1871 uint32_t parameter
=0;
1875 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1884 /* IDL: SERVICE_STATE_ACTIVE=0x00000001, */
1885 /* IDL: SERVICE_STATE_INACTIVE=0x00000002, */
1886 /* IDL: SERVICE_STATE_ALL=(SERVICE_STATE_ACTIVE|SERVICE_STATE_INACTIVE), */
1890 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_
)
1892 uint32_t parameter
=0;
1896 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
1905 /* IDL: SC_RIGHT_MGR_CONNECT = 0x00000001 , */
1906 /* IDL: SC_RIGHT_MGR_CREATE_SERVICE = 0x00000002 , */
1907 /* IDL: SC_RIGHT_MGR_ENUMERATE_SERVICE = 0x00000004 , */
1908 /* IDL: SC_RIGHT_MGR_LOCK = 0x00000008 , */
1909 /* IDL: SC_RIGHT_MGR_QUERY_LOCK_STATUS = 0x00000010 , */
1910 /* IDL: SC_RIGHT_MGR_MODIFY_BOOT_CONFIG = 0x00000020 , */
1911 /* IDL: SC_RIGHT_MGR_ALL_ACCESS = 0x000F003F , */
1915 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_
)
1918 static int * const svcctl_svcctl_MgrAccessMask_fields
[] = {
1919 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CONNECT
,
1920 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CREATE_SERVICE
,
1921 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ENUMERATE_SERVICE
,
1922 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_LOCK
,
1923 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_QUERY_LOCK_STATUS
,
1924 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_MODIFY_BOOT_CONFIG
,
1925 &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ALL_ACCESS
,
1931 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
1932 ett_svcctl_svcctl_MgrAccessMask
, svcctl_svcctl_MgrAccessMask_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
1934 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1937 proto_item_append_text(item
, ": (No values set)");
1939 if (flags
& (~0x000f007e)) {
1940 flags
&= (~0x000f007e);
1941 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
1949 /* IDL: SC_RIGHT_SVC_QUERY_CONFIG = 0x00000001 , */
1950 /* IDL: SC_RIGHT_SVC_CHANGE_CONFIG = 0x00000002 , */
1951 /* IDL: SC_RIGHT_SVC_QUERY_STATUS = 0x00000004 , */
1952 /* IDL: SC_RIGHT_SVC_ENUMERATE_DEPENDENTS = 0x00000008 , */
1953 /* IDL: SC_RIGHT_SVC_START = 0x00000010 , */
1954 /* IDL: SC_RIGHT_SVC_STOP = 0x00000020 , */
1955 /* IDL: SC_RIGHT_SVC_PAUSE_CONTINUE = 0x00000040 , */
1956 /* IDL: SC_RIGHT_SVC_INTERROGATE = 0x00000080 , */
1957 /* IDL: SC_RIGHT_SVC_USER_DEFINED_CONTROL = 0x00000100 , */
1961 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_
)
1964 static int * const svcctl_svcctl_ServiceAccessMask_fields
[] = {
1965 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_CONFIG
,
1966 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_CHANGE_CONFIG
,
1967 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_STATUS
,
1968 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_ENUMERATE_DEPENDENTS
,
1969 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_START
,
1970 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_STOP
,
1971 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_PAUSE_CONTINUE
,
1972 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_INTERROGATE
,
1973 &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_USER_DEFINED_CONTROL
,
1979 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
1980 ett_svcctl_svcctl_ServiceAccessMask
, svcctl_svcctl_ServiceAccessMask_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
1982 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1985 proto_item_append_text(item
, ": (No values set)");
1987 if (flags
& (~0x000001ff)) {
1988 flags
&= (~0x000001ff);
1989 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
1997 /* IDL: svcctl_ServiceType service_type; */
1998 /* IDL: svcctl_StartType start_type; */
1999 /* IDL: svcctl_ErrorControl error_control; */
2000 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *executablepath; */
2001 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *loadordergroup; */
2002 /* IDL: uint32 tag_id; */
2003 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *dependencies; */
2004 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *startname; */
2005 /* IDL: [charset(UTF16)] [range(0,8192)] [unique(1)] uint16 *displayname; */
2009 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_
)
2011 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_QUERY_SERVICE_CONFIG_service_type
, 0);
2017 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_
)
2019 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_QUERY_SERVICE_CONFIG_start_type
, 0);
2025 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_
)
2027 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_QUERY_SERVICE_CONFIG_error_control
, 0);
2033 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_
)
2035 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
);
2041 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_
)
2044 struct ndr_generic_array nga
= { .is_conformant
= false, };
2046 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2048 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2049 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_executablepath
, false, &nga
, &data
);
2050 proto_item_append_text(tree
, ": %s", data
);
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_
)
2058 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
);
2064 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_
)
2067 struct ndr_generic_array nga
= { .is_conformant
= false, };
2069 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2071 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2072 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_loadordergroup
, false, &nga
, &data
);
2073 proto_item_append_text(tree
, ": %s", data
);
2079 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_
)
2081 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_QUERY_SERVICE_CONFIG_tag_id
, 0);
2087 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_
)
2089 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
);
2095 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_
)
2098 struct ndr_generic_array nga
= { .is_conformant
= false, };
2100 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2102 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2103 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_dependencies
, false, &nga
, &data
);
2104 proto_item_append_text(tree
, ": %s", data
);
2110 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_
)
2112 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
);
2118 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_
)
2121 struct ndr_generic_array nga
= { .is_conformant
= false, };
2123 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2125 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2126 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_startname
, false, &nga
, &data
);
2127 proto_item_append_text(tree
, ": %s", data
);
2133 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_
)
2135 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
);
2141 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_
)
2144 struct ndr_generic_array nga
= { .is_conformant
= false, };
2146 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2148 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2149 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_QUERY_SERVICE_CONFIG_displayname
, false, &nga
, &data
);
2150 proto_item_append_text(tree
, ": %s", data
);
2156 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_
)
2158 proto_item
*item
= NULL
;
2159 proto_tree
*tree
= NULL
;
2164 old_offset
= offset
;
2167 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2168 tree
= proto_item_add_subtree(item
, ett_svcctl_QUERY_SERVICE_CONFIG
);
2171 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
2173 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
2175 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
2177 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_executablepath(tvb
, offset
, pinfo
, tree
, di
, drep
);
2179 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_loadordergroup(tvb
, offset
, pinfo
, tree
, di
, drep
);
2181 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
2183 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
2185 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_startname(tvb
, offset
, pinfo
, tree
, di
, drep
);
2187 offset
= svcctl_dissect_element_QUERY_SERVICE_CONFIG_displayname(tvb
, offset
, pinfo
, tree
, di
, drep
);
2190 proto_item_set_len(item
, offset
-old_offset
);
2193 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2202 /* IDL: [charset(UTF16)] [range(0,SC_MAX_ARGUMENT_LENGTH)] [unique(1)] uint16 *string; */
2206 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_
)
2208 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
);
2214 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_
)
2217 struct ndr_generic_array nga
= { .is_conformant
= false, };
2219 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2221 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2222 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ArgumentString_string
, false, &nga
, &data
);
2223 proto_item_append_text(tree
, ": %s", data
);
2229 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_
)
2231 proto_item
*item
= NULL
;
2232 proto_tree
*tree
= NULL
;
2237 old_offset
= offset
;
2240 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2241 tree
= proto_item_add_subtree(item
, ett_svcctl_svcctl_ArgumentString
);
2244 offset
= svcctl_dissect_element_ArgumentString_string(tvb
, offset
, pinfo
, tree
, di
, drep
);
2247 proto_item_set_len(item
, offset
-old_offset
);
2250 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2259 /* IDL: [charset(ASCII)] [range(0,SC_MAX_ARGUMENT_LENGTH)] [unique(1)] uint8 *string; */
2263 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_
)
2265 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
);
2271 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_
)
2274 struct ndr_generic_array nga
= { .is_conformant
= false, };
2276 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2278 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2279 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_ArgumentStringA_string
, false, &nga
, &data
);
2280 proto_item_append_text(tree
, ": %s", data
);
2286 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_
)
2288 proto_item
*item
= NULL
;
2289 proto_tree
*tree
= NULL
;
2294 old_offset
= offset
;
2297 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
2298 tree
= proto_item_add_subtree(item
, ett_svcctl_svcctl_ArgumentStringA
);
2301 offset
= svcctl_dissect_element_ArgumentStringA_string(tvb
, offset
, pinfo
, tree
, di
, drep
);
2304 proto_item_set_len(item
, offset
-old_offset
);
2307 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
2316 /* IDL: SERVICE_CONFIG_DESCRIPTION=0x00000001, */
2317 /* IDL: SERVICE_CONFIG_FAILURE_ACTIONS=0x00000002, */
2321 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_
)
2323 uint32_t parameter
=0;
2327 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
2336 /* IDL: SVC_STATUS_PROCESS_INFO=0x00000000, */
2340 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_
)
2342 uint32_t parameter
=0;
2346 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
2354 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_
)
2356 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
);
2362 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_
)
2364 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CloseServiceHandle_object_handle
, 0);
2369 /* IDL: WERROR svcctl_CloseServiceHandle( */
2370 /* IDL: [in] [out] [ref] policy_handle *object_handle */
2374 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_
)
2378 di
->dcerpc_procedure_name
="CloseServiceHandle";
2379 offset
= svcctl_dissect_element_CloseServiceHandle_object_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2380 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2382 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2385 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2391 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_
)
2393 di
->dcerpc_procedure_name
="CloseServiceHandle";
2394 offset
= svcctl_dissect_element_CloseServiceHandle_object_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2395 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2400 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_
)
2402 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
);
2408 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_
)
2410 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ControlService_service_handle
, 0);
2416 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_
)
2418 offset
= svcctl_dissect_enum_SERVICE_CONTROL(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ControlService_control
, 0);
2424 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_
)
2426 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
);
2432 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_
)
2434 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_ControlService_service_status
,0);
2439 /* IDL: WERROR svcctl_ControlService( */
2440 /* IDL: [in] [ref] policy_handle *service_handle, */
2441 /* IDL: [in] SERVICE_CONTROL control, */
2442 /* IDL: [out] [ref] SERVICE_STATUS *service_status */
2446 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_
)
2450 di
->dcerpc_procedure_name
="ControlService";
2451 offset
= svcctl_dissect_element_ControlService_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
2452 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2454 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2457 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2463 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_
)
2465 di
->dcerpc_procedure_name
="ControlService";
2466 offset
= svcctl_dissect_element_ControlService_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2467 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2468 offset
= svcctl_dissect_element_ControlService_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
2469 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2474 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_
)
2476 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
);
2482 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_
)
2484 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_DeleteService_service_handle
, 0);
2489 /* IDL: WERROR svcctl_DeleteService( */
2490 /* IDL: [in] [ref] policy_handle *service_handle */
2494 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_
)
2498 di
->dcerpc_procedure_name
="DeleteService";
2499 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2502 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2508 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_
)
2510 di
->dcerpc_procedure_name
="DeleteService";
2511 offset
= svcctl_dissect_element_DeleteService_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2512 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2517 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_
)
2519 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
);
2525 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_
)
2527 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_LockServiceDatabase_scm_handle
, 0);
2533 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_
)
2535 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
);
2541 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_
)
2543 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_LockServiceDatabase_lock_handle
, 0);
2548 /* IDL: WERROR svcctl_LockServiceDatabase( */
2549 /* IDL: [in] [ref] policy_handle *scm_handle, */
2550 /* IDL: [out] [ref] policy_handle *lock_handle */
2554 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_
)
2558 di
->dcerpc_procedure_name
="LockServiceDatabase";
2559 offset
= svcctl_dissect_element_LockServiceDatabase_lock_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2560 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2562 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2565 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2571 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_
)
2573 di
->dcerpc_procedure_name
="LockServiceDatabase";
2574 offset
= svcctl_dissect_element_LockServiceDatabase_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2575 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2580 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_
)
2582 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
);
2588 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_
)
2590 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_service_handle
, 0);
2596 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_
)
2598 offset
= svcctl_dissect_bitmap_security_secinfo(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_security_flags
, 0);
2604 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_
)
2606 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
);
2612 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_
)
2614 struct ndr_generic_array nga
= { .is_conformant
= false, };
2616 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2618 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor__
);
2624 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_
)
2626 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_security_descriptor
, 0);
2632 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_
)
2634 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_offered
, 0);
2640 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_
)
2642 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
);
2648 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_
)
2650 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceObjectSecurity_bytes_needed
, 0);
2655 /* IDL: WERROR svcctl_QueryServiceObjectSecurity( */
2656 /* IDL: [in] [ref] policy_handle *service_handle, */
2657 /* IDL: [in] security_secinfo security_flags, */
2658 /* IDL: [out] [ref] [size_is(offered)] uint8 *security_descriptor, */
2659 /* IDL: [in] [range(0,0x40000)] uint32 offered, */
2660 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *bytes_needed */
2664 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_
)
2668 di
->dcerpc_procedure_name
="QueryServiceObjectSecurity";
2669 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_security_descriptor(tvb
, offset
, pinfo
, tree
, di
, drep
);
2670 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2672 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_bytes_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
2673 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2675 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2678 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2684 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_
)
2686 di
->dcerpc_procedure_name
="QueryServiceObjectSecurity";
2687 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2688 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2689 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_security_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
2690 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2691 offset
= svcctl_dissect_element_QueryServiceObjectSecurity_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
2692 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2697 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_
)
2699 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
);
2705 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_
)
2707 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceObjectSecurity_service_handle
, 0);
2713 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_
)
2715 offset
= svcctl_dissect_bitmap_security_secinfo(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceObjectSecurity_security_flags
, 0);
2721 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_
)
2723 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
);
2729 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_
)
2731 struct ndr_generic_array nga
= { .is_conformant
= false, };
2733 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2735 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor__
);
2741 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_
)
2743 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceObjectSecurity_security_descriptor
, 0);
2749 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_
)
2751 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceObjectSecurity_offered
, 0);
2756 /* IDL: WERROR svcctl_SetServiceObjectSecurity( */
2757 /* IDL: [in] [ref] policy_handle *service_handle, */
2758 /* IDL: [in] security_secinfo security_flags, */
2759 /* IDL: [in] [ref] [size_is(offered)] uint8 *security_descriptor, */
2760 /* IDL: [in] uint32 offered */
2764 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_
)
2768 di
->dcerpc_procedure_name
="SetServiceObjectSecurity";
2769 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2772 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2778 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_
)
2780 di
->dcerpc_procedure_name
="SetServiceObjectSecurity";
2781 offset
= svcctl_dissect_element_SetServiceObjectSecurity_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2782 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2783 offset
= svcctl_dissect_element_SetServiceObjectSecurity_security_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
2784 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2785 offset
= svcctl_dissect_element_SetServiceObjectSecurity_security_descriptor(tvb
, offset
, pinfo
, tree
, di
, drep
);
2786 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2787 offset
= svcctl_dissect_element_SetServiceObjectSecurity_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
2788 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2793 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_
)
2795 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
);
2801 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_
)
2803 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatus_service_handle
, 0);
2809 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_
)
2811 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
);
2817 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_
)
2819 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_QueryServiceStatus_service_status
,0);
2824 /* IDL: WERROR svcctl_QueryServiceStatus( */
2825 /* IDL: [in] [ref] policy_handle *service_handle, */
2826 /* IDL: [out] [ref] SERVICE_STATUS *service_status */
2830 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_
)
2834 di
->dcerpc_procedure_name
="QueryServiceStatus";
2835 offset
= svcctl_dissect_element_QueryServiceStatus_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
2836 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2838 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2841 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2847 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_
)
2849 di
->dcerpc_procedure_name
="QueryServiceStatus";
2850 offset
= svcctl_dissect_element_QueryServiceStatus_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2851 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2856 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_
)
2858 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
);
2864 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_
)
2866 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SetServiceStatus_service_handle
, 0);
2872 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_
)
2874 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
);
2880 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_
)
2882 offset
= svcctl_dissect_struct_SERVICE_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_SetServiceStatus_service_status
,0);
2887 /* IDL: WERROR svcctl_SetServiceStatus( */
2888 /* IDL: [in] [ref] policy_handle *service_handle, */
2889 /* IDL: [in] [ref] SERVICE_STATUS *service_status */
2893 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_
)
2897 di
->dcerpc_procedure_name
="SetServiceStatus";
2898 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2901 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2907 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_
)
2909 di
->dcerpc_procedure_name
="SetServiceStatus";
2910 offset
= svcctl_dissect_element_SetServiceStatus_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2911 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2912 offset
= svcctl_dissect_element_SetServiceStatus_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
2913 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2918 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_
)
2920 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
);
2926 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_
)
2928 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_UnlockServiceDatabase_lock_handle
, 0);
2933 /* IDL: WERROR svcctl_UnlockServiceDatabase( */
2934 /* IDL: [in] [out] [ref] policy_handle *lock_handle */
2938 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_
)
2942 di
->dcerpc_procedure_name
="UnlockServiceDatabase";
2943 offset
= svcctl_dissect_element_UnlockServiceDatabase_lock_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2944 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2946 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
2949 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2955 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_
)
2957 di
->dcerpc_procedure_name
="UnlockServiceDatabase";
2958 offset
= svcctl_dissect_element_UnlockServiceDatabase_lock_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2959 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2964 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_
)
2966 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
);
2972 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_
)
2975 struct ndr_generic_array nga
= { .is_conformant
= false, };
2977 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2979 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2980 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_NotifyBootConfigStatus_machine_name
, false, &nga
, &data
);
2981 proto_item_append_text(tree
, ": %s", data
);
2987 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_
)
2989 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_NotifyBootConfigStatus_boot_acceptable
, 0);
2994 /* IDL: WERROR svcctl_NotifyBootConfigStatus( */
2995 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *machine_name, */
2996 /* IDL: [in] uint32 boot_acceptable */
3000 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_
)
3004 di
->dcerpc_procedure_name
="NotifyBootConfigStatus";
3005 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3008 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3014 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_
)
3016 di
->dcerpc_procedure_name
="NotifyBootConfigStatus";
3017 offset
= svcctl_dissect_element_NotifyBootConfigStatus_machine_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3018 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3019 offset
= svcctl_dissect_element_NotifyBootConfigStatus_boot_acceptable(tvb
, offset
, pinfo
, tree
, di
, drep
);
3020 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3025 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_
)
3027 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
);
3033 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_
)
3035 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsW_service_handle
, 0);
3041 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_
)
3043 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsW_service_bits
, 0);
3049 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_
)
3051 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsW_set_bits_on
, 0);
3057 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_
)
3059 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsW_update_immediately
, 0);
3065 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_
)
3067 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
);
3073 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_
)
3076 struct ndr_generic_array nga
= { .is_conformant
= false, };
3078 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3080 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3081 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_SCSetServiceBitsW_lpString
, false, &nga
, &data
);
3082 proto_item_append_text(tree
, ": %s", data
);
3087 /* IDL: WERROR svcctl_SCSetServiceBitsW( */
3088 /* IDL: [in] [ref] policy_handle *service_handle, */
3089 /* IDL: [in] uint32 service_bits, */
3090 /* IDL: [in] uint32 set_bits_on, */
3091 /* IDL: [in] uint32 update_immediately, */
3092 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *lpString */
3096 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_
)
3100 di
->dcerpc_procedure_name
="SCSetServiceBitsW";
3101 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3104 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3110 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_
)
3112 di
->dcerpc_procedure_name
="SCSetServiceBitsW";
3113 offset
= svcctl_dissect_element_SCSetServiceBitsW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3114 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3115 offset
= svcctl_dissect_element_SCSetServiceBitsW_service_bits(tvb
, offset
, pinfo
, tree
, di
, drep
);
3116 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3117 offset
= svcctl_dissect_element_SCSetServiceBitsW_set_bits_on(tvb
, offset
, pinfo
, tree
, di
, drep
);
3118 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3119 offset
= svcctl_dissect_element_SCSetServiceBitsW_update_immediately(tvb
, offset
, pinfo
, tree
, di
, drep
);
3120 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3121 offset
= svcctl_dissect_element_SCSetServiceBitsW_lpString(tvb
, offset
, pinfo
, tree
, di
, drep
);
3122 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3127 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_
)
3129 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
);
3135 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_
)
3137 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_service_handle
, 0);
3143 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_
)
3145 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_service_type
, 0);
3151 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_
)
3153 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_start_type
, 0);
3159 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_
)
3161 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_error_control
, 0);
3167 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_
)
3169 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
);
3175 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_
)
3178 struct ndr_generic_array nga
= { .is_conformant
= false, };
3180 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3182 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3183 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_binary_path
, false, &nga
, &data
);
3184 proto_item_append_text(tree
, ": %s", data
);
3190 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_
)
3192 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
);
3198 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_
)
3201 struct ndr_generic_array nga
= { .is_conformant
= false, };
3203 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3205 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3206 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_load_order_group
, false, &nga
, &data
);
3207 proto_item_append_text(tree
, ": %s", data
);
3213 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_
)
3215 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
);
3221 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_
)
3223 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_tag_id
, 0);
3229 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_
)
3231 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
);
3237 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_
)
3240 struct ndr_generic_array nga
= { .is_conformant
= false, };
3242 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3244 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3245 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_dependencies
, false, &nga
, &data
);
3246 proto_item_append_text(tree
, ": %s", data
);
3252 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_
)
3254 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_dwDependSize
, 0);
3260 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_
)
3262 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
);
3268 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_
)
3271 struct ndr_generic_array nga
= { .is_conformant
= false, };
3273 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3275 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3276 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_service_start_name
, false, &nga
, &data
);
3277 proto_item_append_text(tree
, ": %s", data
);
3283 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_
)
3285 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
);
3291 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_
)
3294 struct ndr_generic_array nga
= { .is_conformant
= false, };
3296 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3298 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3299 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_password
, false, &nga
, &data
);
3300 proto_item_append_text(tree
, ": %s", data
);
3306 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_
)
3308 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigW_dwPwSize
, 0);
3314 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_
)
3316 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
);
3322 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_
)
3325 struct ndr_generic_array nga
= { .is_conformant
= false, };
3327 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3329 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3330 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_ChangeServiceConfigW_display_name
, false, &nga
, &data
);
3331 proto_item_append_text(tree
, ": %s", data
);
3336 /* IDL: WERROR svcctl_ChangeServiceConfigW( */
3337 /* IDL: [in] [ref] policy_handle *service_handle, */
3338 /* IDL: [in] svcctl_ServiceType service_type, */
3339 /* IDL: [in] svcctl_StartType start_type, */
3340 /* IDL: [in] svcctl_ErrorControl error_control, */
3341 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *binary_path, */
3342 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *load_order_group, */
3343 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
3344 /* IDL: [charset(UTF16)] [in] [size_is(dwDependSize)] [unique(1)] uint16 *dependencies, */
3345 /* IDL: [in] [range(0,SC_MAX_DEPEND_SIZE)] uint32 dwDependSize, */
3346 /* IDL: [charset(UTF16)] [in] [range(0,SC_MAX_ACCOUNT_NAME_LENGTH)] [unique(1)] uint16 *service_start_name, */
3347 /* IDL: [charset(UTF16)] [in] [size_is(dwPwSize)] [unique(1)] uint16 *password, */
3348 /* IDL: [in] [range(0,SC_MAX_PWD_SIZE)] uint32 dwPwSize, */
3349 /* IDL: [charset(UTF16)] [in] [range(0,SC_MAX_NAME_LENGTH)] [unique(1)] uint16 *display_name */
3353 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_
)
3357 di
->dcerpc_procedure_name
="ChangeServiceConfigW";
3358 offset
= svcctl_dissect_element_ChangeServiceConfigW_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
3359 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3361 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3364 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3370 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_
)
3372 di
->dcerpc_procedure_name
="ChangeServiceConfigW";
3373 offset
= svcctl_dissect_element_ChangeServiceConfigW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3374 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3375 offset
= svcctl_dissect_element_ChangeServiceConfigW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3376 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3377 offset
= svcctl_dissect_element_ChangeServiceConfigW_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3378 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3379 offset
= svcctl_dissect_element_ChangeServiceConfigW_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
3380 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3381 offset
= svcctl_dissect_element_ChangeServiceConfigW_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
3382 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3383 offset
= svcctl_dissect_element_ChangeServiceConfigW_load_order_group(tvb
, offset
, pinfo
, tree
, di
, drep
);
3384 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3385 offset
= svcctl_dissect_element_ChangeServiceConfigW_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
3386 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3387 offset
= svcctl_dissect_element_ChangeServiceConfigW_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
3388 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3389 offset
= svcctl_dissect_element_ChangeServiceConfigW_dwDependSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3390 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3391 offset
= svcctl_dissect_element_ChangeServiceConfigW_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3392 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3393 offset
= svcctl_dissect_element_ChangeServiceConfigW_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
3394 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3395 offset
= svcctl_dissect_element_ChangeServiceConfigW_dwPwSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
3396 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3397 offset
= svcctl_dissect_element_ChangeServiceConfigW_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3398 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3403 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_
)
3405 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
);
3411 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_
)
3413 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_scm_handle
, 0);
3419 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_
)
3422 struct ndr_generic_array nga
= { .is_conformant
= false, };
3424 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3426 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3427 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_ServiceName
, false, &nga
, &data
);
3428 proto_item_append_text(tree
, ": %s", data
);
3434 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_
)
3436 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
);
3442 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_
)
3445 struct ndr_generic_array nga
= { .is_conformant
= false, };
3447 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3449 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3450 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_DisplayName
, false, &nga
, &data
);
3451 proto_item_append_text(tree
, ": %s", data
);
3457 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_
)
3459 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_desired_access
, 0);
3465 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_
)
3467 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_service_type
, 0);
3473 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_
)
3475 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_start_type
, 0);
3481 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_
)
3483 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_error_control
, 0);
3489 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_
)
3492 struct ndr_generic_array nga
= { .is_conformant
= false, };
3494 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3496 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3497 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_binary_path
, false, &nga
, &data
);
3498 proto_item_append_text(tree
, ": %s", data
);
3504 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_
)
3506 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
);
3512 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_
)
3515 struct ndr_generic_array nga
= { .is_conformant
= false, };
3517 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3519 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3520 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_LoadOrderGroup
, false, &nga
, &data
);
3521 proto_item_append_text(tree
, ": %s", data
);
3527 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_
)
3529 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
);
3535 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_
)
3537 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_tag_id
, 0);
3543 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_
)
3545 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
);
3551 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_
)
3553 struct ndr_generic_array nga
= { .is_conformant
= false, };
3555 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3557 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateServiceW_dependencies__
);
3563 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_
)
3565 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_dependencies
, 0);
3571 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_
)
3573 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_dependencies_size
, 0);
3579 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_
)
3581 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
);
3587 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_
)
3590 struct ndr_generic_array nga
= { .is_conformant
= false, };
3592 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3594 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3595 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceW_service_start_name
, false, &nga
, &data
);
3596 proto_item_append_text(tree
, ": %s", data
);
3602 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_
)
3604 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
);
3610 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_
)
3612 struct ndr_generic_array nga
= { .is_conformant
= false, };
3614 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3616 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateServiceW_password__
);
3622 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_
)
3624 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_password
, 0);
3630 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_
)
3632 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_password_size
, 0);
3638 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_
)
3640 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
);
3646 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_
)
3648 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceW_service_handle
, 0);
3653 /* IDL: WERROR svcctl_CreateServiceW( */
3654 /* IDL: [in] [ref] policy_handle *scm_handle, */
3655 /* IDL: [charset(UTF16)] [in] uint16 ServiceName[*], */
3656 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *DisplayName, */
3657 /* IDL: [in] uint32 desired_access, */
3658 /* IDL: [in] svcctl_ServiceType service_type, */
3659 /* IDL: [in] svcctl_StartType start_type, */
3660 /* IDL: [in] svcctl_ErrorControl error_control, */
3661 /* IDL: [charset(UTF16)] [in] uint16 binary_path[*], */
3662 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *LoadOrderGroup, */
3663 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
3664 /* IDL: [in] [size_is(dependencies_size)] [unique(1)] uint8 *dependencies, */
3665 /* IDL: [in] uint32 dependencies_size, */
3666 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *service_start_name, */
3667 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
3668 /* IDL: [in] uint32 password_size, */
3669 /* IDL: [out] [ref] policy_handle *service_handle */
3673 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_
)
3677 di
->dcerpc_procedure_name
="CreateServiceW";
3678 offset
= svcctl_dissect_element_CreateServiceW_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
3679 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3681 offset
= svcctl_dissect_element_CreateServiceW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3682 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3684 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3687 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3693 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_
)
3695 di
->dcerpc_procedure_name
="CreateServiceW";
3696 offset
= svcctl_dissect_element_CreateServiceW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3697 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3698 offset
= svcctl_dissect_element_CreateServiceW_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
3699 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3700 offset
= svcctl_dissect_element_CreateServiceW_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
3701 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3702 offset
= svcctl_dissect_element_CreateServiceW_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
3703 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3704 offset
= svcctl_dissect_element_CreateServiceW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3705 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3706 offset
= svcctl_dissect_element_CreateServiceW_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3707 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3708 offset
= svcctl_dissect_element_CreateServiceW_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
3709 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3710 offset
= svcctl_dissect_element_CreateServiceW_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
3711 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3712 offset
= svcctl_dissect_element_CreateServiceW_LoadOrderGroup(tvb
, offset
, pinfo
, tree
, di
, drep
);
3713 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3714 offset
= svcctl_dissect_element_CreateServiceW_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
3715 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3716 offset
= svcctl_dissect_element_CreateServiceW_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
3717 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3718 offset
= svcctl_dissect_element_CreateServiceW_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
3719 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3720 offset
= svcctl_dissect_element_CreateServiceW_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3721 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3722 offset
= svcctl_dissect_element_CreateServiceW_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
3723 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3724 offset
= svcctl_dissect_element_CreateServiceW_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
3725 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3730 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_
)
3732 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
);
3738 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_
)
3740 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_service_handle
, 0);
3746 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_
)
3748 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_service_state
, 0);
3754 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_
)
3756 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
);
3762 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_
)
3764 struct ndr_generic_array nga
= { .is_conformant
= false, };
3766 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3768 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_EnumDependentServicesW_service_status__
);
3774 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_
)
3776 offset
= svcctl_dissect_struct_ENUM_SERVICE_STATUSW(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_EnumDependentServicesW_service_status
,0);
3782 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_
)
3784 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_offered
, 0);
3790 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_
)
3792 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
);
3798 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_
)
3800 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_bytesneeded
, 0);
3806 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_
)
3808 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
);
3814 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_
)
3816 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesW_services_returned
, 0);
3821 /* IDL: WERROR svcctl_EnumDependentServicesW( */
3822 /* IDL: [in] [ref] policy_handle *service_handle, */
3823 /* IDL: [in] svcctl_ServiceState service_state, */
3824 /* IDL: [out] [ref] [size_is(offered)] ENUM_SERVICE_STATUSW *service_status, */
3825 /* IDL: [in] [range(0,0x40000)] uint32 offered, */
3826 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *bytesneeded, */
3827 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *services_returned */
3831 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_
)
3835 di
->dcerpc_procedure_name
="EnumDependentServicesW";
3836 offset
= svcctl_dissect_element_EnumDependentServicesW_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
3837 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3839 offset
= svcctl_dissect_element_EnumDependentServicesW_bytesneeded(tvb
, offset
, pinfo
, tree
, di
, drep
);
3840 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3842 offset
= svcctl_dissect_element_EnumDependentServicesW_services_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
3843 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3845 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
3848 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3854 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_
)
3856 di
->dcerpc_procedure_name
="EnumDependentServicesW";
3857 offset
= svcctl_dissect_element_EnumDependentServicesW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3858 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3859 offset
= svcctl_dissect_element_EnumDependentServicesW_service_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
3860 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3861 offset
= svcctl_dissect_element_EnumDependentServicesW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
3862 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3867 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_
)
3869 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
);
3875 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_
)
3877 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_scm_handle
, 0);
3883 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_
)
3885 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_service_type
, 0);
3891 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_
)
3893 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_service_state
, 0);
3899 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_
)
3901 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_offered
, 0);
3907 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_
)
3909 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
);
3915 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_
)
3917 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusW_resume_index
, 0);
3922 /* IDL: WERROR svcctl_EnumServicesStatusW( */
3923 /* IDL: [in] [ref] policy_handle *scm_handle, */
3924 /* IDL: [in] svcctl_ServiceType service_type, */
3925 /* IDL: [in] svcctl_ServiceState service_state, */
3926 /* IDL: [out] [ref] [size_is(offered)] uint8 *services, */
3927 /* IDL: [in] [range(0,0x40000)] uint32 offered, */
3928 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *bytes_needed, */
3929 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *services_returned, */
3930 /* IDL: [in] [out] [unique(1)] uint32 *resume_index */
3934 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_
)
3936 di
->dcerpc_procedure_name
="EnumServicesStatusW";
3937 offset
= svcctl_dissect_element_EnumServicesStatusW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3938 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3939 offset
= svcctl_dissect_element_EnumServicesStatusW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3940 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3941 offset
= svcctl_dissect_element_EnumServicesStatusW_service_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
3942 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3943 offset
= svcctl_dissect_element_EnumServicesStatusW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
3944 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3945 offset
= svcctl_dissect_element_EnumServicesStatusW_resume_index(tvb
, offset
, pinfo
, tree
, di
, drep
);
3946 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3951 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_
)
3953 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
);
3959 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_
)
3962 struct ndr_generic_array nga
= { .is_conformant
= false, };
3964 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3966 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3967 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_OpenSCManagerW_MachineName
, false, &nga
, &data
);
3968 proto_item_append_text(tree
, ": %s", data
);
3974 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_
)
3976 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
);
3982 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_
)
3985 struct ndr_generic_array nga
= { .is_conformant
= false, };
3987 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3989 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3990 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_OpenSCManagerW_DatabaseName
, false, &nga
, &data
);
3991 proto_item_append_text(tree
, ": %s", data
);
3997 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_
)
3999 offset
= svcctl_dissect_bitmap_MgrAccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManagerW_access_mask
, 0);
4005 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_
)
4007 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
);
4013 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_
)
4015 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManagerW_scm_handle
, 0);
4020 /* IDL: WERROR svcctl_OpenSCManagerW( */
4021 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *MachineName, */
4022 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *DatabaseName, */
4023 /* IDL: [in] svcctl_MgrAccessMask access_mask, */
4024 /* IDL: [out] [ref] policy_handle *scm_handle */
4028 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_
)
4032 di
->dcerpc_procedure_name
="OpenSCManagerW";
4033 offset
= svcctl_dissect_element_OpenSCManagerW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4034 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4036 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4039 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4045 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_
)
4047 di
->dcerpc_procedure_name
="OpenSCManagerW";
4048 offset
= svcctl_dissect_element_OpenSCManagerW_MachineName(tvb
, offset
, pinfo
, tree
, di
, drep
);
4049 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4050 offset
= svcctl_dissect_element_OpenSCManagerW_DatabaseName(tvb
, offset
, pinfo
, tree
, di
, drep
);
4051 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4052 offset
= svcctl_dissect_element_OpenSCManagerW_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
4053 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4058 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_
)
4060 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
);
4066 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_
)
4068 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceW_scm_handle
, 0);
4074 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_
)
4077 struct ndr_generic_array nga
= { .is_conformant
= false, };
4079 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4081 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4082 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_OpenServiceW_ServiceName
, false, &nga
, &data
);
4083 proto_item_append_text(tree
, ": %s", data
);
4089 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_
)
4091 offset
= svcctl_dissect_bitmap_ServiceAccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceW_access_mask
, 0);
4097 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_
)
4099 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
);
4105 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_
)
4107 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceW_service_handle
, 0);
4112 /* IDL: WERROR svcctl_OpenServiceW( */
4113 /* IDL: [in] [ref] policy_handle *scm_handle, */
4114 /* IDL: [charset(UTF16)] [in] uint16 ServiceName[*], */
4115 /* IDL: [in] svcctl_ServiceAccessMask access_mask, */
4116 /* IDL: [out] [ref] policy_handle *service_handle */
4120 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_
)
4124 di
->dcerpc_procedure_name
="OpenServiceW";
4125 offset
= svcctl_dissect_element_OpenServiceW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4126 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4128 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4131 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4137 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_
)
4139 di
->dcerpc_procedure_name
="OpenServiceW";
4140 offset
= svcctl_dissect_element_OpenServiceW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4141 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4142 offset
= svcctl_dissect_element_OpenServiceW_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
4143 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4144 offset
= svcctl_dissect_element_OpenServiceW_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
4145 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4150 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_
)
4152 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
);
4158 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_
)
4160 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigW_service_handle
, 0);
4166 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_
)
4168 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
);
4174 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_
)
4176 offset
= svcctl_dissect_struct_QUERY_SERVICE_CONFIG(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_QueryServiceConfigW_service_config
,0);
4182 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_
)
4184 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigW_offered
, 0);
4190 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_
)
4192 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
);
4198 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_
)
4200 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigW_needed
, 0);
4205 /* IDL: WERROR svcctl_QueryServiceConfigW( */
4206 /* IDL: [in] [ref] policy_handle *service_handle, */
4207 /* IDL: [out] [ref] QUERY_SERVICE_CONFIG *service_config, */
4208 /* IDL: [in] [range(0,8192)] uint32 offered, */
4209 /* IDL: [out] [range(0,8192)] [ref] uint32 *needed */
4213 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_
)
4217 di
->dcerpc_procedure_name
="QueryServiceConfigW";
4218 offset
= svcctl_dissect_element_QueryServiceConfigW_service_config(tvb
, offset
, pinfo
, tree
, di
, drep
);
4219 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4221 offset
= svcctl_dissect_element_QueryServiceConfigW_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
4222 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4224 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4227 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4233 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_
)
4235 di
->dcerpc_procedure_name
="QueryServiceConfigW";
4236 offset
= svcctl_dissect_element_QueryServiceConfigW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4237 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4238 offset
= svcctl_dissect_element_QueryServiceConfigW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
4239 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4244 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_
)
4246 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
);
4252 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_
)
4254 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusW_scm_handle
, 0);
4260 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_
)
4262 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
);
4268 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_
)
4270 offset
= svcctl_dissect_struct_SERVICE_LOCK_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_QueryServiceLockStatusW_lock_status
,0);
4276 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_
)
4278 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusW_offered
, 0);
4284 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_
)
4286 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
);
4292 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_
)
4294 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusW_needed
, 0);
4299 /* IDL: WERROR svcctl_QueryServiceLockStatusW( */
4300 /* IDL: [in] [ref] policy_handle *scm_handle, */
4301 /* IDL: [out] [ref] SERVICE_LOCK_STATUS *lock_status, */
4302 /* IDL: [in] uint32 offered, */
4303 /* IDL: [out] [ref] uint32 *needed */
4307 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_
)
4311 di
->dcerpc_procedure_name
="QueryServiceLockStatusW";
4312 offset
= svcctl_dissect_element_QueryServiceLockStatusW_lock_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
4313 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4315 offset
= svcctl_dissect_element_QueryServiceLockStatusW_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
4316 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4318 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4321 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4327 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_
)
4329 di
->dcerpc_procedure_name
="QueryServiceLockStatusW";
4330 offset
= svcctl_dissect_element_QueryServiceLockStatusW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4331 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4332 offset
= svcctl_dissect_element_QueryServiceLockStatusW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
4333 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4338 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_
)
4340 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
);
4346 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_
)
4348 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_StartServiceW_service_handle
, 0);
4354 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_
)
4356 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_StartServiceW_NumArgs
, 0);
4362 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_
)
4364 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
);
4370 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_
)
4372 struct ndr_generic_array nga
= { .is_conformant
= false, };
4374 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4376 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_StartServiceW_Arguments__
);
4382 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_
)
4384 offset
= svcctl_dissect_struct_ArgumentString(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_StartServiceW_Arguments
,0);
4389 /* IDL: WERROR svcctl_StartServiceW( */
4390 /* IDL: [in] [ref] policy_handle *service_handle, */
4391 /* IDL: [in] [range(0,SC_MAX_ARGUMENTS)] uint32 NumArgs, */
4392 /* IDL: [in] [size_is(NumArgs)] [unique(1)] svcctl_ArgumentString *Arguments */
4396 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_
)
4400 di
->dcerpc_procedure_name
="StartServiceW";
4401 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4404 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4410 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_
)
4412 di
->dcerpc_procedure_name
="StartServiceW";
4413 offset
= svcctl_dissect_element_StartServiceW_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4414 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4415 offset
= svcctl_dissect_element_StartServiceW_NumArgs(tvb
, offset
, pinfo
, tree
, di
, drep
);
4416 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4417 offset
= svcctl_dissect_element_StartServiceW_Arguments(tvb
, offset
, pinfo
, tree
, di
, drep
);
4418 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4423 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_
)
4425 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
);
4431 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_
)
4433 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameW_scm_handle
, 0);
4439 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_
)
4441 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
);
4447 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_
)
4450 struct ndr_generic_array nga
= { .is_conformant
= false, };
4452 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4454 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4455 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetServiceDisplayNameW_service_name
, false, &nga
, &data
);
4456 proto_item_append_text(tree
, ": %s", data
);
4462 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_
)
4464 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
);
4470 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_
)
4472 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
);
4478 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_
)
4481 struct ndr_generic_array nga
= { .is_conformant
= false, };
4483 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4485 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4486 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetServiceDisplayNameW_display_name
, false, &nga
, &data
);
4487 proto_item_append_text(tree
, ": %s", data
);
4493 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_
)
4495 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
);
4501 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_
)
4503 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameW_display_name_length
, 0);
4508 /* IDL: WERROR svcctl_GetServiceDisplayNameW( */
4509 /* IDL: [in] [ref] policy_handle *scm_handle, */
4510 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *service_name, */
4511 /* IDL: [charset(UTF16)] [out] [ref] uint16 **display_name, */
4512 /* IDL: [in] [out] [unique(1)] uint32 *display_name_length */
4516 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_
)
4520 di
->dcerpc_procedure_name
="GetServiceDisplayNameW";
4521 offset
= svcctl_dissect_element_GetServiceDisplayNameW_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4522 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4524 offset
= svcctl_dissect_element_GetServiceDisplayNameW_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
4525 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4527 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4530 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4536 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_
)
4538 di
->dcerpc_procedure_name
="GetServiceDisplayNameW";
4539 offset
= svcctl_dissect_element_GetServiceDisplayNameW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4540 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4541 offset
= svcctl_dissect_element_GetServiceDisplayNameW_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4542 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4543 offset
= svcctl_dissect_element_GetServiceDisplayNameW_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
4544 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4549 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_
)
4551 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
);
4557 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_
)
4559 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceKeyNameW_scm_handle
, 0);
4565 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_
)
4567 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
);
4573 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_
)
4576 struct ndr_generic_array nga
= { .is_conformant
= false, };
4578 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4580 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4581 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetServiceKeyNameW_display_name
, false, &nga
, &data
);
4582 proto_item_append_text(tree
, ": %s", data
);
4588 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_
)
4590 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
);
4596 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_
)
4598 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
);
4604 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_
)
4607 struct ndr_generic_array nga
= { .is_conformant
= false, };
4609 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4611 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4612 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetServiceKeyNameW_service_name
, false, &nga
, &data
);
4613 proto_item_append_text(tree
, ": %s", data
);
4619 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_
)
4621 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
);
4627 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_
)
4629 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceKeyNameW_service_name_length
, 0);
4634 /* IDL: WERROR svcctl_GetServiceKeyNameW( */
4635 /* IDL: [in] [ref] policy_handle *scm_handle, */
4636 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *display_name, */
4637 /* IDL: [charset(UTF16)] [out] [ref] uint16 **service_name, */
4638 /* IDL: [in] [out] [unique(1)] uint32 *service_name_length */
4642 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_
)
4646 di
->dcerpc_procedure_name
="GetServiceKeyNameW";
4647 offset
= svcctl_dissect_element_GetServiceKeyNameW_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4648 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4650 offset
= svcctl_dissect_element_GetServiceKeyNameW_service_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
4651 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4653 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4656 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4662 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_
)
4664 di
->dcerpc_procedure_name
="GetServiceKeyNameW";
4665 offset
= svcctl_dissect_element_GetServiceKeyNameW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4666 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4667 offset
= svcctl_dissect_element_GetServiceKeyNameW_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4668 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4669 offset
= svcctl_dissect_element_GetServiceKeyNameW_service_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
4670 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4675 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_
)
4677 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
);
4683 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_
)
4685 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsA_handle
, 0);
4691 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_
)
4693 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsA_service_bits
, 0);
4699 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_
)
4701 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsA_set_bits_on
, 0);
4707 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_
)
4709 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_SCSetServiceBitsA_update_immediately
, 0);
4715 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_
)
4717 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
);
4723 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_
)
4726 struct ndr_generic_array nga
= { .is_conformant
= false, };
4728 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4730 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4731 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_SCSetServiceBitsA_lpString
, false, &nga
, &data
);
4732 proto_item_append_text(tree
, ": %s", data
);
4737 /* IDL: WERROR svcctl_SCSetServiceBitsA( */
4738 /* IDL: [in] [ref] policy_handle *handle, */
4739 /* IDL: [in] uint32 service_bits, */
4740 /* IDL: [in] uint32 set_bits_on, */
4741 /* IDL: [in] uint32 update_immediately, */
4742 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *lpString */
4746 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_
)
4750 di
->dcerpc_procedure_name
="SCSetServiceBitsA";
4751 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4754 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4760 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_
)
4762 di
->dcerpc_procedure_name
="SCSetServiceBitsA";
4763 offset
= svcctl_dissect_element_SCSetServiceBitsA_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4764 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4765 offset
= svcctl_dissect_element_SCSetServiceBitsA_service_bits(tvb
, offset
, pinfo
, tree
, di
, drep
);
4766 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4767 offset
= svcctl_dissect_element_SCSetServiceBitsA_set_bits_on(tvb
, offset
, pinfo
, tree
, di
, drep
);
4768 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4769 offset
= svcctl_dissect_element_SCSetServiceBitsA_update_immediately(tvb
, offset
, pinfo
, tree
, di
, drep
);
4770 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4771 offset
= svcctl_dissect_element_SCSetServiceBitsA_lpString(tvb
, offset
, pinfo
, tree
, di
, drep
);
4772 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4777 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_
)
4779 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
);
4785 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_
)
4787 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_service_handle
, 0);
4793 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_
)
4795 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_service_type
, 0);
4801 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_
)
4803 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_start_type
, 0);
4809 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_
)
4811 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_error_control
, 0);
4817 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_
)
4819 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
);
4825 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_
)
4827 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_binary_path
, 0);
4833 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_
)
4835 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
);
4841 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_
)
4843 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_load_order_group
, 0);
4849 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_
)
4851 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
);
4857 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_
)
4859 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_tag_id
, 0);
4865 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_
)
4867 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
);
4873 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_
)
4875 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_dependencies
, 0);
4881 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_
)
4883 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
);
4889 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_
)
4891 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_service_start_name
, 0);
4897 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_
)
4899 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
);
4905 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_
)
4907 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_password
, 0);
4913 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_
)
4915 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
);
4921 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_
)
4923 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_ChangeServiceConfigA_display_name
, 0);
4928 /* IDL: WERROR svcctl_ChangeServiceConfigA( */
4929 /* IDL: [in] [ref] policy_handle *service_handle, */
4930 /* IDL: [in] svcctl_ServiceType service_type, */
4931 /* IDL: [in] svcctl_StartType start_type, */
4932 /* IDL: [in] svcctl_ErrorControl error_control, */
4933 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *binary_path, */
4934 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *load_order_group, */
4935 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
4936 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *dependencies, */
4937 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *service_start_name, */
4938 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *password, */
4939 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *display_name */
4943 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_
)
4947 di
->dcerpc_procedure_name
="ChangeServiceConfigA";
4948 offset
= svcctl_dissect_element_ChangeServiceConfigA_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
4949 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4951 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
4954 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4960 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_
)
4962 di
->dcerpc_procedure_name
="ChangeServiceConfigA";
4963 offset
= svcctl_dissect_element_ChangeServiceConfigA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4964 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4965 offset
= svcctl_dissect_element_ChangeServiceConfigA_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
4966 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4967 offset
= svcctl_dissect_element_ChangeServiceConfigA_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
4968 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4969 offset
= svcctl_dissect_element_ChangeServiceConfigA_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
4970 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4971 offset
= svcctl_dissect_element_ChangeServiceConfigA_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
4972 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4973 offset
= svcctl_dissect_element_ChangeServiceConfigA_load_order_group(tvb
, offset
, pinfo
, tree
, di
, drep
);
4974 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4975 offset
= svcctl_dissect_element_ChangeServiceConfigA_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
4976 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4977 offset
= svcctl_dissect_element_ChangeServiceConfigA_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
4978 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4979 offset
= svcctl_dissect_element_ChangeServiceConfigA_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4980 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4981 offset
= svcctl_dissect_element_ChangeServiceConfigA_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
4982 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4983 offset
= svcctl_dissect_element_ChangeServiceConfigA_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4984 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4989 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_
)
4991 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
);
4997 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_
)
4999 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_scm_handle
, 0);
5005 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_
)
5008 struct ndr_generic_array nga
= { .is_conformant
= false, };
5010 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5012 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5013 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_ServiceName
, false, &nga
, &data
);
5014 proto_item_append_text(tree
, ": %s", data
);
5020 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_
)
5022 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
);
5028 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_
)
5031 struct ndr_generic_array nga
= { .is_conformant
= false, };
5033 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5035 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5036 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_DisplayName
, false, &nga
, &data
);
5037 proto_item_append_text(tree
, ": %s", data
);
5043 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_
)
5045 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_desired_access
, 0);
5051 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_
)
5053 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_service_type
, 0);
5059 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_
)
5061 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_start_type
, 0);
5067 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_
)
5069 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_error_control
, 0);
5075 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_
)
5078 struct ndr_generic_array nga
= { .is_conformant
= false, };
5080 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5082 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5083 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_binary_path
, false, &nga
, &data
);
5084 proto_item_append_text(tree
, ": %s", data
);
5090 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_
)
5092 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
);
5098 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_
)
5101 struct ndr_generic_array nga
= { .is_conformant
= false, };
5103 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5105 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5106 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_LoadOrderGroupKey
, false, &nga
, &data
);
5107 proto_item_append_text(tree
, ": %s", data
);
5113 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_
)
5115 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
);
5121 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_
)
5123 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_tag_id
, 0);
5129 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_
)
5131 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
);
5137 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_
)
5139 struct ndr_generic_array nga
= { .is_conformant
= false, };
5141 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5143 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateServiceA_dependencies__
);
5149 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_
)
5151 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_CreateServiceA_dependencies
, 0);
5157 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_
)
5159 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_dependencies_size
, 0);
5165 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_
)
5167 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
);
5173 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_
)
5176 struct ndr_generic_array nga
= { .is_conformant
= false, };
5178 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5180 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5181 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceA_service_start_name
, false, &nga
, &data
);
5182 proto_item_append_text(tree
, ": %s", data
);
5188 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_
)
5190 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
);
5196 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_
)
5198 struct ndr_generic_array nga
= { .is_conformant
= false, };
5200 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5202 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateServiceA_password__
);
5208 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_
)
5210 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_password
, 0);
5216 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_
)
5218 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_password_size
, 0);
5224 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_
)
5226 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
);
5232 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_
)
5234 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceA_service_handle
, 0);
5239 /* IDL: WERROR svcctl_CreateServiceA( */
5240 /* IDL: [in] [ref] policy_handle *scm_handle, */
5241 /* IDL: [charset(ASCII)] [in] uint8 ServiceName[*], */
5242 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *DisplayName, */
5243 /* IDL: [in] uint32 desired_access, */
5244 /* IDL: [in] svcctl_ServiceType service_type, */
5245 /* IDL: [in] svcctl_StartType start_type, */
5246 /* IDL: [in] svcctl_ErrorControl error_control, */
5247 /* IDL: [charset(ASCII)] [in] uint8 binary_path[*], */
5248 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *LoadOrderGroupKey, */
5249 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
5250 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [size_is(dependencies_size)] [unique(1)] string *dependencies, */
5251 /* IDL: [in] uint32 dependencies_size, */
5252 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *service_start_name, */
5253 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
5254 /* IDL: [in] uint32 password_size, */
5255 /* IDL: [out] [ref] policy_handle *service_handle */
5259 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_
)
5263 di
->dcerpc_procedure_name
="CreateServiceA";
5264 offset
= svcctl_dissect_element_CreateServiceA_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
5265 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5267 offset
= svcctl_dissect_element_CreateServiceA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5268 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5270 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5273 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5279 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_
)
5281 di
->dcerpc_procedure_name
="CreateServiceA";
5282 offset
= svcctl_dissect_element_CreateServiceA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5283 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5284 offset
= svcctl_dissect_element_CreateServiceA_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5285 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5286 offset
= svcctl_dissect_element_CreateServiceA_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5287 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5288 offset
= svcctl_dissect_element_CreateServiceA_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
5289 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5290 offset
= svcctl_dissect_element_CreateServiceA_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
5291 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5292 offset
= svcctl_dissect_element_CreateServiceA_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
5293 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5294 offset
= svcctl_dissect_element_CreateServiceA_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
5295 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5296 offset
= svcctl_dissect_element_CreateServiceA_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
5297 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5298 offset
= svcctl_dissect_element_CreateServiceA_LoadOrderGroupKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
5299 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5300 offset
= svcctl_dissect_element_CreateServiceA_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
5301 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5302 offset
= svcctl_dissect_element_CreateServiceA_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
5303 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5304 offset
= svcctl_dissect_element_CreateServiceA_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
5305 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5306 offset
= svcctl_dissect_element_CreateServiceA_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
5307 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5308 offset
= svcctl_dissect_element_CreateServiceA_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
5309 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5310 offset
= svcctl_dissect_element_CreateServiceA_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
5311 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5316 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_
)
5318 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
);
5324 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_
)
5326 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_service_handle
, 0);
5332 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_
)
5334 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_state
, 0);
5340 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_
)
5342 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
);
5348 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_
)
5350 offset
= svcctl_dissect_struct_ENUM_SERVICE_STATUSA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_EnumDependentServicesA_service_status
,0);
5356 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_
)
5358 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_offered
, 0);
5364 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_
)
5366 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
);
5372 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_
)
5374 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_needed
, 0);
5380 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_
)
5382 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
);
5388 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_
)
5390 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumDependentServicesA_services_returned
, 0);
5395 /* IDL: WERROR svcctl_EnumDependentServicesA( */
5396 /* IDL: [in] [ref] policy_handle *service_handle, */
5397 /* IDL: [in] svcctl_ServiceState state, */
5398 /* IDL: [out] [ref] ENUM_SERVICE_STATUSA *service_status, */
5399 /* IDL: [in] uint32 offered, */
5400 /* IDL: [out] [ref] uint32 *needed, */
5401 /* IDL: [out] [ref] uint32 *services_returned */
5405 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_
)
5409 di
->dcerpc_procedure_name
="EnumDependentServicesA";
5410 offset
= svcctl_dissect_element_EnumDependentServicesA_service_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
5411 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5413 offset
= svcctl_dissect_element_EnumDependentServicesA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
5414 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5416 offset
= svcctl_dissect_element_EnumDependentServicesA_services_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
5417 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5419 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5422 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5428 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_
)
5430 di
->dcerpc_procedure_name
="EnumDependentServicesA";
5431 offset
= svcctl_dissect_element_EnumDependentServicesA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5432 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5433 offset
= svcctl_dissect_element_EnumDependentServicesA_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
5434 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5435 offset
= svcctl_dissect_element_EnumDependentServicesA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
5436 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5441 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_
)
5443 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
);
5449 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_
)
5451 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_scm_handle
, 0);
5457 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_
)
5459 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_service_type
, 0);
5465 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_
)
5467 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_service_state
, 0);
5473 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_
)
5475 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_offered
, 0);
5481 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_
)
5483 struct ndr_generic_array nga
= { .is_conformant
= false, };
5485 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5487 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_EnumServicesStatusA_service_
);
5493 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_
)
5495 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_service
, 0);
5501 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_
)
5503 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
);
5509 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_
)
5511 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_needed
, 0);
5517 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_
)
5519 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
);
5525 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_
)
5527 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_services_returned
, 0);
5533 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_
)
5535 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
);
5541 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_
)
5543 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServicesStatusA_resume_handle
, 0);
5548 /* IDL: WERROR svcctl_EnumServicesStatusA( */
5549 /* IDL: [in] [ref] policy_handle *scm_handle, */
5550 /* IDL: [in] svcctl_ServiceType service_type, */
5551 /* IDL: [in] svcctl_ServiceState service_state, */
5552 /* IDL: [in] uint32 offered, */
5553 /* IDL: [out] [size_is(offered)] uint8 service[*], */
5554 /* IDL: [out] [ref] uint32 *needed, */
5555 /* IDL: [out] [ref] uint32 *services_returned, */
5556 /* IDL: [in] [out] [unique(1)] uint32 *resume_handle */
5560 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_
)
5564 di
->dcerpc_procedure_name
="EnumServicesStatusA";
5565 offset
= svcctl_dissect_element_EnumServicesStatusA_service(tvb
, offset
, pinfo
, tree
, di
, drep
);
5566 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5568 offset
= svcctl_dissect_element_EnumServicesStatusA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
5569 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5571 offset
= svcctl_dissect_element_EnumServicesStatusA_services_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
5572 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5574 offset
= svcctl_dissect_element_EnumServicesStatusA_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5575 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5577 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5580 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5586 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_
)
5588 di
->dcerpc_procedure_name
="EnumServicesStatusA";
5589 offset
= svcctl_dissect_element_EnumServicesStatusA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5590 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5591 offset
= svcctl_dissect_element_EnumServicesStatusA_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
5592 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5593 offset
= svcctl_dissect_element_EnumServicesStatusA_service_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
5594 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5595 offset
= svcctl_dissect_element_EnumServicesStatusA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
5596 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5597 offset
= svcctl_dissect_element_EnumServicesStatusA_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5598 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5603 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_
)
5605 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
);
5611 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_
)
5614 struct ndr_generic_array nga
= { .is_conformant
= false, };
5616 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5618 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5619 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_OpenSCManagerA_MachineName
, false, &nga
, &data
);
5620 proto_item_append_text(tree
, ": %s", data
);
5626 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_
)
5628 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
);
5634 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_
)
5637 struct ndr_generic_array nga
= { .is_conformant
= false, };
5639 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5641 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5642 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_OpenSCManagerA_DatabaseName
, false, &nga
, &data
);
5643 proto_item_append_text(tree
, ": %s", data
);
5649 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_
)
5651 offset
= svcctl_dissect_bitmap_MgrAccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManagerA_access_mask
, 0);
5657 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_
)
5659 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
);
5665 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_
)
5667 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManagerA_scm_handle
, 0);
5672 /* IDL: WERROR svcctl_OpenSCManagerA( */
5673 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *MachineName, */
5674 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *DatabaseName, */
5675 /* IDL: [in] svcctl_MgrAccessMask access_mask, */
5676 /* IDL: [out] [ref] policy_handle *scm_handle */
5680 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_
)
5684 di
->dcerpc_procedure_name
="OpenSCManagerA";
5685 offset
= svcctl_dissect_element_OpenSCManagerA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5686 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5688 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5691 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5697 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_
)
5699 di
->dcerpc_procedure_name
="OpenSCManagerA";
5700 offset
= svcctl_dissect_element_OpenSCManagerA_MachineName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5701 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5702 offset
= svcctl_dissect_element_OpenSCManagerA_DatabaseName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5703 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5704 offset
= svcctl_dissect_element_OpenSCManagerA_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
5705 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5710 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_
)
5712 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
);
5718 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_
)
5720 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceA_scm_handle
, 0);
5726 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_
)
5729 struct ndr_generic_array nga
= { .is_conformant
= false, };
5731 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5733 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5734 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_OpenServiceA_ServiceName
, false, &nga
, &data
);
5735 proto_item_append_text(tree
, ": %s", data
);
5741 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_
)
5743 offset
= svcctl_dissect_bitmap_MgrAccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceA_access_mask
, 0);
5749 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_
)
5751 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
);
5757 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_
)
5759 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenServiceA_service_handle
, 0);
5764 /* IDL: WERROR svcctl_OpenServiceA( */
5765 /* IDL: [in] [ref] policy_handle *scm_handle, */
5766 /* IDL: [charset(ASCII)] [in] uint8 ServiceName[*], */
5767 /* IDL: [in] svcctl_MgrAccessMask access_mask, */
5768 /* IDL: [out] [ref] policy_handle *service_handle */
5772 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_
)
5776 di
->dcerpc_procedure_name
="OpenServiceA";
5777 offset
= svcctl_dissect_element_OpenServiceA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5778 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5780 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5783 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5789 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_
)
5791 di
->dcerpc_procedure_name
="OpenServiceA";
5792 offset
= svcctl_dissect_element_OpenServiceA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5793 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5794 offset
= svcctl_dissect_element_OpenServiceA_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
5795 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5796 offset
= svcctl_dissect_element_OpenServiceA_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
5797 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5802 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_
)
5804 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
);
5810 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_
)
5812 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigA_service_handle
, 0);
5818 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_
)
5820 struct ndr_generic_array nga
= { .is_conformant
= false, };
5822 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
5824 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_QueryServiceConfigA_query_
);
5830 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_
)
5832 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigA_query
, 0);
5838 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_
)
5840 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigA_offered
, 0);
5846 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_
)
5848 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
);
5854 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_
)
5856 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigA_needed
, 0);
5861 /* IDL: WERROR svcctl_QueryServiceConfigA( */
5862 /* IDL: [in] [ref] policy_handle *service_handle, */
5863 /* IDL: [out] [size_is(cbBufSize)] uint8 query[*], */
5864 /* IDL: [in] uint32 offered, */
5865 /* IDL: [out] [ref] uint32 *needed */
5869 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_
)
5873 di
->dcerpc_procedure_name
="QueryServiceConfigA";
5874 offset
= svcctl_dissect_element_QueryServiceConfigA_query(tvb
, offset
, pinfo
, tree
, di
, drep
);
5875 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5877 offset
= svcctl_dissect_element_QueryServiceConfigA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
5878 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5880 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5883 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5889 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_
)
5891 di
->dcerpc_procedure_name
="QueryServiceConfigA";
5892 offset
= svcctl_dissect_element_QueryServiceConfigA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5893 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5894 offset
= svcctl_dissect_element_QueryServiceConfigA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
5895 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5900 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_
)
5902 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
);
5908 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_
)
5910 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusA_scm_handle
, 0);
5916 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_
)
5918 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
);
5924 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_
)
5926 offset
= svcctl_dissect_struct_SERVICE_LOCK_STATUS(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_QueryServiceLockStatusA_lock_status
,0);
5932 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_
)
5934 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusA_offered
, 0);
5940 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_
)
5942 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
);
5948 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_
)
5950 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceLockStatusA_needed
, 0);
5955 /* IDL: WERROR svcctl_QueryServiceLockStatusA( */
5956 /* IDL: [in] [ref] policy_handle *scm_handle, */
5957 /* IDL: [out] [ref] SERVICE_LOCK_STATUS *lock_status, */
5958 /* IDL: [in] uint32 offered, */
5959 /* IDL: [out] [ref] uint32 *needed */
5963 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_
)
5967 di
->dcerpc_procedure_name
="QueryServiceLockStatusA";
5968 offset
= svcctl_dissect_element_QueryServiceLockStatusA_lock_status(tvb
, offset
, pinfo
, tree
, di
, drep
);
5969 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5971 offset
= svcctl_dissect_element_QueryServiceLockStatusA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
5972 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5974 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
5977 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
5983 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_
)
5985 di
->dcerpc_procedure_name
="QueryServiceLockStatusA";
5986 offset
= svcctl_dissect_element_QueryServiceLockStatusA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
5987 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5988 offset
= svcctl_dissect_element_QueryServiceLockStatusA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
5989 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
5994 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_
)
5996 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
);
6002 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_
)
6004 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_StartServiceA_service_handle
, 0);
6010 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_
)
6012 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_StartServiceA_NumArgs
, 0);
6018 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_
)
6020 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
);
6026 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_
)
6028 struct ndr_generic_array nga
= { .is_conformant
= false, };
6030 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6032 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_StartServiceA_Arguments__
);
6038 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_
)
6040 offset
= svcctl_dissect_struct_ArgumentStringA(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_svcctl_svcctl_StartServiceA_Arguments
,0);
6045 /* IDL: WERROR svcctl_StartServiceA( */
6046 /* IDL: [in] [ref] policy_handle *service_handle, */
6047 /* IDL: [in] uint32 NumArgs, */
6048 /* IDL: [in] [size_is(NumArgs)] [unique(1)] svcctl_ArgumentStringA *Arguments */
6052 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_
)
6056 di
->dcerpc_procedure_name
="StartServiceA";
6057 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6060 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6066 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_
)
6068 di
->dcerpc_procedure_name
="StartServiceA";
6069 offset
= svcctl_dissect_element_StartServiceA_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6070 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6071 offset
= svcctl_dissect_element_StartServiceA_NumArgs(tvb
, offset
, pinfo
, tree
, di
, drep
);
6072 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6073 offset
= svcctl_dissect_element_StartServiceA_Arguments(tvb
, offset
, pinfo
, tree
, di
, drep
);
6074 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6079 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_
)
6081 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
);
6087 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_
)
6089 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameA_handle
, 0);
6095 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_
)
6097 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
);
6103 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_
)
6105 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameA_service_name
, 0);
6111 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_
)
6113 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
);
6119 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_
)
6121 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
);
6127 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_
)
6130 struct ndr_generic_array nga
= { .is_conformant
= false, };
6132 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6134 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6135 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_GetServiceDisplayNameA_display_name
, false, &nga
, &data
);
6136 proto_item_append_text(tree
, ": %s", data
);
6142 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_
)
6144 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
);
6150 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_
)
6152 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceDisplayNameA_display_name_length
, 0);
6157 /* IDL: WERROR svcctl_GetServiceDisplayNameA( */
6158 /* IDL: [in] [ref] policy_handle *handle, */
6159 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *service_name, */
6160 /* IDL: [charset(ASCII)] [out] [ref] uint8 **display_name, */
6161 /* IDL: [in] [out] [unique(1)] uint32 *display_name_length */
6165 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_
)
6169 di
->dcerpc_procedure_name
="GetServiceDisplayNameA";
6170 offset
= svcctl_dissect_element_GetServiceDisplayNameA_display_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
6171 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6173 offset
= svcctl_dissect_element_GetServiceDisplayNameA_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
6174 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6176 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6179 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6185 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_
)
6187 di
->dcerpc_procedure_name
="GetServiceDisplayNameA";
6188 offset
= svcctl_dissect_element_GetServiceDisplayNameA_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6189 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6190 offset
= svcctl_dissect_element_GetServiceDisplayNameA_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
6191 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6192 offset
= svcctl_dissect_element_GetServiceDisplayNameA_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
6193 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6198 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_
)
6200 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
);
6206 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_
)
6208 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceKeyNameA_scm_handle
, 0);
6214 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_
)
6216 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
);
6222 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_
)
6224 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_GetServiceKeyNameA_service_name
, 0);
6230 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_
)
6232 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
);
6238 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_
)
6240 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
);
6246 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_
)
6249 struct ndr_generic_array nga
= { .is_conformant
= false, };
6251 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6253 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6254 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_GetServiceKeyNameA_key_name
, false, &nga
, &data
);
6255 proto_item_append_text(tree
, ": %s", data
);
6261 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_
)
6263 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
);
6269 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_
)
6271 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetServiceKeyNameA_display_name_length
, 0);
6276 /* IDL: WERROR svcctl_GetServiceKeyNameA( */
6277 /* IDL: [in] [ref] policy_handle *scm_handle, */
6278 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [unique(1)] string *service_name, */
6279 /* IDL: [charset(ASCII)] [out] [ref] uint8 **key_name, */
6280 /* IDL: [in] [out] [unique(1)] uint32 *display_name_length */
6284 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_
)
6288 di
->dcerpc_procedure_name
="GetServiceKeyNameA";
6289 offset
= svcctl_dissect_element_GetServiceKeyNameA_key_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
6290 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6292 offset
= svcctl_dissect_element_GetServiceKeyNameA_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
6293 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6295 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6298 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6304 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_
)
6306 di
->dcerpc_procedure_name
="GetServiceKeyNameA";
6307 offset
= svcctl_dissect_element_GetServiceKeyNameA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6308 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6309 offset
= svcctl_dissect_element_GetServiceKeyNameA_service_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
6310 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6311 offset
= svcctl_dissect_element_GetServiceKeyNameA_display_name_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
6312 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6317 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_
)
6319 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
);
6325 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_
)
6327 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetCurrentGroupeStateW_handle
, 0);
6333 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_
)
6335 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
);
6341 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_
)
6344 struct ndr_generic_array nga
= { .is_conformant
= false, };
6346 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6348 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6349 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_GetCurrentGroupeStateW_lpLoadOrderGroup
, false, &nga
, &data
);
6350 proto_item_append_text(tree
, ": %s", data
);
6356 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_
)
6358 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
);
6364 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_
)
6366 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_GetCurrentGroupeStateW_state
, 0);
6371 /* IDL: WERROR svcctl_GetCurrentGroupeStateW( */
6372 /* IDL: [in] [ref] policy_handle *handle, */
6373 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *lpLoadOrderGroup, */
6374 /* IDL: [out] [ref] uint32 *state */
6378 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_
)
6382 di
->dcerpc_procedure_name
="GetCurrentGroupeStateW";
6383 offset
= svcctl_dissect_element_GetCurrentGroupeStateW_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
6384 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6386 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6389 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6395 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_
)
6397 di
->dcerpc_procedure_name
="GetCurrentGroupeStateW";
6398 offset
= svcctl_dissect_element_GetCurrentGroupeStateW_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6399 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6400 offset
= svcctl_dissect_element_GetCurrentGroupeStateW_lpLoadOrderGroup(tvb
, offset
, pinfo
, tree
, di
, drep
);
6401 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6406 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_
)
6408 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
);
6414 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_
)
6416 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_scm_handle
, 0);
6422 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_
)
6424 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_service_type
, 0);
6430 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_
)
6432 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_service_state
, 0);
6438 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_
)
6440 struct ndr_generic_array nga
= { .is_conformant
= false, };
6442 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6444 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_EnumServiceGroupW_lpBuffer_
);
6450 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_
)
6452 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_lpBuffer
, 0);
6458 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_
)
6460 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_cbBufSize
, 0);
6466 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_
)
6468 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
);
6474 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_
)
6476 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_pcbBytesNeeded
, 0);
6482 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_
)
6484 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
);
6490 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_
)
6492 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_lpServicesReturned
, 0);
6498 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_
)
6500 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
);
6506 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_
)
6508 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_EnumServiceGroupW_ResumeIndex
, 0);
6514 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_
)
6516 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
);
6522 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_
)
6525 struct ndr_generic_array nga
= { .is_conformant
= false, };
6527 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6529 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6530 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_EnumServiceGroupW_pszGroupName
, false, &nga
, &data
);
6531 proto_item_append_text(tree
, ": %s", data
);
6536 /* IDL: WERROR svcctl_EnumServiceGroupW( */
6537 /* IDL: [in] [ref] policy_handle *scm_handle, */
6538 /* IDL: [in] svcctl_ServiceType service_type, */
6539 /* IDL: [in] svcctl_ServiceState service_state, */
6540 /* IDL: [out] [size_is(cbBufSize)] uint8 lpBuffer[*], */
6541 /* IDL: [in] [range(0,1024*256)] uint32 cbBufSize, */
6542 /* IDL: [out] [range(0,1024*256)] [ref] uint32 *pcbBytesNeeded, */
6543 /* IDL: [out] [range(0,1024*256)] [ref] uint32 *lpServicesReturned, */
6544 /* IDL: [in] [out] [unique(1)] uint32 *ResumeIndex, */
6545 /* IDL: [charset(UTF16)] [in] [range(0,SC_MAX_NAME_LENGTH)] [unique(1)] uint16 *pszGroupName */
6549 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_
)
6553 di
->dcerpc_procedure_name
="EnumServiceGroupW";
6554 offset
= svcctl_dissect_element_EnumServiceGroupW_lpBuffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
6555 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6557 offset
= svcctl_dissect_element_EnumServiceGroupW_pcbBytesNeeded(tvb
, offset
, pinfo
, tree
, di
, drep
);
6558 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6560 offset
= svcctl_dissect_element_EnumServiceGroupW_lpServicesReturned(tvb
, offset
, pinfo
, tree
, di
, drep
);
6561 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6563 offset
= svcctl_dissect_element_EnumServiceGroupW_ResumeIndex(tvb
, offset
, pinfo
, tree
, di
, drep
);
6564 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6566 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6569 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6575 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_
)
6577 di
->dcerpc_procedure_name
="EnumServiceGroupW";
6578 offset
= svcctl_dissect_element_EnumServiceGroupW_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6579 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6580 offset
= svcctl_dissect_element_EnumServiceGroupW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
6581 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6582 offset
= svcctl_dissect_element_EnumServiceGroupW_service_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
6583 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6584 offset
= svcctl_dissect_element_EnumServiceGroupW_cbBufSize(tvb
, offset
, pinfo
, tree
, di
, drep
);
6585 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6586 offset
= svcctl_dissect_element_EnumServiceGroupW_ResumeIndex(tvb
, offset
, pinfo
, tree
, di
, drep
);
6587 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6588 offset
= svcctl_dissect_element_EnumServiceGroupW_pszGroupName(tvb
, offset
, pinfo
, tree
, di
, drep
);
6589 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6594 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_
)
6596 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
);
6602 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_
)
6604 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2A_service_handle
, 0);
6610 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_
)
6612 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2A_info_level
, 0);
6618 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_
)
6620 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
);
6626 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_
)
6628 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2A_info
, 0);
6633 /* IDL: WERROR svcctl_ChangeServiceConfig2A( */
6634 /* IDL: [in] [ref] policy_handle *service_handle, */
6635 /* IDL: [in] uint32 info_level, */
6636 /* IDL: [in] [unique(1)] uint8 *info */
6640 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_
)
6644 di
->dcerpc_procedure_name
="ChangeServiceConfig2A";
6645 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6648 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6654 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_
)
6656 di
->dcerpc_procedure_name
="ChangeServiceConfig2A";
6657 offset
= svcctl_dissect_element_ChangeServiceConfig2A_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6658 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6659 offset
= svcctl_dissect_element_ChangeServiceConfig2A_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6660 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6661 offset
= svcctl_dissect_element_ChangeServiceConfig2A_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
6662 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6667 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_
)
6669 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
);
6675 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_
)
6677 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2W_handle
, 0);
6683 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_
)
6685 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2W_info_level
, 0);
6691 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_
)
6693 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
);
6699 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_
)
6701 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_ChangeServiceConfig2W_info
, 0);
6706 /* IDL: WERROR svcctl_ChangeServiceConfig2W( */
6707 /* IDL: [in] [ref] policy_handle *handle, */
6708 /* IDL: [in] uint32 info_level, */
6709 /* IDL: [in] [unique(1)] uint8 *info */
6713 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_
)
6717 di
->dcerpc_procedure_name
="ChangeServiceConfig2W";
6718 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6721 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6727 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_
)
6729 di
->dcerpc_procedure_name
="ChangeServiceConfig2W";
6730 offset
= svcctl_dissect_element_ChangeServiceConfig2W_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6731 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6732 offset
= svcctl_dissect_element_ChangeServiceConfig2W_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6733 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6734 offset
= svcctl_dissect_element_ChangeServiceConfig2W_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
6735 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6740 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_
)
6742 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
);
6748 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_
)
6750 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_handle
, 0);
6756 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_
)
6758 offset
= svcctl_dissect_enum_ConfigLevel(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_info_level
, 0);
6764 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_
)
6766 struct ndr_generic_array nga
= { .is_conformant
= false, };
6768 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6770 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_QueryServiceConfig2A_buffer_
);
6776 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_
)
6778 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_buffer
, 0);
6784 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_
)
6786 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_offered
, 0);
6792 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_
)
6794 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
);
6800 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_
)
6802 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2A_needed
, 0);
6807 /* IDL: WERROR svcctl_QueryServiceConfig2A( */
6808 /* IDL: [in] [ref] policy_handle *handle, */
6809 /* IDL: [in] svcctl_ConfigLevel info_level, */
6810 /* IDL: [out] [size_is(offered)] uint8 buffer[*], */
6811 /* IDL: [in] uint32 offered, */
6812 /* IDL: [out] [ref] uint32 *needed */
6816 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_
)
6820 di
->dcerpc_procedure_name
="QueryServiceConfig2A";
6821 offset
= svcctl_dissect_element_QueryServiceConfig2A_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
6822 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6824 offset
= svcctl_dissect_element_QueryServiceConfig2A_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
6825 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6827 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6830 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6836 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_
)
6838 di
->dcerpc_procedure_name
="QueryServiceConfig2A";
6839 offset
= svcctl_dissect_element_QueryServiceConfig2A_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6840 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6841 offset
= svcctl_dissect_element_QueryServiceConfig2A_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6842 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6843 offset
= svcctl_dissect_element_QueryServiceConfig2A_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
6844 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6849 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_
)
6851 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
);
6857 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_
)
6859 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_handle
, 0);
6865 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_
)
6867 offset
= svcctl_dissect_enum_ConfigLevel(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_info_level
, 0);
6873 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_
)
6875 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
);
6881 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_
)
6883 struct ndr_generic_array nga
= { .is_conformant
= false, };
6885 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
6887 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_QueryServiceConfig2W_buffer__
);
6893 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_
)
6895 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_buffer
, 0);
6901 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_
)
6903 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_offered
, 0);
6909 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_
)
6911 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
);
6917 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_
)
6919 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfig2W_needed
, 0);
6924 /* IDL: WERROR svcctl_QueryServiceConfig2W( */
6925 /* IDL: [in] [ref] policy_handle *handle, */
6926 /* IDL: [in] svcctl_ConfigLevel info_level, */
6927 /* IDL: [out] [ref] [size_is(offered)] uint8 *buffer, */
6928 /* IDL: [in] [range(0,8192)] uint32 offered, */
6929 /* IDL: [out] [range(0,8192)] [ref] uint32 *needed */
6933 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_
)
6937 di
->dcerpc_procedure_name
="QueryServiceConfig2W";
6938 offset
= svcctl_dissect_element_QueryServiceConfig2W_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
6939 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6941 offset
= svcctl_dissect_element_QueryServiceConfig2W_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
6942 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6944 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
6947 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
6953 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_
)
6955 di
->dcerpc_procedure_name
="QueryServiceConfig2W";
6956 offset
= svcctl_dissect_element_QueryServiceConfig2W_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
6957 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6958 offset
= svcctl_dissect_element_QueryServiceConfig2W_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
6959 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6960 offset
= svcctl_dissect_element_QueryServiceConfig2W_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
6961 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
6966 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_
)
6968 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
);
6974 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_
)
6976 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_handle
, 0);
6982 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_
)
6984 offset
= svcctl_dissect_enum_StatusLevel(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_info_level
, 0);
6990 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_
)
6992 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
);
6998 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_
)
7000 struct ndr_generic_array nga
= { .is_conformant
= false, };
7002 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7004 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_QueryServiceStatusEx_buffer__
);
7010 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_
)
7012 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_buffer
, 0);
7018 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_
)
7020 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_offered
, 0);
7026 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_
)
7028 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
);
7034 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_
)
7036 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceStatusEx_needed
, 0);
7041 /* IDL: WERROR svcctl_QueryServiceStatusEx( */
7042 /* IDL: [in] [ref] policy_handle *handle, */
7043 /* IDL: [in] svcctl_StatusLevel info_level, */
7044 /* IDL: [out] [ref] [size_is(offered)] uint8 *buffer, */
7045 /* IDL: [in] [range(0,8192)] uint32 offered, */
7046 /* IDL: [out] [range(0,8192)] [ref] uint32 *needed */
7050 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_
)
7054 di
->dcerpc_procedure_name
="QueryServiceStatusEx";
7055 offset
= svcctl_dissect_element_QueryServiceStatusEx_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
7056 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7058 offset
= svcctl_dissect_element_QueryServiceStatusEx_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
7059 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7061 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7064 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7070 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_
)
7072 di
->dcerpc_procedure_name
="QueryServiceStatusEx";
7073 offset
= svcctl_dissect_element_QueryServiceStatusEx_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7074 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7075 offset
= svcctl_dissect_element_QueryServiceStatusEx_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
7076 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7077 offset
= svcctl_dissect_element_QueryServiceStatusEx_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
7078 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7083 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_
)
7085 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
);
7091 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_
)
7093 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_scm_handle
, 0);
7099 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_
)
7101 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_info_level
, 0);
7107 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_
)
7109 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_service_type
, 0);
7115 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_
)
7117 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_state
, 0);
7123 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_
)
7125 struct ndr_generic_array nga
= { .is_conformant
= false, };
7127 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7129 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_EnumServicesStatusExA_services_
);
7135 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_
)
7137 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_services
, 0);
7143 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_
)
7145 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_offered
, 0);
7151 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_
)
7153 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
);
7159 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_
)
7161 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_needed
, 0);
7167 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_
)
7169 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
);
7175 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_
)
7177 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_service_returned
, 0);
7183 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_
)
7185 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
);
7191 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_
)
7193 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExA_resume_handle
, 0);
7199 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_
)
7201 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
);
7207 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_
)
7209 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
);
7215 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_
)
7218 struct ndr_generic_array nga
= { .is_conformant
= false, };
7220 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7222 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7223 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_EnumServicesStatusExA_group_name
, false, &nga
, &data
);
7224 proto_item_append_text(tree
, ": %s", data
);
7229 /* IDL: WERROR EnumServicesStatusExA( */
7230 /* IDL: [in] [ref] policy_handle *scm_handle, */
7231 /* IDL: [in] uint32 info_level, */
7232 /* IDL: [in] svcctl_ServiceType service_type, */
7233 /* IDL: [in] svcctl_ServiceState state, */
7234 /* IDL: [out] [size_is(offered)] uint8 services[*], */
7235 /* IDL: [in] uint32 offered, */
7236 /* IDL: [out] [ref] uint32 *needed, */
7237 /* IDL: [out] [ref] uint32 *service_returned, */
7238 /* IDL: [in] [out] [unique(1)] uint32 *resume_handle, */
7239 /* IDL: [charset(UTF16)] [out] [ref] uint16 **group_name */
7243 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_
)
7247 di
->dcerpc_procedure_name
="EnumServicesStatusExA";
7248 offset
= svcctl_dissect_element_EnumServicesStatusExA_services(tvb
, offset
, pinfo
, tree
, di
, drep
);
7249 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7251 offset
= svcctl_dissect_element_EnumServicesStatusExA_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
7252 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7254 offset
= svcctl_dissect_element_EnumServicesStatusExA_service_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
7255 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7257 offset
= svcctl_dissect_element_EnumServicesStatusExA_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7258 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7260 offset
= svcctl_dissect_element_EnumServicesStatusExA_group_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
7261 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7263 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7266 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7272 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_
)
7274 di
->dcerpc_procedure_name
="EnumServicesStatusExA";
7275 offset
= svcctl_dissect_element_EnumServicesStatusExA_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7276 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7277 offset
= svcctl_dissect_element_EnumServicesStatusExA_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
7278 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7279 offset
= svcctl_dissect_element_EnumServicesStatusExA_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7280 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7281 offset
= svcctl_dissect_element_EnumServicesStatusExA_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
7282 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7283 offset
= svcctl_dissect_element_EnumServicesStatusExA_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
7284 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7285 offset
= svcctl_dissect_element_EnumServicesStatusExA_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7286 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7291 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_
)
7293 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
);
7299 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_
)
7301 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_scmanager
, 0);
7307 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_
)
7309 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_info_level
, 0);
7315 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_
)
7317 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_service_type
, 0);
7323 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_
)
7325 offset
= svcctl_dissect_enum_ServiceState(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_state
, 0);
7331 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_
)
7333 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
);
7339 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_
)
7341 struct ndr_generic_array nga
= { .is_conformant
= false, };
7343 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7345 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_EnumServicesStatusExW_services__
);
7351 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_
)
7353 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_services
, 0);
7359 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_
)
7361 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_offered
, 0);
7367 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_
)
7369 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
);
7375 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_
)
7377 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_needed
, 0);
7383 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_
)
7385 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
);
7391 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_
)
7393 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_service_returned
, 0);
7399 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_
)
7401 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
);
7407 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_
)
7409 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_EnumServicesStatusExW_resume_handle
, 0);
7415 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_
)
7417 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
);
7423 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_
)
7426 struct ndr_generic_array nga
= { .is_conformant
= false, };
7428 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7430 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7431 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_EnumServicesStatusExW_group_name
, false, &nga
, &data
);
7432 proto_item_append_text(tree
, ": %s", data
);
7437 /* IDL: WERROR EnumServicesStatusExW( */
7438 /* IDL: [in] [ref] policy_handle *scmanager, */
7439 /* IDL: [in] uint32 info_level, */
7440 /* IDL: [in] svcctl_ServiceType service_type, */
7441 /* IDL: [in] svcctl_ServiceState state, */
7442 /* IDL: [out] [ref] [size_is(offered)] uint8 *services, */
7443 /* IDL: [in] [range(0,0x40000)] uint32 offered, */
7444 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *needed, */
7445 /* IDL: [out] [range(0,0x40000)] [ref] uint32 *service_returned, */
7446 /* IDL: [in] [out] [range(0,0x40000)] [unique(1)] uint32 *resume_handle, */
7447 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *group_name */
7451 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_
)
7455 di
->dcerpc_procedure_name
="EnumServicesStatusExW";
7456 offset
= svcctl_dissect_element_EnumServicesStatusExW_services(tvb
, offset
, pinfo
, tree
, di
, drep
);
7457 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7459 offset
= svcctl_dissect_element_EnumServicesStatusExW_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
7460 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7462 offset
= svcctl_dissect_element_EnumServicesStatusExW_service_returned(tvb
, offset
, pinfo
, tree
, di
, drep
);
7463 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7465 offset
= svcctl_dissect_element_EnumServicesStatusExW_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7466 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7468 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7471 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7477 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_
)
7479 di
->dcerpc_procedure_name
="EnumServicesStatusExW";
7480 offset
= svcctl_dissect_element_EnumServicesStatusExW_scmanager(tvb
, offset
, pinfo
, tree
, di
, drep
);
7481 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7482 offset
= svcctl_dissect_element_EnumServicesStatusExW_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
7483 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7484 offset
= svcctl_dissect_element_EnumServicesStatusExW_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7485 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7486 offset
= svcctl_dissect_element_EnumServicesStatusExW_state(tvb
, offset
, pinfo
, tree
, di
, drep
);
7487 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7488 offset
= svcctl_dissect_element_EnumServicesStatusExW_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
7489 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7490 offset
= svcctl_dissect_element_EnumServicesStatusExW_resume_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7491 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7492 offset
= svcctl_dissect_element_EnumServicesStatusExW_group_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
7493 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7497 /* IDL: WERROR svcctl_ScBroadcastServiceControlMessage( */
7502 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_
)
7506 di
->dcerpc_procedure_name
="ScBroadcastServiceControlMessage";
7507 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7510 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7516 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_
)
7518 di
->dcerpc_procedure_name
="ScBroadcastServiceControlMessage";
7523 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_
)
7525 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
);
7531 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_
)
7533 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_scm_handle
, 0);
7539 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_
)
7542 struct ndr_generic_array nga
= { .is_conformant
= false, };
7544 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7546 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7547 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_ServiceName
, false, &nga
, &data
);
7548 proto_item_append_text(tree
, ": %s", data
);
7554 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_
)
7556 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
);
7562 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_
)
7565 struct ndr_generic_array nga
= { .is_conformant
= false, };
7567 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7569 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7570 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_DisplayName
, false, &nga
, &data
);
7571 proto_item_append_text(tree
, ": %s", data
);
7577 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_
)
7579 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_desired_access
, 0);
7585 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_
)
7587 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_service_type
, 0);
7593 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_
)
7595 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_start_type
, 0);
7601 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_
)
7603 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_error_control
, 0);
7609 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_
)
7612 struct ndr_generic_array nga
= { .is_conformant
= false, };
7614 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7616 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7617 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_binary_path
, false, &nga
, &data
);
7618 proto_item_append_text(tree
, ": %s", data
);
7624 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_
)
7626 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
);
7632 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_
)
7635 struct ndr_generic_array nga
= { .is_conformant
= false, };
7637 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7639 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7640 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_LoadOrderGroupKey
, false, &nga
, &data
);
7641 proto_item_append_text(tree
, ": %s", data
);
7647 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_
)
7649 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
);
7655 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_
)
7657 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_tag_id
, 0);
7663 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_
)
7665 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
);
7671 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_
)
7673 struct ndr_generic_array nga
= { .is_conformant
= false, };
7675 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7677 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateServiceWOW64A_dependencies__
);
7683 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_
)
7685 offset
= dissect_null_term_string(tvb
, offset
, pinfo
, tree
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_dependencies
, 0);
7691 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_
)
7693 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_dependencies_size
, 0);
7699 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_
)
7701 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
);
7707 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_
)
7710 struct ndr_generic_array nga
= { .is_conformant
= false, };
7712 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7714 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7715 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint8_t), hf_svcctl_svcctl_CreateServiceWOW64A_service_start_name
, false, &nga
, &data
);
7716 proto_item_append_text(tree
, ": %s", data
);
7722 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_
)
7724 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
);
7730 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_
)
7732 struct ndr_generic_array nga
= { .is_conformant
= false, };
7734 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7736 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateServiceWOW64A_password__
);
7742 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_
)
7744 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_password
, 0);
7750 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_
)
7752 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_password_size
, 0);
7758 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_
)
7760 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
);
7766 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_
)
7768 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64A_handle
, 0);
7773 /* IDL: WERROR svcctl_CreateServiceWOW64A( */
7774 /* IDL: [in] [ref] policy_handle *scm_handle, */
7775 /* IDL: [charset(ASCII)] [in] uint8 ServiceName[*], */
7776 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *DisplayName, */
7777 /* IDL: [in] uint32 desired_access, */
7778 /* IDL: [in] svcctl_ServiceType service_type, */
7779 /* IDL: [in] svcctl_StartType start_type, */
7780 /* IDL: [in] svcctl_ErrorControl error_control, */
7781 /* IDL: [charset(ASCII)] [in] uint8 binary_path[*], */
7782 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *LoadOrderGroupKey, */
7783 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
7784 /* IDL: [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] [in] [size_is(dependencies_size)] [unique(1)] string *dependencies, */
7785 /* IDL: [in] uint32 dependencies_size, */
7786 /* IDL: [charset(ASCII)] [in] [unique(1)] uint8 *service_start_name, */
7787 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
7788 /* IDL: [in] uint32 password_size, */
7789 /* IDL: [out] [ref] policy_handle *handle */
7793 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_
)
7797 di
->dcerpc_procedure_name
="CreateServiceWOW64A";
7798 offset
= svcctl_dissect_element_CreateServiceWOW64A_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
7799 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7801 offset
= svcctl_dissect_element_CreateServiceWOW64A_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7802 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7804 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
7807 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
7813 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_
)
7815 di
->dcerpc_procedure_name
="CreateServiceWOW64A";
7816 offset
= svcctl_dissect_element_CreateServiceWOW64A_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
7817 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7818 offset
= svcctl_dissect_element_CreateServiceWOW64A_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
7819 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7820 offset
= svcctl_dissect_element_CreateServiceWOW64A_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
7821 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7822 offset
= svcctl_dissect_element_CreateServiceWOW64A_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
7823 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7824 offset
= svcctl_dissect_element_CreateServiceWOW64A_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7825 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7826 offset
= svcctl_dissect_element_CreateServiceWOW64A_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
7827 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7828 offset
= svcctl_dissect_element_CreateServiceWOW64A_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
7829 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7830 offset
= svcctl_dissect_element_CreateServiceWOW64A_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
7831 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7832 offset
= svcctl_dissect_element_CreateServiceWOW64A_LoadOrderGroupKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
7833 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7834 offset
= svcctl_dissect_element_CreateServiceWOW64A_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
7835 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7836 offset
= svcctl_dissect_element_CreateServiceWOW64A_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
7837 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7838 offset
= svcctl_dissect_element_CreateServiceWOW64A_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
7839 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7840 offset
= svcctl_dissect_element_CreateServiceWOW64A_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
7841 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7842 offset
= svcctl_dissect_element_CreateServiceWOW64A_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
7843 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7844 offset
= svcctl_dissect_element_CreateServiceWOW64A_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
7845 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
7850 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_
)
7852 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
);
7858 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_
)
7860 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_scm_handle
, 0);
7866 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_
)
7869 struct ndr_generic_array nga
= { .is_conformant
= false, };
7871 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7873 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7874 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_ServiceName
, false, &nga
, &data
);
7875 proto_item_append_text(tree
, ": %s", data
);
7881 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_
)
7883 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
);
7889 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_
)
7892 struct ndr_generic_array nga
= { .is_conformant
= false, };
7894 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7896 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7897 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_DisplayName
, false, &nga
, &data
);
7898 proto_item_append_text(tree
, ": %s", data
);
7904 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_
)
7906 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_desired_access
, 0);
7912 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_
)
7914 offset
= svcctl_dissect_enum_ServiceType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_service_type
, 0);
7920 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_
)
7922 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_start_type
, 0);
7928 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_
)
7930 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_error_control
, 0);
7936 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_
)
7939 struct ndr_generic_array nga
= { .is_conformant
= false, };
7941 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7943 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7944 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_binary_path
, false, &nga
, &data
);
7945 proto_item_append_text(tree
, ": %s", data
);
7951 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_
)
7953 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
);
7959 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_
)
7962 struct ndr_generic_array nga
= { .is_conformant
= false, };
7964 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7966 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
7967 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_LoadOrderGroupKey
, false, &nga
, &data
);
7968 proto_item_append_text(tree
, ": %s", data
);
7974 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_
)
7976 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
);
7982 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_
)
7984 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_tag_id
, 0);
7990 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_
)
7992 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
);
7998 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_
)
8000 struct ndr_generic_array nga
= { .is_conformant
= false, };
8002 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8004 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateServiceWOW64W_dependencies__
);
8010 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_
)
8012 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_dependencies
, 0);
8018 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_
)
8020 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_dependencies_size
, 0);
8026 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_
)
8028 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
);
8034 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_
)
8037 struct ndr_generic_array nga
= { .is_conformant
= false, };
8039 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8041 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8042 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateServiceWOW64W_service_start_name
, false, &nga
, &data
);
8043 proto_item_append_text(tree
, ": %s", data
);
8049 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_
)
8051 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
);
8057 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_
)
8059 struct ndr_generic_array nga
= { .is_conformant
= false, };
8061 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8063 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateServiceWOW64W_password__
);
8069 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_
)
8071 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_password
, 0);
8077 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_
)
8079 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_password_size
, 0);
8085 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_
)
8087 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
);
8093 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_
)
8095 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateServiceWOW64W_handle
, 0);
8100 /* IDL: WERROR svcctl_CreateServiceWOW64W( */
8101 /* IDL: [in] [ref] policy_handle *scm_handle, */
8102 /* IDL: [charset(UTF16)] [in] uint16 ServiceName[*], */
8103 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *DisplayName, */
8104 /* IDL: [in] uint32 desired_access, */
8105 /* IDL: [in] svcctl_ServiceType service_type, */
8106 /* IDL: [in] svcctl_StartType start_type, */
8107 /* IDL: [in] svcctl_ErrorControl error_control, */
8108 /* IDL: [charset(UTF16)] [in] uint16 binary_path[*], */
8109 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *LoadOrderGroupKey, */
8110 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
8111 /* IDL: [in] [size_is(dependencies_size)] [unique(1)] uint8 *dependencies, */
8112 /* IDL: [in] uint32 dependencies_size, */
8113 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *service_start_name, */
8114 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
8115 /* IDL: [in] uint32 password_size, */
8116 /* IDL: [out] [ref] policy_handle *handle */
8120 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_
)
8124 di
->dcerpc_procedure_name
="CreateServiceWOW64W";
8125 offset
= svcctl_dissect_element_CreateServiceWOW64W_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
8126 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8128 offset
= svcctl_dissect_element_CreateServiceWOW64W_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8129 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8131 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8134 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8140 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_
)
8142 di
->dcerpc_procedure_name
="CreateServiceWOW64W";
8143 offset
= svcctl_dissect_element_CreateServiceWOW64W_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8144 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8145 offset
= svcctl_dissect_element_CreateServiceWOW64W_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
8146 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8147 offset
= svcctl_dissect_element_CreateServiceWOW64W_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
8148 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8149 offset
= svcctl_dissect_element_CreateServiceWOW64W_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
8150 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8151 offset
= svcctl_dissect_element_CreateServiceWOW64W_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
8152 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8153 offset
= svcctl_dissect_element_CreateServiceWOW64W_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
8154 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8155 offset
= svcctl_dissect_element_CreateServiceWOW64W_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
8156 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8157 offset
= svcctl_dissect_element_CreateServiceWOW64W_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
8158 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8159 offset
= svcctl_dissect_element_CreateServiceWOW64W_LoadOrderGroupKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
8160 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8161 offset
= svcctl_dissect_element_CreateServiceWOW64W_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
8162 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8163 offset
= svcctl_dissect_element_CreateServiceWOW64W_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
8164 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8165 offset
= svcctl_dissect_element_CreateServiceWOW64W_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
8166 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8167 offset
= svcctl_dissect_element_CreateServiceWOW64W_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
8168 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8169 offset
= svcctl_dissect_element_CreateServiceWOW64W_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
8170 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8171 offset
= svcctl_dissect_element_CreateServiceWOW64W_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
8172 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8176 /* IDL: WERROR svcctl_ScQueryServiceTagInfo( */
8181 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_
)
8185 di
->dcerpc_procedure_name
="ScQueryServiceTagInfo";
8186 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8189 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8195 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_
)
8197 di
->dcerpc_procedure_name
="ScQueryServiceTagInfo";
8201 /* IDL: WERROR svcctl_NotifyServiceStatusChange( */
8206 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_
)
8210 di
->dcerpc_procedure_name
="NotifyServiceStatusChange";
8211 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8214 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8220 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_
)
8222 di
->dcerpc_procedure_name
="NotifyServiceStatusChange";
8226 /* IDL: WERROR svcctl_GetNotifyResults( */
8231 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_
)
8235 di
->dcerpc_procedure_name
="GetNotifyResults";
8236 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8239 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8245 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_
)
8247 di
->dcerpc_procedure_name
="GetNotifyResults";
8251 /* IDL: WERROR svcctl_CloseNotifyHandle( */
8256 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_
)
8260 di
->dcerpc_procedure_name
="CloseNotifyHandle";
8261 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8264 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8270 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_
)
8272 di
->dcerpc_procedure_name
="CloseNotifyHandle";
8276 /* IDL: WERROR svcctl_ControlServiceExA( */
8281 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_
)
8285 di
->dcerpc_procedure_name
="ControlServiceExA";
8286 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8289 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8295 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_
)
8297 di
->dcerpc_procedure_name
="ControlServiceExA";
8301 /* IDL: WERROR svcctl_ControlServiceExW( */
8306 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_
)
8310 di
->dcerpc_procedure_name
="ControlServiceExW";
8311 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8314 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8320 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_
)
8322 di
->dcerpc_procedure_name
="ControlServiceExW";
8326 /* IDL: WERROR svcctl_ScSendPnPMessage( */
8331 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_
)
8335 di
->dcerpc_procedure_name
="ScSendPnPMessage";
8336 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8339 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8345 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_
)
8347 di
->dcerpc_procedure_name
="ScSendPnPMessage";
8351 /* IDL: WERROR svcctl_ScValidatePnPService( */
8356 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_
)
8360 di
->dcerpc_procedure_name
="ScValidatePnPService";
8361 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8364 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8370 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_
)
8372 di
->dcerpc_procedure_name
="ScValidatePnPService";
8376 /* IDL: WERROR svcctl_ScOpenServiceStatusHandle( */
8381 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_
)
8385 di
->dcerpc_procedure_name
="ScOpenServiceStatusHandle";
8386 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8389 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8395 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_
)
8397 di
->dcerpc_procedure_name
="ScOpenServiceStatusHandle";
8401 /* IDL: WERROR svcctl_ScQueryServiceConfig( */
8406 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_
)
8410 di
->dcerpc_procedure_name
="ScQueryServiceConfig";
8411 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8414 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8420 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_
)
8422 di
->dcerpc_procedure_name
="ScQueryServiceConfig";
8427 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_
)
8429 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
);
8435 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_
)
8437 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigEx_service_handle
, 0);
8443 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_
)
8445 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_QueryServiceConfigEx_info_level
, 0);
8450 /* IDL: WERROR svcctl_QueryServiceConfigEx( */
8451 /* IDL: [in] [ref] policy_handle *service_handle, */
8452 /* IDL: [in] uint32 info_level */
8456 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_
)
8460 di
->dcerpc_procedure_name
="QueryServiceConfigEx";
8461 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8464 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8470 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_
)
8472 di
->dcerpc_procedure_name
="QueryServiceConfigEx";
8473 offset
= svcctl_dissect_element_QueryServiceConfigEx_service_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8474 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8475 offset
= svcctl_dissect_element_QueryServiceConfigEx_info_level(tvb
, offset
, pinfo
, tree
, di
, drep
);
8476 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8480 /* IDL: WERROR svcctl_ScRegisterPreshutdownRestart( */
8485 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_
)
8489 di
->dcerpc_procedure_name
="ScRegisterPreshutdownRestart";
8490 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8493 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8499 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_
)
8501 di
->dcerpc_procedure_name
="ScRegisterPreshutdownRestart";
8505 /* IDL: WERROR svcctl_ScReparseServiceDatabase( */
8510 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_
)
8514 di
->dcerpc_procedure_name
="ScReparseServiceDatabase";
8515 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8518 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8524 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_
)
8526 di
->dcerpc_procedure_name
="ScReparseServiceDatabase";
8530 /* IDL: WERROR svcctl_QueryUserServiceName( */
8535 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_
)
8539 di
->dcerpc_procedure_name
="QueryUserServiceName";
8540 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8543 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8549 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_
)
8551 di
->dcerpc_procedure_name
="QueryUserServiceName";
8556 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_
)
8558 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
);
8564 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_
)
8566 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_scm_handle
, 0);
8572 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_
)
8575 struct ndr_generic_array nga
= { .is_conformant
= false, };
8577 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8579 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8580 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_ServiceName
, false, &nga
, &data
);
8581 proto_item_append_text(tree
, ": %s", data
);
8587 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_
)
8589 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
);
8595 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_
)
8598 struct ndr_generic_array nga
= { .is_conformant
= false, };
8600 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8602 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8603 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_DisplayName
, false, &nga
, &data
);
8604 proto_item_append_text(tree
, ": %s", data
);
8610 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_
)
8612 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_desired_access
, 0);
8618 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_
)
8620 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_service_type
, 0);
8626 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_
)
8628 offset
= svcctl_dissect_enum_StartType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_start_type
, 0);
8634 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_
)
8636 offset
= svcctl_dissect_enum_ErrorControl(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_error_control
, 0);
8642 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_
)
8645 struct ndr_generic_array nga
= { .is_conformant
= false, };
8647 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8649 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8650 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_binary_path
, false, &nga
, &data
);
8651 proto_item_append_text(tree
, ": %s", data
);
8657 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_
)
8659 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
);
8665 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_
)
8668 struct ndr_generic_array nga
= { .is_conformant
= false, };
8670 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8672 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8673 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_LoadOrderGroupKey
, false, &nga
, &data
);
8674 proto_item_append_text(tree
, ": %s", data
);
8680 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_
)
8682 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
);
8688 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_
)
8690 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_tag_id
, 0);
8696 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_
)
8698 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
);
8704 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_
)
8706 struct ndr_generic_array nga
= { .is_conformant
= false, };
8708 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8710 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateWowService_dependencies__
);
8716 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_
)
8718 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_dependencies
, 0);
8724 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_
)
8726 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_dependencies_size
, 0);
8732 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_
)
8734 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
);
8740 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_
)
8743 struct ndr_generic_array nga
= { .is_conformant
= false, };
8745 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8747 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8748 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_CreateWowService_service_start_name
, false, &nga
, &data
);
8749 proto_item_append_text(tree
, ": %s", data
);
8755 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_
)
8757 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
);
8763 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_
)
8765 struct ndr_generic_array nga
= { .is_conformant
= false, };
8767 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8769 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, svcctl_dissect_element_CreateWowService_password__
);
8775 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_
)
8777 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_password
, 0);
8783 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_
)
8785 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_password_size
, 0);
8791 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_
)
8793 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_service_wow_type
, 0);
8799 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_
)
8801 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
);
8807 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_
)
8809 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_CreateWowService_handle
, 0);
8814 /* IDL: WERROR svcctl_CreateWowService( */
8815 /* IDL: [in] [ref] policy_handle *scm_handle, */
8816 /* IDL: [charset(UTF16)] [in] uint16 ServiceName[*], */
8817 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *DisplayName, */
8818 /* IDL: [in] uint32 desired_access, */
8819 /* IDL: [in] uint32 service_type, */
8820 /* IDL: [in] svcctl_StartType start_type, */
8821 /* IDL: [in] svcctl_ErrorControl error_control, */
8822 /* IDL: [charset(UTF16)] [in] uint16 binary_path[*], */
8823 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *LoadOrderGroupKey, */
8824 /* IDL: [in] [out] [unique(1)] uint32 *tag_id, */
8825 /* IDL: [in] [size_is(dependencies_size)] [unique(1)] uint8 *dependencies, */
8826 /* IDL: [in] uint32 dependencies_size, */
8827 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *service_start_name, */
8828 /* IDL: [in] [size_is(password_size)] [unique(1)] uint8 *password, */
8829 /* IDL: [in] uint32 password_size, */
8830 /* IDL: [in] uint16 service_wow_type, */
8831 /* IDL: [out] [ref] policy_handle *handle */
8835 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_
)
8839 di
->dcerpc_procedure_name
="CreateWowService";
8840 offset
= svcctl_dissect_element_CreateWowService_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
8841 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8843 offset
= svcctl_dissect_element_CreateWowService_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8844 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8846 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8849 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8855 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_
)
8857 di
->dcerpc_procedure_name
="CreateWowService";
8858 offset
= svcctl_dissect_element_CreateWowService_scm_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
8859 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8860 offset
= svcctl_dissect_element_CreateWowService_ServiceName(tvb
, offset
, pinfo
, tree
, di
, drep
);
8861 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8862 offset
= svcctl_dissect_element_CreateWowService_DisplayName(tvb
, offset
, pinfo
, tree
, di
, drep
);
8863 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8864 offset
= svcctl_dissect_element_CreateWowService_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
8865 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8866 offset
= svcctl_dissect_element_CreateWowService_service_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
8867 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8868 offset
= svcctl_dissect_element_CreateWowService_start_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
8869 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8870 offset
= svcctl_dissect_element_CreateWowService_error_control(tvb
, offset
, pinfo
, tree
, di
, drep
);
8871 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8872 offset
= svcctl_dissect_element_CreateWowService_binary_path(tvb
, offset
, pinfo
, tree
, di
, drep
);
8873 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8874 offset
= svcctl_dissect_element_CreateWowService_LoadOrderGroupKey(tvb
, offset
, pinfo
, tree
, di
, drep
);
8875 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8876 offset
= svcctl_dissect_element_CreateWowService_tag_id(tvb
, offset
, pinfo
, tree
, di
, drep
);
8877 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8878 offset
= svcctl_dissect_element_CreateWowService_dependencies(tvb
, offset
, pinfo
, tree
, di
, drep
);
8879 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8880 offset
= svcctl_dissect_element_CreateWowService_dependencies_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
8881 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8882 offset
= svcctl_dissect_element_CreateWowService_service_start_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
8883 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8884 offset
= svcctl_dissect_element_CreateWowService_password(tvb
, offset
, pinfo
, tree
, di
, drep
);
8885 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8886 offset
= svcctl_dissect_element_CreateWowService_password_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
8887 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8888 offset
= svcctl_dissect_element_CreateWowService_service_wow_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
8889 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
8893 /* IDL: WERROR svcctl_GetServiceRegistryStateKey( */
8898 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_
)
8902 di
->dcerpc_procedure_name
="GetServiceRegistryStateKey";
8903 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8906 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8912 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_
)
8914 di
->dcerpc_procedure_name
="GetServiceRegistryStateKey";
8918 /* IDL: WERROR svcctl_GetServiceDirectory( */
8923 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_
)
8927 di
->dcerpc_procedure_name
="GetServiceDirectory";
8928 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8931 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8937 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_
)
8939 di
->dcerpc_procedure_name
="GetServiceDirectory";
8943 /* IDL: WERROR svcctl_GetServiceProcessToken( */
8948 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_
)
8952 di
->dcerpc_procedure_name
="GetServiceProcessToken";
8953 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
8956 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
8962 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_
)
8964 di
->dcerpc_procedure_name
="GetServiceProcessToken";
8969 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_
)
8971 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
);
8977 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_
)
8980 struct ndr_generic_array nga
= { .is_conformant
= false, };
8982 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8984 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
8985 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_svcctl_svcctl_OpenSCManager2_database_name
, false, &nga
, &data
);
8986 proto_item_append_text(tree
, ": %s", data
);
8992 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_
)
8994 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManager2_desired_access
, 0);
9000 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_
)
9002 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
);
9008 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_
)
9010 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_svcctl_OpenSCManager2_handle
, 0);
9015 /* IDL: WERROR svcctl_OpenSCManager2( */
9016 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *database_name, */
9017 /* IDL: [in] uint32 desired_access, */
9018 /* IDL: [out] [ref] policy_handle *handle */
9022 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_
)
9026 di
->dcerpc_procedure_name
="OpenSCManager2";
9027 offset
= svcctl_dissect_element_OpenSCManager2_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
9028 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
9030 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
9033 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
9039 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_
)
9041 di
->dcerpc_procedure_name
="OpenSCManager2";
9042 offset
= svcctl_dissect_element_OpenSCManager2_database_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
9043 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
9044 offset
= svcctl_dissect_element_OpenSCManager2_desired_access(tvb
, offset
, pinfo
, tree
, di
, drep
);
9045 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
9049 /* IDL: WERROR svcctl_GetSharedServiceRegistryStateKey( */
9054 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_
)
9058 di
->dcerpc_procedure_name
="GetSharedServiceRegistryStateKey";
9059 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
9062 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
9068 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_
)
9070 di
->dcerpc_procedure_name
="GetSharedServiceRegistryStateKey";
9074 /* IDL: WERROR svcctl_GetSharedServiceDirectory( */
9079 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_
)
9083 di
->dcerpc_procedure_name
="GetSharedServiceDirectory";
9084 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_svcctl_werror
, &status
);
9087 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
9093 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_
)
9095 di
->dcerpc_procedure_name
="GetSharedServiceDirectory";
9100 static const dcerpc_sub_dissector svcctl_dissectors
[] = {
9101 { 0, "CloseServiceHandle",
9102 svcctl_dissect_CloseServiceHandle_request
, svcctl_dissect_CloseServiceHandle_response
},
9103 { 1, "ControlService",
9104 svcctl_dissect_ControlService_request
, svcctl_dissect_ControlService_response
},
9105 { 2, "DeleteService",
9106 svcctl_dissect_DeleteService_request
, svcctl_dissect_DeleteService_response
},
9107 { 3, "LockServiceDatabase",
9108 svcctl_dissect_LockServiceDatabase_request
, svcctl_dissect_LockServiceDatabase_response
},
9109 { 4, "QueryServiceObjectSecurity",
9110 svcctl_dissect_QueryServiceObjectSecurity_request
, svcctl_dissect_QueryServiceObjectSecurity_response
},
9111 { 5, "SetServiceObjectSecurity",
9112 svcctl_dissect_SetServiceObjectSecurity_request
, svcctl_dissect_SetServiceObjectSecurity_response
},
9113 { 6, "QueryServiceStatus",
9114 svcctl_dissect_QueryServiceStatus_request
, svcctl_dissect_QueryServiceStatus_response
},
9115 { 7, "SetServiceStatus",
9116 svcctl_dissect_SetServiceStatus_request
, svcctl_dissect_SetServiceStatus_response
},
9117 { 8, "UnlockServiceDatabase",
9118 svcctl_dissect_UnlockServiceDatabase_request
, svcctl_dissect_UnlockServiceDatabase_response
},
9119 { 9, "NotifyBootConfigStatus",
9120 svcctl_dissect_NotifyBootConfigStatus_request
, svcctl_dissect_NotifyBootConfigStatus_response
},
9121 { 10, "SCSetServiceBitsW",
9122 svcctl_dissect_SCSetServiceBitsW_request
, svcctl_dissect_SCSetServiceBitsW_response
},
9123 { 11, "ChangeServiceConfigW",
9124 svcctl_dissect_ChangeServiceConfigW_request
, svcctl_dissect_ChangeServiceConfigW_response
},
9125 { 12, "CreateServiceW",
9126 svcctl_dissect_CreateServiceW_request
, svcctl_dissect_CreateServiceW_response
},
9127 { 13, "EnumDependentServicesW",
9128 svcctl_dissect_EnumDependentServicesW_request
, svcctl_dissect_EnumDependentServicesW_response
},
9129 { 14, "EnumServicesStatusW",
9130 svcctl_dissect_EnumServicesStatusW_request
, svcctl_dissect_EnumServicesStatusW_response
},
9131 { 15, "OpenSCManagerW",
9132 svcctl_dissect_OpenSCManagerW_request
, svcctl_dissect_OpenSCManagerW_response
},
9133 { 16, "OpenServiceW",
9134 svcctl_dissect_OpenServiceW_request
, svcctl_dissect_OpenServiceW_response
},
9135 { 17, "QueryServiceConfigW",
9136 svcctl_dissect_QueryServiceConfigW_request
, svcctl_dissect_QueryServiceConfigW_response
},
9137 { 18, "QueryServiceLockStatusW",
9138 svcctl_dissect_QueryServiceLockStatusW_request
, svcctl_dissect_QueryServiceLockStatusW_response
},
9139 { 19, "StartServiceW",
9140 svcctl_dissect_StartServiceW_request
, svcctl_dissect_StartServiceW_response
},
9141 { 20, "GetServiceDisplayNameW",
9142 svcctl_dissect_GetServiceDisplayNameW_request
, svcctl_dissect_GetServiceDisplayNameW_response
},
9143 { 21, "GetServiceKeyNameW",
9144 svcctl_dissect_GetServiceKeyNameW_request
, svcctl_dissect_GetServiceKeyNameW_response
},
9145 { 22, "SCSetServiceBitsA",
9146 svcctl_dissect_SCSetServiceBitsA_request
, svcctl_dissect_SCSetServiceBitsA_response
},
9147 { 23, "ChangeServiceConfigA",
9148 svcctl_dissect_ChangeServiceConfigA_request
, svcctl_dissect_ChangeServiceConfigA_response
},
9149 { 24, "CreateServiceA",
9150 svcctl_dissect_CreateServiceA_request
, svcctl_dissect_CreateServiceA_response
},
9151 { 25, "EnumDependentServicesA",
9152 svcctl_dissect_EnumDependentServicesA_request
, svcctl_dissect_EnumDependentServicesA_response
},
9153 { 26, "EnumServicesStatusA",
9154 svcctl_dissect_EnumServicesStatusA_request
, svcctl_dissect_EnumServicesStatusA_response
},
9155 { 27, "OpenSCManagerA",
9156 svcctl_dissect_OpenSCManagerA_request
, svcctl_dissect_OpenSCManagerA_response
},
9157 { 28, "OpenServiceA",
9158 svcctl_dissect_OpenServiceA_request
, svcctl_dissect_OpenServiceA_response
},
9159 { 29, "QueryServiceConfigA",
9160 svcctl_dissect_QueryServiceConfigA_request
, svcctl_dissect_QueryServiceConfigA_response
},
9161 { 30, "QueryServiceLockStatusA",
9162 svcctl_dissect_QueryServiceLockStatusA_request
, svcctl_dissect_QueryServiceLockStatusA_response
},
9163 { 31, "StartServiceA",
9164 svcctl_dissect_StartServiceA_request
, svcctl_dissect_StartServiceA_response
},
9165 { 32, "GetServiceDisplayNameA",
9166 svcctl_dissect_GetServiceDisplayNameA_request
, svcctl_dissect_GetServiceDisplayNameA_response
},
9167 { 33, "GetServiceKeyNameA",
9168 svcctl_dissect_GetServiceKeyNameA_request
, svcctl_dissect_GetServiceKeyNameA_response
},
9169 { 34, "GetCurrentGroupeStateW",
9170 svcctl_dissect_GetCurrentGroupeStateW_request
, svcctl_dissect_GetCurrentGroupeStateW_response
},
9171 { 35, "EnumServiceGroupW",
9172 svcctl_dissect_EnumServiceGroupW_request
, svcctl_dissect_EnumServiceGroupW_response
},
9173 { 36, "ChangeServiceConfig2A",
9174 svcctl_dissect_ChangeServiceConfig2A_request
, svcctl_dissect_ChangeServiceConfig2A_response
},
9175 { 37, "ChangeServiceConfig2W",
9176 svcctl_dissect_ChangeServiceConfig2W_request
, svcctl_dissect_ChangeServiceConfig2W_response
},
9177 { 38, "QueryServiceConfig2A",
9178 svcctl_dissect_QueryServiceConfig2A_request
, svcctl_dissect_QueryServiceConfig2A_response
},
9179 { 39, "QueryServiceConfig2W",
9180 svcctl_dissect_QueryServiceConfig2W_request
, svcctl_dissect_QueryServiceConfig2W_response
},
9181 { 40, "QueryServiceStatusEx",
9182 svcctl_dissect_QueryServiceStatusEx_request
, svcctl_dissect_QueryServiceStatusEx_response
},
9183 { 41, "EnumServicesStatusExA",
9184 svcctl_dissect_EnumServicesStatusExA_request
, svcctl_dissect_EnumServicesStatusExA_response
},
9185 { 42, "EnumServicesStatusExW",
9186 svcctl_dissect_EnumServicesStatusExW_request
, svcctl_dissect_EnumServicesStatusExW_response
},
9187 { 43, "ScBroadcastServiceControlMessage",
9188 svcctl_dissect_ScBroadcastServiceControlMessage_request
, svcctl_dissect_ScBroadcastServiceControlMessage_response
},
9189 { 44, "CreateServiceWOW64A",
9190 svcctl_dissect_CreateServiceWOW64A_request
, svcctl_dissect_CreateServiceWOW64A_response
},
9191 { 45, "CreateServiceWOW64W",
9192 svcctl_dissect_CreateServiceWOW64W_request
, svcctl_dissect_CreateServiceWOW64W_response
},
9193 { 46, "ScQueryServiceTagInfo",
9194 svcctl_dissect_ScQueryServiceTagInfo_request
, svcctl_dissect_ScQueryServiceTagInfo_response
},
9195 { 47, "NotifyServiceStatusChange",
9196 svcctl_dissect_NotifyServiceStatusChange_request
, svcctl_dissect_NotifyServiceStatusChange_response
},
9197 { 48, "GetNotifyResults",
9198 svcctl_dissect_GetNotifyResults_request
, svcctl_dissect_GetNotifyResults_response
},
9199 { 49, "CloseNotifyHandle",
9200 svcctl_dissect_CloseNotifyHandle_request
, svcctl_dissect_CloseNotifyHandle_response
},
9201 { 50, "ControlServiceExA",
9202 svcctl_dissect_ControlServiceExA_request
, svcctl_dissect_ControlServiceExA_response
},
9203 { 51, "ControlServiceExW",
9204 svcctl_dissect_ControlServiceExW_request
, svcctl_dissect_ControlServiceExW_response
},
9205 { 52, "ScSendPnPMessage",
9206 svcctl_dissect_ScSendPnPMessage_request
, svcctl_dissect_ScSendPnPMessage_response
},
9207 { 53, "ScValidatePnPService",
9208 svcctl_dissect_ScValidatePnPService_request
, svcctl_dissect_ScValidatePnPService_response
},
9209 { 54, "ScOpenServiceStatusHandle",
9210 svcctl_dissect_ScOpenServiceStatusHandle_request
, svcctl_dissect_ScOpenServiceStatusHandle_response
},
9211 { 55, "ScQueryServiceConfig",
9212 svcctl_dissect_ScQueryServiceConfig_request
, svcctl_dissect_ScQueryServiceConfig_response
},
9213 { 56, "QueryServiceConfigEx",
9214 svcctl_dissect_QueryServiceConfigEx_request
, svcctl_dissect_QueryServiceConfigEx_response
},
9215 { 57, "ScRegisterPreshutdownRestart",
9216 svcctl_dissect_ScRegisterPreshutdownRestart_request
, svcctl_dissect_ScRegisterPreshutdownRestart_response
},
9217 { 58, "ScReparseServiceDatabase",
9218 svcctl_dissect_ScReparseServiceDatabase_request
, svcctl_dissect_ScReparseServiceDatabase_response
},
9219 { 59, "QueryUserServiceName",
9220 svcctl_dissect_QueryUserServiceName_request
, svcctl_dissect_QueryUserServiceName_response
},
9221 { 60, "CreateWowService",
9222 svcctl_dissect_CreateWowService_request
, svcctl_dissect_CreateWowService_response
},
9223 { 61, "GetServiceRegistryStateKey",
9224 svcctl_dissect_GetServiceRegistryStateKey_request
, svcctl_dissect_GetServiceRegistryStateKey_response
},
9225 { 62, "GetServiceDirectory",
9226 svcctl_dissect_GetServiceDirectory_request
, svcctl_dissect_GetServiceDirectory_response
},
9227 { 63, "GetServiceProcessToken",
9228 svcctl_dissect_GetServiceProcessToken_request
, svcctl_dissect_GetServiceProcessToken_response
},
9229 { 64, "OpenSCManager2",
9230 svcctl_dissect_OpenSCManager2_request
, svcctl_dissect_OpenSCManager2_response
},
9231 { 65, "GetSharedServiceRegistryStateKey",
9232 svcctl_dissect_GetSharedServiceRegistryStateKey_request
, svcctl_dissect_GetSharedServiceRegistryStateKey_response
},
9233 { 66, "GetSharedServiceDirectory",
9234 svcctl_dissect_GetSharedServiceDirectory_request
, svcctl_dissect_GetSharedServiceDirectory_response
},
9235 { 0, NULL
, NULL
, NULL
}
9238 void proto_register_dcerpc_svcctl(void)
9240 static hf_register_info hf
[] = {
9241 { &hf_svcctl_ENUM_SERVICE_STATUSA_display_name
,
9242 { "Display Name", "svcctl.ENUM_SERVICE_STATUSA.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9243 { &hf_svcctl_ENUM_SERVICE_STATUSA_service_name
,
9244 { "Service Name", "svcctl.ENUM_SERVICE_STATUSA.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9245 { &hf_svcctl_ENUM_SERVICE_STATUSA_status
,
9246 { "Status", "svcctl.ENUM_SERVICE_STATUSA.status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9247 { &hf_svcctl_ENUM_SERVICE_STATUSW_display_name
,
9248 { "Display Name", "svcctl.ENUM_SERVICE_STATUSW.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9249 { &hf_svcctl_ENUM_SERVICE_STATUSW_service_name
,
9250 { "Service Name", "svcctl.ENUM_SERVICE_STATUSW.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9251 { &hf_svcctl_ENUM_SERVICE_STATUSW_status
,
9252 { "Status", "svcctl.ENUM_SERVICE_STATUSW.status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9253 { &hf_svcctl_EnumServicesStatusExA_group_name
,
9254 { "Group Name", "svcctl.EnumServicesStatusExA.group_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9255 { &hf_svcctl_EnumServicesStatusExA_info_level
,
9256 { "Info Level", "svcctl.EnumServicesStatusExA.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9257 { &hf_svcctl_EnumServicesStatusExA_needed
,
9258 { "Needed", "svcctl.EnumServicesStatusExA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9259 { &hf_svcctl_EnumServicesStatusExA_offered
,
9260 { "Offered", "svcctl.EnumServicesStatusExA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9261 { &hf_svcctl_EnumServicesStatusExA_resume_handle
,
9262 { "Resume Handle", "svcctl.EnumServicesStatusExA.resume_handle", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9263 { &hf_svcctl_EnumServicesStatusExA_scm_handle
,
9264 { "Scm Handle", "svcctl.EnumServicesStatusExA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9265 { &hf_svcctl_EnumServicesStatusExA_service_returned
,
9266 { "Service Returned", "svcctl.EnumServicesStatusExA.service_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9267 { &hf_svcctl_EnumServicesStatusExA_service_type
,
9268 { "Service Type", "svcctl.EnumServicesStatusExA.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9269 { &hf_svcctl_EnumServicesStatusExA_services
,
9270 { "Services", "svcctl.EnumServicesStatusExA.services", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9271 { &hf_svcctl_EnumServicesStatusExA_state
,
9272 { "State", "svcctl.EnumServicesStatusExA.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9273 { &hf_svcctl_EnumServicesStatusExW_group_name
,
9274 { "Group Name", "svcctl.EnumServicesStatusExW.group_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9275 { &hf_svcctl_EnumServicesStatusExW_info_level
,
9276 { "Info Level", "svcctl.EnumServicesStatusExW.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9277 { &hf_svcctl_EnumServicesStatusExW_needed
,
9278 { "Needed", "svcctl.EnumServicesStatusExW.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9279 { &hf_svcctl_EnumServicesStatusExW_offered
,
9280 { "Offered", "svcctl.EnumServicesStatusExW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9281 { &hf_svcctl_EnumServicesStatusExW_resume_handle
,
9282 { "Resume Handle", "svcctl.EnumServicesStatusExW.resume_handle", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9283 { &hf_svcctl_EnumServicesStatusExW_scmanager
,
9284 { "Scmanager", "svcctl.EnumServicesStatusExW.scmanager", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9285 { &hf_svcctl_EnumServicesStatusExW_service_returned
,
9286 { "Service Returned", "svcctl.EnumServicesStatusExW.service_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9287 { &hf_svcctl_EnumServicesStatusExW_service_type
,
9288 { "Service Type", "svcctl.EnumServicesStatusExW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9289 { &hf_svcctl_EnumServicesStatusExW_services
,
9290 { "Services", "svcctl.EnumServicesStatusExW.services", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9291 { &hf_svcctl_EnumServicesStatusExW_state
,
9292 { "State", "svcctl.EnumServicesStatusExW.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9293 { &hf_svcctl_QUERY_SERVICE_CONFIG_dependencies
,
9294 { "Dependencies", "svcctl.QUERY_SERVICE_CONFIG.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9295 { &hf_svcctl_QUERY_SERVICE_CONFIG_displayname
,
9296 { "Displayname", "svcctl.QUERY_SERVICE_CONFIG.displayname", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9297 { &hf_svcctl_QUERY_SERVICE_CONFIG_error_control
,
9298 { "Error Control", "svcctl.QUERY_SERVICE_CONFIG.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9299 { &hf_svcctl_QUERY_SERVICE_CONFIG_executablepath
,
9300 { "Executablepath", "svcctl.QUERY_SERVICE_CONFIG.executablepath", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9301 { &hf_svcctl_QUERY_SERVICE_CONFIG_loadordergroup
,
9302 { "Loadordergroup", "svcctl.QUERY_SERVICE_CONFIG.loadordergroup", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9303 { &hf_svcctl_QUERY_SERVICE_CONFIG_service_type
,
9304 { "Service Type", "svcctl.QUERY_SERVICE_CONFIG.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9305 { &hf_svcctl_QUERY_SERVICE_CONFIG_start_type
,
9306 { "Start Type", "svcctl.QUERY_SERVICE_CONFIG.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9307 { &hf_svcctl_QUERY_SERVICE_CONFIG_startname
,
9308 { "Startname", "svcctl.QUERY_SERVICE_CONFIG.startname", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9309 { &hf_svcctl_QUERY_SERVICE_CONFIG_tag_id
,
9310 { "Tag Id", "svcctl.QUERY_SERVICE_CONFIG.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9311 { &hf_svcctl_SERVICE_LOCK_STATUS_is_locked
,
9312 { "Is Locked", "svcctl.SERVICE_LOCK_STATUS.is_locked", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9313 { &hf_svcctl_SERVICE_LOCK_STATUS_lock_duration
,
9314 { "Lock Duration", "svcctl.SERVICE_LOCK_STATUS.lock_duration", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9315 { &hf_svcctl_SERVICE_LOCK_STATUS_lock_owner
,
9316 { "Lock Owner", "svcctl.SERVICE_LOCK_STATUS.lock_owner", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9317 { &hf_svcctl_SERVICE_STATUS_PROCESS_check_point
,
9318 { "Check Point", "svcctl.SERVICE_STATUS_PROCESS.check_point", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9319 { &hf_svcctl_SERVICE_STATUS_PROCESS_controls_accepted
,
9320 { "Controls Accepted", "svcctl.SERVICE_STATUS_PROCESS.controls_accepted", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9321 { &hf_svcctl_SERVICE_STATUS_PROCESS_process_id
,
9322 { "Process Id", "svcctl.SERVICE_STATUS_PROCESS.process_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9323 { &hf_svcctl_SERVICE_STATUS_PROCESS_service_exit_code
,
9324 { "Service Exit Code", "svcctl.SERVICE_STATUS_PROCESS.service_exit_code", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9325 { &hf_svcctl_SERVICE_STATUS_PROCESS_service_flags
,
9326 { "Service Flags", "svcctl.SERVICE_STATUS_PROCESS.service_flags", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceFlags_vals
), 0, NULL
, HFILL
}},
9327 { &hf_svcctl_SERVICE_STATUS_PROCESS_state
,
9328 { "State", "svcctl.SERVICE_STATUS_PROCESS.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceStatus_vals
), 0, NULL
, HFILL
}},
9329 { &hf_svcctl_SERVICE_STATUS_PROCESS_type
,
9330 { "Type", "svcctl.SERVICE_STATUS_PROCESS.type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9331 { &hf_svcctl_SERVICE_STATUS_PROCESS_wait_hint
,
9332 { "Wait Hint", "svcctl.SERVICE_STATUS_PROCESS.wait_hint", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9333 { &hf_svcctl_SERVICE_STATUS_PROCESS_win32_exit_code
,
9334 { "Win32 Exit Code", "svcctl.SERVICE_STATUS_PROCESS.win32_exit_code", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
9335 { &hf_svcctl_SERVICE_STATUS_check_point
,
9336 { "Check Point", "svcctl.SERVICE_STATUS.check_point", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9337 { &hf_svcctl_SERVICE_STATUS_controls_accepted
,
9338 { "Controls Accepted", "svcctl.SERVICE_STATUS.controls_accepted", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9339 { &hf_svcctl_SERVICE_STATUS_service_exit_code
,
9340 { "Service Exit Code", "svcctl.SERVICE_STATUS.service_exit_code", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9341 { &hf_svcctl_SERVICE_STATUS_state
,
9342 { "State", "svcctl.SERVICE_STATUS.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceStatus_vals
), 0, NULL
, HFILL
}},
9343 { &hf_svcctl_SERVICE_STATUS_type
,
9344 { "Type", "svcctl.SERVICE_STATUS.type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9345 { &hf_svcctl_SERVICE_STATUS_wait_hint
,
9346 { "Wait Hint", "svcctl.SERVICE_STATUS.wait_hint", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9347 { &hf_svcctl_SERVICE_STATUS_win32_exit_code
,
9348 { "Win32 Exit Code", "svcctl.SERVICE_STATUS.win32_exit_code", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
9350 { "Operation", "svcctl.opnum", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9351 { &hf_svcctl_service_buffer_size
,
9352 { "Buffer Size", "svcctl.services.buffer_size", FT_UINT32
, BASE_DEC
, NULL
, 0, "NULL", HFILL
}},
9353 { &hf_svcctl_service_referent_id
,
9354 { "Referent ID(offset)", "svcctl.ENUM_SERVICE_STATUSW.referent_id", FT_UINT32
, BASE_DEC
, NULL
, 0, "NULL", HFILL
}},
9355 { &hf_svcctl_svcctl_ArgumentStringA_string
,
9356 { "String", "svcctl.svcctl_ArgumentStringA.string", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9357 { &hf_svcctl_svcctl_ArgumentString_string
,
9358 { "String", "svcctl.svcctl_ArgumentString.string", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9359 { &hf_svcctl_svcctl_ChangeServiceConfig2A_info
,
9360 { "Info", "svcctl.svcctl_ChangeServiceConfig2A.info", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9361 { &hf_svcctl_svcctl_ChangeServiceConfig2A_info_level
,
9362 { "Info Level", "svcctl.svcctl_ChangeServiceConfig2A.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9363 { &hf_svcctl_svcctl_ChangeServiceConfig2A_service_handle
,
9364 { "Service Handle", "svcctl.svcctl_ChangeServiceConfig2A.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9365 { &hf_svcctl_svcctl_ChangeServiceConfig2W_handle
,
9366 { "Handle", "svcctl.svcctl_ChangeServiceConfig2W.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9367 { &hf_svcctl_svcctl_ChangeServiceConfig2W_info
,
9368 { "Info", "svcctl.svcctl_ChangeServiceConfig2W.info", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9369 { &hf_svcctl_svcctl_ChangeServiceConfig2W_info_level
,
9370 { "Info Level", "svcctl.svcctl_ChangeServiceConfig2W.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9371 { &hf_svcctl_svcctl_ChangeServiceConfigA_binary_path
,
9372 { "Binary Path", "svcctl.svcctl_ChangeServiceConfigA.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9373 { &hf_svcctl_svcctl_ChangeServiceConfigA_dependencies
,
9374 { "Dependencies", "svcctl.svcctl_ChangeServiceConfigA.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9375 { &hf_svcctl_svcctl_ChangeServiceConfigA_display_name
,
9376 { "Display Name", "svcctl.svcctl_ChangeServiceConfigA.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9377 { &hf_svcctl_svcctl_ChangeServiceConfigA_error_control
,
9378 { "Error Control", "svcctl.svcctl_ChangeServiceConfigA.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9379 { &hf_svcctl_svcctl_ChangeServiceConfigA_load_order_group
,
9380 { "Load Order Group", "svcctl.svcctl_ChangeServiceConfigA.load_order_group", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9381 { &hf_svcctl_svcctl_ChangeServiceConfigA_password
,
9382 { "Password", "svcctl.svcctl_ChangeServiceConfigA.password", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9383 { &hf_svcctl_svcctl_ChangeServiceConfigA_service_handle
,
9384 { "Service Handle", "svcctl.svcctl_ChangeServiceConfigA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9385 { &hf_svcctl_svcctl_ChangeServiceConfigA_service_start_name
,
9386 { "Service Start Name", "svcctl.svcctl_ChangeServiceConfigA.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9387 { &hf_svcctl_svcctl_ChangeServiceConfigA_service_type
,
9388 { "Service Type", "svcctl.svcctl_ChangeServiceConfigA.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9389 { &hf_svcctl_svcctl_ChangeServiceConfigA_start_type
,
9390 { "Start Type", "svcctl.svcctl_ChangeServiceConfigA.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9391 { &hf_svcctl_svcctl_ChangeServiceConfigA_tag_id
,
9392 { "Tag Id", "svcctl.svcctl_ChangeServiceConfigA.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9393 { &hf_svcctl_svcctl_ChangeServiceConfigW_binary_path
,
9394 { "Binary Path", "svcctl.svcctl_ChangeServiceConfigW.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9395 { &hf_svcctl_svcctl_ChangeServiceConfigW_dependencies
,
9396 { "Dependencies", "svcctl.svcctl_ChangeServiceConfigW.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9397 { &hf_svcctl_svcctl_ChangeServiceConfigW_display_name
,
9398 { "Display Name", "svcctl.svcctl_ChangeServiceConfigW.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9399 { &hf_svcctl_svcctl_ChangeServiceConfigW_dwDependSize
,
9400 { "DwDependSize", "svcctl.svcctl_ChangeServiceConfigW.dwDependSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9401 { &hf_svcctl_svcctl_ChangeServiceConfigW_dwPwSize
,
9402 { "DwPwSize", "svcctl.svcctl_ChangeServiceConfigW.dwPwSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9403 { &hf_svcctl_svcctl_ChangeServiceConfigW_error_control
,
9404 { "Error Control", "svcctl.svcctl_ChangeServiceConfigW.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9405 { &hf_svcctl_svcctl_ChangeServiceConfigW_load_order_group
,
9406 { "Load Order Group", "svcctl.svcctl_ChangeServiceConfigW.load_order_group", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9407 { &hf_svcctl_svcctl_ChangeServiceConfigW_password
,
9408 { "Password", "svcctl.svcctl_ChangeServiceConfigW.password", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9409 { &hf_svcctl_svcctl_ChangeServiceConfigW_service_handle
,
9410 { "Service Handle", "svcctl.svcctl_ChangeServiceConfigW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9411 { &hf_svcctl_svcctl_ChangeServiceConfigW_service_start_name
,
9412 { "Service Start Name", "svcctl.svcctl_ChangeServiceConfigW.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9413 { &hf_svcctl_svcctl_ChangeServiceConfigW_service_type
,
9414 { "Service Type", "svcctl.svcctl_ChangeServiceConfigW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9415 { &hf_svcctl_svcctl_ChangeServiceConfigW_start_type
,
9416 { "Start Type", "svcctl.svcctl_ChangeServiceConfigW.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9417 { &hf_svcctl_svcctl_ChangeServiceConfigW_tag_id
,
9418 { "Tag Id", "svcctl.svcctl_ChangeServiceConfigW.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9419 { &hf_svcctl_svcctl_CloseServiceHandle_object_handle
,
9420 { "Object Handle", "svcctl.svcctl_CloseServiceHandle.object_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9421 { &hf_svcctl_svcctl_ControlService_control
,
9422 { "Control", "svcctl.svcctl_ControlService.control", FT_UINT32
, BASE_DEC
, VALS(svcctl_SERVICE_CONTROL_vals
), 0, NULL
, HFILL
}},
9423 { &hf_svcctl_svcctl_ControlService_service_handle
,
9424 { "Service Handle", "svcctl.svcctl_ControlService.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9425 { &hf_svcctl_svcctl_ControlService_service_status
,
9426 { "Service Status", "svcctl.svcctl_ControlService.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9427 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_HARDWAREPROFILECHANGE
,
9428 { "SERVICE ACCEPT HARDWAREPROFILECHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_HARDWAREPROFILECHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_HARDWAREPROFILECHANGE_tfs
), ( 0x00000020 ), NULL
, HFILL
}},
9429 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_NETBINDCHANGE
,
9430 { "SERVICE ACCEPT NETBINDCHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_NETBINDCHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_NETBINDCHANGE_tfs
), ( 0x00000010 ), NULL
, HFILL
}},
9431 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PARAMCHANGE
,
9432 { "SERVICE ACCEPT PARAMCHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_PARAMCHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_PARAMCHANGE_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
9433 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PAUSE_CONTINUE
,
9434 { "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
}},
9435 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_POWEREVENT
,
9436 { "SERVICE ACCEPT POWEREVENT", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_POWEREVENT", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_POWEREVENT_tfs
), ( 0x00000040 ), NULL
, HFILL
}},
9437 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_PRESHUTDOWN
,
9438 { "SERVICE ACCEPT PRESHUTDOWN", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_PRESHUTDOWN", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_PRESHUTDOWN_tfs
), ( 0x00000100 ), NULL
, HFILL
}},
9439 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SESSIONCHANGE
,
9440 { "SERVICE ACCEPT SESSIONCHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_SESSIONCHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_SESSIONCHANGE_tfs
), ( 0x00000080 ), NULL
, HFILL
}},
9441 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_SHUTDOWN
,
9442 { "SERVICE ACCEPT SHUTDOWN", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_SHUTDOWN", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_SHUTDOWN_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
9443 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_STOP
,
9444 { "SERVICE ACCEPT STOP", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_STOP", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_STOP_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
9445 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TIMECHANGE
,
9446 { "SERVICE ACCEPT TIMECHANGE", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_TIMECHANGE", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_TIMECHANGE_tfs
), ( 0x00000200 ), NULL
, HFILL
}},
9447 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_TRIGGEREVENT
,
9448 { "SERVICE ACCEPT TRIGGEREVENT", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_TRIGGEREVENT", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_TRIGGEREVENT_tfs
), ( 0x00000400 ), NULL
, HFILL
}},
9449 { &hf_svcctl_svcctl_ControlsAccepted_SERVICE_ACCEPT_USERMODEREBOOT
,
9450 { "SERVICE ACCEPT USERMODEREBOOT", "svcctl.svcctl_ControlsAccepted.SERVICE_ACCEPT_USERMODEREBOOT", FT_BOOLEAN
, 32, TFS(&svcctl_ControlsAccepted_SERVICE_ACCEPT_USERMODEREBOOT_tfs
), ( 0x00000800 ), NULL
, HFILL
}},
9451 { &hf_svcctl_svcctl_CreateServiceA_DisplayName
,
9452 { "DisplayName", "svcctl.svcctl_CreateServiceA.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9453 { &hf_svcctl_svcctl_CreateServiceA_LoadOrderGroupKey
,
9454 { "LoadOrderGroupKey", "svcctl.svcctl_CreateServiceA.LoadOrderGroupKey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9455 { &hf_svcctl_svcctl_CreateServiceA_ServiceName
,
9456 { "ServiceName", "svcctl.svcctl_CreateServiceA.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9457 { &hf_svcctl_svcctl_CreateServiceA_binary_path
,
9458 { "Binary Path", "svcctl.svcctl_CreateServiceA.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9459 { &hf_svcctl_svcctl_CreateServiceA_dependencies
,
9460 { "Dependencies", "svcctl.svcctl_CreateServiceA.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9461 { &hf_svcctl_svcctl_CreateServiceA_dependencies_size
,
9462 { "Dependencies Size", "svcctl.svcctl_CreateServiceA.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9463 { &hf_svcctl_svcctl_CreateServiceA_desired_access
,
9464 { "Desired Access", "svcctl.svcctl_CreateServiceA.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9465 { &hf_svcctl_svcctl_CreateServiceA_error_control
,
9466 { "Error Control", "svcctl.svcctl_CreateServiceA.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9467 { &hf_svcctl_svcctl_CreateServiceA_password
,
9468 { "Password", "svcctl.svcctl_CreateServiceA.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9469 { &hf_svcctl_svcctl_CreateServiceA_password_size
,
9470 { "Password Size", "svcctl.svcctl_CreateServiceA.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9471 { &hf_svcctl_svcctl_CreateServiceA_scm_handle
,
9472 { "Scm Handle", "svcctl.svcctl_CreateServiceA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9473 { &hf_svcctl_svcctl_CreateServiceA_service_handle
,
9474 { "Service Handle", "svcctl.svcctl_CreateServiceA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9475 { &hf_svcctl_svcctl_CreateServiceA_service_start_name
,
9476 { "Service Start Name", "svcctl.svcctl_CreateServiceA.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9477 { &hf_svcctl_svcctl_CreateServiceA_service_type
,
9478 { "Service Type", "svcctl.svcctl_CreateServiceA.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9479 { &hf_svcctl_svcctl_CreateServiceA_start_type
,
9480 { "Start Type", "svcctl.svcctl_CreateServiceA.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9481 { &hf_svcctl_svcctl_CreateServiceA_tag_id
,
9482 { "Tag Id", "svcctl.svcctl_CreateServiceA.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9483 { &hf_svcctl_svcctl_CreateServiceWOW64A_DisplayName
,
9484 { "DisplayName", "svcctl.svcctl_CreateServiceWOW64A.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9485 { &hf_svcctl_svcctl_CreateServiceWOW64A_LoadOrderGroupKey
,
9486 { "LoadOrderGroupKey", "svcctl.svcctl_CreateServiceWOW64A.LoadOrderGroupKey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9487 { &hf_svcctl_svcctl_CreateServiceWOW64A_ServiceName
,
9488 { "ServiceName", "svcctl.svcctl_CreateServiceWOW64A.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9489 { &hf_svcctl_svcctl_CreateServiceWOW64A_binary_path
,
9490 { "Binary Path", "svcctl.svcctl_CreateServiceWOW64A.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9491 { &hf_svcctl_svcctl_CreateServiceWOW64A_dependencies
,
9492 { "Dependencies", "svcctl.svcctl_CreateServiceWOW64A.dependencies", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9493 { &hf_svcctl_svcctl_CreateServiceWOW64A_dependencies_size
,
9494 { "Dependencies Size", "svcctl.svcctl_CreateServiceWOW64A.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9495 { &hf_svcctl_svcctl_CreateServiceWOW64A_desired_access
,
9496 { "Desired Access", "svcctl.svcctl_CreateServiceWOW64A.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9497 { &hf_svcctl_svcctl_CreateServiceWOW64A_error_control
,
9498 { "Error Control", "svcctl.svcctl_CreateServiceWOW64A.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9499 { &hf_svcctl_svcctl_CreateServiceWOW64A_handle
,
9500 { "Handle", "svcctl.svcctl_CreateServiceWOW64A.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9501 { &hf_svcctl_svcctl_CreateServiceWOW64A_password
,
9502 { "Password", "svcctl.svcctl_CreateServiceWOW64A.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9503 { &hf_svcctl_svcctl_CreateServiceWOW64A_password_size
,
9504 { "Password Size", "svcctl.svcctl_CreateServiceWOW64A.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9505 { &hf_svcctl_svcctl_CreateServiceWOW64A_scm_handle
,
9506 { "Scm Handle", "svcctl.svcctl_CreateServiceWOW64A.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9507 { &hf_svcctl_svcctl_CreateServiceWOW64A_service_start_name
,
9508 { "Service Start Name", "svcctl.svcctl_CreateServiceWOW64A.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9509 { &hf_svcctl_svcctl_CreateServiceWOW64A_service_type
,
9510 { "Service Type", "svcctl.svcctl_CreateServiceWOW64A.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9511 { &hf_svcctl_svcctl_CreateServiceWOW64A_start_type
,
9512 { "Start Type", "svcctl.svcctl_CreateServiceWOW64A.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9513 { &hf_svcctl_svcctl_CreateServiceWOW64A_tag_id
,
9514 { "Tag Id", "svcctl.svcctl_CreateServiceWOW64A.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9515 { &hf_svcctl_svcctl_CreateServiceWOW64W_DisplayName
,
9516 { "DisplayName", "svcctl.svcctl_CreateServiceWOW64W.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9517 { &hf_svcctl_svcctl_CreateServiceWOW64W_LoadOrderGroupKey
,
9518 { "LoadOrderGroupKey", "svcctl.svcctl_CreateServiceWOW64W.LoadOrderGroupKey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9519 { &hf_svcctl_svcctl_CreateServiceWOW64W_ServiceName
,
9520 { "ServiceName", "svcctl.svcctl_CreateServiceWOW64W.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9521 { &hf_svcctl_svcctl_CreateServiceWOW64W_binary_path
,
9522 { "Binary Path", "svcctl.svcctl_CreateServiceWOW64W.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9523 { &hf_svcctl_svcctl_CreateServiceWOW64W_dependencies
,
9524 { "Dependencies", "svcctl.svcctl_CreateServiceWOW64W.dependencies", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9525 { &hf_svcctl_svcctl_CreateServiceWOW64W_dependencies_size
,
9526 { "Dependencies Size", "svcctl.svcctl_CreateServiceWOW64W.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9527 { &hf_svcctl_svcctl_CreateServiceWOW64W_desired_access
,
9528 { "Desired Access", "svcctl.svcctl_CreateServiceWOW64W.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9529 { &hf_svcctl_svcctl_CreateServiceWOW64W_error_control
,
9530 { "Error Control", "svcctl.svcctl_CreateServiceWOW64W.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9531 { &hf_svcctl_svcctl_CreateServiceWOW64W_handle
,
9532 { "Handle", "svcctl.svcctl_CreateServiceWOW64W.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9533 { &hf_svcctl_svcctl_CreateServiceWOW64W_password
,
9534 { "Password", "svcctl.svcctl_CreateServiceWOW64W.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9535 { &hf_svcctl_svcctl_CreateServiceWOW64W_password_size
,
9536 { "Password Size", "svcctl.svcctl_CreateServiceWOW64W.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9537 { &hf_svcctl_svcctl_CreateServiceWOW64W_scm_handle
,
9538 { "Scm Handle", "svcctl.svcctl_CreateServiceWOW64W.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9539 { &hf_svcctl_svcctl_CreateServiceWOW64W_service_start_name
,
9540 { "Service Start Name", "svcctl.svcctl_CreateServiceWOW64W.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9541 { &hf_svcctl_svcctl_CreateServiceWOW64W_service_type
,
9542 { "Service Type", "svcctl.svcctl_CreateServiceWOW64W.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9543 { &hf_svcctl_svcctl_CreateServiceWOW64W_start_type
,
9544 { "Start Type", "svcctl.svcctl_CreateServiceWOW64W.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9545 { &hf_svcctl_svcctl_CreateServiceWOW64W_tag_id
,
9546 { "Tag Id", "svcctl.svcctl_CreateServiceWOW64W.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9547 { &hf_svcctl_svcctl_CreateServiceW_DisplayName
,
9548 { "DisplayName", "svcctl.svcctl_CreateServiceW.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9549 { &hf_svcctl_svcctl_CreateServiceW_LoadOrderGroup
,
9550 { "LoadOrderGroup", "svcctl.svcctl_CreateServiceW.LoadOrderGroup", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9551 { &hf_svcctl_svcctl_CreateServiceW_ServiceName
,
9552 { "ServiceName", "svcctl.svcctl_CreateServiceW.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9553 { &hf_svcctl_svcctl_CreateServiceW_binary_path
,
9554 { "Binary Path", "svcctl.svcctl_CreateServiceW.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9555 { &hf_svcctl_svcctl_CreateServiceW_dependencies
,
9556 { "Dependencies", "svcctl.svcctl_CreateServiceW.dependencies", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9557 { &hf_svcctl_svcctl_CreateServiceW_dependencies_size
,
9558 { "Dependencies Size", "svcctl.svcctl_CreateServiceW.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9559 { &hf_svcctl_svcctl_CreateServiceW_desired_access
,
9560 { "Desired Access", "svcctl.svcctl_CreateServiceW.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9561 { &hf_svcctl_svcctl_CreateServiceW_error_control
,
9562 { "Error Control", "svcctl.svcctl_CreateServiceW.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9563 { &hf_svcctl_svcctl_CreateServiceW_password
,
9564 { "Password", "svcctl.svcctl_CreateServiceW.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9565 { &hf_svcctl_svcctl_CreateServiceW_password_size
,
9566 { "Password Size", "svcctl.svcctl_CreateServiceW.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9567 { &hf_svcctl_svcctl_CreateServiceW_scm_handle
,
9568 { "Scm Handle", "svcctl.svcctl_CreateServiceW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9569 { &hf_svcctl_svcctl_CreateServiceW_service_handle
,
9570 { "Service Handle", "svcctl.svcctl_CreateServiceW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9571 { &hf_svcctl_svcctl_CreateServiceW_service_start_name
,
9572 { "Service Start Name", "svcctl.svcctl_CreateServiceW.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9573 { &hf_svcctl_svcctl_CreateServiceW_service_type
,
9574 { "Service Type", "svcctl.svcctl_CreateServiceW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9575 { &hf_svcctl_svcctl_CreateServiceW_start_type
,
9576 { "Start Type", "svcctl.svcctl_CreateServiceW.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9577 { &hf_svcctl_svcctl_CreateServiceW_tag_id
,
9578 { "Tag Id", "svcctl.svcctl_CreateServiceW.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9579 { &hf_svcctl_svcctl_CreateWowService_DisplayName
,
9580 { "DisplayName", "svcctl.svcctl_CreateWowService.DisplayName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9581 { &hf_svcctl_svcctl_CreateWowService_LoadOrderGroupKey
,
9582 { "LoadOrderGroupKey", "svcctl.svcctl_CreateWowService.LoadOrderGroupKey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9583 { &hf_svcctl_svcctl_CreateWowService_ServiceName
,
9584 { "ServiceName", "svcctl.svcctl_CreateWowService.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9585 { &hf_svcctl_svcctl_CreateWowService_binary_path
,
9586 { "Binary Path", "svcctl.svcctl_CreateWowService.binary_path", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9587 { &hf_svcctl_svcctl_CreateWowService_dependencies
,
9588 { "Dependencies", "svcctl.svcctl_CreateWowService.dependencies", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9589 { &hf_svcctl_svcctl_CreateWowService_dependencies_size
,
9590 { "Dependencies Size", "svcctl.svcctl_CreateWowService.dependencies_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9591 { &hf_svcctl_svcctl_CreateWowService_desired_access
,
9592 { "Desired Access", "svcctl.svcctl_CreateWowService.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9593 { &hf_svcctl_svcctl_CreateWowService_error_control
,
9594 { "Error Control", "svcctl.svcctl_CreateWowService.error_control", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ErrorControl_vals
), 0, NULL
, HFILL
}},
9595 { &hf_svcctl_svcctl_CreateWowService_handle
,
9596 { "Handle", "svcctl.svcctl_CreateWowService.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9597 { &hf_svcctl_svcctl_CreateWowService_password
,
9598 { "Password", "svcctl.svcctl_CreateWowService.password", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9599 { &hf_svcctl_svcctl_CreateWowService_password_size
,
9600 { "Password Size", "svcctl.svcctl_CreateWowService.password_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9601 { &hf_svcctl_svcctl_CreateWowService_scm_handle
,
9602 { "Scm Handle", "svcctl.svcctl_CreateWowService.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9603 { &hf_svcctl_svcctl_CreateWowService_service_start_name
,
9604 { "Service Start Name", "svcctl.svcctl_CreateWowService.service_start_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9605 { &hf_svcctl_svcctl_CreateWowService_service_type
,
9606 { "Service Type", "svcctl.svcctl_CreateWowService.service_type", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9607 { &hf_svcctl_svcctl_CreateWowService_service_wow_type
,
9608 { "Service Wow Type", "svcctl.svcctl_CreateWowService.service_wow_type", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9609 { &hf_svcctl_svcctl_CreateWowService_start_type
,
9610 { "Start Type", "svcctl.svcctl_CreateWowService.start_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StartType_vals
), 0, NULL
, HFILL
}},
9611 { &hf_svcctl_svcctl_CreateWowService_tag_id
,
9612 { "Tag Id", "svcctl.svcctl_CreateWowService.tag_id", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9613 { &hf_svcctl_svcctl_DeleteService_service_handle
,
9614 { "Service Handle", "svcctl.svcctl_DeleteService.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9615 { &hf_svcctl_svcctl_EnumDependentServicesA_needed
,
9616 { "Needed", "svcctl.svcctl_EnumDependentServicesA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9617 { &hf_svcctl_svcctl_EnumDependentServicesA_offered
,
9618 { "Offered", "svcctl.svcctl_EnumDependentServicesA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9619 { &hf_svcctl_svcctl_EnumDependentServicesA_service_handle
,
9620 { "Service Handle", "svcctl.svcctl_EnumDependentServicesA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9621 { &hf_svcctl_svcctl_EnumDependentServicesA_service_status
,
9622 { "Service Status", "svcctl.svcctl_EnumDependentServicesA.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9623 { &hf_svcctl_svcctl_EnumDependentServicesA_services_returned
,
9624 { "Services Returned", "svcctl.svcctl_EnumDependentServicesA.services_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9625 { &hf_svcctl_svcctl_EnumDependentServicesA_state
,
9626 { "State", "svcctl.svcctl_EnumDependentServicesA.state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9627 { &hf_svcctl_svcctl_EnumDependentServicesW_bytesneeded
,
9628 { "Bytesneeded", "svcctl.svcctl_EnumDependentServicesW.bytesneeded", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9629 { &hf_svcctl_svcctl_EnumDependentServicesW_offered
,
9630 { "Offered", "svcctl.svcctl_EnumDependentServicesW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9631 { &hf_svcctl_svcctl_EnumDependentServicesW_service_handle
,
9632 { "Service Handle", "svcctl.svcctl_EnumDependentServicesW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9633 { &hf_svcctl_svcctl_EnumDependentServicesW_service_state
,
9634 { "Service State", "svcctl.svcctl_EnumDependentServicesW.service_state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9635 { &hf_svcctl_svcctl_EnumDependentServicesW_service_status
,
9636 { "Service Status", "svcctl.svcctl_EnumDependentServicesW.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9637 { &hf_svcctl_svcctl_EnumDependentServicesW_services_returned
,
9638 { "Services Returned", "svcctl.svcctl_EnumDependentServicesW.services_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9639 { &hf_svcctl_svcctl_EnumServiceGroupW_ResumeIndex
,
9640 { "ResumeIndex", "svcctl.svcctl_EnumServiceGroupW.ResumeIndex", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9641 { &hf_svcctl_svcctl_EnumServiceGroupW_cbBufSize
,
9642 { "CbBufSize", "svcctl.svcctl_EnumServiceGroupW.cbBufSize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9643 { &hf_svcctl_svcctl_EnumServiceGroupW_lpBuffer
,
9644 { "LpBuffer", "svcctl.svcctl_EnumServiceGroupW.lpBuffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9645 { &hf_svcctl_svcctl_EnumServiceGroupW_lpServicesReturned
,
9646 { "LpServicesReturned", "svcctl.svcctl_EnumServiceGroupW.lpServicesReturned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9647 { &hf_svcctl_svcctl_EnumServiceGroupW_pcbBytesNeeded
,
9648 { "PcbBytesNeeded", "svcctl.svcctl_EnumServiceGroupW.pcbBytesNeeded", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9649 { &hf_svcctl_svcctl_EnumServiceGroupW_pszGroupName
,
9650 { "PszGroupName", "svcctl.svcctl_EnumServiceGroupW.pszGroupName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9651 { &hf_svcctl_svcctl_EnumServiceGroupW_scm_handle
,
9652 { "Scm Handle", "svcctl.svcctl_EnumServiceGroupW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9653 { &hf_svcctl_svcctl_EnumServiceGroupW_service_state
,
9654 { "Service State", "svcctl.svcctl_EnumServiceGroupW.service_state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9655 { &hf_svcctl_svcctl_EnumServiceGroupW_service_type
,
9656 { "Service Type", "svcctl.svcctl_EnumServiceGroupW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9657 { &hf_svcctl_svcctl_EnumServicesStatusA_needed
,
9658 { "Needed", "svcctl.svcctl_EnumServicesStatusA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9659 { &hf_svcctl_svcctl_EnumServicesStatusA_offered
,
9660 { "Offered", "svcctl.svcctl_EnumServicesStatusA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9661 { &hf_svcctl_svcctl_EnumServicesStatusA_resume_handle
,
9662 { "Resume Handle", "svcctl.svcctl_EnumServicesStatusA.resume_handle", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9663 { &hf_svcctl_svcctl_EnumServicesStatusA_scm_handle
,
9664 { "Scm Handle", "svcctl.svcctl_EnumServicesStatusA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9665 { &hf_svcctl_svcctl_EnumServicesStatusA_service
,
9666 { "Service", "svcctl.svcctl_EnumServicesStatusA.service", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9667 { &hf_svcctl_svcctl_EnumServicesStatusA_service_state
,
9668 { "Service State", "svcctl.svcctl_EnumServicesStatusA.service_state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9669 { &hf_svcctl_svcctl_EnumServicesStatusA_service_type
,
9670 { "Service Type", "svcctl.svcctl_EnumServicesStatusA.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9671 { &hf_svcctl_svcctl_EnumServicesStatusA_services_returned
,
9672 { "Services Returned", "svcctl.svcctl_EnumServicesStatusA.services_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9673 { &hf_svcctl_svcctl_EnumServicesStatusW_bytes_needed
,
9674 { "Bytes Needed", "svcctl.svcctl_EnumServicesStatusW.bytes_needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9675 { &hf_svcctl_svcctl_EnumServicesStatusW_offered
,
9676 { "Offered", "svcctl.svcctl_EnumServicesStatusW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9677 { &hf_svcctl_svcctl_EnumServicesStatusW_resume_index
,
9678 { "Resume Index", "svcctl.svcctl_EnumServicesStatusW.resume_index", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9679 { &hf_svcctl_svcctl_EnumServicesStatusW_scm_handle
,
9680 { "Scm Handle", "svcctl.svcctl_EnumServicesStatusW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9681 { &hf_svcctl_svcctl_EnumServicesStatusW_service_state
,
9682 { "Service State", "svcctl.svcctl_EnumServicesStatusW.service_state", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceState_vals
), 0, NULL
, HFILL
}},
9683 { &hf_svcctl_svcctl_EnumServicesStatusW_service_type
,
9684 { "Service Type", "svcctl.svcctl_EnumServicesStatusW.service_type", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ServiceType_vals
), 0, NULL
, HFILL
}},
9685 { &hf_svcctl_svcctl_EnumServicesStatusW_services
,
9686 { "Services", "svcctl.svcctl_EnumServicesStatusW.services", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9687 { &hf_svcctl_svcctl_EnumServicesStatusW_services_returned
,
9688 { "Services Returned", "svcctl.svcctl_EnumServicesStatusW.services_returned", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9689 { &hf_svcctl_svcctl_GetCurrentGroupeStateW_handle
,
9690 { "Handle", "svcctl.svcctl_GetCurrentGroupeStateW.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9691 { &hf_svcctl_svcctl_GetCurrentGroupeStateW_lpLoadOrderGroup
,
9692 { "LpLoadOrderGroup", "svcctl.svcctl_GetCurrentGroupeStateW.lpLoadOrderGroup", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9693 { &hf_svcctl_svcctl_GetCurrentGroupeStateW_state
,
9694 { "State", "svcctl.svcctl_GetCurrentGroupeStateW.state", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9695 { &hf_svcctl_svcctl_GetServiceDisplayNameA_display_name
,
9696 { "Display Name", "svcctl.svcctl_GetServiceDisplayNameA.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9697 { &hf_svcctl_svcctl_GetServiceDisplayNameA_display_name_length
,
9698 { "Display Name Length", "svcctl.svcctl_GetServiceDisplayNameA.display_name_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9699 { &hf_svcctl_svcctl_GetServiceDisplayNameA_handle
,
9700 { "Handle", "svcctl.svcctl_GetServiceDisplayNameA.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9701 { &hf_svcctl_svcctl_GetServiceDisplayNameA_service_name
,
9702 { "Service Name", "svcctl.svcctl_GetServiceDisplayNameA.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9703 { &hf_svcctl_svcctl_GetServiceDisplayNameW_display_name
,
9704 { "Display Name", "svcctl.svcctl_GetServiceDisplayNameW.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9705 { &hf_svcctl_svcctl_GetServiceDisplayNameW_display_name_length
,
9706 { "Display Name Length", "svcctl.svcctl_GetServiceDisplayNameW.display_name_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9707 { &hf_svcctl_svcctl_GetServiceDisplayNameW_scm_handle
,
9708 { "Scm Handle", "svcctl.svcctl_GetServiceDisplayNameW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9709 { &hf_svcctl_svcctl_GetServiceDisplayNameW_service_name
,
9710 { "Service Name", "svcctl.svcctl_GetServiceDisplayNameW.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9711 { &hf_svcctl_svcctl_GetServiceKeyNameA_display_name_length
,
9712 { "Display Name Length", "svcctl.svcctl_GetServiceKeyNameA.display_name_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9713 { &hf_svcctl_svcctl_GetServiceKeyNameA_key_name
,
9714 { "Key Name", "svcctl.svcctl_GetServiceKeyNameA.key_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9715 { &hf_svcctl_svcctl_GetServiceKeyNameA_scm_handle
,
9716 { "Scm Handle", "svcctl.svcctl_GetServiceKeyNameA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9717 { &hf_svcctl_svcctl_GetServiceKeyNameA_service_name
,
9718 { "Service Name", "svcctl.svcctl_GetServiceKeyNameA.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9719 { &hf_svcctl_svcctl_GetServiceKeyNameW_display_name
,
9720 { "Display Name", "svcctl.svcctl_GetServiceKeyNameW.display_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9721 { &hf_svcctl_svcctl_GetServiceKeyNameW_scm_handle
,
9722 { "Scm Handle", "svcctl.svcctl_GetServiceKeyNameW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9723 { &hf_svcctl_svcctl_GetServiceKeyNameW_service_name
,
9724 { "Service Name", "svcctl.svcctl_GetServiceKeyNameW.service_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9725 { &hf_svcctl_svcctl_GetServiceKeyNameW_service_name_length
,
9726 { "Service Name Length", "svcctl.svcctl_GetServiceKeyNameW.service_name_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9727 { &hf_svcctl_svcctl_LockServiceDatabase_lock_handle
,
9728 { "Lock Handle", "svcctl.svcctl_LockServiceDatabase.lock_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9729 { &hf_svcctl_svcctl_LockServiceDatabase_scm_handle
,
9730 { "Scm Handle", "svcctl.svcctl_LockServiceDatabase.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9731 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ALL_ACCESS
,
9732 { "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
}},
9733 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CONNECT
,
9734 { "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
}},
9735 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_CREATE_SERVICE
,
9736 { "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
}},
9737 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_ENUMERATE_SERVICE
,
9738 { "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
}},
9739 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_LOCK
,
9740 { "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
}},
9741 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_MODIFY_BOOT_CONFIG
,
9742 { "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
}},
9743 { &hf_svcctl_svcctl_MgrAccessMask_SC_RIGHT_MGR_QUERY_LOCK_STATUS
,
9744 { "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
}},
9745 { &hf_svcctl_svcctl_NotifyBootConfigStatus_boot_acceptable
,
9746 { "Boot Acceptable", "svcctl.svcctl_NotifyBootConfigStatus.boot_acceptable", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9747 { &hf_svcctl_svcctl_NotifyBootConfigStatus_machine_name
,
9748 { "Machine Name", "svcctl.svcctl_NotifyBootConfigStatus.machine_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9749 { &hf_svcctl_svcctl_OpenSCManager2_database_name
,
9750 { "Database Name", "svcctl.svcctl_OpenSCManager2.database_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9751 { &hf_svcctl_svcctl_OpenSCManager2_desired_access
,
9752 { "Desired Access", "svcctl.svcctl_OpenSCManager2.desired_access", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9753 { &hf_svcctl_svcctl_OpenSCManager2_handle
,
9754 { "Handle", "svcctl.svcctl_OpenSCManager2.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9755 { &hf_svcctl_svcctl_OpenSCManagerA_DatabaseName
,
9756 { "DatabaseName", "svcctl.svcctl_OpenSCManagerA.DatabaseName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9757 { &hf_svcctl_svcctl_OpenSCManagerA_MachineName
,
9758 { "MachineName", "svcctl.svcctl_OpenSCManagerA.MachineName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9759 { &hf_svcctl_svcctl_OpenSCManagerA_access_mask
,
9760 { "Access Mask", "svcctl.svcctl_OpenSCManagerA.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9761 { &hf_svcctl_svcctl_OpenSCManagerA_scm_handle
,
9762 { "Scm Handle", "svcctl.svcctl_OpenSCManagerA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9763 { &hf_svcctl_svcctl_OpenSCManagerW_DatabaseName
,
9764 { "DatabaseName", "svcctl.svcctl_OpenSCManagerW.DatabaseName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9765 { &hf_svcctl_svcctl_OpenSCManagerW_MachineName
,
9766 { "MachineName", "svcctl.svcctl_OpenSCManagerW.MachineName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9767 { &hf_svcctl_svcctl_OpenSCManagerW_access_mask
,
9768 { "Access Mask", "svcctl.svcctl_OpenSCManagerW.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9769 { &hf_svcctl_svcctl_OpenSCManagerW_scm_handle
,
9770 { "Scm Handle", "svcctl.svcctl_OpenSCManagerW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9771 { &hf_svcctl_svcctl_OpenServiceA_ServiceName
,
9772 { "ServiceName", "svcctl.svcctl_OpenServiceA.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9773 { &hf_svcctl_svcctl_OpenServiceA_access_mask
,
9774 { "Access Mask", "svcctl.svcctl_OpenServiceA.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9775 { &hf_svcctl_svcctl_OpenServiceA_scm_handle
,
9776 { "Scm Handle", "svcctl.svcctl_OpenServiceA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9777 { &hf_svcctl_svcctl_OpenServiceA_service_handle
,
9778 { "Service Handle", "svcctl.svcctl_OpenServiceA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9779 { &hf_svcctl_svcctl_OpenServiceW_ServiceName
,
9780 { "ServiceName", "svcctl.svcctl_OpenServiceW.ServiceName", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9781 { &hf_svcctl_svcctl_OpenServiceW_access_mask
,
9782 { "Access Mask", "svcctl.svcctl_OpenServiceW.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9783 { &hf_svcctl_svcctl_OpenServiceW_scm_handle
,
9784 { "Scm Handle", "svcctl.svcctl_OpenServiceW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9785 { &hf_svcctl_svcctl_OpenServiceW_service_handle
,
9786 { "Service Handle", "svcctl.svcctl_OpenServiceW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9787 { &hf_svcctl_svcctl_QueryServiceConfig2A_buffer
,
9788 { "Buffer", "svcctl.svcctl_QueryServiceConfig2A.buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9789 { &hf_svcctl_svcctl_QueryServiceConfig2A_handle
,
9790 { "Handle", "svcctl.svcctl_QueryServiceConfig2A.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9791 { &hf_svcctl_svcctl_QueryServiceConfig2A_info_level
,
9792 { "Info Level", "svcctl.svcctl_QueryServiceConfig2A.info_level", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ConfigLevel_vals
), 0, NULL
, HFILL
}},
9793 { &hf_svcctl_svcctl_QueryServiceConfig2A_needed
,
9794 { "Needed", "svcctl.svcctl_QueryServiceConfig2A.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9795 { &hf_svcctl_svcctl_QueryServiceConfig2A_offered
,
9796 { "Offered", "svcctl.svcctl_QueryServiceConfig2A.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9797 { &hf_svcctl_svcctl_QueryServiceConfig2W_buffer
,
9798 { "Buffer", "svcctl.svcctl_QueryServiceConfig2W.buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9799 { &hf_svcctl_svcctl_QueryServiceConfig2W_handle
,
9800 { "Handle", "svcctl.svcctl_QueryServiceConfig2W.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9801 { &hf_svcctl_svcctl_QueryServiceConfig2W_info_level
,
9802 { "Info Level", "svcctl.svcctl_QueryServiceConfig2W.info_level", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_ConfigLevel_vals
), 0, NULL
, HFILL
}},
9803 { &hf_svcctl_svcctl_QueryServiceConfig2W_needed
,
9804 { "Needed", "svcctl.svcctl_QueryServiceConfig2W.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9805 { &hf_svcctl_svcctl_QueryServiceConfig2W_offered
,
9806 { "Offered", "svcctl.svcctl_QueryServiceConfig2W.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9807 { &hf_svcctl_svcctl_QueryServiceConfigA_needed
,
9808 { "Needed", "svcctl.svcctl_QueryServiceConfigA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9809 { &hf_svcctl_svcctl_QueryServiceConfigA_offered
,
9810 { "Offered", "svcctl.svcctl_QueryServiceConfigA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9811 { &hf_svcctl_svcctl_QueryServiceConfigA_query
,
9812 { "Query", "svcctl.svcctl_QueryServiceConfigA.query", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9813 { &hf_svcctl_svcctl_QueryServiceConfigA_service_handle
,
9814 { "Service Handle", "svcctl.svcctl_QueryServiceConfigA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9815 { &hf_svcctl_svcctl_QueryServiceConfigEx_info_level
,
9816 { "Info Level", "svcctl.svcctl_QueryServiceConfigEx.info_level", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9817 { &hf_svcctl_svcctl_QueryServiceConfigEx_service_handle
,
9818 { "Service Handle", "svcctl.svcctl_QueryServiceConfigEx.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9819 { &hf_svcctl_svcctl_QueryServiceConfigW_needed
,
9820 { "Needed", "svcctl.svcctl_QueryServiceConfigW.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9821 { &hf_svcctl_svcctl_QueryServiceConfigW_offered
,
9822 { "Offered", "svcctl.svcctl_QueryServiceConfigW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9823 { &hf_svcctl_svcctl_QueryServiceConfigW_service_config
,
9824 { "Service Config", "svcctl.svcctl_QueryServiceConfigW.service_config", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9825 { &hf_svcctl_svcctl_QueryServiceConfigW_service_handle
,
9826 { "Service Handle", "svcctl.svcctl_QueryServiceConfigW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9827 { &hf_svcctl_svcctl_QueryServiceLockStatusA_lock_status
,
9828 { "Lock Status", "svcctl.svcctl_QueryServiceLockStatusA.lock_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9829 { &hf_svcctl_svcctl_QueryServiceLockStatusA_needed
,
9830 { "Needed", "svcctl.svcctl_QueryServiceLockStatusA.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9831 { &hf_svcctl_svcctl_QueryServiceLockStatusA_offered
,
9832 { "Offered", "svcctl.svcctl_QueryServiceLockStatusA.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9833 { &hf_svcctl_svcctl_QueryServiceLockStatusA_scm_handle
,
9834 { "Scm Handle", "svcctl.svcctl_QueryServiceLockStatusA.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9835 { &hf_svcctl_svcctl_QueryServiceLockStatusW_lock_status
,
9836 { "Lock Status", "svcctl.svcctl_QueryServiceLockStatusW.lock_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9837 { &hf_svcctl_svcctl_QueryServiceLockStatusW_needed
,
9838 { "Needed", "svcctl.svcctl_QueryServiceLockStatusW.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9839 { &hf_svcctl_svcctl_QueryServiceLockStatusW_offered
,
9840 { "Offered", "svcctl.svcctl_QueryServiceLockStatusW.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9841 { &hf_svcctl_svcctl_QueryServiceLockStatusW_scm_handle
,
9842 { "Scm Handle", "svcctl.svcctl_QueryServiceLockStatusW.scm_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9843 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_bytes_needed
,
9844 { "Bytes Needed", "svcctl.svcctl_QueryServiceObjectSecurity.bytes_needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9845 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_offered
,
9846 { "Offered", "svcctl.svcctl_QueryServiceObjectSecurity.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9847 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_security_descriptor
,
9848 { "Security Descriptor", "svcctl.svcctl_QueryServiceObjectSecurity.security_descriptor", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9849 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_security_flags
,
9850 { "Security Flags", "svcctl.svcctl_QueryServiceObjectSecurity.security_flags", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9851 { &hf_svcctl_svcctl_QueryServiceObjectSecurity_service_handle
,
9852 { "Service Handle", "svcctl.svcctl_QueryServiceObjectSecurity.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9853 { &hf_svcctl_svcctl_QueryServiceStatusEx_buffer
,
9854 { "Buffer", "svcctl.svcctl_QueryServiceStatusEx.buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9855 { &hf_svcctl_svcctl_QueryServiceStatusEx_handle
,
9856 { "Handle", "svcctl.svcctl_QueryServiceStatusEx.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9857 { &hf_svcctl_svcctl_QueryServiceStatusEx_info_level
,
9858 { "Info Level", "svcctl.svcctl_QueryServiceStatusEx.info_level", FT_UINT32
, BASE_DEC
, VALS(svcctl_svcctl_StatusLevel_vals
), 0, NULL
, HFILL
}},
9859 { &hf_svcctl_svcctl_QueryServiceStatusEx_needed
,
9860 { "Needed", "svcctl.svcctl_QueryServiceStatusEx.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9861 { &hf_svcctl_svcctl_QueryServiceStatusEx_offered
,
9862 { "Offered", "svcctl.svcctl_QueryServiceStatusEx.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9863 { &hf_svcctl_svcctl_QueryServiceStatus_service_handle
,
9864 { "Service Handle", "svcctl.svcctl_QueryServiceStatus.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9865 { &hf_svcctl_svcctl_QueryServiceStatus_service_status
,
9866 { "Service Status", "svcctl.svcctl_QueryServiceStatus.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9867 { &hf_svcctl_svcctl_SCSetServiceBitsA_handle
,
9868 { "Handle", "svcctl.svcctl_SCSetServiceBitsA.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9869 { &hf_svcctl_svcctl_SCSetServiceBitsA_lpString
,
9870 { "LpString", "svcctl.svcctl_SCSetServiceBitsA.lpString", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9871 { &hf_svcctl_svcctl_SCSetServiceBitsA_service_bits
,
9872 { "Service Bits", "svcctl.svcctl_SCSetServiceBitsA.service_bits", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9873 { &hf_svcctl_svcctl_SCSetServiceBitsA_set_bits_on
,
9874 { "Set Bits On", "svcctl.svcctl_SCSetServiceBitsA.set_bits_on", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9875 { &hf_svcctl_svcctl_SCSetServiceBitsA_update_immediately
,
9876 { "Update Immediately", "svcctl.svcctl_SCSetServiceBitsA.update_immediately", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9877 { &hf_svcctl_svcctl_SCSetServiceBitsW_lpString
,
9878 { "LpString", "svcctl.svcctl_SCSetServiceBitsW.lpString", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9879 { &hf_svcctl_svcctl_SCSetServiceBitsW_service_bits
,
9880 { "Service Bits", "svcctl.svcctl_SCSetServiceBitsW.service_bits", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9881 { &hf_svcctl_svcctl_SCSetServiceBitsW_service_handle
,
9882 { "Service Handle", "svcctl.svcctl_SCSetServiceBitsW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9883 { &hf_svcctl_svcctl_SCSetServiceBitsW_set_bits_on
,
9884 { "Set Bits On", "svcctl.svcctl_SCSetServiceBitsW.set_bits_on", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9885 { &hf_svcctl_svcctl_SCSetServiceBitsW_update_immediately
,
9886 { "Update Immediately", "svcctl.svcctl_SCSetServiceBitsW.update_immediately", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9887 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_CHANGE_CONFIG
,
9888 { "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
}},
9889 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_ENUMERATE_DEPENDENTS
,
9890 { "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
}},
9891 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_INTERROGATE
,
9892 { "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
}},
9893 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_PAUSE_CONTINUE
,
9894 { "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
}},
9895 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_CONFIG
,
9896 { "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
}},
9897 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_QUERY_STATUS
,
9898 { "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
}},
9899 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_START
,
9900 { "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
}},
9901 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_STOP
,
9902 { "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
}},
9903 { &hf_svcctl_svcctl_ServiceAccessMask_SC_RIGHT_SVC_USER_DEFINED_CONTROL
,
9904 { "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
}},
9905 { &hf_svcctl_svcctl_SetServiceObjectSecurity_offered
,
9906 { "Offered", "svcctl.svcctl_SetServiceObjectSecurity.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9907 { &hf_svcctl_svcctl_SetServiceObjectSecurity_security_descriptor
,
9908 { "Security Descriptor", "svcctl.svcctl_SetServiceObjectSecurity.security_descriptor", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9909 { &hf_svcctl_svcctl_SetServiceObjectSecurity_security_flags
,
9910 { "Security Flags", "svcctl.svcctl_SetServiceObjectSecurity.security_flags", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
9911 { &hf_svcctl_svcctl_SetServiceObjectSecurity_service_handle
,
9912 { "Service Handle", "svcctl.svcctl_SetServiceObjectSecurity.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9913 { &hf_svcctl_svcctl_SetServiceStatus_service_handle
,
9914 { "Service Handle", "svcctl.svcctl_SetServiceStatus.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9915 { &hf_svcctl_svcctl_SetServiceStatus_service_status
,
9916 { "Service Status", "svcctl.svcctl_SetServiceStatus.service_status", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9917 { &hf_svcctl_svcctl_StartServiceA_Arguments
,
9918 { "Arguments", "svcctl.svcctl_StartServiceA.Arguments", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9919 { &hf_svcctl_svcctl_StartServiceA_NumArgs
,
9920 { "NumArgs", "svcctl.svcctl_StartServiceA.NumArgs", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9921 { &hf_svcctl_svcctl_StartServiceA_service_handle
,
9922 { "Service Handle", "svcctl.svcctl_StartServiceA.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9923 { &hf_svcctl_svcctl_StartServiceW_Arguments
,
9924 { "Arguments", "svcctl.svcctl_StartServiceW.Arguments", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9925 { &hf_svcctl_svcctl_StartServiceW_NumArgs
,
9926 { "NumArgs", "svcctl.svcctl_StartServiceW.NumArgs", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
9927 { &hf_svcctl_svcctl_StartServiceW_service_handle
,
9928 { "Service Handle", "svcctl.svcctl_StartServiceW.service_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9929 { &hf_svcctl_svcctl_UnlockServiceDatabase_lock_handle
,
9930 { "Lock Handle", "svcctl.svcctl_UnlockServiceDatabase.lock_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
9931 { &hf_svcctl_werror
,
9932 { "Windows Error", "svcctl.werror", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
9936 static int *ett
[] = {
9937 &ett_svcctl_service
,
9938 &ett_svcctl_service_name
,
9939 &ett_svcctl_display_name
,
9941 &ett_svcctl_security_secinfo
,
9942 &ett_svcctl_SERVICE_LOCK_STATUS
,
9943 &ett_svcctl_svcctl_ControlsAccepted
,
9944 &ett_svcctl_SERVICE_STATUS
,
9945 &ett_svcctl_SERVICE_STATUS_PROCESS
,
9946 &ett_svcctl_ENUM_SERVICE_STATUSW
,
9947 &ett_svcctl_ENUM_SERVICE_STATUSA
,
9948 &ett_svcctl_svcctl_MgrAccessMask
,
9949 &ett_svcctl_svcctl_ServiceAccessMask
,
9950 &ett_svcctl_QUERY_SERVICE_CONFIG
,
9951 &ett_svcctl_svcctl_ArgumentString
,
9952 &ett_svcctl_svcctl_ArgumentStringA
,
9955 proto_dcerpc_svcctl
= proto_register_protocol("Service Control", "SVCCTL", "svcctl");
9956 proto_register_field_array(proto_dcerpc_svcctl
, hf
, array_length (hf
));
9957 proto_register_subtree_array(ett
, array_length(ett
));
9960 void proto_reg_handoff_dcerpc_svcctl(void)
9962 dcerpc_init_uuid(proto_dcerpc_svcctl
, ett_dcerpc_svcctl
,
9963 &uuid_dcerpc_svcctl
, ver_dcerpc_svcctl
,
9964 svcctl_dissectors
, hf_svcctl_opnum
);