2 This file was automatically generated by Pidl
3 from winreg.idl and winreg.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-winreg.h"
22 void proto_register_dcerpc_winreg(void);
23 void proto_reg_handoff_dcerpc_winreg(void);
25 /* Ett declarations */
26 static int ett_dcerpc_winreg
;
27 static int ett_winreg_security_secinfo
;
28 static int ett_winreg_winreg_AccessMask
;
29 static int ett_winreg_winreg_String
;
30 static int ett_winreg_KeySecurityData
;
31 static int ett_winreg_winreg_SecBuf
;
32 static int ett_winreg_winreg_KeyOptions
;
33 static int ett_winreg_winreg_StringBuf
;
34 static int ett_winreg_winreg_ValNameBuf
;
35 static int ett_winreg_winreg_NotifyChangeType
;
36 static int ett_winreg_winreg_RestoreKeyFlags
;
37 static int ett_winreg_KeySecurityAttribute
;
38 static int ett_winreg_QueryMultipleValue
;
41 /* Header field declarations */
42 static int hf_winreg_KeySecurityAttribute_data_size
;
43 static int hf_winreg_KeySecurityAttribute_inherit
;
44 static int hf_winreg_KeySecurityAttribute_sec_data
;
45 static int hf_winreg_KeySecurityData_data
;
46 static int hf_winreg_KeySecurityData_len
;
47 static int hf_winreg_KeySecurityData_size
;
48 static int hf_winreg_QueryMultipleValue_ve_type
;
49 static int hf_winreg_QueryMultipleValue_ve_valuelen
;
50 static int hf_winreg_QueryMultipleValue_ve_valuename
;
51 static int hf_winreg_QueryMultipleValue_ve_valueptr
;
52 static int hf_winreg_access_mask
;
53 static int hf_winreg_handle
;
54 static int hf_winreg_opnum
;
55 static int hf_winreg_sd
;
56 static int hf_winreg_sd_actual_size
;
57 static int hf_winreg_sd_max_size
;
58 static int hf_winreg_sd_offset
;
59 static int hf_winreg_system_name
;
60 static int hf_winreg_werror
;
61 static int hf_winreg_winreg_AbortSystemShutdown_server
;
62 static int hf_winreg_winreg_AccessMask_KEY_CREATE_LINK
;
63 static int hf_winreg_winreg_AccessMask_KEY_CREATE_SUB_KEY
;
64 static int hf_winreg_winreg_AccessMask_KEY_ENUMERATE_SUB_KEYS
;
65 static int hf_winreg_winreg_AccessMask_KEY_NOTIFY
;
66 static int hf_winreg_winreg_AccessMask_KEY_QUERY_VALUE
;
67 static int hf_winreg_winreg_AccessMask_KEY_SET_VALUE
;
68 static int hf_winreg_winreg_AccessMask_KEY_WOW64_32KEY
;
69 static int hf_winreg_winreg_AccessMask_KEY_WOW64_64KEY
;
70 static int hf_winreg_winreg_CreateKey_action_taken
;
71 static int hf_winreg_winreg_CreateKey_keyclass
;
72 static int hf_winreg_winreg_CreateKey_name
;
73 static int hf_winreg_winreg_CreateKey_new_handle
;
74 static int hf_winreg_winreg_CreateKey_options
;
75 static int hf_winreg_winreg_CreateKey_secdesc
;
76 static int hf_winreg_winreg_DeleteKeyEx_access_mask
;
77 static int hf_winreg_winreg_DeleteKeyEx_handle
;
78 static int hf_winreg_winreg_DeleteKeyEx_key
;
79 static int hf_winreg_winreg_DeleteKeyEx_reserved
;
80 static int hf_winreg_winreg_DeleteKey_key
;
81 static int hf_winreg_winreg_DeleteValue_value
;
82 static int hf_winreg_winreg_EnumKey_enum_index
;
83 static int hf_winreg_winreg_EnumKey_keyclass
;
84 static int hf_winreg_winreg_EnumKey_last_changed_time
;
85 static int hf_winreg_winreg_EnumKey_name
;
86 static int hf_winreg_winreg_EnumValue_enum_index
;
87 static int hf_winreg_winreg_EnumValue_length
;
88 static int hf_winreg_winreg_EnumValue_name
;
89 static int hf_winreg_winreg_EnumValue_size
;
90 static int hf_winreg_winreg_EnumValue_type
;
91 static int hf_winreg_winreg_EnumValue_value
;
92 static int hf_winreg_winreg_GetKeySecurity_sec_info
;
93 static int hf_winreg_winreg_GetVersion_version
;
94 static int hf_winreg_winreg_InitiateSystemShutdownEx_do_reboot
;
95 static int hf_winreg_winreg_InitiateSystemShutdownEx_force_apps
;
96 static int hf_winreg_winreg_InitiateSystemShutdownEx_hostname
;
97 static int hf_winreg_winreg_InitiateSystemShutdownEx_message
;
98 static int hf_winreg_winreg_InitiateSystemShutdownEx_reason
;
99 static int hf_winreg_winreg_InitiateSystemShutdownEx_timeout
;
100 static int hf_winreg_winreg_InitiateSystemShutdown_do_reboot
;
101 static int hf_winreg_winreg_InitiateSystemShutdown_force_apps
;
102 static int hf_winreg_winreg_InitiateSystemShutdown_hostname
;
103 static int hf_winreg_winreg_InitiateSystemShutdown_message
;
104 static int hf_winreg_winreg_InitiateSystemShutdown_timeout
;
105 static int hf_winreg_winreg_KeyOptions_REG_OPTION_BACKUP_RESTORE
;
106 static int hf_winreg_winreg_KeyOptions_REG_OPTION_CREATE_LINK
;
107 static int hf_winreg_winreg_KeyOptions_REG_OPTION_OPEN_LINK
;
108 static int hf_winreg_winreg_KeyOptions_REG_OPTION_VOLATILE
;
109 static int hf_winreg_winreg_LoadKey_filename
;
110 static int hf_winreg_winreg_LoadKey_keyname
;
111 static int hf_winreg_winreg_NotifyChangeKeyValue_notify_filter
;
112 static int hf_winreg_winreg_NotifyChangeKeyValue_string1
;
113 static int hf_winreg_winreg_NotifyChangeKeyValue_string2
;
114 static int hf_winreg_winreg_NotifyChangeKeyValue_unknown
;
115 static int hf_winreg_winreg_NotifyChangeKeyValue_unknown2
;
116 static int hf_winreg_winreg_NotifyChangeKeyValue_watch_subtree
;
117 static int hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_ATTRIBUTES
;
118 static int hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_LAST_SET
;
119 static int hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_NAME
;
120 static int hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_SECURITY
;
121 static int hf_winreg_winreg_OpenHKCU_access_mask
;
122 static int hf_winreg_winreg_OpenHKPD_access_mask
;
123 static int hf_winreg_winreg_OpenKey_access_mask
;
124 static int hf_winreg_winreg_OpenKey_keyname
;
125 static int hf_winreg_winreg_OpenKey_options
;
126 static int hf_winreg_winreg_OpenKey_parent_handle
;
127 static int hf_winreg_winreg_QueryInfoKey_classname
;
128 static int hf_winreg_winreg_QueryInfoKey_last_changed_time
;
129 static int hf_winreg_winreg_QueryInfoKey_max_classlen
;
130 static int hf_winreg_winreg_QueryInfoKey_max_subkeylen
;
131 static int hf_winreg_winreg_QueryInfoKey_max_valbufsize
;
132 static int hf_winreg_winreg_QueryInfoKey_max_valnamelen
;
133 static int hf_winreg_winreg_QueryInfoKey_num_subkeys
;
134 static int hf_winreg_winreg_QueryInfoKey_num_values
;
135 static int hf_winreg_winreg_QueryInfoKey_secdescsize
;
136 static int hf_winreg_winreg_QueryMultipleValues2_buffer
;
137 static int hf_winreg_winreg_QueryMultipleValues2_key_handle
;
138 static int hf_winreg_winreg_QueryMultipleValues2_needed
;
139 static int hf_winreg_winreg_QueryMultipleValues2_num_values
;
140 static int hf_winreg_winreg_QueryMultipleValues2_offered
;
141 static int hf_winreg_winreg_QueryMultipleValues2_values_in
;
142 static int hf_winreg_winreg_QueryMultipleValues2_values_out
;
143 static int hf_winreg_winreg_QueryMultipleValues_buffer
;
144 static int hf_winreg_winreg_QueryMultipleValues_buffer_size
;
145 static int hf_winreg_winreg_QueryMultipleValues_key_handle
;
146 static int hf_winreg_winreg_QueryMultipleValues_num_values
;
147 static int hf_winreg_winreg_QueryMultipleValues_values_in
;
148 static int hf_winreg_winreg_QueryMultipleValues_values_out
;
149 static int hf_winreg_winreg_QueryValue_data
;
150 static int hf_winreg_winreg_QueryValue_data_length
;
151 static int hf_winreg_winreg_QueryValue_data_size
;
152 static int hf_winreg_winreg_QueryValue_type
;
153 static int hf_winreg_winreg_QueryValue_value_name
;
154 static int hf_winreg_winreg_ReplaceKey_handle
;
155 static int hf_winreg_winreg_ReplaceKey_new_file
;
156 static int hf_winreg_winreg_ReplaceKey_old_file
;
157 static int hf_winreg_winreg_ReplaceKey_subkey
;
158 static int hf_winreg_winreg_RestoreKeyFlags_REG_FORCE_RESTORE
;
159 static int hf_winreg_winreg_RestoreKeyFlags_REG_NO_LAZY_FLUSH
;
160 static int hf_winreg_winreg_RestoreKeyFlags_REG_REFRESH_HIVE
;
161 static int hf_winreg_winreg_RestoreKeyFlags_REG_WHOLE_HIVE_VOLATILE
;
162 static int hf_winreg_winreg_RestoreKey_filename
;
163 static int hf_winreg_winreg_RestoreKey_flags
;
164 static int hf_winreg_winreg_RestoreKey_handle
;
165 static int hf_winreg_winreg_SaveKeyEx_filename
;
166 static int hf_winreg_winreg_SaveKeyEx_flags
;
167 static int hf_winreg_winreg_SaveKeyEx_handle
;
168 static int hf_winreg_winreg_SaveKeyEx_sec_attrib
;
169 static int hf_winreg_winreg_SaveKey_filename
;
170 static int hf_winreg_winreg_SaveKey_handle
;
171 static int hf_winreg_winreg_SaveKey_sec_attrib
;
172 static int hf_winreg_winreg_SecBuf_inherit
;
173 static int hf_winreg_winreg_SecBuf_length
;
174 static int hf_winreg_winreg_SecBuf_sd
;
175 static int hf_winreg_winreg_SetKeySecurity_sec_info
;
176 static int hf_winreg_winreg_SetValue_data
;
177 static int hf_winreg_winreg_SetValue_name
;
178 static int hf_winreg_winreg_SetValue_size
;
179 static int hf_winreg_winreg_SetValue_type
;
180 static int hf_winreg_winreg_StringBuf_length
;
181 static int hf_winreg_winreg_StringBuf_name
;
182 static int hf_winreg_winreg_StringBuf_size
;
183 static int hf_winreg_winreg_String_name
;
184 static int hf_winreg_winreg_String_name_len
;
185 static int hf_winreg_winreg_String_name_size
;
186 static int hf_winreg_winreg_UnLoadKey_handle
;
187 static int hf_winreg_winreg_UnLoadKey_subkey
;
188 static int hf_winreg_winreg_ValNameBuf_length
;
189 static int hf_winreg_winreg_ValNameBuf_name
;
190 static int hf_winreg_winreg_ValNameBuf_size
;
192 static int proto_dcerpc_winreg
;
193 /* Version information */
196 static e_guid_t uuid_dcerpc_winreg
= {
197 0x338cd001, 0x2244, 0x31f1,
198 { 0xaa, 0xaa, 0x90, 0x00, 0x38, 0x00, 0x10, 0x03 }
200 static uint16_t ver_dcerpc_winreg
= 1;
202 static const true_false_string winreg_AccessMask_KEY_QUERY_VALUE_tfs
= {
203 "KEY_QUERY_VALUE is SET",
204 "KEY_QUERY_VALUE is NOT SET",
206 static const true_false_string winreg_AccessMask_KEY_SET_VALUE_tfs
= {
207 "KEY_SET_VALUE is SET",
208 "KEY_SET_VALUE is NOT SET",
210 static const true_false_string winreg_AccessMask_KEY_CREATE_SUB_KEY_tfs
= {
211 "KEY_CREATE_SUB_KEY is SET",
212 "KEY_CREATE_SUB_KEY is NOT SET",
214 static const true_false_string winreg_AccessMask_KEY_ENUMERATE_SUB_KEYS_tfs
= {
215 "KEY_ENUMERATE_SUB_KEYS is SET",
216 "KEY_ENUMERATE_SUB_KEYS is NOT SET",
218 static const true_false_string winreg_AccessMask_KEY_NOTIFY_tfs
= {
220 "KEY_NOTIFY is NOT SET",
222 static const true_false_string winreg_AccessMask_KEY_CREATE_LINK_tfs
= {
223 "KEY_CREATE_LINK is SET",
224 "KEY_CREATE_LINK is NOT SET",
226 static const true_false_string winreg_AccessMask_KEY_WOW64_64KEY_tfs
= {
227 "KEY_WOW64_64KEY is SET",
228 "KEY_WOW64_64KEY is NOT SET",
230 static const true_false_string winreg_AccessMask_KEY_WOW64_32KEY_tfs
= {
231 "KEY_WOW64_32KEY is SET",
232 "KEY_WOW64_32KEY is NOT SET",
234 static int winreg_dissect_element_String_name_len(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
235 static int winreg_dissect_element_String_name_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
236 static int winreg_dissect_element_String_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
237 static int winreg_dissect_element_String_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
238 static int winreg_dissect_element_KeySecurityData_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
239 static int winreg_dissect_element_KeySecurityData_data_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
240 static int winreg_dissect_element_KeySecurityData_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
241 static int winreg_dissect_element_KeySecurityData_len(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
242 static int winreg_dissect_element_SecBuf_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
243 static int winreg_dissect_element_SecBuf_sd(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
244 static int winreg_dissect_element_SecBuf_inherit(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
245 static const true_false_string winreg_KeyOptions_REG_OPTION_VOLATILE_tfs
= {
246 "REG_OPTION_VOLATILE is SET",
247 "REG_OPTION_VOLATILE is NOT SET",
249 static const true_false_string winreg_KeyOptions_REG_OPTION_CREATE_LINK_tfs
= {
250 "REG_OPTION_CREATE_LINK is SET",
251 "REG_OPTION_CREATE_LINK is NOT SET",
253 static const true_false_string winreg_KeyOptions_REG_OPTION_BACKUP_RESTORE_tfs
= {
254 "REG_OPTION_BACKUP_RESTORE is SET",
255 "REG_OPTION_BACKUP_RESTORE is NOT SET",
257 static const true_false_string winreg_KeyOptions_REG_OPTION_OPEN_LINK_tfs
= {
258 "REG_OPTION_OPEN_LINK is SET",
259 "REG_OPTION_OPEN_LINK is NOT SET",
261 const value_string winreg_winreg_CreateAction_vals
[] = {
262 { REG_ACTION_NONE
, "REG_ACTION_NONE" },
263 { REG_CREATED_NEW_KEY
, "REG_CREATED_NEW_KEY" },
264 { REG_OPENED_EXISTING_KEY
, "REG_OPENED_EXISTING_KEY" },
267 static int winreg_dissect_element_StringBuf_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
268 static int winreg_dissect_element_StringBuf_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
269 static int winreg_dissect_element_StringBuf_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
270 static int winreg_dissect_element_StringBuf_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
271 static int winreg_dissect_element_StringBuf_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
272 static int winreg_dissect_element_ValNameBuf_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
273 static int winreg_dissect_element_ValNameBuf_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
274 static int winreg_dissect_element_ValNameBuf_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
275 static int winreg_dissect_element_ValNameBuf_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
276 static int winreg_dissect_element_ValNameBuf_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
277 static const true_false_string winreg_NotifyChangeType_REG_NOTIFY_CHANGE_NAME_tfs
= {
278 "REG_NOTIFY_CHANGE_NAME is SET",
279 "REG_NOTIFY_CHANGE_NAME is NOT SET",
281 static const true_false_string winreg_NotifyChangeType_REG_NOTIFY_CHANGE_ATTRIBUTES_tfs
= {
282 "REG_NOTIFY_CHANGE_ATTRIBUTES is SET",
283 "REG_NOTIFY_CHANGE_ATTRIBUTES is NOT SET",
285 static const true_false_string winreg_NotifyChangeType_REG_NOTIFY_CHANGE_LAST_SET_tfs
= {
286 "REG_NOTIFY_CHANGE_LAST_SET is SET",
287 "REG_NOTIFY_CHANGE_LAST_SET is NOT SET",
289 static const true_false_string winreg_NotifyChangeType_REG_NOTIFY_CHANGE_SECURITY_tfs
= {
290 "REG_NOTIFY_CHANGE_SECURITY is SET",
291 "REG_NOTIFY_CHANGE_SECURITY is NOT SET",
293 static const true_false_string winreg_RestoreKeyFlags_REG_WHOLE_HIVE_VOLATILE_tfs
= {
294 "REG_WHOLE_HIVE_VOLATILE is SET",
295 "REG_WHOLE_HIVE_VOLATILE is NOT SET",
297 static const true_false_string winreg_RestoreKeyFlags_REG_REFRESH_HIVE_tfs
= {
298 "REG_REFRESH_HIVE is SET",
299 "REG_REFRESH_HIVE is NOT SET",
301 static const true_false_string winreg_RestoreKeyFlags_REG_NO_LAZY_FLUSH_tfs
= {
302 "REG_NO_LAZY_FLUSH is SET",
303 "REG_NO_LAZY_FLUSH is NOT SET",
305 static const true_false_string winreg_RestoreKeyFlags_REG_FORCE_RESTORE_tfs
= {
306 "REG_FORCE_RESTORE is SET",
307 "REG_FORCE_RESTORE is NOT SET",
309 static int winreg_dissect_element_KeySecurityAttribute_data_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
310 static int winreg_dissect_element_KeySecurityAttribute_sec_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
311 static int winreg_dissect_element_KeySecurityAttribute_inherit(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
312 static int winreg_dissect_element_QueryMultipleValue_ve_valuename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
313 static int winreg_dissect_element_QueryMultipleValue_ve_valuename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
314 static int winreg_dissect_element_QueryMultipleValue_ve_valuelen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
315 static int winreg_dissect_element_QueryMultipleValue_ve_valueptr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
316 static int winreg_dissect_element_QueryMultipleValue_ve_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
317 static int winreg_dissect_element_OpenHKCR_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
318 static int winreg_dissect_element_OpenHKCR_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
319 static int winreg_dissect_element_OpenHKCR_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_
);
320 static int winreg_dissect_element_OpenHKCR_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
321 static int winreg_dissect_element_OpenHKCR_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
322 static int winreg_dissect_element_OpenHKCU_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
323 static int winreg_dissect_element_OpenHKCU_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
324 static int winreg_dissect_element_OpenHKCU_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_
);
325 static int winreg_dissect_element_OpenHKCU_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
326 static int winreg_dissect_element_OpenHKCU_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
327 static int winreg_dissect_element_OpenHKLM_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
328 static int winreg_dissect_element_OpenHKLM_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
329 static int winreg_dissect_element_OpenHKLM_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_
);
330 static int winreg_dissect_element_OpenHKLM_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
331 static int winreg_dissect_element_OpenHKLM_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
332 static int winreg_dissect_element_OpenHKPD_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
333 static int winreg_dissect_element_OpenHKPD_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
334 static int winreg_dissect_element_OpenHKPD_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_
);
335 static int winreg_dissect_element_OpenHKPD_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
336 static int winreg_dissect_element_OpenHKPD_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
337 static int winreg_dissect_element_OpenHKU_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
338 static int winreg_dissect_element_OpenHKU_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
339 static int winreg_dissect_element_OpenHKU_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_
);
340 static int winreg_dissect_element_OpenHKU_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
341 static int winreg_dissect_element_OpenHKU_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
342 static int winreg_dissect_element_CloseKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
343 static int winreg_dissect_element_CloseKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
344 static int winreg_dissect_element_CreateKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
345 static int winreg_dissect_element_CreateKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
346 static int winreg_dissect_element_CreateKey_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
347 static int winreg_dissect_element_CreateKey_keyclass(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
348 static int winreg_dissect_element_CreateKey_options(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
349 static int winreg_dissect_element_CreateKey_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_
);
350 static int winreg_dissect_element_CreateKey_secdesc(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
351 static int winreg_dissect_element_CreateKey_secdesc_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
352 static int winreg_dissect_element_CreateKey_new_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
353 static int winreg_dissect_element_CreateKey_new_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
354 static int winreg_dissect_element_CreateKey_action_taken(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
355 static int winreg_dissect_element_CreateKey_action_taken_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
356 static int winreg_dissect_element_DeleteKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
357 static int winreg_dissect_element_DeleteKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
358 static int winreg_dissect_element_DeleteKey_key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
359 static int winreg_dissect_element_DeleteValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
360 static int winreg_dissect_element_DeleteValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
361 static int winreg_dissect_element_DeleteValue_value(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
362 static int winreg_dissect_element_EnumKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
363 static int winreg_dissect_element_EnumKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
364 static int winreg_dissect_element_EnumKey_enum_index(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
365 static int winreg_dissect_element_EnumKey_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
366 static int winreg_dissect_element_EnumKey_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
367 static int winreg_dissect_element_EnumKey_keyclass(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
368 static int winreg_dissect_element_EnumKey_keyclass_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
369 static int winreg_dissect_element_EnumKey_last_changed_time(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
370 static int winreg_dissect_element_EnumKey_last_changed_time_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
371 static int winreg_dissect_element_EnumValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
372 static int winreg_dissect_element_EnumValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
373 static int winreg_dissect_element_EnumValue_enum_index(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
374 static int winreg_dissect_element_EnumValue_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
375 static int winreg_dissect_element_EnumValue_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
376 static int winreg_dissect_element_EnumValue_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
377 static int winreg_dissect_element_EnumValue_type_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
378 static int winreg_dissect_element_EnumValue_value(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
379 static int winreg_dissect_element_EnumValue_value_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
380 static int winreg_dissect_element_EnumValue_value__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
381 static int winreg_dissect_element_EnumValue_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
382 static int winreg_dissect_element_EnumValue_size_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
383 static int winreg_dissect_element_EnumValue_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
384 static int winreg_dissect_element_EnumValue_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
385 static int winreg_dissect_element_FlushKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
386 static int winreg_dissect_element_FlushKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
387 static int winreg_dissect_element_GetKeySecurity_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
388 static int winreg_dissect_element_GetKeySecurity_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
389 static int winreg_dissect_element_GetKeySecurity_sec_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
390 static int winreg_dissect_element_GetKeySecurity_sd(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
391 static int winreg_dissect_element_GetKeySecurity_sd_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
392 static int winreg_dissect_element_LoadKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
393 static int winreg_dissect_element_LoadKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
394 static int winreg_dissect_element_LoadKey_keyname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
395 static int winreg_dissect_element_LoadKey_keyname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
396 static int winreg_dissect_element_LoadKey_filename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
397 static int winreg_dissect_element_LoadKey_filename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
398 static int winreg_dissect_element_NotifyChangeKeyValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
399 static int winreg_dissect_element_NotifyChangeKeyValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
400 static int winreg_dissect_element_NotifyChangeKeyValue_watch_subtree(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
401 static int winreg_dissect_element_NotifyChangeKeyValue_notify_filter(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
402 static int winreg_dissect_element_NotifyChangeKeyValue_unknown(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 winreg_dissect_element_NotifyChangeKeyValue_string1(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 winreg_dissect_element_NotifyChangeKeyValue_string2(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 winreg_dissect_element_NotifyChangeKeyValue_unknown2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
406 static int winreg_dissect_element_OpenKey_parent_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
407 static int winreg_dissect_element_OpenKey_parent_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
408 static int winreg_dissect_element_OpenKey_keyname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
409 static int winreg_dissect_element_OpenKey_options(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
410 static int winreg_dissect_element_OpenKey_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_
);
411 static int winreg_dissect_element_OpenKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
412 static int winreg_dissect_element_OpenKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
413 static int winreg_dissect_element_QueryInfoKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
414 static int winreg_dissect_element_QueryInfoKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
415 static int winreg_dissect_element_QueryInfoKey_classname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
416 static int winreg_dissect_element_QueryInfoKey_classname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
417 static int winreg_dissect_element_QueryInfoKey_num_subkeys(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
418 static int winreg_dissect_element_QueryInfoKey_num_subkeys_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
419 static int winreg_dissect_element_QueryInfoKey_max_subkeylen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
420 static int winreg_dissect_element_QueryInfoKey_max_subkeylen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
421 static int winreg_dissect_element_QueryInfoKey_max_classlen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
422 static int winreg_dissect_element_QueryInfoKey_max_classlen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
423 static int winreg_dissect_element_QueryInfoKey_num_values(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
424 static int winreg_dissect_element_QueryInfoKey_num_values_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
425 static int winreg_dissect_element_QueryInfoKey_max_valnamelen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
426 static int winreg_dissect_element_QueryInfoKey_max_valnamelen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
427 static int winreg_dissect_element_QueryInfoKey_max_valbufsize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
428 static int winreg_dissect_element_QueryInfoKey_max_valbufsize_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
429 static int winreg_dissect_element_QueryInfoKey_secdescsize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
430 static int winreg_dissect_element_QueryInfoKey_secdescsize_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
431 static int winreg_dissect_element_QueryInfoKey_last_changed_time(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
432 static int winreg_dissect_element_QueryInfoKey_last_changed_time_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
433 static int winreg_dissect_element_QueryValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
434 static int winreg_dissect_element_QueryValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
435 static int winreg_dissect_element_QueryValue_value_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
436 static int winreg_dissect_element_QueryValue_value_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
437 static int winreg_dissect_element_QueryValue_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
438 static int winreg_dissect_element_QueryValue_type_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
439 static int winreg_dissect_element_QueryValue_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
440 static int winreg_dissect_element_QueryValue_data_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
441 static int winreg_dissect_element_QueryValue_data__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
442 static int winreg_dissect_element_QueryValue_data_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
443 static int winreg_dissect_element_QueryValue_data_size_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
444 static int winreg_dissect_element_QueryValue_data_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
445 static int winreg_dissect_element_QueryValue_data_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
446 static int winreg_dissect_element_ReplaceKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
447 static int winreg_dissect_element_ReplaceKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
448 static int winreg_dissect_element_ReplaceKey_subkey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
449 static int winreg_dissect_element_ReplaceKey_subkey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
450 static int winreg_dissect_element_ReplaceKey_new_file(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
451 static int winreg_dissect_element_ReplaceKey_new_file_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
452 static int winreg_dissect_element_ReplaceKey_old_file(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
453 static int winreg_dissect_element_ReplaceKey_old_file_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
454 static int winreg_dissect_element_RestoreKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
455 static int winreg_dissect_element_RestoreKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
456 static int winreg_dissect_element_RestoreKey_filename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
457 static int winreg_dissect_element_RestoreKey_filename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
458 static int winreg_dissect_element_RestoreKey_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
459 static int winreg_dissect_element_SaveKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
460 static int winreg_dissect_element_SaveKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
461 static int winreg_dissect_element_SaveKey_filename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
462 static int winreg_dissect_element_SaveKey_filename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
463 static int winreg_dissect_element_SaveKey_sec_attrib(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
464 static int winreg_dissect_element_SaveKey_sec_attrib_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
465 static int winreg_dissect_element_SetKeySecurity_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
466 static int winreg_dissect_element_SetKeySecurity_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
467 static int winreg_dissect_element_SetKeySecurity_sec_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
468 static int winreg_dissect_element_SetKeySecurity_sd(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
469 static int winreg_dissect_element_SetKeySecurity_sd_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
470 static int winreg_dissect_element_SetValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
471 static int winreg_dissect_element_SetValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
472 static int winreg_dissect_element_SetValue_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
473 static int winreg_dissect_element_SetValue_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
474 static int winreg_dissect_element_SetValue_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
475 static int winreg_dissect_element_SetValue_data_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
476 static int winreg_dissect_element_SetValue_data__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
477 static int winreg_dissect_element_SetValue_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
478 static int winreg_dissect_element_UnLoadKey_handle(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 winreg_dissect_element_UnLoadKey_handle_(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 winreg_dissect_element_UnLoadKey_subkey(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 winreg_dissect_element_UnLoadKey_subkey_(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 winreg_dissect_element_InitiateSystemShutdown_hostname(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 winreg_dissect_element_InitiateSystemShutdown_hostname_(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 winreg_dissect_element_InitiateSystemShutdown_message(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
485 static int winreg_dissect_element_InitiateSystemShutdown_message_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
486 static int winreg_dissect_element_InitiateSystemShutdown_timeout(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
487 static int winreg_dissect_element_InitiateSystemShutdown_force_apps(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
488 static int winreg_dissect_element_InitiateSystemShutdown_do_reboot(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
489 static int winreg_dissect_element_AbortSystemShutdown_server(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
490 static int winreg_dissect_element_AbortSystemShutdown_server_(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 winreg_dissect_element_GetVersion_handle(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 winreg_dissect_element_GetVersion_handle_(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 winreg_dissect_element_GetVersion_version(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 winreg_dissect_element_GetVersion_version_(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 winreg_dissect_element_OpenHKCC_system_name(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 winreg_dissect_element_OpenHKCC_system_name_(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 winreg_dissect_element_OpenHKCC_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_
);
498 static int winreg_dissect_element_OpenHKCC_handle(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 winreg_dissect_element_OpenHKCC_handle_(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 winreg_dissect_element_OpenHKDD_system_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 winreg_dissect_element_OpenHKDD_system_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 winreg_dissect_element_OpenHKDD_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_
);
503 static int winreg_dissect_element_OpenHKDD_handle(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 winreg_dissect_element_OpenHKDD_handle_(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 winreg_dissect_element_QueryMultipleValues_key_handle(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 winreg_dissect_element_QueryMultipleValues_key_handle_(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 winreg_dissect_element_QueryMultipleValues_values_in(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 winreg_dissect_element_QueryMultipleValues_values_in_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
509 static int winreg_dissect_element_QueryMultipleValues_values_in__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
510 static int winreg_dissect_element_QueryMultipleValues_values_out(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
511 static int winreg_dissect_element_QueryMultipleValues_values_out_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
512 static int winreg_dissect_element_QueryMultipleValues_values_out__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
513 static int winreg_dissect_element_QueryMultipleValues_num_values(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
514 static int winreg_dissect_element_QueryMultipleValues_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
515 static int winreg_dissect_element_QueryMultipleValues_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
516 static int winreg_dissect_element_QueryMultipleValues_buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
517 static int winreg_dissect_element_QueryMultipleValues_buffer_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
518 static int winreg_dissect_element_QueryMultipleValues_buffer_size_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
519 static int winreg_dissect_element_InitiateSystemShutdownEx_hostname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
520 static int winreg_dissect_element_InitiateSystemShutdownEx_hostname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
521 static int winreg_dissect_element_InitiateSystemShutdownEx_message(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
522 static int winreg_dissect_element_InitiateSystemShutdownEx_message_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
523 static int winreg_dissect_element_InitiateSystemShutdownEx_timeout(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
524 static int winreg_dissect_element_InitiateSystemShutdownEx_force_apps(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
525 static int winreg_dissect_element_InitiateSystemShutdownEx_do_reboot(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
526 static int winreg_dissect_element_InitiateSystemShutdownEx_reason(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
527 static int winreg_dissect_element_SaveKeyEx_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
528 static int winreg_dissect_element_SaveKeyEx_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
529 static int winreg_dissect_element_SaveKeyEx_filename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
530 static int winreg_dissect_element_SaveKeyEx_filename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
531 static int winreg_dissect_element_SaveKeyEx_sec_attrib(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
532 static int winreg_dissect_element_SaveKeyEx_sec_attrib_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
533 static int winreg_dissect_element_SaveKeyEx_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
534 static int winreg_dissect_element_OpenHKPT_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
535 static int winreg_dissect_element_OpenHKPT_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
536 static int winreg_dissect_element_OpenHKPT_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_
);
537 static int winreg_dissect_element_OpenHKPT_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
538 static int winreg_dissect_element_OpenHKPT_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
539 static int winreg_dissect_element_OpenHKPN_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
540 static int winreg_dissect_element_OpenHKPN_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
541 static int winreg_dissect_element_OpenHKPN_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_
);
542 static int winreg_dissect_element_OpenHKPN_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
543 static int winreg_dissect_element_OpenHKPN_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
544 static int winreg_dissect_element_QueryMultipleValues2_key_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
545 static int winreg_dissect_element_QueryMultipleValues2_key_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
546 static int winreg_dissect_element_QueryMultipleValues2_values_in(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
547 static int winreg_dissect_element_QueryMultipleValues2_values_in_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
548 static int winreg_dissect_element_QueryMultipleValues2_values_in__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
549 static int winreg_dissect_element_QueryMultipleValues2_values_out(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
550 static int winreg_dissect_element_QueryMultipleValues2_values_out_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
551 static int winreg_dissect_element_QueryMultipleValues2_values_out__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
552 static int winreg_dissect_element_QueryMultipleValues2_num_values(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
553 static int winreg_dissect_element_QueryMultipleValues2_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
554 static int winreg_dissect_element_QueryMultipleValues2_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
555 static int winreg_dissect_element_QueryMultipleValues2_buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
556 static int winreg_dissect_element_QueryMultipleValues2_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
557 static int winreg_dissect_element_QueryMultipleValues2_offered_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
558 static int winreg_dissect_element_QueryMultipleValues2_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
559 static int winreg_dissect_element_QueryMultipleValues2_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
560 static int winreg_dissect_element_DeleteKeyEx_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
561 static int winreg_dissect_element_DeleteKeyEx_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
562 static int winreg_dissect_element_DeleteKeyEx_key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
563 static int winreg_dissect_element_DeleteKeyEx_key_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
564 static int winreg_dissect_element_DeleteKeyEx_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_
);
565 static int winreg_dissect_element_DeleteKeyEx_reserved(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
);
566 #include "packet-dcerpc-lsa.h"
568 winreg_specific_rights(tvbuff_t
*tvb
, int offset
, proto_tree
*tree
, uint32_t access
)
570 static int* const access_flags
[] = {
571 &hf_winreg_winreg_AccessMask_KEY_WOW64_32KEY
,
572 &hf_winreg_winreg_AccessMask_KEY_WOW64_64KEY
,
573 &hf_winreg_winreg_AccessMask_KEY_CREATE_LINK
,
574 &hf_winreg_winreg_AccessMask_KEY_NOTIFY
,
575 &hf_winreg_winreg_AccessMask_KEY_ENUMERATE_SUB_KEYS
,
576 &hf_winreg_winreg_AccessMask_KEY_CREATE_SUB_KEY
,
577 &hf_winreg_winreg_AccessMask_KEY_SET_VALUE
,
578 &hf_winreg_winreg_AccessMask_KEY_QUERY_VALUE
,
581 proto_tree_add_bitmask_list_value(tree
, tvb
, offset
, 4, access_flags
, access
);
583 static struct access_mask_info winreg_access_mask_info
= {
584 "WINREG", /* Name of specific rights */
585 winreg_specific_rights
, /* Dissection function */
586 NULL
, /* Generic mapping table */
587 NULL
/* Standard mapping table */
590 winreg_dissect_element_KeySecurityData_data_(tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*tree
, dcerpc_info
* di
, uint8_t *drep
)
593 if(di
->conformant_run
){
594 /*just a run to handle conformant arrays, nothing to dissect */
597 /* this is a varying and conformant array */
598 offset
= dissect_ndr_uint32 (tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_sd_max_size
, NULL
);
599 offset
= dissect_ndr_uint32 (tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_sd_offset
, NULL
);
600 offset
= dissect_ndr_uint32 (tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_sd_actual_size
, &len
);
601 dissect_nt_sec_desc(tvb
, offset
, pinfo
, tree
, drep
, true, len
,
602 &winreg_access_mask_info
);
607 winreg_dissect_bitmap_AccessMask(tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*tree
, dcerpc_info
* di
, uint8_t *drep
, int hf_index _U_
, uint32_t param _U_
)
609 offset
= dissect_nt_access_mask(
610 tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
,
611 &winreg_access_mask_info
, NULL
);
615 * typedef [public,noejs] struct {
616 * [value(strlen_m_term(name)*2)] uint16 name_len;
617 * [value(strlen_m_term(name)*2)] uint16 name_size;
618 * [string,charset(UTF16)] uint16 *name;
622 cnf_dissect_winreg_String(tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*parent_tree
, dcerpc_info
* di
, uint8_t *drep
, uint32_t param
, int hfindex
)
624 proto_item
*item
= NULL
;
625 proto_tree
*tree
= NULL
;
627 header_field_info
*hf_info
;
630 hf_info
=proto_registrar_get_nth(hfindex
);
632 tree
= proto_tree_add_subtree_format(parent_tree
, tvb
, offset
, 0, ett_winreg_winreg_String
, &item
, "%s: ", hf_info
->name
);
635 offset
= winreg_dissect_element_String_name_len(tvb
, offset
, pinfo
, tree
, di
, drep
);
636 offset
= winreg_dissect_element_String_name_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
637 offset
= dissect_ndr_pointer_cb(
638 tvb
, offset
, pinfo
, tree
, di
, drep
,
639 dissect_ndr_wchar_cvstring
, NDR_POINTER_UNIQUE
,
640 hf_info
->name
, hfindex
, cb_wstr_postprocess
,
641 GINT_TO_POINTER(param
));
642 proto_item_set_len(item
, offset
-old_offset
);
651 winreg_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_
)
656 proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, 4, DREP_ENC_INTEGER(drep
));
658 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
665 /* IDL: KEY_QUERY_VALUE = 0x00000001 , */
666 /* IDL: KEY_SET_VALUE = 0x00000002 , */
667 /* IDL: KEY_CREATE_SUB_KEY = 0x00000004 , */
668 /* IDL: KEY_ENUMERATE_SUB_KEYS = 0x00000008 , */
669 /* IDL: KEY_NOTIFY = 0x00000010 , */
670 /* IDL: KEY_CREATE_LINK = 0x00000020 , */
671 /* IDL: KEY_WOW64_64KEY = 0x00000100 , */
672 /* IDL: KEY_WOW64_32KEY = 0x00000200 , */
677 /* IDL: [value(strlen_m_term(name)*2)] uint16 name_len; */
678 /* IDL: [value(strlen_m_term(name)*2)] uint16 name_size; */
679 /* IDL: [charset(UTF16)] [unique(1)] uint16 *name; */
683 winreg_dissect_element_String_name_len(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
685 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_String_name_len
, 0);
691 winreg_dissect_element_String_name_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
693 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_String_name_size
, 0);
699 winreg_dissect_element_String_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
701 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_String_name_
, NDR_POINTER_UNIQUE
, "Pointer to Name (uint16)",hf_winreg_winreg_String_name
);
707 winreg_dissect_element_String_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
710 struct ndr_generic_array nga
= { .is_conformant
= false, };
712 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
714 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
715 offset
= dissect_ndr_generic_array_string(tvb
, offset
, pinfo
, tree
, di
, drep
, sizeof(uint16_t), hf_winreg_winreg_String_name
, false, &nga
, &data
);
716 proto_item_append_text(tree
, ": %s", data
);
722 winreg_dissect_struct_String(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_
)
724 proto_item
*item
= NULL
;
725 proto_tree
*tree
= NULL
;
733 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
734 tree
= proto_item_add_subtree(item
, ett_winreg_winreg_String
);
737 offset
= winreg_dissect_element_String_name_len(tvb
, offset
, pinfo
, tree
, di
, drep
);
739 offset
= winreg_dissect_element_String_name_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
741 offset
= winreg_dissect_element_String_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
744 proto_item_set_len(item
, offset
-old_offset
);
747 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
756 /* IDL: [length_is(len)] [size_is(size)] [unique(1)] uint8 *data; */
757 /* IDL: uint32 size; */
758 /* IDL: uint32 len; */
762 winreg_dissect_element_KeySecurityData_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
764 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_KeySecurityData_data_
, NDR_POINTER_UNIQUE
, "Pointer to Data (uint8)",hf_winreg_KeySecurityData_data
);
770 winreg_dissect_element_KeySecurityData_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
772 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_KeySecurityData_size
, 0);
778 winreg_dissect_element_KeySecurityData_len(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
780 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_KeySecurityData_len
, 0);
786 winreg_dissect_struct_KeySecurityData(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_
)
788 proto_item
*item
= NULL
;
789 proto_tree
*tree
= NULL
;
797 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
798 tree
= proto_item_add_subtree(item
, ett_winreg_KeySecurityData
);
801 offset
= winreg_dissect_element_KeySecurityData_data(tvb
, offset
, pinfo
, tree
, di
, drep
);
803 offset
= winreg_dissect_element_KeySecurityData_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
805 offset
= winreg_dissect_element_KeySecurityData_len(tvb
, offset
, pinfo
, tree
, di
, drep
);
808 proto_item_set_len(item
, offset
-old_offset
);
811 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
820 /* IDL: uint32 length; */
821 /* IDL: KeySecurityData sd; */
822 /* IDL: uint8 inherit; */
826 winreg_dissect_element_SecBuf_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
828 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_SecBuf_length
, 0);
834 winreg_dissect_element_SecBuf_sd(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
836 offset
= winreg_dissect_struct_KeySecurityData(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_SecBuf_sd
,0);
842 winreg_dissect_element_SecBuf_inherit(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
844 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_SecBuf_inherit
, 0);
850 winreg_dissect_struct_SecBuf(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_
)
852 proto_item
*item
= NULL
;
853 proto_tree
*tree
= NULL
;
861 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
862 tree
= proto_item_add_subtree(item
, ett_winreg_winreg_SecBuf
);
865 offset
= winreg_dissect_element_SecBuf_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
867 offset
= winreg_dissect_element_SecBuf_sd(tvb
, offset
, pinfo
, tree
, di
, drep
);
869 offset
= winreg_dissect_element_SecBuf_inherit(tvb
, offset
, pinfo
, tree
, di
, drep
);
872 proto_item_set_len(item
, offset
-old_offset
);
875 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
884 /* IDL: REG_OPTION_VOLATILE = 0x00000001 , */
885 /* IDL: REG_OPTION_CREATE_LINK = 0x00000002 , */
886 /* IDL: REG_OPTION_BACKUP_RESTORE = 0x00000004 , */
887 /* IDL: REG_OPTION_OPEN_LINK = 0x00000008 , */
891 winreg_dissect_bitmap_KeyOptions(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_
)
894 static int * const winreg_winreg_KeyOptions_fields
[] = {
895 &hf_winreg_winreg_KeyOptions_REG_OPTION_VOLATILE
,
896 &hf_winreg_winreg_KeyOptions_REG_OPTION_CREATE_LINK
,
897 &hf_winreg_winreg_KeyOptions_REG_OPTION_BACKUP_RESTORE
,
898 &hf_winreg_winreg_KeyOptions_REG_OPTION_OPEN_LINK
,
904 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
905 ett_winreg_winreg_KeyOptions
, winreg_winreg_KeyOptions_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
907 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
910 proto_item_append_text(item
, ": (No values set)");
912 if (flags
& (~0x0000000f)) {
913 flags
&= (~0x0000000f);
914 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
922 /* IDL: REG_ACTION_NONE=0, */
923 /* IDL: REG_CREATED_NEW_KEY=1, */
924 /* IDL: REG_OPENED_EXISTING_KEY=2, */
928 winreg_dissect_enum_CreateAction(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_
)
930 uint32_t parameter
=0;
934 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_index
, ¶meter
);
943 /* IDL: [value(strlen_m_term_null(name)*2)] uint16 length; */
944 /* IDL: uint16 size; */
945 /* IDL: [charset(UTF16)] [length_is(length/2)] [size_is(size/2)] [unique(1)] uint16 *name; */
949 winreg_dissect_element_StringBuf_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
951 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_StringBuf_length
, 0);
957 winreg_dissect_element_StringBuf_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
959 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_StringBuf_size
, 0);
965 winreg_dissect_element_StringBuf_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
967 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_StringBuf_name_
, NDR_POINTER_UNIQUE
, "Pointer to Name (uint16)",hf_winreg_winreg_StringBuf_name
);
973 winreg_dissect_element_StringBuf_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
975 struct ndr_generic_array nga
= { .is_conformant
= false, };
977 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
979 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
981 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_StringBuf_name__
);
987 winreg_dissect_element_StringBuf_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
989 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_StringBuf_name
, 0);
995 winreg_dissect_struct_StringBuf(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_
)
997 proto_item
*item
= NULL
;
998 proto_tree
*tree
= NULL
;
1003 old_offset
= offset
;
1006 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1007 tree
= proto_item_add_subtree(item
, ett_winreg_winreg_StringBuf
);
1010 offset
= winreg_dissect_element_StringBuf_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
1012 offset
= winreg_dissect_element_StringBuf_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
1014 offset
= winreg_dissect_element_StringBuf_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1017 proto_item_set_len(item
, offset
-old_offset
);
1020 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1029 /* IDL: [value(strlen_m_term(name)*2)] uint16 length; */
1030 /* IDL: uint16 size; */
1031 /* IDL: [charset(UTF16)] [length_is(length/2)] [size_is(size/2)] [unique(1)] uint16 *name; */
1035 winreg_dissect_element_ValNameBuf_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1037 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_ValNameBuf_length
, 0);
1043 winreg_dissect_element_ValNameBuf_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1045 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_ValNameBuf_size
, 0);
1051 winreg_dissect_element_ValNameBuf_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1053 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_ValNameBuf_name_
, NDR_POINTER_UNIQUE
, "Pointer to Name (uint16)",hf_winreg_winreg_ValNameBuf_name
);
1059 winreg_dissect_element_ValNameBuf_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 struct ndr_generic_array nga
= { .is_conformant
= false, };
1063 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1065 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
1067 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_ValNameBuf_name__
);
1073 winreg_dissect_element_ValNameBuf_name__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1075 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_ValNameBuf_name
, 0);
1081 winreg_dissect_struct_ValNameBuf(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_
)
1083 proto_item
*item
= NULL
;
1084 proto_tree
*tree
= NULL
;
1089 old_offset
= offset
;
1092 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1093 tree
= proto_item_add_subtree(item
, ett_winreg_winreg_ValNameBuf
);
1096 offset
= winreg_dissect_element_ValNameBuf_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
1098 offset
= winreg_dissect_element_ValNameBuf_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
1100 offset
= winreg_dissect_element_ValNameBuf_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1103 proto_item_set_len(item
, offset
-old_offset
);
1106 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1115 /* IDL: REG_NOTIFY_CHANGE_NAME = 0x00000001 , */
1116 /* IDL: REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002 , */
1117 /* IDL: REG_NOTIFY_CHANGE_LAST_SET = 0x00000004 , */
1118 /* IDL: REG_NOTIFY_CHANGE_SECURITY = 0x00000008 , */
1122 winreg_dissect_bitmap_NotifyChangeType(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_
)
1125 static int * const winreg_winreg_NotifyChangeType_fields
[] = {
1126 &hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_NAME
,
1127 &hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_ATTRIBUTES
,
1128 &hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_LAST_SET
,
1129 &hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_SECURITY
,
1135 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
1136 ett_winreg_winreg_NotifyChangeType
, winreg_winreg_NotifyChangeType_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
1138 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1141 proto_item_append_text(item
, ": (No values set)");
1143 if (flags
& (~0x0000000f)) {
1144 flags
&= (~0x0000000f);
1145 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
1153 /* IDL: REG_WHOLE_HIVE_VOLATILE = 0x00000001 , */
1154 /* IDL: REG_REFRESH_HIVE = 0x00000002 , */
1155 /* IDL: REG_NO_LAZY_FLUSH = 0x00000004 , */
1156 /* IDL: REG_FORCE_RESTORE = 0x00000008 , */
1160 winreg_dissect_bitmap_RestoreKeyFlags(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_
)
1163 static int * const winreg_winreg_RestoreKeyFlags_fields
[] = {
1164 &hf_winreg_winreg_RestoreKeyFlags_REG_WHOLE_HIVE_VOLATILE
,
1165 &hf_winreg_winreg_RestoreKeyFlags_REG_REFRESH_HIVE
,
1166 &hf_winreg_winreg_RestoreKeyFlags_REG_NO_LAZY_FLUSH
,
1167 &hf_winreg_winreg_RestoreKeyFlags_REG_FORCE_RESTORE
,
1173 item
= proto_tree_add_bitmask_with_flags(parent_tree
, tvb
, offset
, hf_index
,
1174 ett_winreg_winreg_RestoreKeyFlags
, winreg_winreg_RestoreKeyFlags_fields
, DREP_ENC_INTEGER(drep
), BMT_NO_FALSE
);
1176 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, parent_tree
, di
, drep
, -1, &flags
);
1179 proto_item_append_text(item
, ": (No values set)");
1181 if (flags
& (~0x0000000f)) {
1182 flags
&= (~0x0000000f);
1183 proto_item_append_text(item
, "Unknown bitmap value 0x%x", flags
);
1191 /* IDL: uint32 data_size; */
1192 /* IDL: KeySecurityData sec_data; */
1193 /* IDL: uint8 inherit; */
1197 winreg_dissect_element_KeySecurityAttribute_data_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1199 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_KeySecurityAttribute_data_size
, 0);
1205 winreg_dissect_element_KeySecurityAttribute_sec_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1207 offset
= winreg_dissect_struct_KeySecurityData(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_KeySecurityAttribute_sec_data
,0);
1213 winreg_dissect_element_KeySecurityAttribute_inherit(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1215 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_KeySecurityAttribute_inherit
, 0);
1221 winreg_dissect_struct_KeySecurityAttribute(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_
)
1223 proto_item
*item
= NULL
;
1224 proto_tree
*tree
= NULL
;
1229 old_offset
= offset
;
1232 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1233 tree
= proto_item_add_subtree(item
, ett_winreg_KeySecurityAttribute
);
1236 offset
= winreg_dissect_element_KeySecurityAttribute_data_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
1238 offset
= winreg_dissect_element_KeySecurityAttribute_sec_data(tvb
, offset
, pinfo
, tree
, di
, drep
);
1240 offset
= winreg_dissect_element_KeySecurityAttribute_inherit(tvb
, offset
, pinfo
, tree
, di
, drep
);
1243 proto_item_set_len(item
, offset
-old_offset
);
1246 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1255 /* IDL: [unique(1)] winreg_ValNameBuf *ve_valuename; */
1256 /* IDL: uint32 ve_valuelen; */
1257 /* IDL: uint32 ve_valueptr; */
1258 /* IDL: winreg_Type ve_type; */
1262 winreg_dissect_element_QueryMultipleValue_ve_valuename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1264 offset
= dissect_ndr_embedded_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValue_ve_valuename_
, NDR_POINTER_UNIQUE
, "Pointer to Ve Valuename (winreg_ValNameBuf)",hf_winreg_QueryMultipleValue_ve_valuename
);
1270 winreg_dissect_element_QueryMultipleValue_ve_valuename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1272 offset
= winreg_dissect_struct_ValNameBuf(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_QueryMultipleValue_ve_valuename
,0);
1278 winreg_dissect_element_QueryMultipleValue_ve_valuelen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1280 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_QueryMultipleValue_ve_valuelen
, 0);
1286 winreg_dissect_element_QueryMultipleValue_ve_valueptr(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1288 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_QueryMultipleValue_ve_valueptr
, 0);
1294 winreg_dissect_element_QueryMultipleValue_ve_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1296 offset
=misc_dissect_enum_winreg_Type(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_QueryMultipleValue_ve_type
, 0);
1302 winreg_dissect_struct_QueryMultipleValue(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_
)
1304 proto_item
*item
= NULL
;
1305 proto_tree
*tree
= NULL
;
1310 old_offset
= offset
;
1313 item
= proto_tree_add_item(parent_tree
, hf_index
, tvb
, offset
, -1, ENC_NA
);
1314 tree
= proto_item_add_subtree(item
, ett_winreg_QueryMultipleValue
);
1317 offset
= winreg_dissect_element_QueryMultipleValue_ve_valuename(tvb
, offset
, pinfo
, tree
, di
, drep
);
1319 offset
= winreg_dissect_element_QueryMultipleValue_ve_valuelen(tvb
, offset
, pinfo
, tree
, di
, drep
);
1321 offset
= winreg_dissect_element_QueryMultipleValue_ve_valueptr(tvb
, offset
, pinfo
, tree
, di
, drep
);
1323 offset
= winreg_dissect_element_QueryMultipleValue_ve_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
1326 proto_item_set_len(item
, offset
-old_offset
);
1329 if (di
->call_data
->flags
& DCERPC_IS_NDR64
) {
1337 winreg_dissect_element_OpenHKCR_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1339 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKCR_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
1345 winreg_dissect_element_OpenHKCR_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1347 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
1353 winreg_dissect_element_OpenHKCR_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_
)
1355 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
, 0);
1361 winreg_dissect_element_OpenHKCR_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1363 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKCR_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1369 winreg_dissect_element_OpenHKCR_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1371 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
1376 /* IDL: WERROR winreg_OpenHKCR( */
1377 /* IDL: [in] [unique(1)] uint16 *system_name, */
1378 /* IDL: [in] winreg_AccessMask access_mask, */
1379 /* IDL: [out] [ref] policy_handle *handle */
1383 winreg_dissect_OpenHKCR_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1387 di
->dcerpc_procedure_name
="OpenHKCR";
1388 offset
= winreg_dissect_element_OpenHKCR_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1389 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1391 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1394 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1400 winreg_dissect_OpenHKCR_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1402 di
->dcerpc_procedure_name
="OpenHKCR";
1403 offset
= winreg_dissect_element_OpenHKCR_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1404 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1405 offset
= winreg_dissect_element_OpenHKCR_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
1406 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1411 winreg_dissect_element_OpenHKCU_system_name(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
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKCU_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
1419 winreg_dissect_element_OpenHKCU_system_name_(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
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
1427 winreg_dissect_element_OpenHKCU_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_
)
1429 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_OpenHKCU_access_mask
, 0);
1435 winreg_dissect_element_OpenHKCU_handle(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
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKCU_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1443 winreg_dissect_element_OpenHKCU_handle_(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_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
1450 /* IDL: WERROR winreg_OpenHKCU( */
1451 /* IDL: [in] [unique(1)] uint16 *system_name, */
1452 /* IDL: [in] winreg_AccessMask access_mask, */
1453 /* IDL: [out] [ref] policy_handle *handle */
1457 winreg_dissect_OpenHKCU_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1461 di
->dcerpc_procedure_name
="OpenHKCU";
1462 offset
= winreg_dissect_element_OpenHKCU_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1463 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1465 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1468 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1474 winreg_dissect_OpenHKCU_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1476 di
->dcerpc_procedure_name
="OpenHKCU";
1477 offset
= winreg_dissect_element_OpenHKCU_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1478 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1479 offset
= winreg_dissect_element_OpenHKCU_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
1480 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1485 winreg_dissect_element_OpenHKLM_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1487 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKLM_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
1493 winreg_dissect_element_OpenHKLM_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1495 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
1501 winreg_dissect_element_OpenHKLM_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_
)
1503 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
, 0);
1509 winreg_dissect_element_OpenHKLM_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1511 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKLM_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1517 winreg_dissect_element_OpenHKLM_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1519 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
1524 /* IDL: WERROR winreg_OpenHKLM( */
1525 /* IDL: [in] [unique(1)] uint16 *system_name, */
1526 /* IDL: [in] winreg_AccessMask access_mask, */
1527 /* IDL: [out] [ref] policy_handle *handle */
1531 winreg_dissect_OpenHKLM_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1535 di
->dcerpc_procedure_name
="OpenHKLM";
1536 offset
= winreg_dissect_element_OpenHKLM_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1537 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1539 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1542 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1548 winreg_dissect_OpenHKLM_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1550 di
->dcerpc_procedure_name
="OpenHKLM";
1551 offset
= winreg_dissect_element_OpenHKLM_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1552 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1553 offset
= winreg_dissect_element_OpenHKLM_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
1554 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1559 winreg_dissect_element_OpenHKPD_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1561 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKPD_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
1567 winreg_dissect_element_OpenHKPD_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1569 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
1575 winreg_dissect_element_OpenHKPD_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_
)
1577 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_OpenHKPD_access_mask
, 0);
1583 winreg_dissect_element_OpenHKPD_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1585 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKPD_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1591 winreg_dissect_element_OpenHKPD_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1593 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
1598 /* IDL: WERROR winreg_OpenHKPD( */
1599 /* IDL: [in] [unique(1)] uint16 *system_name, */
1600 /* IDL: [in] winreg_AccessMask access_mask, */
1601 /* IDL: [out] [ref] policy_handle *handle */
1605 winreg_dissect_OpenHKPD_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1609 di
->dcerpc_procedure_name
="OpenHKPD";
1610 offset
= winreg_dissect_element_OpenHKPD_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1611 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1613 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1616 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1622 winreg_dissect_OpenHKPD_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1624 di
->dcerpc_procedure_name
="OpenHKPD";
1625 offset
= winreg_dissect_element_OpenHKPD_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1626 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1627 offset
= winreg_dissect_element_OpenHKPD_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
1628 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1633 winreg_dissect_element_OpenHKU_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1635 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKU_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
1641 winreg_dissect_element_OpenHKU_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1643 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
1649 winreg_dissect_element_OpenHKU_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_
)
1651 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
, 0);
1657 winreg_dissect_element_OpenHKU_handle(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_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKU_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1665 winreg_dissect_element_OpenHKU_handle_(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
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
1672 /* IDL: WERROR winreg_OpenHKU( */
1673 /* IDL: [in] [unique(1)] uint16 *system_name, */
1674 /* IDL: [in] winreg_AccessMask access_mask, */
1675 /* IDL: [out] [ref] policy_handle *handle */
1679 winreg_dissect_OpenHKU_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1683 di
->dcerpc_procedure_name
="OpenHKU";
1684 offset
= winreg_dissect_element_OpenHKU_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1685 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1687 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1690 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1696 winreg_dissect_OpenHKU_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1698 di
->dcerpc_procedure_name
="OpenHKU";
1699 offset
= winreg_dissect_element_OpenHKU_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1700 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1701 offset
= winreg_dissect_element_OpenHKU_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
1702 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1707 winreg_dissect_element_CloseKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1709 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_CloseKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1715 winreg_dissect_element_CloseKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1717 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_CLOSE
);
1722 /* IDL: WERROR winreg_CloseKey( */
1723 /* IDL: [in] [out] [ref] policy_handle *handle */
1727 winreg_dissect_CloseKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1731 di
->dcerpc_procedure_name
="CloseKey";
1732 offset
= winreg_dissect_element_CloseKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1733 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1735 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1738 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1744 winreg_dissect_CloseKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1746 di
->dcerpc_procedure_name
="CloseKey";
1747 offset
= winreg_dissect_element_CloseKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1748 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1753 winreg_dissect_element_CreateKey_handle(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_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_CreateKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1761 winreg_dissect_element_CreateKey_handle_(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
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
1769 winreg_dissect_element_CreateKey_name(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
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 2|PIDL_SET_COL_INFO
, hf_winreg_winreg_CreateKey_name
);
1777 winreg_dissect_element_CreateKey_keyclass(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1779 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_CreateKey_keyclass
);
1785 winreg_dissect_element_CreateKey_options(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1787 offset
= winreg_dissect_bitmap_KeyOptions(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_CreateKey_options
, 0);
1793 winreg_dissect_element_CreateKey_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_
)
1795 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
, 0);
1801 winreg_dissect_element_CreateKey_secdesc(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1803 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_CreateKey_secdesc_
, NDR_POINTER_UNIQUE
, "Pointer to Secdesc (winreg_SecBuf)",hf_winreg_winreg_CreateKey_secdesc
);
1809 winreg_dissect_element_CreateKey_secdesc_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1811 offset
= winreg_dissect_struct_SecBuf(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_CreateKey_secdesc
,0);
1817 winreg_dissect_element_CreateKey_new_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1819 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_CreateKey_new_handle_
, NDR_POINTER_REF
, "Pointer to New Handle (policy_handle)",hf_winreg_winreg_CreateKey_new_handle
);
1825 winreg_dissect_element_CreateKey_new_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1827 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_CreateKey_new_handle
, PIDL_POLHND_OPEN
);
1833 winreg_dissect_element_CreateKey_action_taken(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1835 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_CreateKey_action_taken_
, NDR_POINTER_UNIQUE
, "Pointer to Action Taken (winreg_CreateAction)",hf_winreg_winreg_CreateKey_action_taken
);
1841 winreg_dissect_element_CreateKey_action_taken_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1843 offset
= winreg_dissect_enum_CreateAction(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_CreateKey_action_taken
, 0);
1848 /* IDL: WERROR winreg_CreateKey( */
1849 /* IDL: [in] [ref] policy_handle *handle, */
1850 /* IDL: [in] winreg_String name, */
1851 /* IDL: [in] winreg_String keyclass, */
1852 /* IDL: [in] winreg_KeyOptions options, */
1853 /* IDL: [in] winreg_AccessMask access_mask, */
1854 /* IDL: [in] [unique(1)] winreg_SecBuf *secdesc, */
1855 /* IDL: [out] [ref] policy_handle *new_handle, */
1856 /* IDL: [in] [out] [unique(1)] winreg_CreateAction *action_taken */
1860 winreg_dissect_CreateKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1864 di
->dcerpc_procedure_name
="CreateKey";
1865 offset
= winreg_dissect_element_CreateKey_new_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1866 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1868 offset
= winreg_dissect_element_CreateKey_action_taken(tvb
, offset
, pinfo
, tree
, di
, drep
);
1869 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1871 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1874 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1880 winreg_dissect_CreateKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1882 di
->dcerpc_procedure_name
="CreateKey";
1883 offset
= winreg_dissect_element_CreateKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1884 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1885 offset
= winreg_dissect_element_CreateKey_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
1886 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1887 offset
= winreg_dissect_element_CreateKey_keyclass(tvb
, offset
, pinfo
, tree
, di
, drep
);
1888 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1889 offset
= winreg_dissect_element_CreateKey_options(tvb
, offset
, pinfo
, tree
, di
, drep
);
1890 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1891 offset
= winreg_dissect_element_CreateKey_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
1892 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1893 offset
= winreg_dissect_element_CreateKey_secdesc(tvb
, offset
, pinfo
, tree
, di
, drep
);
1894 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1895 offset
= winreg_dissect_element_CreateKey_action_taken(tvb
, offset
, pinfo
, tree
, di
, drep
);
1896 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1901 winreg_dissect_element_DeleteKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1903 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_DeleteKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1909 winreg_dissect_element_DeleteKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1911 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
1917 winreg_dissect_element_DeleteKey_key(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1919 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 2|PIDL_SET_COL_INFO
, hf_winreg_winreg_DeleteKey_key
);
1924 /* IDL: WERROR winreg_DeleteKey( */
1925 /* IDL: [in] [ref] policy_handle *handle, */
1926 /* IDL: [in] winreg_String key */
1930 winreg_dissect_DeleteKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1934 di
->dcerpc_procedure_name
="DeleteKey";
1935 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1938 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1944 winreg_dissect_DeleteKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1946 di
->dcerpc_procedure_name
="DeleteKey";
1947 offset
= winreg_dissect_element_DeleteKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
1948 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1949 offset
= winreg_dissect_element_DeleteKey_key(tvb
, offset
, pinfo
, tree
, di
, drep
);
1950 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
1955 winreg_dissect_element_DeleteValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1957 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_DeleteValue_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
1963 winreg_dissect_element_DeleteValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1965 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
1971 winreg_dissect_element_DeleteValue_value(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1973 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_DeleteValue_value
);
1978 /* IDL: WERROR winreg_DeleteValue( */
1979 /* IDL: [in] [ref] policy_handle *handle, */
1980 /* IDL: [in] winreg_String value */
1984 winreg_dissect_DeleteValue_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
1988 di
->dcerpc_procedure_name
="DeleteValue";
1989 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
1992 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
1998 winreg_dissect_DeleteValue_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2000 di
->dcerpc_procedure_name
="DeleteValue";
2001 offset
= winreg_dissect_element_DeleteValue_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2002 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2003 offset
= winreg_dissect_element_DeleteValue_value(tvb
, offset
, pinfo
, tree
, di
, drep
);
2004 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2009 winreg_dissect_element_EnumKey_handle(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
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2017 winreg_dissect_element_EnumKey_handle_(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
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
2025 winreg_dissect_element_EnumKey_enum_index(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
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_EnumKey_enum_index
, 0);
2033 winreg_dissect_element_EnumKey_name(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_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumKey_name_
, NDR_POINTER_REF
, "Pointer to Name (winreg_StringBuf)",hf_winreg_winreg_EnumKey_name
);
2041 winreg_dissect_element_EnumKey_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2043 offset
= winreg_dissect_struct_StringBuf(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_EnumKey_name
,0);
2049 winreg_dissect_element_EnumKey_keyclass(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2051 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumKey_keyclass_
, NDR_POINTER_UNIQUE
, "Pointer to Keyclass (winreg_StringBuf)",hf_winreg_winreg_EnumKey_keyclass
);
2057 winreg_dissect_element_EnumKey_keyclass_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2059 offset
= winreg_dissect_struct_StringBuf(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_EnumKey_keyclass
,0);
2065 winreg_dissect_element_EnumKey_last_changed_time(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2067 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumKey_last_changed_time_
, NDR_POINTER_UNIQUE
, "Pointer to Last Changed Time (NTTIME)",hf_winreg_winreg_EnumKey_last_changed_time
);
2073 winreg_dissect_element_EnumKey_last_changed_time_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2075 offset
= dissect_ndr_nt_NTTIME(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_EnumKey_last_changed_time
);
2080 /* IDL: WERROR winreg_EnumKey( */
2081 /* IDL: [in] [ref] policy_handle *handle, */
2082 /* IDL: [in] uint32 enum_index, */
2083 /* IDL: [in] [out] [ref] winreg_StringBuf *name, */
2084 /* IDL: [in] [out] [unique(1)] winreg_StringBuf *keyclass, */
2085 /* IDL: [in] [out] [unique(1)] NTTIME *last_changed_time */
2089 winreg_dissect_EnumKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2093 di
->dcerpc_procedure_name
="EnumKey";
2094 offset
= winreg_dissect_element_EnumKey_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
2095 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2097 offset
= winreg_dissect_element_EnumKey_keyclass(tvb
, offset
, pinfo
, tree
, di
, drep
);
2098 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2100 offset
= winreg_dissect_element_EnumKey_last_changed_time(tvb
, offset
, pinfo
, tree
, di
, drep
);
2101 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2103 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
2106 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2112 winreg_dissect_EnumKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2114 di
->dcerpc_procedure_name
="EnumKey";
2115 offset
= winreg_dissect_element_EnumKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2116 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2117 offset
= winreg_dissect_element_EnumKey_enum_index(tvb
, offset
, pinfo
, tree
, di
, drep
);
2118 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2119 offset
= winreg_dissect_element_EnumKey_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
2120 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2121 offset
= winreg_dissect_element_EnumKey_keyclass(tvb
, offset
, pinfo
, tree
, di
, drep
);
2122 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2123 offset
= winreg_dissect_element_EnumKey_last_changed_time(tvb
, offset
, pinfo
, tree
, di
, drep
);
2124 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2129 winreg_dissect_element_EnumValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2131 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumValue_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2137 winreg_dissect_element_EnumValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2139 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
2145 winreg_dissect_element_EnumValue_enum_index(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2147 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_EnumValue_enum_index
, 0);
2153 winreg_dissect_element_EnumValue_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2155 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumValue_name_
, NDR_POINTER_REF
, "Pointer to Name (winreg_ValNameBuf)",hf_winreg_winreg_EnumValue_name
);
2161 winreg_dissect_element_EnumValue_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2163 offset
= winreg_dissect_struct_ValNameBuf(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_EnumValue_name
,0);
2169 winreg_dissect_element_EnumValue_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2171 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumValue_type_
, NDR_POINTER_UNIQUE
, "Pointer to Type (winreg_Type)",hf_winreg_winreg_EnumValue_type
);
2177 winreg_dissect_element_EnumValue_type_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2179 offset
=misc_dissect_enum_winreg_Type(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_EnumValue_type
, 0);
2185 winreg_dissect_element_EnumValue_value(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2187 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumValue_value_
, NDR_POINTER_UNIQUE
, "Pointer to Value (uint8)",hf_winreg_winreg_EnumValue_value
);
2193 winreg_dissect_element_EnumValue_value_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2195 struct ndr_generic_array nga
= { .is_conformant
= false, };
2197 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2199 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2201 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_EnumValue_value__
);
2207 winreg_dissect_element_EnumValue_value__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2209 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_EnumValue_value
, 0);
2215 winreg_dissect_element_EnumValue_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2217 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumValue_size_
, NDR_POINTER_UNIQUE
, "Pointer to Size (uint32)",hf_winreg_winreg_EnumValue_size
);
2223 winreg_dissect_element_EnumValue_size_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2225 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_EnumValue_size
, 0);
2231 winreg_dissect_element_EnumValue_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2233 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_EnumValue_length_
, NDR_POINTER_UNIQUE
, "Pointer to Length (uint32)",hf_winreg_winreg_EnumValue_length
);
2239 winreg_dissect_element_EnumValue_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2241 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_EnumValue_length
, 0);
2246 /* IDL: WERROR winreg_EnumValue( */
2247 /* IDL: [in] [ref] policy_handle *handle, */
2248 /* IDL: [in] uint32 enum_index, */
2249 /* IDL: [in] [out] [ref] winreg_ValNameBuf *name, */
2250 /* IDL: [in] [out] [unique(1)] winreg_Type *type, */
2251 /* IDL: [in] [length_is(length?*length:0)] [out] [range(0,0x4000000)] [size_is(size?*size:0)] [unique(1)] uint8 *value, */
2252 /* IDL: [in] [out] [unique(1)] uint32 *size, */
2253 /* IDL: [in] [out] [unique(1)] uint32 *length */
2257 winreg_dissect_EnumValue_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2261 di
->dcerpc_procedure_name
="EnumValue";
2262 offset
= winreg_dissect_element_EnumValue_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
2263 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2265 offset
= winreg_dissect_element_EnumValue_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
2266 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2268 offset
= winreg_dissect_element_EnumValue_value(tvb
, offset
, pinfo
, tree
, di
, drep
);
2269 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2271 offset
= winreg_dissect_element_EnumValue_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
2272 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2274 offset
= winreg_dissect_element_EnumValue_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
2275 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2277 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
2280 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2286 winreg_dissect_EnumValue_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2288 di
->dcerpc_procedure_name
="EnumValue";
2289 offset
= winreg_dissect_element_EnumValue_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2290 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2291 offset
= winreg_dissect_element_EnumValue_enum_index(tvb
, offset
, pinfo
, tree
, di
, drep
);
2292 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2293 offset
= winreg_dissect_element_EnumValue_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
2294 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2295 offset
= winreg_dissect_element_EnumValue_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
2296 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2297 offset
= winreg_dissect_element_EnumValue_value(tvb
, offset
, pinfo
, tree
, di
, drep
);
2298 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2299 offset
= winreg_dissect_element_EnumValue_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
2300 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2301 offset
= winreg_dissect_element_EnumValue_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
2302 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2307 winreg_dissect_element_FlushKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2309 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_FlushKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2315 winreg_dissect_element_FlushKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2317 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
2322 /* IDL: WERROR winreg_FlushKey( */
2323 /* IDL: [in] [ref] policy_handle *handle */
2327 winreg_dissect_FlushKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2331 di
->dcerpc_procedure_name
="FlushKey";
2332 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
2335 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2341 winreg_dissect_FlushKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2343 di
->dcerpc_procedure_name
="FlushKey";
2344 offset
= winreg_dissect_element_FlushKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2345 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2350 winreg_dissect_element_GetKeySecurity_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2352 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_GetKeySecurity_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2358 winreg_dissect_element_GetKeySecurity_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2360 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
2366 winreg_dissect_element_GetKeySecurity_sec_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2368 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_GetKeySecurity_sec_info
, NULL
);
2374 winreg_dissect_element_GetKeySecurity_sd(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2376 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_GetKeySecurity_sd_
, NDR_POINTER_REF
, "Pointer to Sd (KeySecurityData)",hf_winreg_sd
);
2382 winreg_dissect_element_GetKeySecurity_sd_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2384 offset
= winreg_dissect_struct_KeySecurityData(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_sd
,0);
2389 /* IDL: WERROR winreg_GetKeySecurity( */
2390 /* IDL: [in] [ref] policy_handle *handle, */
2391 /* IDL: [in] security_secinfo sec_info, */
2392 /* IDL: [in] [out] [ref] KeySecurityData *sd */
2396 winreg_dissect_GetKeySecurity_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2400 di
->dcerpc_procedure_name
="GetKeySecurity";
2401 offset
= winreg_dissect_element_GetKeySecurity_sd(tvb
, offset
, pinfo
, tree
, di
, drep
);
2402 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2404 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
2407 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2413 winreg_dissect_GetKeySecurity_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2415 di
->dcerpc_procedure_name
="GetKeySecurity";
2416 offset
= winreg_dissect_element_GetKeySecurity_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2417 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2418 offset
= winreg_dissect_element_GetKeySecurity_sec_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
2419 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2420 offset
= winreg_dissect_element_GetKeySecurity_sd(tvb
, offset
, pinfo
, tree
, di
, drep
);
2421 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2426 winreg_dissect_element_LoadKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2428 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_LoadKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2434 winreg_dissect_element_LoadKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2436 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
2442 winreg_dissect_element_LoadKey_keyname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2444 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_LoadKey_keyname_
, NDR_POINTER_UNIQUE
, "Pointer to Keyname (winreg_String)",hf_winreg_winreg_LoadKey_keyname
);
2450 winreg_dissect_element_LoadKey_keyname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2452 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_LoadKey_keyname
);
2458 winreg_dissect_element_LoadKey_filename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2460 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_LoadKey_filename_
, NDR_POINTER_UNIQUE
, "Pointer to Filename (winreg_String)",hf_winreg_winreg_LoadKey_filename
);
2466 winreg_dissect_element_LoadKey_filename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2468 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_LoadKey_filename
);
2473 /* IDL: WERROR winreg_LoadKey( */
2474 /* IDL: [in] [ref] policy_handle *handle, */
2475 /* IDL: [in] [unique(1)] winreg_String *keyname, */
2476 /* IDL: [in] [unique(1)] winreg_String *filename */
2480 winreg_dissect_LoadKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2484 di
->dcerpc_procedure_name
="LoadKey";
2485 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
2488 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2494 winreg_dissect_LoadKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2496 di
->dcerpc_procedure_name
="LoadKey";
2497 offset
= winreg_dissect_element_LoadKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2498 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2499 offset
= winreg_dissect_element_LoadKey_keyname(tvb
, offset
, pinfo
, tree
, di
, drep
);
2500 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2501 offset
= winreg_dissect_element_LoadKey_filename(tvb
, offset
, pinfo
, tree
, di
, drep
);
2502 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2507 winreg_dissect_element_NotifyChangeKeyValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2509 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_NotifyChangeKeyValue_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2515 winreg_dissect_element_NotifyChangeKeyValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2517 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
2523 winreg_dissect_element_NotifyChangeKeyValue_watch_subtree(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2525 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_NotifyChangeKeyValue_watch_subtree
, 0);
2531 winreg_dissect_element_NotifyChangeKeyValue_notify_filter(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2533 offset
= winreg_dissect_bitmap_NotifyChangeType(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_NotifyChangeKeyValue_notify_filter
, 0);
2539 winreg_dissect_element_NotifyChangeKeyValue_unknown(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2541 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_NotifyChangeKeyValue_unknown
, 0);
2547 winreg_dissect_element_NotifyChangeKeyValue_string1(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2549 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_NotifyChangeKeyValue_string1
);
2555 winreg_dissect_element_NotifyChangeKeyValue_string2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2557 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_NotifyChangeKeyValue_string2
);
2563 winreg_dissect_element_NotifyChangeKeyValue_unknown2(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2565 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_NotifyChangeKeyValue_unknown2
, 0);
2570 /* IDL: WERROR winreg_NotifyChangeKeyValue( */
2571 /* IDL: [in] [ref] policy_handle *handle, */
2572 /* IDL: [in] uint8 watch_subtree, */
2573 /* IDL: [in] winreg_NotifyChangeType notify_filter, */
2574 /* IDL: [in] uint32 unknown, */
2575 /* IDL: [in] winreg_String string1, */
2576 /* IDL: [in] winreg_String string2, */
2577 /* IDL: [in] uint32 unknown2 */
2581 winreg_dissect_NotifyChangeKeyValue_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2585 di
->dcerpc_procedure_name
="NotifyChangeKeyValue";
2586 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
2589 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2595 winreg_dissect_NotifyChangeKeyValue_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2597 di
->dcerpc_procedure_name
="NotifyChangeKeyValue";
2598 offset
= winreg_dissect_element_NotifyChangeKeyValue_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2599 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2600 offset
= winreg_dissect_element_NotifyChangeKeyValue_watch_subtree(tvb
, offset
, pinfo
, tree
, di
, drep
);
2601 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2602 offset
= winreg_dissect_element_NotifyChangeKeyValue_notify_filter(tvb
, offset
, pinfo
, tree
, di
, drep
);
2603 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2604 offset
= winreg_dissect_element_NotifyChangeKeyValue_unknown(tvb
, offset
, pinfo
, tree
, di
, drep
);
2605 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2606 offset
= winreg_dissect_element_NotifyChangeKeyValue_string1(tvb
, offset
, pinfo
, tree
, di
, drep
);
2607 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2608 offset
= winreg_dissect_element_NotifyChangeKeyValue_string2(tvb
, offset
, pinfo
, tree
, di
, drep
);
2609 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2610 offset
= winreg_dissect_element_NotifyChangeKeyValue_unknown2(tvb
, offset
, pinfo
, tree
, di
, drep
);
2611 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2616 winreg_dissect_element_OpenKey_parent_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2618 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenKey_parent_handle_
, NDR_POINTER_REF
, "Pointer to Parent Handle (policy_handle)",hf_winreg_winreg_OpenKey_parent_handle
);
2624 winreg_dissect_element_OpenKey_parent_handle_(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_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_OpenKey_parent_handle
, 0);
2632 winreg_dissect_element_OpenKey_keyname(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
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 2|PIDL_SET_COL_INFO
|PIDL_STR_SAVE
, hf_winreg_winreg_OpenKey_keyname
);
2640 winreg_dissect_element_OpenKey_options(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
= winreg_dissect_bitmap_KeyOptions(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_OpenKey_options
, 0);
2648 winreg_dissect_element_OpenKey_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_
)
2650 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_OpenKey_access_mask
, 0);
2656 winreg_dissect_element_OpenKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2658 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2664 winreg_dissect_element_OpenKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2666 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
2671 /* IDL: WERROR winreg_OpenKey( */
2672 /* IDL: [in] [ref] policy_handle *parent_handle, */
2673 /* IDL: [in] winreg_String keyname, */
2674 /* IDL: [in] winreg_KeyOptions options, */
2675 /* IDL: [in] winreg_AccessMask access_mask, */
2676 /* IDL: [out] [ref] policy_handle *handle */
2680 winreg_dissect_OpenKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2684 di
->dcerpc_procedure_name
="OpenKey";
2685 offset
= winreg_dissect_element_OpenKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2686 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2688 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
2691 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2697 winreg_dissect_OpenKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2699 di
->dcerpc_procedure_name
="OpenKey";
2700 offset
= winreg_dissect_element_OpenKey_parent_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2701 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2702 offset
= winreg_dissect_element_OpenKey_keyname(tvb
, offset
, pinfo
, tree
, di
, drep
);
2703 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2704 offset
= winreg_dissect_element_OpenKey_options(tvb
, offset
, pinfo
, tree
, di
, drep
);
2705 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2706 offset
= winreg_dissect_element_OpenKey_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
2707 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2712 winreg_dissect_element_QueryInfoKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2714 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2720 winreg_dissect_element_QueryInfoKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2722 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
2728 winreg_dissect_element_QueryInfoKey_classname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2730 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_classname_
, NDR_POINTER_REF
, "Pointer to Classname (winreg_String)",hf_winreg_winreg_QueryInfoKey_classname
);
2736 winreg_dissect_element_QueryInfoKey_classname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2738 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_QueryInfoKey_classname
);
2744 winreg_dissect_element_QueryInfoKey_num_subkeys(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2746 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_num_subkeys_
, NDR_POINTER_REF
, "Pointer to Num Subkeys (uint32)",hf_winreg_winreg_QueryInfoKey_num_subkeys
);
2752 winreg_dissect_element_QueryInfoKey_num_subkeys_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2754 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryInfoKey_num_subkeys
, 0);
2760 winreg_dissect_element_QueryInfoKey_max_subkeylen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2762 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_max_subkeylen_
, NDR_POINTER_REF
, "Pointer to Max Subkeylen (uint32)",hf_winreg_winreg_QueryInfoKey_max_subkeylen
);
2768 winreg_dissect_element_QueryInfoKey_max_subkeylen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2770 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryInfoKey_max_subkeylen
, 0);
2776 winreg_dissect_element_QueryInfoKey_max_classlen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2778 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_max_classlen_
, NDR_POINTER_REF
, "Pointer to Max Classlen (uint32)",hf_winreg_winreg_QueryInfoKey_max_classlen
);
2784 winreg_dissect_element_QueryInfoKey_max_classlen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2786 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryInfoKey_max_classlen
, 0);
2792 winreg_dissect_element_QueryInfoKey_num_values(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2794 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_num_values_
, NDR_POINTER_REF
, "Pointer to Num Values (uint32)",hf_winreg_winreg_QueryInfoKey_num_values
);
2800 winreg_dissect_element_QueryInfoKey_num_values_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2802 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryInfoKey_num_values
, 0);
2808 winreg_dissect_element_QueryInfoKey_max_valnamelen(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2810 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_max_valnamelen_
, NDR_POINTER_REF
, "Pointer to Max Valnamelen (uint32)",hf_winreg_winreg_QueryInfoKey_max_valnamelen
);
2816 winreg_dissect_element_QueryInfoKey_max_valnamelen_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2818 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryInfoKey_max_valnamelen
, 0);
2824 winreg_dissect_element_QueryInfoKey_max_valbufsize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2826 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_max_valbufsize_
, NDR_POINTER_REF
, "Pointer to Max Valbufsize (uint32)",hf_winreg_winreg_QueryInfoKey_max_valbufsize
);
2832 winreg_dissect_element_QueryInfoKey_max_valbufsize_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2834 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryInfoKey_max_valbufsize
, 0);
2840 winreg_dissect_element_QueryInfoKey_secdescsize(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2842 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryInfoKey_secdescsize_
, NDR_POINTER_REF
, "Pointer to Secdescsize (uint32)",hf_winreg_winreg_QueryInfoKey_secdescsize
);
2848 winreg_dissect_element_QueryInfoKey_secdescsize_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2850 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryInfoKey_secdescsize
, 0);
2856 winreg_dissect_element_QueryInfoKey_last_changed_time(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
, winreg_dissect_element_QueryInfoKey_last_changed_time_
, NDR_POINTER_REF
, "Pointer to Last Changed Time (NTTIME)",hf_winreg_winreg_QueryInfoKey_last_changed_time
);
2864 winreg_dissect_element_QueryInfoKey_last_changed_time_(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
= dissect_ndr_nt_NTTIME(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryInfoKey_last_changed_time
);
2871 /* IDL: WERROR winreg_QueryInfoKey( */
2872 /* IDL: [in] [ref] policy_handle *handle, */
2873 /* IDL: [in] [out] [ref] winreg_String *classname, */
2874 /* IDL: [out] [ref] uint32 *num_subkeys, */
2875 /* IDL: [out] [ref] uint32 *max_subkeylen, */
2876 /* IDL: [out] [ref] uint32 *max_classlen, */
2877 /* IDL: [out] [ref] uint32 *num_values, */
2878 /* IDL: [out] [ref] uint32 *max_valnamelen, */
2879 /* IDL: [out] [ref] uint32 *max_valbufsize, */
2880 /* IDL: [out] [ref] uint32 *secdescsize, */
2881 /* IDL: [out] [ref] NTTIME *last_changed_time */
2885 winreg_dissect_QueryInfoKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2889 di
->dcerpc_procedure_name
="QueryInfoKey";
2890 offset
= winreg_dissect_element_QueryInfoKey_classname(tvb
, offset
, pinfo
, tree
, di
, drep
);
2891 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2893 offset
= winreg_dissect_element_QueryInfoKey_num_subkeys(tvb
, offset
, pinfo
, tree
, di
, drep
);
2894 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2896 offset
= winreg_dissect_element_QueryInfoKey_max_subkeylen(tvb
, offset
, pinfo
, tree
, di
, drep
);
2897 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2899 offset
= winreg_dissect_element_QueryInfoKey_max_classlen(tvb
, offset
, pinfo
, tree
, di
, drep
);
2900 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2902 offset
= winreg_dissect_element_QueryInfoKey_num_values(tvb
, offset
, pinfo
, tree
, di
, drep
);
2903 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2905 offset
= winreg_dissect_element_QueryInfoKey_max_valnamelen(tvb
, offset
, pinfo
, tree
, di
, drep
);
2906 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2908 offset
= winreg_dissect_element_QueryInfoKey_max_valbufsize(tvb
, offset
, pinfo
, tree
, di
, drep
);
2909 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2911 offset
= winreg_dissect_element_QueryInfoKey_secdescsize(tvb
, offset
, pinfo
, tree
, di
, drep
);
2912 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2914 offset
= winreg_dissect_element_QueryInfoKey_last_changed_time(tvb
, offset
, pinfo
, tree
, di
, drep
);
2915 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2917 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
2920 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
2926 winreg_dissect_QueryInfoKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2928 di
->dcerpc_procedure_name
="QueryInfoKey";
2929 offset
= winreg_dissect_element_QueryInfoKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
2930 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2931 offset
= winreg_dissect_element_QueryInfoKey_classname(tvb
, offset
, pinfo
, tree
, di
, drep
);
2932 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
2937 winreg_dissect_element_QueryValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2939 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryValue_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
2945 winreg_dissect_element_QueryValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2947 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
2953 winreg_dissect_element_QueryValue_value_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2955 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryValue_value_name_
, NDR_POINTER_REF
, "Pointer to Value Name (winreg_String)",hf_winreg_winreg_QueryValue_value_name
);
2961 winreg_dissect_element_QueryValue_value_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2963 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_QueryValue_value_name
);
2969 winreg_dissect_element_QueryValue_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2971 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryValue_type_
, NDR_POINTER_UNIQUE
, "Pointer to Type (winreg_Type)",hf_winreg_winreg_QueryValue_type
);
2977 winreg_dissect_element_QueryValue_type_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2979 offset
=misc_dissect_enum_winreg_Type(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryValue_type
, 0);
2985 winreg_dissect_element_QueryValue_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2987 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryValue_data_
, NDR_POINTER_UNIQUE
, "Pointer to Data (uint8)",hf_winreg_winreg_QueryValue_data
);
2993 winreg_dissect_element_QueryValue_data_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
2995 struct ndr_generic_array nga
= { .is_conformant
= false, };
2997 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
2999 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3001 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_QueryValue_data__
);
3007 winreg_dissect_element_QueryValue_data__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3009 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryValue_data
, 0);
3015 winreg_dissect_element_QueryValue_data_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3017 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryValue_data_size_
, NDR_POINTER_UNIQUE
, "Pointer to Data Size (uint32)",hf_winreg_winreg_QueryValue_data_size
);
3023 winreg_dissect_element_QueryValue_data_size_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3025 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryValue_data_size
, 0);
3031 winreg_dissect_element_QueryValue_data_length(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3033 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryValue_data_length_
, NDR_POINTER_UNIQUE
, "Pointer to Data Length (uint32)",hf_winreg_winreg_QueryValue_data_length
);
3039 winreg_dissect_element_QueryValue_data_length_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3041 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryValue_data_length
, 0);
3046 /* IDL: WERROR winreg_QueryValue( */
3047 /* IDL: [in] [ref] policy_handle *handle, */
3048 /* IDL: [in] [ref] winreg_String *value_name, */
3049 /* IDL: [in] [out] [unique(1)] winreg_Type *type, */
3050 /* IDL: [in] [length_is(data_length?*data_length:0)] [out] [range(0,0x4000000)] [size_is(data_size?*data_size:0)] [unique(1)] uint8 *data, */
3051 /* IDL: [in] [out] [unique(1)] uint32 *data_size, */
3052 /* IDL: [in] [out] [unique(1)] uint32 *data_length */
3056 winreg_dissect_QueryValue_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3060 di
->dcerpc_procedure_name
="QueryValue";
3061 offset
= winreg_dissect_element_QueryValue_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3062 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3064 offset
= winreg_dissect_element_QueryValue_data(tvb
, offset
, pinfo
, tree
, di
, drep
);
3065 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3067 offset
= winreg_dissect_element_QueryValue_data_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
3068 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3070 offset
= winreg_dissect_element_QueryValue_data_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
3071 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3073 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3076 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3082 winreg_dissect_QueryValue_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3084 di
->dcerpc_procedure_name
="QueryValue";
3085 offset
= winreg_dissect_element_QueryValue_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3086 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3087 offset
= winreg_dissect_element_QueryValue_value_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3088 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3089 offset
= winreg_dissect_element_QueryValue_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3090 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3091 offset
= winreg_dissect_element_QueryValue_data(tvb
, offset
, pinfo
, tree
, di
, drep
);
3092 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3093 offset
= winreg_dissect_element_QueryValue_data_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
3094 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3095 offset
= winreg_dissect_element_QueryValue_data_length(tvb
, offset
, pinfo
, tree
, di
, drep
);
3096 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3101 winreg_dissect_element_ReplaceKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3103 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_ReplaceKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_winreg_ReplaceKey_handle
);
3109 winreg_dissect_element_ReplaceKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3111 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_ReplaceKey_handle
, 0);
3117 winreg_dissect_element_ReplaceKey_subkey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3119 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_ReplaceKey_subkey_
, NDR_POINTER_REF
, "Pointer to Subkey (winreg_String)",hf_winreg_winreg_ReplaceKey_subkey
);
3125 winreg_dissect_element_ReplaceKey_subkey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3127 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_ReplaceKey_subkey
);
3133 winreg_dissect_element_ReplaceKey_new_file(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3135 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_ReplaceKey_new_file_
, NDR_POINTER_REF
, "Pointer to New File (winreg_String)",hf_winreg_winreg_ReplaceKey_new_file
);
3141 winreg_dissect_element_ReplaceKey_new_file_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3143 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_ReplaceKey_new_file
);
3149 winreg_dissect_element_ReplaceKey_old_file(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3151 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_ReplaceKey_old_file_
, NDR_POINTER_REF
, "Pointer to Old File (winreg_String)",hf_winreg_winreg_ReplaceKey_old_file
);
3157 winreg_dissect_element_ReplaceKey_old_file_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3159 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_ReplaceKey_old_file
);
3164 /* IDL: WERROR winreg_ReplaceKey( */
3165 /* IDL: [in] [ref] policy_handle *handle, */
3166 /* IDL: [in] [ref] winreg_String *subkey, */
3167 /* IDL: [in] [ref] winreg_String *new_file, */
3168 /* IDL: [in] [ref] winreg_String *old_file */
3172 winreg_dissect_ReplaceKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3176 di
->dcerpc_procedure_name
="ReplaceKey";
3177 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3180 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3186 winreg_dissect_ReplaceKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3188 di
->dcerpc_procedure_name
="ReplaceKey";
3189 offset
= winreg_dissect_element_ReplaceKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3190 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3191 offset
= winreg_dissect_element_ReplaceKey_subkey(tvb
, offset
, pinfo
, tree
, di
, drep
);
3192 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3193 offset
= winreg_dissect_element_ReplaceKey_new_file(tvb
, offset
, pinfo
, tree
, di
, drep
);
3194 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3195 offset
= winreg_dissect_element_ReplaceKey_old_file(tvb
, offset
, pinfo
, tree
, di
, drep
);
3196 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3201 winreg_dissect_element_RestoreKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3203 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_RestoreKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_winreg_RestoreKey_handle
);
3209 winreg_dissect_element_RestoreKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3211 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_RestoreKey_handle
, 0);
3217 winreg_dissect_element_RestoreKey_filename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3219 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_RestoreKey_filename_
, NDR_POINTER_REF
, "Pointer to Filename (winreg_String)",hf_winreg_winreg_RestoreKey_filename
);
3225 winreg_dissect_element_RestoreKey_filename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3227 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_RestoreKey_filename
);
3233 winreg_dissect_element_RestoreKey_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3235 offset
= winreg_dissect_bitmap_RestoreKeyFlags(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_RestoreKey_flags
, 0);
3240 /* IDL: WERROR winreg_RestoreKey( */
3241 /* IDL: [in] [ref] policy_handle *handle, */
3242 /* IDL: [in] [ref] winreg_String *filename, */
3243 /* IDL: [in] winreg_RestoreKeyFlags flags */
3247 winreg_dissect_RestoreKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3251 di
->dcerpc_procedure_name
="RestoreKey";
3252 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3255 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3261 winreg_dissect_RestoreKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3263 di
->dcerpc_procedure_name
="RestoreKey";
3264 offset
= winreg_dissect_element_RestoreKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3265 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3266 offset
= winreg_dissect_element_RestoreKey_filename(tvb
, offset
, pinfo
, tree
, di
, drep
);
3267 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3268 offset
= winreg_dissect_element_RestoreKey_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
3269 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3274 winreg_dissect_element_SaveKey_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3276 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SaveKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_winreg_SaveKey_handle
);
3282 winreg_dissect_element_SaveKey_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3284 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_SaveKey_handle
, 0);
3290 winreg_dissect_element_SaveKey_filename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3292 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SaveKey_filename_
, NDR_POINTER_REF
, "Pointer to Filename (winreg_String)",hf_winreg_winreg_SaveKey_filename
);
3298 winreg_dissect_element_SaveKey_filename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3300 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_SaveKey_filename
);
3306 winreg_dissect_element_SaveKey_sec_attrib(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
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SaveKey_sec_attrib_
, NDR_POINTER_UNIQUE
, "Pointer to Sec Attrib (KeySecurityAttribute)",hf_winreg_winreg_SaveKey_sec_attrib
);
3314 winreg_dissect_element_SaveKey_sec_attrib_(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
= winreg_dissect_struct_KeySecurityAttribute(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_SaveKey_sec_attrib
,0);
3321 /* IDL: WERROR winreg_SaveKey( */
3322 /* IDL: [in] [ref] policy_handle *handle, */
3323 /* IDL: [in] [ref] winreg_String *filename, */
3324 /* IDL: [in] [unique(1)] KeySecurityAttribute *sec_attrib */
3328 winreg_dissect_SaveKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3332 di
->dcerpc_procedure_name
="SaveKey";
3333 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3336 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3342 winreg_dissect_SaveKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3344 di
->dcerpc_procedure_name
="SaveKey";
3345 offset
= winreg_dissect_element_SaveKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3346 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3347 offset
= winreg_dissect_element_SaveKey_filename(tvb
, offset
, pinfo
, tree
, di
, drep
);
3348 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3349 offset
= winreg_dissect_element_SaveKey_sec_attrib(tvb
, offset
, pinfo
, tree
, di
, drep
);
3350 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3355 winreg_dissect_element_SetKeySecurity_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3357 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SetKeySecurity_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
3363 winreg_dissect_element_SetKeySecurity_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3365 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
3371 winreg_dissect_element_SetKeySecurity_sec_info(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3373 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_GetKeySecurity_sec_info
, NULL
);
3379 winreg_dissect_element_SetKeySecurity_sd(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3381 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SetKeySecurity_sd_
, NDR_POINTER_REF
, "Pointer to Sd (KeySecurityData)",hf_winreg_sd
);
3387 winreg_dissect_element_SetKeySecurity_sd_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3389 offset
= winreg_dissect_struct_KeySecurityData(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_sd
,0);
3394 /* IDL: WERROR winreg_SetKeySecurity( */
3395 /* IDL: [in] [ref] policy_handle *handle, */
3396 /* IDL: [in] security_secinfo sec_info, */
3397 /* IDL: [in] [ref] KeySecurityData *sd */
3401 winreg_dissect_SetKeySecurity_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3405 di
->dcerpc_procedure_name
="SetKeySecurity";
3406 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3409 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3415 winreg_dissect_SetKeySecurity_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3417 di
->dcerpc_procedure_name
="SetKeySecurity";
3418 offset
= winreg_dissect_element_SetKeySecurity_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3419 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3420 offset
= winreg_dissect_element_SetKeySecurity_sec_info(tvb
, offset
, pinfo
, tree
, di
, drep
);
3421 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3422 offset
= winreg_dissect_element_SetKeySecurity_sd(tvb
, offset
, pinfo
, tree
, di
, drep
);
3423 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3428 winreg_dissect_element_SetValue_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3430 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SetValue_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
3436 winreg_dissect_element_SetValue_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3438 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
3444 winreg_dissect_element_SetValue_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3446 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 2|PIDL_SET_COL_INFO
, hf_winreg_winreg_SetValue_name
);
3452 winreg_dissect_element_SetValue_type(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3454 offset
=misc_dissect_enum_winreg_Type(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_SetValue_type
, 0);
3460 winreg_dissect_element_SetValue_data(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3462 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SetValue_data_
, NDR_POINTER_REF
, "Pointer to Data (uint8)",hf_winreg_winreg_SetValue_data
);
3468 winreg_dissect_element_SetValue_data_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3470 struct ndr_generic_array nga
= { .is_conformant
= false, };
3472 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3474 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_SetValue_data__
);
3480 winreg_dissect_element_SetValue_data__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3482 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_SetValue_data
, 0);
3488 winreg_dissect_element_SetValue_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3490 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_SetValue_size
, 0);
3495 /* IDL: WERROR winreg_SetValue( */
3496 /* IDL: [in] [ref] policy_handle *handle, */
3497 /* IDL: [in] winreg_String name, */
3498 /* IDL: [in] winreg_Type type, */
3499 /* IDL: [in] [ref] [size_is(size)] uint8 *data, */
3500 /* IDL: [in] uint32 size */
3504 winreg_dissect_SetValue_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3508 di
->dcerpc_procedure_name
="SetValue";
3509 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3512 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3518 winreg_dissect_SetValue_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3520 di
->dcerpc_procedure_name
="SetValue";
3521 offset
= winreg_dissect_element_SetValue_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3522 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3523 offset
= winreg_dissect_element_SetValue_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3524 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3525 offset
= winreg_dissect_element_SetValue_type(tvb
, offset
, pinfo
, tree
, di
, drep
);
3526 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3527 offset
= winreg_dissect_element_SetValue_data(tvb
, offset
, pinfo
, tree
, di
, drep
);
3528 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3529 offset
= winreg_dissect_element_SetValue_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
3530 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3535 winreg_dissect_element_UnLoadKey_handle(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
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_UnLoadKey_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_winreg_UnLoadKey_handle
);
3543 winreg_dissect_element_UnLoadKey_handle_(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
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_UnLoadKey_handle
, 0);
3551 winreg_dissect_element_UnLoadKey_subkey(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3553 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_UnLoadKey_subkey_
, NDR_POINTER_REF
, "Pointer to Subkey (winreg_String)",hf_winreg_winreg_UnLoadKey_subkey
);
3559 winreg_dissect_element_UnLoadKey_subkey_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3561 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_UnLoadKey_subkey
);
3566 /* IDL: WERROR winreg_UnLoadKey( */
3567 /* IDL: [in] [ref] policy_handle *handle, */
3568 /* IDL: [in] [ref] winreg_String *subkey */
3572 winreg_dissect_UnLoadKey_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3576 di
->dcerpc_procedure_name
="UnLoadKey";
3577 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3580 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3586 winreg_dissect_UnLoadKey_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3588 di
->dcerpc_procedure_name
="UnLoadKey";
3589 offset
= winreg_dissect_element_UnLoadKey_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3590 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3591 offset
= winreg_dissect_element_UnLoadKey_subkey(tvb
, offset
, pinfo
, tree
, di
, drep
);
3592 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3597 winreg_dissect_element_InitiateSystemShutdown_hostname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3599 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_InitiateSystemShutdown_hostname_
, NDR_POINTER_UNIQUE
, "Pointer to Hostname (uint16)",hf_winreg_winreg_InitiateSystemShutdown_hostname
);
3605 winreg_dissect_element_InitiateSystemShutdown_hostname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3607 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdown_hostname
, 0);
3613 winreg_dissect_element_InitiateSystemShutdown_message(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3615 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_InitiateSystemShutdown_message_
, NDR_POINTER_UNIQUE
, "Pointer to Message (lsa_StringLarge)",hf_winreg_winreg_InitiateSystemShutdown_message
);
3621 winreg_dissect_element_InitiateSystemShutdown_message_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3623 offset
=lsarpc_dissect_struct_lsa_StringLarge(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdown_message
, 0);
3629 winreg_dissect_element_InitiateSystemShutdown_timeout(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3631 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdown_timeout
, 0);
3637 winreg_dissect_element_InitiateSystemShutdown_force_apps(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3639 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdown_force_apps
, 0);
3645 winreg_dissect_element_InitiateSystemShutdown_do_reboot(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3647 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdown_do_reboot
, 0);
3652 /* IDL: WERROR winreg_InitiateSystemShutdown( */
3653 /* IDL: [in] [unique(1)] uint16 *hostname, */
3654 /* IDL: [in] [unique(1)] lsa_StringLarge *message, */
3655 /* IDL: [in] uint32 timeout, */
3656 /* IDL: [in] uint8 force_apps, */
3657 /* IDL: [in] uint8 do_reboot */
3661 winreg_dissect_InitiateSystemShutdown_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3665 di
->dcerpc_procedure_name
="InitiateSystemShutdown";
3666 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3669 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3675 winreg_dissect_InitiateSystemShutdown_request(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
="InitiateSystemShutdown";
3678 offset
= winreg_dissect_element_InitiateSystemShutdown_hostname(tvb
, offset
, pinfo
, tree
, di
, drep
);
3679 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3680 offset
= winreg_dissect_element_InitiateSystemShutdown_message(tvb
, offset
, pinfo
, tree
, di
, drep
);
3681 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3682 offset
= winreg_dissect_element_InitiateSystemShutdown_timeout(tvb
, offset
, pinfo
, tree
, di
, drep
);
3683 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3684 offset
= winreg_dissect_element_InitiateSystemShutdown_force_apps(tvb
, offset
, pinfo
, tree
, di
, drep
);
3685 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3686 offset
= winreg_dissect_element_InitiateSystemShutdown_do_reboot(tvb
, offset
, pinfo
, tree
, di
, drep
);
3687 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3692 winreg_dissect_element_AbortSystemShutdown_server(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3694 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_AbortSystemShutdown_server_
, NDR_POINTER_UNIQUE
, "Pointer to Server (uint16)",hf_winreg_winreg_AbortSystemShutdown_server
);
3700 winreg_dissect_element_AbortSystemShutdown_server_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3702 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_AbortSystemShutdown_server
, 0);
3707 /* IDL: WERROR winreg_AbortSystemShutdown( */
3708 /* IDL: [in] [unique(1)] uint16 *server */
3712 winreg_dissect_AbortSystemShutdown_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3716 di
->dcerpc_procedure_name
="AbortSystemShutdown";
3717 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3720 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3726 winreg_dissect_AbortSystemShutdown_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3728 di
->dcerpc_procedure_name
="AbortSystemShutdown";
3729 offset
= winreg_dissect_element_AbortSystemShutdown_server(tvb
, offset
, pinfo
, tree
, di
, drep
);
3730 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3735 winreg_dissect_element_GetVersion_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3737 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_GetVersion_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
3743 winreg_dissect_element_GetVersion_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3745 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, 0);
3751 winreg_dissect_element_GetVersion_version(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3753 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_GetVersion_version_
, NDR_POINTER_REF
, "Pointer to Version (uint32)",hf_winreg_winreg_GetVersion_version
);
3759 winreg_dissect_element_GetVersion_version_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3761 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_GetVersion_version
, 0);
3766 /* IDL: WERROR winreg_GetVersion( */
3767 /* IDL: [in] [ref] policy_handle *handle, */
3768 /* IDL: [out] [ref] uint32 *version */
3772 winreg_dissect_GetVersion_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3776 di
->dcerpc_procedure_name
="GetVersion";
3777 offset
= winreg_dissect_element_GetVersion_version(tvb
, offset
, pinfo
, tree
, di
, drep
);
3778 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3780 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3783 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3789 winreg_dissect_GetVersion_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3791 di
->dcerpc_procedure_name
="GetVersion";
3792 offset
= winreg_dissect_element_GetVersion_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3793 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3798 winreg_dissect_element_OpenHKCC_system_name(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
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKCC_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
3806 winreg_dissect_element_OpenHKCC_system_name_(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
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
3814 winreg_dissect_element_OpenHKCC_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_
)
3816 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
, 0);
3822 winreg_dissect_element_OpenHKCC_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3824 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKCC_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
3830 winreg_dissect_element_OpenHKCC_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3832 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
3837 /* IDL: WERROR winreg_OpenHKCC( */
3838 /* IDL: [in] [unique(1)] uint16 *system_name, */
3839 /* IDL: [in] winreg_AccessMask access_mask, */
3840 /* IDL: [out] [ref] policy_handle *handle */
3844 winreg_dissect_OpenHKCC_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3848 di
->dcerpc_procedure_name
="OpenHKCC";
3849 offset
= winreg_dissect_element_OpenHKCC_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3850 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3852 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3855 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3861 winreg_dissect_OpenHKCC_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3863 di
->dcerpc_procedure_name
="OpenHKCC";
3864 offset
= winreg_dissect_element_OpenHKCC_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3865 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3866 offset
= winreg_dissect_element_OpenHKCC_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
3867 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3872 winreg_dissect_element_OpenHKDD_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3874 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKDD_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
3880 winreg_dissect_element_OpenHKDD_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3882 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
3888 winreg_dissect_element_OpenHKDD_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_
)
3890 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
, 0);
3896 winreg_dissect_element_OpenHKDD_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3898 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKDD_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
3904 winreg_dissect_element_OpenHKDD_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3906 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
3911 /* IDL: WERROR winreg_OpenHKDD( */
3912 /* IDL: [in] [unique(1)] uint16 *system_name, */
3913 /* IDL: [in] winreg_AccessMask access_mask, */
3914 /* IDL: [out] [ref] policy_handle *handle */
3918 winreg_dissect_OpenHKDD_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3922 di
->dcerpc_procedure_name
="OpenHKDD";
3923 offset
= winreg_dissect_element_OpenHKDD_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
3924 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3926 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
3929 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
3935 winreg_dissect_OpenHKDD_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3937 di
->dcerpc_procedure_name
="OpenHKDD";
3938 offset
= winreg_dissect_element_OpenHKDD_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
3939 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3940 offset
= winreg_dissect_element_OpenHKDD_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
3941 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
3946 winreg_dissect_element_QueryMultipleValues_key_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3948 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues_key_handle_
, NDR_POINTER_REF
, "Pointer to Key Handle (policy_handle)",hf_winreg_winreg_QueryMultipleValues_key_handle
);
3954 winreg_dissect_element_QueryMultipleValues_key_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3956 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues_key_handle
, 0);
3962 winreg_dissect_element_QueryMultipleValues_values_in(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3964 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues_values_in_
, NDR_POINTER_REF
, "Pointer to Values In (QueryMultipleValue)",hf_winreg_winreg_QueryMultipleValues_values_in
);
3970 winreg_dissect_element_QueryMultipleValues_values_in_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3972 struct ndr_generic_array nga
= { .is_conformant
= false, };
3974 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3976 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
3978 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_QueryMultipleValues_values_in__
);
3984 winreg_dissect_element_QueryMultipleValues_values_in__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3986 offset
= winreg_dissect_struct_QueryMultipleValue(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_QueryMultipleValues_values_in
,0);
3992 winreg_dissect_element_QueryMultipleValues_values_out(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
3994 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues_values_out_
, NDR_POINTER_REF
, "Pointer to Values Out (QueryMultipleValue)",hf_winreg_winreg_QueryMultipleValues_values_out
);
4000 winreg_dissect_element_QueryMultipleValues_values_out_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4002 struct ndr_generic_array nga
= { .is_conformant
= false, };
4004 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4006 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4008 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_QueryMultipleValues_values_out__
);
4014 winreg_dissect_element_QueryMultipleValues_values_out__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4016 offset
= winreg_dissect_struct_QueryMultipleValue(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_QueryMultipleValues_values_out
,0);
4022 winreg_dissect_element_QueryMultipleValues_num_values(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4024 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues_num_values
, 0);
4030 winreg_dissect_element_QueryMultipleValues_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4032 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues_buffer_
, NDR_POINTER_UNIQUE
, "Pointer to Buffer (uint8)",hf_winreg_winreg_QueryMultipleValues_buffer
);
4038 winreg_dissect_element_QueryMultipleValues_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4040 struct ndr_generic_array nga
= { .is_conformant
= false, };
4042 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4044 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4046 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_QueryMultipleValues_buffer__
);
4052 winreg_dissect_element_QueryMultipleValues_buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4054 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues_buffer
, 0);
4060 winreg_dissect_element_QueryMultipleValues_buffer_size(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4062 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues_buffer_size_
, NDR_POINTER_REF
, "Pointer to Buffer Size (uint32)",hf_winreg_winreg_QueryMultipleValues_buffer_size
);
4068 winreg_dissect_element_QueryMultipleValues_buffer_size_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4070 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues_buffer_size
, 0);
4075 /* IDL: WERROR winreg_QueryMultipleValues( */
4076 /* IDL: [in] [ref] policy_handle *key_handle, */
4077 /* IDL: [in] [length_is(num_values)] [ref] [size_is(num_values)] QueryMultipleValue *values_in, */
4078 /* IDL: [length_is(num_values)] [out] [ref] [size_is(num_values)] QueryMultipleValue *values_out, */
4079 /* IDL: [in] uint32 num_values, */
4080 /* IDL: [in] [length_is(*buffer_size)] [out] [size_is(*buffer_size)] [unique(1)] uint8 *buffer, */
4081 /* IDL: [in] [out] [ref] uint32 *buffer_size */
4085 winreg_dissect_QueryMultipleValues_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4089 di
->dcerpc_procedure_name
="QueryMultipleValues";
4090 offset
= winreg_dissect_element_QueryMultipleValues_values_out(tvb
, offset
, pinfo
, tree
, di
, drep
);
4091 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4093 offset
= winreg_dissect_element_QueryMultipleValues_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
4094 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4096 offset
= winreg_dissect_element_QueryMultipleValues_buffer_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
4097 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4099 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
4102 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4108 winreg_dissect_QueryMultipleValues_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4110 di
->dcerpc_procedure_name
="QueryMultipleValues";
4111 offset
= winreg_dissect_element_QueryMultipleValues_key_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4112 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4113 offset
= winreg_dissect_element_QueryMultipleValues_values_in(tvb
, offset
, pinfo
, tree
, di
, drep
);
4114 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4115 offset
= winreg_dissect_element_QueryMultipleValues_num_values(tvb
, offset
, pinfo
, tree
, di
, drep
);
4116 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4117 offset
= winreg_dissect_element_QueryMultipleValues_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
4118 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4119 offset
= winreg_dissect_element_QueryMultipleValues_buffer_size(tvb
, offset
, pinfo
, tree
, di
, drep
);
4120 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4125 winreg_dissect_element_InitiateSystemShutdownEx_hostname(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4127 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_InitiateSystemShutdownEx_hostname_
, NDR_POINTER_UNIQUE
, "Pointer to Hostname (uint16)",hf_winreg_winreg_InitiateSystemShutdownEx_hostname
);
4133 winreg_dissect_element_InitiateSystemShutdownEx_hostname_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4135 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdownEx_hostname
, 0);
4141 winreg_dissect_element_InitiateSystemShutdownEx_message(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4143 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_InitiateSystemShutdownEx_message_
, NDR_POINTER_UNIQUE
, "Pointer to Message (lsa_StringLarge)",hf_winreg_winreg_InitiateSystemShutdownEx_message
);
4149 winreg_dissect_element_InitiateSystemShutdownEx_message_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4151 offset
=lsarpc_dissect_struct_lsa_StringLarge(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdownEx_message
, 0);
4157 winreg_dissect_element_InitiateSystemShutdownEx_timeout(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4159 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdownEx_timeout
, 0);
4165 winreg_dissect_element_InitiateSystemShutdownEx_force_apps(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4167 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdownEx_force_apps
, 0);
4173 winreg_dissect_element_InitiateSystemShutdownEx_do_reboot(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4175 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdownEx_do_reboot
, 0);
4181 winreg_dissect_element_InitiateSystemShutdownEx_reason(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4183 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_InitiateSystemShutdownEx_reason
, 0);
4188 /* IDL: WERROR winreg_InitiateSystemShutdownEx( */
4189 /* IDL: [in] [unique(1)] uint16 *hostname, */
4190 /* IDL: [in] [unique(1)] lsa_StringLarge *message, */
4191 /* IDL: [in] uint32 timeout, */
4192 /* IDL: [in] uint8 force_apps, */
4193 /* IDL: [in] uint8 do_reboot, */
4194 /* IDL: [in] uint32 reason */
4198 winreg_dissect_InitiateSystemShutdownEx_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4202 di
->dcerpc_procedure_name
="InitiateSystemShutdownEx";
4203 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
4206 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4212 winreg_dissect_InitiateSystemShutdownEx_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4214 di
->dcerpc_procedure_name
="InitiateSystemShutdownEx";
4215 offset
= winreg_dissect_element_InitiateSystemShutdownEx_hostname(tvb
, offset
, pinfo
, tree
, di
, drep
);
4216 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4217 offset
= winreg_dissect_element_InitiateSystemShutdownEx_message(tvb
, offset
, pinfo
, tree
, di
, drep
);
4218 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4219 offset
= winreg_dissect_element_InitiateSystemShutdownEx_timeout(tvb
, offset
, pinfo
, tree
, di
, drep
);
4220 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4221 offset
= winreg_dissect_element_InitiateSystemShutdownEx_force_apps(tvb
, offset
, pinfo
, tree
, di
, drep
);
4222 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4223 offset
= winreg_dissect_element_InitiateSystemShutdownEx_do_reboot(tvb
, offset
, pinfo
, tree
, di
, drep
);
4224 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4225 offset
= winreg_dissect_element_InitiateSystemShutdownEx_reason(tvb
, offset
, pinfo
, tree
, di
, drep
);
4226 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4231 winreg_dissect_element_SaveKeyEx_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4233 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SaveKeyEx_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_winreg_SaveKeyEx_handle
);
4239 winreg_dissect_element_SaveKeyEx_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4241 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_SaveKeyEx_handle
, 0);
4247 winreg_dissect_element_SaveKeyEx_filename(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4249 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SaveKeyEx_filename_
, NDR_POINTER_REF
, "Pointer to Filename (winreg_String)",hf_winreg_winreg_SaveKeyEx_filename
);
4255 winreg_dissect_element_SaveKeyEx_filename_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4257 offset
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_SaveKeyEx_filename
);
4263 winreg_dissect_element_SaveKeyEx_sec_attrib(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4265 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_SaveKeyEx_sec_attrib_
, NDR_POINTER_UNIQUE
, "Pointer to Sec Attrib (KeySecurityAttribute)",hf_winreg_winreg_SaveKeyEx_sec_attrib
);
4271 winreg_dissect_element_SaveKeyEx_sec_attrib_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4273 offset
= winreg_dissect_struct_KeySecurityAttribute(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_SaveKeyEx_sec_attrib
,0);
4279 winreg_dissect_element_SaveKeyEx_flags(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4281 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_SaveKeyEx_flags
, 0);
4286 /* IDL: WERROR winreg_SaveKeyEx( */
4287 /* IDL: [in] [ref] policy_handle *handle, */
4288 /* IDL: [in] [ref] winreg_String *filename, */
4289 /* IDL: [in] [unique(1)] KeySecurityAttribute *sec_attrib, */
4290 /* IDL: [in] uint32 flags */
4294 winreg_dissect_SaveKeyEx_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4298 di
->dcerpc_procedure_name
="SaveKeyEx";
4299 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
4302 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4308 winreg_dissect_SaveKeyEx_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4310 di
->dcerpc_procedure_name
="SaveKeyEx";
4311 offset
= winreg_dissect_element_SaveKeyEx_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4312 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4313 offset
= winreg_dissect_element_SaveKeyEx_filename(tvb
, offset
, pinfo
, tree
, di
, drep
);
4314 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4315 offset
= winreg_dissect_element_SaveKeyEx_sec_attrib(tvb
, offset
, pinfo
, tree
, di
, drep
);
4316 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4317 offset
= winreg_dissect_element_SaveKeyEx_flags(tvb
, offset
, pinfo
, tree
, di
, drep
);
4318 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4323 winreg_dissect_element_OpenHKPT_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4325 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKPT_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
4331 winreg_dissect_element_OpenHKPT_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4333 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
4339 winreg_dissect_element_OpenHKPT_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_
)
4341 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
, 0);
4347 winreg_dissect_element_OpenHKPT_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4349 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKPT_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
4355 winreg_dissect_element_OpenHKPT_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4357 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
4362 /* IDL: WERROR winreg_OpenHKPT( */
4363 /* IDL: [in] [unique(1)] uint16 *system_name, */
4364 /* IDL: [in] winreg_AccessMask access_mask, */
4365 /* IDL: [out] [ref] policy_handle *handle */
4369 winreg_dissect_OpenHKPT_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4373 di
->dcerpc_procedure_name
="OpenHKPT";
4374 offset
= winreg_dissect_element_OpenHKPT_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4375 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4377 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
4380 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4386 winreg_dissect_OpenHKPT_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4388 di
->dcerpc_procedure_name
="OpenHKPT";
4389 offset
= winreg_dissect_element_OpenHKPT_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4390 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4391 offset
= winreg_dissect_element_OpenHKPT_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
4392 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4397 winreg_dissect_element_OpenHKPN_system_name(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4399 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKPN_system_name_
, NDR_POINTER_UNIQUE
, "Pointer to System Name (uint16)",hf_winreg_system_name
);
4405 winreg_dissect_element_OpenHKPN_system_name_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4407 offset
= PIDL_dissect_uint16(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_system_name
, 0);
4413 winreg_dissect_element_OpenHKPN_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_
)
4415 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_access_mask
, 0);
4421 winreg_dissect_element_OpenHKPN_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4423 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_OpenHKPN_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_handle
);
4429 winreg_dissect_element_OpenHKPN_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4431 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_handle
, PIDL_POLHND_OPEN
);
4436 /* IDL: WERROR winreg_OpenHKPN( */
4437 /* IDL: [in] [unique(1)] uint16 *system_name, */
4438 /* IDL: [in] winreg_AccessMask access_mask, */
4439 /* IDL: [out] [ref] policy_handle *handle */
4443 winreg_dissect_OpenHKPN_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4447 di
->dcerpc_procedure_name
="OpenHKPN";
4448 offset
= winreg_dissect_element_OpenHKPN_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4449 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4451 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
4454 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4460 winreg_dissect_OpenHKPN_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4462 di
->dcerpc_procedure_name
="OpenHKPN";
4463 offset
= winreg_dissect_element_OpenHKPN_system_name(tvb
, offset
, pinfo
, tree
, di
, drep
);
4464 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4465 offset
= winreg_dissect_element_OpenHKPN_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
4466 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4471 winreg_dissect_element_QueryMultipleValues2_key_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4473 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues2_key_handle_
, NDR_POINTER_REF
, "Pointer to Key Handle (policy_handle)",hf_winreg_winreg_QueryMultipleValues2_key_handle
);
4479 winreg_dissect_element_QueryMultipleValues2_key_handle_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4481 offset
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues2_key_handle
, 0);
4487 winreg_dissect_element_QueryMultipleValues2_values_in(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4489 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues2_values_in_
, NDR_POINTER_REF
, "Pointer to Values In (QueryMultipleValue)",hf_winreg_winreg_QueryMultipleValues2_values_in
);
4495 winreg_dissect_element_QueryMultipleValues2_values_in_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4497 struct ndr_generic_array nga
= { .is_conformant
= false, };
4499 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4501 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4503 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_QueryMultipleValues2_values_in__
);
4509 winreg_dissect_element_QueryMultipleValues2_values_in__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4511 offset
= winreg_dissect_struct_QueryMultipleValue(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_QueryMultipleValues2_values_in
,0);
4517 winreg_dissect_element_QueryMultipleValues2_values_out(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4519 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues2_values_out_
, NDR_POINTER_REF
, "Pointer to Values Out (QueryMultipleValue)",hf_winreg_winreg_QueryMultipleValues2_values_out
);
4525 winreg_dissect_element_QueryMultipleValues2_values_out_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4527 struct ndr_generic_array nga
= { .is_conformant
= false, };
4529 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4531 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4533 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_QueryMultipleValues2_values_out__
);
4539 winreg_dissect_element_QueryMultipleValues2_values_out__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4541 offset
= winreg_dissect_struct_QueryMultipleValue(tvb
,offset
,pinfo
,tree
,di
,drep
,hf_winreg_winreg_QueryMultipleValues2_values_out
,0);
4547 winreg_dissect_element_QueryMultipleValues2_num_values(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4549 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues2_num_values
, 0);
4555 winreg_dissect_element_QueryMultipleValues2_buffer(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4557 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues2_buffer_
, NDR_POINTER_UNIQUE
, "Pointer to Buffer (uint8)",hf_winreg_winreg_QueryMultipleValues2_buffer
);
4563 winreg_dissect_element_QueryMultipleValues2_buffer_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4565 struct ndr_generic_array nga
= { .is_conformant
= false, };
4567 offset
= dissect_ndr_conformant_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4569 offset
= dissect_ndr_varying_array_hdr(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
);
4571 offset
= dissect_ndr_generic_array_bytes(tvb
, offset
, pinfo
, tree
, di
, drep
, &nga
, winreg_dissect_element_QueryMultipleValues2_buffer__
);
4577 winreg_dissect_element_QueryMultipleValues2_buffer__(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4579 offset
= PIDL_dissect_uint8(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues2_buffer
, 0);
4585 winreg_dissect_element_QueryMultipleValues2_offered(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4587 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues2_offered_
, NDR_POINTER_REF
, "Pointer to Offered (uint32)",hf_winreg_winreg_QueryMultipleValues2_offered
);
4593 winreg_dissect_element_QueryMultipleValues2_offered_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4595 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues2_offered
, 0);
4601 winreg_dissect_element_QueryMultipleValues2_needed(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4603 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_QueryMultipleValues2_needed_
, NDR_POINTER_REF
, "Pointer to Needed (uint32)",hf_winreg_winreg_QueryMultipleValues2_needed
);
4609 winreg_dissect_element_QueryMultipleValues2_needed_(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4611 offset
= PIDL_dissect_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_QueryMultipleValues2_needed
, 0);
4616 /* IDL: WERROR winreg_QueryMultipleValues2( */
4617 /* IDL: [in] [ref] policy_handle *key_handle, */
4618 /* IDL: [in] [length_is(num_values)] [ref] [size_is(num_values)] QueryMultipleValue *values_in, */
4619 /* IDL: [length_is(num_values)] [out] [ref] [size_is(num_values)] QueryMultipleValue *values_out, */
4620 /* IDL: [in] uint32 num_values, */
4621 /* IDL: [in] [length_is(*offered)] [out] [size_is(*offered)] [unique(1)] uint8 *buffer, */
4622 /* IDL: [in] [ref] uint32 *offered, */
4623 /* IDL: [out] [ref] uint32 *needed */
4627 winreg_dissect_QueryMultipleValues2_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4631 di
->dcerpc_procedure_name
="QueryMultipleValues2";
4632 offset
= winreg_dissect_element_QueryMultipleValues2_values_out(tvb
, offset
, pinfo
, tree
, di
, drep
);
4633 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4635 offset
= winreg_dissect_element_QueryMultipleValues2_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
4636 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4638 offset
= winreg_dissect_element_QueryMultipleValues2_needed(tvb
, offset
, pinfo
, tree
, di
, drep
);
4639 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4641 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
4644 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4650 winreg_dissect_QueryMultipleValues2_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4652 di
->dcerpc_procedure_name
="QueryMultipleValues2";
4653 offset
= winreg_dissect_element_QueryMultipleValues2_key_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4654 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4655 offset
= winreg_dissect_element_QueryMultipleValues2_values_in(tvb
, offset
, pinfo
, tree
, di
, drep
);
4656 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4657 offset
= winreg_dissect_element_QueryMultipleValues2_num_values(tvb
, offset
, pinfo
, tree
, di
, drep
);
4658 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4659 offset
= winreg_dissect_element_QueryMultipleValues2_buffer(tvb
, offset
, pinfo
, tree
, di
, drep
);
4660 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4661 offset
= winreg_dissect_element_QueryMultipleValues2_offered(tvb
, offset
, pinfo
, tree
, di
, drep
);
4662 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4667 winreg_dissect_element_DeleteKeyEx_handle(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4669 offset
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_DeleteKeyEx_handle_
, NDR_POINTER_REF
, "Pointer to Handle (policy_handle)",hf_winreg_winreg_DeleteKeyEx_handle
);
4675 winreg_dissect_element_DeleteKeyEx_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
= PIDL_dissect_policy_hnd(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_DeleteKeyEx_handle
, 0);
4683 winreg_dissect_element_DeleteKeyEx_key(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
= dissect_ndr_toplevel_pointer(tvb
, offset
, pinfo
, tree
, di
, drep
, winreg_dissect_element_DeleteKeyEx_key_
, NDR_POINTER_REF
, "Pointer to Key (winreg_String)",hf_winreg_winreg_DeleteKeyEx_key
);
4691 winreg_dissect_element_DeleteKeyEx_key_(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
=cnf_dissect_winreg_String(tvb
, offset
, pinfo
, tree
, di
, drep
, 0, hf_winreg_winreg_DeleteKeyEx_key
);
4699 winreg_dissect_element_DeleteKeyEx_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_
)
4701 offset
= winreg_dissect_bitmap_AccessMask(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_winreg_DeleteKeyEx_access_mask
, 0);
4707 winreg_dissect_element_DeleteKeyEx_reserved(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_winreg_winreg_DeleteKeyEx_reserved
, 0);
4714 /* IDL: WERROR winreg_DeleteKeyEx( */
4715 /* IDL: [in] [ref] policy_handle *handle, */
4716 /* IDL: [in] [ref] winreg_String *key, */
4717 /* IDL: [in] winreg_AccessMask access_mask, */
4718 /* IDL: [in] uint32 reserved */
4722 winreg_dissect_DeleteKeyEx_response(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4726 di
->dcerpc_procedure_name
="DeleteKeyEx";
4727 offset
= dissect_ndr_uint32(tvb
, offset
, pinfo
, tree
, di
, drep
, hf_winreg_werror
, &status
);
4730 col_append_fstr(pinfo
->cinfo
, COL_INFO
, ", Error: %s", val_to_str_ext(status
, &WERR_errors_ext
, "Unknown DOS error 0x%08x"));
4736 winreg_dissect_DeleteKeyEx_request(tvbuff_t
*tvb _U_
, int offset _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, dcerpc_info
* di _U_
, uint8_t *drep _U_
)
4738 di
->dcerpc_procedure_name
="DeleteKeyEx";
4739 offset
= winreg_dissect_element_DeleteKeyEx_handle(tvb
, offset
, pinfo
, tree
, di
, drep
);
4740 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4741 offset
= winreg_dissect_element_DeleteKeyEx_key(tvb
, offset
, pinfo
, tree
, di
, drep
);
4742 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4743 offset
= winreg_dissect_element_DeleteKeyEx_access_mask(tvb
, offset
, pinfo
, tree
, di
, drep
);
4744 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4745 offset
= winreg_dissect_element_DeleteKeyEx_reserved(tvb
, offset
, pinfo
, tree
, di
, drep
);
4746 offset
= dissect_deferred_pointers(pinfo
, tvb
, offset
, di
, drep
);
4751 static const dcerpc_sub_dissector winreg_dissectors
[] = {
4753 winreg_dissect_OpenHKCR_request
, winreg_dissect_OpenHKCR_response
},
4755 winreg_dissect_OpenHKCU_request
, winreg_dissect_OpenHKCU_response
},
4757 winreg_dissect_OpenHKLM_request
, winreg_dissect_OpenHKLM_response
},
4759 winreg_dissect_OpenHKPD_request
, winreg_dissect_OpenHKPD_response
},
4761 winreg_dissect_OpenHKU_request
, winreg_dissect_OpenHKU_response
},
4763 winreg_dissect_CloseKey_request
, winreg_dissect_CloseKey_response
},
4765 winreg_dissect_CreateKey_request
, winreg_dissect_CreateKey_response
},
4767 winreg_dissect_DeleteKey_request
, winreg_dissect_DeleteKey_response
},
4769 winreg_dissect_DeleteValue_request
, winreg_dissect_DeleteValue_response
},
4771 winreg_dissect_EnumKey_request
, winreg_dissect_EnumKey_response
},
4773 winreg_dissect_EnumValue_request
, winreg_dissect_EnumValue_response
},
4775 winreg_dissect_FlushKey_request
, winreg_dissect_FlushKey_response
},
4776 { 12, "GetKeySecurity",
4777 winreg_dissect_GetKeySecurity_request
, winreg_dissect_GetKeySecurity_response
},
4779 winreg_dissect_LoadKey_request
, winreg_dissect_LoadKey_response
},
4780 { 14, "NotifyChangeKeyValue",
4781 winreg_dissect_NotifyChangeKeyValue_request
, winreg_dissect_NotifyChangeKeyValue_response
},
4783 winreg_dissect_OpenKey_request
, winreg_dissect_OpenKey_response
},
4784 { 16, "QueryInfoKey",
4785 winreg_dissect_QueryInfoKey_request
, winreg_dissect_QueryInfoKey_response
},
4787 winreg_dissect_QueryValue_request
, winreg_dissect_QueryValue_response
},
4789 winreg_dissect_ReplaceKey_request
, winreg_dissect_ReplaceKey_response
},
4791 winreg_dissect_RestoreKey_request
, winreg_dissect_RestoreKey_response
},
4793 winreg_dissect_SaveKey_request
, winreg_dissect_SaveKey_response
},
4794 { 21, "SetKeySecurity",
4795 winreg_dissect_SetKeySecurity_request
, winreg_dissect_SetKeySecurity_response
},
4797 winreg_dissect_SetValue_request
, winreg_dissect_SetValue_response
},
4799 winreg_dissect_UnLoadKey_request
, winreg_dissect_UnLoadKey_response
},
4800 { 24, "InitiateSystemShutdown",
4801 winreg_dissect_InitiateSystemShutdown_request
, winreg_dissect_InitiateSystemShutdown_response
},
4802 { 25, "AbortSystemShutdown",
4803 winreg_dissect_AbortSystemShutdown_request
, winreg_dissect_AbortSystemShutdown_response
},
4805 winreg_dissect_GetVersion_request
, winreg_dissect_GetVersion_response
},
4807 winreg_dissect_OpenHKCC_request
, winreg_dissect_OpenHKCC_response
},
4809 winreg_dissect_OpenHKDD_request
, winreg_dissect_OpenHKDD_response
},
4810 { 29, "QueryMultipleValues",
4811 winreg_dissect_QueryMultipleValues_request
, winreg_dissect_QueryMultipleValues_response
},
4812 { 30, "InitiateSystemShutdownEx",
4813 winreg_dissect_InitiateSystemShutdownEx_request
, winreg_dissect_InitiateSystemShutdownEx_response
},
4815 winreg_dissect_SaveKeyEx_request
, winreg_dissect_SaveKeyEx_response
},
4817 winreg_dissect_OpenHKPT_request
, winreg_dissect_OpenHKPT_response
},
4819 winreg_dissect_OpenHKPN_request
, winreg_dissect_OpenHKPN_response
},
4820 { 34, "QueryMultipleValues2",
4821 winreg_dissect_QueryMultipleValues2_request
, winreg_dissect_QueryMultipleValues2_response
},
4822 { 35, "DeleteKeyEx",
4823 winreg_dissect_DeleteKeyEx_request
, winreg_dissect_DeleteKeyEx_response
},
4824 { 0, NULL
, NULL
, NULL
}
4827 void proto_register_dcerpc_winreg(void)
4829 static hf_register_info hf
[] = {
4830 { &hf_winreg_KeySecurityAttribute_data_size
,
4831 { "Data Size", "winreg.KeySecurityAttribute.data_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4832 { &hf_winreg_KeySecurityAttribute_inherit
,
4833 { "Inherit", "winreg.KeySecurityAttribute.inherit", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4834 { &hf_winreg_KeySecurityAttribute_sec_data
,
4835 { "Sec Data", "winreg.KeySecurityAttribute.sec_data", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4836 { &hf_winreg_KeySecurityData_data
,
4837 { "Data", "winreg.KeySecurityData.data", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4838 { &hf_winreg_KeySecurityData_len
,
4839 { "Len", "winreg.KeySecurityData.len", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4840 { &hf_winreg_KeySecurityData_size
,
4841 { "Size", "winreg.KeySecurityData.size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4842 { &hf_winreg_QueryMultipleValue_ve_type
,
4843 { "Ve Type", "winreg.QueryMultipleValue.ve_type", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4844 { &hf_winreg_QueryMultipleValue_ve_valuelen
,
4845 { "Ve Valuelen", "winreg.QueryMultipleValue.ve_valuelen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4846 { &hf_winreg_QueryMultipleValue_ve_valuename
,
4847 { "Ve Valuename", "winreg.QueryMultipleValue.ve_valuename", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4848 { &hf_winreg_QueryMultipleValue_ve_valueptr
,
4849 { "Ve Valueptr", "winreg.QueryMultipleValue.ve_valueptr", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4850 { &hf_winreg_access_mask
,
4851 { "Access Mask", "winreg.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4852 { &hf_winreg_handle
,
4853 { "Handle", "winreg.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4855 { "Operation", "winreg.opnum", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4857 { "KeySecurityData", "winreg.sd", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4858 { &hf_winreg_sd_actual_size
,
4859 { "Actual Size", "winreg.sd.actual_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4860 { &hf_winreg_sd_max_size
,
4861 { "Max Size", "winreg.sd.max_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4862 { &hf_winreg_sd_offset
,
4863 { "Offset", "winreg.sd.offset", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4864 { &hf_winreg_system_name
,
4865 { "System Name", "winreg.system_name", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4866 { &hf_winreg_werror
,
4867 { "Windows Error", "winreg.werror", FT_UINT32
, BASE_HEX
|BASE_EXT_STRING
, &WERR_errors_ext
, 0, NULL
, HFILL
}},
4868 { &hf_winreg_winreg_AbortSystemShutdown_server
,
4869 { "Server", "winreg.winreg_AbortSystemShutdown.server", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4870 { &hf_winreg_winreg_AccessMask_KEY_CREATE_LINK
,
4871 { "KEY CREATE LINK", "winreg.winreg_AccessMask.KEY_CREATE_LINK", FT_BOOLEAN
, 32, TFS(&winreg_AccessMask_KEY_CREATE_LINK_tfs
), ( 0x00000020 ), NULL
, HFILL
}},
4872 { &hf_winreg_winreg_AccessMask_KEY_CREATE_SUB_KEY
,
4873 { "KEY CREATE SUB KEY", "winreg.winreg_AccessMask.KEY_CREATE_SUB_KEY", FT_BOOLEAN
, 32, TFS(&winreg_AccessMask_KEY_CREATE_SUB_KEY_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
4874 { &hf_winreg_winreg_AccessMask_KEY_ENUMERATE_SUB_KEYS
,
4875 { "KEY ENUMERATE SUB KEYS", "winreg.winreg_AccessMask.KEY_ENUMERATE_SUB_KEYS", FT_BOOLEAN
, 32, TFS(&winreg_AccessMask_KEY_ENUMERATE_SUB_KEYS_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
4876 { &hf_winreg_winreg_AccessMask_KEY_NOTIFY
,
4877 { "KEY NOTIFY", "winreg.winreg_AccessMask.KEY_NOTIFY", FT_BOOLEAN
, 32, TFS(&winreg_AccessMask_KEY_NOTIFY_tfs
), ( 0x00000010 ), NULL
, HFILL
}},
4878 { &hf_winreg_winreg_AccessMask_KEY_QUERY_VALUE
,
4879 { "KEY QUERY VALUE", "winreg.winreg_AccessMask.KEY_QUERY_VALUE", FT_BOOLEAN
, 32, TFS(&winreg_AccessMask_KEY_QUERY_VALUE_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
4880 { &hf_winreg_winreg_AccessMask_KEY_SET_VALUE
,
4881 { "KEY SET VALUE", "winreg.winreg_AccessMask.KEY_SET_VALUE", FT_BOOLEAN
, 32, TFS(&winreg_AccessMask_KEY_SET_VALUE_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
4882 { &hf_winreg_winreg_AccessMask_KEY_WOW64_32KEY
,
4883 { "KEY WOW64 32KEY", "winreg.winreg_AccessMask.KEY_WOW64_32KEY", FT_BOOLEAN
, 32, TFS(&winreg_AccessMask_KEY_WOW64_32KEY_tfs
), ( 0x00000200 ), NULL
, HFILL
}},
4884 { &hf_winreg_winreg_AccessMask_KEY_WOW64_64KEY
,
4885 { "KEY WOW64 64KEY", "winreg.winreg_AccessMask.KEY_WOW64_64KEY", FT_BOOLEAN
, 32, TFS(&winreg_AccessMask_KEY_WOW64_64KEY_tfs
), ( 0x00000100 ), NULL
, HFILL
}},
4886 { &hf_winreg_winreg_CreateKey_action_taken
,
4887 { "Action Taken", "winreg.winreg_CreateKey.action_taken", FT_UINT32
, BASE_DEC
, VALS(winreg_winreg_CreateAction_vals
), 0, NULL
, HFILL
}},
4888 { &hf_winreg_winreg_CreateKey_keyclass
,
4889 { "Keyclass", "winreg.winreg_CreateKey.keyclass", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4890 { &hf_winreg_winreg_CreateKey_name
,
4891 { "Name", "winreg.winreg_CreateKey.name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4892 { &hf_winreg_winreg_CreateKey_new_handle
,
4893 { "New Handle", "winreg.winreg_CreateKey.new_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4894 { &hf_winreg_winreg_CreateKey_options
,
4895 { "Options", "winreg.winreg_CreateKey.options", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4896 { &hf_winreg_winreg_CreateKey_secdesc
,
4897 { "Secdesc", "winreg.winreg_CreateKey.secdesc", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4898 { &hf_winreg_winreg_DeleteKeyEx_access_mask
,
4899 { "Access Mask", "winreg.winreg_DeleteKeyEx.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4900 { &hf_winreg_winreg_DeleteKeyEx_handle
,
4901 { "Handle", "winreg.winreg_DeleteKeyEx.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4902 { &hf_winreg_winreg_DeleteKeyEx_key
,
4903 { "Key", "winreg.winreg_DeleteKeyEx.key", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4904 { &hf_winreg_winreg_DeleteKeyEx_reserved
,
4905 { "Reserved", "winreg.winreg_DeleteKeyEx.reserved", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4906 { &hf_winreg_winreg_DeleteKey_key
,
4907 { "Key", "winreg.winreg_DeleteKey.key", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4908 { &hf_winreg_winreg_DeleteValue_value
,
4909 { "Value", "winreg.winreg_DeleteValue.value", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4910 { &hf_winreg_winreg_EnumKey_enum_index
,
4911 { "Enum Index", "winreg.winreg_EnumKey.enum_index", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4912 { &hf_winreg_winreg_EnumKey_keyclass
,
4913 { "Keyclass", "winreg.winreg_EnumKey.keyclass", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4914 { &hf_winreg_winreg_EnumKey_last_changed_time
,
4915 { "Last Changed Time", "winreg.winreg_EnumKey.last_changed_time", FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0, NULL
, HFILL
}},
4916 { &hf_winreg_winreg_EnumKey_name
,
4917 { "Name", "winreg.winreg_EnumKey.name", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4918 { &hf_winreg_winreg_EnumValue_enum_index
,
4919 { "Enum Index", "winreg.winreg_EnumValue.enum_index", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4920 { &hf_winreg_winreg_EnumValue_length
,
4921 { "Length", "winreg.winreg_EnumValue.length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4922 { &hf_winreg_winreg_EnumValue_name
,
4923 { "Name", "winreg.winreg_EnumValue.name", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4924 { &hf_winreg_winreg_EnumValue_size
,
4925 { "Size", "winreg.winreg_EnumValue.size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4926 { &hf_winreg_winreg_EnumValue_type
,
4927 { "Type", "winreg.winreg_EnumValue.type", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4928 { &hf_winreg_winreg_EnumValue_value
,
4929 { "Value", "winreg.winreg_EnumValue.value", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4930 { &hf_winreg_winreg_GetKeySecurity_sec_info
,
4931 { "Sec Info", "winreg.winreg_GetKeySecurity.sec_info", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4932 { &hf_winreg_winreg_GetVersion_version
,
4933 { "Version", "winreg.winreg_GetVersion.version", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4934 { &hf_winreg_winreg_InitiateSystemShutdownEx_do_reboot
,
4935 { "Do Reboot", "winreg.winreg_InitiateSystemShutdownEx.do_reboot", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4936 { &hf_winreg_winreg_InitiateSystemShutdownEx_force_apps
,
4937 { "Force Apps", "winreg.winreg_InitiateSystemShutdownEx.force_apps", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4938 { &hf_winreg_winreg_InitiateSystemShutdownEx_hostname
,
4939 { "Hostname", "winreg.winreg_InitiateSystemShutdownEx.hostname", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4940 { &hf_winreg_winreg_InitiateSystemShutdownEx_message
,
4941 { "Message", "winreg.winreg_InitiateSystemShutdownEx.message", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4942 { &hf_winreg_winreg_InitiateSystemShutdownEx_reason
,
4943 { "Reason", "winreg.winreg_InitiateSystemShutdownEx.reason", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4944 { &hf_winreg_winreg_InitiateSystemShutdownEx_timeout
,
4945 { "Timeout", "winreg.winreg_InitiateSystemShutdownEx.timeout", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4946 { &hf_winreg_winreg_InitiateSystemShutdown_do_reboot
,
4947 { "Do Reboot", "winreg.winreg_InitiateSystemShutdown.do_reboot", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4948 { &hf_winreg_winreg_InitiateSystemShutdown_force_apps
,
4949 { "Force Apps", "winreg.winreg_InitiateSystemShutdown.force_apps", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4950 { &hf_winreg_winreg_InitiateSystemShutdown_hostname
,
4951 { "Hostname", "winreg.winreg_InitiateSystemShutdown.hostname", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4952 { &hf_winreg_winreg_InitiateSystemShutdown_message
,
4953 { "Message", "winreg.winreg_InitiateSystemShutdown.message", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4954 { &hf_winreg_winreg_InitiateSystemShutdown_timeout
,
4955 { "Timeout", "winreg.winreg_InitiateSystemShutdown.timeout", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4956 { &hf_winreg_winreg_KeyOptions_REG_OPTION_BACKUP_RESTORE
,
4957 { "REG OPTION BACKUP RESTORE", "winreg.winreg_KeyOptions.REG_OPTION_BACKUP_RESTORE", FT_BOOLEAN
, 32, TFS(&winreg_KeyOptions_REG_OPTION_BACKUP_RESTORE_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
4958 { &hf_winreg_winreg_KeyOptions_REG_OPTION_CREATE_LINK
,
4959 { "REG OPTION CREATE LINK", "winreg.winreg_KeyOptions.REG_OPTION_CREATE_LINK", FT_BOOLEAN
, 32, TFS(&winreg_KeyOptions_REG_OPTION_CREATE_LINK_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
4960 { &hf_winreg_winreg_KeyOptions_REG_OPTION_OPEN_LINK
,
4961 { "REG OPTION OPEN LINK", "winreg.winreg_KeyOptions.REG_OPTION_OPEN_LINK", FT_BOOLEAN
, 32, TFS(&winreg_KeyOptions_REG_OPTION_OPEN_LINK_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
4962 { &hf_winreg_winreg_KeyOptions_REG_OPTION_VOLATILE
,
4963 { "REG OPTION VOLATILE", "winreg.winreg_KeyOptions.REG_OPTION_VOLATILE", FT_BOOLEAN
, 32, TFS(&winreg_KeyOptions_REG_OPTION_VOLATILE_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
4964 { &hf_winreg_winreg_LoadKey_filename
,
4965 { "Filename", "winreg.winreg_LoadKey.filename", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4966 { &hf_winreg_winreg_LoadKey_keyname
,
4967 { "Keyname", "winreg.winreg_LoadKey.keyname", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4968 { &hf_winreg_winreg_NotifyChangeKeyValue_notify_filter
,
4969 { "Notify Filter", "winreg.winreg_NotifyChangeKeyValue.notify_filter", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4970 { &hf_winreg_winreg_NotifyChangeKeyValue_string1
,
4971 { "String1", "winreg.winreg_NotifyChangeKeyValue.string1", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4972 { &hf_winreg_winreg_NotifyChangeKeyValue_string2
,
4973 { "String2", "winreg.winreg_NotifyChangeKeyValue.string2", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4974 { &hf_winreg_winreg_NotifyChangeKeyValue_unknown
,
4975 { "Unknown", "winreg.winreg_NotifyChangeKeyValue.unknown", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4976 { &hf_winreg_winreg_NotifyChangeKeyValue_unknown2
,
4977 { "Unknown2", "winreg.winreg_NotifyChangeKeyValue.unknown2", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4978 { &hf_winreg_winreg_NotifyChangeKeyValue_watch_subtree
,
4979 { "Watch Subtree", "winreg.winreg_NotifyChangeKeyValue.watch_subtree", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
4980 { &hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_ATTRIBUTES
,
4981 { "REG NOTIFY CHANGE ATTRIBUTES", "winreg.winreg_NotifyChangeType.REG_NOTIFY_CHANGE_ATTRIBUTES", FT_BOOLEAN
, 32, TFS(&winreg_NotifyChangeType_REG_NOTIFY_CHANGE_ATTRIBUTES_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
4982 { &hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_LAST_SET
,
4983 { "REG NOTIFY CHANGE LAST SET", "winreg.winreg_NotifyChangeType.REG_NOTIFY_CHANGE_LAST_SET", FT_BOOLEAN
, 32, TFS(&winreg_NotifyChangeType_REG_NOTIFY_CHANGE_LAST_SET_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
4984 { &hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_NAME
,
4985 { "REG NOTIFY CHANGE NAME", "winreg.winreg_NotifyChangeType.REG_NOTIFY_CHANGE_NAME", FT_BOOLEAN
, 32, TFS(&winreg_NotifyChangeType_REG_NOTIFY_CHANGE_NAME_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
4986 { &hf_winreg_winreg_NotifyChangeType_REG_NOTIFY_CHANGE_SECURITY
,
4987 { "REG NOTIFY CHANGE SECURITY", "winreg.winreg_NotifyChangeType.REG_NOTIFY_CHANGE_SECURITY", FT_BOOLEAN
, 32, TFS(&winreg_NotifyChangeType_REG_NOTIFY_CHANGE_SECURITY_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
4988 { &hf_winreg_winreg_OpenHKCU_access_mask
,
4989 { "Access Mask", "winreg.winreg_OpenHKCU.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4990 { &hf_winreg_winreg_OpenHKPD_access_mask
,
4991 { "Access Mask", "winreg.winreg_OpenHKPD.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4992 { &hf_winreg_winreg_OpenKey_access_mask
,
4993 { "Access Mask", "winreg.winreg_OpenKey.access_mask", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4994 { &hf_winreg_winreg_OpenKey_keyname
,
4995 { "Keyname", "winreg.winreg_OpenKey.keyname", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
4996 { &hf_winreg_winreg_OpenKey_options
,
4997 { "Options", "winreg.winreg_OpenKey.options", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
4998 { &hf_winreg_winreg_OpenKey_parent_handle
,
4999 { "Parent Handle", "winreg.winreg_OpenKey.parent_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5000 { &hf_winreg_winreg_QueryInfoKey_classname
,
5001 { "Classname", "winreg.winreg_QueryInfoKey.classname", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5002 { &hf_winreg_winreg_QueryInfoKey_last_changed_time
,
5003 { "Last Changed Time", "winreg.winreg_QueryInfoKey.last_changed_time", FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0, NULL
, HFILL
}},
5004 { &hf_winreg_winreg_QueryInfoKey_max_classlen
,
5005 { "Max Classlen", "winreg.winreg_QueryInfoKey.max_classlen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5006 { &hf_winreg_winreg_QueryInfoKey_max_subkeylen
,
5007 { "Max Subkeylen", "winreg.winreg_QueryInfoKey.max_subkeylen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5008 { &hf_winreg_winreg_QueryInfoKey_max_valbufsize
,
5009 { "Max Valbufsize", "winreg.winreg_QueryInfoKey.max_valbufsize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5010 { &hf_winreg_winreg_QueryInfoKey_max_valnamelen
,
5011 { "Max Valnamelen", "winreg.winreg_QueryInfoKey.max_valnamelen", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5012 { &hf_winreg_winreg_QueryInfoKey_num_subkeys
,
5013 { "Num Subkeys", "winreg.winreg_QueryInfoKey.num_subkeys", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5014 { &hf_winreg_winreg_QueryInfoKey_num_values
,
5015 { "Num Values", "winreg.winreg_QueryInfoKey.num_values", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5016 { &hf_winreg_winreg_QueryInfoKey_secdescsize
,
5017 { "Secdescsize", "winreg.winreg_QueryInfoKey.secdescsize", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5018 { &hf_winreg_winreg_QueryMultipleValues2_buffer
,
5019 { "Buffer", "winreg.winreg_QueryMultipleValues2.buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5020 { &hf_winreg_winreg_QueryMultipleValues2_key_handle
,
5021 { "Key Handle", "winreg.winreg_QueryMultipleValues2.key_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5022 { &hf_winreg_winreg_QueryMultipleValues2_needed
,
5023 { "Needed", "winreg.winreg_QueryMultipleValues2.needed", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5024 { &hf_winreg_winreg_QueryMultipleValues2_num_values
,
5025 { "Num Values", "winreg.winreg_QueryMultipleValues2.num_values", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5026 { &hf_winreg_winreg_QueryMultipleValues2_offered
,
5027 { "Offered", "winreg.winreg_QueryMultipleValues2.offered", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5028 { &hf_winreg_winreg_QueryMultipleValues2_values_in
,
5029 { "Values In", "winreg.winreg_QueryMultipleValues2.values_in", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5030 { &hf_winreg_winreg_QueryMultipleValues2_values_out
,
5031 { "Values Out", "winreg.winreg_QueryMultipleValues2.values_out", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5032 { &hf_winreg_winreg_QueryMultipleValues_buffer
,
5033 { "Buffer", "winreg.winreg_QueryMultipleValues.buffer", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5034 { &hf_winreg_winreg_QueryMultipleValues_buffer_size
,
5035 { "Buffer Size", "winreg.winreg_QueryMultipleValues.buffer_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5036 { &hf_winreg_winreg_QueryMultipleValues_key_handle
,
5037 { "Key Handle", "winreg.winreg_QueryMultipleValues.key_handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5038 { &hf_winreg_winreg_QueryMultipleValues_num_values
,
5039 { "Num Values", "winreg.winreg_QueryMultipleValues.num_values", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5040 { &hf_winreg_winreg_QueryMultipleValues_values_in
,
5041 { "Values In", "winreg.winreg_QueryMultipleValues.values_in", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5042 { &hf_winreg_winreg_QueryMultipleValues_values_out
,
5043 { "Values Out", "winreg.winreg_QueryMultipleValues.values_out", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5044 { &hf_winreg_winreg_QueryValue_data
,
5045 { "Data", "winreg.winreg_QueryValue.data", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5046 { &hf_winreg_winreg_QueryValue_data_length
,
5047 { "Data Length", "winreg.winreg_QueryValue.data_length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5048 { &hf_winreg_winreg_QueryValue_data_size
,
5049 { "Data Size", "winreg.winreg_QueryValue.data_size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5050 { &hf_winreg_winreg_QueryValue_type
,
5051 { "Type", "winreg.winreg_QueryValue.type", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5052 { &hf_winreg_winreg_QueryValue_value_name
,
5053 { "Value Name", "winreg.winreg_QueryValue.value_name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5054 { &hf_winreg_winreg_ReplaceKey_handle
,
5055 { "Handle", "winreg.winreg_ReplaceKey.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5056 { &hf_winreg_winreg_ReplaceKey_new_file
,
5057 { "New File", "winreg.winreg_ReplaceKey.new_file", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5058 { &hf_winreg_winreg_ReplaceKey_old_file
,
5059 { "Old File", "winreg.winreg_ReplaceKey.old_file", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5060 { &hf_winreg_winreg_ReplaceKey_subkey
,
5061 { "Subkey", "winreg.winreg_ReplaceKey.subkey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5062 { &hf_winreg_winreg_RestoreKeyFlags_REG_FORCE_RESTORE
,
5063 { "REG FORCE RESTORE", "winreg.winreg_RestoreKeyFlags.REG_FORCE_RESTORE", FT_BOOLEAN
, 32, TFS(&winreg_RestoreKeyFlags_REG_FORCE_RESTORE_tfs
), ( 0x00000008 ), NULL
, HFILL
}},
5064 { &hf_winreg_winreg_RestoreKeyFlags_REG_NO_LAZY_FLUSH
,
5065 { "REG NO LAZY FLUSH", "winreg.winreg_RestoreKeyFlags.REG_NO_LAZY_FLUSH", FT_BOOLEAN
, 32, TFS(&winreg_RestoreKeyFlags_REG_NO_LAZY_FLUSH_tfs
), ( 0x00000004 ), NULL
, HFILL
}},
5066 { &hf_winreg_winreg_RestoreKeyFlags_REG_REFRESH_HIVE
,
5067 { "REG REFRESH HIVE", "winreg.winreg_RestoreKeyFlags.REG_REFRESH_HIVE", FT_BOOLEAN
, 32, TFS(&winreg_RestoreKeyFlags_REG_REFRESH_HIVE_tfs
), ( 0x00000002 ), NULL
, HFILL
}},
5068 { &hf_winreg_winreg_RestoreKeyFlags_REG_WHOLE_HIVE_VOLATILE
,
5069 { "REG WHOLE HIVE VOLATILE", "winreg.winreg_RestoreKeyFlags.REG_WHOLE_HIVE_VOLATILE", FT_BOOLEAN
, 32, TFS(&winreg_RestoreKeyFlags_REG_WHOLE_HIVE_VOLATILE_tfs
), ( 0x00000001 ), NULL
, HFILL
}},
5070 { &hf_winreg_winreg_RestoreKey_filename
,
5071 { "Filename", "winreg.winreg_RestoreKey.filename", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5072 { &hf_winreg_winreg_RestoreKey_flags
,
5073 { "Flags", "winreg.winreg_RestoreKey.flags", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
5074 { &hf_winreg_winreg_RestoreKey_handle
,
5075 { "Handle", "winreg.winreg_RestoreKey.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5076 { &hf_winreg_winreg_SaveKeyEx_filename
,
5077 { "Filename", "winreg.winreg_SaveKeyEx.filename", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5078 { &hf_winreg_winreg_SaveKeyEx_flags
,
5079 { "Flags", "winreg.winreg_SaveKeyEx.flags", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5080 { &hf_winreg_winreg_SaveKeyEx_handle
,
5081 { "Handle", "winreg.winreg_SaveKeyEx.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5082 { &hf_winreg_winreg_SaveKeyEx_sec_attrib
,
5083 { "Sec Attrib", "winreg.winreg_SaveKeyEx.sec_attrib", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5084 { &hf_winreg_winreg_SaveKey_filename
,
5085 { "Filename", "winreg.winreg_SaveKey.filename", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5086 { &hf_winreg_winreg_SaveKey_handle
,
5087 { "Handle", "winreg.winreg_SaveKey.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5088 { &hf_winreg_winreg_SaveKey_sec_attrib
,
5089 { "Sec Attrib", "winreg.winreg_SaveKey.sec_attrib", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5090 { &hf_winreg_winreg_SecBuf_inherit
,
5091 { "Inherit", "winreg.winreg_SecBuf.inherit", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5092 { &hf_winreg_winreg_SecBuf_length
,
5093 { "Length", "winreg.winreg_SecBuf.length", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5094 { &hf_winreg_winreg_SecBuf_sd
,
5095 { "Sd", "winreg.winreg_SecBuf.sd", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5096 { &hf_winreg_winreg_SetKeySecurity_sec_info
,
5097 { "Sec Info", "winreg.winreg_SetKeySecurity.sec_info", FT_UINT32
, BASE_HEX
, NULL
, 0, NULL
, HFILL
}},
5098 { &hf_winreg_winreg_SetValue_data
,
5099 { "Data", "winreg.winreg_SetValue.data", FT_UINT8
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5100 { &hf_winreg_winreg_SetValue_name
,
5101 { "Name", "winreg.winreg_SetValue.name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5102 { &hf_winreg_winreg_SetValue_size
,
5103 { "Size", "winreg.winreg_SetValue.size", FT_UINT32
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5104 { &hf_winreg_winreg_SetValue_type
,
5105 { "Type", "winreg.winreg_SetValue.type", FT_NONE
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5106 { &hf_winreg_winreg_StringBuf_length
,
5107 { "Length", "winreg.winreg_StringBuf.length", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5108 { &hf_winreg_winreg_StringBuf_name
,
5109 { "Name", "winreg.winreg_StringBuf.name", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5110 { &hf_winreg_winreg_StringBuf_size
,
5111 { "Size", "winreg.winreg_StringBuf.size", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5112 { &hf_winreg_winreg_String_name
,
5113 { "Name", "winreg.winreg_String.name", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5114 { &hf_winreg_winreg_String_name_len
,
5115 { "Name Len", "winreg.winreg_String.name_len", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5116 { &hf_winreg_winreg_String_name_size
,
5117 { "Name Size", "winreg.winreg_String.name_size", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5118 { &hf_winreg_winreg_UnLoadKey_handle
,
5119 { "Handle", "winreg.winreg_UnLoadKey.handle", FT_BYTES
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5120 { &hf_winreg_winreg_UnLoadKey_subkey
,
5121 { "Subkey", "winreg.winreg_UnLoadKey.subkey", FT_STRING
, BASE_NONE
, NULL
, 0, NULL
, HFILL
}},
5122 { &hf_winreg_winreg_ValNameBuf_length
,
5123 { "Length", "winreg.winreg_ValNameBuf.length", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5124 { &hf_winreg_winreg_ValNameBuf_name
,
5125 { "Name", "winreg.winreg_ValNameBuf.name", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5126 { &hf_winreg_winreg_ValNameBuf_size
,
5127 { "Size", "winreg.winreg_ValNameBuf.size", FT_UINT16
, BASE_DEC
, NULL
, 0, NULL
, HFILL
}},
5131 static int *ett
[] = {
5133 &ett_winreg_security_secinfo
,
5134 &ett_winreg_winreg_AccessMask
,
5135 &ett_winreg_winreg_String
,
5136 &ett_winreg_KeySecurityData
,
5137 &ett_winreg_winreg_SecBuf
,
5138 &ett_winreg_winreg_KeyOptions
,
5139 &ett_winreg_winreg_StringBuf
,
5140 &ett_winreg_winreg_ValNameBuf
,
5141 &ett_winreg_winreg_NotifyChangeType
,
5142 &ett_winreg_winreg_RestoreKeyFlags
,
5143 &ett_winreg_KeySecurityAttribute
,
5144 &ett_winreg_QueryMultipleValue
,
5147 proto_dcerpc_winreg
= proto_register_protocol("Remote Registry Service", "WINREG", "winreg");
5148 proto_register_field_array(proto_dcerpc_winreg
, hf
, array_length (hf
));
5149 proto_register_subtree_array(ett
, array_length(ett
));
5152 void proto_reg_handoff_dcerpc_winreg(void)
5154 dcerpc_init_uuid(proto_dcerpc_winreg
, ett_dcerpc_winreg
,
5155 &uuid_dcerpc_winreg
, ver_dcerpc_winreg
,
5156 winreg_dissectors
, hf_winreg_opnum
);