Coverage Report

Created: 2025-12-27 06:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-dcerpc-iwbemservices.c
Line
Count
Source
1
/* DO NOT EDIT
2
  This file was automatically generated by Pidl
3
  from iwbemservices.idl and iwbemservices.cnf.
4
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
9
*/
10
11
12
#include "config.h"
13
#include <string.h>
14
#include <wsutil/array.h>
15
#include <epan/packet.h>
16
#include <epan/tfs.h>
17
18
#include "packet-dcerpc.h"
19
#include "packet-dcerpc-nt.h"
20
#include "packet-windows-common.h"
21
#include "packet-dcerpc-iwbemservices.h"
22
void proto_register_dcerpc_IWbemServices(void);
23
void proto_reg_handoff_dcerpc_IWbemServices(void);
24
25
/* Ett declarations */
26
static int ett_IWbemServices_GetObject_orpcthis;
27
static int ett_IWbemServices_GetObject_orpcthat;
28
static int ett_IWbemServices_ExecMethod_orpcthis;
29
static int ett_IWbemServices_ExecMethod_orpcthat;
30
static int ett_dcerpc_IWbemServices;
31
static int ett_IWbemServices_ORPCTHIS;
32
static int ett_IWbemServices_ORPCTHAT;
33
static int ett_IWbemServices_IWbemCallResult;
34
static int ett_IWbemServices_IWbemClassObject;
35
static int ett_IWbemServices_MInterfacePointer;
36
static int ett_IWbemServices_IWbemContext;
37
38
39
/* Header field declarations */
40
static int hf_IWbemServices_ExecMethod_lFlags;
41
static int hf_IWbemServices_ExecMethod_orpcthat;
42
static int hf_IWbemServices_ExecMethod_orpcthis;
43
static int hf_IWbemServices_ExecMethod_strMethodName;
44
static int hf_IWbemServices_ExecMethod_strObjectPath;
45
static int hf_IWbemServices_GetObject_lFlags;
46
static int hf_IWbemServices_GetObject_orpcthat;
47
static int hf_IWbemServices_GetObject_orpcthis;
48
static int hf_IWbemServices_GetObject_pCtx;
49
static int hf_IWbemServices_GetObject_ppCallResult;
50
static int hf_IWbemServices_GetObject_ppObject;
51
static int hf_IWbemServices_GetObject_strObjectPath;
52
static int hf_IWbemServices_IWbemClassObject_count;
53
static int hf_IWbemServices_IWbemClassObject_objects;
54
static int hf_IWbemServices_IWbemContext_intPtr;
55
static int hf_IWbemServices_IWbemContext_u;
56
static int hf_IWbemServices_MInterfacePointer_abData;
57
static int hf_IWbemServices_MInterfacePointer_ulCntData;
58
static int hf_IWbemServices_opnum;
59
static int hf_IWbemServices_werror;
60
61
static int proto_dcerpc_IWbemServices;
62
/* Version information */
63
64
65
static e_guid_t uuid_dcerpc_IWbemServices = {
66
  0x9556dc99, 0x828c, 0x11cf,
67
  { 0xa3, 0x7e, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7 }
68
};
69
static uint16_t ver_dcerpc_IWbemServices = 0;
70
71
static int IWbemServices_dissect_element_IWbemClassObject_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
72
static int IWbemServices_dissect_element_IWbemClassObject_objects(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
73
static int IWbemServices_dissect_element_MInterfacePointer_ulCntData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
74
static int IWbemServices_dissect_element_MInterfacePointer_abData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
75
static int IWbemServices_dissect_element_MInterfacePointer_abData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
76
static int IWbemServices_dissect_element_IWbemContext_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
77
static int IWbemServices_dissect_element_IWbemContext_intPtr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
78
static int IWbemServices_dissect_element_IWbemContext_intPtr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
79
static int IWbemServices_dissect_element_GetObject_orpcthis(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
80
static int IWbemServices_dissect_element_GetObject_strObjectPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
81
static int IWbemServices_dissect_element_GetObject_lFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
82
static int IWbemServices_dissect_element_GetObject_pCtx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
83
static int IWbemServices_dissect_element_GetObject_pCtx_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
84
static int IWbemServices_dissect_element_GetObject_orpcthat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
85
static int IWbemServices_dissect_element_GetObject_orpcthat_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
86
static int IWbemServices_dissect_element_GetObject_ppObject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
87
static int IWbemServices_dissect_element_GetObject_ppObject_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
88
static int IWbemServices_dissect_element_GetObject_ppObject__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
89
static int IWbemServices_dissect_element_GetObject_ppCallResult(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
90
static int IWbemServices_dissect_element_GetObject_ppCallResult_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
91
static int IWbemServices_dissect_element_GetObject_ppCallResult__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
92
static int IWbemServices_dissect_element_ExecMethod_orpcthis(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
93
static int IWbemServices_dissect_element_ExecMethod_strObjectPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
94
static int IWbemServices_dissect_element_ExecMethod_strObjectPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
95
static int IWbemServices_dissect_element_ExecMethod_strMethodName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
96
static int IWbemServices_dissect_element_ExecMethod_strMethodName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
97
static int IWbemServices_dissect_element_ExecMethod_lFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
98
static int IWbemServices_dissect_element_ExecMethod_orpcthat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
99
static int IWbemServices_dissect_element_ExecMethod_orpcthat_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
100
  #include "packet-dcom.h"
101
static int
102
IWbemServices_dissect_element_IWbemClassObject_objects_(tvbuff_t *tvb, int offset, int length, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, uint8_t *drep);
103
static int
104
IWbemServices_dissect_element_GetObject_strObjectPath_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep);
105
extern void register_dcom_wmio (void);
106
/* GetObject */
107
static int
108
IWbemServices_dissect_element_GetObject_orpcthis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
109
0
{
110
0
  proto_item *sub_item;
111
0
  proto_tree *sub_tree;
112
0
  sub_item = proto_tree_add_item(tree, hf_IWbemServices_GetObject_orpcthis, tvb, offset, 0, ENC_NA);
113
0
  sub_tree = proto_item_add_subtree(sub_item, ett_IWbemServices_GetObject_orpcthis);
114
0
  return dissect_dcom_this(tvb, offset, pinfo, sub_tree, di, drep);
115
0
}
116
static int
117
IWbemServices_dissect_element_GetObject_orpcthat_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
118
0
{
119
0
  proto_item *sub_item;
120
0
  proto_tree *sub_tree;
121
0
  register_dcom_wmio();
122
0
  sub_item = proto_tree_add_item(tree, hf_IWbemServices_GetObject_orpcthat, tvb, offset, 0, ENC_NA);
123
0
  sub_tree = proto_item_add_subtree(sub_item, ett_IWbemServices_GetObject_orpcthat);
124
0
  return dissect_dcom_that(tvb, offset, pinfo, sub_tree, di, drep);
125
0
}
126
/* ExecMethod */
127
static int
128
IWbemServices_dissect_element_ExecMethod_orpcthis(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
129
0
{
130
0
  proto_item *sub_item;
131
0
  proto_tree *sub_tree;
132
0
  sub_item = proto_tree_add_item(tree, hf_IWbemServices_ExecMethod_orpcthis, tvb, offset, 0, ENC_NA);
133
0
  sub_tree = proto_item_add_subtree(sub_item, ett_IWbemServices_ExecMethod_orpcthis);
134
0
  return dissect_dcom_this(tvb, offset, pinfo, sub_tree, di, drep);
135
0
}
136
static int
137
IWbemServices_dissect_element_ExecMethod_orpcthat_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
138
0
{
139
0
  proto_item *sub_item;
140
0
  proto_tree *sub_tree;
141
0
  register_dcom_wmio();
142
0
  sub_item = proto_tree_add_item(tree, hf_IWbemServices_ExecMethod_orpcthat, tvb, offset, 0, ENC_NA);
143
0
  sub_tree = proto_item_add_subtree(sub_item, ett_IWbemServices_ExecMethod_orpcthat);
144
0
  return dissect_dcom_that(tvb, offset, pinfo, sub_tree, di, drep);
145
0
}
146
static int
147
IWbemServices_dissect_element_IWbemClassObject_objects(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
148
0
{
149
0
  return dissect_ndr_ucarray_block(tvb, offset, pinfo, tree, di, drep, &IWbemServices_dissect_element_IWbemClassObject_objects_);
150
0
}
151
static int
152
IWbemServices_dissect_element_IWbemClassObject_objects_(tvbuff_t *tvb, int offset, int length, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, uint8_t *drep)
153
0
{
154
0
  dissect_dcom_OBJREF(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_IWbemClassObject_objects, NULL);
155
0
  return offset + length;
156
0
}
157
static int
158
IWbemServices_dissect_element_GetObject_strObjectPath_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
159
0
{
160
0
  char *data = NULL;
161
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_IWbemServices_GetObject_strObjectPath, false, &data);
162
0
  if (data){
163
0
    proto_item_append_text(tree, ": %s", data);
164
0
    col_append_fstr(pinfo->cinfo, COL_INFO, " Object=%s", data);
165
0
  }
166
0
  return offset;
167
0
}
168
169
170
/* IDL: struct { */
171
/* IDL: } */
172
173
int
174
IWbemServices_dissect_struct_ORPCTHIS(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_)
175
0
{
176
0
  proto_item *item = NULL;
177
0
  int old_offset;
178
179
0
  old_offset = offset;
180
181
0
  if (parent_tree) {
182
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
183
0
  }
184
185
186
0
  proto_item_set_len(item, offset-old_offset);
187
188
189
0
  return offset;
190
0
}
191
192
193
/* IDL: struct { */
194
/* IDL: } */
195
196
int
197
IWbemServices_dissect_struct_ORPCTHAT(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_)
198
0
{
199
0
  proto_item *item = NULL;
200
0
  int old_offset;
201
202
0
  old_offset = offset;
203
204
0
  if (parent_tree) {
205
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
206
0
  }
207
208
209
0
  proto_item_set_len(item, offset-old_offset);
210
211
212
0
  return offset;
213
0
}
214
215
216
/* IDL: struct { */
217
/* IDL: } */
218
219
int
220
IWbemServices_dissect_struct_IWbemCallResult(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_)
221
0
{
222
0
  proto_item *item = NULL;
223
0
  int old_offset;
224
225
0
  old_offset = offset;
226
227
0
  if (parent_tree) {
228
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
229
0
  }
230
231
232
0
  proto_item_set_len(item, offset-old_offset);
233
234
235
0
  return offset;
236
0
}
237
238
239
/* IDL: struct { */
240
/* IDL:   uint32 count; */
241
/* IDL:   [size_is(count)] uint8 objects[*]; */
242
/* IDL: } */
243
244
static int
245
IWbemServices_dissect_element_IWbemClassObject_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
246
0
{
247
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_IWbemClassObject_count, 0);
248
249
0
  return offset;
250
0
}
251
252
int
253
IWbemServices_dissect_struct_IWbemClassObject(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_)
254
0
{
255
0
  proto_item *item = NULL;
256
0
  proto_tree *tree = NULL;
257
0
  int old_offset;
258
259
0
  ALIGN_TO_4_BYTES;
260
261
0
  old_offset = offset;
262
263
0
  if (parent_tree) {
264
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
265
0
    tree = proto_item_add_subtree(item, ett_IWbemServices_IWbemClassObject);
266
0
  }
267
268
0
  offset = IWbemServices_dissect_element_IWbemClassObject_count(tvb, offset, pinfo, tree, di, drep);
269
270
0
  offset = IWbemServices_dissect_element_IWbemClassObject_objects(tvb, offset, pinfo, tree, di, drep);
271
272
273
0
  proto_item_set_len(item, offset-old_offset);
274
275
276
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
277
0
    ALIGN_TO_4_BYTES;
278
0
  }
279
280
0
  return offset;
281
0
}
282
283
284
/* IDL: struct { */
285
/* IDL:   uint32 ulCntData; */
286
/* IDL:   [size_is(count)] uint8 abData[*]; */
287
/* IDL: } */
288
289
static int
290
IWbemServices_dissect_element_MInterfacePointer_ulCntData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
291
0
{
292
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_MInterfacePointer_ulCntData, 0);
293
294
0
  return offset;
295
0
}
296
297
static int
298
IWbemServices_dissect_element_MInterfacePointer_abData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
299
0
{
300
0
  offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_MInterfacePointer_abData_);
301
302
0
  return offset;
303
0
}
304
305
static int
306
IWbemServices_dissect_element_MInterfacePointer_abData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
307
0
{
308
0
  offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_MInterfacePointer_abData, 0);
