1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4
5
6
7/* this ALWAYS GENERATED file contains the definitions for the interfaces */
8
9
10 /* File created by MIDL compiler version 8.00.0603 */
11/* @@MIDL_FILE_HEADING( ) */
12
13#pragma warning( disable: 4049 ) /* more than 64k source lines */
14
15
16/* verify that the <rpcndr.h> version is high enough to compile this file*/
17#ifndef __REQUIRED_RPCNDR_H_VERSION__
18#define __REQUIRED_RPCNDR_H_VERSION__ 475
19#endif
20
21#include "rpc.h"
22#include "rpcndr.h"
23
24#ifndef __RPCNDR_H_VERSION__
25#error this stub requires an updated version of <rpcndr.h>
26#endif // __RPCNDR_H_VERSION__
27
28#ifndef COM_NO_WINDOWS_H
29#include "windows.h"
30#include "ole2.h"
31#endif /*COM_NO_WINDOWS_H*/
32
33#ifndef __xclrdata_h__
34#define __xclrdata_h__
35
36#if defined(_MSC_VER) && (_MSC_VER >= 1020)
37#pragma once
38#endif
39
40/* Forward Declarations */
41
42#ifndef __IXCLRDataTarget3_FWD_DEFINED__
43#define __IXCLRDataTarget3_FWD_DEFINED__
44typedef interface IXCLRDataTarget3 IXCLRDataTarget3;
45
46#endif /* __IXCLRDataTarget3_FWD_DEFINED__ */
47
48
49#ifndef __IXCLRLibrarySupport_FWD_DEFINED__
50#define __IXCLRLibrarySupport_FWD_DEFINED__
51typedef interface IXCLRLibrarySupport IXCLRLibrarySupport;
52
53#endif /* __IXCLRLibrarySupport_FWD_DEFINED__ */
54
55
56#ifndef __IXCLRDisassemblySupport_FWD_DEFINED__
57#define __IXCLRDisassemblySupport_FWD_DEFINED__
58typedef interface IXCLRDisassemblySupport IXCLRDisassemblySupport;
59
60#endif /* __IXCLRDisassemblySupport_FWD_DEFINED__ */
61
62
63#ifndef __IXCLRDataDisplay_FWD_DEFINED__
64#define __IXCLRDataDisplay_FWD_DEFINED__
65typedef interface IXCLRDataDisplay IXCLRDataDisplay;
66
67#endif /* __IXCLRDataDisplay_FWD_DEFINED__ */
68
69
70#ifndef __IXCLRDataProcess_FWD_DEFINED__
71#define __IXCLRDataProcess_FWD_DEFINED__
72typedef interface IXCLRDataProcess IXCLRDataProcess;
73
74#endif /* __IXCLRDataProcess_FWD_DEFINED__ */
75
76
77#ifndef __IXCLRDataProcess2_FWD_DEFINED__
78#define __IXCLRDataProcess2_FWD_DEFINED__
79typedef interface IXCLRDataProcess2 IXCLRDataProcess2;
80
81#endif /* __IXCLRDataProcess2_FWD_DEFINED__ */
82
83
84#ifndef __IXCLRDataAppDomain_FWD_DEFINED__
85#define __IXCLRDataAppDomain_FWD_DEFINED__
86typedef interface IXCLRDataAppDomain IXCLRDataAppDomain;
87
88#endif /* __IXCLRDataAppDomain_FWD_DEFINED__ */
89
90
91#ifndef __IXCLRDataAssembly_FWD_DEFINED__
92#define __IXCLRDataAssembly_FWD_DEFINED__
93typedef interface IXCLRDataAssembly IXCLRDataAssembly;
94
95#endif /* __IXCLRDataAssembly_FWD_DEFINED__ */
96
97
98#ifndef __IXCLRDataModule_FWD_DEFINED__
99#define __IXCLRDataModule_FWD_DEFINED__
100typedef interface IXCLRDataModule IXCLRDataModule;
101
102#endif /* __IXCLRDataModule_FWD_DEFINED__ */
103
104
105#ifndef __IXCLRDataModule2_FWD_DEFINED__
106#define __IXCLRDataModule2_FWD_DEFINED__
107typedef interface IXCLRDataModule2 IXCLRDataModule2;
108
109#endif /* __IXCLRDataModule2_FWD_DEFINED__ */
110
111
112#ifndef __IXCLRDataTypeDefinition_FWD_DEFINED__
113#define __IXCLRDataTypeDefinition_FWD_DEFINED__
114typedef interface IXCLRDataTypeDefinition IXCLRDataTypeDefinition;
115
116#endif /* __IXCLRDataTypeDefinition_FWD_DEFINED__ */
117
118
119#ifndef __IXCLRDataTypeInstance_FWD_DEFINED__
120#define __IXCLRDataTypeInstance_FWD_DEFINED__
121typedef interface IXCLRDataTypeInstance IXCLRDataTypeInstance;
122
123#endif /* __IXCLRDataTypeInstance_FWD_DEFINED__ */
124
125
126#ifndef __IXCLRDataMethodDefinition_FWD_DEFINED__
127#define __IXCLRDataMethodDefinition_FWD_DEFINED__
128typedef interface IXCLRDataMethodDefinition IXCLRDataMethodDefinition;
129
130#endif /* __IXCLRDataMethodDefinition_FWD_DEFINED__ */
131
132
133#ifndef __IXCLRDataMethodInstance_FWD_DEFINED__
134#define __IXCLRDataMethodInstance_FWD_DEFINED__
135typedef interface IXCLRDataMethodInstance IXCLRDataMethodInstance;
136
137#endif /* __IXCLRDataMethodInstance_FWD_DEFINED__ */
138
139
140#ifndef __IXCLRDataTask_FWD_DEFINED__
141#define __IXCLRDataTask_FWD_DEFINED__
142typedef interface IXCLRDataTask IXCLRDataTask;
143
144#endif /* __IXCLRDataTask_FWD_DEFINED__ */
145
146
147#ifndef __IXCLRDataStackWalk_FWD_DEFINED__
148#define __IXCLRDataStackWalk_FWD_DEFINED__
149typedef interface IXCLRDataStackWalk IXCLRDataStackWalk;
150
151#endif /* __IXCLRDataStackWalk_FWD_DEFINED__ */
152
153
154#ifndef __IXCLRDataFrame_FWD_DEFINED__
155#define __IXCLRDataFrame_FWD_DEFINED__
156typedef interface IXCLRDataFrame IXCLRDataFrame;
157
158#endif /* __IXCLRDataFrame_FWD_DEFINED__ */
159
160
161#ifndef __IXCLRDataFrame2_FWD_DEFINED__
162#define __IXCLRDataFrame2_FWD_DEFINED__
163typedef interface IXCLRDataFrame2 IXCLRDataFrame2;
164
165#endif /* __IXCLRDataFrame2_FWD_DEFINED__ */
166
167
168#ifndef __IXCLRDataExceptionState_FWD_DEFINED__
169#define __IXCLRDataExceptionState_FWD_DEFINED__
170typedef interface IXCLRDataExceptionState IXCLRDataExceptionState;
171
172#endif /* __IXCLRDataExceptionState_FWD_DEFINED__ */
173
174
175#ifndef __IXCLRDataValue_FWD_DEFINED__
176#define __IXCLRDataValue_FWD_DEFINED__
177typedef interface IXCLRDataValue IXCLRDataValue;
178
179#endif /* __IXCLRDataValue_FWD_DEFINED__ */
180
181
182#ifndef __IXCLRDataExceptionNotification_FWD_DEFINED__
183#define __IXCLRDataExceptionNotification_FWD_DEFINED__
184typedef interface IXCLRDataExceptionNotification IXCLRDataExceptionNotification;
185
186#endif /* __IXCLRDataExceptionNotification_FWD_DEFINED__ */
187
188
189#ifndef __IXCLRDataExceptionNotification2_FWD_DEFINED__
190#define __IXCLRDataExceptionNotification2_FWD_DEFINED__
191typedef interface IXCLRDataExceptionNotification2 IXCLRDataExceptionNotification2;
192
193#endif /* __IXCLRDataExceptionNotification2_FWD_DEFINED__ */
194
195
196#ifndef __IXCLRDataExceptionNotification3_FWD_DEFINED__
197#define __IXCLRDataExceptionNotification3_FWD_DEFINED__
198typedef interface IXCLRDataExceptionNotification3 IXCLRDataExceptionNotification3;
199
200#endif /* __IXCLRDataExceptionNotification3_FWD_DEFINED__ */
201
202
203#ifndef __IXCLRDataExceptionNotification4_FWD_DEFINED__
204#define __IXCLRDataExceptionNotification4_FWD_DEFINED__
205typedef interface IXCLRDataExceptionNotification4 IXCLRDataExceptionNotification4;
206
207#endif /* __IXCLRDataExceptionNotification4_FWD_DEFINED__ */
208
209
210/* header files for imported files */
211#include "clrdata.h"
212
213#ifdef __cplusplus
214extern "C"{
215#endif
216
217
218/* interface __MIDL_itf_xclrdata_0000_0000 */
219/* [local] */
220
221#if 0
222typedef UINT32 mdToken;
223
224typedef mdToken mdTypeDef;
225
226typedef mdToken mdMethodDef;
227
228typedef mdToken mdFieldDef;
229
230typedef ULONG CorElementType;
231
232typedef struct _EXCEPTION_RECORD64
233 {
234 DWORD ExceptionCode;
235 DWORD ExceptionFlags;
236 DWORD64 ExceptionRecord;
237 DWORD64 ExceptionAddress;
238 DWORD NumberParameters;
239 DWORD __unusedAlignment;
240 DWORD64 ExceptionInformation[ 15 ];
241 } EXCEPTION_RECORD64;
242
243typedef struct _EXCEPTION_RECORD64 *PEXCEPTION_RECORD64;
244
245#endif
246#pragma warning(push)
247#pragma warning(disable:28718)
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266#pragma warning(pop)
267typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_xclrdata_0000_0000_0001
268 {
269 CLRDATA_ADDRESS startAddress;
270 CLRDATA_ADDRESS endAddress;
271 } CLRDATA_ADDRESS_RANGE;
272
273typedef ULONG64 CLRDATA_ENUM;
274
275#define CLRDATA_NOTIFY_EXCEPTION 0xe0444143
276typedef /* [public] */
277enum __MIDL___MIDL_itf_xclrdata_0000_0000_0002
278 {
279 CLRDATA_REQUEST_REVISION = 0xe0000000
280 } CLRDataGeneralRequest;
281
282typedef /* [public] */
283enum __MIDL___MIDL_itf_xclrdata_0000_0000_0003
284 {
285 CLRDATA_TYPE_DEFAULT = 0,
286 CLRDATA_TYPE_IS_PRIMITIVE = 0x1,
287 CLRDATA_TYPE_IS_VALUE_TYPE = 0x2,
288 CLRDATA_TYPE_IS_STRING = 0x4,
289 CLRDATA_TYPE_IS_ARRAY = 0x8,
290 CLRDATA_TYPE_IS_REFERENCE = 0x10,
291 CLRDATA_TYPE_IS_POINTER = 0x20,
292 CLRDATA_TYPE_IS_ENUM = 0x40,
293 CLRDATA_TYPE_ALL_KINDS = 0x7f
294 } CLRDataTypeFlag;
295
296typedef /* [public] */
297enum __MIDL___MIDL_itf_xclrdata_0000_0000_0004
298 {
299 CLRDATA_FIELD_DEFAULT = 0,
300 CLRDATA_FIELD_IS_PRIMITIVE = CLRDATA_TYPE_IS_PRIMITIVE,
301 CLRDATA_FIELD_IS_VALUE_TYPE = CLRDATA_TYPE_IS_VALUE_TYPE,
302 CLRDATA_FIELD_IS_STRING = CLRDATA_TYPE_IS_STRING,
303 CLRDATA_FIELD_IS_ARRAY = CLRDATA_TYPE_IS_ARRAY,
304 CLRDATA_FIELD_IS_REFERENCE = CLRDATA_TYPE_IS_REFERENCE,
305 CLRDATA_FIELD_IS_POINTER = CLRDATA_TYPE_IS_POINTER,
306 CLRDATA_FIELD_IS_ENUM = CLRDATA_TYPE_IS_ENUM,
307 CLRDATA_FIELD_ALL_KINDS = CLRDATA_TYPE_ALL_KINDS,
308 CLRDATA_FIELD_IS_INHERITED = 0x80,
309 CLRDATA_FIELD_IS_LITERAL = 0x100,
310 CLRDATA_FIELD_FROM_INSTANCE = 0x200,
311 CLRDATA_FIELD_FROM_TASK_LOCAL = 0x400,
312 CLRDATA_FIELD_FROM_STATIC = 0x800,
313 CLRDATA_FIELD_ALL_LOCATIONS = 0xe00,
314 CLRDATA_FIELD_ALL_FIELDS = 0xeff
315 } CLRDataFieldFlag;
316
317typedef /* [public] */
318enum __MIDL___MIDL_itf_xclrdata_0000_0000_0005
319 {
320 CLRDATA_VALUE_DEFAULT = 0,
321 CLRDATA_VALUE_IS_PRIMITIVE = CLRDATA_TYPE_IS_PRIMITIVE,
322 CLRDATA_VALUE_IS_VALUE_TYPE = CLRDATA_TYPE_IS_VALUE_TYPE,
323 CLRDATA_VALUE_IS_STRING = CLRDATA_TYPE_IS_STRING,
324 CLRDATA_VALUE_IS_ARRAY = CLRDATA_TYPE_IS_ARRAY,
325 CLRDATA_VALUE_IS_REFERENCE = CLRDATA_TYPE_IS_REFERENCE,
326 CLRDATA_VALUE_IS_POINTER = CLRDATA_TYPE_IS_POINTER,
327 CLRDATA_VALUE_IS_ENUM = CLRDATA_TYPE_IS_ENUM,
328 CLRDATA_VALUE_ALL_KINDS = CLRDATA_TYPE_ALL_KINDS,
329 CLRDATA_VALUE_IS_INHERITED = CLRDATA_FIELD_IS_INHERITED,
330 CLRDATA_VALUE_IS_LITERAL = CLRDATA_FIELD_IS_LITERAL,
331 CLRDATA_VALUE_FROM_INSTANCE = CLRDATA_FIELD_FROM_INSTANCE,
332 CLRDATA_VALUE_FROM_TASK_LOCAL = CLRDATA_FIELD_FROM_TASK_LOCAL,
333 CLRDATA_VALUE_FROM_STATIC = CLRDATA_FIELD_FROM_STATIC,
334 CLRDATA_VALUE_ALL_LOCATIONS = CLRDATA_FIELD_ALL_LOCATIONS,
335 CLRDATA_VALUE_ALL_FIELDS = CLRDATA_FIELD_ALL_FIELDS,
336 CLRDATA_VALUE_IS_BOXED = 0x1000
337 } CLRDataValueFlag;
338
339
340
341extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0000_v0_0_c_ifspec;
342extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0000_v0_0_s_ifspec;
343
344#ifndef __IXCLRDataTarget3_INTERFACE_DEFINED__
345#define __IXCLRDataTarget3_INTERFACE_DEFINED__
346
347/* interface IXCLRDataTarget3 */
348/* [unique][uuid][local][object] */
349
350
351EXTERN_C const IID IID_IXCLRDataTarget3;
352
353#if defined(__cplusplus) && !defined(CINTERFACE)
354
355 MIDL_INTERFACE("59d9b5e1-4a6f-4531-84c3-51d12da22fd4")
356 IXCLRDataTarget3 : public ICLRDataTarget2
357 {
358 public:
359 virtual HRESULT STDMETHODCALLTYPE GetMetaData(
360 /* [in] */ LPCWSTR imagePath,
361 /* [in] */ ULONG32 imageTimestamp,
362 /* [in] */ ULONG32 imageSize,
363 /* [in] */ GUID *mvid,
364 /* [in] */ ULONG32 mdRva,
365 /* [in] */ ULONG32 flags,
366 /* [in] */ ULONG32 bufferSize,
367 /* [length_is][size_is][out] */ BYTE *buffer,
368 /* [out] */ ULONG32 *dataSize) = 0;
369
370 };
371
372
373#else /* C style interface */
374
375 typedef struct IXCLRDataTarget3Vtbl
376 {
377 BEGIN_INTERFACE
378
379 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
380 IXCLRDataTarget3 * This,
381 /* [in] */ REFIID riid,
382 /* [annotation][iid_is][out] */
383 _COM_Outptr_ void **ppvObject);
384
385 ULONG ( STDMETHODCALLTYPE *AddRef )(
386 IXCLRDataTarget3 * This);
387
388 ULONG ( STDMETHODCALLTYPE *Release )(
389 IXCLRDataTarget3 * This);
390
391 HRESULT ( STDMETHODCALLTYPE *GetMachineType )(
392 IXCLRDataTarget3 * This,
393 /* [out] */ ULONG32 *machineType);
394
395 HRESULT ( STDMETHODCALLTYPE *GetPointerSize )(
396 IXCLRDataTarget3 * This,
397 /* [out] */ ULONG32 *pointerSize);
398
399 HRESULT ( STDMETHODCALLTYPE *GetImageBase )(
400 IXCLRDataTarget3 * This,
401 /* [string][in] */ LPCWSTR imagePath,
402 /* [out] */ CLRDATA_ADDRESS *baseAddress);
403
404 HRESULT ( STDMETHODCALLTYPE *ReadVirtual )(
405 IXCLRDataTarget3 * This,
406 /* [in] */ CLRDATA_ADDRESS address,
407 /* [length_is][size_is][out] */ BYTE *buffer,
408 /* [in] */ ULONG32 bytesRequested,
409 /* [out] */ ULONG32 *bytesRead);
410
411 HRESULT ( STDMETHODCALLTYPE *WriteVirtual )(
412 IXCLRDataTarget3 * This,
413 /* [in] */ CLRDATA_ADDRESS address,
414 /* [size_is][in] */ BYTE *buffer,
415 /* [in] */ ULONG32 bytesRequested,
416 /* [out] */ ULONG32 *bytesWritten);
417
418 HRESULT ( STDMETHODCALLTYPE *GetTLSValue )(
419 IXCLRDataTarget3 * This,
420 /* [in] */ ULONG32 threadID,
421 /* [in] */ ULONG32 index,
422 /* [out] */ CLRDATA_ADDRESS *value);
423
424 HRESULT ( STDMETHODCALLTYPE *SetTLSValue )(
425 IXCLRDataTarget3 * This,
426 /* [in] */ ULONG32 threadID,
427 /* [in] */ ULONG32 index,
428 /* [in] */ CLRDATA_ADDRESS value);
429
430 HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
431 IXCLRDataTarget3 * This,
432 /* [out] */ ULONG32 *threadID);
433
434 HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
435 IXCLRDataTarget3 * This,
436 /* [in] */ ULONG32 threadID,
437 /* [in] */ ULONG32 contextFlags,
438 /* [in] */ ULONG32 contextSize,
439 /* [size_is][out] */ BYTE *context);
440
441 HRESULT ( STDMETHODCALLTYPE *SetThreadContext )(
442 IXCLRDataTarget3 * This,
443 /* [in] */ ULONG32 threadID,
444 /* [in] */ ULONG32 contextSize,
445 /* [size_is][in] */ BYTE *context);
446
447 HRESULT ( STDMETHODCALLTYPE *Request )(
448 IXCLRDataTarget3 * This,
449 /* [in] */ ULONG32 reqCode,
450 /* [in] */ ULONG32 inBufferSize,
451 /* [size_is][in] */ BYTE *inBuffer,
452 /* [in] */ ULONG32 outBufferSize,
453 /* [size_is][out] */ BYTE *outBuffer);
454
455 HRESULT ( STDMETHODCALLTYPE *AllocVirtual )(
456 IXCLRDataTarget3 * This,
457 /* [in] */ CLRDATA_ADDRESS addr,
458 /* [in] */ ULONG32 size,
459 /* [in] */ ULONG32 typeFlags,
460 /* [in] */ ULONG32 protectFlags,
461 /* [out] */ CLRDATA_ADDRESS *virt);
462
463 HRESULT ( STDMETHODCALLTYPE *FreeVirtual )(
464 IXCLRDataTarget3 * This,
465 /* [in] */ CLRDATA_ADDRESS addr,
466 /* [in] */ ULONG32 size,
467 /* [in] */ ULONG32 typeFlags);
468
469 HRESULT ( STDMETHODCALLTYPE *GetMetaData )(
470 IXCLRDataTarget3 * This,
471 /* [in] */ LPCWSTR imagePath,
472 /* [in] */ ULONG32 imageTimestamp,
473 /* [in] */ ULONG32 imageSize,
474 /* [in] */ GUID *mvid,
475 /* [in] */ ULONG32 mdRva,
476 /* [in] */ ULONG32 flags,
477 /* [in] */ ULONG32 bufferSize,
478 /* [length_is][size_is][out] */ BYTE *buffer,
479 /* [out] */ ULONG32 *dataSize);
480
481 END_INTERFACE
482 } IXCLRDataTarget3Vtbl;
483
484 interface IXCLRDataTarget3
485 {
486 CONST_VTBL struct IXCLRDataTarget3Vtbl *lpVtbl;
487 };
488
489
490
491#ifdef COBJMACROS
492
493
494#define IXCLRDataTarget3_QueryInterface(This,riid,ppvObject) \
495 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
496
497#define IXCLRDataTarget3_AddRef(This) \
498 ( (This)->lpVtbl -> AddRef(This) )
499
500#define IXCLRDataTarget3_Release(This) \
501 ( (This)->lpVtbl -> Release(This) )
502
503
504#define IXCLRDataTarget3_GetMachineType(This,machineType) \
505 ( (This)->lpVtbl -> GetMachineType(This,machineType) )
506
507#define IXCLRDataTarget3_GetPointerSize(This,pointerSize) \
508 ( (This)->lpVtbl -> GetPointerSize(This,pointerSize) )
509
510#define IXCLRDataTarget3_GetImageBase(This,imagePath,baseAddress) \
511 ( (This)->lpVtbl -> GetImageBase(This,imagePath,baseAddress) )
512
513#define IXCLRDataTarget3_ReadVirtual(This,address,buffer,bytesRequested,bytesRead) \
514 ( (This)->lpVtbl -> ReadVirtual(This,address,buffer,bytesRequested,bytesRead) )
515
516#define IXCLRDataTarget3_WriteVirtual(This,address,buffer,bytesRequested,bytesWritten) \
517 ( (This)->lpVtbl -> WriteVirtual(This,address,buffer,bytesRequested,bytesWritten) )
518
519#define IXCLRDataTarget3_GetTLSValue(This,threadID,index,value) \
520 ( (This)->lpVtbl -> GetTLSValue(This,threadID,index,value) )
521
522#define IXCLRDataTarget3_SetTLSValue(This,threadID,index,value) \
523 ( (This)->lpVtbl -> SetTLSValue(This,threadID,index,value) )
524
525#define IXCLRDataTarget3_GetCurrentThreadID(This,threadID) \
526 ( (This)->lpVtbl -> GetCurrentThreadID(This,threadID) )
527
528#define IXCLRDataTarget3_GetThreadContext(This,threadID,contextFlags,contextSize,context) \
529 ( (This)->lpVtbl -> GetThreadContext(This,threadID,contextFlags,contextSize,context) )
530
531#define IXCLRDataTarget3_SetThreadContext(This,threadID,contextSize,context) \
532 ( (This)->lpVtbl -> SetThreadContext(This,threadID,contextSize,context) )
533
534#define IXCLRDataTarget3_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
535 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
536
537
538#define IXCLRDataTarget3_AllocVirtual(This,addr,size,typeFlags,protectFlags,virt) \
539 ( (This)->lpVtbl -> AllocVirtual(This,addr,size,typeFlags,protectFlags,virt) )
540
541#define IXCLRDataTarget3_FreeVirtual(This,addr,size,typeFlags) \
542 ( (This)->lpVtbl -> FreeVirtual(This,addr,size,typeFlags) )
543
544
545#define IXCLRDataTarget3_GetMetaData(This,imagePath,imageTimestamp,imageSize,mvid,mdRva,flags,bufferSize,buffer,dataSize) \
546 ( (This)->lpVtbl -> GetMetaData(This,imagePath,imageTimestamp,imageSize,mvid,mdRva,flags,bufferSize,buffer,dataSize) )
547
548#endif /* COBJMACROS */
549
550
551#endif /* C style interface */
552
553
554
555
556#endif /* __IXCLRDataTarget3_INTERFACE_DEFINED__ */
557
558
559/* interface __MIDL_itf_xclrdata_0000_0001 */
560/* [local] */
561
562typedef /* [public] */
563enum __MIDL___MIDL_itf_xclrdata_0000_0001_0001
564 {
565 CLRDATA_BYNAME_CASE_SENSITIVE = 0,
566 CLRDATA_BYNAME_CASE_INSENSITIVE = 0x1
567 } CLRDataByNameFlag;
568
569typedef /* [public] */
570enum __MIDL___MIDL_itf_xclrdata_0000_0001_0002
571 {
572 CLRDATA_GETNAME_DEFAULT = 0,
573 CLRDATA_GETNAME_NO_NAMESPACES = 0x1,
574 CLRDATA_GETNAME_NO_PARAMETERS = 0x2
575 } CLRDataGetNameFlag;
576
577typedef /* [public] */
578enum __MIDL___MIDL_itf_xclrdata_0000_0001_0003
579 {
580 CLRDATA_PROCESS_DEFAULT = 0,
581 CLRDATA_PROCESS_IN_GC = 0x1
582 } CLRDataProcessFlag;
583
584typedef /* [public][public] */
585enum __MIDL___MIDL_itf_xclrdata_0000_0001_0004
586 {
587 CLRDATA_ADDRESS_UNRECOGNIZED = 0,
588 CLRDATA_ADDRESS_MANAGED_METHOD = ( CLRDATA_ADDRESS_UNRECOGNIZED + 1 ) ,
589 CLRDATA_ADDRESS_RUNTIME_MANAGED_CODE = ( CLRDATA_ADDRESS_MANAGED_METHOD + 1 ) ,
590 CLRDATA_ADDRESS_RUNTIME_UNMANAGED_CODE = ( CLRDATA_ADDRESS_RUNTIME_MANAGED_CODE + 1 ) ,
591 CLRDATA_ADDRESS_GC_DATA = ( CLRDATA_ADDRESS_RUNTIME_UNMANAGED_CODE + 1 ) ,
592 CLRDATA_ADDRESS_RUNTIME_MANAGED_STUB = ( CLRDATA_ADDRESS_GC_DATA + 1 ) ,
593 CLRDATA_ADDRESS_RUNTIME_UNMANAGED_STUB = ( CLRDATA_ADDRESS_RUNTIME_MANAGED_STUB + 1 )
594 } CLRDataAddressType;
595
596typedef /* [public] */
597enum __MIDL___MIDL_itf_xclrdata_0000_0001_0005
598 {
599 CLRDATA_NOTIFY_ON_MODULE_LOAD = 0x1,
600 CLRDATA_NOTIFY_ON_MODULE_UNLOAD = 0x2,
601 CLRDATA_NOTIFY_ON_EXCEPTION = 0x4,
602 CLRDATA_NOTIFY_ON_EXCEPTION_CATCH_ENTER = 0x8
603 } CLRDataOtherNotifyFlag;
604
605typedef /* [public][public][public][public][public] */ struct __MIDL___MIDL_itf_xclrdata_0000_0001_0006
606 {
607 ULONG64 Data[ 8 ];
608 } CLRDATA_FOLLOW_STUB_BUFFER;
609
610typedef /* [public] */
611enum __MIDL___MIDL_itf_xclrdata_0000_0001_0007
612 {
613 CLRDATA_FOLLOW_STUB_DEFAULT = 0
614 } CLRDataFollowStubInFlag;
615
616typedef /* [public] */
617enum __MIDL___MIDL_itf_xclrdata_0000_0001_0008
618 {
619 CLRDATA_FOLLOW_STUB_INTERMEDIATE = 0,
620 CLRDATA_FOLLOW_STUB_EXIT = 0x1
621 } CLRDataFollowStubOutFlag;
622
623typedef /* [public][public] */
624enum __MIDL___MIDL_itf_xclrdata_0000_0001_0009
625 {
626 CLRNATIVEIMAGE_PE_INFO = 0x1,
627 CLRNATIVEIMAGE_COR_INFO = 0x2,
628 CLRNATIVEIMAGE_FIXUP_TABLES = 0x4,
629 CLRNATIVEIMAGE_FIXUP_HISTOGRAM = 0x8,
630 CLRNATIVEIMAGE_MODULE = 0x10,
631 CLRNATIVEIMAGE_METHODS = 0x20,
632 CLRNATIVEIMAGE_DISASSEMBLE_CODE = 0x40,
633 CLRNATIVEIMAGE_IL = 0x80,
634 CLRNATIVEIMAGE_METHODTABLES = 0x100,
635 CLRNATIVEIMAGE_NATIVE_INFO = 0x200,
636 CLRNATIVEIMAGE_MODULE_TABLES = 0x400,
637 CLRNATIVEIMAGE_FROZEN_SEGMENT = 0x800,
638 CLRNATIVEIMAGE_PE_FILE = 0x1000,
639 CLRNATIVEIMAGE_GC_INFO = 0x2000,
640 CLRNATIVEIMAGE_EECLASSES = 0x4000,
641 CLRNATIVEIMAGE_NATIVE_TABLES = 0x8000,
642 CLRNATIVEIMAGE_PRECODES = 0x10000,
643 CLRNATIVEIMAGE_TYPEDESCS = 0x20000,
644 CLRNATIVEIMAGE_VERBOSE_TYPES = 0x40000,
645 CLRNATIVEIMAGE_METHODDESCS = 0x80000,
646 CLRNATIVEIMAGE_METADATA = 0x100000,
647 CLRNATIVEIMAGE_DISABLE_NAMES = 0x200000,
648 CLRNATIVEIMAGE_DISABLE_REBASING = 0x400000,
649 CLRNATIVEIMAGE_SLIM_MODULE_TBLS = 0x800000,
650 CLRNATIVEIMAGE_RESOURCES = 0x1000000,
651 CLRNATIVEIMAGE_FILE_OFFSET = 0x2000000,
652 CLRNATIVEIMAGE_DEBUG_TRACE = 0x4000000,
653 CLRNATIVEIMAGE_RELOCATIONS = 0x8000000,
654 CLRNATIVEIMAGE_FIXUP_THUNKS = 0x10000000,
655 CLRNATIVEIMAGE_DEBUG_COVERAGE = 0x80000000
656 } CLRNativeImageDumpOptions;
657
658#ifdef __cplusplus
659inline CLRNativeImageDumpOptions operator|=(CLRNativeImageDumpOptions& lhs, CLRNativeImageDumpOptions rhs) { return (lhs = (CLRNativeImageDumpOptions)( ((unsigned)lhs) | ((unsigned)rhs) )); }
660#endif
661typedef /* [public] */
662enum __MIDL___MIDL_itf_xclrdata_0000_0001_0010
663 {
664 CLRDATAHINT_DISPLAY_HINTS_NONE = 0,
665 CLRDATAHINT_DISPLAY_ARRAY_AS_TABLE = 0x1,
666 CLRDATAHINT_DISPLAY_ARRAY_AS_ARRAY = 0x2,
667 CLRDATAHINT_DISPLAY_ARRAY_AS_ARRAY_IDX = 0x3,
668 CLRDATAHINT_DISPLAY_ARRAY_AS_MAP = 0x4,
669 CLRDATAHINT_DISPLAY_ARRAY_HINT_MASK = 0xff,
670 CLRDATAHINT_DISPLAY_STRUCT_AS_TABLE = 0x100,
671 CLRDATAHINT_DISPLAY_STRUCT_HINT_MASK = 0xff00,
672 CLRDATAHINT_DISPLAY_SEP_TAB = 0,
673 CLRDATAHINT_DISPLAY_SEP_SPACE = 0x1000000,
674 CLRDATAHINT_DISPLAY_SEP_TAB_SPACE = 0x2000000,
675 CLRDATAHINT_DISPLAY_SEP_MASK = 0xff000000
676 } CLRDataDisplayHints;
677
678#pragma warning(push)
679#pragma warning(disable:28718)
680
681
682extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0001_v0_0_c_ifspec;
683extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0001_v0_0_s_ifspec;
684
685#ifndef __IXCLRLibrarySupport_INTERFACE_DEFINED__
686#define __IXCLRLibrarySupport_INTERFACE_DEFINED__
687
688/* interface IXCLRLibrarySupport */
689/* [uuid][local][object] */
690
691
692EXTERN_C const IID IID_IXCLRLibrarySupport;
693
694#if defined(__cplusplus) && !defined(CINTERFACE)
695
696 MIDL_INTERFACE("E5F3039D-2C0C-4230-A69E-12AF1C3E563C")
697 IXCLRLibrarySupport : public IUnknown
698 {
699 public:
700 virtual HRESULT STDMETHODCALLTYPE LoadHardboundDependency(
701 const WCHAR *name,
702 REFGUID mvid,
703 /* [out] */ SIZE_T *loadedBase) = 0;
704
705 virtual HRESULT STDMETHODCALLTYPE LoadSoftboundDependency(
706 const WCHAR *name,
707 const BYTE *assemblymetadataBinding,
708 const BYTE *hash,
709 ULONG hashLength,
710 /* [out] */ SIZE_T *loadedBase) = 0;
711
712 };
713
714
715#else /* C style interface */
716
717 typedef struct IXCLRLibrarySupportVtbl
718 {
719 BEGIN_INTERFACE
720
721 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
722 IXCLRLibrarySupport * This,
723 /* [in] */ REFIID riid,
724 /* [annotation][iid_is][out] */
725 _COM_Outptr_ void **ppvObject);
726
727 ULONG ( STDMETHODCALLTYPE *AddRef )(
728 IXCLRLibrarySupport * This);
729
730 ULONG ( STDMETHODCALLTYPE *Release )(
731 IXCLRLibrarySupport * This);
732
733 HRESULT ( STDMETHODCALLTYPE *LoadHardboundDependency )(
734 IXCLRLibrarySupport * This,
735 const WCHAR *name,
736 REFGUID mvid,
737 /* [out] */ SIZE_T *loadedBase);
738
739 HRESULT ( STDMETHODCALLTYPE *LoadSoftboundDependency )(
740 IXCLRLibrarySupport * This,
741 const WCHAR *name,
742 const BYTE *assemblymetadataBinding,
743 const BYTE *hash,
744 ULONG hashLength,
745 /* [out] */ SIZE_T *loadedBase);
746
747 END_INTERFACE
748 } IXCLRLibrarySupportVtbl;
749
750 interface IXCLRLibrarySupport
751 {
752 CONST_VTBL struct IXCLRLibrarySupportVtbl *lpVtbl;
753 };
754
755
756
757#ifdef COBJMACROS
758
759
760#define IXCLRLibrarySupport_QueryInterface(This,riid,ppvObject) \
761 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
762
763#define IXCLRLibrarySupport_AddRef(This) \
764 ( (This)->lpVtbl -> AddRef(This) )
765
766#define IXCLRLibrarySupport_Release(This) \
767 ( (This)->lpVtbl -> Release(This) )
768
769
770#define IXCLRLibrarySupport_LoadHardboundDependency(This,name,mvid,loadedBase) \
771 ( (This)->lpVtbl -> LoadHardboundDependency(This,name,mvid,loadedBase) )
772
773#define IXCLRLibrarySupport_LoadSoftboundDependency(This,name,assemblymetadataBinding,hash,hashLength,loadedBase) \
774 ( (This)->lpVtbl -> LoadSoftboundDependency(This,name,assemblymetadataBinding,hash,hashLength,loadedBase) )
775
776#endif /* COBJMACROS */
777
778
779#endif /* C style interface */
780
781
782
783
784#endif /* __IXCLRLibrarySupport_INTERFACE_DEFINED__ */
785
786
787/* interface __MIDL_itf_xclrdata_0000_0002 */
788/* [local] */
789
790
791typedef SIZE_T ( __stdcall *CDSTranslateAddrCB )(
792 IXCLRDisassemblySupport *__MIDL____MIDL_itf_xclrdata_0000_00020000,
793 CLRDATA_ADDRESS __MIDL____MIDL_itf_xclrdata_0000_00020001,
794 wchar_t *__MIDL____MIDL_itf_xclrdata_0000_00020002,
795 SIZE_T __MIDL____MIDL_itf_xclrdata_0000_00020003,
796 DWORDLONG *__MIDL____MIDL_itf_xclrdata_0000_00020004);
797
798typedef SIZE_T ( __stdcall *CDSTranslateFixupCB )(
799 IXCLRDisassemblySupport *__MIDL____MIDL_itf_xclrdata_0000_00020006,
800 CLRDATA_ADDRESS __MIDL____MIDL_itf_xclrdata_0000_00020007,
801 SIZE_T __MIDL____MIDL_itf_xclrdata_0000_00020008,
802 wchar_t *__MIDL____MIDL_itf_xclrdata_0000_00020009,
803 SIZE_T __MIDL____MIDL_itf_xclrdata_0000_00020010,
804 DWORDLONG *__MIDL____MIDL_itf_xclrdata_0000_00020011);
805
806typedef SIZE_T ( __stdcall *CDSTranslateConstCB )(
807 IXCLRDisassemblySupport *__MIDL____MIDL_itf_xclrdata_0000_00020013,
808 DWORD __MIDL____MIDL_itf_xclrdata_0000_00020014,
809 wchar_t *__MIDL____MIDL_itf_xclrdata_0000_00020015,
810 SIZE_T __MIDL____MIDL_itf_xclrdata_0000_00020016);
811
812typedef SIZE_T ( __stdcall *CDSTranslateRegrelCB )(
813 IXCLRDisassemblySupport *__MIDL____MIDL_itf_xclrdata_0000_00020018,
814 unsigned int rega,
815 CLRDATA_ADDRESS __MIDL____MIDL_itf_xclrdata_0000_00020019,
816 wchar_t *__MIDL____MIDL_itf_xclrdata_0000_00020020,
817 SIZE_T __MIDL____MIDL_itf_xclrdata_0000_00020021,
818 DWORD *__MIDL____MIDL_itf_xclrdata_0000_00020022);
819
820
821
822extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0002_v0_0_c_ifspec;
823extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0002_v0_0_s_ifspec;
824
825#ifndef __IXCLRDisassemblySupport_INTERFACE_DEFINED__
826#define __IXCLRDisassemblySupport_INTERFACE_DEFINED__
827
828/* interface IXCLRDisassemblySupport */
829/* [uuid][local][object] */
830
831
832EXTERN_C const IID IID_IXCLRDisassemblySupport;
833
834#if defined(__cplusplus) && !defined(CINTERFACE)
835
836 MIDL_INTERFACE("1F0F7134-D3F3-47DE-8E9B-C2FD358A2936")
837 IXCLRDisassemblySupport : public IUnknown
838 {
839 public:
840 virtual HRESULT STDMETHODCALLTYPE SetTranslateAddrCallback(
841 /* [in] */ CDSTranslateAddrCB cb) = 0;
842
843 virtual HRESULT STDMETHODCALLTYPE PvClientSet(
844 /* [in] */ void *pv) = 0;
845
846 virtual SIZE_T STDMETHODCALLTYPE CbDisassemble(
847 CLRDATA_ADDRESS __MIDL__IXCLRDisassemblySupport0000,
848 const void *__MIDL__IXCLRDisassemblySupport0001,
849 SIZE_T __MIDL__IXCLRDisassemblySupport0002) = 0;
850
851 virtual SIZE_T STDMETHODCALLTYPE Cinstruction( void) = 0;
852
853 virtual BOOL STDMETHODCALLTYPE FSelectInstruction(
854 SIZE_T __MIDL__IXCLRDisassemblySupport0003) = 0;
855
856 virtual SIZE_T STDMETHODCALLTYPE CchFormatInstr(
857 wchar_t *__MIDL__IXCLRDisassemblySupport0004,
858 SIZE_T __MIDL__IXCLRDisassemblySupport0005) = 0;
859
860 virtual void *STDMETHODCALLTYPE PvClient( void) = 0;
861
862 virtual HRESULT STDMETHODCALLTYPE SetTranslateFixupCallback(
863 /* [in] */ CDSTranslateFixupCB cb) = 0;
864
865 virtual HRESULT STDMETHODCALLTYPE SetTranslateConstCallback(
866 /* [in] */ CDSTranslateConstCB cb) = 0;
867
868 virtual HRESULT STDMETHODCALLTYPE SetTranslateRegrelCallback(
869 /* [in] */ CDSTranslateRegrelCB cb) = 0;
870
871 virtual BOOL STDMETHODCALLTYPE TargetIsAddress( void) = 0;
872
873 };
874
875
876#else /* C style interface */
877
878 typedef struct IXCLRDisassemblySupportVtbl
879 {
880 BEGIN_INTERFACE
881
882 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
883 IXCLRDisassemblySupport * This,
884 /* [in] */ REFIID riid,
885 /* [annotation][iid_is][out] */
886 _COM_Outptr_ void **ppvObject);
887
888 ULONG ( STDMETHODCALLTYPE *AddRef )(
889 IXCLRDisassemblySupport * This);
890
891 ULONG ( STDMETHODCALLTYPE *Release )(
892 IXCLRDisassemblySupport * This);
893
894 HRESULT ( STDMETHODCALLTYPE *SetTranslateAddrCallback )(
895 IXCLRDisassemblySupport * This,
896 /* [in] */ CDSTranslateAddrCB cb);
897
898 HRESULT ( STDMETHODCALLTYPE *PvClientSet )(
899 IXCLRDisassemblySupport * This,
900 /* [in] */ void *pv);
901
902 SIZE_T ( STDMETHODCALLTYPE *CbDisassemble )(
903 IXCLRDisassemblySupport * This,
904 CLRDATA_ADDRESS __MIDL__IXCLRDisassemblySupport0000,
905 const void *__MIDL__IXCLRDisassemblySupport0001,
906 SIZE_T __MIDL__IXCLRDisassemblySupport0002);
907
908 SIZE_T ( STDMETHODCALLTYPE *Cinstruction )(
909 IXCLRDisassemblySupport * This);
910
911 BOOL ( STDMETHODCALLTYPE *FSelectInstruction )(
912 IXCLRDisassemblySupport * This,
913 SIZE_T __MIDL__IXCLRDisassemblySupport0003);
914
915 SIZE_T ( STDMETHODCALLTYPE *CchFormatInstr )(
916 IXCLRDisassemblySupport * This,
917 wchar_t *__MIDL__IXCLRDisassemblySupport0004,
918 SIZE_T __MIDL__IXCLRDisassemblySupport0005);
919
920 void *( STDMETHODCALLTYPE *PvClient )(
921 IXCLRDisassemblySupport * This);
922
923 HRESULT ( STDMETHODCALLTYPE *SetTranslateFixupCallback )(
924 IXCLRDisassemblySupport * This,
925 /* [in] */ CDSTranslateFixupCB cb);
926
927 HRESULT ( STDMETHODCALLTYPE *SetTranslateConstCallback )(
928 IXCLRDisassemblySupport * This,
929 /* [in] */ CDSTranslateConstCB cb);
930
931 HRESULT ( STDMETHODCALLTYPE *SetTranslateRegrelCallback )(
932 IXCLRDisassemblySupport * This,
933 /* [in] */ CDSTranslateRegrelCB cb);
934
935 BOOL ( STDMETHODCALLTYPE *TargetIsAddress )(
936 IXCLRDisassemblySupport * This);
937
938 END_INTERFACE
939 } IXCLRDisassemblySupportVtbl;
940
941 interface IXCLRDisassemblySupport
942 {
943 CONST_VTBL struct IXCLRDisassemblySupportVtbl *lpVtbl;
944 };
945
946
947
948#ifdef COBJMACROS
949
950
951#define IXCLRDisassemblySupport_QueryInterface(This,riid,ppvObject) \
952 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
953
954#define IXCLRDisassemblySupport_AddRef(This) \
955 ( (This)->lpVtbl -> AddRef(This) )
956
957#define IXCLRDisassemblySupport_Release(This) \
958 ( (This)->lpVtbl -> Release(This) )
959
960
961#define IXCLRDisassemblySupport_SetTranslateAddrCallback(This,cb) \
962 ( (This)->lpVtbl -> SetTranslateAddrCallback(This,cb) )
963
964#define IXCLRDisassemblySupport_PvClientSet(This,pv) \
965 ( (This)->lpVtbl -> PvClientSet(This,pv) )
966
967#define IXCLRDisassemblySupport_CbDisassemble(This,__MIDL__IXCLRDisassemblySupport0000,__MIDL__IXCLRDisassemblySupport0001,__MIDL__IXCLRDisassemblySupport0002) \
968 ( (This)->lpVtbl -> CbDisassemble(This,__MIDL__IXCLRDisassemblySupport0000,__MIDL__IXCLRDisassemblySupport0001,__MIDL__IXCLRDisassemblySupport0002) )
969
970#define IXCLRDisassemblySupport_Cinstruction(This) \
971 ( (This)->lpVtbl -> Cinstruction(This) )
972
973#define IXCLRDisassemblySupport_FSelectInstruction(This,__MIDL__IXCLRDisassemblySupport0003) \
974 ( (This)->lpVtbl -> FSelectInstruction(This,__MIDL__IXCLRDisassemblySupport0003) )
975
976#define IXCLRDisassemblySupport_CchFormatInstr(This,__MIDL__IXCLRDisassemblySupport0004,__MIDL__IXCLRDisassemblySupport0005) \
977 ( (This)->lpVtbl -> CchFormatInstr(This,__MIDL__IXCLRDisassemblySupport0004,__MIDL__IXCLRDisassemblySupport0005) )
978
979#define IXCLRDisassemblySupport_PvClient(This) \
980 ( (This)->lpVtbl -> PvClient(This) )
981
982#define IXCLRDisassemblySupport_SetTranslateFixupCallback(This,cb) \
983 ( (This)->lpVtbl -> SetTranslateFixupCallback(This,cb) )
984
985#define IXCLRDisassemblySupport_SetTranslateConstCallback(This,cb) \
986 ( (This)->lpVtbl -> SetTranslateConstCallback(This,cb) )
987
988#define IXCLRDisassemblySupport_SetTranslateRegrelCallback(This,cb) \
989 ( (This)->lpVtbl -> SetTranslateRegrelCallback(This,cb) )
990
991#define IXCLRDisassemblySupport_TargetIsAddress(This) \
992 ( (This)->lpVtbl -> TargetIsAddress(This) )
993
994#endif /* COBJMACROS */
995
996
997#endif /* C style interface */
998
999
1000
1001
1002#endif /* __IXCLRDisassemblySupport_INTERFACE_DEFINED__ */
1003
1004
1005#ifndef __IXCLRDataDisplay_INTERFACE_DEFINED__
1006#define __IXCLRDataDisplay_INTERFACE_DEFINED__
1007
1008/* interface IXCLRDataDisplay */
1009/* [uuid][local][object] */
1010
1011
1012EXTERN_C const IID IID_IXCLRDataDisplay;
1013
1014#if defined(__cplusplus) && !defined(CINTERFACE)
1015
1016 MIDL_INTERFACE("A3C1704A-4559-4a67-8D28-E8F4FE3B3F62")
1017 IXCLRDataDisplay : public IUnknown
1018 {
1019 public:
1020 virtual HRESULT STDMETHODVCALLTYPE ErrorPrintF(
1021 const char *const fmt,
1022 ...) = 0;
1023
1024 virtual HRESULT STDMETHODCALLTYPE NativeImageDimensions(
1025 SIZE_T base,
1026 SIZE_T size,
1027 DWORD sectionAlign) = 0;
1028
1029 virtual HRESULT STDMETHODCALLTYPE Section(
1030 const char *const name,
1031 SIZE_T rva,
1032 SIZE_T size) = 0;
1033
1034 virtual HRESULT STDMETHODCALLTYPE GetDumpOptions(
1035 /* [out] */ CLRNativeImageDumpOptions *pOptions) = 0;
1036
1037 virtual HRESULT STDMETHODCALLTYPE StartDocument( void) = 0;
1038
1039 virtual HRESULT STDMETHODCALLTYPE EndDocument( void) = 0;
1040
1041 virtual HRESULT STDMETHODCALLTYPE StartCategory(
1042 const char *const name) = 0;
1043
1044 virtual HRESULT STDMETHODCALLTYPE EndCategory( void) = 0;
1045
1046 virtual HRESULT STDMETHODCALLTYPE StartElement(
1047 const char *const name) = 0;
1048
1049 virtual HRESULT STDMETHODCALLTYPE EndElement( void) = 0;
1050
1051 virtual HRESULT STDMETHODCALLTYPE StartVStructure(
1052 const char *const name) = 0;
1053
1054 virtual HRESULT STDMETHODCALLTYPE StartVStructureWithOffset(
1055 const char *const name,
1056 unsigned int fieldOffset,
1057 unsigned int fieldSize) = 0;
1058
1059 virtual HRESULT STDMETHODCALLTYPE EndVStructure( void) = 0;
1060
1061 virtual HRESULT STDMETHODCALLTYPE StartTextElement(
1062 const char *const name) = 0;
1063
1064 virtual HRESULT STDMETHODCALLTYPE EndTextElement( void) = 0;
1065
1066 virtual HRESULT STDMETHODVCALLTYPE WriteXmlText(
1067 const char *const fmt,
1068 ...) = 0;
1069
1070 virtual HRESULT STDMETHODVCALLTYPE WriteXmlTextBlock(
1071 const char *const fmt,
1072 ...) = 0;
1073
1074 virtual HRESULT STDMETHODCALLTYPE WriteEmptyElement(
1075 const char *const element) = 0;
1076
1077 virtual HRESULT STDMETHODCALLTYPE WriteElementPointer(
1078 const char *const element,
1079 SIZE_T ptr) = 0;
1080
1081 virtual HRESULT STDMETHODCALLTYPE WriteElementPointerAnnotated(
1082 const char *const element,
1083 SIZE_T ptr,
1084 const WCHAR *const annotation) = 0;
1085
1086 virtual HRESULT STDMETHODCALLTYPE WriteElementAddress(
1087 const char *const element,
1088 SIZE_T base,
1089 SIZE_T size) = 0;
1090
1091 virtual HRESULT STDMETHODCALLTYPE WriteElementAddressNamed(
1092 const char *const element,
1093 const char *const name,
1094 SIZE_T base,
1095 SIZE_T size) = 0;
1096
1097 virtual HRESULT STDMETHODCALLTYPE WriteElementAddressNamedW(
1098 const char *const element,
1099 const WCHAR *const name,
1100 SIZE_T base,
1101 SIZE_T size) = 0;
1102
1103 virtual HRESULT STDMETHODCALLTYPE WriteElementString(
1104 const char *const element,
1105 const char *const data) = 0;
1106
1107 virtual HRESULT STDMETHODCALLTYPE WriteElementStringW(
1108 const char *const element,
1109 const WCHAR *const data) = 0;
1110
1111 virtual HRESULT STDMETHODCALLTYPE WriteElementInt(
1112 const char *const element,
1113 int value) = 0;
1114
1115 virtual HRESULT STDMETHODCALLTYPE WriteElementUInt(
1116 const char *const element,
1117 DWORD value) = 0;
1118
1119 virtual HRESULT STDMETHODCALLTYPE WriteElementEnumerated(
1120 const char *const element,
1121 DWORD value,
1122 const WCHAR *const mnemonic) = 0;
1123
1124 virtual HRESULT STDMETHODCALLTYPE WriteElementIntWithSuppress(
1125 const char *const element,
1126 int value,
1127 int suppressIfEqual) = 0;
1128
1129 virtual HRESULT STDMETHODCALLTYPE WriteElementFlag(
1130 const char *const element,
1131 BOOL flag) = 0;
1132
1133 virtual HRESULT STDMETHODCALLTYPE StartArray(
1134 const char *const name,
1135 const WCHAR *const fmt) = 0;
1136
1137 virtual HRESULT STDMETHODCALLTYPE EndArray(
1138 const char *const countPrefix) = 0;
1139
1140 virtual HRESULT STDMETHODCALLTYPE StartList(
1141 const WCHAR *const fmt) = 0;
1142
1143 virtual HRESULT STDMETHODCALLTYPE EndList( void) = 0;
1144
1145 virtual HRESULT STDMETHODCALLTYPE StartArrayWithOffset(
1146 const char *const name,
1147 unsigned int fieldOffset,
1148 unsigned int fieldSize,
1149 const WCHAR *const fmt) = 0;
1150
1151 virtual HRESULT STDMETHODCALLTYPE WriteFieldString(
1152 const char *const element,
1153 unsigned int fieldOffset,
1154 unsigned int fieldSize,
1155 const char *const data) = 0;
1156
1157 virtual HRESULT STDMETHODCALLTYPE WriteFieldStringW(
1158 const char *const element,
1159 unsigned int fieldOffset,
1160 unsigned int fieldSize,
1161 const WCHAR *const data) = 0;
1162
1163 virtual HRESULT STDMETHODCALLTYPE WriteFieldPointer(
1164 const char *const element,
1165 unsigned int fieldOffset,
1166 unsigned int fieldSize,
1167 SIZE_T ptr) = 0;
1168
1169 virtual HRESULT STDMETHODCALLTYPE WriteFieldPointerWithSize(
1170 const char *const element,
1171 unsigned int fieldOffset,
1172 unsigned int fieldSize,
1173 SIZE_T ptr,
1174 SIZE_T size) = 0;
1175
1176 virtual HRESULT STDMETHODCALLTYPE WriteFieldInt(
1177 const char *const element,
1178 unsigned int fieldOffset,
1179 unsigned int fieldSize,
1180 int value) = 0;
1181
1182 virtual HRESULT STDMETHODCALLTYPE WriteFieldUInt(
1183 const char *const element,
1184 unsigned int fieldOffset,
1185 unsigned int fieldSize,
1186 DWORD value) = 0;
1187
1188 virtual HRESULT STDMETHODCALLTYPE WriteFieldEnumerated(
1189 const char *const element,
1190 unsigned int fieldOffset,
1191 unsigned int fieldSize,
1192 DWORD value,
1193 const WCHAR *const mnemonic) = 0;
1194
1195 virtual HRESULT STDMETHODCALLTYPE WriteFieldEmpty(
1196 const char *const element,
1197 unsigned int fieldOffset,
1198 unsigned int fieldSize) = 0;
1199
1200 virtual HRESULT STDMETHODCALLTYPE WriteFieldFlag(
1201 const char *const element,
1202 unsigned int fieldOffset,
1203 unsigned int fieldSize,
1204 BOOL flag) = 0;
1205
1206 virtual HRESULT STDMETHODCALLTYPE WriteFieldPointerAnnotated(
1207 const char *const element,
1208 unsigned int fieldOffset,
1209 unsigned int fieldSize,
1210 SIZE_T ptr,
1211 const WCHAR *const annotation) = 0;
1212
1213 virtual HRESULT STDMETHODCALLTYPE WriteFieldAddress(
1214 const char *const element,
1215 unsigned int fieldOffset,
1216 unsigned int fieldSize,
1217 SIZE_T base,
1218 SIZE_T size) = 0;
1219
1220 virtual HRESULT STDMETHODCALLTYPE StartStructure(
1221 const char *const name,
1222 SIZE_T ptr,
1223 SIZE_T size) = 0;
1224
1225 virtual HRESULT STDMETHODCALLTYPE StartStructureWithNegSpace(
1226 const char *const name,
1227 SIZE_T ptr,
1228 SIZE_T startPtr,
1229 SIZE_T totalSize) = 0;
1230
1231 virtual HRESULT STDMETHODCALLTYPE StartStructureWithOffset(
1232 const char *const name,
1233 unsigned int fieldOffset,
1234 unsigned int fieldSize,
1235 SIZE_T ptr,
1236 SIZE_T size) = 0;
1237
1238 virtual HRESULT STDMETHODCALLTYPE EndStructure( void) = 0;
1239
1240 };
1241
1242
1243#else /* C style interface */
1244
1245 typedef struct IXCLRDataDisplayVtbl
1246 {
1247 BEGIN_INTERFACE
1248
1249 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1250 IXCLRDataDisplay * This,
1251 /* [in] */ REFIID riid,
1252 /* [annotation][iid_is][out] */
1253 _COM_Outptr_ void **ppvObject);
1254
1255 ULONG ( STDMETHODCALLTYPE *AddRef )(
1256 IXCLRDataDisplay * This);
1257
1258 ULONG ( STDMETHODCALLTYPE *Release )(
1259 IXCLRDataDisplay * This);
1260
1261 HRESULT ( STDMETHODVCALLTYPE *ErrorPrintF )(
1262 IXCLRDataDisplay * This,
1263 const char *const fmt,
1264 ...);
1265
1266 HRESULT ( STDMETHODCALLTYPE *NativeImageDimensions )(
1267 IXCLRDataDisplay * This,
1268 SIZE_T base,
1269 SIZE_T size,
1270 DWORD sectionAlign);
1271
1272 HRESULT ( STDMETHODCALLTYPE *Section )(
1273 IXCLRDataDisplay * This,
1274 const char *const name,
1275 SIZE_T rva,
1276 SIZE_T size);
1277
1278 HRESULT ( STDMETHODCALLTYPE *GetDumpOptions )(
1279 IXCLRDataDisplay * This,
1280 /* [out] */ CLRNativeImageDumpOptions *pOptions);
1281
1282 HRESULT ( STDMETHODCALLTYPE *StartDocument )(
1283 IXCLRDataDisplay * This);
1284
1285 HRESULT ( STDMETHODCALLTYPE *EndDocument )(
1286 IXCLRDataDisplay * This);
1287
1288 HRESULT ( STDMETHODCALLTYPE *StartCategory )(
1289 IXCLRDataDisplay * This,
1290 const char *const name);
1291
1292 HRESULT ( STDMETHODCALLTYPE *EndCategory )(
1293 IXCLRDataDisplay * This);
1294
1295 HRESULT ( STDMETHODCALLTYPE *StartElement )(
1296 IXCLRDataDisplay * This,
1297 const char *const name);
1298
1299 HRESULT ( STDMETHODCALLTYPE *EndElement )(
1300 IXCLRDataDisplay * This);
1301
1302 HRESULT ( STDMETHODCALLTYPE *StartVStructure )(
1303 IXCLRDataDisplay * This,
1304 const char *const name);
1305
1306 HRESULT ( STDMETHODCALLTYPE *StartVStructureWithOffset )(
1307 IXCLRDataDisplay * This,
1308 const char *const name,
1309 unsigned int fieldOffset,
1310 unsigned int fieldSize);
1311
1312 HRESULT ( STDMETHODCALLTYPE *EndVStructure )(
1313 IXCLRDataDisplay * This);
1314
1315 HRESULT ( STDMETHODCALLTYPE *StartTextElement )(
1316 IXCLRDataDisplay * This,
1317 const char *const name);
1318
1319 HRESULT ( STDMETHODCALLTYPE *EndTextElement )(
1320 IXCLRDataDisplay * This);
1321
1322 HRESULT ( STDMETHODVCALLTYPE *WriteXmlText )(
1323 IXCLRDataDisplay * This,
1324 const char *const fmt,
1325 ...);
1326
1327 HRESULT ( STDMETHODVCALLTYPE *WriteXmlTextBlock )(
1328 IXCLRDataDisplay * This,
1329 const char *const fmt,
1330 ...);
1331
1332 HRESULT ( STDMETHODCALLTYPE *WriteEmptyElement )(
1333 IXCLRDataDisplay * This,
1334 const char *const element);
1335
1336 HRESULT ( STDMETHODCALLTYPE *WriteElementPointer )(
1337 IXCLRDataDisplay * This,
1338 const char *const element,
1339 SIZE_T ptr);
1340
1341 HRESULT ( STDMETHODCALLTYPE *WriteElementPointerAnnotated )(
1342 IXCLRDataDisplay * This,
1343 const char *const element,
1344 SIZE_T ptr,
1345 const WCHAR *const annotation);
1346
1347 HRESULT ( STDMETHODCALLTYPE *WriteElementAddress )(
1348 IXCLRDataDisplay * This,
1349 const char *const element,
1350 SIZE_T base,
1351 SIZE_T size);
1352
1353 HRESULT ( STDMETHODCALLTYPE *WriteElementAddressNamed )(
1354 IXCLRDataDisplay * This,
1355 const char *const element,
1356 const char *const name,
1357 SIZE_T base,
1358 SIZE_T size);
1359
1360 HRESULT ( STDMETHODCALLTYPE *WriteElementAddressNamedW )(
1361 IXCLRDataDisplay * This,
1362 const char *const element,
1363 const WCHAR *const name,
1364 SIZE_T base,
1365 SIZE_T size);
1366
1367 HRESULT ( STDMETHODCALLTYPE *WriteElementString )(
1368 IXCLRDataDisplay * This,
1369 const char *const element,
1370 const char *const data);
1371
1372 HRESULT ( STDMETHODCALLTYPE *WriteElementStringW )(
1373 IXCLRDataDisplay * This,
1374 const char *const element,
1375 const WCHAR *const data);
1376
1377 HRESULT ( STDMETHODCALLTYPE *WriteElementInt )(
1378 IXCLRDataDisplay * This,
1379 const char *const element,
1380 int value);
1381
1382 HRESULT ( STDMETHODCALLTYPE *WriteElementUInt )(
1383 IXCLRDataDisplay * This,
1384 const char *const element,
1385 DWORD value);
1386
1387 HRESULT ( STDMETHODCALLTYPE *WriteElementEnumerated )(
1388 IXCLRDataDisplay * This,
1389 const char *const element,
1390 DWORD value,
1391 const WCHAR *const mnemonic);
1392
1393 HRESULT ( STDMETHODCALLTYPE *WriteElementIntWithSuppress )(
1394 IXCLRDataDisplay * This,
1395 const char *const element,
1396 int value,
1397 int suppressIfEqual);
1398
1399 HRESULT ( STDMETHODCALLTYPE *WriteElementFlag )(
1400 IXCLRDataDisplay * This,
1401 const char *const element,
1402 BOOL flag);
1403
1404 HRESULT ( STDMETHODCALLTYPE *StartArray )(
1405 IXCLRDataDisplay * This,
1406 const char *const name,
1407 const WCHAR *const fmt);
1408
1409 HRESULT ( STDMETHODCALLTYPE *EndArray )(
1410 IXCLRDataDisplay * This,
1411 const char *const countPrefix);
1412
1413 HRESULT ( STDMETHODCALLTYPE *StartList )(
1414 IXCLRDataDisplay * This,
1415 const WCHAR *const fmt);
1416
1417 HRESULT ( STDMETHODCALLTYPE *EndList )(
1418 IXCLRDataDisplay * This);
1419
1420 HRESULT ( STDMETHODCALLTYPE *StartArrayWithOffset )(
1421 IXCLRDataDisplay * This,
1422 const char *const name,
1423 unsigned int fieldOffset,
1424 unsigned int fieldSize,
1425 const WCHAR *const fmt);
1426
1427 HRESULT ( STDMETHODCALLTYPE *WriteFieldString )(
1428 IXCLRDataDisplay * This,
1429 const char *const element,
1430 unsigned int fieldOffset,
1431 unsigned int fieldSize,
1432 const char *const data);
1433
1434 HRESULT ( STDMETHODCALLTYPE *WriteFieldStringW )(
1435 IXCLRDataDisplay * This,
1436 const char *const element,
1437 unsigned int fieldOffset,
1438 unsigned int fieldSize,
1439 const WCHAR *const data);
1440
1441 HRESULT ( STDMETHODCALLTYPE *WriteFieldPointer )(
1442 IXCLRDataDisplay * This,
1443 const char *const element,
1444 unsigned int fieldOffset,
1445 unsigned int fieldSize,
1446 SIZE_T ptr);
1447
1448 HRESULT ( STDMETHODCALLTYPE *WriteFieldPointerWithSize )(
1449 IXCLRDataDisplay * This,
1450 const char *const element,
1451 unsigned int fieldOffset,
1452 unsigned int fieldSize,
1453 SIZE_T ptr,
1454 SIZE_T size);
1455
1456 HRESULT ( STDMETHODCALLTYPE *WriteFieldInt )(
1457 IXCLRDataDisplay * This,
1458 const char *const element,
1459 unsigned int fieldOffset,
1460 unsigned int fieldSize,
1461 int value);
1462
1463 HRESULT ( STDMETHODCALLTYPE *WriteFieldUInt )(
1464 IXCLRDataDisplay * This,
1465 const char *const element,
1466 unsigned int fieldOffset,
1467 unsigned int fieldSize,
1468 DWORD value);
1469
1470 HRESULT ( STDMETHODCALLTYPE *WriteFieldEnumerated )(
1471 IXCLRDataDisplay * This,
1472 const char *const element,
1473 unsigned int fieldOffset,
1474 unsigned int fieldSize,
1475 DWORD value,
1476 const WCHAR *const mnemonic);
1477
1478 HRESULT ( STDMETHODCALLTYPE *WriteFieldEmpty )(
1479 IXCLRDataDisplay * This,
1480 const char *const element,
1481 unsigned int fieldOffset,
1482 unsigned int fieldSize);
1483
1484 HRESULT ( STDMETHODCALLTYPE *WriteFieldFlag )(
1485 IXCLRDataDisplay * This,
1486 const char *const element,
1487 unsigned int fieldOffset,
1488 unsigned int fieldSize,
1489 BOOL flag);
1490
1491 HRESULT ( STDMETHODCALLTYPE *WriteFieldPointerAnnotated )(
1492 IXCLRDataDisplay * This,
1493 const char *const element,
1494 unsigned int fieldOffset,
1495 unsigned int fieldSize,
1496 SIZE_T ptr,
1497 const WCHAR *const annotation);
1498
1499 HRESULT ( STDMETHODCALLTYPE *WriteFieldAddress )(
1500 IXCLRDataDisplay * This,
1501 const char *const element,
1502 unsigned int fieldOffset,
1503 unsigned int fieldSize,
1504 SIZE_T base,
1505 SIZE_T size);
1506
1507 HRESULT ( STDMETHODCALLTYPE *StartStructure )(
1508 IXCLRDataDisplay * This,
1509 const char *const name,
1510 SIZE_T ptr,
1511 SIZE_T size);
1512
1513 HRESULT ( STDMETHODCALLTYPE *StartStructureWithNegSpace )(
1514 IXCLRDataDisplay * This,
1515 const char *const name,
1516 SIZE_T ptr,
1517 SIZE_T startPtr,
1518 SIZE_T totalSize);
1519
1520 HRESULT ( STDMETHODCALLTYPE *StartStructureWithOffset )(
1521 IXCLRDataDisplay * This,
1522 const char *const name,
1523 unsigned int fieldOffset,
1524 unsigned int fieldSize,
1525 SIZE_T ptr,
1526 SIZE_T size);
1527
1528 HRESULT ( STDMETHODCALLTYPE *EndStructure )(
1529 IXCLRDataDisplay * This);
1530
1531 END_INTERFACE
1532 } IXCLRDataDisplayVtbl;
1533
1534 interface IXCLRDataDisplay
1535 {
1536 CONST_VTBL struct IXCLRDataDisplayVtbl *lpVtbl;
1537 };
1538
1539
1540
1541#ifdef COBJMACROS
1542
1543
1544#define IXCLRDataDisplay_QueryInterface(This,riid,ppvObject) \
1545 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1546
1547#define IXCLRDataDisplay_AddRef(This) \
1548 ( (This)->lpVtbl -> AddRef(This) )
1549
1550#define IXCLRDataDisplay_Release(This) \
1551 ( (This)->lpVtbl -> Release(This) )
1552
1553
1554#define IXCLRDataDisplay_ErrorPrintF(This,fmt,...) \
1555 ( (This)->lpVtbl -> ErrorPrintF(This,fmt,...) )
1556
1557#define IXCLRDataDisplay_NativeImageDimensions(This,base,size,sectionAlign) \
1558 ( (This)->lpVtbl -> NativeImageDimensions(This,base,size,sectionAlign) )
1559
1560#define IXCLRDataDisplay_Section(This,name,rva,size) \
1561 ( (This)->lpVtbl -> Section(This,name,rva,size) )
1562
1563#define IXCLRDataDisplay_GetDumpOptions(This,pOptions) \
1564 ( (This)->lpVtbl -> GetDumpOptions(This,pOptions) )
1565
1566#define IXCLRDataDisplay_StartDocument(This) \
1567 ( (This)->lpVtbl -> StartDocument(This) )
1568
1569#define IXCLRDataDisplay_EndDocument(This) \
1570 ( (This)->lpVtbl -> EndDocument(This) )
1571
1572#define IXCLRDataDisplay_StartCategory(This,name) \
1573 ( (This)->lpVtbl -> StartCategory(This,name) )
1574
1575#define IXCLRDataDisplay_EndCategory(This) \
1576 ( (This)->lpVtbl -> EndCategory(This) )
1577
1578#define IXCLRDataDisplay_StartElement(This,name) \
1579 ( (This)->lpVtbl -> StartElement(This,name) )
1580
1581#define IXCLRDataDisplay_EndElement(This) \
1582 ( (This)->lpVtbl -> EndElement(This) )
1583
1584#define IXCLRDataDisplay_StartVStructure(This,name) \
1585 ( (This)->lpVtbl -> StartVStructure(This,name) )
1586
1587#define IXCLRDataDisplay_StartVStructureWithOffset(This,name,fieldOffset,fieldSize) \
1588 ( (This)->lpVtbl -> StartVStructureWithOffset(This,name,fieldOffset,fieldSize) )
1589
1590#define IXCLRDataDisplay_EndVStructure(This) \
1591 ( (This)->lpVtbl -> EndVStructure(This) )
1592
1593#define IXCLRDataDisplay_StartTextElement(This,name) \
1594 ( (This)->lpVtbl -> StartTextElement(This,name) )
1595
1596#define IXCLRDataDisplay_EndTextElement(This) \
1597 ( (This)->lpVtbl -> EndTextElement(This) )
1598
1599#define IXCLRDataDisplay_WriteXmlText(This,fmt,...) \
1600 ( (This)->lpVtbl -> WriteXmlText(This,fmt,...) )
1601
1602#define IXCLRDataDisplay_WriteXmlTextBlock(This,fmt,...) \
1603 ( (This)->lpVtbl -> WriteXmlTextBlock(This,fmt,...) )
1604
1605#define IXCLRDataDisplay_WriteEmptyElement(This,element) \
1606 ( (This)->lpVtbl -> WriteEmptyElement(This,element) )
1607
1608#define IXCLRDataDisplay_WriteElementPointer(This,element,ptr) \
1609 ( (This)->lpVtbl -> WriteElementPointer(This,element,ptr) )
1610
1611#define IXCLRDataDisplay_WriteElementPointerAnnotated(This,element,ptr,annotation) \
1612 ( (This)->lpVtbl -> WriteElementPointerAnnotated(This,element,ptr,annotation) )
1613
1614#define IXCLRDataDisplay_WriteElementAddress(This,element,base,size) \
1615 ( (This)->lpVtbl -> WriteElementAddress(This,element,base,size) )
1616
1617#define IXCLRDataDisplay_WriteElementAddressNamed(This,element,name,base,size) \
1618 ( (This)->lpVtbl -> WriteElementAddressNamed(This,element,name,base,size) )
1619
1620#define IXCLRDataDisplay_WriteElementAddressNamedW(This,element,name,base,size) \
1621 ( (This)->lpVtbl -> WriteElementAddressNamedW(This,element,name,base,size) )
1622
1623#define IXCLRDataDisplay_WriteElementString(This,element,data) \
1624 ( (This)->lpVtbl -> WriteElementString(This,element,data) )
1625
1626#define IXCLRDataDisplay_WriteElementStringW(This,element,data) \
1627 ( (This)->lpVtbl -> WriteElementStringW(This,element,data) )
1628
1629#define IXCLRDataDisplay_WriteElementInt(This,element,value) \
1630 ( (This)->lpVtbl -> WriteElementInt(This,element,value) )
1631
1632#define IXCLRDataDisplay_WriteElementUInt(This,element,value) \
1633 ( (This)->lpVtbl -> WriteElementUInt(This,element,value) )
1634
1635#define IXCLRDataDisplay_WriteElementEnumerated(This,element,value,mnemonic) \
1636 ( (This)->lpVtbl -> WriteElementEnumerated(This,element,value,mnemonic) )
1637
1638#define IXCLRDataDisplay_WriteElementIntWithSuppress(This,element,value,suppressIfEqual) \
1639 ( (This)->lpVtbl -> WriteElementIntWithSuppress(This,element,value,suppressIfEqual) )
1640
1641#define IXCLRDataDisplay_WriteElementFlag(This,element,flag) \
1642 ( (This)->lpVtbl -> WriteElementFlag(This,element,flag) )
1643
1644#define IXCLRDataDisplay_StartArray(This,name,fmt) \
1645 ( (This)->lpVtbl -> StartArray(This,name,fmt) )
1646
1647#define IXCLRDataDisplay_EndArray(This,countPrefix) \
1648 ( (This)->lpVtbl -> EndArray(This,countPrefix) )
1649
1650#define IXCLRDataDisplay_StartList(This,fmt) \
1651 ( (This)->lpVtbl -> StartList(This,fmt) )
1652
1653#define IXCLRDataDisplay_EndList(This) \
1654 ( (This)->lpVtbl -> EndList(This) )
1655
1656#define IXCLRDataDisplay_StartArrayWithOffset(This,name,fieldOffset,fieldSize,fmt) \
1657 ( (This)->lpVtbl -> StartArrayWithOffset(This,name,fieldOffset,fieldSize,fmt) )
1658
1659#define IXCLRDataDisplay_WriteFieldString(This,element,fieldOffset,fieldSize,data) \
1660 ( (This)->lpVtbl -> WriteFieldString(This,element,fieldOffset,fieldSize,data) )
1661
1662#define IXCLRDataDisplay_WriteFieldStringW(This,element,fieldOffset,fieldSize,data) \
1663 ( (This)->lpVtbl -> WriteFieldStringW(This,element,fieldOffset,fieldSize,data) )
1664
1665#define IXCLRDataDisplay_WriteFieldPointer(This,element,fieldOffset,fieldSize,ptr) \
1666 ( (This)->lpVtbl -> WriteFieldPointer(This,element,fieldOffset,fieldSize,ptr) )
1667
1668#define IXCLRDataDisplay_WriteFieldPointerWithSize(This,element,fieldOffset,fieldSize,ptr,size) \
1669 ( (This)->lpVtbl -> WriteFieldPointerWithSize(This,element,fieldOffset,fieldSize,ptr,size) )
1670
1671#define IXCLRDataDisplay_WriteFieldInt(This,element,fieldOffset,fieldSize,value) \
1672 ( (This)->lpVtbl -> WriteFieldInt(This,element,fieldOffset,fieldSize,value) )
1673
1674#define IXCLRDataDisplay_WriteFieldUInt(This,element,fieldOffset,fieldSize,value) \
1675 ( (This)->lpVtbl -> WriteFieldUInt(This,element,fieldOffset,fieldSize,value) )
1676
1677#define IXCLRDataDisplay_WriteFieldEnumerated(This,element,fieldOffset,fieldSize,value,mnemonic) \
1678 ( (This)->lpVtbl -> WriteFieldEnumerated(This,element,fieldOffset,fieldSize,value,mnemonic) )
1679
1680#define IXCLRDataDisplay_WriteFieldEmpty(This,element,fieldOffset,fieldSize) \
1681 ( (This)->lpVtbl -> WriteFieldEmpty(This,element,fieldOffset,fieldSize) )
1682
1683#define IXCLRDataDisplay_WriteFieldFlag(This,element,fieldOffset,fieldSize,flag) \
1684 ( (This)->lpVtbl -> WriteFieldFlag(This,element,fieldOffset,fieldSize,flag) )
1685
1686#define IXCLRDataDisplay_WriteFieldPointerAnnotated(This,element,fieldOffset,fieldSize,ptr,annotation) \
1687 ( (This)->lpVtbl -> WriteFieldPointerAnnotated(This,element,fieldOffset,fieldSize,ptr,annotation) )
1688
1689#define IXCLRDataDisplay_WriteFieldAddress(This,element,fieldOffset,fieldSize,base,size) \
1690 ( (This)->lpVtbl -> WriteFieldAddress(This,element,fieldOffset,fieldSize,base,size) )
1691
1692#define IXCLRDataDisplay_StartStructure(This,name,ptr,size) \
1693 ( (This)->lpVtbl -> StartStructure(This,name,ptr,size) )
1694
1695#define IXCLRDataDisplay_StartStructureWithNegSpace(This,name,ptr,startPtr,totalSize) \
1696 ( (This)->lpVtbl -> StartStructureWithNegSpace(This,name,ptr,startPtr,totalSize) )
1697
1698#define IXCLRDataDisplay_StartStructureWithOffset(This,name,fieldOffset,fieldSize,ptr,size) \
1699 ( (This)->lpVtbl -> StartStructureWithOffset(This,name,fieldOffset,fieldSize,ptr,size) )
1700
1701#define IXCLRDataDisplay_EndStructure(This) \
1702 ( (This)->lpVtbl -> EndStructure(This) )
1703
1704#endif /* COBJMACROS */
1705
1706
1707#endif /* C style interface */
1708
1709
1710
1711
1712#endif /* __IXCLRDataDisplay_INTERFACE_DEFINED__ */
1713
1714
1715#ifndef __IXCLRDataProcess_INTERFACE_DEFINED__
1716#define __IXCLRDataProcess_INTERFACE_DEFINED__
1717
1718/* interface IXCLRDataProcess */
1719/* [uuid][local][object] */
1720
1721
1722EXTERN_C const IID IID_IXCLRDataProcess;
1723
1724#if defined(__cplusplus) && !defined(CINTERFACE)
1725
1726 MIDL_INTERFACE("5c552ab6-fc09-4cb3-8e36-22fa03c798b7")
1727 IXCLRDataProcess : public IUnknown
1728 {
1729 public:
1730 virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
1731
1732 virtual HRESULT STDMETHODCALLTYPE StartEnumTasks(
1733 /* [out] */ CLRDATA_ENUM *handle) = 0;
1734
1735 virtual HRESULT STDMETHODCALLTYPE EnumTask(
1736 /* [out][in] */ CLRDATA_ENUM *handle,
1737 /* [out] */ IXCLRDataTask **task) = 0;
1738
1739 virtual HRESULT STDMETHODCALLTYPE EndEnumTasks(
1740 /* [in] */ CLRDATA_ENUM handle) = 0;
1741
1742 virtual HRESULT STDMETHODCALLTYPE GetTaskByOSThreadID(
1743 /* [in] */ ULONG32 osThreadID,
1744 /* [out] */ IXCLRDataTask **task) = 0;
1745
1746 virtual HRESULT STDMETHODCALLTYPE GetTaskByUniqueID(
1747 /* [in] */ ULONG64 taskID,
1748 /* [out] */ IXCLRDataTask **task) = 0;
1749
1750 virtual HRESULT STDMETHODCALLTYPE GetFlags(
1751 /* [out] */ ULONG32 *flags) = 0;
1752
1753 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
1754 /* [in] */ IXCLRDataProcess *process) = 0;
1755
1756 virtual HRESULT STDMETHODCALLTYPE GetManagedObject(
1757 /* [out] */ IXCLRDataValue **value) = 0;
1758
1759 virtual HRESULT STDMETHODCALLTYPE GetDesiredExecutionState(
1760 /* [out] */ ULONG32 *state) = 0;
1761
1762 virtual HRESULT STDMETHODCALLTYPE SetDesiredExecutionState(
1763 /* [in] */ ULONG32 state) = 0;
1764
1765 virtual HRESULT STDMETHODCALLTYPE GetAddressType(
1766 /* [in] */ CLRDATA_ADDRESS address,
1767 /* [out] */ CLRDataAddressType *type) = 0;
1768
1769 virtual HRESULT STDMETHODCALLTYPE GetRuntimeNameByAddress(
1770 /* [in] */ CLRDATA_ADDRESS address,
1771 /* [in] */ ULONG32 flags,
1772 /* [in] */ ULONG32 bufLen,
1773 /* [out] */ ULONG32 *nameLen,
1774 /* [size_is][out] */ WCHAR nameBuf[ ],
1775 /* [out] */ CLRDATA_ADDRESS *displacement) = 0;
1776
1777 virtual HRESULT STDMETHODCALLTYPE StartEnumAppDomains(
1778 /* [out] */ CLRDATA_ENUM *handle) = 0;
1779
1780 virtual HRESULT STDMETHODCALLTYPE EnumAppDomain(
1781 /* [out][in] */ CLRDATA_ENUM *handle,
1782 /* [out] */ IXCLRDataAppDomain **appDomain) = 0;
1783
1784 virtual HRESULT STDMETHODCALLTYPE EndEnumAppDomains(
1785 /* [in] */ CLRDATA_ENUM handle) = 0;
1786
1787 virtual HRESULT STDMETHODCALLTYPE GetAppDomainByUniqueID(
1788 /* [in] */ ULONG64 id,
1789 /* [out] */ IXCLRDataAppDomain **appDomain) = 0;
1790
1791 virtual HRESULT STDMETHODCALLTYPE StartEnumAssemblies(
1792 /* [out] */ CLRDATA_ENUM *handle) = 0;
1793
1794 virtual HRESULT STDMETHODCALLTYPE EnumAssembly(
1795 /* [out][in] */ CLRDATA_ENUM *handle,
1796 /* [out] */ IXCLRDataAssembly **assembly) = 0;
1797
1798 virtual HRESULT STDMETHODCALLTYPE EndEnumAssemblies(
1799 /* [in] */ CLRDATA_ENUM handle) = 0;
1800
1801 virtual HRESULT STDMETHODCALLTYPE StartEnumModules(
1802 /* [out] */ CLRDATA_ENUM *handle) = 0;
1803
1804 virtual HRESULT STDMETHODCALLTYPE EnumModule(
1805 /* [out][in] */ CLRDATA_ENUM *handle,
1806 /* [out] */ IXCLRDataModule **mod) = 0;
1807
1808 virtual HRESULT STDMETHODCALLTYPE EndEnumModules(
1809 /* [in] */ CLRDATA_ENUM handle) = 0;
1810
1811 virtual HRESULT STDMETHODCALLTYPE GetModuleByAddress(
1812 /* [in] */ CLRDATA_ADDRESS address,
1813 /* [out] */ IXCLRDataModule **mod) = 0;
1814
1815 virtual HRESULT STDMETHODCALLTYPE StartEnumMethodInstancesByAddress(
1816 /* [in] */ CLRDATA_ADDRESS address,
1817 /* [in] */ IXCLRDataAppDomain *appDomain,
1818 /* [out] */ CLRDATA_ENUM *handle) = 0;
1819
1820 virtual HRESULT STDMETHODCALLTYPE EnumMethodInstanceByAddress(
1821 /* [in] */ CLRDATA_ENUM *handle,
1822 /* [out] */ IXCLRDataMethodInstance **method) = 0;
1823
1824 virtual HRESULT STDMETHODCALLTYPE EndEnumMethodInstancesByAddress(
1825 /* [in] */ CLRDATA_ENUM handle) = 0;
1826
1827 virtual HRESULT STDMETHODCALLTYPE GetDataByAddress(
1828 /* [in] */ CLRDATA_ADDRESS address,
1829 /* [in] */ ULONG32 flags,
1830 /* [in] */ IXCLRDataAppDomain *appDomain,
1831 /* [in] */ IXCLRDataTask *tlsTask,
1832 /* [in] */ ULONG32 bufLen,
1833 /* [out] */ ULONG32 *nameLen,
1834 /* [size_is][out] */ WCHAR nameBuf[ ],
1835 /* [out] */ IXCLRDataValue **value,
1836 /* [out] */ CLRDATA_ADDRESS *displacement) = 0;
1837
1838 virtual HRESULT STDMETHODCALLTYPE GetExceptionStateByExceptionRecord(
1839 /* [in] */ EXCEPTION_RECORD64 *record,
1840 /* [out] */ IXCLRDataExceptionState **exState) = 0;
1841
1842 virtual HRESULT STDMETHODCALLTYPE TranslateExceptionRecordToNotification(
1843 /* [in] */ EXCEPTION_RECORD64 *record,
1844 /* [in] */ IXCLRDataExceptionNotification *notify) = 0;
1845
1846 virtual HRESULT STDMETHODCALLTYPE Request(
1847 /* [in] */ ULONG32 reqCode,
1848 /* [in] */ ULONG32 inBufferSize,
1849 /* [size_is][in] */ BYTE *inBuffer,
1850 /* [in] */ ULONG32 outBufferSize,
1851 /* [size_is][out] */ BYTE *outBuffer) = 0;
1852
1853 virtual HRESULT STDMETHODCALLTYPE CreateMemoryValue(
1854 /* [in] */ IXCLRDataAppDomain *appDomain,
1855 /* [in] */ IXCLRDataTask *tlsTask,
1856 /* [in] */ IXCLRDataTypeInstance *type,
1857 /* [in] */ CLRDATA_ADDRESS addr,
1858 /* [out] */ IXCLRDataValue **value) = 0;
1859
1860 virtual HRESULT STDMETHODCALLTYPE SetAllTypeNotifications(
1861 IXCLRDataModule *mod,
1862 ULONG32 flags) = 0;
1863
1864 virtual HRESULT STDMETHODCALLTYPE SetAllCodeNotifications(
1865 IXCLRDataModule *mod,
1866 ULONG32 flags) = 0;
1867
1868 virtual HRESULT STDMETHODCALLTYPE GetTypeNotifications(
1869 /* [in] */ ULONG32 numTokens,
1870 /* [size_is][in] */ IXCLRDataModule *mods[ ],
1871 /* [in] */ IXCLRDataModule *singleMod,
1872 /* [size_is][in] */ mdTypeDef tokens[ ],
1873 /* [size_is][out] */ ULONG32 flags[ ]) = 0;
1874
1875 virtual HRESULT STDMETHODCALLTYPE SetTypeNotifications(
1876 /* [in] */ ULONG32 numTokens,
1877 /* [size_is][in] */ IXCLRDataModule *mods[ ],
1878 /* [in] */ IXCLRDataModule *singleMod,
1879 /* [size_is][in] */ mdTypeDef tokens[ ],
1880 /* [size_is][in] */ ULONG32 flags[ ],
1881 /* [in] */ ULONG32 singleFlags) = 0;
1882
1883 virtual HRESULT STDMETHODCALLTYPE GetCodeNotifications(
1884 /* [in] */ ULONG32 numTokens,
1885 /* [size_is][in] */ IXCLRDataModule *mods[ ],
1886 /* [in] */ IXCLRDataModule *singleMod,
1887 /* [size_is][in] */ mdMethodDef tokens[ ],
1888 /* [size_is][out] */ ULONG32 flags[ ]) = 0;
1889
1890 virtual HRESULT STDMETHODCALLTYPE SetCodeNotifications(
1891 /* [in] */ ULONG32 numTokens,
1892 /* [size_is][in] */ IXCLRDataModule *mods[ ],
1893 /* [in] */ IXCLRDataModule *singleMod,
1894 /* [size_is][in] */ mdMethodDef tokens[ ],
1895 /* [size_is][in] */ ULONG32 flags[ ],
1896 /* [in] */ ULONG32 singleFlags) = 0;
1897
1898 virtual HRESULT STDMETHODCALLTYPE GetOtherNotificationFlags(
1899 /* [out] */ ULONG32 *flags) = 0;
1900
1901 virtual HRESULT STDMETHODCALLTYPE SetOtherNotificationFlags(
1902 /* [in] */ ULONG32 flags) = 0;
1903
1904 virtual HRESULT STDMETHODCALLTYPE StartEnumMethodDefinitionsByAddress(
1905 /* [in] */ CLRDATA_ADDRESS address,
1906 /* [out] */ CLRDATA_ENUM *handle) = 0;
1907
1908 virtual HRESULT STDMETHODCALLTYPE EnumMethodDefinitionByAddress(
1909 /* [in] */ CLRDATA_ENUM *handle,
1910 /* [out] */ IXCLRDataMethodDefinition **method) = 0;
1911
1912 virtual HRESULT STDMETHODCALLTYPE EndEnumMethodDefinitionsByAddress(
1913 /* [in] */ CLRDATA_ENUM handle) = 0;
1914
1915 virtual HRESULT STDMETHODCALLTYPE FollowStub(
1916 /* [in] */ ULONG32 inFlags,
1917 /* [in] */ CLRDATA_ADDRESS inAddr,
1918 /* [in] */ CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
1919 /* [out] */ CLRDATA_ADDRESS *outAddr,
1920 /* [out] */ CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
1921 /* [out] */ ULONG32 *outFlags) = 0;
1922
1923 virtual HRESULT STDMETHODCALLTYPE FollowStub2(
1924 /* [in] */ IXCLRDataTask *task,
1925 /* [in] */ ULONG32 inFlags,
1926 /* [in] */ CLRDATA_ADDRESS inAddr,
1927 /* [in] */ CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
1928 /* [out] */ CLRDATA_ADDRESS *outAddr,
1929 /* [out] */ CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
1930 /* [out] */ ULONG32 *outFlags) = 0;
1931
1932 virtual HRESULT STDMETHODCALLTYPE DumpNativeImage(
1933 /* [in] */ CLRDATA_ADDRESS loadedBase,
1934 /* [in] */ LPCWSTR name,
1935 /* [in] */ IXCLRDataDisplay *display,
1936 /* [in] */ IXCLRLibrarySupport *libSupport,
1937 /* [in] */ IXCLRDisassemblySupport *dis) = 0;
1938
1939 };
1940
1941
1942#else /* C style interface */
1943
1944 typedef struct IXCLRDataProcessVtbl
1945 {
1946 BEGIN_INTERFACE
1947
1948 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1949 IXCLRDataProcess * This,
1950 /* [in] */ REFIID riid,
1951 /* [annotation][iid_is][out] */
1952 _COM_Outptr_ void **ppvObject);
1953
1954 ULONG ( STDMETHODCALLTYPE *AddRef )(
1955 IXCLRDataProcess * This);
1956
1957 ULONG ( STDMETHODCALLTYPE *Release )(
1958 IXCLRDataProcess * This);
1959
1960 HRESULT ( STDMETHODCALLTYPE *Flush )(
1961 IXCLRDataProcess * This);
1962
1963 HRESULT ( STDMETHODCALLTYPE *StartEnumTasks )(
1964 IXCLRDataProcess * This,
1965 /* [out] */ CLRDATA_ENUM *handle);
1966
1967 HRESULT ( STDMETHODCALLTYPE *EnumTask )(
1968 IXCLRDataProcess * This,
1969 /* [out][in] */ CLRDATA_ENUM *handle,
1970 /* [out] */ IXCLRDataTask **task);
1971
1972 HRESULT ( STDMETHODCALLTYPE *EndEnumTasks )(
1973 IXCLRDataProcess * This,
1974 /* [in] */ CLRDATA_ENUM handle);
1975
1976 HRESULT ( STDMETHODCALLTYPE *GetTaskByOSThreadID )(
1977 IXCLRDataProcess * This,
1978 /* [in] */ ULONG32 osThreadID,
1979 /* [out] */ IXCLRDataTask **task);
1980
1981 HRESULT ( STDMETHODCALLTYPE *GetTaskByUniqueID )(
1982 IXCLRDataProcess * This,
1983 /* [in] */ ULONG64 taskID,
1984 /* [out] */ IXCLRDataTask **task);
1985
1986 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
1987 IXCLRDataProcess * This,
1988 /* [out] */ ULONG32 *flags);
1989
1990 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
1991 IXCLRDataProcess * This,
1992 /* [in] */ IXCLRDataProcess *process);
1993
1994 HRESULT ( STDMETHODCALLTYPE *GetManagedObject )(
1995 IXCLRDataProcess * This,
1996 /* [out] */ IXCLRDataValue **value);
1997
1998 HRESULT ( STDMETHODCALLTYPE *GetDesiredExecutionState )(
1999 IXCLRDataProcess * This,
2000 /* [out] */ ULONG32 *state);
2001
2002 HRESULT ( STDMETHODCALLTYPE *SetDesiredExecutionState )(
2003 IXCLRDataProcess * This,
2004 /* [in] */ ULONG32 state);
2005
2006 HRESULT ( STDMETHODCALLTYPE *GetAddressType )(
2007 IXCLRDataProcess * This,
2008 /* [in] */ CLRDATA_ADDRESS address,
2009 /* [out] */ CLRDataAddressType *type);
2010
2011 HRESULT ( STDMETHODCALLTYPE *GetRuntimeNameByAddress )(
2012 IXCLRDataProcess * This,
2013 /* [in] */ CLRDATA_ADDRESS address,
2014 /* [in] */ ULONG32 flags,
2015 /* [in] */ ULONG32 bufLen,
2016 /* [out] */ ULONG32 *nameLen,
2017 /* [size_is][out] */ WCHAR nameBuf[ ],
2018 /* [out] */ CLRDATA_ADDRESS *displacement);
2019
2020 HRESULT ( STDMETHODCALLTYPE *StartEnumAppDomains )(
2021 IXCLRDataProcess * This,
2022 /* [out] */ CLRDATA_ENUM *handle);
2023
2024 HRESULT ( STDMETHODCALLTYPE *EnumAppDomain )(
2025 IXCLRDataProcess * This,
2026 /* [out][in] */ CLRDATA_ENUM *handle,
2027 /* [out] */ IXCLRDataAppDomain **appDomain);
2028
2029 HRESULT ( STDMETHODCALLTYPE *EndEnumAppDomains )(
2030 IXCLRDataProcess * This,
2031 /* [in] */ CLRDATA_ENUM handle);
2032
2033 HRESULT ( STDMETHODCALLTYPE *GetAppDomainByUniqueID )(
2034 IXCLRDataProcess * This,
2035 /* [in] */ ULONG64 id,
2036 /* [out] */ IXCLRDataAppDomain **appDomain);
2037
2038 HRESULT ( STDMETHODCALLTYPE *StartEnumAssemblies )(
2039 IXCLRDataProcess * This,
2040 /* [out] */ CLRDATA_ENUM *handle);
2041
2042 HRESULT ( STDMETHODCALLTYPE *EnumAssembly )(
2043 IXCLRDataProcess * This,
2044 /* [out][in] */ CLRDATA_ENUM *handle,
2045 /* [out] */ IXCLRDataAssembly **assembly);
2046
2047 HRESULT ( STDMETHODCALLTYPE *EndEnumAssemblies )(
2048 IXCLRDataProcess * This,
2049 /* [in] */ CLRDATA_ENUM handle);
2050
2051 HRESULT ( STDMETHODCALLTYPE *StartEnumModules )(
2052 IXCLRDataProcess * This,
2053 /* [out] */ CLRDATA_ENUM *handle);
2054
2055 HRESULT ( STDMETHODCALLTYPE *EnumModule )(
2056 IXCLRDataProcess * This,
2057 /* [out][in] */ CLRDATA_ENUM *handle,
2058 /* [out] */ IXCLRDataModule **mod);
2059
2060 HRESULT ( STDMETHODCALLTYPE *EndEnumModules )(
2061 IXCLRDataProcess * This,
2062 /* [in] */ CLRDATA_ENUM handle);
2063
2064 HRESULT ( STDMETHODCALLTYPE *GetModuleByAddress )(
2065 IXCLRDataProcess * This,
2066 /* [in] */ CLRDATA_ADDRESS address,
2067 /* [out] */ IXCLRDataModule **mod);
2068
2069 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodInstancesByAddress )(
2070 IXCLRDataProcess * This,
2071 /* [in] */ CLRDATA_ADDRESS address,
2072 /* [in] */ IXCLRDataAppDomain *appDomain,
2073 /* [out] */ CLRDATA_ENUM *handle);
2074
2075 HRESULT ( STDMETHODCALLTYPE *EnumMethodInstanceByAddress )(
2076 IXCLRDataProcess * This,
2077 /* [in] */ CLRDATA_ENUM *handle,
2078 /* [out] */ IXCLRDataMethodInstance **method);
2079
2080 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodInstancesByAddress )(
2081 IXCLRDataProcess * This,
2082 /* [in] */ CLRDATA_ENUM handle);
2083
2084 HRESULT ( STDMETHODCALLTYPE *GetDataByAddress )(
2085 IXCLRDataProcess * This,
2086 /* [in] */ CLRDATA_ADDRESS address,
2087 /* [in] */ ULONG32 flags,
2088 /* [in] */ IXCLRDataAppDomain *appDomain,
2089 /* [in] */ IXCLRDataTask *tlsTask,
2090 /* [in] */ ULONG32 bufLen,
2091 /* [out] */ ULONG32 *nameLen,
2092 /* [size_is][out] */ WCHAR nameBuf[ ],
2093 /* [out] */ IXCLRDataValue **value,
2094 /* [out] */ CLRDATA_ADDRESS *displacement);
2095
2096 HRESULT ( STDMETHODCALLTYPE *GetExceptionStateByExceptionRecord )(
2097 IXCLRDataProcess * This,
2098 /* [in] */ EXCEPTION_RECORD64 *record,
2099 /* [out] */ IXCLRDataExceptionState **exState);
2100
2101 HRESULT ( STDMETHODCALLTYPE *TranslateExceptionRecordToNotification )(
2102 IXCLRDataProcess * This,
2103 /* [in] */ EXCEPTION_RECORD64 *record,
2104 /* [in] */ IXCLRDataExceptionNotification *notify);
2105
2106 HRESULT ( STDMETHODCALLTYPE *Request )(
2107 IXCLRDataProcess * This,
2108 /* [in] */ ULONG32 reqCode,
2109 /* [in] */ ULONG32 inBufferSize,
2110 /* [size_is][in] */ BYTE *inBuffer,
2111 /* [in] */ ULONG32 outBufferSize,
2112 /* [size_is][out] */ BYTE *outBuffer);
2113
2114 HRESULT ( STDMETHODCALLTYPE *CreateMemoryValue )(
2115 IXCLRDataProcess * This,
2116 /* [in] */ IXCLRDataAppDomain *appDomain,
2117 /* [in] */ IXCLRDataTask *tlsTask,
2118 /* [in] */ IXCLRDataTypeInstance *type,
2119 /* [in] */ CLRDATA_ADDRESS addr,
2120 /* [out] */ IXCLRDataValue **value);
2121
2122 HRESULT ( STDMETHODCALLTYPE *SetAllTypeNotifications )(
2123 IXCLRDataProcess * This,
2124 IXCLRDataModule *mod,
2125 ULONG32 flags);
2126
2127 HRESULT ( STDMETHODCALLTYPE *SetAllCodeNotifications )(
2128 IXCLRDataProcess * This,
2129 IXCLRDataModule *mod,
2130 ULONG32 flags);
2131
2132 HRESULT ( STDMETHODCALLTYPE *GetTypeNotifications )(
2133 IXCLRDataProcess * This,
2134 /* [in] */ ULONG32 numTokens,
2135 /* [size_is][in] */ IXCLRDataModule *mods[ ],
2136 /* [in] */ IXCLRDataModule *singleMod,
2137 /* [size_is][in] */ mdTypeDef tokens[ ],
2138 /* [size_is][out] */ ULONG32 flags[ ]);
2139
2140 HRESULT ( STDMETHODCALLTYPE *SetTypeNotifications )(
2141 IXCLRDataProcess * This,
2142 /* [in] */ ULONG32 numTokens,
2143 /* [size_is][in] */ IXCLRDataModule *mods[ ],
2144 /* [in] */ IXCLRDataModule *singleMod,
2145 /* [size_is][in] */ mdTypeDef tokens[ ],
2146 /* [size_is][in] */ ULONG32 flags[ ],
2147 /* [in] */ ULONG32 singleFlags);
2148
2149 HRESULT ( STDMETHODCALLTYPE *GetCodeNotifications )(
2150 IXCLRDataProcess * This,
2151 /* [in] */ ULONG32 numTokens,
2152 /* [size_is][in] */ IXCLRDataModule *mods[ ],
2153 /* [in] */ IXCLRDataModule *singleMod,
2154 /* [size_is][in] */ mdMethodDef tokens[ ],
2155 /* [size_is][out] */ ULONG32 flags[ ]);
2156
2157 HRESULT ( STDMETHODCALLTYPE *SetCodeNotifications )(
2158 IXCLRDataProcess * This,
2159 /* [in] */ ULONG32 numTokens,
2160 /* [size_is][in] */ IXCLRDataModule *mods[ ],
2161 /* [in] */ IXCLRDataModule *singleMod,
2162 /* [size_is][in] */ mdMethodDef tokens[ ],
2163 /* [size_is][in] */ ULONG32 flags[ ],
2164 /* [in] */ ULONG32 singleFlags);
2165
2166 HRESULT ( STDMETHODCALLTYPE *GetOtherNotificationFlags )(
2167 IXCLRDataProcess * This,
2168 /* [out] */ ULONG32 *flags);
2169
2170 HRESULT ( STDMETHODCALLTYPE *SetOtherNotificationFlags )(
2171 IXCLRDataProcess * This,
2172 /* [in] */ ULONG32 flags);
2173
2174 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodDefinitionsByAddress )(
2175 IXCLRDataProcess * This,
2176 /* [in] */ CLRDATA_ADDRESS address,
2177 /* [out] */ CLRDATA_ENUM *handle);
2178
2179 HRESULT ( STDMETHODCALLTYPE *EnumMethodDefinitionByAddress )(
2180 IXCLRDataProcess * This,
2181 /* [in] */ CLRDATA_ENUM *handle,
2182 /* [out] */ IXCLRDataMethodDefinition **method);
2183
2184 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodDefinitionsByAddress )(
2185 IXCLRDataProcess * This,
2186 /* [in] */ CLRDATA_ENUM handle);
2187
2188 HRESULT ( STDMETHODCALLTYPE *FollowStub )(
2189 IXCLRDataProcess * This,
2190 /* [in] */ ULONG32 inFlags,
2191 /* [in] */ CLRDATA_ADDRESS inAddr,
2192 /* [in] */ CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
2193 /* [out] */ CLRDATA_ADDRESS *outAddr,
2194 /* [out] */ CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
2195 /* [out] */ ULONG32 *outFlags);
2196
2197 HRESULT ( STDMETHODCALLTYPE *FollowStub2 )(
2198 IXCLRDataProcess * This,
2199 /* [in] */ IXCLRDataTask *task,
2200 /* [in] */ ULONG32 inFlags,
2201 /* [in] */ CLRDATA_ADDRESS inAddr,
2202 /* [in] */ CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
2203 /* [out] */ CLRDATA_ADDRESS *outAddr,
2204 /* [out] */ CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
2205 /* [out] */ ULONG32 *outFlags);
2206
2207 HRESULT ( STDMETHODCALLTYPE *DumpNativeImage )(
2208 IXCLRDataProcess * This,
2209 /* [in] */ CLRDATA_ADDRESS loadedBase,
2210 /* [in] */ LPCWSTR name,
2211 /* [in] */ IXCLRDataDisplay *display,
2212 /* [in] */ IXCLRLibrarySupport *libSupport,
2213 /* [in] */ IXCLRDisassemblySupport *dis);
2214
2215 END_INTERFACE
2216 } IXCLRDataProcessVtbl;
2217
2218 interface IXCLRDataProcess
2219 {
2220 CONST_VTBL struct IXCLRDataProcessVtbl *lpVtbl;
2221 };
2222
2223
2224
2225#ifdef COBJMACROS
2226
2227
2228#define IXCLRDataProcess_QueryInterface(This,riid,ppvObject) \
2229 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2230
2231#define IXCLRDataProcess_AddRef(This) \
2232 ( (This)->lpVtbl -> AddRef(This) )
2233
2234#define IXCLRDataProcess_Release(This) \
2235 ( (This)->lpVtbl -> Release(This) )
2236
2237
2238#define IXCLRDataProcess_Flush(This) \
2239 ( (This)->lpVtbl -> Flush(This) )
2240
2241#define IXCLRDataProcess_StartEnumTasks(This,handle) \
2242 ( (This)->lpVtbl -> StartEnumTasks(This,handle) )
2243
2244#define IXCLRDataProcess_EnumTask(This,handle,task) \
2245 ( (This)->lpVtbl -> EnumTask(This,handle,task) )
2246
2247#define IXCLRDataProcess_EndEnumTasks(This,handle) \
2248 ( (This)->lpVtbl -> EndEnumTasks(This,handle) )
2249
2250#define IXCLRDataProcess_GetTaskByOSThreadID(This,osThreadID,task) \
2251 ( (This)->lpVtbl -> GetTaskByOSThreadID(This,osThreadID,task) )
2252
2253#define IXCLRDataProcess_GetTaskByUniqueID(This,taskID,task) \
2254 ( (This)->lpVtbl -> GetTaskByUniqueID(This,taskID,task) )
2255
2256#define IXCLRDataProcess_GetFlags(This,flags) \
2257 ( (This)->lpVtbl -> GetFlags(This,flags) )
2258
2259#define IXCLRDataProcess_IsSameObject(This,process) \
2260 ( (This)->lpVtbl -> IsSameObject(This,process) )
2261
2262#define IXCLRDataProcess_GetManagedObject(This,value) \
2263 ( (This)->lpVtbl -> GetManagedObject(This,value) )
2264
2265#define IXCLRDataProcess_GetDesiredExecutionState(This,state) \
2266 ( (This)->lpVtbl -> GetDesiredExecutionState(This,state) )
2267
2268#define IXCLRDataProcess_SetDesiredExecutionState(This,state) \
2269 ( (This)->lpVtbl -> SetDesiredExecutionState(This,state) )
2270
2271#define IXCLRDataProcess_GetAddressType(This,address,type) \
2272 ( (This)->lpVtbl -> GetAddressType(This,address,type) )
2273
2274#define IXCLRDataProcess_GetRuntimeNameByAddress(This,address,flags,bufLen,nameLen,nameBuf,displacement) \
2275 ( (This)->lpVtbl -> GetRuntimeNameByAddress(This,address,flags,bufLen,nameLen,nameBuf,displacement) )
2276
2277#define IXCLRDataProcess_StartEnumAppDomains(This,handle) \
2278 ( (This)->lpVtbl -> StartEnumAppDomains(This,handle) )
2279
2280#define IXCLRDataProcess_EnumAppDomain(This,handle,appDomain) \
2281 ( (This)->lpVtbl -> EnumAppDomain(This,handle,appDomain) )
2282
2283#define IXCLRDataProcess_EndEnumAppDomains(This,handle) \
2284 ( (This)->lpVtbl -> EndEnumAppDomains(This,handle) )
2285
2286#define IXCLRDataProcess_GetAppDomainByUniqueID(This,id,appDomain) \
2287 ( (This)->lpVtbl -> GetAppDomainByUniqueID(This,id,appDomain) )
2288
2289#define IXCLRDataProcess_StartEnumAssemblies(This,handle) \
2290 ( (This)->lpVtbl -> StartEnumAssemblies(This,handle) )
2291
2292#define IXCLRDataProcess_EnumAssembly(This,handle,assembly) \
2293 ( (This)->lpVtbl -> EnumAssembly(This,handle,assembly) )
2294
2295#define IXCLRDataProcess_EndEnumAssemblies(This,handle) \
2296 ( (This)->lpVtbl -> EndEnumAssemblies(This,handle) )
2297
2298#define IXCLRDataProcess_StartEnumModules(This,handle) \
2299 ( (This)->lpVtbl -> StartEnumModules(This,handle) )
2300
2301#define IXCLRDataProcess_EnumModule(This,handle,mod) \
2302 ( (This)->lpVtbl -> EnumModule(This,handle,mod) )
2303
2304#define IXCLRDataProcess_EndEnumModules(This,handle) \
2305 ( (This)->lpVtbl -> EndEnumModules(This,handle) )
2306
2307#define IXCLRDataProcess_GetModuleByAddress(This,address,mod) \
2308 ( (This)->lpVtbl -> GetModuleByAddress(This,address,mod) )
2309
2310#define IXCLRDataProcess_StartEnumMethodInstancesByAddress(This,address,appDomain,handle) \
2311 ( (This)->lpVtbl -> StartEnumMethodInstancesByAddress(This,address,appDomain,handle) )
2312
2313#define IXCLRDataProcess_EnumMethodInstanceByAddress(This,handle,method) \
2314 ( (This)->lpVtbl -> EnumMethodInstanceByAddress(This,handle,method) )
2315
2316#define IXCLRDataProcess_EndEnumMethodInstancesByAddress(This,handle) \
2317 ( (This)->lpVtbl -> EndEnumMethodInstancesByAddress(This,handle) )
2318
2319#define IXCLRDataProcess_GetDataByAddress(This,address,flags,appDomain,tlsTask,bufLen,nameLen,nameBuf,value,displacement) \
2320 ( (This)->lpVtbl -> GetDataByAddress(This,address,flags,appDomain,tlsTask,bufLen,nameLen,nameBuf,value,displacement) )
2321
2322#define IXCLRDataProcess_GetExceptionStateByExceptionRecord(This,record,exState) \
2323 ( (This)->lpVtbl -> GetExceptionStateByExceptionRecord(This,record,exState) )
2324
2325#define IXCLRDataProcess_TranslateExceptionRecordToNotification(This,record,notify) \
2326 ( (This)->lpVtbl -> TranslateExceptionRecordToNotification(This,record,notify) )
2327
2328#define IXCLRDataProcess_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
2329 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
2330
2331#define IXCLRDataProcess_CreateMemoryValue(This,appDomain,tlsTask,type,addr,value) \
2332 ( (This)->lpVtbl -> CreateMemoryValue(This,appDomain,tlsTask,type,addr,value) )
2333
2334#define IXCLRDataProcess_SetAllTypeNotifications(This,mod,flags) \
2335 ( (This)->lpVtbl -> SetAllTypeNotifications(This,mod,flags) )
2336
2337#define IXCLRDataProcess_SetAllCodeNotifications(This,mod,flags) \
2338 ( (This)->lpVtbl -> SetAllCodeNotifications(This,mod,flags) )
2339
2340#define IXCLRDataProcess_GetTypeNotifications(This,numTokens,mods,singleMod,tokens,flags) \
2341 ( (This)->lpVtbl -> GetTypeNotifications(This,numTokens,mods,singleMod,tokens,flags) )
2342
2343#define IXCLRDataProcess_SetTypeNotifications(This,numTokens,mods,singleMod,tokens,flags,singleFlags) \
2344 ( (This)->lpVtbl -> SetTypeNotifications(This,numTokens,mods,singleMod,tokens,flags,singleFlags) )
2345
2346#define IXCLRDataProcess_GetCodeNotifications(This,numTokens,mods,singleMod,tokens,flags) \
2347 ( (This)->lpVtbl -> GetCodeNotifications(This,numTokens,mods,singleMod,tokens,flags) )
2348
2349#define IXCLRDataProcess_SetCodeNotifications(This,numTokens,mods,singleMod,tokens,flags,singleFlags) \
2350 ( (This)->lpVtbl -> SetCodeNotifications(This,numTokens,mods,singleMod,tokens,flags,singleFlags) )
2351
2352#define IXCLRDataProcess_GetOtherNotificationFlags(This,flags) \
2353 ( (This)->lpVtbl -> GetOtherNotificationFlags(This,flags) )
2354
2355#define IXCLRDataProcess_SetOtherNotificationFlags(This,flags) \
2356 ( (This)->lpVtbl -> SetOtherNotificationFlags(This,flags) )
2357
2358#define IXCLRDataProcess_StartEnumMethodDefinitionsByAddress(This,address,handle) \
2359 ( (This)->lpVtbl -> StartEnumMethodDefinitionsByAddress(This,address,handle) )
2360
2361#define IXCLRDataProcess_EnumMethodDefinitionByAddress(This,handle,method) \
2362 ( (This)->lpVtbl -> EnumMethodDefinitionByAddress(This,handle,method) )
2363
2364#define IXCLRDataProcess_EndEnumMethodDefinitionsByAddress(This,handle) \
2365 ( (This)->lpVtbl -> EndEnumMethodDefinitionsByAddress(This,handle) )
2366
2367#define IXCLRDataProcess_FollowStub(This,inFlags,inAddr,inBuffer,outAddr,outBuffer,outFlags) \
2368 ( (This)->lpVtbl -> FollowStub(This,inFlags,inAddr,inBuffer,outAddr,outBuffer,outFlags) )
2369
2370#define IXCLRDataProcess_FollowStub2(This,task,inFlags,inAddr,inBuffer,outAddr,outBuffer,outFlags) \
2371 ( (This)->lpVtbl -> FollowStub2(This,task,inFlags,inAddr,inBuffer,outAddr,outBuffer,outFlags) )
2372
2373#define IXCLRDataProcess_DumpNativeImage(This,loadedBase,name,display,libSupport,dis) \
2374 ( (This)->lpVtbl -> DumpNativeImage(This,loadedBase,name,display,libSupport,dis) )
2375
2376#endif /* COBJMACROS */
2377
2378
2379#endif /* C style interface */
2380
2381
2382
2383
2384#endif /* __IXCLRDataProcess_INTERFACE_DEFINED__ */
2385
2386
2387/* interface __MIDL_itf_xclrdata_0000_0005 */
2388/* [local] */
2389
2390#pragma warning(pop)
2391typedef /* [public][public][public][public] */
2392enum __MIDL___MIDL_itf_xclrdata_0000_0005_0001
2393 {
2394 GC_MARK_END = 1,
2395 GC_EVENT_TYPE_MAX = ( GC_MARK_END + 1 )
2396 } GcEvt_t;
2397
2398typedef /* [public][public][public][public] */ struct __MIDL___MIDL_itf_xclrdata_0000_0005_0002
2399 {
2400 GcEvt_t typ;
2401 /* [switch_is] */ /* [switch_type] */ union
2402 {
2403 /* [case()] */ int condemnedGeneration;
2404 } ;
2405 } GcEvtArgs;
2406
2407
2408
2409extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0005_v0_0_c_ifspec;
2410extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0005_v0_0_s_ifspec;
2411
2412#ifndef __IXCLRDataProcess2_INTERFACE_DEFINED__
2413#define __IXCLRDataProcess2_INTERFACE_DEFINED__
2414
2415/* interface IXCLRDataProcess2 */
2416/* [uuid][local][object] */
2417
2418
2419EXTERN_C const IID IID_IXCLRDataProcess2;
2420
2421#if defined(__cplusplus) && !defined(CINTERFACE)
2422
2423 MIDL_INTERFACE("5c552ab6-fc09-4cb3-8e36-22fa03c798b8")
2424 IXCLRDataProcess2 : public IXCLRDataProcess
2425 {
2426 public:
2427 virtual HRESULT STDMETHODCALLTYPE GetGcNotification(
2428 /* [out][in] */ GcEvtArgs *gcEvtArgs) = 0;
2429
2430 virtual HRESULT STDMETHODCALLTYPE SetGcNotification(
2431 /* [in] */ GcEvtArgs gcEvtArgs) = 0;
2432
2433 };
2434
2435
2436#else /* C style interface */
2437
2438 typedef struct IXCLRDataProcess2Vtbl
2439 {
2440 BEGIN_INTERFACE
2441
2442 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2443 IXCLRDataProcess2 * This,
2444 /* [in] */ REFIID riid,
2445 /* [annotation][iid_is][out] */
2446 _COM_Outptr_ void **ppvObject);
2447
2448 ULONG ( STDMETHODCALLTYPE *AddRef )(
2449 IXCLRDataProcess2 * This);
2450
2451 ULONG ( STDMETHODCALLTYPE *Release )(
2452 IXCLRDataProcess2 * This);
2453
2454 HRESULT ( STDMETHODCALLTYPE *Flush )(
2455 IXCLRDataProcess2 * This);
2456
2457 HRESULT ( STDMETHODCALLTYPE *StartEnumTasks )(
2458 IXCLRDataProcess2 * This,
2459 /* [out] */ CLRDATA_ENUM *handle);
2460
2461 HRESULT ( STDMETHODCALLTYPE *EnumTask )(
2462 IXCLRDataProcess2 * This,
2463 /* [out][in] */ CLRDATA_ENUM *handle,
2464 /* [out] */ IXCLRDataTask **task);
2465
2466 HRESULT ( STDMETHODCALLTYPE *EndEnumTasks )(
2467 IXCLRDataProcess2 * This,
2468 /* [in] */ CLRDATA_ENUM handle);
2469
2470 HRESULT ( STDMETHODCALLTYPE *GetTaskByOSThreadID )(
2471 IXCLRDataProcess2 * This,
2472 /* [in] */ ULONG32 osThreadID,
2473 /* [out] */ IXCLRDataTask **task);
2474
2475 HRESULT ( STDMETHODCALLTYPE *GetTaskByUniqueID )(
2476 IXCLRDataProcess2 * This,
2477 /* [in] */ ULONG64 taskID,
2478 /* [out] */ IXCLRDataTask **task);
2479
2480 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
2481 IXCLRDataProcess2 * This,
2482 /* [out] */ ULONG32 *flags);
2483
2484 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
2485 IXCLRDataProcess2 * This,
2486 /* [in] */ IXCLRDataProcess *process);
2487
2488 HRESULT ( STDMETHODCALLTYPE *GetManagedObject )(
2489 IXCLRDataProcess2 * This,
2490 /* [out] */ IXCLRDataValue **value);
2491
2492 HRESULT ( STDMETHODCALLTYPE *GetDesiredExecutionState )(
2493 IXCLRDataProcess2 * This,
2494 /* [out] */ ULONG32 *state);
2495
2496 HRESULT ( STDMETHODCALLTYPE *SetDesiredExecutionState )(
2497 IXCLRDataProcess2 * This,
2498 /* [in] */ ULONG32 state);
2499
2500 HRESULT ( STDMETHODCALLTYPE *GetAddressType )(
2501 IXCLRDataProcess2 * This,
2502 /* [in] */ CLRDATA_ADDRESS address,
2503 /* [out] */ CLRDataAddressType *type);
2504
2505 HRESULT ( STDMETHODCALLTYPE *GetRuntimeNameByAddress )(
2506 IXCLRDataProcess2 * This,
2507 /* [in] */ CLRDATA_ADDRESS address,
2508 /* [in] */ ULONG32 flags,
2509 /* [in] */ ULONG32 bufLen,
2510 /* [out] */ ULONG32 *nameLen,
2511 /* [size_is][out] */ WCHAR nameBuf[ ],
2512 /* [out] */ CLRDATA_ADDRESS *displacement);
2513
2514 HRESULT ( STDMETHODCALLTYPE *StartEnumAppDomains )(
2515 IXCLRDataProcess2 * This,
2516 /* [out] */ CLRDATA_ENUM *handle);
2517
2518 HRESULT ( STDMETHODCALLTYPE *EnumAppDomain )(
2519 IXCLRDataProcess2 * This,
2520 /* [out][in] */ CLRDATA_ENUM *handle,
2521 /* [out] */ IXCLRDataAppDomain **appDomain);
2522
2523 HRESULT ( STDMETHODCALLTYPE *EndEnumAppDomains )(
2524 IXCLRDataProcess2 * This,
2525 /* [in] */ CLRDATA_ENUM handle);
2526
2527 HRESULT ( STDMETHODCALLTYPE *GetAppDomainByUniqueID )(
2528 IXCLRDataProcess2 * This,
2529 /* [in] */ ULONG64 id,
2530 /* [out] */ IXCLRDataAppDomain **appDomain);
2531
2532 HRESULT ( STDMETHODCALLTYPE *StartEnumAssemblies )(
2533 IXCLRDataProcess2 * This,
2534 /* [out] */ CLRDATA_ENUM *handle);
2535
2536 HRESULT ( STDMETHODCALLTYPE *EnumAssembly )(
2537 IXCLRDataProcess2 * This,
2538 /* [out][in] */ CLRDATA_ENUM *handle,
2539 /* [out] */ IXCLRDataAssembly **assembly);
2540
2541 HRESULT ( STDMETHODCALLTYPE *EndEnumAssemblies )(
2542 IXCLRDataProcess2 * This,
2543 /* [in] */ CLRDATA_ENUM handle);
2544
2545 HRESULT ( STDMETHODCALLTYPE *StartEnumModules )(
2546 IXCLRDataProcess2 * This,
2547 /* [out] */ CLRDATA_ENUM *handle);
2548
2549 HRESULT ( STDMETHODCALLTYPE *EnumModule )(
2550 IXCLRDataProcess2 * This,
2551 /* [out][in] */ CLRDATA_ENUM *handle,
2552 /* [out] */ IXCLRDataModule **mod);
2553
2554 HRESULT ( STDMETHODCALLTYPE *EndEnumModules )(
2555 IXCLRDataProcess2 * This,
2556 /* [in] */ CLRDATA_ENUM handle);
2557
2558 HRESULT ( STDMETHODCALLTYPE *GetModuleByAddress )(
2559 IXCLRDataProcess2 * This,
2560 /* [in] */ CLRDATA_ADDRESS address,
2561 /* [out] */ IXCLRDataModule **mod);
2562
2563 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodInstancesByAddress )(
2564 IXCLRDataProcess2 * This,
2565 /* [in] */ CLRDATA_ADDRESS address,
2566 /* [in] */ IXCLRDataAppDomain *appDomain,
2567 /* [out] */ CLRDATA_ENUM *handle);
2568
2569 HRESULT ( STDMETHODCALLTYPE *EnumMethodInstanceByAddress )(
2570 IXCLRDataProcess2 * This,
2571 /* [in] */ CLRDATA_ENUM *handle,
2572 /* [out] */ IXCLRDataMethodInstance **method);
2573
2574 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodInstancesByAddress )(
2575 IXCLRDataProcess2 * This,
2576 /* [in] */ CLRDATA_ENUM handle);
2577
2578 HRESULT ( STDMETHODCALLTYPE *GetDataByAddress )(
2579 IXCLRDataProcess2 * This,
2580 /* [in] */ CLRDATA_ADDRESS address,
2581 /* [in] */ ULONG32 flags,
2582 /* [in] */ IXCLRDataAppDomain *appDomain,
2583 /* [in] */ IXCLRDataTask *tlsTask,
2584 /* [in] */ ULONG32 bufLen,
2585 /* [out] */ ULONG32 *nameLen,
2586 /* [size_is][out] */ WCHAR nameBuf[ ],
2587 /* [out] */ IXCLRDataValue **value,
2588 /* [out] */ CLRDATA_ADDRESS *displacement);
2589
2590 HRESULT ( STDMETHODCALLTYPE *GetExceptionStateByExceptionRecord )(
2591 IXCLRDataProcess2 * This,
2592 /* [in] */ EXCEPTION_RECORD64 *record,
2593 /* [out] */ IXCLRDataExceptionState **exState);
2594
2595 HRESULT ( STDMETHODCALLTYPE *TranslateExceptionRecordToNotification )(
2596 IXCLRDataProcess2 * This,
2597 /* [in] */ EXCEPTION_RECORD64 *record,
2598 /* [in] */ IXCLRDataExceptionNotification *notify);
2599
2600 HRESULT ( STDMETHODCALLTYPE *Request )(
2601 IXCLRDataProcess2 * This,
2602 /* [in] */ ULONG32 reqCode,
2603 /* [in] */ ULONG32 inBufferSize,
2604 /* [size_is][in] */ BYTE *inBuffer,
2605 /* [in] */ ULONG32 outBufferSize,
2606 /* [size_is][out] */ BYTE *outBuffer);
2607
2608 HRESULT ( STDMETHODCALLTYPE *CreateMemoryValue )(
2609 IXCLRDataProcess2 * This,
2610 /* [in] */ IXCLRDataAppDomain *appDomain,
2611 /* [in] */ IXCLRDataTask *tlsTask,
2612 /* [in] */ IXCLRDataTypeInstance *type,
2613 /* [in] */ CLRDATA_ADDRESS addr,
2614 /* [out] */ IXCLRDataValue **value);
2615
2616 HRESULT ( STDMETHODCALLTYPE *SetAllTypeNotifications )(
2617 IXCLRDataProcess2 * This,
2618 IXCLRDataModule *mod,
2619 ULONG32 flags);
2620
2621 HRESULT ( STDMETHODCALLTYPE *SetAllCodeNotifications )(
2622 IXCLRDataProcess2 * This,
2623 IXCLRDataModule *mod,
2624 ULONG32 flags);
2625
2626 HRESULT ( STDMETHODCALLTYPE *GetTypeNotifications )(
2627 IXCLRDataProcess2 * This,
2628 /* [in] */ ULONG32 numTokens,
2629 /* [size_is][in] */ IXCLRDataModule *mods[ ],
2630 /* [in] */ IXCLRDataModule *singleMod,
2631 /* [size_is][in] */ mdTypeDef tokens[ ],
2632 /* [size_is][out] */ ULONG32 flags[ ]);
2633
2634 HRESULT ( STDMETHODCALLTYPE *SetTypeNotifications )(
2635 IXCLRDataProcess2 * This,
2636 /* [in] */ ULONG32 numTokens,
2637 /* [size_is][in] */ IXCLRDataModule *mods[ ],
2638 /* [in] */ IXCLRDataModule *singleMod,
2639 /* [size_is][in] */ mdTypeDef tokens[ ],
2640 /* [size_is][in] */ ULONG32 flags[ ],
2641 /* [in] */ ULONG32 singleFlags);
2642
2643 HRESULT ( STDMETHODCALLTYPE *GetCodeNotifications )(
2644 IXCLRDataProcess2 * This,
2645 /* [in] */ ULONG32 numTokens,
2646 /* [size_is][in] */ IXCLRDataModule *mods[ ],
2647 /* [in] */ IXCLRDataModule *singleMod,
2648 /* [size_is][in] */ mdMethodDef tokens[ ],
2649 /* [size_is][out] */ ULONG32 flags[ ]);
2650
2651 HRESULT ( STDMETHODCALLTYPE *SetCodeNotifications )(
2652 IXCLRDataProcess2 * This,
2653 /* [in] */ ULONG32 numTokens,
2654 /* [size_is][in] */ IXCLRDataModule *mods[ ],
2655 /* [in] */ IXCLRDataModule *singleMod,
2656 /* [size_is][in] */ mdMethodDef tokens[ ],
2657 /* [size_is][in] */ ULONG32 flags[ ],
2658 /* [in] */ ULONG32 singleFlags);
2659
2660 HRESULT ( STDMETHODCALLTYPE *GetOtherNotificationFlags )(
2661 IXCLRDataProcess2 * This,
2662 /* [out] */ ULONG32 *flags);
2663
2664 HRESULT ( STDMETHODCALLTYPE *SetOtherNotificationFlags )(
2665 IXCLRDataProcess2 * This,
2666 /* [in] */ ULONG32 flags);
2667
2668 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodDefinitionsByAddress )(
2669 IXCLRDataProcess2 * This,
2670 /* [in] */ CLRDATA_ADDRESS address,
2671 /* [out] */ CLRDATA_ENUM *handle);
2672
2673 HRESULT ( STDMETHODCALLTYPE *EnumMethodDefinitionByAddress )(
2674 IXCLRDataProcess2 * This,
2675 /* [in] */ CLRDATA_ENUM *handle,
2676 /* [out] */ IXCLRDataMethodDefinition **method);
2677
2678 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodDefinitionsByAddress )(
2679 IXCLRDataProcess2 * This,
2680 /* [in] */ CLRDATA_ENUM handle);
2681
2682 HRESULT ( STDMETHODCALLTYPE *FollowStub )(
2683 IXCLRDataProcess2 * This,
2684 /* [in] */ ULONG32 inFlags,
2685 /* [in] */ CLRDATA_ADDRESS inAddr,
2686 /* [in] */ CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
2687 /* [out] */ CLRDATA_ADDRESS *outAddr,
2688 /* [out] */ CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
2689 /* [out] */ ULONG32 *outFlags);
2690
2691 HRESULT ( STDMETHODCALLTYPE *FollowStub2 )(
2692 IXCLRDataProcess2 * This,
2693 /* [in] */ IXCLRDataTask *task,
2694 /* [in] */ ULONG32 inFlags,
2695 /* [in] */ CLRDATA_ADDRESS inAddr,
2696 /* [in] */ CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
2697 /* [out] */ CLRDATA_ADDRESS *outAddr,
2698 /* [out] */ CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
2699 /* [out] */ ULONG32 *outFlags);
2700
2701 HRESULT ( STDMETHODCALLTYPE *DumpNativeImage )(
2702 IXCLRDataProcess2 * This,
2703 /* [in] */ CLRDATA_ADDRESS loadedBase,
2704 /* [in] */ LPCWSTR name,
2705 /* [in] */ IXCLRDataDisplay *display,
2706 /* [in] */ IXCLRLibrarySupport *libSupport,
2707 /* [in] */ IXCLRDisassemblySupport *dis);
2708
2709 HRESULT ( STDMETHODCALLTYPE *GetGcNotification )(
2710 IXCLRDataProcess2 * This,
2711 /* [out][in] */ GcEvtArgs *gcEvtArgs);
2712
2713 HRESULT ( STDMETHODCALLTYPE *SetGcNotification )(
2714 IXCLRDataProcess2 * This,
2715 /* [in] */ GcEvtArgs gcEvtArgs);
2716
2717 END_INTERFACE
2718 } IXCLRDataProcess2Vtbl;
2719
2720 interface IXCLRDataProcess2
2721 {
2722 CONST_VTBL struct IXCLRDataProcess2Vtbl *lpVtbl;
2723 };
2724
2725
2726
2727#ifdef COBJMACROS
2728
2729
2730#define IXCLRDataProcess2_QueryInterface(This,riid,ppvObject) \
2731 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2732
2733#define IXCLRDataProcess2_AddRef(This) \
2734 ( (This)->lpVtbl -> AddRef(This) )
2735
2736#define IXCLRDataProcess2_Release(This) \
2737 ( (This)->lpVtbl -> Release(This) )
2738
2739
2740#define IXCLRDataProcess2_Flush(This) \
2741 ( (This)->lpVtbl -> Flush(This) )
2742
2743#define IXCLRDataProcess2_StartEnumTasks(This,handle) \
2744 ( (This)->lpVtbl -> StartEnumTasks(This,handle) )
2745
2746#define IXCLRDataProcess2_EnumTask(This,handle,task) \
2747 ( (This)->lpVtbl -> EnumTask(This,handle,task) )
2748
2749#define IXCLRDataProcess2_EndEnumTasks(This,handle) \
2750 ( (This)->lpVtbl -> EndEnumTasks(This,handle) )
2751
2752#define IXCLRDataProcess2_GetTaskByOSThreadID(This,osThreadID,task) \
2753 ( (This)->lpVtbl -> GetTaskByOSThreadID(This,osThreadID,task) )
2754
2755#define IXCLRDataProcess2_GetTaskByUniqueID(This,taskID,task) \
2756 ( (This)->lpVtbl -> GetTaskByUniqueID(This,taskID,task) )
2757
2758#define IXCLRDataProcess2_GetFlags(This,flags) \
2759 ( (This)->lpVtbl -> GetFlags(This,flags) )
2760
2761#define IXCLRDataProcess2_IsSameObject(This,process) \
2762 ( (This)->lpVtbl -> IsSameObject(This,process) )
2763
2764#define IXCLRDataProcess2_GetManagedObject(This,value) \
2765 ( (This)->lpVtbl -> GetManagedObject(This,value) )
2766
2767#define IXCLRDataProcess2_GetDesiredExecutionState(This,state) \
2768 ( (This)->lpVtbl -> GetDesiredExecutionState(This,state) )
2769
2770#define IXCLRDataProcess2_SetDesiredExecutionState(This,state) \
2771 ( (This)->lpVtbl -> SetDesiredExecutionState(This,state) )
2772
2773#define IXCLRDataProcess2_GetAddressType(This,address,type) \
2774 ( (This)->lpVtbl -> GetAddressType(This,address,type) )
2775
2776#define IXCLRDataProcess2_GetRuntimeNameByAddress(This,address,flags,bufLen,nameLen,nameBuf,displacement) \
2777 ( (This)->lpVtbl -> GetRuntimeNameByAddress(This,address,flags,bufLen,nameLen,nameBuf,displacement) )
2778
2779#define IXCLRDataProcess2_StartEnumAppDomains(This,handle) \
2780 ( (This)->lpVtbl -> StartEnumAppDomains(This,handle) )
2781
2782#define IXCLRDataProcess2_EnumAppDomain(This,handle,appDomain) \
2783 ( (This)->lpVtbl -> EnumAppDomain(This,handle,appDomain) )
2784
2785#define IXCLRDataProcess2_EndEnumAppDomains(This,handle) \
2786 ( (This)->lpVtbl -> EndEnumAppDomains(This,handle) )
2787
2788#define IXCLRDataProcess2_GetAppDomainByUniqueID(This,id,appDomain) \
2789 ( (This)->lpVtbl -> GetAppDomainByUniqueID(This,id,appDomain) )
2790
2791#define IXCLRDataProcess2_StartEnumAssemblies(This,handle) \
2792 ( (This)->lpVtbl -> StartEnumAssemblies(This,handle) )
2793
2794#define IXCLRDataProcess2_EnumAssembly(This,handle,assembly) \
2795 ( (This)->lpVtbl -> EnumAssembly(This,handle,assembly) )
2796
2797#define IXCLRDataProcess2_EndEnumAssemblies(This,handle) \
2798 ( (This)->lpVtbl -> EndEnumAssemblies(This,handle) )
2799
2800#define IXCLRDataProcess2_StartEnumModules(This,handle) \
2801 ( (This)->lpVtbl -> StartEnumModules(This,handle) )
2802
2803#define IXCLRDataProcess2_EnumModule(This,handle,mod) \
2804 ( (This)->lpVtbl -> EnumModule(This,handle,mod) )
2805
2806#define IXCLRDataProcess2_EndEnumModules(This,handle) \
2807 ( (This)->lpVtbl -> EndEnumModules(This,handle) )
2808
2809#define IXCLRDataProcess2_GetModuleByAddress(This,address,mod) \
2810 ( (This)->lpVtbl -> GetModuleByAddress(This,address,mod) )
2811
2812#define IXCLRDataProcess2_StartEnumMethodInstancesByAddress(This,address,appDomain,handle) \
2813 ( (This)->lpVtbl -> StartEnumMethodInstancesByAddress(This,address,appDomain,handle) )
2814
2815#define IXCLRDataProcess2_EnumMethodInstanceByAddress(This,handle,method) \
2816 ( (This)->lpVtbl -> EnumMethodInstanceByAddress(This,handle,method) )
2817
2818#define IXCLRDataProcess2_EndEnumMethodInstancesByAddress(This,handle) \
2819 ( (This)->lpVtbl -> EndEnumMethodInstancesByAddress(This,handle) )
2820
2821#define IXCLRDataProcess2_GetDataByAddress(This,address,flags,appDomain,tlsTask,bufLen,nameLen,nameBuf,value,displacement) \
2822 ( (This)->lpVtbl -> GetDataByAddress(This,address,flags,appDomain,tlsTask,bufLen,nameLen,nameBuf,value,displacement) )
2823
2824#define IXCLRDataProcess2_GetExceptionStateByExceptionRecord(This,record,exState) \
2825 ( (This)->lpVtbl -> GetExceptionStateByExceptionRecord(This,record,exState) )
2826
2827#define IXCLRDataProcess2_TranslateExceptionRecordToNotification(This,record,notify) \
2828 ( (This)->lpVtbl -> TranslateExceptionRecordToNotification(This,record,notify) )
2829
2830#define IXCLRDataProcess2_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
2831 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
2832
2833#define IXCLRDataProcess2_CreateMemoryValue(This,appDomain,tlsTask,type,addr,value) \
2834 ( (This)->lpVtbl -> CreateMemoryValue(This,appDomain,tlsTask,type,addr,value) )
2835
2836#define IXCLRDataProcess2_SetAllTypeNotifications(This,mod,flags) \
2837 ( (This)->lpVtbl -> SetAllTypeNotifications(This,mod,flags) )
2838
2839#define IXCLRDataProcess2_SetAllCodeNotifications(This,mod,flags) \
2840 ( (This)->lpVtbl -> SetAllCodeNotifications(This,mod,flags) )
2841
2842#define IXCLRDataProcess2_GetTypeNotifications(This,numTokens,mods,singleMod,tokens,flags) \
2843 ( (This)->lpVtbl -> GetTypeNotifications(This,numTokens,mods,singleMod,tokens,flags) )
2844
2845#define IXCLRDataProcess2_SetTypeNotifications(This,numTokens,mods,singleMod,tokens,flags,singleFlags) \
2846 ( (This)->lpVtbl -> SetTypeNotifications(This,numTokens,mods,singleMod,tokens,flags,singleFlags) )
2847
2848#define IXCLRDataProcess2_GetCodeNotifications(This,numTokens,mods,singleMod,tokens,flags) \
2849 ( (This)->lpVtbl -> GetCodeNotifications(This,numTokens,mods,singleMod,tokens,flags) )
2850
2851#define IXCLRDataProcess2_SetCodeNotifications(This,numTokens,mods,singleMod,tokens,flags,singleFlags) \
2852 ( (This)->lpVtbl -> SetCodeNotifications(This,numTokens,mods,singleMod,tokens,flags,singleFlags) )
2853
2854#define IXCLRDataProcess2_GetOtherNotificationFlags(This,flags) \
2855 ( (This)->lpVtbl -> GetOtherNotificationFlags(This,flags) )
2856
2857#define IXCLRDataProcess2_SetOtherNotificationFlags(This,flags) \
2858 ( (This)->lpVtbl -> SetOtherNotificationFlags(This,flags) )
2859
2860#define IXCLRDataProcess2_StartEnumMethodDefinitionsByAddress(This,address,handle) \
2861 ( (This)->lpVtbl -> StartEnumMethodDefinitionsByAddress(This,address,handle) )
2862
2863#define IXCLRDataProcess2_EnumMethodDefinitionByAddress(This,handle,method) \
2864 ( (This)->lpVtbl -> EnumMethodDefinitionByAddress(This,handle,method) )
2865
2866#define IXCLRDataProcess2_EndEnumMethodDefinitionsByAddress(This,handle) \
2867 ( (This)->lpVtbl -> EndEnumMethodDefinitionsByAddress(This,handle) )
2868
2869#define IXCLRDataProcess2_FollowStub(This,inFlags,inAddr,inBuffer,outAddr,outBuffer,outFlags) \
2870 ( (This)->lpVtbl -> FollowStub(This,inFlags,inAddr,inBuffer,outAddr,outBuffer,outFlags) )
2871
2872#define IXCLRDataProcess2_FollowStub2(This,task,inFlags,inAddr,inBuffer,outAddr,outBuffer,outFlags) \
2873 ( (This)->lpVtbl -> FollowStub2(This,task,inFlags,inAddr,inBuffer,outAddr,outBuffer,outFlags) )
2874
2875#define IXCLRDataProcess2_DumpNativeImage(This,loadedBase,name,display,libSupport,dis) \
2876 ( (This)->lpVtbl -> DumpNativeImage(This,loadedBase,name,display,libSupport,dis) )
2877
2878
2879#define IXCLRDataProcess2_GetGcNotification(This,gcEvtArgs) \
2880 ( (This)->lpVtbl -> GetGcNotification(This,gcEvtArgs) )
2881
2882#define IXCLRDataProcess2_SetGcNotification(This,gcEvtArgs) \
2883 ( (This)->lpVtbl -> SetGcNotification(This,gcEvtArgs) )
2884
2885#endif /* COBJMACROS */
2886
2887
2888#endif /* C style interface */
2889
2890
2891
2892
2893#endif /* __IXCLRDataProcess2_INTERFACE_DEFINED__ */
2894
2895
2896/* interface __MIDL_itf_xclrdata_0000_0006 */
2897/* [local] */
2898
2899typedef /* [public] */
2900enum __MIDL___MIDL_itf_xclrdata_0000_0006_0001
2901 {
2902 CLRDATA_DOMAIN_DEFAULT = 0
2903 } CLRDataAppDomainFlag;
2904
2905#pragma warning(push)
2906#pragma warning(disable:28718)
2907
2908
2909extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0006_v0_0_c_ifspec;
2910extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0006_v0_0_s_ifspec;
2911
2912#ifndef __IXCLRDataAppDomain_INTERFACE_DEFINED__
2913#define __IXCLRDataAppDomain_INTERFACE_DEFINED__
2914
2915/* interface IXCLRDataAppDomain */
2916/* [uuid][local][object] */
2917
2918
2919EXTERN_C const IID IID_IXCLRDataAppDomain;
2920
2921#if defined(__cplusplus) && !defined(CINTERFACE)
2922
2923 MIDL_INTERFACE("7CA04601-C702-4670-A63C-FA44F7DA7BD5")
2924 IXCLRDataAppDomain : public IUnknown
2925 {
2926 public:
2927 virtual HRESULT STDMETHODCALLTYPE GetProcess(
2928 /* [out] */ IXCLRDataProcess **process) = 0;
2929
2930 virtual HRESULT STDMETHODCALLTYPE GetName(
2931 /* [in] */ ULONG32 bufLen,
2932 /* [out] */ ULONG32 *nameLen,
2933 /* [size_is][out] */ WCHAR name[ ]) = 0;
2934
2935 virtual HRESULT STDMETHODCALLTYPE GetUniqueID(
2936 /* [out] */ ULONG64 *id) = 0;
2937
2938 virtual HRESULT STDMETHODCALLTYPE GetFlags(
2939 /* [out] */ ULONG32 *flags) = 0;
2940
2941 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
2942 /* [in] */ IXCLRDataAppDomain *appDomain) = 0;
2943
2944 virtual HRESULT STDMETHODCALLTYPE GetManagedObject(
2945 /* [out] */ IXCLRDataValue **value) = 0;
2946
2947 virtual HRESULT STDMETHODCALLTYPE Request(
2948 /* [in] */ ULONG32 reqCode,
2949 /* [in] */ ULONG32 inBufferSize,
2950 /* [size_is][in] */ BYTE *inBuffer,
2951 /* [in] */ ULONG32 outBufferSize,
2952 /* [size_is][out] */ BYTE *outBuffer) = 0;
2953
2954 };
2955
2956
2957#else /* C style interface */
2958
2959 typedef struct IXCLRDataAppDomainVtbl
2960 {
2961 BEGIN_INTERFACE
2962
2963 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2964 IXCLRDataAppDomain * This,
2965 /* [in] */ REFIID riid,
2966 /* [annotation][iid_is][out] */
2967 _COM_Outptr_ void **ppvObject);
2968
2969 ULONG ( STDMETHODCALLTYPE *AddRef )(
2970 IXCLRDataAppDomain * This);
2971
2972 ULONG ( STDMETHODCALLTYPE *Release )(
2973 IXCLRDataAppDomain * This);
2974
2975 HRESULT ( STDMETHODCALLTYPE *GetProcess )(
2976 IXCLRDataAppDomain * This,
2977 /* [out] */ IXCLRDataProcess **process);
2978
2979 HRESULT ( STDMETHODCALLTYPE *GetName )(
2980 IXCLRDataAppDomain * This,
2981 /* [in] */ ULONG32 bufLen,
2982 /* [out] */ ULONG32 *nameLen,
2983 /* [size_is][out] */ WCHAR name[ ]);
2984
2985 HRESULT ( STDMETHODCALLTYPE *GetUniqueID )(
2986 IXCLRDataAppDomain * This,
2987 /* [out] */ ULONG64 *id);
2988
2989 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
2990 IXCLRDataAppDomain * This,
2991 /* [out] */ ULONG32 *flags);
2992
2993 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
2994 IXCLRDataAppDomain * This,
2995 /* [in] */ IXCLRDataAppDomain *appDomain);
2996
2997 HRESULT ( STDMETHODCALLTYPE *GetManagedObject )(
2998 IXCLRDataAppDomain * This,
2999 /* [out] */ IXCLRDataValue **value);
3000
3001 HRESULT ( STDMETHODCALLTYPE *Request )(
3002 IXCLRDataAppDomain * This,
3003 /* [in] */ ULONG32 reqCode,
3004 /* [in] */ ULONG32 inBufferSize,
3005 /* [size_is][in] */ BYTE *inBuffer,
3006 /* [in] */ ULONG32 outBufferSize,
3007 /* [size_is][out] */ BYTE *outBuffer);
3008
3009 END_INTERFACE
3010 } IXCLRDataAppDomainVtbl;
3011
3012 interface IXCLRDataAppDomain
3013 {
3014 CONST_VTBL struct IXCLRDataAppDomainVtbl *lpVtbl;
3015 };
3016
3017
3018
3019#ifdef COBJMACROS
3020
3021
3022#define IXCLRDataAppDomain_QueryInterface(This,riid,ppvObject) \
3023 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3024
3025#define IXCLRDataAppDomain_AddRef(This) \
3026 ( (This)->lpVtbl -> AddRef(This) )
3027
3028#define IXCLRDataAppDomain_Release(This) \
3029 ( (This)->lpVtbl -> Release(This) )
3030
3031
3032#define IXCLRDataAppDomain_GetProcess(This,process) \
3033 ( (This)->lpVtbl -> GetProcess(This,process) )
3034
3035#define IXCLRDataAppDomain_GetName(This,bufLen,nameLen,name) \
3036 ( (This)->lpVtbl -> GetName(This,bufLen,nameLen,name) )
3037
3038#define IXCLRDataAppDomain_GetUniqueID(This,id) \
3039 ( (This)->lpVtbl -> GetUniqueID(This,id) )
3040
3041#define IXCLRDataAppDomain_GetFlags(This,flags) \
3042 ( (This)->lpVtbl -> GetFlags(This,flags) )
3043
3044#define IXCLRDataAppDomain_IsSameObject(This,appDomain) \
3045 ( (This)->lpVtbl -> IsSameObject(This,appDomain) )
3046
3047#define IXCLRDataAppDomain_GetManagedObject(This,value) \
3048 ( (This)->lpVtbl -> GetManagedObject(This,value) )
3049
3050#define IXCLRDataAppDomain_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
3051 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
3052
3053#endif /* COBJMACROS */
3054
3055
3056#endif /* C style interface */
3057
3058
3059
3060
3061#endif /* __IXCLRDataAppDomain_INTERFACE_DEFINED__ */
3062
3063
3064/* interface __MIDL_itf_xclrdata_0000_0007 */
3065/* [local] */
3066
3067#pragma warning(pop)
3068typedef /* [public] */
3069enum __MIDL___MIDL_itf_xclrdata_0000_0007_0001
3070 {
3071 CLRDATA_ASSEMBLY_DEFAULT = 0
3072 } CLRDataAssemblyFlag;
3073
3074#pragma warning(push)
3075#pragma warning(disable:28718)
3076
3077
3078extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0007_v0_0_c_ifspec;
3079extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0007_v0_0_s_ifspec;
3080
3081#ifndef __IXCLRDataAssembly_INTERFACE_DEFINED__
3082#define __IXCLRDataAssembly_INTERFACE_DEFINED__
3083
3084/* interface IXCLRDataAssembly */
3085/* [uuid][local][object] */
3086
3087
3088EXTERN_C const IID IID_IXCLRDataAssembly;
3089
3090#if defined(__cplusplus) && !defined(CINTERFACE)
3091
3092 MIDL_INTERFACE("2FA17588-43C2-46ab-9B51-C8F01E39C9AC")
3093 IXCLRDataAssembly : public IUnknown
3094 {
3095 public:
3096 virtual HRESULT STDMETHODCALLTYPE StartEnumModules(
3097 /* [out] */ CLRDATA_ENUM *handle) = 0;
3098
3099 virtual HRESULT STDMETHODCALLTYPE EnumModule(
3100 /* [out][in] */ CLRDATA_ENUM *handle,
3101 /* [out] */ IXCLRDataModule **mod) = 0;
3102
3103 virtual HRESULT STDMETHODCALLTYPE EndEnumModules(
3104 /* [in] */ CLRDATA_ENUM handle) = 0;
3105
3106 virtual HRESULT STDMETHODCALLTYPE GetName(
3107 /* [in] */ ULONG32 bufLen,
3108 /* [out] */ ULONG32 *nameLen,
3109 /* [size_is][out] */ WCHAR name[ ]) = 0;
3110
3111 virtual HRESULT STDMETHODCALLTYPE GetFileName(
3112 /* [in] */ ULONG32 bufLen,
3113 /* [out] */ ULONG32 *nameLen,
3114 /* [size_is][out] */ WCHAR name[ ]) = 0;
3115
3116 virtual HRESULT STDMETHODCALLTYPE GetFlags(
3117 /* [out] */ ULONG32 *flags) = 0;
3118
3119 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
3120 /* [in] */ IXCLRDataAssembly *assembly) = 0;
3121
3122 virtual HRESULT STDMETHODCALLTYPE Request(
3123 /* [in] */ ULONG32 reqCode,
3124 /* [in] */ ULONG32 inBufferSize,
3125 /* [size_is][in] */ BYTE *inBuffer,
3126 /* [in] */ ULONG32 outBufferSize,
3127 /* [size_is][out] */ BYTE *outBuffer) = 0;
3128
3129 virtual HRESULT STDMETHODCALLTYPE StartEnumAppDomains(
3130 /* [out] */ CLRDATA_ENUM *handle) = 0;
3131
3132 virtual HRESULT STDMETHODCALLTYPE EnumAppDomain(
3133 /* [out][in] */ CLRDATA_ENUM *handle,
3134 /* [out] */ IXCLRDataAppDomain **appDomain) = 0;
3135
3136 virtual HRESULT STDMETHODCALLTYPE EndEnumAppDomains(
3137 /* [in] */ CLRDATA_ENUM handle) = 0;
3138
3139 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
3140 /* [in] */ ULONG32 bufLen,
3141 /* [out] */ ULONG32 *nameLen,
3142 /* [size_is][out] */ WCHAR name[ ]) = 0;
3143
3144 };
3145
3146
3147#else /* C style interface */
3148
3149 typedef struct IXCLRDataAssemblyVtbl
3150 {
3151 BEGIN_INTERFACE
3152
3153 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3154 IXCLRDataAssembly * This,
3155 /* [in] */ REFIID riid,
3156 /* [annotation][iid_is][out] */
3157 _COM_Outptr_ void **ppvObject);
3158
3159 ULONG ( STDMETHODCALLTYPE *AddRef )(
3160 IXCLRDataAssembly * This);
3161
3162 ULONG ( STDMETHODCALLTYPE *Release )(
3163 IXCLRDataAssembly * This);
3164
3165 HRESULT ( STDMETHODCALLTYPE *StartEnumModules )(
3166 IXCLRDataAssembly * This,
3167 /* [out] */ CLRDATA_ENUM *handle);
3168
3169 HRESULT ( STDMETHODCALLTYPE *EnumModule )(
3170 IXCLRDataAssembly * This,
3171 /* [out][in] */ CLRDATA_ENUM *handle,
3172 /* [out] */ IXCLRDataModule **mod);
3173
3174 HRESULT ( STDMETHODCALLTYPE *EndEnumModules )(
3175 IXCLRDataAssembly * This,
3176 /* [in] */ CLRDATA_ENUM handle);
3177
3178 HRESULT ( STDMETHODCALLTYPE *GetName )(
3179 IXCLRDataAssembly * This,
3180 /* [in] */ ULONG32 bufLen,
3181 /* [out] */ ULONG32 *nameLen,
3182 /* [size_is][out] */ WCHAR name[ ]);
3183
3184 HRESULT ( STDMETHODCALLTYPE *GetFileName )(
3185 IXCLRDataAssembly * This,
3186 /* [in] */ ULONG32 bufLen,
3187 /* [out] */ ULONG32 *nameLen,
3188 /* [size_is][out] */ WCHAR name[ ]);
3189
3190 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
3191 IXCLRDataAssembly * This,
3192 /* [out] */ ULONG32 *flags);
3193
3194 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
3195 IXCLRDataAssembly * This,
3196 /* [in] */ IXCLRDataAssembly *assembly);
3197
3198 HRESULT ( STDMETHODCALLTYPE *Request )(
3199 IXCLRDataAssembly * This,
3200 /* [in] */ ULONG32 reqCode,
3201 /* [in] */ ULONG32 inBufferSize,
3202 /* [size_is][in] */ BYTE *inBuffer,
3203 /* [in] */ ULONG32 outBufferSize,
3204 /* [size_is][out] */ BYTE *outBuffer);
3205
3206 HRESULT ( STDMETHODCALLTYPE *StartEnumAppDomains )(
3207 IXCLRDataAssembly * This,
3208 /* [out] */ CLRDATA_ENUM *handle);
3209
3210 HRESULT ( STDMETHODCALLTYPE *EnumAppDomain )(
3211 IXCLRDataAssembly * This,
3212 /* [out][in] */ CLRDATA_ENUM *handle,
3213 /* [out] */ IXCLRDataAppDomain **appDomain);
3214
3215 HRESULT ( STDMETHODCALLTYPE *EndEnumAppDomains )(
3216 IXCLRDataAssembly * This,
3217 /* [in] */ CLRDATA_ENUM handle);
3218
3219 HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
3220 IXCLRDataAssembly * This,
3221 /* [in] */ ULONG32 bufLen,
3222 /* [out] */ ULONG32 *nameLen,
3223 /* [size_is][out] */ WCHAR name[ ]);
3224
3225 END_INTERFACE
3226 } IXCLRDataAssemblyVtbl;
3227
3228 interface IXCLRDataAssembly
3229 {
3230 CONST_VTBL struct IXCLRDataAssemblyVtbl *lpVtbl;
3231 };
3232
3233
3234
3235#ifdef COBJMACROS
3236
3237
3238#define IXCLRDataAssembly_QueryInterface(This,riid,ppvObject) \
3239 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3240
3241#define IXCLRDataAssembly_AddRef(This) \
3242 ( (This)->lpVtbl -> AddRef(This) )
3243
3244#define IXCLRDataAssembly_Release(This) \
3245 ( (This)->lpVtbl -> Release(This) )
3246
3247
3248#define IXCLRDataAssembly_StartEnumModules(This,handle) \
3249 ( (This)->lpVtbl -> StartEnumModules(This,handle) )
3250
3251#define IXCLRDataAssembly_EnumModule(This,handle,mod) \
3252 ( (This)->lpVtbl -> EnumModule(This,handle,mod) )
3253
3254#define IXCLRDataAssembly_EndEnumModules(This,handle) \
3255 ( (This)->lpVtbl -> EndEnumModules(This,handle) )
3256
3257#define IXCLRDataAssembly_GetName(This,bufLen,nameLen,name) \
3258 ( (This)->lpVtbl -> GetName(This,bufLen,nameLen,name) )
3259
3260#define IXCLRDataAssembly_GetFileName(This,bufLen,nameLen,name) \
3261 ( (This)->lpVtbl -> GetFileName(This,bufLen,nameLen,name) )
3262
3263#define IXCLRDataAssembly_GetFlags(This,flags) \
3264 ( (This)->lpVtbl -> GetFlags(This,flags) )
3265
3266#define IXCLRDataAssembly_IsSameObject(This,assembly) \
3267 ( (This)->lpVtbl -> IsSameObject(This,assembly) )
3268
3269#define IXCLRDataAssembly_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
3270 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
3271
3272#define IXCLRDataAssembly_StartEnumAppDomains(This,handle) \
3273 ( (This)->lpVtbl -> StartEnumAppDomains(This,handle) )
3274
3275#define IXCLRDataAssembly_EnumAppDomain(This,handle,appDomain) \
3276 ( (This)->lpVtbl -> EnumAppDomain(This,handle,appDomain) )
3277
3278#define IXCLRDataAssembly_EndEnumAppDomains(This,handle) \
3279 ( (This)->lpVtbl -> EndEnumAppDomains(This,handle) )
3280
3281#define IXCLRDataAssembly_GetDisplayName(This,bufLen,nameLen,name) \
3282 ( (This)->lpVtbl -> GetDisplayName(This,bufLen,nameLen,name) )
3283
3284#endif /* COBJMACROS */
3285
3286
3287#endif /* C style interface */
3288
3289
3290
3291
3292#endif /* __IXCLRDataAssembly_INTERFACE_DEFINED__ */
3293
3294
3295/* interface __MIDL_itf_xclrdata_0000_0008 */
3296/* [local] */
3297
3298#pragma warning(pop)
3299typedef /* [public] */
3300enum __MIDL___MIDL_itf_xclrdata_0000_0008_0001
3301 {
3302 CLRDATA_MODULE_DEFAULT = 0,
3303 CLRDATA_MODULE_IS_DYNAMIC = 0x1,
3304 CLRDATA_MODULE_IS_MEMORY_STREAM = 0x2
3305 } CLRDataModuleFlag;
3306
3307typedef /* [public][public][public] */
3308enum __MIDL___MIDL_itf_xclrdata_0000_0008_0002
3309 {
3310 CLRDATA_MODULE_PE_FILE = 0,
3311 CLRDATA_MODULE_PREJIT_FILE = ( CLRDATA_MODULE_PE_FILE + 1 ) ,
3312 CLRDATA_MODULE_MEMORY_STREAM = ( CLRDATA_MODULE_PREJIT_FILE + 1 ) ,
3313 CLRDATA_MODULE_OTHER = ( CLRDATA_MODULE_MEMORY_STREAM + 1 )
3314 } CLRDataModuleExtentType;
3315
3316typedef /* [public][public] */ struct __MIDL___MIDL_itf_xclrdata_0000_0008_0003
3317 {
3318 CLRDATA_ADDRESS base;
3319 ULONG32 length;
3320 CLRDataModuleExtentType type;
3321 } CLRDATA_MODULE_EXTENT;
3322
3323typedef /* [public] */
3324enum __MIDL___MIDL_itf_xclrdata_0000_0008_0004
3325 {
3326 CLRDATA_TYPENOTIFY_NONE = 0,
3327 CLRDATA_TYPENOTIFY_LOADED = 0x1,
3328 CLRDATA_TYPENOTIFY_UNLOADED = 0x2
3329 } CLRDataTypeNotification;
3330
3331typedef /* [public] */
3332enum __MIDL___MIDL_itf_xclrdata_0000_0008_0005
3333 {
3334 CLRDATA_METHNOTIFY_NONE = 0,
3335 CLRDATA_METHNOTIFY_GENERATED = 0x1,
3336 CLRDATA_METHNOTIFY_DISCARDED = 0x2
3337 } CLRDataMethodCodeNotification;
3338
3339#pragma warning(push)
3340#pragma warning(disable:28718)
3341
3342
3343extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0008_v0_0_c_ifspec;
3344extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0008_v0_0_s_ifspec;
3345
3346#ifndef __IXCLRDataModule_INTERFACE_DEFINED__
3347#define __IXCLRDataModule_INTERFACE_DEFINED__
3348
3349/* interface IXCLRDataModule */
3350/* [uuid][local][object] */
3351
3352
3353EXTERN_C const IID IID_IXCLRDataModule;
3354
3355#if defined(__cplusplus) && !defined(CINTERFACE)
3356
3357 MIDL_INTERFACE("88E32849-0A0A-4cb0-9022-7CD2E9E139E2")
3358 IXCLRDataModule : public IUnknown
3359 {
3360 public:
3361 virtual HRESULT STDMETHODCALLTYPE StartEnumAssemblies(
3362 /* [out] */ CLRDATA_ENUM *handle) = 0;
3363
3364 virtual HRESULT STDMETHODCALLTYPE EnumAssembly(
3365 /* [out][in] */ CLRDATA_ENUM *handle,
3366 /* [out] */ IXCLRDataAssembly **assembly) = 0;
3367
3368 virtual HRESULT STDMETHODCALLTYPE EndEnumAssemblies(
3369 /* [in] */ CLRDATA_ENUM handle) = 0;
3370
3371 virtual HRESULT STDMETHODCALLTYPE StartEnumTypeDefinitions(
3372 /* [out] */ CLRDATA_ENUM *handle) = 0;
3373
3374 virtual HRESULT STDMETHODCALLTYPE EnumTypeDefinition(
3375 /* [out][in] */ CLRDATA_ENUM *handle,
3376 /* [out] */ IXCLRDataTypeDefinition **typeDefinition) = 0;
3377
3378 virtual HRESULT STDMETHODCALLTYPE EndEnumTypeDefinitions(
3379 /* [in] */ CLRDATA_ENUM handle) = 0;
3380
3381 virtual HRESULT STDMETHODCALLTYPE StartEnumTypeInstances(
3382 /* [in] */ IXCLRDataAppDomain *appDomain,
3383 /* [out] */ CLRDATA_ENUM *handle) = 0;
3384
3385 virtual HRESULT STDMETHODCALLTYPE EnumTypeInstance(
3386 /* [out][in] */ CLRDATA_ENUM *handle,
3387 /* [out] */ IXCLRDataTypeInstance **typeInstance) = 0;
3388
3389 virtual HRESULT STDMETHODCALLTYPE EndEnumTypeInstances(
3390 /* [in] */ CLRDATA_ENUM handle) = 0;
3391
3392 virtual HRESULT STDMETHODCALLTYPE StartEnumTypeDefinitionsByName(
3393 /* [in] */ LPCWSTR name,
3394 /* [in] */ ULONG32 flags,
3395 /* [out] */ CLRDATA_ENUM *handle) = 0;
3396
3397 virtual HRESULT STDMETHODCALLTYPE EnumTypeDefinitionByName(
3398 /* [out][in] */ CLRDATA_ENUM *handle,
3399 /* [out] */ IXCLRDataTypeDefinition **type) = 0;
3400
3401 virtual HRESULT STDMETHODCALLTYPE EndEnumTypeDefinitionsByName(
3402 /* [in] */ CLRDATA_ENUM handle) = 0;
3403
3404 virtual HRESULT STDMETHODCALLTYPE StartEnumTypeInstancesByName(
3405 /* [in] */ LPCWSTR name,
3406 /* [in] */ ULONG32 flags,
3407 /* [in] */ IXCLRDataAppDomain *appDomain,
3408 /* [out] */ CLRDATA_ENUM *handle) = 0;
3409
3410 virtual HRESULT STDMETHODCALLTYPE EnumTypeInstanceByName(
3411 /* [out][in] */ CLRDATA_ENUM *handle,
3412 /* [out] */ IXCLRDataTypeInstance **type) = 0;
3413
3414 virtual HRESULT STDMETHODCALLTYPE EndEnumTypeInstancesByName(
3415 /* [in] */ CLRDATA_ENUM handle) = 0;
3416
3417 virtual HRESULT STDMETHODCALLTYPE GetTypeDefinitionByToken(
3418 /* [in] */ mdTypeDef token,
3419 /* [out] */ IXCLRDataTypeDefinition **typeDefinition) = 0;
3420
3421 virtual HRESULT STDMETHODCALLTYPE StartEnumMethodDefinitionsByName(
3422 /* [in] */ LPCWSTR name,
3423 /* [in] */ ULONG32 flags,
3424 /* [out] */ CLRDATA_ENUM *handle) = 0;
3425
3426 virtual HRESULT STDMETHODCALLTYPE EnumMethodDefinitionByName(
3427 /* [out][in] */ CLRDATA_ENUM *handle,
3428 /* [out] */ IXCLRDataMethodDefinition **method) = 0;
3429
3430 virtual HRESULT STDMETHODCALLTYPE EndEnumMethodDefinitionsByName(
3431 /* [in] */ CLRDATA_ENUM handle) = 0;
3432
3433 virtual HRESULT STDMETHODCALLTYPE StartEnumMethodInstancesByName(
3434 /* [in] */ LPCWSTR name,
3435 /* [in] */ ULONG32 flags,
3436 /* [in] */ IXCLRDataAppDomain *appDomain,
3437 /* [out] */ CLRDATA_ENUM *handle) = 0;
3438
3439 virtual HRESULT STDMETHODCALLTYPE EnumMethodInstanceByName(
3440 /* [out][in] */ CLRDATA_ENUM *handle,
3441 /* [out] */ IXCLRDataMethodInstance **method) = 0;
3442
3443 virtual HRESULT STDMETHODCALLTYPE EndEnumMethodInstancesByName(
3444 /* [in] */ CLRDATA_ENUM handle) = 0;
3445
3446 virtual HRESULT STDMETHODCALLTYPE GetMethodDefinitionByToken(
3447 /* [in] */ mdMethodDef token,
3448 /* [out] */ IXCLRDataMethodDefinition **methodDefinition) = 0;
3449
3450 virtual HRESULT STDMETHODCALLTYPE StartEnumDataByName(
3451 /* [in] */ LPCWSTR name,
3452 /* [in] */ ULONG32 flags,
3453 /* [in] */ IXCLRDataAppDomain *appDomain,
3454 /* [in] */ IXCLRDataTask *tlsTask,
3455 /* [out] */ CLRDATA_ENUM *handle) = 0;
3456
3457 virtual HRESULT STDMETHODCALLTYPE EnumDataByName(
3458 /* [out][in] */ CLRDATA_ENUM *handle,
3459 /* [out] */ IXCLRDataValue **value) = 0;
3460
3461 virtual HRESULT STDMETHODCALLTYPE EndEnumDataByName(
3462 /* [in] */ CLRDATA_ENUM handle) = 0;
3463
3464 virtual HRESULT STDMETHODCALLTYPE GetName(
3465 /* [in] */ ULONG32 bufLen,
3466 /* [out] */ ULONG32 *nameLen,
3467 /* [size_is][out] */ WCHAR name[ ]) = 0;
3468
3469 virtual HRESULT STDMETHODCALLTYPE GetFileName(
3470 /* [in] */ ULONG32 bufLen,
3471 /* [out] */ ULONG32 *nameLen,
3472 /* [size_is][out] */ WCHAR name[ ]) = 0;
3473
3474 virtual HRESULT STDMETHODCALLTYPE GetFlags(
3475 /* [out] */ ULONG32 *flags) = 0;
3476
3477 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
3478 /* [in] */ IXCLRDataModule *mod) = 0;
3479
3480 virtual HRESULT STDMETHODCALLTYPE StartEnumExtents(
3481 /* [out] */ CLRDATA_ENUM *handle) = 0;
3482
3483 virtual HRESULT STDMETHODCALLTYPE EnumExtent(
3484 /* [out][in] */ CLRDATA_ENUM *handle,
3485 /* [out] */ CLRDATA_MODULE_EXTENT *extent) = 0;
3486
3487 virtual HRESULT STDMETHODCALLTYPE EndEnumExtents(
3488 /* [in] */ CLRDATA_ENUM handle) = 0;
3489
3490 virtual HRESULT STDMETHODCALLTYPE Request(
3491 /* [in] */ ULONG32 reqCode,
3492 /* [in] */ ULONG32 inBufferSize,
3493 /* [size_is][in] */ BYTE *inBuffer,
3494 /* [in] */ ULONG32 outBufferSize,
3495 /* [size_is][out] */ BYTE *outBuffer) = 0;
3496
3497 virtual HRESULT STDMETHODCALLTYPE StartEnumAppDomains(
3498 /* [out] */ CLRDATA_ENUM *handle) = 0;
3499
3500 virtual HRESULT STDMETHODCALLTYPE EnumAppDomain(
3501 /* [out][in] */ CLRDATA_ENUM *handle,
3502 /* [out] */ IXCLRDataAppDomain **appDomain) = 0;
3503
3504 virtual HRESULT STDMETHODCALLTYPE EndEnumAppDomains(
3505 /* [in] */ CLRDATA_ENUM handle) = 0;
3506
3507 virtual HRESULT STDMETHODCALLTYPE GetVersionId(
3508 /* [out] */ GUID *vid) = 0;
3509
3510 };
3511
3512
3513#else /* C style interface */
3514
3515 typedef struct IXCLRDataModuleVtbl
3516 {
3517 BEGIN_INTERFACE
3518
3519 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3520 IXCLRDataModule * This,
3521 /* [in] */ REFIID riid,
3522 /* [annotation][iid_is][out] */
3523 _COM_Outptr_ void **ppvObject);
3524
3525 ULONG ( STDMETHODCALLTYPE *AddRef )(
3526 IXCLRDataModule * This);
3527
3528 ULONG ( STDMETHODCALLTYPE *Release )(
3529 IXCLRDataModule * This);
3530
3531 HRESULT ( STDMETHODCALLTYPE *StartEnumAssemblies )(
3532 IXCLRDataModule * This,
3533 /* [out] */ CLRDATA_ENUM *handle);
3534
3535 HRESULT ( STDMETHODCALLTYPE *EnumAssembly )(
3536 IXCLRDataModule * This,
3537 /* [out][in] */ CLRDATA_ENUM *handle,
3538 /* [out] */ IXCLRDataAssembly **assembly);
3539
3540 HRESULT ( STDMETHODCALLTYPE *EndEnumAssemblies )(
3541 IXCLRDataModule * This,
3542 /* [in] */ CLRDATA_ENUM handle);
3543
3544 HRESULT ( STDMETHODCALLTYPE *StartEnumTypeDefinitions )(
3545 IXCLRDataModule * This,
3546 /* [out] */ CLRDATA_ENUM *handle);
3547
3548 HRESULT ( STDMETHODCALLTYPE *EnumTypeDefinition )(
3549 IXCLRDataModule * This,
3550 /* [out][in] */ CLRDATA_ENUM *handle,
3551 /* [out] */ IXCLRDataTypeDefinition **typeDefinition);
3552
3553 HRESULT ( STDMETHODCALLTYPE *EndEnumTypeDefinitions )(
3554 IXCLRDataModule * This,
3555 /* [in] */ CLRDATA_ENUM handle);
3556
3557 HRESULT ( STDMETHODCALLTYPE *StartEnumTypeInstances )(
3558 IXCLRDataModule * This,
3559 /* [in] */ IXCLRDataAppDomain *appDomain,
3560 /* [out] */ CLRDATA_ENUM *handle);
3561
3562 HRESULT ( STDMETHODCALLTYPE *EnumTypeInstance )(
3563 IXCLRDataModule * This,
3564 /* [out][in] */ CLRDATA_ENUM *handle,
3565 /* [out] */ IXCLRDataTypeInstance **typeInstance);
3566
3567 HRESULT ( STDMETHODCALLTYPE *EndEnumTypeInstances )(
3568 IXCLRDataModule * This,
3569 /* [in] */ CLRDATA_ENUM handle);
3570
3571 HRESULT ( STDMETHODCALLTYPE *StartEnumTypeDefinitionsByName )(
3572 IXCLRDataModule * This,
3573 /* [in] */ LPCWSTR name,
3574 /* [in] */ ULONG32 flags,
3575 /* [out] */ CLRDATA_ENUM *handle);
3576
3577 HRESULT ( STDMETHODCALLTYPE *EnumTypeDefinitionByName )(
3578 IXCLRDataModule * This,
3579 /* [out][in] */ CLRDATA_ENUM *handle,
3580 /* [out] */ IXCLRDataTypeDefinition **type);
3581
3582 HRESULT ( STDMETHODCALLTYPE *EndEnumTypeDefinitionsByName )(
3583 IXCLRDataModule * This,
3584 /* [in] */ CLRDATA_ENUM handle);
3585
3586 HRESULT ( STDMETHODCALLTYPE *StartEnumTypeInstancesByName )(
3587 IXCLRDataModule * This,
3588 /* [in] */ LPCWSTR name,
3589 /* [in] */ ULONG32 flags,
3590 /* [in] */ IXCLRDataAppDomain *appDomain,
3591 /* [out] */ CLRDATA_ENUM *handle);
3592
3593 HRESULT ( STDMETHODCALLTYPE *EnumTypeInstanceByName )(
3594 IXCLRDataModule * This,
3595 /* [out][in] */ CLRDATA_ENUM *handle,
3596 /* [out] */ IXCLRDataTypeInstance **type);
3597
3598 HRESULT ( STDMETHODCALLTYPE *EndEnumTypeInstancesByName )(
3599 IXCLRDataModule * This,
3600 /* [in] */ CLRDATA_ENUM handle);
3601
3602 HRESULT ( STDMETHODCALLTYPE *GetTypeDefinitionByToken )(
3603 IXCLRDataModule * This,
3604 /* [in] */ mdTypeDef token,
3605 /* [out] */ IXCLRDataTypeDefinition **typeDefinition);
3606
3607 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodDefinitionsByName )(
3608 IXCLRDataModule * This,
3609 /* [in] */ LPCWSTR name,
3610 /* [in] */ ULONG32 flags,
3611 /* [out] */ CLRDATA_ENUM *handle);
3612
3613 HRESULT ( STDMETHODCALLTYPE *EnumMethodDefinitionByName )(
3614 IXCLRDataModule * This,
3615 /* [out][in] */ CLRDATA_ENUM *handle,
3616 /* [out] */ IXCLRDataMethodDefinition **method);
3617
3618 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodDefinitionsByName )(
3619 IXCLRDataModule * This,
3620 /* [in] */ CLRDATA_ENUM handle);
3621
3622 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodInstancesByName )(
3623 IXCLRDataModule * This,
3624 /* [in] */ LPCWSTR name,
3625 /* [in] */ ULONG32 flags,
3626 /* [in] */ IXCLRDataAppDomain *appDomain,
3627 /* [out] */ CLRDATA_ENUM *handle);
3628
3629 HRESULT ( STDMETHODCALLTYPE *EnumMethodInstanceByName )(
3630 IXCLRDataModule * This,
3631 /* [out][in] */ CLRDATA_ENUM *handle,
3632 /* [out] */ IXCLRDataMethodInstance **method);
3633
3634 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodInstancesByName )(
3635 IXCLRDataModule * This,
3636 /* [in] */ CLRDATA_ENUM handle);
3637
3638 HRESULT ( STDMETHODCALLTYPE *GetMethodDefinitionByToken )(
3639 IXCLRDataModule * This,
3640 /* [in] */ mdMethodDef token,
3641 /* [out] */ IXCLRDataMethodDefinition **methodDefinition);
3642
3643 HRESULT ( STDMETHODCALLTYPE *StartEnumDataByName )(
3644 IXCLRDataModule * This,
3645 /* [in] */ LPCWSTR name,
3646 /* [in] */ ULONG32 flags,
3647 /* [in] */ IXCLRDataAppDomain *appDomain,
3648 /* [in] */ IXCLRDataTask *tlsTask,
3649 /* [out] */ CLRDATA_ENUM *handle);
3650
3651 HRESULT ( STDMETHODCALLTYPE *EnumDataByName )(
3652 IXCLRDataModule * This,
3653 /* [out][in] */ CLRDATA_ENUM *handle,
3654 /* [out] */ IXCLRDataValue **value);
3655
3656 HRESULT ( STDMETHODCALLTYPE *EndEnumDataByName )(
3657 IXCLRDataModule * This,
3658 /* [in] */ CLRDATA_ENUM handle);
3659
3660 HRESULT ( STDMETHODCALLTYPE *GetName )(
3661 IXCLRDataModule * This,
3662 /* [in] */ ULONG32 bufLen,
3663 /* [out] */ ULONG32 *nameLen,
3664 /* [size_is][out] */ WCHAR name[ ]);
3665
3666 HRESULT ( STDMETHODCALLTYPE *GetFileName )(
3667 IXCLRDataModule * This,
3668 /* [in] */ ULONG32 bufLen,
3669 /* [out] */ ULONG32 *nameLen,
3670 /* [size_is][out] */ WCHAR name[ ]);
3671
3672 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
3673 IXCLRDataModule * This,
3674 /* [out] */ ULONG32 *flags);
3675
3676 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
3677 IXCLRDataModule * This,
3678 /* [in] */ IXCLRDataModule *mod);
3679
3680 HRESULT ( STDMETHODCALLTYPE *StartEnumExtents )(
3681 IXCLRDataModule * This,
3682 /* [out] */ CLRDATA_ENUM *handle);
3683
3684 HRESULT ( STDMETHODCALLTYPE *EnumExtent )(
3685 IXCLRDataModule * This,
3686 /* [out][in] */ CLRDATA_ENUM *handle,
3687 /* [out] */ CLRDATA_MODULE_EXTENT *extent);
3688
3689 HRESULT ( STDMETHODCALLTYPE *EndEnumExtents )(
3690 IXCLRDataModule * This,
3691 /* [in] */ CLRDATA_ENUM handle);
3692
3693 HRESULT ( STDMETHODCALLTYPE *Request )(
3694 IXCLRDataModule * This,
3695 /* [in] */ ULONG32 reqCode,
3696 /* [in] */ ULONG32 inBufferSize,
3697 /* [size_is][in] */ BYTE *inBuffer,
3698 /* [in] */ ULONG32 outBufferSize,
3699 /* [size_is][out] */ BYTE *outBuffer);
3700
3701 HRESULT ( STDMETHODCALLTYPE *StartEnumAppDomains )(
3702 IXCLRDataModule * This,
3703 /* [out] */ CLRDATA_ENUM *handle);
3704
3705 HRESULT ( STDMETHODCALLTYPE *EnumAppDomain )(
3706 IXCLRDataModule * This,
3707 /* [out][in] */ CLRDATA_ENUM *handle,
3708 /* [out] */ IXCLRDataAppDomain **appDomain);
3709
3710 HRESULT ( STDMETHODCALLTYPE *EndEnumAppDomains )(
3711 IXCLRDataModule * This,
3712 /* [in] */ CLRDATA_ENUM handle);
3713
3714 HRESULT ( STDMETHODCALLTYPE *GetVersionId )(
3715 IXCLRDataModule * This,
3716 /* [out] */ GUID *vid);
3717
3718 END_INTERFACE
3719 } IXCLRDataModuleVtbl;
3720
3721 interface IXCLRDataModule
3722 {
3723 CONST_VTBL struct IXCLRDataModuleVtbl *lpVtbl;
3724 };
3725
3726
3727
3728#ifdef COBJMACROS
3729
3730
3731#define IXCLRDataModule_QueryInterface(This,riid,ppvObject) \
3732 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3733
3734#define IXCLRDataModule_AddRef(This) \
3735 ( (This)->lpVtbl -> AddRef(This) )
3736
3737#define IXCLRDataModule_Release(This) \
3738 ( (This)->lpVtbl -> Release(This) )
3739
3740
3741#define IXCLRDataModule_StartEnumAssemblies(This,handle) \
3742 ( (This)->lpVtbl -> StartEnumAssemblies(This,handle) )
3743
3744#define IXCLRDataModule_EnumAssembly(This,handle,assembly) \
3745 ( (This)->lpVtbl -> EnumAssembly(This,handle,assembly) )
3746
3747#define IXCLRDataModule_EndEnumAssemblies(This,handle) \
3748 ( (This)->lpVtbl -> EndEnumAssemblies(This,handle) )
3749
3750#define IXCLRDataModule_StartEnumTypeDefinitions(This,handle) \
3751 ( (This)->lpVtbl -> StartEnumTypeDefinitions(This,handle) )
3752
3753#define IXCLRDataModule_EnumTypeDefinition(This,handle,typeDefinition) \
3754 ( (This)->lpVtbl -> EnumTypeDefinition(This,handle,typeDefinition) )
3755
3756#define IXCLRDataModule_EndEnumTypeDefinitions(This,handle) \
3757 ( (This)->lpVtbl -> EndEnumTypeDefinitions(This,handle) )
3758
3759#define IXCLRDataModule_StartEnumTypeInstances(This,appDomain,handle) \
3760 ( (This)->lpVtbl -> StartEnumTypeInstances(This,appDomain,handle) )
3761
3762#define IXCLRDataModule_EnumTypeInstance(This,handle,typeInstance) \
3763 ( (This)->lpVtbl -> EnumTypeInstance(This,handle,typeInstance) )
3764
3765#define IXCLRDataModule_EndEnumTypeInstances(This,handle) \
3766 ( (This)->lpVtbl -> EndEnumTypeInstances(This,handle) )
3767
3768#define IXCLRDataModule_StartEnumTypeDefinitionsByName(This,name,flags,handle) \
3769 ( (This)->lpVtbl -> StartEnumTypeDefinitionsByName(This,name,flags,handle) )
3770
3771#define IXCLRDataModule_EnumTypeDefinitionByName(This,handle,type) \
3772 ( (This)->lpVtbl -> EnumTypeDefinitionByName(This,handle,type) )
3773
3774#define IXCLRDataModule_EndEnumTypeDefinitionsByName(This,handle) \
3775 ( (This)->lpVtbl -> EndEnumTypeDefinitionsByName(This,handle) )
3776
3777#define IXCLRDataModule_StartEnumTypeInstancesByName(This,name,flags,appDomain,handle) \
3778 ( (This)->lpVtbl -> StartEnumTypeInstancesByName(This,name,flags,appDomain,handle) )
3779
3780#define IXCLRDataModule_EnumTypeInstanceByName(This,handle,type) \
3781 ( (This)->lpVtbl -> EnumTypeInstanceByName(This,handle,type) )
3782
3783#define IXCLRDataModule_EndEnumTypeInstancesByName(This,handle) \
3784 ( (This)->lpVtbl -> EndEnumTypeInstancesByName(This,handle) )
3785
3786#define IXCLRDataModule_GetTypeDefinitionByToken(This,token,typeDefinition) \
3787 ( (This)->lpVtbl -> GetTypeDefinitionByToken(This,token,typeDefinition) )
3788
3789#define IXCLRDataModule_StartEnumMethodDefinitionsByName(This,name,flags,handle) \
3790 ( (This)->lpVtbl -> StartEnumMethodDefinitionsByName(This,name,flags,handle) )
3791
3792#define IXCLRDataModule_EnumMethodDefinitionByName(This,handle,method) \
3793 ( (This)->lpVtbl -> EnumMethodDefinitionByName(This,handle,method) )
3794
3795#define IXCLRDataModule_EndEnumMethodDefinitionsByName(This,handle) \
3796 ( (This)->lpVtbl -> EndEnumMethodDefinitionsByName(This,handle) )
3797
3798#define IXCLRDataModule_StartEnumMethodInstancesByName(This,name,flags,appDomain,handle) \
3799 ( (This)->lpVtbl -> StartEnumMethodInstancesByName(This,name,flags,appDomain,handle) )
3800
3801#define IXCLRDataModule_EnumMethodInstanceByName(This,handle,method) \
3802 ( (This)->lpVtbl -> EnumMethodInstanceByName(This,handle,method) )
3803
3804#define IXCLRDataModule_EndEnumMethodInstancesByName(This,handle) \
3805 ( (This)->lpVtbl -> EndEnumMethodInstancesByName(This,handle) )
3806
3807#define IXCLRDataModule_GetMethodDefinitionByToken(This,token,methodDefinition) \
3808 ( (This)->lpVtbl -> GetMethodDefinitionByToken(This,token,methodDefinition) )
3809
3810#define IXCLRDataModule_StartEnumDataByName(This,name,flags,appDomain,tlsTask,handle) \
3811 ( (This)->lpVtbl -> StartEnumDataByName(This,name,flags,appDomain,tlsTask,handle) )
3812
3813#define IXCLRDataModule_EnumDataByName(This,handle,value) \
3814 ( (This)->lpVtbl -> EnumDataByName(This,handle,value) )
3815
3816#define IXCLRDataModule_EndEnumDataByName(This,handle) \
3817 ( (This)->lpVtbl -> EndEnumDataByName(This,handle) )
3818
3819#define IXCLRDataModule_GetName(This,bufLen,nameLen,name) \
3820 ( (This)->lpVtbl -> GetName(This,bufLen,nameLen,name) )
3821
3822#define IXCLRDataModule_GetFileName(This,bufLen,nameLen,name) \
3823 ( (This)->lpVtbl -> GetFileName(This,bufLen,nameLen,name) )
3824
3825#define IXCLRDataModule_GetFlags(This,flags) \
3826 ( (This)->lpVtbl -> GetFlags(This,flags) )
3827
3828#define IXCLRDataModule_IsSameObject(This,mod) \
3829 ( (This)->lpVtbl -> IsSameObject(This,mod) )
3830
3831#define IXCLRDataModule_StartEnumExtents(This,handle) \
3832 ( (This)->lpVtbl -> StartEnumExtents(This,handle) )
3833
3834#define IXCLRDataModule_EnumExtent(This,handle,extent) \
3835 ( (This)->lpVtbl -> EnumExtent(This,handle,extent) )
3836
3837#define IXCLRDataModule_EndEnumExtents(This,handle) \
3838 ( (This)->lpVtbl -> EndEnumExtents(This,handle) )
3839
3840#define IXCLRDataModule_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
3841 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
3842
3843#define IXCLRDataModule_StartEnumAppDomains(This,handle) \
3844 ( (This)->lpVtbl -> StartEnumAppDomains(This,handle) )
3845
3846#define IXCLRDataModule_EnumAppDomain(This,handle,appDomain) \
3847 ( (This)->lpVtbl -> EnumAppDomain(This,handle,appDomain) )
3848
3849#define IXCLRDataModule_EndEnumAppDomains(This,handle) \
3850 ( (This)->lpVtbl -> EndEnumAppDomains(This,handle) )
3851
3852#define IXCLRDataModule_GetVersionId(This,vid) \
3853 ( (This)->lpVtbl -> GetVersionId(This,vid) )
3854
3855#endif /* COBJMACROS */
3856
3857
3858#endif /* C style interface */
3859
3860
3861
3862
3863#endif /* __IXCLRDataModule_INTERFACE_DEFINED__ */
3864
3865
3866/* interface __MIDL_itf_xclrdata_0000_0009 */
3867/* [local] */
3868
3869#pragma warning(pop)
3870
3871
3872extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0009_v0_0_c_ifspec;
3873extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0009_v0_0_s_ifspec;
3874
3875#ifndef __IXCLRDataModule2_INTERFACE_DEFINED__
3876#define __IXCLRDataModule2_INTERFACE_DEFINED__
3877
3878/* interface IXCLRDataModule2 */
3879/* [uuid][local][object] */
3880
3881
3882EXTERN_C const IID IID_IXCLRDataModule2;
3883
3884#if defined(__cplusplus) && !defined(CINTERFACE)
3885
3886 MIDL_INTERFACE("34625881-7EB3-4524-817B-8DB9D064C760")
3887 IXCLRDataModule2 : public IUnknown
3888 {
3889 public:
3890 virtual HRESULT STDMETHODCALLTYPE SetJITCompilerFlags(
3891 /* [in] */ DWORD dwFlags) = 0;
3892
3893 };
3894
3895
3896#else /* C style interface */
3897
3898 typedef struct IXCLRDataModule2Vtbl
3899 {
3900 BEGIN_INTERFACE
3901
3902 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3903 IXCLRDataModule2 * This,
3904 /* [in] */ REFIID riid,
3905 /* [annotation][iid_is][out] */
3906 _COM_Outptr_ void **ppvObject);
3907
3908 ULONG ( STDMETHODCALLTYPE *AddRef )(
3909 IXCLRDataModule2 * This);
3910
3911 ULONG ( STDMETHODCALLTYPE *Release )(
3912 IXCLRDataModule2 * This);
3913
3914 HRESULT ( STDMETHODCALLTYPE *SetJITCompilerFlags )(
3915 IXCLRDataModule2 * This,
3916 /* [in] */ DWORD dwFlags);
3917
3918 END_INTERFACE
3919 } IXCLRDataModule2Vtbl;
3920
3921 interface IXCLRDataModule2
3922 {
3923 CONST_VTBL struct IXCLRDataModule2Vtbl *lpVtbl;
3924 };
3925
3926
3927
3928#ifdef COBJMACROS
3929
3930
3931#define IXCLRDataModule2_QueryInterface(This,riid,ppvObject) \
3932 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3933
3934#define IXCLRDataModule2_AddRef(This) \
3935 ( (This)->lpVtbl -> AddRef(This) )
3936
3937#define IXCLRDataModule2_Release(This) \
3938 ( (This)->lpVtbl -> Release(This) )
3939
3940
3941#define IXCLRDataModule2_SetJITCompilerFlags(This,dwFlags) \
3942 ( (This)->lpVtbl -> SetJITCompilerFlags(This,dwFlags) )
3943
3944#endif /* COBJMACROS */
3945
3946
3947#endif /* C style interface */
3948
3949
3950
3951
3952#endif /* __IXCLRDataModule2_INTERFACE_DEFINED__ */
3953
3954
3955/* interface __MIDL_itf_xclrdata_0000_0010 */
3956/* [local] */
3957
3958#pragma warning(push)
3959#pragma warning(disable:28718)
3960
3961
3962extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0010_v0_0_c_ifspec;
3963extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0010_v0_0_s_ifspec;
3964
3965#ifndef __IXCLRDataTypeDefinition_INTERFACE_DEFINED__
3966#define __IXCLRDataTypeDefinition_INTERFACE_DEFINED__
3967
3968/* interface IXCLRDataTypeDefinition */
3969/* [uuid][local][object] */
3970
3971
3972EXTERN_C const IID IID_IXCLRDataTypeDefinition;
3973
3974#if defined(__cplusplus) && !defined(CINTERFACE)
3975
3976 MIDL_INTERFACE("4675666C-C275-45b8-9F6C-AB165D5C1E09")
3977 IXCLRDataTypeDefinition : public IUnknown
3978 {
3979 public:
3980 virtual HRESULT STDMETHODCALLTYPE GetModule(
3981 /* [out] */ IXCLRDataModule **mod) = 0;
3982
3983 virtual HRESULT STDMETHODCALLTYPE StartEnumMethodDefinitions(
3984 /* [out] */ CLRDATA_ENUM *handle) = 0;
3985
3986 virtual HRESULT STDMETHODCALLTYPE EnumMethodDefinition(
3987 /* [out][in] */ CLRDATA_ENUM *handle,
3988 /* [out] */ IXCLRDataMethodDefinition **methodDefinition) = 0;
3989
3990 virtual HRESULT STDMETHODCALLTYPE EndEnumMethodDefinitions(
3991 /* [in] */ CLRDATA_ENUM handle) = 0;
3992
3993 virtual HRESULT STDMETHODCALLTYPE StartEnumMethodDefinitionsByName(
3994 /* [in] */ LPCWSTR name,
3995 /* [in] */ ULONG32 flags,
3996 /* [out] */ CLRDATA_ENUM *handle) = 0;
3997
3998 virtual HRESULT STDMETHODCALLTYPE EnumMethodDefinitionByName(
3999 /* [out][in] */ CLRDATA_ENUM *handle,
4000 /* [out] */ IXCLRDataMethodDefinition **method) = 0;
4001
4002 virtual HRESULT STDMETHODCALLTYPE EndEnumMethodDefinitionsByName(
4003 /* [in] */ CLRDATA_ENUM handle) = 0;
4004
4005 virtual HRESULT STDMETHODCALLTYPE GetMethodDefinitionByToken(
4006 /* [in] */ mdMethodDef token,
4007 /* [out] */ IXCLRDataMethodDefinition **methodDefinition) = 0;
4008
4009 virtual HRESULT STDMETHODCALLTYPE StartEnumInstances(
4010 /* [in] */ IXCLRDataAppDomain *appDomain,
4011 /* [out] */ CLRDATA_ENUM *handle) = 0;
4012
4013 virtual HRESULT STDMETHODCALLTYPE EnumInstance(
4014 /* [out][in] */ CLRDATA_ENUM *handle,
4015 /* [out] */ IXCLRDataTypeInstance **instance) = 0;
4016
4017 virtual HRESULT STDMETHODCALLTYPE EndEnumInstances(
4018 /* [in] */ CLRDATA_ENUM handle) = 0;
4019
4020 virtual HRESULT STDMETHODCALLTYPE GetName(
4021 /* [in] */ ULONG32 flags,
4022 /* [in] */ ULONG32 bufLen,
4023 /* [out] */ ULONG32 *nameLen,
4024 /* [size_is][out] */ WCHAR nameBuf[ ]) = 0;
4025
4026 virtual HRESULT STDMETHODCALLTYPE GetTokenAndScope(
4027 /* [out] */ mdTypeDef *token,
4028 /* [out] */ IXCLRDataModule **mod) = 0;
4029
4030 virtual HRESULT STDMETHODCALLTYPE GetCorElementType(
4031 /* [out] */ CorElementType *type) = 0;
4032
4033 virtual HRESULT STDMETHODCALLTYPE GetFlags(
4034 /* [out] */ ULONG32 *flags) = 0;
4035
4036 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
4037 /* [in] */ IXCLRDataTypeDefinition *type) = 0;
4038
4039 virtual HRESULT STDMETHODCALLTYPE Request(
4040 /* [in] */ ULONG32 reqCode,
4041 /* [in] */ ULONG32 inBufferSize,
4042 /* [size_is][in] */ BYTE *inBuffer,
4043 /* [in] */ ULONG32 outBufferSize,
4044 /* [size_is][out] */ BYTE *outBuffer) = 0;
4045
4046 virtual HRESULT STDMETHODCALLTYPE GetArrayRank(
4047 /* [out] */ ULONG32 *rank) = 0;
4048
4049 virtual HRESULT STDMETHODCALLTYPE GetBase(
4050 /* [out] */ IXCLRDataTypeDefinition **base) = 0;
4051
4052 virtual HRESULT STDMETHODCALLTYPE GetNumFields(
4053 /* [in] */ ULONG32 flags,
4054 /* [out] */ ULONG32 *numFields) = 0;
4055
4056 virtual HRESULT STDMETHODCALLTYPE StartEnumFields(
4057 /* [in] */ ULONG32 flags,
4058 /* [out] */ CLRDATA_ENUM *handle) = 0;
4059
4060 virtual HRESULT STDMETHODCALLTYPE EnumField(
4061 /* [out][in] */ CLRDATA_ENUM *handle,
4062 /* [in] */ ULONG32 nameBufLen,
4063 /* [out] */ ULONG32 *nameLen,
4064 /* [size_is][out] */ WCHAR nameBuf[ ],
4065 /* [out] */ IXCLRDataTypeDefinition **type,
4066 /* [out] */ ULONG32 *flags,
4067 /* [out] */ mdFieldDef *token) = 0;
4068
4069 virtual HRESULT STDMETHODCALLTYPE EndEnumFields(
4070 /* [in] */ CLRDATA_ENUM handle) = 0;
4071
4072 virtual HRESULT STDMETHODCALLTYPE StartEnumFieldsByName(
4073 /* [in] */ LPCWSTR name,
4074 /* [in] */ ULONG32 nameFlags,
4075 /* [in] */ ULONG32 fieldFlags,
4076 /* [out] */ CLRDATA_ENUM *handle) = 0;
4077
4078 virtual HRESULT STDMETHODCALLTYPE EnumFieldByName(
4079 /* [out][in] */ CLRDATA_ENUM *handle,
4080 /* [out] */ IXCLRDataTypeDefinition **type,
4081 /* [out] */ ULONG32 *flags,
4082 /* [out] */ mdFieldDef *token) = 0;
4083
4084 virtual HRESULT STDMETHODCALLTYPE EndEnumFieldsByName(
4085 /* [in] */ CLRDATA_ENUM handle) = 0;
4086
4087 virtual HRESULT STDMETHODCALLTYPE GetFieldByToken(
4088 /* [in] */ mdFieldDef token,
4089 /* [in] */ ULONG32 nameBufLen,
4090 /* [out] */ ULONG32 *nameLen,
4091 /* [size_is][out] */ WCHAR nameBuf[ ],
4092 /* [out] */ IXCLRDataTypeDefinition **type,
4093 /* [out] */ ULONG32 *flags) = 0;
4094
4095 virtual HRESULT STDMETHODCALLTYPE GetTypeNotification(
4096 /* [out] */ ULONG32 *flags) = 0;
4097
4098 virtual HRESULT STDMETHODCALLTYPE SetTypeNotification(
4099 /* [in] */ ULONG32 flags) = 0;
4100
4101 virtual HRESULT STDMETHODCALLTYPE EnumField2(
4102 /* [out][in] */ CLRDATA_ENUM *handle,
4103 /* [in] */ ULONG32 nameBufLen,
4104 /* [out] */ ULONG32 *nameLen,
4105 /* [size_is][out] */ WCHAR nameBuf[ ],
4106 /* [out] */ IXCLRDataTypeDefinition **type,
4107 /* [out] */ ULONG32 *flags,
4108 /* [out] */ IXCLRDataModule **tokenScope,
4109 /* [out] */ mdFieldDef *token) = 0;
4110
4111 virtual HRESULT STDMETHODCALLTYPE EnumFieldByName2(
4112 /* [out][in] */ CLRDATA_ENUM *handle,
4113 /* [out] */ IXCLRDataTypeDefinition **type,
4114 /* [out] */ ULONG32 *flags,
4115 /* [out] */ IXCLRDataModule **tokenScope,
4116 /* [out] */ mdFieldDef *token) = 0;
4117
4118 virtual HRESULT STDMETHODCALLTYPE GetFieldByToken2(
4119 /* [in] */ IXCLRDataModule *tokenScope,
4120 /* [in] */ mdFieldDef token,
4121 /* [in] */ ULONG32 nameBufLen,
4122 /* [out] */ ULONG32 *nameLen,
4123 /* [size_is][out] */ WCHAR nameBuf[ ],
4124 /* [out] */ IXCLRDataTypeDefinition **type,
4125 /* [out] */ ULONG32 *flags) = 0;
4126
4127 };
4128
4129
4130#else /* C style interface */
4131
4132 typedef struct IXCLRDataTypeDefinitionVtbl
4133 {
4134 BEGIN_INTERFACE
4135
4136 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4137 IXCLRDataTypeDefinition * This,
4138 /* [in] */ REFIID riid,
4139 /* [annotation][iid_is][out] */
4140 _COM_Outptr_ void **ppvObject);
4141
4142 ULONG ( STDMETHODCALLTYPE *AddRef )(
4143 IXCLRDataTypeDefinition * This);
4144
4145 ULONG ( STDMETHODCALLTYPE *Release )(
4146 IXCLRDataTypeDefinition * This);
4147
4148 HRESULT ( STDMETHODCALLTYPE *GetModule )(
4149 IXCLRDataTypeDefinition * This,
4150 /* [out] */ IXCLRDataModule **mod);
4151
4152 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodDefinitions )(
4153 IXCLRDataTypeDefinition * This,
4154 /* [out] */ CLRDATA_ENUM *handle);
4155
4156 HRESULT ( STDMETHODCALLTYPE *EnumMethodDefinition )(
4157 IXCLRDataTypeDefinition * This,
4158 /* [out][in] */ CLRDATA_ENUM *handle,
4159 /* [out] */ IXCLRDataMethodDefinition **methodDefinition);
4160
4161 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodDefinitions )(
4162 IXCLRDataTypeDefinition * This,
4163 /* [in] */ CLRDATA_ENUM handle);
4164
4165 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodDefinitionsByName )(
4166 IXCLRDataTypeDefinition * This,
4167 /* [in] */ LPCWSTR name,
4168 /* [in] */ ULONG32 flags,
4169 /* [out] */ CLRDATA_ENUM *handle);
4170
4171 HRESULT ( STDMETHODCALLTYPE *EnumMethodDefinitionByName )(
4172 IXCLRDataTypeDefinition * This,
4173 /* [out][in] */ CLRDATA_ENUM *handle,
4174 /* [out] */ IXCLRDataMethodDefinition **method);
4175
4176 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodDefinitionsByName )(
4177 IXCLRDataTypeDefinition * This,
4178 /* [in] */ CLRDATA_ENUM handle);
4179
4180 HRESULT ( STDMETHODCALLTYPE *GetMethodDefinitionByToken )(
4181 IXCLRDataTypeDefinition * This,
4182 /* [in] */ mdMethodDef token,
4183 /* [out] */ IXCLRDataMethodDefinition **methodDefinition);
4184
4185 HRESULT ( STDMETHODCALLTYPE *StartEnumInstances )(
4186 IXCLRDataTypeDefinition * This,
4187 /* [in] */ IXCLRDataAppDomain *appDomain,
4188 /* [out] */ CLRDATA_ENUM *handle);
4189
4190 HRESULT ( STDMETHODCALLTYPE *EnumInstance )(
4191 IXCLRDataTypeDefinition * This,
4192 /* [out][in] */ CLRDATA_ENUM *handle,
4193 /* [out] */ IXCLRDataTypeInstance **instance);
4194
4195 HRESULT ( STDMETHODCALLTYPE *EndEnumInstances )(
4196 IXCLRDataTypeDefinition * This,
4197 /* [in] */ CLRDATA_ENUM handle);
4198
4199 HRESULT ( STDMETHODCALLTYPE *GetName )(
4200 IXCLRDataTypeDefinition * This,
4201 /* [in] */ ULONG32 flags,
4202 /* [in] */ ULONG32 bufLen,
4203 /* [out] */ ULONG32 *nameLen,
4204 /* [size_is][out] */ WCHAR nameBuf[ ]);
4205
4206 HRESULT ( STDMETHODCALLTYPE *GetTokenAndScope )(
4207 IXCLRDataTypeDefinition * This,
4208 /* [out] */ mdTypeDef *token,
4209 /* [out] */ IXCLRDataModule **mod);
4210
4211 HRESULT ( STDMETHODCALLTYPE *GetCorElementType )(
4212 IXCLRDataTypeDefinition * This,
4213 /* [out] */ CorElementType *type);
4214
4215 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
4216 IXCLRDataTypeDefinition * This,
4217 /* [out] */ ULONG32 *flags);
4218
4219 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
4220 IXCLRDataTypeDefinition * This,
4221 /* [in] */ IXCLRDataTypeDefinition *type);
4222
4223 HRESULT ( STDMETHODCALLTYPE *Request )(
4224 IXCLRDataTypeDefinition * This,
4225 /* [in] */ ULONG32 reqCode,
4226 /* [in] */ ULONG32 inBufferSize,
4227 /* [size_is][in] */ BYTE *inBuffer,
4228 /* [in] */ ULONG32 outBufferSize,
4229 /* [size_is][out] */ BYTE *outBuffer);
4230
4231 HRESULT ( STDMETHODCALLTYPE *GetArrayRank )(
4232 IXCLRDataTypeDefinition * This,
4233 /* [out] */ ULONG32 *rank);
4234
4235 HRESULT ( STDMETHODCALLTYPE *GetBase )(
4236 IXCLRDataTypeDefinition * This,
4237 /* [out] */ IXCLRDataTypeDefinition **base);
4238
4239 HRESULT ( STDMETHODCALLTYPE *GetNumFields )(
4240 IXCLRDataTypeDefinition * This,
4241 /* [in] */ ULONG32 flags,
4242 /* [out] */ ULONG32 *numFields);
4243
4244 HRESULT ( STDMETHODCALLTYPE *StartEnumFields )(
4245 IXCLRDataTypeDefinition * This,
4246 /* [in] */ ULONG32 flags,
4247 /* [out] */ CLRDATA_ENUM *handle);
4248
4249 HRESULT ( STDMETHODCALLTYPE *EnumField )(
4250 IXCLRDataTypeDefinition * This,
4251 /* [out][in] */ CLRDATA_ENUM *handle,
4252 /* [in] */ ULONG32 nameBufLen,
4253 /* [out] */ ULONG32 *nameLen,
4254 /* [size_is][out] */ WCHAR nameBuf[ ],
4255 /* [out] */ IXCLRDataTypeDefinition **type,
4256 /* [out] */ ULONG32 *flags,
4257 /* [out] */ mdFieldDef *token);
4258
4259 HRESULT ( STDMETHODCALLTYPE *EndEnumFields )(
4260 IXCLRDataTypeDefinition * This,
4261 /* [in] */ CLRDATA_ENUM handle);
4262
4263 HRESULT ( STDMETHODCALLTYPE *StartEnumFieldsByName )(
4264 IXCLRDataTypeDefinition * This,
4265 /* [in] */ LPCWSTR name,
4266 /* [in] */ ULONG32 nameFlags,
4267 /* [in] */ ULONG32 fieldFlags,
4268 /* [out] */ CLRDATA_ENUM *handle);
4269
4270 HRESULT ( STDMETHODCALLTYPE *EnumFieldByName )(
4271 IXCLRDataTypeDefinition * This,
4272 /* [out][in] */ CLRDATA_ENUM *handle,
4273 /* [out] */ IXCLRDataTypeDefinition **type,
4274 /* [out] */ ULONG32 *flags,
4275 /* [out] */ mdFieldDef *token);
4276
4277 HRESULT ( STDMETHODCALLTYPE *EndEnumFieldsByName )(
4278 IXCLRDataTypeDefinition * This,
4279 /* [in] */ CLRDATA_ENUM handle);
4280
4281 HRESULT ( STDMETHODCALLTYPE *GetFieldByToken )(
4282 IXCLRDataTypeDefinition * This,
4283 /* [in] */ mdFieldDef token,
4284 /* [in] */ ULONG32 nameBufLen,
4285 /* [out] */ ULONG32 *nameLen,
4286 /* [size_is][out] */ WCHAR nameBuf[ ],
4287 /* [out] */ IXCLRDataTypeDefinition **type,
4288 /* [out] */ ULONG32 *flags);
4289
4290 HRESULT ( STDMETHODCALLTYPE *GetTypeNotification )(
4291 IXCLRDataTypeDefinition * This,
4292 /* [out] */ ULONG32 *flags);
4293
4294 HRESULT ( STDMETHODCALLTYPE *SetTypeNotification )(
4295 IXCLRDataTypeDefinition * This,
4296 /* [in] */ ULONG32 flags);
4297
4298 HRESULT ( STDMETHODCALLTYPE *EnumField2 )(
4299 IXCLRDataTypeDefinition * This,
4300 /* [out][in] */ CLRDATA_ENUM *handle,
4301 /* [in] */ ULONG32 nameBufLen,
4302 /* [out] */ ULONG32 *nameLen,
4303 /* [size_is][out] */ WCHAR nameBuf[ ],
4304 /* [out] */ IXCLRDataTypeDefinition **type,
4305 /* [out] */ ULONG32 *flags,
4306 /* [out] */ IXCLRDataModule **tokenScope,
4307 /* [out] */ mdFieldDef *token);
4308
4309 HRESULT ( STDMETHODCALLTYPE *EnumFieldByName2 )(
4310 IXCLRDataTypeDefinition * This,
4311 /* [out][in] */ CLRDATA_ENUM *handle,
4312 /* [out] */ IXCLRDataTypeDefinition **type,
4313 /* [out] */ ULONG32 *flags,
4314 /* [out] */ IXCLRDataModule **tokenScope,
4315 /* [out] */ mdFieldDef *token);
4316
4317 HRESULT ( STDMETHODCALLTYPE *GetFieldByToken2 )(
4318 IXCLRDataTypeDefinition * This,
4319 /* [in] */ IXCLRDataModule *tokenScope,
4320 /* [in] */ mdFieldDef token,
4321 /* [in] */ ULONG32 nameBufLen,
4322 /* [out] */ ULONG32 *nameLen,
4323 /* [size_is][out] */ WCHAR nameBuf[ ],
4324 /* [out] */ IXCLRDataTypeDefinition **type,
4325 /* [out] */ ULONG32 *flags);
4326
4327 END_INTERFACE
4328 } IXCLRDataTypeDefinitionVtbl;
4329
4330 interface IXCLRDataTypeDefinition
4331 {
4332 CONST_VTBL struct IXCLRDataTypeDefinitionVtbl *lpVtbl;
4333 };
4334
4335
4336
4337#ifdef COBJMACROS
4338
4339
4340#define IXCLRDataTypeDefinition_QueryInterface(This,riid,ppvObject) \
4341 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4342
4343#define IXCLRDataTypeDefinition_AddRef(This) \
4344 ( (This)->lpVtbl -> AddRef(This) )
4345
4346#define IXCLRDataTypeDefinition_Release(This) \
4347 ( (This)->lpVtbl -> Release(This) )
4348
4349
4350#define IXCLRDataTypeDefinition_GetModule(This,mod) \
4351 ( (This)->lpVtbl -> GetModule(This,mod) )
4352
4353#define IXCLRDataTypeDefinition_StartEnumMethodDefinitions(This,handle) \
4354 ( (This)->lpVtbl -> StartEnumMethodDefinitions(This,handle) )
4355
4356#define IXCLRDataTypeDefinition_EnumMethodDefinition(This,handle,methodDefinition) \
4357 ( (This)->lpVtbl -> EnumMethodDefinition(This,handle,methodDefinition) )
4358
4359#define IXCLRDataTypeDefinition_EndEnumMethodDefinitions(This,handle) \
4360 ( (This)->lpVtbl -> EndEnumMethodDefinitions(This,handle) )
4361
4362#define IXCLRDataTypeDefinition_StartEnumMethodDefinitionsByName(This,name,flags,handle) \
4363 ( (This)->lpVtbl -> StartEnumMethodDefinitionsByName(This,name,flags,handle) )
4364
4365#define IXCLRDataTypeDefinition_EnumMethodDefinitionByName(This,handle,method) \
4366 ( (This)->lpVtbl -> EnumMethodDefinitionByName(This,handle,method) )
4367
4368#define IXCLRDataTypeDefinition_EndEnumMethodDefinitionsByName(This,handle) \
4369 ( (This)->lpVtbl -> EndEnumMethodDefinitionsByName(This,handle) )
4370
4371#define IXCLRDataTypeDefinition_GetMethodDefinitionByToken(This,token,methodDefinition) \
4372 ( (This)->lpVtbl -> GetMethodDefinitionByToken(This,token,methodDefinition) )
4373
4374#define IXCLRDataTypeDefinition_StartEnumInstances(This,appDomain,handle) \
4375 ( (This)->lpVtbl -> StartEnumInstances(This,appDomain,handle) )
4376
4377#define IXCLRDataTypeDefinition_EnumInstance(This,handle,instance) \
4378 ( (This)->lpVtbl -> EnumInstance(This,handle,instance) )
4379
4380#define IXCLRDataTypeDefinition_EndEnumInstances(This,handle) \
4381 ( (This)->lpVtbl -> EndEnumInstances(This,handle) )
4382
4383#define IXCLRDataTypeDefinition_GetName(This,flags,bufLen,nameLen,nameBuf) \
4384 ( (This)->lpVtbl -> GetName(This,flags,bufLen,nameLen,nameBuf) )
4385
4386#define IXCLRDataTypeDefinition_GetTokenAndScope(This,token,mod) \
4387 ( (This)->lpVtbl -> GetTokenAndScope(This,token,mod) )
4388
4389#define IXCLRDataTypeDefinition_GetCorElementType(This,type) \
4390 ( (This)->lpVtbl -> GetCorElementType(This,type) )
4391
4392#define IXCLRDataTypeDefinition_GetFlags(This,flags) \
4393 ( (This)->lpVtbl -> GetFlags(This,flags) )
4394
4395#define IXCLRDataTypeDefinition_IsSameObject(This,type) \
4396 ( (This)->lpVtbl -> IsSameObject(This,type) )
4397
4398#define IXCLRDataTypeDefinition_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
4399 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
4400
4401#define IXCLRDataTypeDefinition_GetArrayRank(This,rank) \
4402 ( (This)->lpVtbl -> GetArrayRank(This,rank) )
4403
4404#define IXCLRDataTypeDefinition_GetBase(This,base) \
4405 ( (This)->lpVtbl -> GetBase(This,base) )
4406
4407#define IXCLRDataTypeDefinition_GetNumFields(This,flags,numFields) \
4408 ( (This)->lpVtbl -> GetNumFields(This,flags,numFields) )
4409
4410#define IXCLRDataTypeDefinition_StartEnumFields(This,flags,handle) \
4411 ( (This)->lpVtbl -> StartEnumFields(This,flags,handle) )
4412
4413#define IXCLRDataTypeDefinition_EnumField(This,handle,nameBufLen,nameLen,nameBuf,type,flags,token) \
4414 ( (This)->lpVtbl -> EnumField(This,handle,nameBufLen,nameLen,nameBuf,type,flags,token) )
4415
4416#define IXCLRDataTypeDefinition_EndEnumFields(This,handle) \
4417 ( (This)->lpVtbl -> EndEnumFields(This,handle) )
4418
4419#define IXCLRDataTypeDefinition_StartEnumFieldsByName(This,name,nameFlags,fieldFlags,handle) \
4420 ( (This)->lpVtbl -> StartEnumFieldsByName(This,name,nameFlags,fieldFlags,handle) )
4421
4422#define IXCLRDataTypeDefinition_EnumFieldByName(This,handle,type,flags,token) \
4423 ( (This)->lpVtbl -> EnumFieldByName(This,handle,type,flags,token) )
4424
4425#define IXCLRDataTypeDefinition_EndEnumFieldsByName(This,handle) \
4426 ( (This)->lpVtbl -> EndEnumFieldsByName(This,handle) )
4427
4428#define IXCLRDataTypeDefinition_GetFieldByToken(This,token,nameBufLen,nameLen,nameBuf,type,flags) \
4429 ( (This)->lpVtbl -> GetFieldByToken(This,token,nameBufLen,nameLen,nameBuf,type,flags) )
4430
4431#define IXCLRDataTypeDefinition_GetTypeNotification(This,flags) \
4432 ( (This)->lpVtbl -> GetTypeNotification(This,flags) )
4433
4434#define IXCLRDataTypeDefinition_SetTypeNotification(This,flags) \
4435 ( (This)->lpVtbl -> SetTypeNotification(This,flags) )
4436
4437#define IXCLRDataTypeDefinition_EnumField2(This,handle,nameBufLen,nameLen,nameBuf,type,flags,tokenScope,token) \
4438 ( (This)->lpVtbl -> EnumField2(This,handle,nameBufLen,nameLen,nameBuf,type,flags,tokenScope,token) )
4439
4440#define IXCLRDataTypeDefinition_EnumFieldByName2(This,handle,type,flags,tokenScope,token) \
4441 ( (This)->lpVtbl -> EnumFieldByName2(This,handle,type,flags,tokenScope,token) )
4442
4443#define IXCLRDataTypeDefinition_GetFieldByToken2(This,tokenScope,token,nameBufLen,nameLen,nameBuf,type,flags) \
4444 ( (This)->lpVtbl -> GetFieldByToken2(This,tokenScope,token,nameBufLen,nameLen,nameBuf,type,flags) )
4445
4446#endif /* COBJMACROS */
4447
4448
4449#endif /* C style interface */
4450
4451
4452
4453
4454#endif /* __IXCLRDataTypeDefinition_INTERFACE_DEFINED__ */
4455
4456
4457/* interface __MIDL_itf_xclrdata_0000_0011 */
4458/* [local] */
4459
4460#pragma warning(pop)
4461#pragma warning(push)
4462#pragma warning(disable:28718)
4463
4464
4465extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0011_v0_0_c_ifspec;
4466extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0011_v0_0_s_ifspec;
4467
4468#ifndef __IXCLRDataTypeInstance_INTERFACE_DEFINED__
4469#define __IXCLRDataTypeInstance_INTERFACE_DEFINED__
4470
4471/* interface IXCLRDataTypeInstance */
4472/* [uuid][local][object] */
4473
4474
4475EXTERN_C const IID IID_IXCLRDataTypeInstance;
4476
4477#if defined(__cplusplus) && !defined(CINTERFACE)
4478
4479 MIDL_INTERFACE("4D078D91-9CB3-4b0d-97AC-28C8A5A82597")
4480 IXCLRDataTypeInstance : public IUnknown
4481 {
4482 public:
4483 virtual HRESULT STDMETHODCALLTYPE StartEnumMethodInstances(
4484 /* [out] */ CLRDATA_ENUM *handle) = 0;
4485
4486 virtual HRESULT STDMETHODCALLTYPE EnumMethodInstance(
4487 /* [out][in] */ CLRDATA_ENUM *handle,
4488 /* [out] */ IXCLRDataMethodInstance **methodInstance) = 0;
4489
4490 virtual HRESULT STDMETHODCALLTYPE EndEnumMethodInstances(
4491 /* [in] */ CLRDATA_ENUM handle) = 0;
4492
4493 virtual HRESULT STDMETHODCALLTYPE StartEnumMethodInstancesByName(
4494 /* [in] */ LPCWSTR name,
4495 /* [in] */ ULONG32 flags,
4496 /* [out] */ CLRDATA_ENUM *handle) = 0;
4497
4498 virtual HRESULT STDMETHODCALLTYPE EnumMethodInstanceByName(
4499 /* [out][in] */ CLRDATA_ENUM *handle,
4500 /* [out] */ IXCLRDataMethodInstance **method) = 0;
4501
4502 virtual HRESULT STDMETHODCALLTYPE EndEnumMethodInstancesByName(
4503 /* [in] */ CLRDATA_ENUM handle) = 0;
4504
4505 virtual HRESULT STDMETHODCALLTYPE GetNumStaticFields(
4506 /* [out] */ ULONG32 *numFields) = 0;
4507
4508 virtual HRESULT STDMETHODCALLTYPE GetStaticFieldByIndex(
4509 /* [in] */ ULONG32 index,
4510 /* [in] */ IXCLRDataTask *tlsTask,
4511 /* [out] */ IXCLRDataValue **field,
4512 /* [in] */ ULONG32 bufLen,
4513 /* [out] */ ULONG32 *nameLen,
4514 /* [size_is][out] */ WCHAR nameBuf[ ],
4515 /* [out] */ mdFieldDef *token) = 0;
4516
4517 virtual HRESULT STDMETHODCALLTYPE StartEnumStaticFieldsByName(
4518 /* [in] */ LPCWSTR name,
4519 /* [in] */ ULONG32 flags,
4520 /* [in] */ IXCLRDataTask *tlsTask,
4521 /* [out] */ CLRDATA_ENUM *handle) = 0;
4522
4523 virtual HRESULT STDMETHODCALLTYPE EnumStaticFieldByName(
4524 /* [out][in] */ CLRDATA_ENUM *handle,
4525 /* [out] */ IXCLRDataValue **value) = 0;
4526
4527 virtual HRESULT STDMETHODCALLTYPE EndEnumStaticFieldsByName(
4528 /* [in] */ CLRDATA_ENUM handle) = 0;
4529
4530 virtual HRESULT STDMETHODCALLTYPE GetNumTypeArguments(
4531 /* [out] */ ULONG32 *numTypeArgs) = 0;
4532
4533 virtual HRESULT STDMETHODCALLTYPE GetTypeArgumentByIndex(
4534 /* [in] */ ULONG32 index,
4535 /* [out] */ IXCLRDataTypeInstance **typeArg) = 0;
4536
4537 virtual HRESULT STDMETHODCALLTYPE GetName(
4538 /* [in] */ ULONG32 flags,
4539 /* [in] */ ULONG32 bufLen,
4540 /* [out] */ ULONG32 *nameLen,
4541 /* [size_is][out] */ WCHAR nameBuf[ ]) = 0;
4542
4543 virtual HRESULT STDMETHODCALLTYPE GetModule(
4544 /* [out] */ IXCLRDataModule **mod) = 0;
4545
4546 virtual HRESULT STDMETHODCALLTYPE GetDefinition(
4547 /* [out] */ IXCLRDataTypeDefinition **typeDefinition) = 0;
4548
4549 virtual HRESULT STDMETHODCALLTYPE GetFlags(
4550 /* [out] */ ULONG32 *flags) = 0;
4551
4552 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
4553 /* [in] */ IXCLRDataTypeInstance *type) = 0;
4554
4555 virtual HRESULT STDMETHODCALLTYPE Request(
4556 /* [in] */ ULONG32 reqCode,
4557 /* [in] */ ULONG32 inBufferSize,
4558 /* [size_is][in] */ BYTE *inBuffer,
4559 /* [in] */ ULONG32 outBufferSize,
4560 /* [size_is][out] */ BYTE *outBuffer) = 0;
4561
4562 virtual HRESULT STDMETHODCALLTYPE GetNumStaticFields2(
4563 /* [in] */ ULONG32 flags,
4564 /* [out] */ ULONG32 *numFields) = 0;
4565
4566 virtual HRESULT STDMETHODCALLTYPE StartEnumStaticFields(
4567 /* [in] */ ULONG32 flags,
4568 /* [in] */ IXCLRDataTask *tlsTask,
4569 /* [out] */ CLRDATA_ENUM *handle) = 0;
4570
4571 virtual HRESULT STDMETHODCALLTYPE EnumStaticField(
4572 /* [out][in] */ CLRDATA_ENUM *handle,
4573 /* [out] */ IXCLRDataValue **value) = 0;
4574
4575 virtual HRESULT STDMETHODCALLTYPE EndEnumStaticFields(
4576 /* [in] */ CLRDATA_ENUM handle) = 0;
4577
4578 virtual HRESULT STDMETHODCALLTYPE StartEnumStaticFieldsByName2(
4579 /* [in] */ LPCWSTR name,
4580 /* [in] */ ULONG32 nameFlags,
4581 /* [in] */ ULONG32 fieldFlags,
4582 /* [in] */ IXCLRDataTask *tlsTask,
4583 /* [out] */ CLRDATA_ENUM *handle) = 0;
4584
4585 virtual HRESULT STDMETHODCALLTYPE EnumStaticFieldByName2(
4586 /* [out][in] */ CLRDATA_ENUM *handle,
4587 /* [out] */ IXCLRDataValue **value) = 0;
4588
4589 virtual HRESULT STDMETHODCALLTYPE EndEnumStaticFieldsByName2(
4590 /* [in] */ CLRDATA_ENUM handle) = 0;
4591
4592 virtual HRESULT STDMETHODCALLTYPE GetStaticFieldByToken(
4593 /* [in] */ mdFieldDef token,
4594 /* [in] */ IXCLRDataTask *tlsTask,
4595 /* [out] */ IXCLRDataValue **field,
4596 /* [in] */ ULONG32 bufLen,
4597 /* [out] */ ULONG32 *nameLen,
4598 /* [size_is][out] */ WCHAR nameBuf[ ]) = 0;
4599
4600 virtual HRESULT STDMETHODCALLTYPE GetBase(
4601 /* [out] */ IXCLRDataTypeInstance **base) = 0;
4602
4603 virtual HRESULT STDMETHODCALLTYPE EnumStaticField2(
4604 /* [out][in] */ CLRDATA_ENUM *handle,
4605 /* [out] */ IXCLRDataValue **value,
4606 /* [in] */ ULONG32 bufLen,
4607 /* [out] */ ULONG32 *nameLen,
4608 /* [size_is][out] */ WCHAR nameBuf[ ],
4609 /* [out] */ IXCLRDataModule **tokenScope,
4610 /* [out] */ mdFieldDef *token) = 0;
4611
4612 virtual HRESULT STDMETHODCALLTYPE EnumStaticFieldByName3(
4613 /* [out][in] */ CLRDATA_ENUM *handle,
4614 /* [out] */ IXCLRDataValue **value,
4615 /* [out] */ IXCLRDataModule **tokenScope,
4616 /* [out] */ mdFieldDef *token) = 0;
4617
4618 virtual HRESULT STDMETHODCALLTYPE GetStaticFieldByToken2(
4619 /* [in] */ IXCLRDataModule *tokenScope,
4620 /* [in] */ mdFieldDef token,
4621 /* [in] */ IXCLRDataTask *tlsTask,
4622 /* [out] */ IXCLRDataValue **field,
4623 /* [in] */ ULONG32 bufLen,
4624 /* [out] */ ULONG32 *nameLen,
4625 /* [size_is][out] */ WCHAR nameBuf[ ]) = 0;
4626
4627 };
4628
4629
4630#else /* C style interface */
4631
4632 typedef struct IXCLRDataTypeInstanceVtbl
4633 {
4634 BEGIN_INTERFACE
4635
4636 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4637 IXCLRDataTypeInstance * This,
4638 /* [in] */ REFIID riid,
4639 /* [annotation][iid_is][out] */
4640 _COM_Outptr_ void **ppvObject);
4641
4642 ULONG ( STDMETHODCALLTYPE *AddRef )(
4643 IXCLRDataTypeInstance * This);
4644
4645 ULONG ( STDMETHODCALLTYPE *Release )(
4646 IXCLRDataTypeInstance * This);
4647
4648 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodInstances )(
4649 IXCLRDataTypeInstance * This,
4650 /* [out] */ CLRDATA_ENUM *handle);
4651
4652 HRESULT ( STDMETHODCALLTYPE *EnumMethodInstance )(
4653 IXCLRDataTypeInstance * This,
4654 /* [out][in] */ CLRDATA_ENUM *handle,
4655 /* [out] */ IXCLRDataMethodInstance **methodInstance);
4656
4657 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodInstances )(
4658 IXCLRDataTypeInstance * This,
4659 /* [in] */ CLRDATA_ENUM handle);
4660
4661 HRESULT ( STDMETHODCALLTYPE *StartEnumMethodInstancesByName )(
4662 IXCLRDataTypeInstance * This,
4663 /* [in] */ LPCWSTR name,
4664 /* [in] */ ULONG32 flags,
4665 /* [out] */ CLRDATA_ENUM *handle);
4666
4667 HRESULT ( STDMETHODCALLTYPE *EnumMethodInstanceByName )(
4668 IXCLRDataTypeInstance * This,
4669 /* [out][in] */ CLRDATA_ENUM *handle,
4670 /* [out] */ IXCLRDataMethodInstance **method);
4671
4672 HRESULT ( STDMETHODCALLTYPE *EndEnumMethodInstancesByName )(
4673 IXCLRDataTypeInstance * This,
4674 /* [in] */ CLRDATA_ENUM handle);
4675
4676 HRESULT ( STDMETHODCALLTYPE *GetNumStaticFields )(
4677 IXCLRDataTypeInstance * This,
4678 /* [out] */ ULONG32 *numFields);
4679
4680 HRESULT ( STDMETHODCALLTYPE *GetStaticFieldByIndex )(
4681 IXCLRDataTypeInstance * This,
4682 /* [in] */ ULONG32 index,
4683 /* [in] */ IXCLRDataTask *tlsTask,
4684 /* [out] */ IXCLRDataValue **field,
4685 /* [in] */ ULONG32 bufLen,
4686 /* [out] */ ULONG32 *nameLen,
4687 /* [size_is][out] */ WCHAR nameBuf[ ],
4688 /* [out] */ mdFieldDef *token);
4689
4690 HRESULT ( STDMETHODCALLTYPE *StartEnumStaticFieldsByName )(
4691 IXCLRDataTypeInstance * This,
4692 /* [in] */ LPCWSTR name,
4693 /* [in] */ ULONG32 flags,
4694 /* [in] */ IXCLRDataTask *tlsTask,
4695 /* [out] */ CLRDATA_ENUM *handle);
4696
4697 HRESULT ( STDMETHODCALLTYPE *EnumStaticFieldByName )(
4698 IXCLRDataTypeInstance * This,
4699 /* [out][in] */ CLRDATA_ENUM *handle,
4700 /* [out] */ IXCLRDataValue **value);
4701
4702 HRESULT ( STDMETHODCALLTYPE *EndEnumStaticFieldsByName )(
4703 IXCLRDataTypeInstance * This,
4704 /* [in] */ CLRDATA_ENUM handle);
4705
4706 HRESULT ( STDMETHODCALLTYPE *GetNumTypeArguments )(
4707 IXCLRDataTypeInstance * This,
4708 /* [out] */ ULONG32 *numTypeArgs);
4709
4710 HRESULT ( STDMETHODCALLTYPE *GetTypeArgumentByIndex )(
4711 IXCLRDataTypeInstance * This,
4712 /* [in] */ ULONG32 index,
4713 /* [out] */ IXCLRDataTypeInstance **typeArg);
4714
4715 HRESULT ( STDMETHODCALLTYPE *GetName )(
4716 IXCLRDataTypeInstance * This,
4717 /* [in] */ ULONG32 flags,
4718 /* [in] */ ULONG32 bufLen,
4719 /* [out] */ ULONG32 *nameLen,
4720 /* [size_is][out] */ WCHAR nameBuf[ ]);
4721
4722 HRESULT ( STDMETHODCALLTYPE *GetModule )(
4723 IXCLRDataTypeInstance * This,
4724 /* [out] */ IXCLRDataModule **mod);
4725
4726 HRESULT ( STDMETHODCALLTYPE *GetDefinition )(
4727 IXCLRDataTypeInstance * This,
4728 /* [out] */ IXCLRDataTypeDefinition **typeDefinition);
4729
4730 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
4731 IXCLRDataTypeInstance * This,
4732 /* [out] */ ULONG32 *flags);
4733
4734 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
4735 IXCLRDataTypeInstance * This,
4736 /* [in] */ IXCLRDataTypeInstance *type);
4737
4738 HRESULT ( STDMETHODCALLTYPE *Request )(
4739 IXCLRDataTypeInstance * This,
4740 /* [in] */ ULONG32 reqCode,
4741 /* [in] */ ULONG32 inBufferSize,
4742 /* [size_is][in] */ BYTE *inBuffer,
4743 /* [in] */ ULONG32 outBufferSize,
4744 /* [size_is][out] */ BYTE *outBuffer);
4745
4746 HRESULT ( STDMETHODCALLTYPE *GetNumStaticFields2 )(
4747 IXCLRDataTypeInstance * This,
4748 /* [in] */ ULONG32 flags,
4749 /* [out] */ ULONG32 *numFields);
4750
4751 HRESULT ( STDMETHODCALLTYPE *StartEnumStaticFields )(
4752 IXCLRDataTypeInstance * This,
4753 /* [in] */ ULONG32 flags,
4754 /* [in] */ IXCLRDataTask *tlsTask,
4755 /* [out] */ CLRDATA_ENUM *handle);
4756
4757 HRESULT ( STDMETHODCALLTYPE *EnumStaticField )(
4758 IXCLRDataTypeInstance * This,
4759 /* [out][in] */ CLRDATA_ENUM *handle,
4760 /* [out] */ IXCLRDataValue **value);
4761
4762 HRESULT ( STDMETHODCALLTYPE *EndEnumStaticFields )(
4763 IXCLRDataTypeInstance * This,
4764 /* [in] */ CLRDATA_ENUM handle);
4765
4766 HRESULT ( STDMETHODCALLTYPE *StartEnumStaticFieldsByName2 )(
4767 IXCLRDataTypeInstance * This,
4768 /* [in] */ LPCWSTR name,
4769 /* [in] */ ULONG32 nameFlags,
4770 /* [in] */ ULONG32 fieldFlags,
4771 /* [in] */ IXCLRDataTask *tlsTask,
4772 /* [out] */ CLRDATA_ENUM *handle);
4773
4774 HRESULT ( STDMETHODCALLTYPE *EnumStaticFieldByName2 )(
4775 IXCLRDataTypeInstance * This,
4776 /* [out][in] */ CLRDATA_ENUM *handle,
4777 /* [out] */ IXCLRDataValue **value);
4778
4779 HRESULT ( STDMETHODCALLTYPE *EndEnumStaticFieldsByName2 )(
4780 IXCLRDataTypeInstance * This,
4781 /* [in] */ CLRDATA_ENUM handle);
4782
4783 HRESULT ( STDMETHODCALLTYPE *GetStaticFieldByToken )(
4784 IXCLRDataTypeInstance * This,
4785 /* [in] */ mdFieldDef token,
4786 /* [in] */ IXCLRDataTask *tlsTask,
4787 /* [out] */ IXCLRDataValue **field,
4788 /* [in] */ ULONG32 bufLen,
4789 /* [out] */ ULONG32 *nameLen,
4790 /* [size_is][out] */ WCHAR nameBuf[ ]);
4791
4792 HRESULT ( STDMETHODCALLTYPE *GetBase )(
4793 IXCLRDataTypeInstance * This,
4794 /* [out] */ IXCLRDataTypeInstance **base);
4795
4796 HRESULT ( STDMETHODCALLTYPE *EnumStaticField2 )(
4797 IXCLRDataTypeInstance * This,
4798 /* [out][in] */ CLRDATA_ENUM *handle,
4799 /* [out] */ IXCLRDataValue **value,
4800 /* [in] */ ULONG32 bufLen,
4801 /* [out] */ ULONG32 *nameLen,
4802 /* [size_is][out] */ WCHAR nameBuf[ ],
4803 /* [out] */ IXCLRDataModule **tokenScope,
4804 /* [out] */ mdFieldDef *token);
4805
4806 HRESULT ( STDMETHODCALLTYPE *EnumStaticFieldByName3 )(
4807 IXCLRDataTypeInstance * This,
4808 /* [out][in] */ CLRDATA_ENUM *handle,
4809 /* [out] */ IXCLRDataValue **value,
4810 /* [out] */ IXCLRDataModule **tokenScope,
4811 /* [out] */ mdFieldDef *token);
4812
4813 HRESULT ( STDMETHODCALLTYPE *GetStaticFieldByToken2 )(
4814 IXCLRDataTypeInstance * This,
4815 /* [in] */ IXCLRDataModule *tokenScope,
4816 /* [in] */ mdFieldDef token,
4817 /* [in] */ IXCLRDataTask *tlsTask,
4818 /* [out] */ IXCLRDataValue **field,
4819 /* [in] */ ULONG32 bufLen,
4820 /* [out] */ ULONG32 *nameLen,
4821 /* [size_is][out] */ WCHAR nameBuf[ ]);
4822
4823 END_INTERFACE
4824 } IXCLRDataTypeInstanceVtbl;
4825
4826 interface IXCLRDataTypeInstance
4827 {
4828 CONST_VTBL struct IXCLRDataTypeInstanceVtbl *lpVtbl;
4829 };
4830
4831
4832
4833#ifdef COBJMACROS
4834
4835
4836#define IXCLRDataTypeInstance_QueryInterface(This,riid,ppvObject) \
4837 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4838
4839#define IXCLRDataTypeInstance_AddRef(This) \
4840 ( (This)->lpVtbl -> AddRef(This) )
4841
4842#define IXCLRDataTypeInstance_Release(This) \
4843 ( (This)->lpVtbl -> Release(This) )
4844
4845
4846#define IXCLRDataTypeInstance_StartEnumMethodInstances(This,handle) \
4847 ( (This)->lpVtbl -> StartEnumMethodInstances(This,handle) )
4848
4849#define IXCLRDataTypeInstance_EnumMethodInstance(This,handle,methodInstance) \
4850 ( (This)->lpVtbl -> EnumMethodInstance(This,handle,methodInstance) )
4851
4852#define IXCLRDataTypeInstance_EndEnumMethodInstances(This,handle) \
4853 ( (This)->lpVtbl -> EndEnumMethodInstances(This,handle) )
4854
4855#define IXCLRDataTypeInstance_StartEnumMethodInstancesByName(This,name,flags,handle) \
4856 ( (This)->lpVtbl -> StartEnumMethodInstancesByName(This,name,flags,handle) )
4857
4858#define IXCLRDataTypeInstance_EnumMethodInstanceByName(This,handle,method) \
4859 ( (This)->lpVtbl -> EnumMethodInstanceByName(This,handle,method) )
4860
4861#define IXCLRDataTypeInstance_EndEnumMethodInstancesByName(This,handle) \
4862 ( (This)->lpVtbl -> EndEnumMethodInstancesByName(This,handle) )
4863
4864#define IXCLRDataTypeInstance_GetNumStaticFields(This,numFields) \
4865 ( (This)->lpVtbl -> GetNumStaticFields(This,numFields) )
4866
4867#define IXCLRDataTypeInstance_GetStaticFieldByIndex(This,index,tlsTask,field,bufLen,nameLen,nameBuf,token) \
4868 ( (This)->lpVtbl -> GetStaticFieldByIndex(This,index,tlsTask,field,bufLen,nameLen,nameBuf,token) )
4869
4870#define IXCLRDataTypeInstance_StartEnumStaticFieldsByName(This,name,flags,tlsTask,handle) \
4871 ( (This)->lpVtbl -> StartEnumStaticFieldsByName(This,name,flags,tlsTask,handle) )
4872
4873#define IXCLRDataTypeInstance_EnumStaticFieldByName(This,handle,value) \
4874 ( (This)->lpVtbl -> EnumStaticFieldByName(This,handle,value) )
4875
4876#define IXCLRDataTypeInstance_EndEnumStaticFieldsByName(This,handle) \
4877 ( (This)->lpVtbl -> EndEnumStaticFieldsByName(This,handle) )
4878
4879#define IXCLRDataTypeInstance_GetNumTypeArguments(This,numTypeArgs) \
4880 ( (This)->lpVtbl -> GetNumTypeArguments(This,numTypeArgs) )
4881
4882#define IXCLRDataTypeInstance_GetTypeArgumentByIndex(This,index,typeArg) \
4883 ( (This)->lpVtbl -> GetTypeArgumentByIndex(This,index,typeArg) )
4884
4885#define IXCLRDataTypeInstance_GetName(This,flags,bufLen,nameLen,nameBuf) \
4886 ( (This)->lpVtbl -> GetName(This,flags,bufLen,nameLen,nameBuf) )
4887
4888#define IXCLRDataTypeInstance_GetModule(This,mod) \
4889 ( (This)->lpVtbl -> GetModule(This,mod) )
4890
4891#define IXCLRDataTypeInstance_GetDefinition(This,typeDefinition) \
4892 ( (This)->lpVtbl -> GetDefinition(This,typeDefinition) )
4893
4894#define IXCLRDataTypeInstance_GetFlags(This,flags) \
4895 ( (This)->lpVtbl -> GetFlags(This,flags) )
4896
4897#define IXCLRDataTypeInstance_IsSameObject(This,type) \
4898 ( (This)->lpVtbl -> IsSameObject(This,type) )
4899
4900#define IXCLRDataTypeInstance_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
4901 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
4902
4903#define IXCLRDataTypeInstance_GetNumStaticFields2(This,flags,numFields) \
4904 ( (This)->lpVtbl -> GetNumStaticFields2(This,flags,numFields) )
4905
4906#define IXCLRDataTypeInstance_StartEnumStaticFields(This,flags,tlsTask,handle) \
4907 ( (This)->lpVtbl -> StartEnumStaticFields(This,flags,tlsTask,handle) )
4908
4909#define IXCLRDataTypeInstance_EnumStaticField(This,handle,value) \
4910 ( (This)->lpVtbl -> EnumStaticField(This,handle,value) )
4911
4912#define IXCLRDataTypeInstance_EndEnumStaticFields(This,handle) \
4913 ( (This)->lpVtbl -> EndEnumStaticFields(This,handle) )
4914
4915#define IXCLRDataTypeInstance_StartEnumStaticFieldsByName2(This,name,nameFlags,fieldFlags,tlsTask,handle) \
4916 ( (This)->lpVtbl -> StartEnumStaticFieldsByName2(This,name,nameFlags,fieldFlags,tlsTask,handle) )
4917
4918#define IXCLRDataTypeInstance_EnumStaticFieldByName2(This,handle,value) \
4919 ( (This)->lpVtbl -> EnumStaticFieldByName2(This,handle,value) )
4920
4921#define IXCLRDataTypeInstance_EndEnumStaticFieldsByName2(This,handle) \
4922 ( (This)->lpVtbl -> EndEnumStaticFieldsByName2(This,handle) )
4923
4924#define IXCLRDataTypeInstance_GetStaticFieldByToken(This,token,tlsTask,field,bufLen,nameLen,nameBuf) \
4925 ( (This)->lpVtbl -> GetStaticFieldByToken(This,token,tlsTask,field,bufLen,nameLen,nameBuf) )
4926
4927#define IXCLRDataTypeInstance_GetBase(This,base) \
4928 ( (This)->lpVtbl -> GetBase(This,base) )
4929
4930#define IXCLRDataTypeInstance_EnumStaticField2(This,handle,value,bufLen,nameLen,nameBuf,tokenScope,token) \
4931 ( (This)->lpVtbl -> EnumStaticField2(This,handle,value,bufLen,nameLen,nameBuf,tokenScope,token) )
4932
4933#define IXCLRDataTypeInstance_EnumStaticFieldByName3(This,handle,value,tokenScope,token) \
4934 ( (This)->lpVtbl -> EnumStaticFieldByName3(This,handle,value,tokenScope,token) )
4935
4936#define IXCLRDataTypeInstance_GetStaticFieldByToken2(This,tokenScope,token,tlsTask,field,bufLen,nameLen,nameBuf) \
4937 ( (This)->lpVtbl -> GetStaticFieldByToken2(This,tokenScope,token,tlsTask,field,bufLen,nameLen,nameBuf) )
4938
4939#endif /* COBJMACROS */
4940
4941
4942#endif /* C style interface */
4943
4944
4945
4946
4947#endif /* __IXCLRDataTypeInstance_INTERFACE_DEFINED__ */
4948
4949
4950/* interface __MIDL_itf_xclrdata_0000_0012 */
4951/* [local] */
4952
4953#pragma warning(pop)
4954typedef /* [public][public][public] */
4955enum __MIDL___MIDL_itf_xclrdata_0000_0012_0001
4956 {
4957 CLRDATA_SOURCE_TYPE_INVALID = 0
4958 } CLRDataSourceType;
4959
4960typedef /* [public] */
4961enum __MIDL___MIDL_itf_xclrdata_0000_0012_0002
4962 {
4963 CLRDATA_IL_OFFSET_NO_MAPPING = -1,
4964 CLRDATA_IL_OFFSET_PROLOG = -2,
4965 CLRDATA_IL_OFFSET_EPILOG = -3
4966 } CLRDATA_IL_OFFSET_MARKER;
4967
4968typedef /* [public][public] */ struct __MIDL___MIDL_itf_xclrdata_0000_0012_0003
4969 {
4970 ULONG32 ilOffset;
4971 CLRDATA_ADDRESS startAddress;
4972 CLRDATA_ADDRESS endAddress;
4973 CLRDataSourceType type;
4974 } CLRDATA_IL_ADDRESS_MAP;
4975
4976typedef /* [public] */
4977enum __MIDL___MIDL_itf_xclrdata_0000_0012_0004
4978 {
4979 CLRDATA_METHOD_DEFAULT = 0,
4980 CLRDATA_METHOD_HAS_THIS = 0x1
4981 } CLRDataMethodFlag;
4982
4983typedef /* [public][public][public] */
4984enum __MIDL___MIDL_itf_xclrdata_0000_0012_0005
4985 {
4986 CLRDATA_METHDEF_IL = 0
4987 } CLRDataMethodDefinitionExtentType;
4988
4989typedef /* [public][public] */ struct __MIDL___MIDL_itf_xclrdata_0000_0012_0006
4990 {
4991 CLRDATA_ADDRESS startAddress;
4992 CLRDATA_ADDRESS endAddress;
4993 ULONG32 enCVersion;
4994 CLRDataMethodDefinitionExtentType type;
4995 } CLRDATA_METHDEF_EXTENT;
4996
4997#pragma warning(push)
4998#pragma warning(disable:28718)
4999
5000
5001extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0012_v0_0_c_ifspec;
5002extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0012_v0_0_s_ifspec;
5003
5004#ifndef __IXCLRDataMethodDefinition_INTERFACE_DEFINED__
5005#define __IXCLRDataMethodDefinition_INTERFACE_DEFINED__
5006
5007/* interface IXCLRDataMethodDefinition */
5008/* [uuid][local][object] */
5009
5010
5011EXTERN_C const IID IID_IXCLRDataMethodDefinition;
5012
5013#if defined(__cplusplus) && !defined(CINTERFACE)
5014
5015 MIDL_INTERFACE("AAF60008-FB2C-420b-8FB1-42D244A54A97")
5016 IXCLRDataMethodDefinition : public IUnknown
5017 {
5018 public:
5019 virtual HRESULT STDMETHODCALLTYPE GetTypeDefinition(
5020 /* [out] */ IXCLRDataTypeDefinition **typeDefinition) = 0;
5021
5022 virtual HRESULT STDMETHODCALLTYPE StartEnumInstances(
5023 /* [in] */ IXCLRDataAppDomain *appDomain,
5024 /* [out] */ CLRDATA_ENUM *handle) = 0;
5025
5026 virtual HRESULT STDMETHODCALLTYPE EnumInstance(
5027 /* [out][in] */ CLRDATA_ENUM *handle,
5028 /* [out] */ IXCLRDataMethodInstance **instance) = 0;
5029
5030 virtual HRESULT STDMETHODCALLTYPE EndEnumInstances(
5031 /* [in] */ CLRDATA_ENUM handle) = 0;
5032
5033 virtual HRESULT STDMETHODCALLTYPE GetName(
5034 /* [in] */ ULONG32 flags,
5035 /* [in] */ ULONG32 bufLen,
5036 /* [out] */ ULONG32 *nameLen,
5037 /* [size_is][out] */ WCHAR name[ ]) = 0;
5038
5039 virtual HRESULT STDMETHODCALLTYPE GetTokenAndScope(
5040 /* [out] */ mdMethodDef *token,
5041 /* [out] */ IXCLRDataModule **mod) = 0;
5042
5043 virtual HRESULT STDMETHODCALLTYPE GetFlags(
5044 /* [out] */ ULONG32 *flags) = 0;
5045
5046 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
5047 /* [in] */ IXCLRDataMethodDefinition *method) = 0;
5048
5049 virtual HRESULT STDMETHODCALLTYPE GetLatestEnCVersion(
5050 /* [out] */ ULONG32 *version) = 0;
5051
5052 virtual HRESULT STDMETHODCALLTYPE StartEnumExtents(
5053 /* [out] */ CLRDATA_ENUM *handle) = 0;
5054
5055 virtual HRESULT STDMETHODCALLTYPE EnumExtent(
5056 /* [out][in] */ CLRDATA_ENUM *handle,
5057 /* [out] */ CLRDATA_METHDEF_EXTENT *extent) = 0;
5058
5059 virtual HRESULT STDMETHODCALLTYPE EndEnumExtents(
5060 /* [in] */ CLRDATA_ENUM handle) = 0;
5061
5062 virtual HRESULT STDMETHODCALLTYPE GetCodeNotification(
5063 /* [out] */ ULONG32 *flags) = 0;
5064
5065 virtual HRESULT STDMETHODCALLTYPE SetCodeNotification(
5066 /* [in] */ ULONG32 flags) = 0;
5067
5068 virtual HRESULT STDMETHODCALLTYPE Request(
5069 /* [in] */ ULONG32 reqCode,
5070 /* [in] */ ULONG32 inBufferSize,
5071 /* [size_is][in] */ BYTE *inBuffer,
5072 /* [in] */ ULONG32 outBufferSize,
5073 /* [size_is][out] */ BYTE *outBuffer) = 0;
5074
5075 virtual HRESULT STDMETHODCALLTYPE GetRepresentativeEntryAddress(
5076 /* [out] */ CLRDATA_ADDRESS *addr) = 0;
5077
5078 virtual HRESULT STDMETHODCALLTYPE HasClassOrMethodInstantiation(
5079 /* [out] */ BOOL *bGeneric) = 0;
5080
5081 };
5082
5083
5084#else /* C style interface */
5085
5086 typedef struct IXCLRDataMethodDefinitionVtbl
5087 {
5088 BEGIN_INTERFACE
5089
5090 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5091 IXCLRDataMethodDefinition * This,
5092 /* [in] */ REFIID riid,
5093 /* [annotation][iid_is][out] */
5094 _COM_Outptr_ void **ppvObject);
5095
5096 ULONG ( STDMETHODCALLTYPE *AddRef )(
5097 IXCLRDataMethodDefinition * This);
5098
5099 ULONG ( STDMETHODCALLTYPE *Release )(
5100 IXCLRDataMethodDefinition * This);
5101
5102 HRESULT ( STDMETHODCALLTYPE *GetTypeDefinition )(
5103 IXCLRDataMethodDefinition * This,
5104 /* [out] */ IXCLRDataTypeDefinition **typeDefinition);
5105
5106 HRESULT ( STDMETHODCALLTYPE *StartEnumInstances )(
5107 IXCLRDataMethodDefinition * This,
5108 /* [in] */ IXCLRDataAppDomain *appDomain,
5109 /* [out] */ CLRDATA_ENUM *handle);
5110
5111 HRESULT ( STDMETHODCALLTYPE *EnumInstance )(
5112 IXCLRDataMethodDefinition * This,
5113 /* [out][in] */ CLRDATA_ENUM *handle,
5114 /* [out] */ IXCLRDataMethodInstance **instance);
5115
5116 HRESULT ( STDMETHODCALLTYPE *EndEnumInstances )(
5117 IXCLRDataMethodDefinition * This,
5118 /* [in] */ CLRDATA_ENUM handle);
5119
5120 HRESULT ( STDMETHODCALLTYPE *GetName )(
5121 IXCLRDataMethodDefinition * This,
5122 /* [in] */ ULONG32 flags,
5123 /* [in] */ ULONG32 bufLen,
5124 /* [out] */ ULONG32 *nameLen,
5125 /* [size_is][out] */ WCHAR name[ ]);
5126
5127 HRESULT ( STDMETHODCALLTYPE *GetTokenAndScope )(
5128 IXCLRDataMethodDefinition * This,
5129 /* [out] */ mdMethodDef *token,
5130 /* [out] */ IXCLRDataModule **mod);
5131
5132 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
5133 IXCLRDataMethodDefinition * This,
5134 /* [out] */ ULONG32 *flags);
5135
5136 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
5137 IXCLRDataMethodDefinition * This,
5138 /* [in] */ IXCLRDataMethodDefinition *method);
5139
5140 HRESULT ( STDMETHODCALLTYPE *GetLatestEnCVersion )(
5141 IXCLRDataMethodDefinition * This,
5142 /* [out] */ ULONG32 *version);
5143
5144 HRESULT ( STDMETHODCALLTYPE *StartEnumExtents )(
5145 IXCLRDataMethodDefinition * This,
5146 /* [out] */ CLRDATA_ENUM *handle);
5147
5148 HRESULT ( STDMETHODCALLTYPE *EnumExtent )(
5149 IXCLRDataMethodDefinition * This,
5150 /* [out][in] */ CLRDATA_ENUM *handle,
5151 /* [out] */ CLRDATA_METHDEF_EXTENT *extent);
5152
5153 HRESULT ( STDMETHODCALLTYPE *EndEnumExtents )(
5154 IXCLRDataMethodDefinition * This,
5155 /* [in] */ CLRDATA_ENUM handle);
5156
5157 HRESULT ( STDMETHODCALLTYPE *GetCodeNotification )(
5158 IXCLRDataMethodDefinition * This,
5159 /* [out] */ ULONG32 *flags);
5160
5161 HRESULT ( STDMETHODCALLTYPE *SetCodeNotification )(
5162 IXCLRDataMethodDefinition * This,
5163 /* [in] */ ULONG32 flags);
5164
5165 HRESULT ( STDMETHODCALLTYPE *Request )(
5166 IXCLRDataMethodDefinition * This,
5167 /* [in] */ ULONG32 reqCode,
5168 /* [in] */ ULONG32 inBufferSize,
5169 /* [size_is][in] */ BYTE *inBuffer,
5170 /* [in] */ ULONG32 outBufferSize,
5171 /* [size_is][out] */ BYTE *outBuffer);
5172
5173 HRESULT ( STDMETHODCALLTYPE *GetRepresentativeEntryAddress )(
5174 IXCLRDataMethodDefinition * This,
5175 /* [out] */ CLRDATA_ADDRESS *addr);
5176
5177 HRESULT ( STDMETHODCALLTYPE *HasClassOrMethodInstantiation )(
5178 IXCLRDataMethodDefinition * This,
5179 /* [out] */ BOOL *bGeneric);
5180
5181 END_INTERFACE
5182 } IXCLRDataMethodDefinitionVtbl;
5183
5184 interface IXCLRDataMethodDefinition
5185 {
5186 CONST_VTBL struct IXCLRDataMethodDefinitionVtbl *lpVtbl;
5187 };
5188
5189
5190
5191#ifdef COBJMACROS
5192
5193
5194#define IXCLRDataMethodDefinition_QueryInterface(This,riid,ppvObject) \
5195 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5196
5197#define IXCLRDataMethodDefinition_AddRef(This) \
5198 ( (This)->lpVtbl -> AddRef(This) )
5199
5200#define IXCLRDataMethodDefinition_Release(This) \
5201 ( (This)->lpVtbl -> Release(This) )
5202
5203
5204#define IXCLRDataMethodDefinition_GetTypeDefinition(This,typeDefinition) \
5205 ( (This)->lpVtbl -> GetTypeDefinition(This,typeDefinition) )
5206
5207#define IXCLRDataMethodDefinition_StartEnumInstances(This,appDomain,handle) \
5208 ( (This)->lpVtbl -> StartEnumInstances(This,appDomain,handle) )
5209
5210#define IXCLRDataMethodDefinition_EnumInstance(This,handle,instance) \
5211 ( (This)->lpVtbl -> EnumInstance(This,handle,instance) )
5212
5213#define IXCLRDataMethodDefinition_EndEnumInstances(This,handle) \
5214 ( (This)->lpVtbl -> EndEnumInstances(This,handle) )
5215
5216#define IXCLRDataMethodDefinition_GetName(This,flags,bufLen,nameLen,name) \
5217 ( (This)->lpVtbl -> GetName(This,flags,bufLen,nameLen,name) )
5218
5219#define IXCLRDataMethodDefinition_GetTokenAndScope(This,token,mod) \
5220 ( (This)->lpVtbl -> GetTokenAndScope(This,token,mod) )
5221
5222#define IXCLRDataMethodDefinition_GetFlags(This,flags) \
5223 ( (This)->lpVtbl -> GetFlags(This,flags) )
5224
5225#define IXCLRDataMethodDefinition_IsSameObject(This,method) \
5226 ( (This)->lpVtbl -> IsSameObject(This,method) )
5227
5228#define IXCLRDataMethodDefinition_GetLatestEnCVersion(This,version) \
5229 ( (This)->lpVtbl -> GetLatestEnCVersion(This,version) )
5230
5231#define IXCLRDataMethodDefinition_StartEnumExtents(This,handle) \
5232 ( (This)->lpVtbl -> StartEnumExtents(This,handle) )
5233
5234#define IXCLRDataMethodDefinition_EnumExtent(This,handle,extent) \
5235 ( (This)->lpVtbl -> EnumExtent(This,handle,extent) )
5236
5237#define IXCLRDataMethodDefinition_EndEnumExtents(This,handle) \
5238 ( (This)->lpVtbl -> EndEnumExtents(This,handle) )
5239
5240#define IXCLRDataMethodDefinition_GetCodeNotification(This,flags) \
5241 ( (This)->lpVtbl -> GetCodeNotification(This,flags) )
5242
5243#define IXCLRDataMethodDefinition_SetCodeNotification(This,flags) \
5244 ( (This)->lpVtbl -> SetCodeNotification(This,flags) )
5245
5246#define IXCLRDataMethodDefinition_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
5247 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
5248
5249#define IXCLRDataMethodDefinition_GetRepresentativeEntryAddress(This,addr) \
5250 ( (This)->lpVtbl -> GetRepresentativeEntryAddress(This,addr) )
5251
5252#define IXCLRDataMethodDefinition_HasClassOrMethodInstantiation(This,bGeneric) \
5253 ( (This)->lpVtbl -> HasClassOrMethodInstantiation(This,bGeneric) )
5254
5255#endif /* COBJMACROS */
5256
5257
5258#endif /* C style interface */
5259
5260
5261
5262
5263#endif /* __IXCLRDataMethodDefinition_INTERFACE_DEFINED__ */
5264
5265
5266/* interface __MIDL_itf_xclrdata_0000_0013 */
5267/* [local] */
5268
5269#pragma warning(pop)
5270#pragma warning(push)
5271#pragma warning(disable:28718)
5272
5273
5274extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0013_v0_0_c_ifspec;
5275extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0013_v0_0_s_ifspec;
5276
5277#ifndef __IXCLRDataMethodInstance_INTERFACE_DEFINED__
5278#define __IXCLRDataMethodInstance_INTERFACE_DEFINED__
5279
5280/* interface IXCLRDataMethodInstance */
5281/* [uuid][local][object] */
5282
5283
5284EXTERN_C const IID IID_IXCLRDataMethodInstance;
5285
5286#if defined(__cplusplus) && !defined(CINTERFACE)
5287
5288 MIDL_INTERFACE("ECD73800-22CA-4b0d-AB55-E9BA7E6318A5")
5289 IXCLRDataMethodInstance : public IUnknown
5290 {
5291 public:
5292 virtual HRESULT STDMETHODCALLTYPE GetTypeInstance(
5293 /* [out] */ IXCLRDataTypeInstance **typeInstance) = 0;
5294
5295 virtual HRESULT STDMETHODCALLTYPE GetDefinition(
5296 /* [out] */ IXCLRDataMethodDefinition **methodDefinition) = 0;
5297
5298 virtual HRESULT STDMETHODCALLTYPE GetTokenAndScope(
5299 /* [out] */ mdMethodDef *token,
5300 /* [out] */ IXCLRDataModule **mod) = 0;
5301
5302 virtual HRESULT STDMETHODCALLTYPE GetName(
5303 /* [in] */ ULONG32 flags,
5304 /* [in] */ ULONG32 bufLen,
5305 /* [out] */ ULONG32 *nameLen,
5306 /* [size_is][out] */ WCHAR nameBuf[ ]) = 0;
5307
5308 virtual HRESULT STDMETHODCALLTYPE GetFlags(
5309 /* [out] */ ULONG32 *flags) = 0;
5310
5311 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
5312 /* [in] */ IXCLRDataMethodInstance *method) = 0;
5313
5314 virtual HRESULT STDMETHODCALLTYPE GetEnCVersion(
5315 /* [out] */ ULONG32 *version) = 0;
5316
5317 virtual HRESULT STDMETHODCALLTYPE GetNumTypeArguments(
5318 /* [out] */ ULONG32 *numTypeArgs) = 0;
5319
5320 virtual HRESULT STDMETHODCALLTYPE GetTypeArgumentByIndex(
5321 /* [in] */ ULONG32 index,
5322 /* [out] */ IXCLRDataTypeInstance **typeArg) = 0;
5323
5324 virtual HRESULT STDMETHODCALLTYPE GetILOffsetsByAddress(
5325 /* [in] */ CLRDATA_ADDRESS address,
5326 /* [in] */ ULONG32 offsetsLen,
5327 /* [out] */ ULONG32 *offsetsNeeded,
5328 /* [size_is][out] */ ULONG32 ilOffsets[ ]) = 0;
5329
5330 virtual HRESULT STDMETHODCALLTYPE GetAddressRangesByILOffset(
5331 /* [in] */ ULONG32 ilOffset,
5332 /* [in] */ ULONG32 rangesLen,
5333 /* [out] */ ULONG32 *rangesNeeded,
5334 /* [size_is][out] */ CLRDATA_ADDRESS_RANGE addressRanges[ ]) = 0;
5335
5336 virtual HRESULT STDMETHODCALLTYPE GetILAddressMap(
5337 /* [in] */ ULONG32 mapLen,
5338 /* [out] */ ULONG32 *mapNeeded,
5339 /* [size_is][out] */ CLRDATA_IL_ADDRESS_MAP maps[ ]) = 0;
5340
5341 virtual HRESULT STDMETHODCALLTYPE StartEnumExtents(
5342 /* [out] */ CLRDATA_ENUM *handle) = 0;
5343
5344 virtual HRESULT STDMETHODCALLTYPE EnumExtent(
5345 /* [out][in] */ CLRDATA_ENUM *handle,
5346 /* [out] */ CLRDATA_ADDRESS_RANGE *extent) = 0;
5347
5348 virtual HRESULT STDMETHODCALLTYPE EndEnumExtents(
5349 /* [in] */ CLRDATA_ENUM handle) = 0;
5350
5351 virtual HRESULT STDMETHODCALLTYPE Request(
5352 /* [in] */ ULONG32 reqCode,
5353 /* [in] */ ULONG32 inBufferSize,
5354 /* [size_is][in] */ BYTE *inBuffer,
5355 /* [in] */ ULONG32 outBufferSize,
5356 /* [size_is][out] */ BYTE *outBuffer) = 0;
5357
5358 virtual HRESULT STDMETHODCALLTYPE GetRepresentativeEntryAddress(
5359 /* [out] */ CLRDATA_ADDRESS *addr) = 0;
5360
5361 };
5362
5363
5364#else /* C style interface */
5365
5366 typedef struct IXCLRDataMethodInstanceVtbl
5367 {
5368 BEGIN_INTERFACE
5369
5370 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5371 IXCLRDataMethodInstance * This,
5372 /* [in] */ REFIID riid,
5373 /* [annotation][iid_is][out] */
5374 _COM_Outptr_ void **ppvObject);
5375
5376 ULONG ( STDMETHODCALLTYPE *AddRef )(
5377 IXCLRDataMethodInstance * This);
5378
5379 ULONG ( STDMETHODCALLTYPE *Release )(
5380 IXCLRDataMethodInstance * This);
5381
5382 HRESULT ( STDMETHODCALLTYPE *GetTypeInstance )(
5383 IXCLRDataMethodInstance * This,
5384 /* [out] */ IXCLRDataTypeInstance **typeInstance);
5385
5386 HRESULT ( STDMETHODCALLTYPE *GetDefinition )(
5387 IXCLRDataMethodInstance * This,
5388 /* [out] */ IXCLRDataMethodDefinition **methodDefinition);
5389
5390 HRESULT ( STDMETHODCALLTYPE *GetTokenAndScope )(
5391 IXCLRDataMethodInstance * This,
5392 /* [out] */ mdMethodDef *token,
5393 /* [out] */ IXCLRDataModule **mod);
5394
5395 HRESULT ( STDMETHODCALLTYPE *GetName )(
5396 IXCLRDataMethodInstance * This,
5397 /* [in] */ ULONG32 flags,
5398 /* [in] */ ULONG32 bufLen,
5399 /* [out] */ ULONG32 *nameLen,
5400 /* [size_is][out] */ WCHAR nameBuf[ ]);
5401
5402 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
5403 IXCLRDataMethodInstance * This,
5404 /* [out] */ ULONG32 *flags);
5405
5406 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
5407 IXCLRDataMethodInstance * This,
5408 /* [in] */ IXCLRDataMethodInstance *method);
5409
5410 HRESULT ( STDMETHODCALLTYPE *GetEnCVersion )(
5411 IXCLRDataMethodInstance * This,
5412 /* [out] */ ULONG32 *version);
5413
5414 HRESULT ( STDMETHODCALLTYPE *GetNumTypeArguments )(
5415 IXCLRDataMethodInstance * This,
5416 /* [out] */ ULONG32 *numTypeArgs);
5417
5418 HRESULT ( STDMETHODCALLTYPE *GetTypeArgumentByIndex )(
5419 IXCLRDataMethodInstance * This,
5420 /* [in] */ ULONG32 index,
5421 /* [out] */ IXCLRDataTypeInstance **typeArg);
5422
5423 HRESULT ( STDMETHODCALLTYPE *GetILOffsetsByAddress )(
5424 IXCLRDataMethodInstance * This,
5425 /* [in] */ CLRDATA_ADDRESS address,
5426 /* [in] */ ULONG32 offsetsLen,
5427 /* [out] */ ULONG32 *offsetsNeeded,
5428 /* [size_is][out] */ ULONG32 ilOffsets[ ]);
5429
5430 HRESULT ( STDMETHODCALLTYPE *GetAddressRangesByILOffset )(
5431 IXCLRDataMethodInstance * This,
5432 /* [in] */ ULONG32 ilOffset,
5433 /* [in] */ ULONG32 rangesLen,
5434 /* [out] */ ULONG32 *rangesNeeded,
5435 /* [size_is][out] */ CLRDATA_ADDRESS_RANGE addressRanges[ ]);
5436
5437 HRESULT ( STDMETHODCALLTYPE *GetILAddressMap )(
5438 IXCLRDataMethodInstance * This,
5439 /* [in] */ ULONG32 mapLen,
5440 /* [out] */ ULONG32 *mapNeeded,
5441 /* [size_is][out] */ CLRDATA_IL_ADDRESS_MAP maps[ ]);
5442
5443 HRESULT ( STDMETHODCALLTYPE *StartEnumExtents )(
5444 IXCLRDataMethodInstance * This,
5445 /* [out] */ CLRDATA_ENUM *handle);
5446
5447 HRESULT ( STDMETHODCALLTYPE *EnumExtent )(
5448 IXCLRDataMethodInstance * This,
5449 /* [out][in] */ CLRDATA_ENUM *handle,
5450 /* [out] */ CLRDATA_ADDRESS_RANGE *extent);
5451
5452 HRESULT ( STDMETHODCALLTYPE *EndEnumExtents )(
5453 IXCLRDataMethodInstance * This,
5454 /* [in] */ CLRDATA_ENUM handle);
5455
5456 HRESULT ( STDMETHODCALLTYPE *Request )(
5457 IXCLRDataMethodInstance * This,
5458 /* [in] */ ULONG32 reqCode,
5459 /* [in] */ ULONG32 inBufferSize,
5460 /* [size_is][in] */ BYTE *inBuffer,
5461 /* [in] */ ULONG32 outBufferSize,
5462 /* [size_is][out] */ BYTE *outBuffer);
5463
5464 HRESULT ( STDMETHODCALLTYPE *GetRepresentativeEntryAddress )(
5465 IXCLRDataMethodInstance * This,
5466 /* [out] */ CLRDATA_ADDRESS *addr);
5467
5468 END_INTERFACE
5469 } IXCLRDataMethodInstanceVtbl;
5470
5471 interface IXCLRDataMethodInstance
5472 {
5473 CONST_VTBL struct IXCLRDataMethodInstanceVtbl *lpVtbl;
5474 };
5475
5476
5477
5478#ifdef COBJMACROS
5479
5480
5481#define IXCLRDataMethodInstance_QueryInterface(This,riid,ppvObject) \
5482 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5483
5484#define IXCLRDataMethodInstance_AddRef(This) \
5485 ( (This)->lpVtbl -> AddRef(This) )
5486
5487#define IXCLRDataMethodInstance_Release(This) \
5488 ( (This)->lpVtbl -> Release(This) )
5489
5490
5491#define IXCLRDataMethodInstance_GetTypeInstance(This,typeInstance) \
5492 ( (This)->lpVtbl -> GetTypeInstance(This,typeInstance) )
5493
5494#define IXCLRDataMethodInstance_GetDefinition(This,methodDefinition) \
5495 ( (This)->lpVtbl -> GetDefinition(This,methodDefinition) )
5496
5497#define IXCLRDataMethodInstance_GetTokenAndScope(This,token,mod) \
5498 ( (This)->lpVtbl -> GetTokenAndScope(This,token,mod) )
5499
5500#define IXCLRDataMethodInstance_GetName(This,flags,bufLen,nameLen,nameBuf) \
5501 ( (This)->lpVtbl -> GetName(This,flags,bufLen,nameLen,nameBuf) )
5502
5503#define IXCLRDataMethodInstance_GetFlags(This,flags) \
5504 ( (This)->lpVtbl -> GetFlags(This,flags) )
5505
5506#define IXCLRDataMethodInstance_IsSameObject(This,method) \
5507 ( (This)->lpVtbl -> IsSameObject(This,method) )
5508
5509#define IXCLRDataMethodInstance_GetEnCVersion(This,version) \
5510 ( (This)->lpVtbl -> GetEnCVersion(This,version) )
5511
5512#define IXCLRDataMethodInstance_GetNumTypeArguments(This,numTypeArgs) \
5513 ( (This)->lpVtbl -> GetNumTypeArguments(This,numTypeArgs) )
5514
5515#define IXCLRDataMethodInstance_GetTypeArgumentByIndex(This,index,typeArg) \
5516 ( (This)->lpVtbl -> GetTypeArgumentByIndex(This,index,typeArg) )
5517
5518#define IXCLRDataMethodInstance_GetILOffsetsByAddress(This,address,offsetsLen,offsetsNeeded,ilOffsets) \
5519 ( (This)->lpVtbl -> GetILOffsetsByAddress(This,address,offsetsLen,offsetsNeeded,ilOffsets) )
5520
5521#define IXCLRDataMethodInstance_GetAddressRangesByILOffset(This,ilOffset,rangesLen,rangesNeeded,addressRanges) \
5522 ( (This)->lpVtbl -> GetAddressRangesByILOffset(This,ilOffset,rangesLen,rangesNeeded,addressRanges) )
5523
5524#define IXCLRDataMethodInstance_GetILAddressMap(This,mapLen,mapNeeded,maps) \
5525 ( (This)->lpVtbl -> GetILAddressMap(This,mapLen,mapNeeded,maps) )
5526
5527#define IXCLRDataMethodInstance_StartEnumExtents(This,handle) \
5528 ( (This)->lpVtbl -> StartEnumExtents(This,handle) )
5529
5530#define IXCLRDataMethodInstance_EnumExtent(This,handle,extent) \
5531 ( (This)->lpVtbl -> EnumExtent(This,handle,extent) )
5532
5533#define IXCLRDataMethodInstance_EndEnumExtents(This,handle) \
5534 ( (This)->lpVtbl -> EndEnumExtents(This,handle) )
5535
5536#define IXCLRDataMethodInstance_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
5537 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
5538
5539#define IXCLRDataMethodInstance_GetRepresentativeEntryAddress(This,addr) \
5540 ( (This)->lpVtbl -> GetRepresentativeEntryAddress(This,addr) )
5541
5542#endif /* COBJMACROS */
5543
5544
5545#endif /* C style interface */
5546
5547
5548
5549
5550#endif /* __IXCLRDataMethodInstance_INTERFACE_DEFINED__ */
5551
5552
5553/* interface __MIDL_itf_xclrdata_0000_0014 */
5554/* [local] */
5555
5556#pragma warning(pop)
5557typedef /* [public] */
5558enum __MIDL___MIDL_itf_xclrdata_0000_0014_0001
5559 {
5560 CLRDATA_TASK_DEFAULT = 0,
5561 CLRDATA_TASK_WAITING_FOR_GC = 0x1
5562 } CLRDataTaskFlag;
5563
5564#pragma warning(push)
5565#pragma warning(disable:28718)
5566
5567
5568extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0014_v0_0_c_ifspec;
5569extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0014_v0_0_s_ifspec;
5570
5571#ifndef __IXCLRDataTask_INTERFACE_DEFINED__
5572#define __IXCLRDataTask_INTERFACE_DEFINED__
5573
5574/* interface IXCLRDataTask */
5575/* [uuid][local][object] */
5576
5577
5578EXTERN_C const IID IID_IXCLRDataTask;
5579
5580#if defined(__cplusplus) && !defined(CINTERFACE)
5581
5582 MIDL_INTERFACE("A5B0BEEA-EC62-4618-8012-A24FFC23934C")
5583 IXCLRDataTask : public IUnknown
5584 {
5585 public:
5586 virtual HRESULT STDMETHODCALLTYPE GetProcess(
5587 /* [out] */ IXCLRDataProcess **process) = 0;
5588
5589 virtual HRESULT STDMETHODCALLTYPE GetCurrentAppDomain(
5590 /* [out] */ IXCLRDataAppDomain **appDomain) = 0;
5591
5592 virtual HRESULT STDMETHODCALLTYPE GetUniqueID(
5593 /* [out] */ ULONG64 *id) = 0;
5594
5595 virtual HRESULT STDMETHODCALLTYPE GetFlags(
5596 /* [out] */ ULONG32 *flags) = 0;
5597
5598 virtual HRESULT STDMETHODCALLTYPE IsSameObject(
5599 /* [in] */ IXCLRDataTask *task) = 0;
5600
5601 virtual HRESULT STDMETHODCALLTYPE GetManagedObject(
5602 /* [out] */ IXCLRDataValue **value) = 0;
5603
5604 virtual HRESULT STDMETHODCALLTYPE GetDesiredExecutionState(
5605 /* [out] */ ULONG32 *state) = 0;
5606
5607 virtual HRESULT STDMETHODCALLTYPE SetDesiredExecutionState(
5608 /* [in] */ ULONG32 state) = 0;
5609
5610 virtual HRESULT STDMETHODCALLTYPE CreateStackWalk(
5611 /* [in] */ ULONG32 flags,
5612 /* [out] */ IXCLRDataStackWalk **stackWalk) = 0;
5613
5614 virtual HRESULT STDMETHODCALLTYPE GetOSThreadID(
5615 /* [out] */ ULONG32 *id) = 0;
5616
5617 virtual HRESULT STDMETHODCALLTYPE GetContext(
5618 /* [in] */ ULONG32 contextFlags,
5619 /* [in] */ ULONG32 contextBufSize,
5620 /* [out] */ ULONG32 *contextSize,
5621 /* [size_is][out] */ BYTE contextBuf[ ]) = 0;
5622
5623 virtual HRESULT STDMETHODCALLTYPE SetContext(
5624 /* [in] */ ULONG32 contextSize,
5625 /* [size_is][in] */ BYTE context[ ]) = 0;
5626
5627 virtual HRESULT STDMETHODCALLTYPE GetCurrentExceptionState(
5628 /* [out] */ IXCLRDataExceptionState **exception) = 0;
5629
5630 virtual HRESULT STDMETHODCALLTYPE Request(
5631 /* [in] */ ULONG32 reqCode,
5632 /* [in] */ ULONG32 inBufferSize,
5633 /* [size_is][in] */ BYTE *inBuffer,
5634 /* [in] */ ULONG32 outBufferSize,
5635 /* [size_is][out] */ BYTE *outBuffer) = 0;
5636
5637 virtual HRESULT STDMETHODCALLTYPE GetName(
5638 /* [in] */ ULONG32 bufLen,
5639 /* [out] */ ULONG32 *nameLen,
5640 /* [size_is][out] */ WCHAR name[ ]) = 0;
5641
5642 virtual HRESULT STDMETHODCALLTYPE GetLastExceptionState(
5643 /* [out] */ IXCLRDataExceptionState **exception) = 0;
5644
5645 };
5646
5647
5648#else /* C style interface */
5649
5650 typedef struct IXCLRDataTaskVtbl
5651 {
5652 BEGIN_INTERFACE
5653
5654 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5655 IXCLRDataTask * This,
5656 /* [in] */ REFIID riid,
5657 /* [annotation][iid_is][out] */
5658 _COM_Outptr_ void **ppvObject);
5659
5660 ULONG ( STDMETHODCALLTYPE *AddRef )(
5661 IXCLRDataTask * This);
5662
5663 ULONG ( STDMETHODCALLTYPE *Release )(
5664 IXCLRDataTask * This);
5665
5666 HRESULT ( STDMETHODCALLTYPE *GetProcess )(
5667 IXCLRDataTask * This,
5668 /* [out] */ IXCLRDataProcess **process);
5669
5670 HRESULT ( STDMETHODCALLTYPE *GetCurrentAppDomain )(
5671 IXCLRDataTask * This,
5672 /* [out] */ IXCLRDataAppDomain **appDomain);
5673
5674 HRESULT ( STDMETHODCALLTYPE *GetUniqueID )(
5675 IXCLRDataTask * This,
5676 /* [out] */ ULONG64 *id);
5677
5678 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
5679 IXCLRDataTask * This,
5680 /* [out] */ ULONG32 *flags);
5681
5682 HRESULT ( STDMETHODCALLTYPE *IsSameObject )(
5683 IXCLRDataTask * This,
5684 /* [in] */ IXCLRDataTask *task);
5685
5686 HRESULT ( STDMETHODCALLTYPE *GetManagedObject )(
5687 IXCLRDataTask * This,
5688 /* [out] */ IXCLRDataValue **value);
5689
5690 HRESULT ( STDMETHODCALLTYPE *GetDesiredExecutionState )(
5691 IXCLRDataTask * This,
5692 /* [out] */ ULONG32 *state);
5693
5694 HRESULT ( STDMETHODCALLTYPE *SetDesiredExecutionState )(
5695 IXCLRDataTask * This,
5696 /* [in] */ ULONG32 state);
5697
5698 HRESULT ( STDMETHODCALLTYPE *CreateStackWalk )(
5699 IXCLRDataTask * This,
5700 /* [in] */ ULONG32 flags,
5701 /* [out] */ IXCLRDataStackWalk **stackWalk);
5702
5703 HRESULT ( STDMETHODCALLTYPE *GetOSThreadID )(
5704 IXCLRDataTask * This,
5705 /* [out] */ ULONG32 *id);
5706
5707 HRESULT ( STDMETHODCALLTYPE *GetContext )(
5708 IXCLRDataTask * This,
5709 /* [in] */ ULONG32 contextFlags,
5710 /* [in] */ ULONG32 contextBufSize,
5711 /* [out] */ ULONG32 *contextSize,
5712 /* [size_is][out] */ BYTE contextBuf[ ]);
5713
5714 HRESULT ( STDMETHODCALLTYPE *SetContext )(
5715 IXCLRDataTask * This,
5716 /* [in] */ ULONG32 contextSize,
5717 /* [size_is][in] */ BYTE context[ ]);
5718
5719 HRESULT ( STDMETHODCALLTYPE *GetCurrentExceptionState )(
5720 IXCLRDataTask * This,
5721 /* [out] */ IXCLRDataExceptionState **exception);
5722
5723 HRESULT ( STDMETHODCALLTYPE *Request )(
5724 IXCLRDataTask * This,
5725 /* [in] */ ULONG32 reqCode,
5726 /* [in] */ ULONG32 inBufferSize,
5727 /* [size_is][in] */ BYTE *inBuffer,
5728 /* [in] */ ULONG32 outBufferSize,
5729 /* [size_is][out] */ BYTE *outBuffer);
5730
5731 HRESULT ( STDMETHODCALLTYPE *GetName )(
5732 IXCLRDataTask * This,
5733 /* [in] */ ULONG32 bufLen,
5734 /* [out] */ ULONG32 *nameLen,
5735 /* [size_is][out] */ WCHAR name[ ]);
5736
5737 HRESULT ( STDMETHODCALLTYPE *GetLastExceptionState )(
5738 IXCLRDataTask * This,
5739 /* [out] */ IXCLRDataExceptionState **exception);
5740
5741 END_INTERFACE
5742 } IXCLRDataTaskVtbl;
5743
5744 interface IXCLRDataTask
5745 {
5746 CONST_VTBL struct IXCLRDataTaskVtbl *lpVtbl;
5747 };
5748
5749
5750
5751#ifdef COBJMACROS
5752
5753
5754#define IXCLRDataTask_QueryInterface(This,riid,ppvObject) \
5755 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5756
5757#define IXCLRDataTask_AddRef(This) \
5758 ( (This)->lpVtbl -> AddRef(This) )
5759
5760#define IXCLRDataTask_Release(This) \
5761 ( (This)->lpVtbl -> Release(This) )
5762
5763
5764#define IXCLRDataTask_GetProcess(This,process) \
5765 ( (This)->lpVtbl -> GetProcess(This,process) )
5766
5767#define IXCLRDataTask_GetCurrentAppDomain(This,appDomain) \
5768 ( (This)->lpVtbl -> GetCurrentAppDomain(This,appDomain) )
5769
5770#define IXCLRDataTask_GetUniqueID(This,id) \
5771 ( (This)->lpVtbl -> GetUniqueID(This,id) )
5772
5773#define IXCLRDataTask_GetFlags(This,flags) \
5774 ( (This)->lpVtbl -> GetFlags(This,flags) )
5775
5776#define IXCLRDataTask_IsSameObject(This,task) \
5777 ( (This)->lpVtbl -> IsSameObject(This,task) )
5778
5779#define IXCLRDataTask_GetManagedObject(This,value) \
5780 ( (This)->lpVtbl -> GetManagedObject(This,value) )
5781
5782#define IXCLRDataTask_GetDesiredExecutionState(This,state) \
5783 ( (This)->lpVtbl -> GetDesiredExecutionState(This,state) )
5784
5785#define IXCLRDataTask_SetDesiredExecutionState(This,state) \
5786 ( (This)->lpVtbl -> SetDesiredExecutionState(This,state) )
5787
5788#define IXCLRDataTask_CreateStackWalk(This,flags,stackWalk) \
5789 ( (This)->lpVtbl -> CreateStackWalk(This,flags,stackWalk) )
5790
5791#define IXCLRDataTask_GetOSThreadID(This,id) \
5792 ( (This)->lpVtbl -> GetOSThreadID(This,id) )
5793
5794#define IXCLRDataTask_GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) \
5795 ( (This)->lpVtbl -> GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) )
5796
5797#define IXCLRDataTask_SetContext(This,contextSize,context) \
5798 ( (This)->lpVtbl -> SetContext(This,contextSize,context) )
5799
5800#define IXCLRDataTask_GetCurrentExceptionState(This,exception) \
5801 ( (This)->lpVtbl -> GetCurrentExceptionState(This,exception) )
5802
5803#define IXCLRDataTask_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
5804 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
5805
5806#define IXCLRDataTask_GetName(This,bufLen,nameLen,name) \
5807 ( (This)->lpVtbl -> GetName(This,bufLen,nameLen,name) )
5808
5809#define IXCLRDataTask_GetLastExceptionState(This,exception) \
5810 ( (This)->lpVtbl -> GetLastExceptionState(This,exception) )
5811
5812#endif /* COBJMACROS */
5813
5814
5815#endif /* C style interface */
5816
5817
5818
5819
5820#endif /* __IXCLRDataTask_INTERFACE_DEFINED__ */
5821
5822
5823/* interface __MIDL_itf_xclrdata_0000_0015 */
5824/* [local] */
5825
5826#pragma warning(pop)
5827typedef /* [public][public][public] */
5828enum __MIDL___MIDL_itf_xclrdata_0000_0015_0001
5829 {
5830 CLRDATA_SIMPFRAME_UNRECOGNIZED = 0x1,
5831 CLRDATA_SIMPFRAME_MANAGED_METHOD = 0x2,
5832 CLRDATA_SIMPFRAME_RUNTIME_MANAGED_CODE = 0x4,
5833 CLRDATA_SIMPFRAME_RUNTIME_UNMANAGED_CODE = 0x8
5834 } CLRDataSimpleFrameType;
5835
5836typedef /* [public][public][public] */
5837enum __MIDL___MIDL_itf_xclrdata_0000_0015_0002
5838 {
5839 CLRDATA_DETFRAME_UNRECOGNIZED = 0,
5840 CLRDATA_DETFRAME_UNKNOWN_STUB = ( CLRDATA_DETFRAME_UNRECOGNIZED + 1 ) ,
5841 CLRDATA_DETFRAME_CLASS_INIT = ( CLRDATA_DETFRAME_UNKNOWN_STUB + 1 ) ,
5842 CLRDATA_DETFRAME_EXCEPTION_FILTER = ( CLRDATA_DETFRAME_CLASS_INIT + 1 ) ,
5843 CLRDATA_DETFRAME_SECURITY = ( CLRDATA_DETFRAME_EXCEPTION_FILTER + 1 ) ,
5844 CLRDATA_DETFRAME_CONTEXT_POLICY = ( CLRDATA_DETFRAME_SECURITY + 1 ) ,
5845 CLRDATA_DETFRAME_INTERCEPTION = ( CLRDATA_DETFRAME_CONTEXT_POLICY + 1 ) ,
5846 CLRDATA_DETFRAME_PROCESS_START = ( CLRDATA_DETFRAME_INTERCEPTION + 1 ) ,
5847 CLRDATA_DETFRAME_THREAD_START = ( CLRDATA_DETFRAME_PROCESS_START + 1 ) ,
5848 CLRDATA_DETFRAME_TRANSITION_TO_MANAGED = ( CLRDATA_DETFRAME_THREAD_START + 1 ) ,
5849 CLRDATA_DETFRAME_TRANSITION_TO_UNMANAGED = ( CLRDATA_DETFRAME_TRANSITION_TO_MANAGED + 1 ) ,
5850 CLRDATA_DETFRAME_COM_INTEROP_STUB = ( CLRDATA_DETFRAME_TRANSITION_TO_UNMANAGED + 1 ) ,
5851 CLRDATA_DETFRAME_DEBUGGER_EVAL = ( CLRDATA_DETFRAME_COM_INTEROP_STUB + 1 ) ,
5852 CLRDATA_DETFRAME_CONTEXT_SWITCH = ( CLRDATA_DETFRAME_DEBUGGER_EVAL + 1 ) ,
5853 CLRDATA_DETFRAME_FUNC_EVAL = ( CLRDATA_DETFRAME_CONTEXT_SWITCH + 1 ) ,
5854 CLRDATA_DETFRAME_FINALLY = ( CLRDATA_DETFRAME_FUNC_EVAL + 1 )
5855 } CLRDataDetailedFrameType;
5856
5857typedef /* [public] */
5858enum __MIDL___MIDL_itf_xclrdata_0000_0015_0003
5859 {
5860 CLRDATA_STACK_WALK_REQUEST_SET_FIRST_FRAME = 0xe1000000
5861 } CLRDataStackWalkRequest;
5862
5863typedef /* [public] */
5864enum __MIDL___MIDL_itf_xclrdata_0000_0015_0004
5865 {
5866 CLRDATA_STACK_SET_UNWIND_CONTEXT = 0,
5867 CLRDATA_STACK_SET_CURRENT_CONTEXT = 0x1
5868 } CLRDataStackSetContextFlag;
5869
5870
5871
5872extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0015_v0_0_c_ifspec;
5873extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0015_v0_0_s_ifspec;
5874
5875#ifndef __IXCLRDataStackWalk_INTERFACE_DEFINED__
5876#define __IXCLRDataStackWalk_INTERFACE_DEFINED__
5877
5878/* interface IXCLRDataStackWalk */
5879/* [uuid][local][object] */
5880
5881
5882EXTERN_C const IID IID_IXCLRDataStackWalk;
5883
5884#if defined(__cplusplus) && !defined(CINTERFACE)
5885
5886 MIDL_INTERFACE("E59D8D22-ADA7-49a2-89B5-A415AFCFC95F")
5887 IXCLRDataStackWalk : public IUnknown
5888 {
5889 public:
5890 virtual HRESULT STDMETHODCALLTYPE GetContext(
5891 /* [in] */ ULONG32 contextFlags,
5892 /* [in] */ ULONG32 contextBufSize,
5893 /* [out] */ ULONG32 *contextSize,
5894 /* [size_is][out] */ BYTE contextBuf[ ]) = 0;
5895
5896 virtual HRESULT STDMETHODCALLTYPE SetContext(
5897 /* [in] */ ULONG32 contextSize,
5898 /* [size_is][in] */ BYTE context[ ]) = 0;
5899
5900 virtual HRESULT STDMETHODCALLTYPE Next( void) = 0;
5901
5902 virtual HRESULT STDMETHODCALLTYPE GetStackSizeSkipped(
5903 /* [out] */ ULONG64 *stackSizeSkipped) = 0;
5904
5905 virtual HRESULT STDMETHODCALLTYPE GetFrameType(
5906 /* [out] */ CLRDataSimpleFrameType *simpleType,
5907 /* [out] */ CLRDataDetailedFrameType *detailedType) = 0;
5908
5909 virtual HRESULT STDMETHODCALLTYPE GetFrame(
5910 /* [out] */ IXCLRDataFrame **frame) = 0;
5911
5912 virtual HRESULT STDMETHODCALLTYPE Request(
5913 /* [in] */ ULONG32 reqCode,
5914 /* [in] */ ULONG32 inBufferSize,
5915 /* [size_is][in] */ BYTE *inBuffer,
5916 /* [in] */ ULONG32 outBufferSize,
5917 /* [size_is][out] */ BYTE *outBuffer) = 0;
5918
5919 virtual HRESULT STDMETHODCALLTYPE SetContext2(
5920 /* [in] */ ULONG32 flags,
5921 /* [in] */ ULONG32 contextSize,
5922 /* [size_is][in] */ BYTE context[ ]) = 0;
5923
5924 };
5925
5926
5927#else /* C style interface */
5928
5929 typedef struct IXCLRDataStackWalkVtbl
5930 {
5931 BEGIN_INTERFACE
5932
5933 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5934 IXCLRDataStackWalk * This,
5935 /* [in] */ REFIID riid,
5936 /* [annotation][iid_is][out] */
5937 _COM_Outptr_ void **ppvObject);
5938
5939 ULONG ( STDMETHODCALLTYPE *AddRef )(
5940 IXCLRDataStackWalk * This);
5941
5942 ULONG ( STDMETHODCALLTYPE *Release )(
5943 IXCLRDataStackWalk * This);
5944
5945 HRESULT ( STDMETHODCALLTYPE *GetContext )(
5946 IXCLRDataStackWalk * This,
5947 /* [in] */ ULONG32 contextFlags,
5948 /* [in] */ ULONG32 contextBufSize,
5949 /* [out] */ ULONG32 *contextSize,
5950 /* [size_is][out] */ BYTE contextBuf[ ]);
5951
5952 HRESULT ( STDMETHODCALLTYPE *SetContext )(
5953 IXCLRDataStackWalk * This,
5954 /* [in] */ ULONG32 contextSize,
5955 /* [size_is][in] */ BYTE context[ ]);
5956
5957 HRESULT ( STDMETHODCALLTYPE *Next )(
5958 IXCLRDataStackWalk * This);
5959
5960 HRESULT ( STDMETHODCALLTYPE *GetStackSizeSkipped )(
5961 IXCLRDataStackWalk * This,
5962 /* [out] */ ULONG64 *stackSizeSkipped);
5963
5964 HRESULT ( STDMETHODCALLTYPE *GetFrameType )(
5965 IXCLRDataStackWalk * This,
5966 /* [out] */ CLRDataSimpleFrameType *simpleType,
5967 /* [out] */ CLRDataDetailedFrameType *detailedType);
5968
5969 HRESULT ( STDMETHODCALLTYPE *GetFrame )(
5970 IXCLRDataStackWalk * This,
5971 /* [out] */ IXCLRDataFrame **frame);
5972
5973 HRESULT ( STDMETHODCALLTYPE *Request )(
5974 IXCLRDataStackWalk * This,
5975 /* [in] */ ULONG32 reqCode,
5976 /* [in] */ ULONG32 inBufferSize,
5977 /* [size_is][in] */ BYTE *inBuffer,
5978 /* [in] */ ULONG32 outBufferSize,
5979 /* [size_is][out] */ BYTE *outBuffer);
5980
5981 HRESULT ( STDMETHODCALLTYPE *SetContext2 )(
5982 IXCLRDataStackWalk * This,
5983 /* [in] */ ULONG32 flags,
5984 /* [in] */ ULONG32 contextSize,
5985 /* [size_is][in] */ BYTE context[ ]);
5986
5987 END_INTERFACE
5988 } IXCLRDataStackWalkVtbl;
5989
5990 interface IXCLRDataStackWalk
5991 {
5992 CONST_VTBL struct IXCLRDataStackWalkVtbl *lpVtbl;
5993 };
5994
5995
5996
5997#ifdef COBJMACROS
5998
5999
6000#define IXCLRDataStackWalk_QueryInterface(This,riid,ppvObject) \
6001 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6002
6003#define IXCLRDataStackWalk_AddRef(This) \
6004 ( (This)->lpVtbl -> AddRef(This) )
6005
6006#define IXCLRDataStackWalk_Release(This) \
6007 ( (This)->lpVtbl -> Release(This) )
6008
6009
6010#define IXCLRDataStackWalk_GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) \
6011 ( (This)->lpVtbl -> GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) )
6012
6013#define IXCLRDataStackWalk_SetContext(This,contextSize,context) \
6014 ( (This)->lpVtbl -> SetContext(This,contextSize,context) )
6015
6016#define IXCLRDataStackWalk_Next(This) \
6017 ( (This)->lpVtbl -> Next(This) )
6018
6019#define IXCLRDataStackWalk_GetStackSizeSkipped(This,stackSizeSkipped) \
6020 ( (This)->lpVtbl -> GetStackSizeSkipped(This,stackSizeSkipped) )
6021
6022#define IXCLRDataStackWalk_GetFrameType(This,simpleType,detailedType) \
6023 ( (This)->lpVtbl -> GetFrameType(This,simpleType,detailedType) )
6024
6025#define IXCLRDataStackWalk_GetFrame(This,frame) \
6026 ( (This)->lpVtbl -> GetFrame(This,frame) )
6027
6028#define IXCLRDataStackWalk_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
6029 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
6030
6031#define IXCLRDataStackWalk_SetContext2(This,flags,contextSize,context) \
6032 ( (This)->lpVtbl -> SetContext2(This,flags,contextSize,context) )
6033
6034#endif /* COBJMACROS */
6035
6036
6037#endif /* C style interface */
6038
6039
6040
6041
6042#endif /* __IXCLRDataStackWalk_INTERFACE_DEFINED__ */
6043
6044
6045/* interface __MIDL_itf_xclrdata_0000_0016 */
6046/* [local] */
6047
6048#pragma warning(push)
6049#pragma warning(disable:28718)
6050
6051
6052extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0016_v0_0_c_ifspec;
6053extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0016_v0_0_s_ifspec;
6054
6055#ifndef __IXCLRDataFrame_INTERFACE_DEFINED__
6056#define __IXCLRDataFrame_INTERFACE_DEFINED__
6057
6058/* interface IXCLRDataFrame */
6059/* [uuid][local][object] */
6060
6061
6062EXTERN_C const IID IID_IXCLRDataFrame;
6063
6064#if defined(__cplusplus) && !defined(CINTERFACE)
6065
6066 MIDL_INTERFACE("271498C2-4085-4766-BC3A-7F8ED188A173")
6067 IXCLRDataFrame : public IUnknown
6068 {
6069 public:
6070 virtual HRESULT STDMETHODCALLTYPE GetFrameType(
6071 /* [out] */ CLRDataSimpleFrameType *simpleType,
6072 /* [out] */ CLRDataDetailedFrameType *detailedType) = 0;
6073
6074 virtual HRESULT STDMETHODCALLTYPE GetContext(
6075 /* [in] */ ULONG32 contextFlags,
6076 /* [in] */ ULONG32 contextBufSize,
6077 /* [out] */ ULONG32 *contextSize,
6078 /* [size_is][out] */ BYTE contextBuf[ ]) = 0;
6079
6080 virtual HRESULT STDMETHODCALLTYPE GetAppDomain(
6081 /* [out] */ IXCLRDataAppDomain **appDomain) = 0;
6082
6083 virtual HRESULT STDMETHODCALLTYPE GetNumArguments(
6084 /* [out] */ ULONG32 *numArgs) = 0;
6085
6086 virtual HRESULT STDMETHODCALLTYPE GetArgumentByIndex(
6087 /* [in] */ ULONG32 index,
6088 /* [out] */ IXCLRDataValue **arg,
6089 /* [in] */ ULONG32 bufLen,
6090 /* [out] */ ULONG32 *nameLen,
6091 /* [size_is][out] */ WCHAR name[ ]) = 0;
6092
6093 virtual HRESULT STDMETHODCALLTYPE GetNumLocalVariables(
6094 /* [out] */ ULONG32 *numLocals) = 0;
6095
6096 virtual HRESULT STDMETHODCALLTYPE GetLocalVariableByIndex(
6097 /* [in] */ ULONG32 index,
6098 /* [out] */ IXCLRDataValue **localVariable,
6099 /* [in] */ ULONG32 bufLen,
6100 /* [out] */ ULONG32 *nameLen,
6101 /* [size_is][out] */ WCHAR name[ ]) = 0;
6102
6103 virtual HRESULT STDMETHODCALLTYPE GetCodeName(
6104 /* [in] */ ULONG32 flags,
6105 /* [in] */ ULONG32 bufLen,
6106 /* [out] */ ULONG32 *nameLen,
6107 /* [size_is][out] */ WCHAR nameBuf[ ]) = 0;
6108
6109 virtual HRESULT STDMETHODCALLTYPE GetMethodInstance(
6110 /* [out] */ IXCLRDataMethodInstance **method) = 0;
6111
6112 virtual HRESULT STDMETHODCALLTYPE Request(
6113 /* [in] */ ULONG32 reqCode,
6114 /* [in] */ ULONG32 inBufferSize,
6115 /* [size_is][in] */ BYTE *inBuffer,
6116 /* [in] */ ULONG32 outBufferSize,
6117 /* [size_is][out] */ BYTE *outBuffer) = 0;
6118
6119 virtual HRESULT STDMETHODCALLTYPE GetNumTypeArguments(
6120 /* [out] */ ULONG32 *numTypeArgs) = 0;
6121
6122 virtual HRESULT STDMETHODCALLTYPE GetTypeArgumentByIndex(
6123 /* [in] */ ULONG32 index,
6124 /* [out] */ IXCLRDataTypeInstance **typeArg) = 0;
6125
6126 };
6127
6128
6129#else /* C style interface */
6130
6131 typedef struct IXCLRDataFrameVtbl
6132 {
6133 BEGIN_INTERFACE
6134
6135 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6136 IXCLRDataFrame * This,
6137 /* [in] */ REFIID riid,
6138 /* [annotation][iid_is][out] */
6139 _COM_Outptr_ void **ppvObject);
6140
6141 ULONG ( STDMETHODCALLTYPE *AddRef )(
6142 IXCLRDataFrame * This);
6143
6144 ULONG ( STDMETHODCALLTYPE *Release )(
6145 IXCLRDataFrame * This);
6146
6147 HRESULT ( STDMETHODCALLTYPE *GetFrameType )(
6148 IXCLRDataFrame * This,
6149 /* [out] */ CLRDataSimpleFrameType *simpleType,
6150 /* [out] */ CLRDataDetailedFrameType *detailedType);
6151
6152 HRESULT ( STDMETHODCALLTYPE *GetContext )(
6153 IXCLRDataFrame * This,
6154 /* [in] */ ULONG32 contextFlags,
6155 /* [in] */ ULONG32 contextBufSize,
6156 /* [out] */ ULONG32 *contextSize,
6157 /* [size_is][out] */ BYTE contextBuf[ ]);
6158
6159 HRESULT ( STDMETHODCALLTYPE *GetAppDomain )(
6160 IXCLRDataFrame * This,
6161 /* [out] */ IXCLRDataAppDomain **appDomain);
6162
6163 HRESULT ( STDMETHODCALLTYPE *GetNumArguments )(
6164 IXCLRDataFrame * This,
6165 /* [out] */ ULONG32 *numArgs);
6166
6167 HRESULT ( STDMETHODCALLTYPE *GetArgumentByIndex )(
6168 IXCLRDataFrame * This,
6169 /* [in] */ ULONG32 index,
6170 /* [out] */ IXCLRDataValue **arg,
6171 /* [in] */ ULONG32 bufLen,
6172 /* [out] */ ULONG32 *nameLen,
6173 /* [size_is][out] */ WCHAR name[ ]);
6174
6175 HRESULT ( STDMETHODCALLTYPE *GetNumLocalVariables )(
6176 IXCLRDataFrame * This,
6177 /* [out] */ ULONG32 *numLocals);
6178
6179 HRESULT ( STDMETHODCALLTYPE *GetLocalVariableByIndex )(
6180 IXCLRDataFrame * This,
6181 /* [in] */ ULONG32 index,
6182 /* [out] */ IXCLRDataValue **localVariable,
6183 /* [in] */ ULONG32 bufLen,
6184 /* [out] */ ULONG32 *nameLen,
6185 /* [size_is][out] */ WCHAR name[ ]);
6186
6187 HRESULT ( STDMETHODCALLTYPE *GetCodeName )(
6188 IXCLRDataFrame * This,
6189 /* [in] */ ULONG32 flags,
6190 /* [in] */ ULONG32 bufLen,
6191 /* [out] */ ULONG32 *nameLen,
6192 /* [size_is][out] */ WCHAR nameBuf[ ]);
6193
6194 HRESULT ( STDMETHODCALLTYPE *GetMethodInstance )(
6195 IXCLRDataFrame * This,
6196 /* [out] */ IXCLRDataMethodInstance **method);
6197
6198 HRESULT ( STDMETHODCALLTYPE *Request )(
6199 IXCLRDataFrame * This,
6200 /* [in] */ ULONG32 reqCode,
6201 /* [in] */ ULONG32 inBufferSize,
6202 /* [size_is][in] */ BYTE *inBuffer,
6203 /* [in] */ ULONG32 outBufferSize,
6204 /* [size_is][out] */ BYTE *outBuffer);
6205
6206 HRESULT ( STDMETHODCALLTYPE *GetNumTypeArguments )(
6207 IXCLRDataFrame * This,
6208 /* [out] */ ULONG32 *numTypeArgs);
6209
6210 HRESULT ( STDMETHODCALLTYPE *GetTypeArgumentByIndex )(
6211 IXCLRDataFrame * This,
6212 /* [in] */ ULONG32 index,
6213 /* [out] */ IXCLRDataTypeInstance **typeArg);
6214
6215 END_INTERFACE
6216 } IXCLRDataFrameVtbl;
6217
6218 interface IXCLRDataFrame
6219 {
6220 CONST_VTBL struct IXCLRDataFrameVtbl *lpVtbl;
6221 };
6222
6223
6224
6225#ifdef COBJMACROS
6226
6227
6228#define IXCLRDataFrame_QueryInterface(This,riid,ppvObject) \
6229 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6230
6231#define IXCLRDataFrame_AddRef(This) \
6232 ( (This)->lpVtbl -> AddRef(This) )
6233
6234#define IXCLRDataFrame_Release(This) \
6235 ( (This)->lpVtbl -> Release(This) )
6236
6237
6238#define IXCLRDataFrame_GetFrameType(This,simpleType,detailedType) \
6239 ( (This)->lpVtbl -> GetFrameType(This,simpleType,detailedType) )
6240
6241#define IXCLRDataFrame_GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) \
6242 ( (This)->lpVtbl -> GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) )
6243
6244#define IXCLRDataFrame_GetAppDomain(This,appDomain) \
6245 ( (This)->lpVtbl -> GetAppDomain(This,appDomain) )
6246
6247#define IXCLRDataFrame_GetNumArguments(This,numArgs) \
6248 ( (This)->lpVtbl -> GetNumArguments(This,numArgs) )
6249
6250#define IXCLRDataFrame_GetArgumentByIndex(This,index,arg,bufLen,nameLen,name) \
6251 ( (This)->lpVtbl -> GetArgumentByIndex(This,index,arg,bufLen,nameLen,name) )
6252
6253#define IXCLRDataFrame_GetNumLocalVariables(This,numLocals) \
6254 ( (This)->lpVtbl -> GetNumLocalVariables(This,numLocals) )
6255
6256#define IXCLRDataFrame_GetLocalVariableByIndex(This,index,localVariable,bufLen,nameLen,name) \
6257 ( (This)->lpVtbl -> GetLocalVariableByIndex(This,index,localVariable,bufLen,nameLen,name) )
6258
6259#define IXCLRDataFrame_GetCodeName(This,flags,bufLen,nameLen,nameBuf) \
6260 ( (This)->lpVtbl -> GetCodeName(This,flags,bufLen,nameLen,nameBuf) )
6261
6262#define IXCLRDataFrame_GetMethodInstance(This,method) \
6263 ( (This)->lpVtbl -> GetMethodInstance(This,method) )
6264
6265#define IXCLRDataFrame_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
6266 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
6267
6268#define IXCLRDataFrame_GetNumTypeArguments(This,numTypeArgs) \
6269 ( (This)->lpVtbl -> GetNumTypeArguments(This,numTypeArgs) )
6270
6271#define IXCLRDataFrame_GetTypeArgumentByIndex(This,index,typeArg) \
6272 ( (This)->lpVtbl -> GetTypeArgumentByIndex(This,index,typeArg) )
6273
6274#endif /* COBJMACROS */
6275
6276
6277#endif /* C style interface */
6278
6279
6280
6281
6282#endif /* __IXCLRDataFrame_INTERFACE_DEFINED__ */
6283
6284
6285/* interface __MIDL_itf_xclrdata_0000_0017 */
6286/* [local] */
6287
6288#pragma warning(pop)
6289
6290
6291extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0017_v0_0_c_ifspec;
6292extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0017_v0_0_s_ifspec;
6293
6294#ifndef __IXCLRDataFrame2_INTERFACE_DEFINED__
6295#define __IXCLRDataFrame2_INTERFACE_DEFINED__
6296
6297/* interface IXCLRDataFrame2 */
6298/* [uuid][local][object] */
6299
6300
6301EXTERN_C const IID IID_IXCLRDataFrame2;
6302
6303#if defined(__cplusplus) && !defined(CINTERFACE)
6304
6305 MIDL_INTERFACE("1C4D9A4B-702D-4CF6-B290-1DB6F43050D0")
6306 IXCLRDataFrame2 : public IUnknown
6307 {
6308 public:
6309 virtual HRESULT STDMETHODCALLTYPE GetExactGenericArgsToken(
6310 /* [out] */ IXCLRDataValue **genericToken) = 0;
6311
6312 };
6313
6314
6315#else /* C style interface */
6316
6317 typedef struct IXCLRDataFrame2Vtbl
6318 {
6319 BEGIN_INTERFACE
6320
6321 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6322 IXCLRDataFrame2 * This,
6323 /* [in] */ REFIID riid,
6324 /* [annotation][iid_is][out] */
6325 _COM_Outptr_ void **ppvObject);
6326
6327 ULONG ( STDMETHODCALLTYPE *AddRef )(
6328 IXCLRDataFrame2 * This);
6329
6330 ULONG ( STDMETHODCALLTYPE *Release )(
6331 IXCLRDataFrame2 * This);
6332
6333 HRESULT ( STDMETHODCALLTYPE *GetExactGenericArgsToken )(
6334 IXCLRDataFrame2 * This,
6335 /* [out] */ IXCLRDataValue **genericToken);
6336
6337 END_INTERFACE
6338 } IXCLRDataFrame2Vtbl;
6339
6340 interface IXCLRDataFrame2
6341 {
6342 CONST_VTBL struct IXCLRDataFrame2Vtbl *lpVtbl;
6343 };
6344
6345
6346
6347#ifdef COBJMACROS
6348
6349
6350#define IXCLRDataFrame2_QueryInterface(This,riid,ppvObject) \
6351 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6352
6353#define IXCLRDataFrame2_AddRef(This) \
6354 ( (This)->lpVtbl -> AddRef(This) )
6355
6356#define IXCLRDataFrame2_Release(This) \
6357 ( (This)->lpVtbl -> Release(This) )
6358
6359
6360#define IXCLRDataFrame2_GetExactGenericArgsToken(This,genericToken) \
6361 ( (This)->lpVtbl -> GetExactGenericArgsToken(This,genericToken) )
6362
6363#endif /* COBJMACROS */
6364
6365
6366#endif /* C style interface */
6367
6368
6369
6370
6371#endif /* __IXCLRDataFrame2_INTERFACE_DEFINED__ */
6372
6373
6374/* interface __MIDL_itf_xclrdata_0000_0018 */
6375/* [local] */
6376
6377typedef /* [public] */
6378enum __MIDL___MIDL_itf_xclrdata_0000_0018_0001
6379 {
6380 CLRDATA_EXCEPTION_DEFAULT = 0,
6381 CLRDATA_EXCEPTION_NESTED = 0x1,
6382 CLRDATA_EXCEPTION_PARTIAL = 0x2
6383 } CLRDataExceptionStateFlag;
6384
6385typedef /* [public][public] */
6386enum __MIDL___MIDL_itf_xclrdata_0000_0018_0002
6387 {
6388 CLRDATA_EXBASE_EXCEPTION = 0,
6389 CLRDATA_EXBASE_OUT_OF_MEMORY = ( CLRDATA_EXBASE_EXCEPTION + 1 ) ,
6390 CLRDATA_EXBASE_INVALID_ARGUMENT = ( CLRDATA_EXBASE_OUT_OF_MEMORY + 1 )
6391 } CLRDataBaseExceptionType;
6392
6393typedef /* [public] */
6394enum __MIDL___MIDL_itf_xclrdata_0000_0018_0003
6395 {
6396 CLRDATA_EXSAME_SECOND_CHANCE = 0,
6397 CLRDATA_EXSAME_FIRST_CHANCE = 0x1
6398 } CLRDataExceptionSameFlag;
6399
6400#pragma warning(push)
6401#pragma warning(disable:28718)
6402
6403
6404extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0018_v0_0_c_ifspec;
6405extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0018_v0_0_s_ifspec;
6406
6407#ifndef __IXCLRDataExceptionState_INTERFACE_DEFINED__
6408#define __IXCLRDataExceptionState_INTERFACE_DEFINED__
6409
6410/* interface IXCLRDataExceptionState */
6411/* [uuid][local][object] */
6412
6413
6414EXTERN_C const IID IID_IXCLRDataExceptionState;
6415
6416#if defined(__cplusplus) && !defined(CINTERFACE)
6417
6418 MIDL_INTERFACE("75DA9E4C-BD33-43C8-8F5C-96E8A5241F57")
6419 IXCLRDataExceptionState : public IUnknown
6420 {
6421 public:
6422 virtual HRESULT STDMETHODCALLTYPE GetFlags(
6423 /* [out] */ ULONG32 *flags) = 0;
6424
6425 virtual HRESULT STDMETHODCALLTYPE GetPrevious(
6426 /* [out] */ IXCLRDataExceptionState **exState) = 0;
6427
6428 virtual HRESULT STDMETHODCALLTYPE GetManagedObject(
6429 /* [out] */ IXCLRDataValue **value) = 0;
6430
6431 virtual HRESULT STDMETHODCALLTYPE GetBaseType(
6432 /* [out] */ CLRDataBaseExceptionType *type) = 0;
6433
6434 virtual HRESULT STDMETHODCALLTYPE GetCode(
6435 /* [out] */ ULONG32 *code) = 0;
6436
6437 virtual HRESULT STDMETHODCALLTYPE GetString(
6438 /* [in] */ ULONG32 bufLen,
6439 /* [out] */ ULONG32 *strLen,
6440 /* [size_is][out] */ WCHAR str[ ]) = 0;
6441
6442 virtual HRESULT STDMETHODCALLTYPE Request(
6443 /* [in] */ ULONG32 reqCode,
6444 /* [in] */ ULONG32 inBufferSize,
6445 /* [size_is][in] */ BYTE *inBuffer,
6446 /* [in] */ ULONG32 outBufferSize,
6447 /* [size_is][out] */ BYTE *outBuffer) = 0;
6448
6449 virtual HRESULT STDMETHODCALLTYPE IsSameState(
6450 /* [in] */ EXCEPTION_RECORD64 *exRecord,
6451 /* [in] */ ULONG32 contextSize,
6452 /* [size_is][in] */ BYTE cxRecord[ ]) = 0;
6453
6454 virtual HRESULT STDMETHODCALLTYPE IsSameState2(
6455 /* [in] */ ULONG32 flags,
6456 /* [in] */ EXCEPTION_RECORD64 *exRecord,
6457 /* [in] */ ULONG32 contextSize,
6458 /* [size_is][in] */ BYTE cxRecord[ ]) = 0;
6459
6460 virtual HRESULT STDMETHODCALLTYPE GetTask(
6461 /* [out] */ IXCLRDataTask **task) = 0;
6462
6463 };
6464
6465
6466#else /* C style interface */
6467
6468 typedef struct IXCLRDataExceptionStateVtbl
6469 {
6470 BEGIN_INTERFACE
6471
6472 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6473 IXCLRDataExceptionState * This,
6474 /* [in] */ REFIID riid,
6475 /* [annotation][iid_is][out] */
6476 _COM_Outptr_ void **ppvObject);
6477
6478 ULONG ( STDMETHODCALLTYPE *AddRef )(
6479 IXCLRDataExceptionState * This);
6480
6481 ULONG ( STDMETHODCALLTYPE *Release )(
6482 IXCLRDataExceptionState * This);
6483
6484 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
6485 IXCLRDataExceptionState * This,
6486 /* [out] */ ULONG32 *flags);
6487
6488 HRESULT ( STDMETHODCALLTYPE *GetPrevious )(
6489 IXCLRDataExceptionState * This,
6490 /* [out] */ IXCLRDataExceptionState **exState);
6491
6492 HRESULT ( STDMETHODCALLTYPE *GetManagedObject )(
6493 IXCLRDataExceptionState * This,
6494 /* [out] */ IXCLRDataValue **value);
6495
6496 HRESULT ( STDMETHODCALLTYPE *GetBaseType )(
6497 IXCLRDataExceptionState * This,
6498 /* [out] */ CLRDataBaseExceptionType *type);
6499
6500 HRESULT ( STDMETHODCALLTYPE *GetCode )(
6501 IXCLRDataExceptionState * This,
6502 /* [out] */ ULONG32 *code);
6503
6504 HRESULT ( STDMETHODCALLTYPE *GetString )(
6505 IXCLRDataExceptionState * This,
6506 /* [in] */ ULONG32 bufLen,
6507 /* [out] */ ULONG32 *strLen,
6508 /* [size_is][out] */ WCHAR str[ ]);
6509
6510 HRESULT ( STDMETHODCALLTYPE *Request )(
6511 IXCLRDataExceptionState * This,
6512 /* [in] */ ULONG32 reqCode,
6513 /* [in] */ ULONG32 inBufferSize,
6514 /* [size_is][in] */ BYTE *inBuffer,
6515 /* [in] */ ULONG32 outBufferSize,
6516 /* [size_is][out] */ BYTE *outBuffer);
6517
6518 HRESULT ( STDMETHODCALLTYPE *IsSameState )(
6519 IXCLRDataExceptionState * This,
6520 /* [in] */ EXCEPTION_RECORD64 *exRecord,
6521 /* [in] */ ULONG32 contextSize,
6522 /* [size_is][in] */ BYTE cxRecord[ ]);
6523
6524 HRESULT ( STDMETHODCALLTYPE *IsSameState2 )(
6525 IXCLRDataExceptionState * This,
6526 /* [in] */ ULONG32 flags,
6527 /* [in] */ EXCEPTION_RECORD64 *exRecord,
6528 /* [in] */ ULONG32 contextSize,
6529 /* [size_is][in] */ BYTE cxRecord[ ]);
6530
6531 HRESULT ( STDMETHODCALLTYPE *GetTask )(
6532 IXCLRDataExceptionState * This,
6533 /* [out] */ IXCLRDataTask **task);
6534
6535 END_INTERFACE
6536 } IXCLRDataExceptionStateVtbl;
6537
6538 interface IXCLRDataExceptionState
6539 {
6540 CONST_VTBL struct IXCLRDataExceptionStateVtbl *lpVtbl;
6541 };
6542
6543
6544
6545#ifdef COBJMACROS
6546
6547
6548#define IXCLRDataExceptionState_QueryInterface(This,riid,ppvObject) \
6549 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6550
6551#define IXCLRDataExceptionState_AddRef(This) \
6552 ( (This)->lpVtbl -> AddRef(This) )
6553
6554#define IXCLRDataExceptionState_Release(This) \
6555 ( (This)->lpVtbl -> Release(This) )
6556
6557
6558#define IXCLRDataExceptionState_GetFlags(This,flags) \
6559 ( (This)->lpVtbl -> GetFlags(This,flags) )
6560
6561#define IXCLRDataExceptionState_GetPrevious(This,exState) \
6562 ( (This)->lpVtbl -> GetPrevious(This,exState) )
6563
6564#define IXCLRDataExceptionState_GetManagedObject(This,value) \
6565 ( (This)->lpVtbl -> GetManagedObject(This,value) )
6566
6567#define IXCLRDataExceptionState_GetBaseType(This,type) \
6568 ( (This)->lpVtbl -> GetBaseType(This,type) )
6569
6570#define IXCLRDataExceptionState_GetCode(This,code) \
6571 ( (This)->lpVtbl -> GetCode(This,code) )
6572
6573#define IXCLRDataExceptionState_GetString(This,bufLen,strLen,str) \
6574 ( (This)->lpVtbl -> GetString(This,bufLen,strLen,str) )
6575
6576#define IXCLRDataExceptionState_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
6577 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
6578
6579#define IXCLRDataExceptionState_IsSameState(This,exRecord,contextSize,cxRecord) \
6580 ( (This)->lpVtbl -> IsSameState(This,exRecord,contextSize,cxRecord) )
6581
6582#define IXCLRDataExceptionState_IsSameState2(This,flags,exRecord,contextSize,cxRecord) \
6583 ( (This)->lpVtbl -> IsSameState2(This,flags,exRecord,contextSize,cxRecord) )
6584
6585#define IXCLRDataExceptionState_GetTask(This,task) \
6586 ( (This)->lpVtbl -> GetTask(This,task) )
6587
6588#endif /* COBJMACROS */
6589
6590
6591#endif /* C style interface */
6592
6593
6594
6595
6596#endif /* __IXCLRDataExceptionState_INTERFACE_DEFINED__ */
6597
6598
6599/* interface __MIDL_itf_xclrdata_0000_0019 */
6600/* [local] */
6601
6602#pragma warning(pop)
6603typedef /* [public] */
6604enum __MIDL___MIDL_itf_xclrdata_0000_0019_0001
6605 {
6606 CLRDATA_VLOC_MEMORY = 0,
6607 CLRDATA_VLOC_REGISTER = 0x1
6608 } ClrDataValueLocationFlag;
6609
6610#pragma warning(push)
6611#pragma warning(disable:28718)
6612
6613
6614extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0019_v0_0_c_ifspec;
6615extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0019_v0_0_s_ifspec;
6616
6617#ifndef __IXCLRDataValue_INTERFACE_DEFINED__
6618#define __IXCLRDataValue_INTERFACE_DEFINED__
6619
6620/* interface IXCLRDataValue */
6621/* [uuid][local][object] */
6622
6623
6624EXTERN_C const IID IID_IXCLRDataValue;
6625
6626#if defined(__cplusplus) && !defined(CINTERFACE)
6627
6628 MIDL_INTERFACE("96EC93C7-1000-4e93-8991-98D8766E6666")
6629 IXCLRDataValue : public IUnknown
6630 {
6631 public:
6632 virtual HRESULT STDMETHODCALLTYPE GetFlags(
6633 /* [out] */ ULONG32 *flags) = 0;
6634
6635 virtual HRESULT STDMETHODCALLTYPE GetAddress(
6636 /* [out] */ CLRDATA_ADDRESS *address) = 0;
6637
6638 virtual HRESULT STDMETHODCALLTYPE GetSize(
6639 /* [out] */ ULONG64 *size) = 0;
6640
6641 virtual HRESULT STDMETHODCALLTYPE GetBytes(
6642 /* [in] */ ULONG32 bufLen,
6643 /* [out] */ ULONG32 *dataSize,
6644 /* [size_is][out] */ BYTE buffer[ ]) = 0;
6645
6646 virtual HRESULT STDMETHODCALLTYPE SetBytes(
6647 /* [in] */ ULONG32 bufLen,
6648 /* [out] */ ULONG32 *dataSize,
6649 /* [size_is][in] */ BYTE buffer[ ]) = 0;
6650
6651 virtual HRESULT STDMETHODCALLTYPE GetType(
6652 /* [out] */ IXCLRDataTypeInstance **typeInstance) = 0;
6653
6654 virtual HRESULT STDMETHODCALLTYPE GetNumFields(
6655 /* [out] */ ULONG32 *numFields) = 0;
6656
6657 virtual HRESULT STDMETHODCALLTYPE GetFieldByIndex(
6658 /* [in] */ ULONG32 index,
6659 /* [out] */ IXCLRDataValue **field,
6660 /* [in] */ ULONG32 bufLen,
6661 /* [out] */ ULONG32 *nameLen,
6662 /* [size_is][out] */ WCHAR nameBuf[ ],
6663 /* [out] */ mdFieldDef *token) = 0;
6664
6665 virtual HRESULT STDMETHODCALLTYPE Request(
6666 /* [in] */ ULONG32 reqCode,
6667 /* [in] */ ULONG32 inBufferSize,
6668 /* [size_is][in] */ BYTE *inBuffer,
6669 /* [in] */ ULONG32 outBufferSize,
6670 /* [size_is][out] */ BYTE *outBuffer) = 0;
6671
6672 virtual HRESULT STDMETHODCALLTYPE GetNumFields2(
6673 /* [in] */ ULONG32 flags,
6674 /* [in] */ IXCLRDataTypeInstance *fromType,
6675 /* [out] */ ULONG32 *numFields) = 0;
6676
6677 virtual HRESULT STDMETHODCALLTYPE StartEnumFields(
6678 /* [in] */ ULONG32 flags,
6679 /* [in] */ IXCLRDataTypeInstance *fromType,
6680 /* [out] */ CLRDATA_ENUM *handle) = 0;
6681
6682 virtual HRESULT STDMETHODCALLTYPE EnumField(
6683 /* [out][in] */ CLRDATA_ENUM *handle,
6684 /* [out] */ IXCLRDataValue **field,
6685 /* [in] */ ULONG32 nameBufLen,
6686 /* [out] */ ULONG32 *nameLen,
6687 /* [size_is][out] */ WCHAR nameBuf[ ],
6688 /* [out] */ mdFieldDef *token) = 0;
6689
6690 virtual HRESULT STDMETHODCALLTYPE EndEnumFields(
6691 /* [in] */ CLRDATA_ENUM handle) = 0;
6692
6693 virtual HRESULT STDMETHODCALLTYPE StartEnumFieldsByName(
6694 /* [in] */ LPCWSTR name,
6695 /* [in] */ ULONG32 nameFlags,
6696 /* [in] */ ULONG32 fieldFlags,
6697 /* [in] */ IXCLRDataTypeInstance *fromType,
6698 /* [out] */ CLRDATA_ENUM *handle) = 0;
6699
6700 virtual HRESULT STDMETHODCALLTYPE EnumFieldByName(
6701 /* [out][in] */ CLRDATA_ENUM *handle,
6702 /* [out] */ IXCLRDataValue **field,
6703 /* [out] */ mdFieldDef *token) = 0;
6704
6705 virtual HRESULT STDMETHODCALLTYPE EndEnumFieldsByName(
6706 /* [in] */ CLRDATA_ENUM handle) = 0;
6707
6708 virtual HRESULT STDMETHODCALLTYPE GetFieldByToken(
6709 /* [in] */ mdFieldDef token,
6710 /* [out] */ IXCLRDataValue **field,
6711 /* [in] */ ULONG32 bufLen,
6712 /* [out] */ ULONG32 *nameLen,
6713 /* [size_is][out] */ WCHAR nameBuf[ ]) = 0;
6714
6715 virtual HRESULT STDMETHODCALLTYPE GetAssociatedValue(
6716 /* [out] */ IXCLRDataValue **assocValue) = 0;
6717
6718 virtual HRESULT STDMETHODCALLTYPE GetAssociatedType(
6719 /* [out] */ IXCLRDataTypeInstance **assocType) = 0;
6720
6721 virtual HRESULT STDMETHODCALLTYPE GetString(
6722 /* [in] */ ULONG32 bufLen,
6723 /* [out] */ ULONG32 *strLen,
6724 /* [size_is][out] */ WCHAR str[ ]) = 0;
6725
6726 virtual HRESULT STDMETHODCALLTYPE GetArrayProperties(
6727 /* [out] */ ULONG32 *rank,
6728 /* [out] */ ULONG32 *totalElements,
6729 /* [in] */ ULONG32 numDim,
6730 /* [size_is][out] */ ULONG32 dims[ ],
6731 /* [in] */ ULONG32 numBases,
6732 /* [size_is][out] */ LONG32 bases[ ]) = 0;
6733
6734 virtual HRESULT STDMETHODCALLTYPE GetArrayElement(
6735 /* [in] */ ULONG32 numInd,
6736 /* [size_is][in] */ LONG32 indices[ ],
6737 /* [out] */ IXCLRDataValue **value) = 0;
6738
6739 virtual HRESULT STDMETHODCALLTYPE EnumField2(
6740 /* [out][in] */ CLRDATA_ENUM *handle,
6741 /* [out] */ IXCLRDataValue **field,
6742 /* [in] */ ULONG32 nameBufLen,
6743 /* [out] */ ULONG32 *nameLen,
6744 /* [size_is][out] */ WCHAR nameBuf[ ],
6745 /* [out] */ IXCLRDataModule **tokenScope,
6746 /* [out] */ mdFieldDef *token) = 0;
6747
6748 virtual HRESULT STDMETHODCALLTYPE EnumFieldByName2(
6749 /* [out][in] */ CLRDATA_ENUM *handle,
6750 /* [out] */ IXCLRDataValue **field,
6751 /* [out] */ IXCLRDataModule **tokenScope,
6752 /* [out] */ mdFieldDef *token) = 0;
6753
6754 virtual HRESULT STDMETHODCALLTYPE GetFieldByToken2(
6755 /* [in] */ IXCLRDataModule *tokenScope,
6756 /* [in] */ mdFieldDef token,
6757 /* [out] */ IXCLRDataValue **field,
6758 /* [in] */ ULONG32 bufLen,
6759 /* [out] */ ULONG32 *nameLen,
6760 /* [size_is][out] */ WCHAR nameBuf[ ]) = 0;
6761
6762 virtual HRESULT STDMETHODCALLTYPE GetNumLocations(
6763 /* [out] */ ULONG32 *numLocs) = 0;
6764
6765 virtual HRESULT STDMETHODCALLTYPE GetLocationByIndex(
6766 /* [in] */ ULONG32 loc,
6767 /* [out] */ ULONG32 *flags,
6768 /* [out] */ CLRDATA_ADDRESS *arg) = 0;
6769
6770 };
6771
6772
6773#else /* C style interface */
6774
6775 typedef struct IXCLRDataValueVtbl
6776 {
6777 BEGIN_INTERFACE
6778
6779 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6780 IXCLRDataValue * This,
6781 /* [in] */ REFIID riid,
6782 /* [annotation][iid_is][out] */
6783 _COM_Outptr_ void **ppvObject);
6784
6785 ULONG ( STDMETHODCALLTYPE *AddRef )(
6786 IXCLRDataValue * This);
6787
6788 ULONG ( STDMETHODCALLTYPE *Release )(
6789 IXCLRDataValue * This);
6790
6791 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
6792 IXCLRDataValue * This,
6793 /* [out] */ ULONG32 *flags);
6794
6795 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
6796 IXCLRDataValue * This,
6797 /* [out] */ CLRDATA_ADDRESS *address);
6798
6799 HRESULT ( STDMETHODCALLTYPE *GetSize )(
6800 IXCLRDataValue * This,
6801 /* [out] */ ULONG64 *size);
6802
6803 HRESULT ( STDMETHODCALLTYPE *GetBytes )(
6804 IXCLRDataValue * This,
6805 /* [in] */ ULONG32 bufLen,
6806 /* [out] */ ULONG32 *dataSize,
6807 /* [size_is][out] */ BYTE buffer[ ]);
6808
6809 HRESULT ( STDMETHODCALLTYPE *SetBytes )(
6810 IXCLRDataValue * This,
6811 /* [in] */ ULONG32 bufLen,
6812 /* [out] */ ULONG32 *dataSize,
6813 /* [size_is][in] */ BYTE buffer[ ]);
6814
6815 HRESULT ( STDMETHODCALLTYPE *GetType )(
6816 IXCLRDataValue * This,
6817 /* [out] */ IXCLRDataTypeInstance **typeInstance);
6818
6819 HRESULT ( STDMETHODCALLTYPE *GetNumFields )(
6820 IXCLRDataValue * This,
6821 /* [out] */ ULONG32 *numFields);
6822
6823 HRESULT ( STDMETHODCALLTYPE *GetFieldByIndex )(
6824 IXCLRDataValue * This,
6825 /* [in] */ ULONG32 index,
6826 /* [out] */ IXCLRDataValue **field,
6827 /* [in] */ ULONG32 bufLen,
6828 /* [out] */ ULONG32 *nameLen,
6829 /* [size_is][out] */ WCHAR nameBuf[ ],
6830 /* [out] */ mdFieldDef *token);
6831
6832 HRESULT ( STDMETHODCALLTYPE *Request )(
6833 IXCLRDataValue * This,
6834 /* [in] */ ULONG32 reqCode,
6835 /* [in] */ ULONG32 inBufferSize,
6836 /* [size_is][in] */ BYTE *inBuffer,
6837 /* [in] */ ULONG32 outBufferSize,
6838 /* [size_is][out] */ BYTE *outBuffer);
6839
6840 HRESULT ( STDMETHODCALLTYPE *GetNumFields2 )(
6841 IXCLRDataValue * This,
6842 /* [in] */ ULONG32 flags,
6843 /* [in] */ IXCLRDataTypeInstance *fromType,
6844 /* [out] */ ULONG32 *numFields);
6845
6846 HRESULT ( STDMETHODCALLTYPE *StartEnumFields )(
6847 IXCLRDataValue * This,
6848 /* [in] */ ULONG32 flags,
6849 /* [in] */ IXCLRDataTypeInstance *fromType,
6850 /* [out] */ CLRDATA_ENUM *handle);
6851
6852 HRESULT ( STDMETHODCALLTYPE *EnumField )(
6853 IXCLRDataValue * This,
6854 /* [out][in] */ CLRDATA_ENUM *handle,
6855 /* [out] */ IXCLRDataValue **field,
6856 /* [in] */ ULONG32 nameBufLen,
6857 /* [out] */ ULONG32 *nameLen,
6858 /* [size_is][out] */ WCHAR nameBuf[ ],
6859 /* [out] */ mdFieldDef *token);
6860
6861 HRESULT ( STDMETHODCALLTYPE *EndEnumFields )(
6862 IXCLRDataValue * This,
6863 /* [in] */ CLRDATA_ENUM handle);
6864
6865 HRESULT ( STDMETHODCALLTYPE *StartEnumFieldsByName )(
6866 IXCLRDataValue * This,
6867 /* [in] */ LPCWSTR name,
6868 /* [in] */ ULONG32 nameFlags,
6869 /* [in] */ ULONG32 fieldFlags,
6870 /* [in] */ IXCLRDataTypeInstance *fromType,
6871 /* [out] */ CLRDATA_ENUM *handle);
6872
6873 HRESULT ( STDMETHODCALLTYPE *EnumFieldByName )(
6874 IXCLRDataValue * This,
6875 /* [out][in] */ CLRDATA_ENUM *handle,
6876 /* [out] */ IXCLRDataValue **field,
6877 /* [out] */ mdFieldDef *token);
6878
6879 HRESULT ( STDMETHODCALLTYPE *EndEnumFieldsByName )(
6880 IXCLRDataValue * This,
6881 /* [in] */ CLRDATA_ENUM handle);
6882
6883 HRESULT ( STDMETHODCALLTYPE *GetFieldByToken )(
6884 IXCLRDataValue * This,
6885 /* [in] */ mdFieldDef token,
6886 /* [out] */ IXCLRDataValue **field,
6887 /* [in] */ ULONG32 bufLen,
6888 /* [out] */ ULONG32 *nameLen,
6889 /* [size_is][out] */ WCHAR nameBuf[ ]);
6890
6891 HRESULT ( STDMETHODCALLTYPE *GetAssociatedValue )(
6892 IXCLRDataValue * This,
6893 /* [out] */ IXCLRDataValue **assocValue);
6894
6895 HRESULT ( STDMETHODCALLTYPE *GetAssociatedType )(
6896 IXCLRDataValue * This,
6897 /* [out] */ IXCLRDataTypeInstance **assocType);
6898
6899 HRESULT ( STDMETHODCALLTYPE *GetString )(
6900 IXCLRDataValue * This,
6901 /* [in] */ ULONG32 bufLen,
6902 /* [out] */ ULONG32 *strLen,
6903 /* [size_is][out] */ WCHAR str[ ]);
6904
6905 HRESULT ( STDMETHODCALLTYPE *GetArrayProperties )(
6906 IXCLRDataValue * This,
6907 /* [out] */ ULONG32 *rank,
6908 /* [out] */ ULONG32 *totalElements,
6909 /* [in] */ ULONG32 numDim,
6910 /* [size_is][out] */ ULONG32 dims[ ],
6911 /* [in] */ ULONG32 numBases,
6912 /* [size_is][out] */ LONG32 bases[ ]);
6913
6914 HRESULT ( STDMETHODCALLTYPE *GetArrayElement )(
6915 IXCLRDataValue * This,
6916 /* [in] */ ULONG32 numInd,
6917 /* [size_is][in] */ LONG32 indices[ ],
6918 /* [out] */ IXCLRDataValue **value);
6919
6920 HRESULT ( STDMETHODCALLTYPE *EnumField2 )(
6921 IXCLRDataValue * This,
6922 /* [out][in] */ CLRDATA_ENUM *handle,
6923 /* [out] */ IXCLRDataValue **field,
6924 /* [in] */ ULONG32 nameBufLen,
6925 /* [out] */ ULONG32 *nameLen,
6926 /* [size_is][out] */ WCHAR nameBuf[ ],
6927 /* [out] */ IXCLRDataModule **tokenScope,
6928 /* [out] */ mdFieldDef *token);
6929
6930 HRESULT ( STDMETHODCALLTYPE *EnumFieldByName2 )(
6931 IXCLRDataValue * This,
6932 /* [out][in] */ CLRDATA_ENUM *handle,
6933 /* [out] */ IXCLRDataValue **field,
6934 /* [out] */ IXCLRDataModule **tokenScope,
6935 /* [out] */ mdFieldDef *token);
6936
6937 HRESULT ( STDMETHODCALLTYPE *GetFieldByToken2 )(
6938 IXCLRDataValue * This,
6939 /* [in] */ IXCLRDataModule *tokenScope,
6940 /* [in] */ mdFieldDef token,
6941 /* [out] */ IXCLRDataValue **field,
6942 /* [in] */ ULONG32 bufLen,
6943 /* [out] */ ULONG32 *nameLen,
6944 /* [size_is][out] */ WCHAR nameBuf[ ]);
6945
6946 HRESULT ( STDMETHODCALLTYPE *GetNumLocations )(
6947 IXCLRDataValue * This,
6948 /* [out] */ ULONG32 *numLocs);
6949
6950 HRESULT ( STDMETHODCALLTYPE *GetLocationByIndex )(
6951 IXCLRDataValue * This,
6952 /* [in] */ ULONG32 loc,
6953 /* [out] */ ULONG32 *flags,
6954 /* [out] */ CLRDATA_ADDRESS *arg);
6955
6956 END_INTERFACE
6957 } IXCLRDataValueVtbl;
6958
6959 interface IXCLRDataValue
6960 {
6961 CONST_VTBL struct IXCLRDataValueVtbl *lpVtbl;
6962 };
6963
6964
6965
6966#ifdef COBJMACROS
6967
6968
6969#define IXCLRDataValue_QueryInterface(This,riid,ppvObject) \
6970 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6971
6972#define IXCLRDataValue_AddRef(This) \
6973 ( (This)->lpVtbl -> AddRef(This) )
6974
6975#define IXCLRDataValue_Release(This) \
6976 ( (This)->lpVtbl -> Release(This) )
6977
6978
6979#define IXCLRDataValue_GetFlags(This,flags) \
6980 ( (This)->lpVtbl -> GetFlags(This,flags) )
6981
6982#define IXCLRDataValue_GetAddress(This,address) \
6983 ( (This)->lpVtbl -> GetAddress(This,address) )
6984
6985#define IXCLRDataValue_GetSize(This,size) \
6986 ( (This)->lpVtbl -> GetSize(This,size) )
6987
6988#define IXCLRDataValue_GetBytes(This,bufLen,dataSize,buffer) \
6989 ( (This)->lpVtbl -> GetBytes(This,bufLen,dataSize,buffer) )
6990
6991#define IXCLRDataValue_SetBytes(This,bufLen,dataSize,buffer) \
6992 ( (This)->lpVtbl -> SetBytes(This,bufLen,dataSize,buffer) )
6993
6994#define IXCLRDataValue_GetType(This,typeInstance) \
6995 ( (This)->lpVtbl -> GetType(This,typeInstance) )
6996
6997#define IXCLRDataValue_GetNumFields(This,numFields) \
6998 ( (This)->lpVtbl -> GetNumFields(This,numFields) )
6999
7000#define IXCLRDataValue_GetFieldByIndex(This,index,field,bufLen,nameLen,nameBuf,token) \
7001 ( (This)->lpVtbl -> GetFieldByIndex(This,index,field,bufLen,nameLen,nameBuf,token) )
7002
7003#define IXCLRDataValue_Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) \
7004 ( (This)->lpVtbl -> Request(This,reqCode,inBufferSize,inBuffer,outBufferSize,outBuffer) )
7005
7006#define IXCLRDataValue_GetNumFields2(This,flags,fromType,numFields) \
7007 ( (This)->lpVtbl -> GetNumFields2(This,flags,fromType,numFields) )
7008
7009#define IXCLRDataValue_StartEnumFields(This,flags,fromType,handle) \
7010 ( (This)->lpVtbl -> StartEnumFields(This,flags,fromType,handle) )
7011
7012#define IXCLRDataValue_EnumField(This,handle,field,nameBufLen,nameLen,nameBuf,token) \
7013 ( (This)->lpVtbl -> EnumField(This,handle,field,nameBufLen,nameLen,nameBuf,token) )
7014
7015#define IXCLRDataValue_EndEnumFields(This,handle) \
7016 ( (This)->lpVtbl -> EndEnumFields(This,handle) )
7017
7018#define IXCLRDataValue_StartEnumFieldsByName(This,name,nameFlags,fieldFlags,fromType,handle) \
7019 ( (This)->lpVtbl -> StartEnumFieldsByName(This,name,nameFlags,fieldFlags,fromType,handle) )
7020
7021#define IXCLRDataValue_EnumFieldByName(This,handle,field,token) \
7022 ( (This)->lpVtbl -> EnumFieldByName(This,handle,field,token) )
7023
7024#define IXCLRDataValue_EndEnumFieldsByName(This,handle) \
7025 ( (This)->lpVtbl -> EndEnumFieldsByName(This,handle) )
7026
7027#define IXCLRDataValue_GetFieldByToken(This,token,field,bufLen,nameLen,nameBuf) \
7028 ( (This)->lpVtbl -> GetFieldByToken(This,token,field,bufLen,nameLen,nameBuf) )
7029
7030#define IXCLRDataValue_GetAssociatedValue(This,assocValue) \
7031 ( (This)->lpVtbl -> GetAssociatedValue(This,assocValue) )
7032
7033#define IXCLRDataValue_GetAssociatedType(This,assocType) \
7034 ( (This)->lpVtbl -> GetAssociatedType(This,assocType) )
7035
7036#define IXCLRDataValue_GetString(This,bufLen,strLen,str) \
7037 ( (This)->lpVtbl -> GetString(This,bufLen,strLen,str) )
7038
7039#define IXCLRDataValue_GetArrayProperties(This,rank,totalElements,numDim,dims,numBases,bases) \
7040 ( (This)->lpVtbl -> GetArrayProperties(This,rank,totalElements,numDim,dims,numBases,bases) )
7041
7042#define IXCLRDataValue_GetArrayElement(This,numInd,indices,value) \
7043 ( (This)->lpVtbl -> GetArrayElement(This,numInd,indices,value) )
7044
7045#define IXCLRDataValue_EnumField2(This,handle,field,nameBufLen,nameLen,nameBuf,tokenScope,token) \
7046 ( (This)->lpVtbl -> EnumField2(This,handle,field,nameBufLen,nameLen,nameBuf,tokenScope,token) )
7047
7048#define IXCLRDataValue_EnumFieldByName2(This,handle,field,tokenScope,token) \
7049 ( (This)->lpVtbl -> EnumFieldByName2(This,handle,field,tokenScope,token) )
7050
7051#define IXCLRDataValue_GetFieldByToken2(This,tokenScope,token,field,bufLen,nameLen,nameBuf) \
7052 ( (This)->lpVtbl -> GetFieldByToken2(This,tokenScope,token,field,bufLen,nameLen,nameBuf) )
7053
7054#define IXCLRDataValue_GetNumLocations(This,numLocs) \
7055 ( (This)->lpVtbl -> GetNumLocations(This,numLocs) )
7056
7057#define IXCLRDataValue_GetLocationByIndex(This,loc,flags,arg) \
7058 ( (This)->lpVtbl -> GetLocationByIndex(This,loc,flags,arg) )
7059
7060#endif /* COBJMACROS */
7061
7062
7063#endif /* C style interface */
7064
7065
7066
7067
7068#endif /* __IXCLRDataValue_INTERFACE_DEFINED__ */
7069
7070
7071/* interface __MIDL_itf_xclrdata_0000_0020 */
7072/* [local] */
7073
7074#pragma warning(pop)
7075
7076
7077extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0020_v0_0_c_ifspec;
7078extern RPC_IF_HANDLE __MIDL_itf_xclrdata_0000_0020_v0_0_s_ifspec;
7079
7080#ifndef __IXCLRDataExceptionNotification_INTERFACE_DEFINED__
7081#define __IXCLRDataExceptionNotification_INTERFACE_DEFINED__
7082
7083/* interface IXCLRDataExceptionNotification */
7084/* [uuid][local][object] */
7085
7086
7087EXTERN_C const IID IID_IXCLRDataExceptionNotification;
7088
7089#if defined(__cplusplus) && !defined(CINTERFACE)
7090
7091 MIDL_INTERFACE("2D95A079-42A1-4837-818F-0B97D7048E0E")
7092 IXCLRDataExceptionNotification : public IUnknown
7093 {
7094 public:
7095 virtual HRESULT STDMETHODCALLTYPE OnCodeGenerated(
7096 /* [in] */ IXCLRDataMethodInstance *method) = 0;
7097
7098 virtual HRESULT STDMETHODCALLTYPE OnCodeDiscarded(
7099 /* [in] */ IXCLRDataMethodInstance *method) = 0;
7100
7101 virtual HRESULT STDMETHODCALLTYPE OnProcessExecution(
7102 /* [in] */ ULONG32 state) = 0;
7103
7104 virtual HRESULT STDMETHODCALLTYPE OnTaskExecution(
7105 /* [in] */ IXCLRDataTask *task,
7106 /* [in] */ ULONG32 state) = 0;
7107
7108 virtual HRESULT STDMETHODCALLTYPE OnModuleLoaded(
7109 /* [in] */ IXCLRDataModule *mod) = 0;
7110
7111 virtual HRESULT STDMETHODCALLTYPE OnModuleUnloaded(
7112 /* [in] */ IXCLRDataModule *mod) = 0;
7113
7114 virtual HRESULT STDMETHODCALLTYPE OnTypeLoaded(
7115 /* [in] */ IXCLRDataTypeInstance *typeInst) = 0;
7116
7117 virtual HRESULT STDMETHODCALLTYPE OnTypeUnloaded(
7118 /* [in] */ IXCLRDataTypeInstance *typeInst) = 0;
7119
7120 };
7121
7122
7123#else /* C style interface */
7124
7125 typedef struct IXCLRDataExceptionNotificationVtbl
7126 {
7127 BEGIN_INTERFACE
7128
7129 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7130 IXCLRDataExceptionNotification * This,
7131 /* [in] */ REFIID riid,
7132 /* [annotation][iid_is][out] */
7133 _COM_Outptr_ void **ppvObject);
7134
7135 ULONG ( STDMETHODCALLTYPE *AddRef )(
7136 IXCLRDataExceptionNotification * This);
7137
7138 ULONG ( STDMETHODCALLTYPE *Release )(
7139 IXCLRDataExceptionNotification * This);
7140
7141 HRESULT ( STDMETHODCALLTYPE *OnCodeGenerated )(
7142 IXCLRDataExceptionNotification * This,
7143 /* [in] */ IXCLRDataMethodInstance *method);
7144
7145 HRESULT ( STDMETHODCALLTYPE *OnCodeDiscarded )(
7146 IXCLRDataExceptionNotification * This,
7147 /* [in] */ IXCLRDataMethodInstance *method);
7148
7149 HRESULT ( STDMETHODCALLTYPE *OnProcessExecution )(
7150 IXCLRDataExceptionNotification * This,
7151 /* [in] */ ULONG32 state);
7152
7153 HRESULT ( STDMETHODCALLTYPE *OnTaskExecution )(
7154 IXCLRDataExceptionNotification * This,
7155 /* [in] */ IXCLRDataTask *task,
7156 /* [in] */ ULONG32 state);
7157
7158 HRESULT ( STDMETHODCALLTYPE *OnModuleLoaded )(
7159 IXCLRDataExceptionNotification * This,
7160 /* [in] */ IXCLRDataModule *mod);
7161
7162 HRESULT ( STDMETHODCALLTYPE *OnModuleUnloaded )(
7163 IXCLRDataExceptionNotification * This,
7164 /* [in] */ IXCLRDataModule *mod);
7165
7166 HRESULT ( STDMETHODCALLTYPE *OnTypeLoaded )(
7167 IXCLRDataExceptionNotification * This,
7168 /* [in] */ IXCLRDataTypeInstance *typeInst);
7169
7170 HRESULT ( STDMETHODCALLTYPE *OnTypeUnloaded )(
7171 IXCLRDataExceptionNotification * This,
7172 /* [in] */ IXCLRDataTypeInstance *typeInst);
7173
7174 END_INTERFACE
7175 } IXCLRDataExceptionNotificationVtbl;
7176
7177 interface IXCLRDataExceptionNotification
7178 {
7179 CONST_VTBL struct IXCLRDataExceptionNotificationVtbl *lpVtbl;
7180 };
7181
7182
7183
7184#ifdef COBJMACROS
7185
7186
7187#define IXCLRDataExceptionNotification_QueryInterface(This,riid,ppvObject) \
7188 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
7189
7190#define IXCLRDataExceptionNotification_AddRef(This) \
7191 ( (This)->lpVtbl -> AddRef(This) )
7192
7193#define IXCLRDataExceptionNotification_Release(This) \
7194 ( (This)->lpVtbl -> Release(This) )
7195
7196
7197#define IXCLRDataExceptionNotification_OnCodeGenerated(This,method) \
7198 ( (This)->lpVtbl -> OnCodeGenerated(This,method) )
7199
7200#define IXCLRDataExceptionNotification_OnCodeDiscarded(This,method) \
7201 ( (This)->lpVtbl -> OnCodeDiscarded(This,method) )
7202
7203#define IXCLRDataExceptionNotification_OnProcessExecution(This,state) \
7204 ( (This)->lpVtbl -> OnProcessExecution(This,state) )
7205
7206#define IXCLRDataExceptionNotification_OnTaskExecution(This,task,state) \
7207 ( (This)->lpVtbl -> OnTaskExecution(This,task,state) )
7208
7209#define IXCLRDataExceptionNotification_OnModuleLoaded(This,mod) \
7210 ( (This)->lpVtbl -> OnModuleLoaded(This,mod) )
7211
7212#define IXCLRDataExceptionNotification_OnModuleUnloaded(This,mod) \
7213 ( (This)->lpVtbl -> OnModuleUnloaded(This,mod) )
7214
7215#define IXCLRDataExceptionNotification_OnTypeLoaded(This,typeInst) \
7216 ( (This)->lpVtbl -> OnTypeLoaded(This,typeInst) )
7217
7218#define IXCLRDataExceptionNotification_OnTypeUnloaded(This,typeInst) \
7219 ( (This)->lpVtbl -> OnTypeUnloaded(This,typeInst) )
7220
7221#endif /* COBJMACROS */
7222
7223
7224#endif /* C style interface */
7225
7226
7227
7228
7229#endif /* __IXCLRDataExceptionNotification_INTERFACE_DEFINED__ */
7230
7231
7232#ifndef __IXCLRDataExceptionNotification2_INTERFACE_DEFINED__
7233#define __IXCLRDataExceptionNotification2_INTERFACE_DEFINED__
7234
7235/* interface IXCLRDataExceptionNotification2 */
7236/* [uuid][local][object] */
7237
7238
7239EXTERN_C const IID IID_IXCLRDataExceptionNotification2;
7240
7241#if defined(__cplusplus) && !defined(CINTERFACE)
7242
7243 MIDL_INTERFACE("31201a94-4337-49b7-aef7-0c755054091f")
7244 IXCLRDataExceptionNotification2 : public IXCLRDataExceptionNotification
7245 {
7246 public:
7247 virtual HRESULT STDMETHODCALLTYPE OnAppDomainLoaded(
7248 /* [in] */ IXCLRDataAppDomain *domain) = 0;
7249
7250 virtual HRESULT STDMETHODCALLTYPE OnAppDomainUnloaded(
7251 /* [in] */ IXCLRDataAppDomain *domain) = 0;
7252
7253 virtual HRESULT STDMETHODCALLTYPE OnException(
7254 /* [in] */ IXCLRDataExceptionState *exception) = 0;
7255
7256 };
7257
7258
7259#else /* C style interface */
7260
7261 typedef struct IXCLRDataExceptionNotification2Vtbl
7262 {
7263 BEGIN_INTERFACE
7264
7265 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7266 IXCLRDataExceptionNotification2 * This,
7267 /* [in] */ REFIID riid,
7268 /* [annotation][iid_is][out] */
7269 _COM_Outptr_ void **ppvObject);
7270
7271 ULONG ( STDMETHODCALLTYPE *AddRef )(
7272 IXCLRDataExceptionNotification2 * This);
7273
7274 ULONG ( STDMETHODCALLTYPE *Release )(
7275 IXCLRDataExceptionNotification2 * This);
7276
7277 HRESULT ( STDMETHODCALLTYPE *OnCodeGenerated )(
7278 IXCLRDataExceptionNotification2 * This,
7279 /* [in] */ IXCLRDataMethodInstance *method);
7280
7281 HRESULT ( STDMETHODCALLTYPE *OnCodeDiscarded )(
7282 IXCLRDataExceptionNotification2 * This,
7283 /* [in] */ IXCLRDataMethodInstance *method);
7284
7285 HRESULT ( STDMETHODCALLTYPE *OnProcessExecution )(
7286 IXCLRDataExceptionNotification2 * This,
7287 /* [in] */ ULONG32 state);
7288
7289 HRESULT ( STDMETHODCALLTYPE *OnTaskExecution )(
7290 IXCLRDataExceptionNotification2 * This,
7291 /* [in] */ IXCLRDataTask *task,
7292 /* [in] */ ULONG32 state);
7293
7294 HRESULT ( STDMETHODCALLTYPE *OnModuleLoaded )(
7295 IXCLRDataExceptionNotification2 * This,
7296 /* [in] */ IXCLRDataModule *mod);
7297
7298 HRESULT ( STDMETHODCALLTYPE *OnModuleUnloaded )(
7299 IXCLRDataExceptionNotification2 * This,
7300 /* [in] */ IXCLRDataModule *mod);
7301
7302 HRESULT ( STDMETHODCALLTYPE *OnTypeLoaded )(
7303 IXCLRDataExceptionNotification2 * This,
7304 /* [in] */ IXCLRDataTypeInstance *typeInst);
7305
7306 HRESULT ( STDMETHODCALLTYPE *OnTypeUnloaded )(
7307 IXCLRDataExceptionNotification2 * This,
7308 /* [in] */ IXCLRDataTypeInstance *typeInst);
7309
7310 HRESULT ( STDMETHODCALLTYPE *OnAppDomainLoaded )(
7311 IXCLRDataExceptionNotification2 * This,
7312 /* [in] */ IXCLRDataAppDomain *domain);
7313
7314 HRESULT ( STDMETHODCALLTYPE *OnAppDomainUnloaded )(
7315 IXCLRDataExceptionNotification2 * This,
7316 /* [in] */ IXCLRDataAppDomain *domain);
7317
7318 HRESULT ( STDMETHODCALLTYPE *OnException )(
7319 IXCLRDataExceptionNotification2 * This,
7320 /* [in] */ IXCLRDataExceptionState *exception);
7321
7322 END_INTERFACE
7323 } IXCLRDataExceptionNotification2Vtbl;
7324
7325 interface IXCLRDataExceptionNotification2
7326 {
7327 CONST_VTBL struct IXCLRDataExceptionNotification2Vtbl *lpVtbl;
7328 };
7329
7330
7331
7332#ifdef COBJMACROS
7333
7334
7335#define IXCLRDataExceptionNotification2_QueryInterface(This,riid,ppvObject) \
7336 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
7337
7338#define IXCLRDataExceptionNotification2_AddRef(This) \
7339 ( (This)->lpVtbl -> AddRef(This) )
7340
7341#define IXCLRDataExceptionNotification2_Release(This) \
7342 ( (This)->lpVtbl -> Release(This) )
7343
7344
7345#define IXCLRDataExceptionNotification2_OnCodeGenerated(This,method) \
7346 ( (This)->lpVtbl -> OnCodeGenerated(This,method) )
7347
7348#define IXCLRDataExceptionNotification2_OnCodeDiscarded(This,method) \
7349 ( (This)->lpVtbl -> OnCodeDiscarded(This,method) )
7350
7351#define IXCLRDataExceptionNotification2_OnProcessExecution(This,state) \
7352 ( (This)->lpVtbl -> OnProcessExecution(This,state) )
7353
7354#define IXCLRDataExceptionNotification2_OnTaskExecution(This,task,state) \
7355 ( (This)->lpVtbl -> OnTaskExecution(This,task,state) )
7356
7357#define IXCLRDataExceptionNotification2_OnModuleLoaded(This,mod) \
7358 ( (This)->lpVtbl -> OnModuleLoaded(This,mod) )
7359
7360#define IXCLRDataExceptionNotification2_OnModuleUnloaded(This,mod) \
7361 ( (This)->lpVtbl -> OnModuleUnloaded(This,mod) )
7362
7363#define IXCLRDataExceptionNotification2_OnTypeLoaded(This,typeInst) \
7364 ( (This)->lpVtbl -> OnTypeLoaded(This,typeInst) )
7365
7366#define IXCLRDataExceptionNotification2_OnTypeUnloaded(This,typeInst) \
7367 ( (This)->lpVtbl -> OnTypeUnloaded(This,typeInst) )
7368
7369
7370#define IXCLRDataExceptionNotification2_OnAppDomainLoaded(This,domain) \
7371 ( (This)->lpVtbl -> OnAppDomainLoaded(This,domain) )
7372
7373#define IXCLRDataExceptionNotification2_OnAppDomainUnloaded(This,domain) \
7374 ( (This)->lpVtbl -> OnAppDomainUnloaded(This,domain) )
7375
7376#define IXCLRDataExceptionNotification2_OnException(This,exception) \
7377 ( (This)->lpVtbl -> OnException(This,exception) )
7378
7379#endif /* COBJMACROS */
7380
7381
7382#endif /* C style interface */
7383
7384
7385
7386
7387#endif /* __IXCLRDataExceptionNotification2_INTERFACE_DEFINED__ */
7388
7389
7390#ifndef __IXCLRDataExceptionNotification3_INTERFACE_DEFINED__
7391#define __IXCLRDataExceptionNotification3_INTERFACE_DEFINED__
7392
7393/* interface IXCLRDataExceptionNotification3 */
7394/* [uuid][local][object] */
7395
7396
7397EXTERN_C const IID IID_IXCLRDataExceptionNotification3;
7398
7399#if defined(__cplusplus) && !defined(CINTERFACE)
7400
7401 MIDL_INTERFACE("31201a94-4337-49b7-aef7-0c7550540920")
7402 IXCLRDataExceptionNotification3 : public IXCLRDataExceptionNotification2
7403 {
7404 public:
7405 virtual HRESULT STDMETHODCALLTYPE OnGcEvent(
7406 /* [in] */ GcEvtArgs gcEvtArgs) = 0;
7407
7408 };
7409
7410
7411#else /* C style interface */
7412
7413 typedef struct IXCLRDataExceptionNotification3Vtbl
7414 {
7415 BEGIN_INTERFACE
7416
7417 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7418 IXCLRDataExceptionNotification3 * This,
7419 /* [in] */ REFIID riid,
7420 /* [annotation][iid_is][out] */
7421 _COM_Outptr_ void **ppvObject);
7422
7423 ULONG ( STDMETHODCALLTYPE *AddRef )(
7424 IXCLRDataExceptionNotification3 * This);
7425
7426 ULONG ( STDMETHODCALLTYPE *Release )(
7427 IXCLRDataExceptionNotification3 * This);
7428
7429 HRESULT ( STDMETHODCALLTYPE *OnCodeGenerated )(
7430 IXCLRDataExceptionNotification3 * This,
7431 /* [in] */ IXCLRDataMethodInstance *method);
7432
7433 HRESULT ( STDMETHODCALLTYPE *OnCodeDiscarded )(
7434 IXCLRDataExceptionNotification3 * This,
7435 /* [in] */ IXCLRDataMethodInstance *method);
7436
7437 HRESULT ( STDMETHODCALLTYPE *OnProcessExecution )(
7438 IXCLRDataExceptionNotification3 * This,
7439 /* [in] */ ULONG32 state);
7440
7441 HRESULT ( STDMETHODCALLTYPE *OnTaskExecution )(
7442 IXCLRDataExceptionNotification3 * This,
7443 /* [in] */ IXCLRDataTask *task,
7444 /* [in] */ ULONG32 state);
7445
7446 HRESULT ( STDMETHODCALLTYPE *OnModuleLoaded )(
7447 IXCLRDataExceptionNotification3 * This,
7448 /* [in] */ IXCLRDataModule *mod);
7449
7450 HRESULT ( STDMETHODCALLTYPE *OnModuleUnloaded )(
7451 IXCLRDataExceptionNotification3 * This,
7452 /* [in] */ IXCLRDataModule *mod);
7453
7454 HRESULT ( STDMETHODCALLTYPE *OnTypeLoaded )(
7455 IXCLRDataExceptionNotification3 * This,
7456 /* [in] */ IXCLRDataTypeInstance *typeInst);
7457
7458 HRESULT ( STDMETHODCALLTYPE *OnTypeUnloaded )(
7459 IXCLRDataExceptionNotification3 * This,
7460 /* [in] */ IXCLRDataTypeInstance *typeInst);
7461
7462 HRESULT ( STDMETHODCALLTYPE *OnAppDomainLoaded )(
7463 IXCLRDataExceptionNotification3 * This,
7464 /* [in] */ IXCLRDataAppDomain *domain);
7465
7466 HRESULT ( STDMETHODCALLTYPE *OnAppDomainUnloaded )(
7467 IXCLRDataExceptionNotification3 * This,
7468 /* [in] */ IXCLRDataAppDomain *domain);
7469
7470 HRESULT ( STDMETHODCALLTYPE *OnException )(
7471 IXCLRDataExceptionNotification3 * This,
7472 /* [in] */ IXCLRDataExceptionState *exception);
7473
7474 HRESULT ( STDMETHODCALLTYPE *OnGcEvent )(
7475 IXCLRDataExceptionNotification3 * This,
7476 /* [in] */ GcEvtArgs gcEvtArgs);
7477
7478 END_INTERFACE
7479 } IXCLRDataExceptionNotification3Vtbl;
7480
7481 interface IXCLRDataExceptionNotification3
7482 {
7483 CONST_VTBL struct IXCLRDataExceptionNotification3Vtbl *lpVtbl;
7484 };
7485
7486
7487
7488#ifdef COBJMACROS
7489
7490
7491#define IXCLRDataExceptionNotification3_QueryInterface(This,riid,ppvObject) \
7492 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
7493
7494#define IXCLRDataExceptionNotification3_AddRef(This) \
7495 ( (This)->lpVtbl -> AddRef(This) )
7496
7497#define IXCLRDataExceptionNotification3_Release(This) \
7498 ( (This)->lpVtbl -> Release(This) )
7499
7500
7501#define IXCLRDataExceptionNotification3_OnCodeGenerated(This,method) \
7502 ( (This)->lpVtbl -> OnCodeGenerated(This,method) )
7503
7504#define IXCLRDataExceptionNotification3_OnCodeDiscarded(This,method) \
7505 ( (This)->lpVtbl -> OnCodeDiscarded(This,method) )
7506
7507#define IXCLRDataExceptionNotification3_OnProcessExecution(This,state) \
7508 ( (This)->lpVtbl -> OnProcessExecution(This,state) )
7509
7510#define IXCLRDataExceptionNotification3_OnTaskExecution(This,task,state) \
7511 ( (This)->lpVtbl -> OnTaskExecution(This,task,state) )
7512
7513#define IXCLRDataExceptionNotification3_OnModuleLoaded(This,mod) \
7514 ( (This)->lpVtbl -> OnModuleLoaded(This,mod) )
7515
7516#define IXCLRDataExceptionNotification3_OnModuleUnloaded(This,mod) \
7517 ( (This)->lpVtbl -> OnModuleUnloaded(This,mod) )
7518
7519#define IXCLRDataExceptionNotification3_OnTypeLoaded(This,typeInst) \
7520 ( (This)->lpVtbl -> OnTypeLoaded(This,typeInst) )
7521
7522#define IXCLRDataExceptionNotification3_OnTypeUnloaded(This,typeInst) \
7523 ( (This)->lpVtbl -> OnTypeUnloaded(This,typeInst) )
7524
7525
7526#define IXCLRDataExceptionNotification3_OnAppDomainLoaded(This,domain) \
7527 ( (This)->lpVtbl -> OnAppDomainLoaded(This,domain) )
7528
7529#define IXCLRDataExceptionNotification3_OnAppDomainUnloaded(This,domain) \
7530 ( (This)->lpVtbl -> OnAppDomainUnloaded(This,domain) )
7531
7532#define IXCLRDataExceptionNotification3_OnException(This,exception) \
7533 ( (This)->lpVtbl -> OnException(This,exception) )
7534
7535
7536#define IXCLRDataExceptionNotification3_OnGcEvent(This,gcEvtArgs) \
7537 ( (This)->lpVtbl -> OnGcEvent(This,gcEvtArgs) )
7538
7539#endif /* COBJMACROS */
7540
7541
7542#endif /* C style interface */
7543
7544
7545
7546
7547#endif /* __IXCLRDataExceptionNotification3_INTERFACE_DEFINED__ */
7548
7549
7550#ifndef __IXCLRDataExceptionNotification4_INTERFACE_DEFINED__
7551#define __IXCLRDataExceptionNotification4_INTERFACE_DEFINED__
7552
7553/* interface IXCLRDataExceptionNotification4 */
7554/* [uuid][local][object] */
7555
7556
7557EXTERN_C const IID IID_IXCLRDataExceptionNotification4;
7558
7559#if defined(__cplusplus) && !defined(CINTERFACE)
7560
7561 MIDL_INTERFACE("C25E926E-5F09-4AA2-BBAD-B7FC7F10CFD7")
7562 IXCLRDataExceptionNotification4 : public IXCLRDataExceptionNotification3
7563 {
7564 public:
7565 virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherEnter(
7566 /* [in] */ IXCLRDataMethodInstance *catchingMethod,
7567 DWORD catcherNativeOffset) = 0;
7568
7569 };
7570
7571
7572#else /* C style interface */
7573
7574 typedef struct IXCLRDataExceptionNotification4Vtbl
7575 {
7576 BEGIN_INTERFACE
7577
7578 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7579 IXCLRDataExceptionNotification4 * This,
7580 /* [in] */ REFIID riid,
7581 /* [annotation][iid_is][out] */
7582 _COM_Outptr_ void **ppvObject);
7583
7584 ULONG ( STDMETHODCALLTYPE *AddRef )(
7585 IXCLRDataExceptionNotification4 * This);
7586
7587 ULONG ( STDMETHODCALLTYPE *Release )(
7588 IXCLRDataExceptionNotification4 * This);
7589
7590 HRESULT ( STDMETHODCALLTYPE *OnCodeGenerated )(
7591 IXCLRDataExceptionNotification4 * This,
7592 /* [in] */ IXCLRDataMethodInstance *method);
7593
7594 HRESULT ( STDMETHODCALLTYPE *OnCodeDiscarded )(
7595 IXCLRDataExceptionNotification4 * This,
7596 /* [in] */ IXCLRDataMethodInstance *method);
7597
7598 HRESULT ( STDMETHODCALLTYPE *OnProcessExecution )(
7599 IXCLRDataExceptionNotification4 * This,
7600 /* [in] */ ULONG32 state);
7601
7602 HRESULT ( STDMETHODCALLTYPE *OnTaskExecution )(
7603 IXCLRDataExceptionNotification4 * This,
7604 /* [in] */ IXCLRDataTask *task,
7605 /* [in] */ ULONG32 state);
7606
7607 HRESULT ( STDMETHODCALLTYPE *OnModuleLoaded )(
7608 IXCLRDataExceptionNotification4 * This,
7609 /* [in] */ IXCLRDataModule *mod);
7610
7611 HRESULT ( STDMETHODCALLTYPE *OnModuleUnloaded )(
7612 IXCLRDataExceptionNotification4 * This,
7613 /* [in] */ IXCLRDataModule *mod);
7614
7615 HRESULT ( STDMETHODCALLTYPE *OnTypeLoaded )(
7616 IXCLRDataExceptionNotification4 * This,
7617 /* [in] */ IXCLRDataTypeInstance *typeInst);
7618
7619 HRESULT ( STDMETHODCALLTYPE *OnTypeUnloaded )(
7620 IXCLRDataExceptionNotification4 * This,
7621 /* [in] */ IXCLRDataTypeInstance *typeInst);
7622
7623 HRESULT ( STDMETHODCALLTYPE *OnAppDomainLoaded )(
7624 IXCLRDataExceptionNotification4 * This,
7625 /* [in] */ IXCLRDataAppDomain *domain);
7626
7627 HRESULT ( STDMETHODCALLTYPE *OnAppDomainUnloaded )(
7628 IXCLRDataExceptionNotification4 * This,
7629 /* [in] */ IXCLRDataAppDomain *domain);
7630
7631 HRESULT ( STDMETHODCALLTYPE *OnException )(
7632 IXCLRDataExceptionNotification4 * This,
7633 /* [in] */ IXCLRDataExceptionState *exception);
7634
7635 HRESULT ( STDMETHODCALLTYPE *OnGcEvent )(
7636 IXCLRDataExceptionNotification4 * This,
7637 /* [in] */ GcEvtArgs gcEvtArgs);
7638
7639 HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
7640 IXCLRDataExceptionNotification4 * This,
7641 /* [in] */ IXCLRDataMethodInstance *catchingMethod,
7642 DWORD catcherNativeOffset);
7643
7644 END_INTERFACE
7645 } IXCLRDataExceptionNotification4Vtbl;
7646
7647 interface IXCLRDataExceptionNotification4
7648 {
7649 CONST_VTBL struct IXCLRDataExceptionNotification4Vtbl *lpVtbl;
7650 };
7651
7652
7653
7654#ifdef COBJMACROS
7655
7656
7657#define IXCLRDataExceptionNotification4_QueryInterface(This,riid,ppvObject) \
7658 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
7659
7660#define IXCLRDataExceptionNotification4_AddRef(This) \
7661 ( (This)->lpVtbl -> AddRef(This) )
7662
7663#define IXCLRDataExceptionNotification4_Release(This) \
7664 ( (This)->lpVtbl -> Release(This) )
7665
7666
7667#define IXCLRDataExceptionNotification4_OnCodeGenerated(This,method) \
7668 ( (This)->lpVtbl -> OnCodeGenerated(This,method) )
7669
7670#define IXCLRDataExceptionNotification4_OnCodeDiscarded(This,method) \
7671 ( (This)->lpVtbl -> OnCodeDiscarded(This,method) )
7672
7673#define IXCLRDataExceptionNotification4_OnProcessExecution(This,state) \
7674 ( (This)->lpVtbl -> OnProcessExecution(This,state) )
7675
7676#define IXCLRDataExceptionNotification4_OnTaskExecution(This,task,state) \
7677 ( (This)->lpVtbl -> OnTaskExecution(This,task,state) )
7678
7679#define IXCLRDataExceptionNotification4_OnModuleLoaded(This,mod) \
7680 ( (This)->lpVtbl -> OnModuleLoaded(This,mod) )
7681
7682#define IXCLRDataExceptionNotification4_OnModuleUnloaded(This,mod) \
7683 ( (This)->lpVtbl -> OnModuleUnloaded(This,mod) )
7684
7685#define IXCLRDataExceptionNotification4_OnTypeLoaded(This,typeInst) \
7686 ( (This)->lpVtbl -> OnTypeLoaded(This,typeInst) )
7687
7688#define IXCLRDataExceptionNotification4_OnTypeUnloaded(This,typeInst) \
7689 ( (This)->lpVtbl -> OnTypeUnloaded(This,typeInst) )
7690
7691
7692#define IXCLRDataExceptionNotification4_OnAppDomainLoaded(This,domain) \
7693 ( (This)->lpVtbl -> OnAppDomainLoaded(This,domain) )
7694
7695#define IXCLRDataExceptionNotification4_OnAppDomainUnloaded(This,domain) \
7696 ( (This)->lpVtbl -> OnAppDomainUnloaded(This,domain) )
7697
7698#define IXCLRDataExceptionNotification4_OnException(This,exception) \
7699 ( (This)->lpVtbl -> OnException(This,exception) )
7700
7701
7702#define IXCLRDataExceptionNotification4_OnGcEvent(This,gcEvtArgs) \
7703 ( (This)->lpVtbl -> OnGcEvent(This,gcEvtArgs) )
7704
7705
7706#define IXCLRDataExceptionNotification4_ExceptionCatcherEnter(This,catchingMethod,catcherNativeOffset) \
7707 ( (This)->lpVtbl -> ExceptionCatcherEnter(This,catchingMethod,catcherNativeOffset) )
7708
7709#endif /* COBJMACROS */
7710
7711
7712#endif /* C style interface */
7713
7714
7715#ifndef __IXCLRDataExceptionNotification5_INTERFACE_DEFINED__
7716#define __IXCLRDataExceptionNotification5_INTERFACE_DEFINED__
7717
7718/* interface IXCLRDataExceptionNotification5 */
7719/* [uuid][local][object] */
7720
7721
7722EXTERN_C const IID IID_IXCLRDataExceptionNotification5;
7723
7724#if defined(__cplusplus) && !defined(CINTERFACE)
7725
7726 MIDL_INTERFACE("e77a39ea-3548-44d9-b171-8569ed1a9423")
7727 IXCLRDataExceptionNotification5 : public IXCLRDataExceptionNotification4
7728 {
7729 public:
7730 virtual HRESULT STDMETHODCALLTYPE OnCodeGenerated2(
7731 /* [in] */ IXCLRDataMethodInstance *method,
7732 /* [in] */ CLRDATA_ADDRESS nativeCodeLocation) = 0;
7733
7734 };
7735
7736
7737#else /* C style interface */
7738
7739 typedef struct IXCLRDataExceptionNotification5Vtbl
7740 {
7741 BEGIN_INTERFACE
7742
7743 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7744 IXCLRDataExceptionNotification5 * This,
7745 /* [in] */ REFIID riid,
7746 /* [annotation][iid_is][out] */
7747 _COM_Outptr_ void **ppvObject);
7748
7749 ULONG ( STDMETHODCALLTYPE *AddRef )(
7750 IXCLRDataExceptionNotification5 * This);
7751
7752 ULONG ( STDMETHODCALLTYPE *Release )(
7753 IXCLRDataExceptionNotification5 * This);
7754
7755 HRESULT ( STDMETHODCALLTYPE *OnCodeGenerated )(
7756 IXCLRDataExceptionNotification5 * This,
7757 /* [in] */ IXCLRDataMethodInstance *method);
7758
7759 HRESULT ( STDMETHODCALLTYPE *OnCodeDiscarded )(
7760 IXCLRDataExceptionNotification5 * This,
7761 /* [in] */ IXCLRDataMethodInstance *method);
7762
7763 HRESULT ( STDMETHODCALLTYPE *OnProcessExecution )(
7764 IXCLRDataExceptionNotification5 * This,
7765 /* [in] */ ULONG32 state);
7766
7767 HRESULT ( STDMETHODCALLTYPE *OnTaskExecution )(
7768 IXCLRDataExceptionNotification5 * This,
7769 /* [in] */ IXCLRDataTask *task,
7770 /* [in] */ ULONG32 state);
7771
7772 HRESULT ( STDMETHODCALLTYPE *OnModuleLoaded )(
7773 IXCLRDataExceptionNotification5 * This,
7774 /* [in] */ IXCLRDataModule *mod);
7775
7776 HRESULT ( STDMETHODCALLTYPE *OnModuleUnloaded )(
7777 IXCLRDataExceptionNotification5 * This,
7778 /* [in] */ IXCLRDataModule *mod);
7779
7780 HRESULT ( STDMETHODCALLTYPE *OnTypeLoaded )(
7781 IXCLRDataExceptionNotification5 * This,
7782 /* [in] */ IXCLRDataTypeInstance *typeInst);
7783
7784 HRESULT ( STDMETHODCALLTYPE *OnTypeUnloaded )(
7785 IXCLRDataExceptionNotification5 * This,
7786 /* [in] */ IXCLRDataTypeInstance *typeInst);
7787
7788 HRESULT ( STDMETHODCALLTYPE *OnAppDomainLoaded )(
7789 IXCLRDataExceptionNotification5 * This,
7790 /* [in] */ IXCLRDataAppDomain *domain);
7791
7792 HRESULT ( STDMETHODCALLTYPE *OnAppDomainUnloaded )(
7793 IXCLRDataExceptionNotification5 * This,
7794 /* [in] */ IXCLRDataAppDomain *domain);
7795
7796 HRESULT ( STDMETHODCALLTYPE *OnException )(
7797 IXCLRDataExceptionNotification5 * This,
7798 /* [in] */ IXCLRDataExceptionState *exception);
7799
7800 HRESULT ( STDMETHODCALLTYPE *OnGcEvent )(
7801 IXCLRDataExceptionNotification5 * This,
7802 /* [in] */ GcEvtArgs gcEvtArgs);
7803
7804 HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
7805 IXCLRDataExceptionNotification5 * This,
7806 /* [in] */ IXCLRDataMethodInstance *catchingMethod,
7807 DWORD catcherNativeOffset);
7808
7809 HRESULT ( STDMETHODCALLTYPE *OnCodeGenerated2 )(
7810 IXCLRDataExceptionNotification5 * This,
7811 /* [in] */ IXCLRDataMethodInstance *method,
7812 /* [in] */ CLRDATA_ADDRESS nativeCodeLocation);
7813
7814 END_INTERFACE
7815 } IXCLRDataExceptionNotification5Vtbl;
7816
7817 interface IXCLRDataExceptionNotification5
7818 {
7819 CONST_VTBL struct IXCLRDataExceptionNotification5Vtbl *lpVtbl;
7820 };
7821
7822
7823
7824#ifdef COBJMACROS
7825
7826
7827#define IXCLRDataExceptionNotification5_QueryInterface(This,riid,ppvObject) \
7828 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
7829
7830#define IXCLRDataExceptionNotification5_AddRef(This) \
7831 ( (This)->lpVtbl -> AddRef(This) )
7832
7833#define IXCLRDataExceptionNotification5_Release(This) \
7834 ( (This)->lpVtbl -> Release(This) )
7835
7836
7837#define IXCLRDataExceptionNotification5_OnCodeGenerated(This,method) \
7838 ( (This)->lpVtbl -> OnCodeGenerated(This,method) )
7839
7840#define IXCLRDataExceptionNotification5_OnCodeDiscarded(This,method) \
7841 ( (This)->lpVtbl -> OnCodeDiscarded(This,method) )
7842
7843#define IXCLRDataExceptionNotification5_OnProcessExecution(This,state) \
7844 ( (This)->lpVtbl -> OnProcessExecution(This,state) )
7845
7846#define IXCLRDataExceptionNotification5_OnTaskExecution(This,task,state) \
7847 ( (This)->lpVtbl -> OnTaskExecution(This,task,state) )
7848
7849#define IXCLRDataExceptionNotification5_OnModuleLoaded(This,mod) \
7850 ( (This)->lpVtbl -> OnModuleLoaded(This,mod) )
7851
7852#define IXCLRDataExceptionNotification5_OnModuleUnloaded(This,mod) \
7853 ( (This)->lpVtbl -> OnModuleUnloaded(This,mod) )
7854
7855#define IXCLRDataExceptionNotification5_OnTypeLoaded(This,typeInst) \
7856 ( (This)->lpVtbl -> OnTypeLoaded(This,typeInst) )
7857
7858#define IXCLRDataExceptionNotification5_OnTypeUnloaded(This,typeInst) \
7859 ( (This)->lpVtbl -> OnTypeUnloaded(This,typeInst) )
7860
7861
7862#define IXCLRDataExceptionNotification5_OnAppDomainLoaded(This,domain) \
7863 ( (This)->lpVtbl -> OnAppDomainLoaded(This,domain) )
7864
7865#define IXCLRDataExceptionNotification5_OnAppDomainUnloaded(This,domain) \
7866 ( (This)->lpVtbl -> OnAppDomainUnloaded(This,domain) )
7867
7868#define IXCLRDataExceptionNotification5_OnException(This,exception) \
7869 ( (This)->lpVtbl -> OnException(This,exception) )
7870
7871
7872#define IXCLRDataExceptionNotification5_OnGcEvent(This,gcEvtArgs) \
7873 ( (This)->lpVtbl -> OnGcEvent(This,gcEvtArgs) )
7874
7875
7876#define IXCLRDataExceptionNotification5_ExceptionCatcherEnter(This,catchingMethod,catcherNativeOffset) \
7877 ( (This)->lpVtbl -> ExceptionCatcherEnter(This,catchingMethod,catcherNativeOffset) )
7878
7879
7880#define IXCLRDataExceptionNotification5_OnCodeGenerated2(This,method,nativeCodeLocation) \
7881 ( (This)->lpVtbl -> OnCodeGenerated2(This,method,nativeCodeLocation) )
7882
7883#endif /* COBJMACROS */
7884
7885
7886#endif /* C style interface */
7887
7888
7889
7890
7891#endif /* __IXCLRDataExceptionNotification5_INTERFACE_DEFINED__ */
7892
7893
7894
7895
7896#endif /* __IXCLRDataExceptionNotification4_INTERFACE_DEFINED__ */
7897
7898
7899/* Additional Prototypes for ALL interfaces */
7900
7901/* end of Additional Prototypes */
7902
7903#ifdef __cplusplus
7904}
7905#endif
7906
7907#endif
7908
7909
7910