309
310
0
  return offset;
311
0
}
312
313
int
314
IWbemServices_dissect_struct_MInterfacePointer(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_)
315
0
{
316
0
  proto_item *item = NULL;
317
0
  proto_tree *tree = NULL;
318
0
  int old_offset;
319
320
0
  ALIGN_TO_4_BYTES;
321
322
0
  old_offset = offset;
323
324
0
  if (parent_tree) {
325
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
326
0
    tree = proto_item_add_subtree(item, ett_IWbemServices_MInterfacePointer);
327
0
  }
328
329
0
  offset = IWbemServices_dissect_element_MInterfacePointer_ulCntData(tvb, offset, pinfo, tree, di, drep);
330
331
0
  offset = IWbemServices_dissect_element_MInterfacePointer_abData(tvb, offset, pinfo, tree, di, drep);
332
333
334
0
  proto_item_set_len(item, offset-old_offset);
335
336
337
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
338
0
    ALIGN_TO_4_BYTES;
339
0
  }
340
341
0
  return offset;
342
0
}
343
344
345
/* IDL: struct { */
346
/* IDL:   uint32 u; */
347
/* IDL:   [unique(1)] MInterfacePointer *intPtr; */
348
/* IDL: } */
349
350
static int
351
IWbemServices_dissect_element_IWbemContext_u(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
352
0
{
353
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_IWbemContext_u, 0);
354
355
0
  return offset;
356
0
}
357
358
static int
359
IWbemServices_dissect_element_IWbemContext_intPtr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
360
0
{
361
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_IWbemContext_intPtr_, NDR_POINTER_UNIQUE, "Pointer to IntPtr (MInterfacePointer)",hf_IWbemServices_IWbemContext_intPtr);
362
363
0
  return offset;
364
0
}
365
366
static int
367
IWbemServices_dissect_element_IWbemContext_intPtr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
368
0
{
369
0
  offset = IWbemServices_dissect_struct_MInterfacePointer(tvb,offset,pinfo,tree,di,drep,hf_IWbemServices_IWbemContext_intPtr,0);
370
371
0
  return offset;
372
0
}
373
374
int
375
IWbemServices_dissect_struct_IWbemContext(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_)
376
0
{
377
0
  proto_item *item = NULL;
378
0
  proto_tree *tree = NULL;
379
0
  int old_offset;
380
381
0
  ALIGN_TO_5_BYTES;
382
383
0
  old_offset = offset;
384
385
0
  if (parent_tree) {
386
0
    item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
387
0
    tree = proto_item_add_subtree(item, ett_IWbemServices_IWbemContext);
388
0
  }
389
390
0
  offset = IWbemServices_dissect_element_IWbemContext_u(tvb, offset, pinfo, tree, di, drep);
391
392
0
  offset = IWbemServices_dissect_element_IWbemContext_intPtr(tvb, offset, pinfo, tree, di, drep);
393
394
395
0
  proto_item_set_len(item, offset-old_offset);
396
397
398
0
  if (di->call_data->flags & DCERPC_IS_NDR64) {
399
0
    ALIGN_TO_5_BYTES;
400
0
  }
401
402
0
  return offset;
403
0
}
404
405
/* IDL: WERROR iwbemservices_opnum0( */
406
/* IDL:  */
407
/* IDL: ); */
408
409
static int
410
IWbemServices_dissect_iwbemservices_opnum0_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
411
0
{
412
0
  uint32_t status;
413
414
0
  di->dcerpc_procedure_name="iwbemservices_opnum0";
415
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
416
417
0
  if (status != 0)
418
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
419
420
0
  return offset;
421
0
}
422
423
static int
424
IWbemServices_dissect_iwbemservices_opnum0_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
425
0
{
426
0
  di->dcerpc_procedure_name="iwbemservices_opnum0";
427
0
  return offset;
428
0
}
429
430
/* IDL: WERROR iwbemservices_opnum1( */
431
/* IDL:  */
432
/* IDL: ); */
433
434
static int
435
IWbemServices_dissect_iwbemservices_opnum1_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
436
0
{
437
0
  uint32_t status;
438
439
0
  di->dcerpc_procedure_name="iwbemservices_opnum1";
440
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
441
442
0
  if (status != 0)
443
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
444
445
0
  return offset;
446
0
}
447
448
static int
449
IWbemServices_dissect_iwbemservices_opnum1_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
450
0
{
451
0
  di->dcerpc_procedure_name="iwbemservices_opnum1";
452
0
  return offset;
453
0
}
454
455
/* IDL: WERROR iwbemservices_opnum2( */
456
/* IDL:  */
457
/* IDL: ); */
458
459
static int
460
IWbemServices_dissect_iwbemservices_opnum2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
461
0
{
462
0
  uint32_t status;
463
464
0
  di->dcerpc_procedure_name="iwbemservices_opnum2";
465
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
466
467
0
  if (status != 0)
468
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
469
470
0
  return offset;
471
0
}
472
473
static int
474
IWbemServices_dissect_iwbemservices_opnum2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
475
0
{
476
0
  di->dcerpc_procedure_name="iwbemservices_opnum2";
477
0
  return offset;
478
0
}
479
480
/* IDL: WERROR iwbemservices_OpenNamespace( */
481
/* IDL:  */
482
/* IDL: ); */
483
484
static int
485
IWbemServices_dissect_iwbemservices_OpenNamespace_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
486
0
{
487
0
  uint32_t status;
488
489
0
  di->dcerpc_procedure_name="iwbemservices_OpenNamespace";
490
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
491
492
0
  if (status != 0)
493
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
494
495
0
  return offset;
496
0
}
497
498
static int
499
IWbemServices_dissect_iwbemservices_OpenNamespace_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
500
0
{
501
0
  di->dcerpc_procedure_name="iwbemservices_OpenNamespace";
502
0
  return offset;
503
0
}
504
505
/* IDL: WERROR iwbemservices_CancelAsyncCall( */
506
/* IDL:  */
507
/* IDL: ); */
508
509
static int
510
IWbemServices_dissect_iwbemservices_CancelAsyncCall_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
511
0
{
512
0
  uint32_t status;
513
514
0
  di->dcerpc_procedure_name="iwbemservices_CancelAsyncCall";
515
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
516
517
0
  if (status != 0)
518
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
519
520
0
  return offset;
521
0
}
522
523
static int
524
IWbemServices_dissect_iwbemservices_CancelAsyncCall_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
525
0
{
526
0
  di->dcerpc_procedure_name="iwbemservices_CancelAsyncCall";
527
0
  return offset;
528
0
}
529
530
/* IDL: WERROR iwbemservices_QueryObjectSink( */
531
/* IDL:  */
532
/* IDL: ); */
533
534
static int
535
IWbemServices_dissect_iwbemservices_QueryObjectSink_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
536
0
{
537
0
  uint32_t status;
538
539
0
  di->dcerpc_procedure_name="iwbemservices_QueryObjectSink";
540
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
541
542
0
  if (status != 0)
543
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
544
545
0
  return offset;
546
0
}
547
548
static int
549
IWbemServices_dissect_iwbemservices_QueryObjectSink_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
550
0
{
551
0
  di->dcerpc_procedure_name="iwbemservices_QueryObjectSink";
552
0
  return offset;
553
0
}
554
555
static int
556
IWbemServices_dissect_element_GetObject_strObjectPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
557
0
{
558
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_GetObject_strObjectPath_, NDR_POINTER_UNIQUE, "Pointer to StrObjectPath (uint16)",hf_IWbemServices_GetObject_strObjectPath);
559
560
0
  return offset;
561
0
}
562
563
static int
564
IWbemServices_dissect_element_GetObject_lFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
565
0
{
566
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_GetObject_lFlags, 0);
567
568
0
  return offset;
569
0
}
570
571
static int
572
IWbemServices_dissect_element_GetObject_pCtx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
573
0
{
574
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_GetObject_pCtx_, NDR_POINTER_REF, "Pointer to PCtx (IWbemContext)",hf_IWbemServices_GetObject_pCtx);
575
576
0
  return offset;
577
0
}
578
579
static int
580
IWbemServices_dissect_element_GetObject_pCtx_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
581
0
{
582
0
  offset = IWbemServices_dissect_struct_IWbemContext(tvb,offset,pinfo,tree,di,drep,hf_IWbemServices_GetObject_pCtx,0);
583
584
0
  return offset;
585
0
}
586
587
static int
588
IWbemServices_dissect_element_GetObject_orpcthat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
589
0
{
590
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_GetObject_orpcthat_, NDR_POINTER_REF, "Pointer to Orpcthat (ORPCTHAT)",hf_IWbemServices_GetObject_orpcthat);
591
592
0
  return offset;
593
0
}
594
595
static int
596
IWbemServices_dissect_element_GetObject_ppObject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
597
0
{
598
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_GetObject_ppObject_, NDR_POINTER_UNIQUE, "Pointer to PpObject (IWbemClassObject)",hf_IWbemServices_GetObject_ppObject);
599
600
0
  return offset;
601
0
}
602
603
static int
604
IWbemServices_dissect_element_GetObject_ppObject_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
605
0
{
606
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_GetObject_ppObject__, NDR_POINTER_UNIQUE, "Pointer to PpObject (IWbemClassObject)",hf_IWbemServices_GetObject_ppObject);
607
608
0
  return offset;
609
0
}
610
611
static int
612
IWbemServices_dissect_element_GetObject_ppObject__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
613
0
{
614
0
  offset = IWbemServices_dissect_struct_IWbemClassObject(tvb,offset,pinfo,tree,di,drep,hf_IWbemServices_GetObject_ppObject,0);
615
616
0
  return offset;
617
0
}
618
619
static int
620
IWbemServices_dissect_element_GetObject_ppCallResult(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
621
0
{
622
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_GetObject_ppCallResult_, NDR_POINTER_UNIQUE, "Pointer to PpCallResult (IWbemCallResult)",hf_IWbemServices_GetObject_ppCallResult);
623
624
0
  return offset;
625
0
}
626
627
static int
628
IWbemServices_dissect_element_GetObject_ppCallResult_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
629
0
{
630
0
  offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_GetObject_ppCallResult__, NDR_POINTER_UNIQUE, "Pointer to PpCallResult (IWbemCallResult)",hf_IWbemServices_GetObject_ppCallResult);
631
632
0
  return offset;
633
0
}
634
635
static int
636
IWbemServices_dissect_element_GetObject_ppCallResult__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
637
0
{
638
0
  offset = IWbemServices_dissect_struct_IWbemCallResult(tvb,offset,pinfo,tree,di,drep,hf_IWbemServices_GetObject_ppCallResult,0);
639
640
0
  return offset;
641
0
}
642
643
/* IDL: WERROR GetObject( */
644
/* IDL: [in] ORPCTHIS orpcthis, */
645
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *strObjectPath, */
646
/* IDL: [in] uint32 lFlags, */
647
/* IDL: [in] [ref] IWbemContext *pCtx, */
648
/* IDL: [out] [ref] ORPCTHAT *orpcthat, */
649
/* IDL: [in] [out] [unique(1)] IWbemClassObject **ppObject, */
650
/* IDL: [in] [out] [unique(1)] IWbemCallResult **ppCallResult */
651
/* IDL: ); */
652
653
static int
654
IWbemServices_dissect_GetObject_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
655
0
{
656
0
  uint32_t status;
657
658
0
  di->dcerpc_procedure_name="GetObject";
659
0
  offset = IWbemServices_dissect_element_GetObject_orpcthat(tvb, offset, pinfo, tree, di, drep);
660
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
661
662
0
  offset = IWbemServices_dissect_element_GetObject_ppObject(tvb, offset, pinfo, tree, di, drep);
663
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
664
665
0
  offset = IWbemServices_dissect_element_GetObject_ppCallResult(tvb, offset, pinfo, tree, di, drep);
666
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
667
668
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
669
670
0
  if (status != 0)
671
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
672
673
0
  return offset;
674
0
}
675
676
static int
677
IWbemServices_dissect_GetObject_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
678
0
{
679
0
  di->dcerpc_procedure_name="GetObject";
680
0
  offset = IWbemServices_dissect_element_GetObject_orpcthis(tvb, offset, pinfo, tree, di, drep);
681
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
682
0
  offset = IWbemServices_dissect_element_GetObject_strObjectPath(tvb, offset, pinfo, tree, di, drep);
683
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
684
0
  offset = IWbemServices_dissect_element_GetObject_lFlags(tvb, offset, pinfo, tree, di, drep);
685
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
686
0
  offset = IWbemServices_dissect_element_GetObject_pCtx(tvb, offset, pinfo, tree, di, drep);
687
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
688
0
  offset = IWbemServices_dissect_element_GetObject_ppObject(tvb, offset, pinfo, tree, di, drep);
689
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
690
0
  offset = IWbemServices_dissect_element_GetObject_ppCallResult(tvb, offset, pinfo, tree, di, drep);
691
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
692
0
  return offset;
693
0
}
694
695
/* IDL: WERROR iwbemservices_opnum7( */
696
/* IDL:  */
697
/* IDL: ); */
698
699
static int
700
IWbemServices_dissect_iwbemservices_opnum7_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
701
0
{
702
0
  uint32_t status;
703
704
0
  di->dcerpc_procedure_name="iwbemservices_opnum7";
705
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
706
707
0
  if (status != 0)
708
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
709
710
0
  return offset;
711
0
}
712
713
static int
714
IWbemServices_dissect_iwbemservices_opnum7_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
715
0
{
716
0
  di->dcerpc_procedure_name="iwbemservices_opnum7";
717
0
  return offset;
718
0
}
719
720
/* IDL: WERROR iwbemservices_opnum8( */
721
/* IDL:  */
722
/* IDL: ); */
723
724
static int
725
IWbemServices_dissect_iwbemservices_opnum8_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
726
0
{
727
0
  uint32_t status;
728
729
0
  di->dcerpc_procedure_name="iwbemservices_opnum8";
730
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
731
732
0
  if (status != 0)
733
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
734
735
0
  return offset;
736
0
}
737
738
static int
739
IWbemServices_dissect_iwbemservices_opnum8_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
740
0
{
741
0
  di->dcerpc_procedure_name="iwbemservices_opnum8";
742
0
  return offset;
743
0
}
744
745
/* IDL: WERROR iwbemservices_opnum9( */
746
/* IDL:  */
747
/* IDL: ); */
748
749
static int
750
IWbemServices_dissect_iwbemservices_opnum9_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
751
0
{
752
0
  uint32_t status;
753
754
0
  di->dcerpc_procedure_name="iwbemservices_opnum9";
755
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
756
757
0
  if (status != 0)
758
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
759
760
0
  return offset;
761
0
}
762
763
static int
764
IWbemServices_dissect_iwbemservices_opnum9_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
765
0
{
766
0
  di->dcerpc_procedure_name="iwbemservices_opnum9";
767
0
  return offset;
768
0
}
769
770
/* IDL: WERROR iwbemservices_opnum10( */
771
/* IDL:  */
772
/* IDL: ); */
773
774
static int
775
IWbemServices_dissect_iwbemservices_opnum10_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
776
0
{
777
0
  uint32_t status;
778
779
0
  di->dcerpc_procedure_name="iwbemservices_opnum10";
780
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
781
782
0
  if (status != 0)
783
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
784
785
0
  return offset;
786
0
}
787
788
static int
789
IWbemServices_dissect_iwbemservices_opnum10_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
790
0
{
791
0
  di->dcerpc_procedure_name="iwbemservices_opnum10";
792
0
  return offset;
793
0
}
794
795
/* IDL: WERROR iwbemservices_opnum11( */
796
/* IDL:  */
797
/* IDL: ); */
798
799
static int
800
IWbemServices_dissect_iwbemservices_opnum11_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
801
0
{
802
0
  uint32_t status;
803
804
0
  di->dcerpc_procedure_name="iwbemservices_opnum11";
805
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
806
807
0
  if (status != 0)
808
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
809
810
0
  return offset;
811
0
}
812
813
static int
814
IWbemServices_dissect_iwbemservices_opnum11_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
815
0
{
816
0
  di->dcerpc_procedure_name="iwbemservices_opnum11";
817
0
  return offset;
818
0
}
819
820
/* IDL: WERROR iwbemservices_opnum12( */
821
/* IDL:  */
822
/* IDL: ); */
823
824
static int
825
IWbemServices_dissect_iwbemservices_opnum12_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
826
0
{
827
0
  uint32_t status;
828
829
0
  di->dcerpc_procedure_name="iwbemservices_opnum12";
830
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
831
832
0
  if (status != 0)
833
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
834
835
0
  return offset;
836
0
}
837
838
static int
839
IWbemServices_dissect_iwbemservices_opnum12_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
840
0
{
841
0
  di->dcerpc_procedure_name="iwbemservices_opnum12";
842
0
  return offset;
843
0
}
844
845
/* IDL: WERROR iwbemservices_opnum13( */
846
/* IDL:  */
847
/* IDL: ); */
848
849
static int
850
IWbemServices_dissect_iwbemservices_opnum13_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
851
0
{
852
0
  uint32_t status;
853
854
0
  di->dcerpc_procedure_name="iwbemservices_opnum13";
855
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
856
857
0
  if (status != 0)
858
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
859
860
0
  return offset;
861
0
}
862
863
static int
864
IWbemServices_dissect_iwbemservices_opnum13_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
865
0
{
866
0
  di->dcerpc_procedure_name="iwbemservices_opnum13";
867
0
  return offset;
868
0
}
869
870
/* IDL: WERROR iwbemservices_opnum14( */
871
/* IDL:  */
872
/* IDL: ); */
873
874
static int
875
IWbemServices_dissect_iwbemservices_opnum14_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
876
0
{
877
0
  uint32_t status;
878
879
0
  di->dcerpc_procedure_name="iwbemservices_opnum14";
880
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
881
882
0
  if (status != 0)
883
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
884
885
0
  return offset;
886
0
}
887
888
static int
889
IWbemServices_dissect_iwbemservices_opnum14_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
890
0
{
891
0
  di->dcerpc_procedure_name="iwbemservices_opnum14";
892
0
  return offset;
893
0
}
894
895
/* IDL: WERROR iwbemservices_opnum15( */
896
/* IDL:  */
897
/* IDL: ); */
898
899
static int
900
IWbemServices_dissect_iwbemservices_opnum15_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
901
0
{
902
0
  uint32_t status;
903
904
0
  di->dcerpc_procedure_name="iwbemservices_opnum15";
905
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
906
907
0
  if (status != 0)
908
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
909
910
0
  return offset;
911
0
}
912
913
static int
914
IWbemServices_dissect_iwbemservices_opnum15_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
915
0
{
916
0
  di->dcerpc_procedure_name="iwbemservices_opnum15";
917
0
  return offset;
918
0
}
919
920
/* IDL: WERROR iwbemservices_opnum16( */
921
/* IDL:  */
922
/* IDL: ); */
923
924
static int
925
IWbemServices_dissect_iwbemservices_opnum16_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
926
0
{
927
0
  uint32_t status;
928
929
0
  di->dcerpc_procedure_name="iwbemservices_opnum16";
930
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
931
932
0
  if (status != 0)
933
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
934
935
0
  return offset;
936
0
}
937
938
static int
939
IWbemServices_dissect_iwbemservices_opnum16_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
940
0
{
941
0
  di->dcerpc_procedure_name="iwbemservices_opnum16";
942
0
  return offset;
943
0
}
944
945
/* IDL: WERROR iwbemservices_opnum17( */
946
/* IDL:  */
947
/* IDL: ); */
948
949
static int
950
IWbemServices_dissect_iwbemservices_opnum17_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
951
0
{
952
0
  uint32_t status;
953
954
0
  di->dcerpc_procedure_name="iwbemservices_opnum17";
955
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
956
957
0
  if (status != 0)
958
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
959
960
0
  return offset;
961
0
}
962
963
static int
964
IWbemServices_dissect_iwbemservices_opnum17_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
965
0
{
966
0
  di->dcerpc_procedure_name="iwbemservices_opnum17";
967
0
  return offset;
968
0
}
969
970
/* IDL: WERROR iwbemservices_opnum18( */
971
/* IDL:  */
972
/* IDL: ); */
973
974
static int
975
IWbemServices_dissect_iwbemservices_opnum18_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
976
0
{
977
0
  uint32_t status;
978
979
0
  di->dcerpc_procedure_name="iwbemservices_opnum18";
980
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
981
982
0
  if (status != 0)
983
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
984
985
0
  return offset;
986
0
}
987
988
static int
989
IWbemServices_dissect_iwbemservices_opnum18_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
990
0
{
991
0
  di->dcerpc_procedure_name="iwbemservices_opnum18";
992
0
  return offset;
993
0
}
994
995
/* IDL: WERROR iwbemservices_opnum19( */
996
/* IDL:  */
997
/* IDL: ); */
998
999
static int
1000
IWbemServices_dissect_iwbemservices_opnum19_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1001
0
{
1002
0
  uint32_t status;
1003
1004
0
  di->dcerpc_procedure_name="iwbemservices_opnum19";
1005
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
1006
1007
0
  if (status != 0)
1008
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1009
1010
0
  return offset;
1011
0
}
1012
1013
static int
1014
IWbemServices_dissect_iwbemservices_opnum19_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1015
0
{
1016
0
  di->dcerpc_procedure_name="iwbemservices_opnum19";
1017
0
  return offset;
1018
0
}
1019
1020
/* IDL: WERROR iwbemservices_opnum20( */
1021
/* IDL:  */
1022
/* IDL: ); */
1023
1024
static int
1025
IWbemServices_dissect_iwbemservices_opnum20_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1026
0
{
1027
0
  uint32_t status;
1028
1029
0
  di->dcerpc_procedure_name="iwbemservices_opnum20";
1030
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
1031
1032
0
  if (status != 0)
1033
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1034
1035
0
  return offset;
1036
0
}
1037
1038
static int
1039
IWbemServices_dissect_iwbemservices_opnum20_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1040
0
{
1041
0
  di->dcerpc_procedure_name="iwbemservices_opnum20";
1042
0
  return offset;
1043
0
}
1044
1045
/* IDL: WERROR iwbemservices_opnum21( */
1046
/* IDL:  */
1047
/* IDL: ); */
1048
1049
static int
1050
IWbemServices_dissect_iwbemservices_opnum21_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1051
0
{
1052
0
  uint32_t status;
1053
1054
0
  di->dcerpc_procedure_name="iwbemservices_opnum21";
1055
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
1056
1057
0
  if (status != 0)
1058
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1059
1060
0
  return offset;
1061
0
}
1062
1063
static int
1064
IWbemServices_dissect_iwbemservices_opnum21_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1065
0
{
1066
0
  di->dcerpc_procedure_name="iwbemservices_opnum21";
1067
0
  return offset;
1068
0
}
1069
1070
/* IDL: WERROR iwbemservices_opnum22( */
1071
/* IDL:  */
1072
/* IDL: ); */
1073
1074
static int
1075
IWbemServices_dissect_iwbemservices_opnum22_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1076
0
{
1077
0
  uint32_t status;
1078
1079
0
  di->dcerpc_procedure_name="iwbemservices_opnum22";
1080
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
1081
1082
0
  if (status != 0)
1083
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1084
1085
0
  return offset;
1086
0
}
1087
1088
static int
1089
IWbemServices_dissect_iwbemservices_opnum22_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1090
0
{
1091
0
  di->dcerpc_procedure_name="iwbemservices_opnum22";
1092
0
  return offset;
1093
0
}
1094
1095
/* IDL: WERROR iwbemservices_opnum23( */
1096
/* IDL:  */
1097
/* IDL: ); */
1098
1099
static int
1100
IWbemServices_dissect_iwbemservices_opnum23_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1101
0
{
1102
0
  uint32_t status;
1103
1104
0
  di->dcerpc_procedure_name="iwbemservices_opnum23";
1105
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
1106
1107
0
  if (status != 0)
1108
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1109
1110
0
  return offset;
1111
0
}
1112
1113
static int
1114
IWbemServices_dissect_iwbemservices_opnum23_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1115
0
{
1116
0
  di->dcerpc_procedure_name="iwbemservices_opnum23";
1117
0
  return offset;
1118
0
}
1119
1120
static int
1121
IWbemServices_dissect_element_ExecMethod_strObjectPath(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1122
0
{
1123
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_ExecMethod_strObjectPath_, NDR_POINTER_UNIQUE, "Pointer to StrObjectPath (uint16)",hf_IWbemServices_ExecMethod_strObjectPath);
1124
1125
0
  return offset;
1126
0
}
1127
1128
static int
1129
IWbemServices_dissect_element_ExecMethod_strObjectPath_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1130
0
{
1131
0
  char *data;
1132
1133
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_IWbemServices_ExecMethod_strObjectPath, false, &data);
1134
0
  proto_item_append_text(tree, ": %s", data);
1135
1136
0
  return offset;
1137
0
}
1138
1139
static int
1140
IWbemServices_dissect_element_ExecMethod_strMethodName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1141
0
{
1142
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_ExecMethod_strMethodName_, NDR_POINTER_UNIQUE, "Pointer to StrMethodName (uint16)",hf_IWbemServices_ExecMethod_strMethodName);
1143
1144
0
  return offset;
1145
0
}
1146
1147
static int
1148
IWbemServices_dissect_element_ExecMethod_strMethodName_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1149
0
{
1150
0
  char *data;
1151
1152
0
  offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_IWbemServices_ExecMethod_strMethodName, false, &data);
1153
0
  proto_item_append_text(tree, ": %s", data);
1154
1155
0
  return offset;
1156
0
}
1157
1158
static int
1159
IWbemServices_dissect_element_ExecMethod_lFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1160
0
{
1161
0
  offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_ExecMethod_lFlags, 0);
1162
1163
0
  return offset;
1164
0
}
1165
1166
static int
1167
IWbemServices_dissect_element_ExecMethod_orpcthat(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1168
0
{
1169
0
  offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, IWbemServices_dissect_element_ExecMethod_orpcthat_, NDR_POINTER_REF, "Pointer to Orpcthat (ORPCTHAT)",hf_IWbemServices_ExecMethod_orpcthat);
1170
1171
0
  return offset;
1172
0
}
1173
1174
/* IDL: WERROR ExecMethod( */
1175
/* IDL: [in] ORPCTHIS orpcthis, */
1176
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *strObjectPath, */
1177
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *strMethodName, */
1178
/* IDL: [in] uint32 lFlags, */
1179
/* IDL: [out] [ref] ORPCTHAT *orpcthat */
1180
/* IDL: ); */
1181
1182
static int
1183
IWbemServices_dissect_ExecMethod_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1184
0
{
1185
0
  uint32_t status;
1186
1187
0
  di->dcerpc_procedure_name="ExecMethod";
1188
0
  offset = IWbemServices_dissect_element_ExecMethod_orpcthat(tvb, offset, pinfo, tree, di, drep);
1189
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1190
1191
0
  offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_IWbemServices_werror, &status);
1192
1193
0
  if (status != 0)
1194
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &WERR_errors_ext, "Unknown DOS error 0x%08x"));
1195
1196
0
  return offset;
1197
0
}
1198
1199
static int
1200
IWbemServices_dissect_ExecMethod_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
1201
0
{
1202
0
  di->dcerpc_procedure_name="ExecMethod";
1203
0
  offset = IWbemServices_dissect_element_ExecMethod_orpcthis(tvb, offset, pinfo, tree, di, drep);
1204
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1205
0
  offset = IWbemServices_dissect_element_ExecMethod_strObjectPath(tvb, offset, pinfo, tree, di, drep);
1206
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1207
0
  offset = IWbemServices_dissect_element_ExecMethod_strMethodName(tvb, offset, pinfo, tree, di, drep);
1208
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1209
0
  offset = IWbemServices_dissect_element_ExecMethod_lFlags(tvb, offset, pinfo, tree, di, drep);
1210
0
  offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
1211
0
  return offset;
1212
0
}
1213
1214
1215
static const dcerpc_sub_dissector IWbemServices_dissectors[] = {
1216
  { 0, "iwbemservices_opnum0",
1217
     IWbemServices_dissect_iwbemservices_opnum0_request, IWbemServices_dissect_iwbemservices_opnum0_response},
1218
  { 1, "iwbemservices_opnum1",
1219
     IWbemServices_dissect_iwbemservices_opnum1_request, IWbemServices_dissect_iwbemservices_opnum1_response},
1220
  { 2, "iwbemservices_opnum2",
1221
     IWbemServices_dissect_iwbemservices_opnum2_request, IWbemServices_dissect_iwbemservices_opnum2_response},
1222
  { 3, "iwbemservices_OpenNamespace",
1223
     IWbemServices_dissect_iwbemservices_OpenNamespace_request, IWbemServices_dissect_iwbemservices_OpenNamespace_response},
1224
  { 4, "iwbemservices_CancelAsyncCall",
1225
     IWbemServices_dissect_iwbemservices_CancelAsyncCall_request, IWbemServices_dissect_iwbemservices_CancelAsyncCall_response},
1226
  { 5, "iwbemservices_QueryObjectSink",
1227
     IWbemServices_dissect_iwbemservices_QueryObjectSink_request, IWbemServices_dissect_iwbemservices_QueryObjectSink_response},
1228
  { 6, "GetObject",
1229
     IWbemServices_dissect_GetObject_request, IWbemServices_dissect_GetObject_response},
1230
  { 7, "iwbemservices_opnum7",
1231
     IWbemServices_dissect_iwbemservices_opnum7_request, IWbemServices_dissect_iwbemservices_opnum7_response},
1232
  { 8, "iwbemservices_opnum8",
1233
     IWbemServices_dissect_iwbemservices_opnum8_request, IWbemServices_dissect_iwbemservices_opnum8_response},
1234
  { 9, "iwbemservices_opnum9",
1235
     IWbemServices_dissect_iwbemservices_opnum9_request, IWbemServices_dissect_iwbemservices_opnum9_response},
1236
  { 10, "iwbemservices_opnum10",
1237
     IWbemServices_dissect_iwbemservices_opnum10_request, IWbemServices_dissect_iwbemservices_opnum10_response},
1238
  { 11, "iwbemservices_opnum11",
1239
     IWbemServices_dissect_iwbemservices_opnum11_request, IWbemServices_dissect_iwbemservices_opnum11_response},
1240
  { 12, "iwbemservices_opnum12",
1241
     IWbemServices_dissect_iwbemservices_opnum12_request, IWbemServices_dissect_iwbemservices_opnum12_response},
1242
  { 13, "iwbemservices_opnum13",
1243
     IWbemServices_dissect_iwbemservices_opnum13_request, IWbemServices_dissect_iwbemservices_opnum13_response},
1244
  { 14, "iwbemservices_opnum14",
1245
     IWbemServices_dissect_iwbemservices_opnum14_request, IWbemServices_dissect_iwbemservices_opnum14_response},
1246
  { 15, "iwbemservices_opnum15",
1247
     IWbemServices_dissect_iwbemservices_opnum15_request, IWbemServices_dissect_iwbemservices_opnum15_response},
1248
  { 16, "iwbemservices_opnum16",
1249
     IWbemServices_dissect_iwbemservices_opnum16_request, IWbemServices_dissect_iwbemservices_opnum16_response},
1250
  { 17, "iwbemservices_opnum17",
1251
     IWbemServices_dissect_iwbemservices_opnum17_request, IWbemServices_dissect_iwbemservices_opnum17_response},
1252
  { 18, "iwbemservices_opnum18",
1253
     IWbemServices_dissect_iwbemservices_opnum18_request, IWbemServices_dissect_iwbemservices_opnum18_response},
1254
  { 19, "iwbemservices_opnum19",
1255
     IWbemServices_dissect_iwbemservices_opnum19_request, IWbemServices_dissect_iwbemservices_opnum19_response},
1256
  { 20, "iwbemservices_opnum20",
1257
     IWbemServices_dissect_iwbemservices_opnum20_request, IWbemServices_dissect_iwbemservices_opnum20_response},
1258
  { 21, "iwbemservices_opnum21",
1259
     IWbemServices_dissect_iwbemservices_opnum21_request, IWbemServices_dissect_iwbemservices_opnum21_response},
1260
  { 22, "iwbemservices_opnum22",
1261
     IWbemServices_dissect_iwbemservices_opnum22_request, IWbemServices_dissect_iwbemservices_opnum22_response},
1262
  { 23, "iwbemservices_opnum23",
1263
     IWbemServices_dissect_iwbemservices_opnum23_request, IWbemServices_dissect_iwbemservices_opnum23_response},
1264
  { 24, "ExecMethod",
1265
     IWbemServices_dissect_ExecMethod_request, IWbemServices_dissect_ExecMethod_response},
1266
  { 0, NULL, NULL, NULL }
1267
};
1268
1269
void proto_register_dcerpc_IWbemServices(void)
1270
14
{
1271
14
  static hf_register_info hf[] = {
1272
14
  { &hf_IWbemServices_ExecMethod_lFlags,
1273
14
    { "LFlags", "IWbemServices.ExecMethod.lFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1274
14
  { &hf_IWbemServices_ExecMethod_orpcthat,
1275
14
    { "Orpcthat", "IWbemServices.ExecMethod.orpcthat", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1276
14
  { &hf_IWbemServices_ExecMethod_orpcthis,
1277
14
    { "Orpcthis", "IWbemServices.ExecMethod.orpcthis", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1278
14
  { &hf_IWbemServices_ExecMethod_strMethodName,
1279
14
    { "StrMethodName", "IWbemServices.ExecMethod.strMethodName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1280
14
  { &hf_IWbemServices_ExecMethod_strObjectPath,
1281
14
    { "StrObjectPath", "IWbemServices.ExecMethod.strObjectPath", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1282
14
  { &hf_IWbemServices_GetObject_lFlags,
1283
14
    { "LFlags", "IWbemServices.GetObject.lFlags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1284
14
  { &hf_IWbemServices_GetObject_orpcthat,
1285
14
    { "Orpcthat", "IWbemServices.GetObject.orpcthat", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1286
14
  { &hf_IWbemServices_GetObject_orpcthis,
1287
14
    { "Orpcthis", "IWbemServices.GetObject.orpcthis", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1288
14
  { &hf_IWbemServices_GetObject_pCtx,
1289
14
    { "PCtx", "IWbemServices.GetObject.pCtx", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1290
14
  { &hf_IWbemServices_GetObject_ppCallResult,
1291
14
    { "PpCallResult", "IWbemServices.GetObject.ppCallResult", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1292
14
  { &hf_IWbemServices_GetObject_ppObject,
1293
14
    { "PpObject", "IWbemServices.GetObject.ppObject", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1294
14
  { &hf_IWbemServices_GetObject_strObjectPath,
1295
14
    { "StrObjectPath", "IWbemServices.GetObject.strObjectPath", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1296
14
  { &hf_IWbemServices_IWbemClassObject_count,
1297
14
    { "Count", "IWbemServices.IWbemClassObject.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1298
14
  { &hf_IWbemServices_IWbemClassObject_objects,
1299
14
    { "Objects", "IWbemServices.IWbemClassObject.objects", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1300
14
  { &hf_IWbemServices_IWbemContext_intPtr,
1301
14
    { "IntPtr", "IWbemServices.IWbemContext.intPtr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1302
14
  { &hf_IWbemServices_IWbemContext_u,
1303
14
    { "U", "IWbemServices.IWbemContext.u", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1304
14
  { &hf_IWbemServices_MInterfacePointer_abData,
1305
14
    { "AbData", "IWbemServices.MInterfacePointer.abData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1306
14
  { &hf_IWbemServices_MInterfacePointer_ulCntData,
1307
14
    { "UlCntData", "IWbemServices.MInterfacePointer.ulCntData", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1308
14
  { &hf_IWbemServices_opnum,
1309
14
    { "Operation", "IWbemServices.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1310
14
  { &hf_IWbemServices_werror,
1311
14
    { "Windows Error", "IWbemServices.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }},
1312
14
  };
1313
1314
1315
14
  static int *ett[] = {
1316
14
    &ett_IWbemServices_GetObject_orpcthis,
1317
14
    &ett_IWbemServices_GetObject_orpcthat,
1318
14
    &ett_IWbemServices_ExecMethod_orpcthis,
1319
14
    &ett_IWbemServices_ExecMethod_orpcthat,
1320
14
    &ett_dcerpc_IWbemServices,
1321
14
    &ett_IWbemServices_ORPCTHIS,
1322
14
    &ett_IWbemServices_ORPCTHAT,
1323
14
    &ett_IWbemServices_IWbemCallResult,
1324
14
    &ett_IWbemServices_IWbemClassObject,
1325
14
    &ett_IWbemServices_MInterfacePointer,
1326
14
    &ett_IWbemServices_IWbemContext,
1327
14
  };
1328
1329
14
  proto_dcerpc_IWbemServices = proto_register_protocol("IWBEMSERVICES (pidl)", "IWBEMSERVICES", "IWbemServices");
1330
14
  proto_register_field_array(proto_dcerpc_IWbemServices, hf, array_length (hf));
1331
14
  proto_register_subtree_array(ett, array_length(ett));
1332
14
}
1333
1334
void proto_reg_handoff_dcerpc_IWbemServices(void)
1335
14
{
1336
14
  dcerpc_init_uuid(proto_dcerpc_IWbemServices, ett_dcerpc_IWbemServices,
1337
14
    &uuid_dcerpc_IWbemServices, ver_dcerpc_IWbemServices,
1338
14
    IWbemServices_dissectors, hf_IWbemServices_opnum);
1339
14
}