added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Inc / sh.h
blobd4e14d5ff4737266e568b702e83ab4927218e957
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
6 /* File created by MIDL compiler version 7.00.0499 */
7 /* Compiler settings for sh.idl:
8 Oicf, W1, Zp8, env=Win32 (32b run)
9 protocol : dce , ms_ext, c_ext, robust
10 error checks: allocation ref bounds_check enum stub_data
11 VC __declspec() decoration level:
12 __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13 DECLSPEC_UUID(), MIDL_INTERFACE()
15 //@@MIDL_FILE_HEADING( )
17 #pragma warning( disable: 4049 ) /* more than 64k source lines */
20 /* verify that the <rpcndr.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 475
23 #endif
25 /* verify that the <rpcsal.h> version is high enough to compile this file*/
26 #ifndef __REQUIRED_RPCSAL_H_VERSION__
27 #define __REQUIRED_RPCSAL_H_VERSION__ 100
28 #endif
30 #include "rpc.h"
31 #include "rpcndr.h"
33 #ifndef __RPCNDR_H_VERSION__
34 #error this stub requires an updated version of <rpcndr.h>
35 #endif // __RPCNDR_H_VERSION__
37 #ifndef COM_NO_WINDOWS_H
38 #include "windows.h"
39 #include "ole2.h"
40 #endif /*COM_NO_WINDOWS_H*/
42 #ifndef __sh_h__
43 #define __sh_h__
45 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
46 #pragma once
47 #endif
49 /* Forward Declarations */
51 #ifndef __IDebugSymbolProvider_FWD_DEFINED__
52 #define __IDebugSymbolProvider_FWD_DEFINED__
53 typedef interface IDebugSymbolProvider IDebugSymbolProvider;
54 #endif /* __IDebugSymbolProvider_FWD_DEFINED__ */
57 #ifndef __IDebugSymbolProviderDirect_FWD_DEFINED__
58 #define __IDebugSymbolProviderDirect_FWD_DEFINED__
59 typedef interface IDebugSymbolProviderDirect IDebugSymbolProviderDirect;
60 #endif /* __IDebugSymbolProviderDirect_FWD_DEFINED__ */
63 #ifndef __IDebugComPlusSymbolProvider_FWD_DEFINED__
64 #define __IDebugComPlusSymbolProvider_FWD_DEFINED__
65 typedef interface IDebugComPlusSymbolProvider IDebugComPlusSymbolProvider;
66 #endif /* __IDebugComPlusSymbolProvider_FWD_DEFINED__ */
69 #ifndef __IDebugComPlusSymbolProvider2_FWD_DEFINED__
70 #define __IDebugComPlusSymbolProvider2_FWD_DEFINED__
71 typedef interface IDebugComPlusSymbolProvider2 IDebugComPlusSymbolProvider2;
72 #endif /* __IDebugComPlusSymbolProvider2_FWD_DEFINED__ */
75 #ifndef __IDebugSymbolProviderGroup_FWD_DEFINED__
76 #define __IDebugSymbolProviderGroup_FWD_DEFINED__
77 typedef interface IDebugSymbolProviderGroup IDebugSymbolProviderGroup;
78 #endif /* __IDebugSymbolProviderGroup_FWD_DEFINED__ */
81 #ifndef __IDebugGenericFieldDefinition_FWD_DEFINED__
82 #define __IDebugGenericFieldDefinition_FWD_DEFINED__
83 typedef interface IDebugGenericFieldDefinition IDebugGenericFieldDefinition;
84 #endif /* __IDebugGenericFieldDefinition_FWD_DEFINED__ */
87 #ifndef __IDebugGenericFieldInstance_FWD_DEFINED__
88 #define __IDebugGenericFieldInstance_FWD_DEFINED__
89 typedef interface IDebugGenericFieldInstance IDebugGenericFieldInstance;
90 #endif /* __IDebugGenericFieldInstance_FWD_DEFINED__ */
93 #ifndef __IDebugField_FWD_DEFINED__
94 #define __IDebugField_FWD_DEFINED__
95 typedef interface IDebugField IDebugField;
96 #endif /* __IDebugField_FWD_DEFINED__ */
99 #ifndef __IDebugGenericParamField_FWD_DEFINED__
100 #define __IDebugGenericParamField_FWD_DEFINED__
101 typedef interface IDebugGenericParamField IDebugGenericParamField;
102 #endif /* __IDebugGenericParamField_FWD_DEFINED__ */
105 #ifndef __IDebugComPlusSymbolSearchInfo_FWD_DEFINED__
106 #define __IDebugComPlusSymbolSearchInfo_FWD_DEFINED__
107 typedef interface IDebugComPlusSymbolSearchInfo IDebugComPlusSymbolSearchInfo;
108 #endif /* __IDebugComPlusSymbolSearchInfo_FWD_DEFINED__ */
111 #ifndef __IDebugTypeFieldBuilder_FWD_DEFINED__
112 #define __IDebugTypeFieldBuilder_FWD_DEFINED__
113 typedef interface IDebugTypeFieldBuilder IDebugTypeFieldBuilder;
114 #endif /* __IDebugTypeFieldBuilder_FWD_DEFINED__ */
117 #ifndef __IDebugTypeFieldBuilder2_FWD_DEFINED__
118 #define __IDebugTypeFieldBuilder2_FWD_DEFINED__
119 typedef interface IDebugTypeFieldBuilder2 IDebugTypeFieldBuilder2;
120 #endif /* __IDebugTypeFieldBuilder2_FWD_DEFINED__ */
123 #ifndef __IDebugNativeSymbolProvider_FWD_DEFINED__
124 #define __IDebugNativeSymbolProvider_FWD_DEFINED__
125 typedef interface IDebugNativeSymbolProvider IDebugNativeSymbolProvider;
126 #endif /* __IDebugNativeSymbolProvider_FWD_DEFINED__ */
129 #ifndef __IDebugExtendedField_FWD_DEFINED__
130 #define __IDebugExtendedField_FWD_DEFINED__
131 typedef interface IDebugExtendedField IDebugExtendedField;
132 #endif /* __IDebugExtendedField_FWD_DEFINED__ */
135 #ifndef __IDebugPrimitiveTypeField_FWD_DEFINED__
136 #define __IDebugPrimitiveTypeField_FWD_DEFINED__
137 typedef interface IDebugPrimitiveTypeField IDebugPrimitiveTypeField;
138 #endif /* __IDebugPrimitiveTypeField_FWD_DEFINED__ */
141 #ifndef __IDebugContainerField_FWD_DEFINED__
142 #define __IDebugContainerField_FWD_DEFINED__
143 typedef interface IDebugContainerField IDebugContainerField;
144 #endif /* __IDebugContainerField_FWD_DEFINED__ */
147 #ifndef __IDebugMethodField_FWD_DEFINED__
148 #define __IDebugMethodField_FWD_DEFINED__
149 typedef interface IDebugMethodField IDebugMethodField;
150 #endif /* __IDebugMethodField_FWD_DEFINED__ */
153 #ifndef __IDebugThisAdjust_FWD_DEFINED__
154 #define __IDebugThisAdjust_FWD_DEFINED__
155 typedef interface IDebugThisAdjust IDebugThisAdjust;
156 #endif /* __IDebugThisAdjust_FWD_DEFINED__ */
159 #ifndef __IDebugClassField_FWD_DEFINED__
160 #define __IDebugClassField_FWD_DEFINED__
161 typedef interface IDebugClassField IDebugClassField;
162 #endif /* __IDebugClassField_FWD_DEFINED__ */
165 #ifndef __IDebugModOpt_FWD_DEFINED__
166 #define __IDebugModOpt_FWD_DEFINED__
167 typedef interface IDebugModOpt IDebugModOpt;
168 #endif /* __IDebugModOpt_FWD_DEFINED__ */
171 #ifndef __IDebugPropertyField_FWD_DEFINED__
172 #define __IDebugPropertyField_FWD_DEFINED__
173 typedef interface IDebugPropertyField IDebugPropertyField;
174 #endif /* __IDebugPropertyField_FWD_DEFINED__ */
177 #ifndef __IDebugArrayField_FWD_DEFINED__
178 #define __IDebugArrayField_FWD_DEFINED__
179 typedef interface IDebugArrayField IDebugArrayField;
180 #endif /* __IDebugArrayField_FWD_DEFINED__ */
183 #ifndef __IDebugPointerField_FWD_DEFINED__
184 #define __IDebugPointerField_FWD_DEFINED__
185 typedef interface IDebugPointerField IDebugPointerField;
186 #endif /* __IDebugPointerField_FWD_DEFINED__ */
189 #ifndef __IDebugEnumField_FWD_DEFINED__
190 #define __IDebugEnumField_FWD_DEFINED__
191 typedef interface IDebugEnumField IDebugEnumField;
192 #endif /* __IDebugEnumField_FWD_DEFINED__ */
195 #ifndef __IDebugBitField_FWD_DEFINED__
196 #define __IDebugBitField_FWD_DEFINED__
197 typedef interface IDebugBitField IDebugBitField;
198 #endif /* __IDebugBitField_FWD_DEFINED__ */
201 #ifndef __IDebugDynamicField_FWD_DEFINED__
202 #define __IDebugDynamicField_FWD_DEFINED__
203 typedef interface IDebugDynamicField IDebugDynamicField;
204 #endif /* __IDebugDynamicField_FWD_DEFINED__ */
207 #ifndef __IDebugDynamicFieldCOMPlus_FWD_DEFINED__
208 #define __IDebugDynamicFieldCOMPlus_FWD_DEFINED__
209 typedef interface IDebugDynamicFieldCOMPlus IDebugDynamicFieldCOMPlus;
210 #endif /* __IDebugDynamicFieldCOMPlus_FWD_DEFINED__ */
213 #ifndef __IDebugEngineSymbolProviderServices_FWD_DEFINED__
214 #define __IDebugEngineSymbolProviderServices_FWD_DEFINED__
215 typedef interface IDebugEngineSymbolProviderServices IDebugEngineSymbolProviderServices;
216 #endif /* __IDebugEngineSymbolProviderServices_FWD_DEFINED__ */
219 #ifndef __IDebugEngineSymbolProviderServices2_FWD_DEFINED__
220 #define __IDebugEngineSymbolProviderServices2_FWD_DEFINED__
221 typedef interface IDebugEngineSymbolProviderServices2 IDebugEngineSymbolProviderServices2;
222 #endif /* __IDebugEngineSymbolProviderServices2_FWD_DEFINED__ */
225 #ifndef __IDebugAddress_FWD_DEFINED__
226 #define __IDebugAddress_FWD_DEFINED__
227 typedef interface IDebugAddress IDebugAddress;
228 #endif /* __IDebugAddress_FWD_DEFINED__ */
231 #ifndef __IDebugAddress2_FWD_DEFINED__
232 #define __IDebugAddress2_FWD_DEFINED__
233 typedef interface IDebugAddress2 IDebugAddress2;
234 #endif /* __IDebugAddress2_FWD_DEFINED__ */
237 #ifndef __IEnumDebugFields_FWD_DEFINED__
238 #define __IEnumDebugFields_FWD_DEFINED__
239 typedef interface IEnumDebugFields IEnumDebugFields;
240 #endif /* __IEnumDebugFields_FWD_DEFINED__ */
243 #ifndef __IEnumDebugAddresses_FWD_DEFINED__
244 #define __IEnumDebugAddresses_FWD_DEFINED__
245 typedef interface IEnumDebugAddresses IEnumDebugAddresses;
246 #endif /* __IEnumDebugAddresses_FWD_DEFINED__ */
249 #ifndef __IDebugCustomAttributeQuery_FWD_DEFINED__
250 #define __IDebugCustomAttributeQuery_FWD_DEFINED__
251 typedef interface IDebugCustomAttributeQuery IDebugCustomAttributeQuery;
252 #endif /* __IDebugCustomAttributeQuery_FWD_DEFINED__ */
255 #ifndef __IDebugCustomAttribute_FWD_DEFINED__
256 #define __IDebugCustomAttribute_FWD_DEFINED__
257 typedef interface IDebugCustomAttribute IDebugCustomAttribute;
258 #endif /* __IDebugCustomAttribute_FWD_DEFINED__ */
261 #ifndef __IDebugCustomAttributeQuery2_FWD_DEFINED__
262 #define __IDebugCustomAttributeQuery2_FWD_DEFINED__
263 typedef interface IDebugCustomAttributeQuery2 IDebugCustomAttributeQuery2;
264 #endif /* __IDebugCustomAttributeQuery2_FWD_DEFINED__ */
267 #ifndef __IEnumDebugCustomAttributes_FWD_DEFINED__
268 #define __IEnumDebugCustomAttributes_FWD_DEFINED__
269 typedef interface IEnumDebugCustomAttributes IEnumDebugCustomAttributes;
270 #endif /* __IEnumDebugCustomAttributes_FWD_DEFINED__ */
273 #ifndef __SHManaged_FWD_DEFINED__
274 #define __SHManaged_FWD_DEFINED__
276 #ifdef __cplusplus
277 typedef class SHManaged SHManaged;
278 #else
279 typedef struct SHManaged SHManaged;
280 #endif /* __cplusplus */
282 #endif /* __SHManaged_FWD_DEFINED__ */
285 /* header files for imported files */
286 #include "wtypes.h"
287 #include "msdbg.h"
289 #ifdef __cplusplus
290 extern "C"{
291 #endif
294 /* interface __MIDL_itf_sh_0000_0000 */
295 /* [local] */
320 // Symbol provider HRESULTs
322 // HRESULTs: General
323 static const int E_SH_SYMBOL_STORE_NOT_INITIALIZED = MAKE_HRESULT(1, FACILITY_ITF, 0x0001);
324 static const int E_SH_SYMBOL_STORE_ALREADY_INITIALIZED = MAKE_HRESULT(1, FACILITY_ITF, 0x0002);
325 // HRESULTs: GetContainerField and GetTypeFromAddress
326 static const int E_SH_INVALID_ADDRESS = MAKE_HRESULT(1, FACILITY_ITF, 0x0003);
327 // HRESULTs: GetAddressesFromPosition
328 static const int E_SH_NO_SYMBOLS_FOR_POSITION = MAKE_HRESULT(1, FACILITY_ITF, 0x0004);
329 static const int E_SH_INVALID_POSITION = MAKE_HRESULT(1, FACILITY_ITF, 0x0005);
330 // HRESULTs: GetContextFromAddress
331 static const int E_SH_NO_SYMBOLS_FOR_ADDRESS = MAKE_HRESULT(1, FACILITY_ITF, 0x0006);
332 static const int S_SH_ENC_OLD_CONTEXT = MAKE_HRESULT(0, FACILITY_ITF, 0x0040);
333 // HRESULTs: GetAddress
334 static const int E_SH_NO_ADDRESS = MAKE_HRESULT(1, FACILITY_ITF, 0x0007);
335 // HRESULTs: GetType
336 static const int E_SH_NO_TYPE = MAKE_HRESULT(1, FACILITY_ITF, 0x0008);
337 static const int E_SH_DYNAMIC_TYPE = MAKE_HRESULT(1, FACILITY_ITF, 0x0009);
338 // HRESULTs: GetContainer
339 static const int S_SH_NO_CONTAINER = MAKE_HRESULT(0, FACILITY_ITF, 0x000a);
340 // HRESULTs: GetSize
341 static const int S_SH_NO_SIZE = MAKE_HRESULT(0, FACILITY_ITF, 0x000b);
342 static const int E_SH_DYNAMIC_SIZE = MAKE_HRESULT(1, FACILITY_ITF, 0x000c);
343 // HRESULTs: EnumFields
344 static const int S_SH_NO_FIELDS = MAKE_HRESULT(0, FACILITY_ITF, 0x000d);
345 // HRESULTs: GetThis
346 static const int S_SH_METHOD_NO_THIS = MAKE_HRESULT(0, FACILITY_ITF, 0x000e);
347 // HRESULTs: EnumBaseClasses
348 static const int S_SH_NO_BASE_CLASSES = MAKE_HRESULT(0, FACILITY_ITF, 0x000f);
349 static const int E_SH_FILE_NOT_FOUND = MAKE_HRESULT(1, FACILITY_ITF, 0x0010);
350 static const int E_SH_SYMBOLS_NOT_FOUND = MAKE_HRESULT(1, FACILITY_ITF, 0x0020);
351 extern GUID guidSymStoreMetaPDB;
352 extern GUID guidConstantValue;
353 extern GUID guidConstantType;
354 extern GUID guidIntPtr;
355 extern GUID guidValueType;
356 // HRESULTS: GetContextInfo
357 static const int E_SH_NO_DOC_CONTEXT = MAKE_HRESULT(1, FACILITY_ITF, 0x0011);
358 // HRESULTS: ClassRefToClassDef
359 static const int E_SH_CLASSDEFINITION_NOT_LOADED = MAKE_HRESULT(1, FACILITY_ITF, 0x0012);
360 static const int E_SH_MODULE_NOT_LOADED = MAKE_HRESULT(1, FACILITY_ITF, 0x0013);
361 // HRESULTS: ConvertDiaHR
362 static const int E_SH_OK = MAKE_HRESULT(1, FACILITY_ITF, 0x0021);
363 static const int E_SH_USAGE = MAKE_HRESULT(1, FACILITY_ITF, 0x0022);
364 static const int E_SH_OUT_OF_MEMORY = MAKE_HRESULT(1, FACILITY_ITF, 0x0023);
365 static const int E_SH_FILE_SYSTEM = MAKE_HRESULT(1, FACILITY_ITF, 0x0024);
366 static const int E_SH_NOT_FOUND = MAKE_HRESULT(1, FACILITY_ITF, 0x0025);
367 static const int E_SH_INVALID_SIG = MAKE_HRESULT(1, FACILITY_ITF, 0x0026);
368 static const int E_SH_INVALID_AGE = MAKE_HRESULT(1, FACILITY_ITF, 0x0027);
369 static const int E_SH_V1_PDB = MAKE_HRESULT(1, FACILITY_ITF, 0x0028);
370 static const int E_SH_FORMAT = MAKE_HRESULT(1, FACILITY_ITF, 0x0029);
371 static const int E_SH_CORRUPT = MAKE_HRESULT(1, FACILITY_ITF, 0x002a);
372 static const int E_SH_ACCESS_DENIED = MAKE_HRESULT(1, FACILITY_ITF, 0x002b);
373 static const int E_SH_INVALID_EXECUTABLE = MAKE_HRESULT(1, FACILITY_ITF, 0x002c);
374 static const int E_SH_NO_DEBUG_INFO = MAKE_HRESULT(1, FACILITY_ITF, 0x002d);
375 static const int E_SH_INVALID_EXE_TIMESTAMP = MAKE_HRESULT(1, FACILITY_ITF, 0x002e);
376 static const int E_SH_DEBUG_INFO_NOT_IN_PDB = MAKE_HRESULT(1, FACILITY_ITF, 0x0030);
377 // HRESULTS: ConstructInstantiation
378 static const int E_SH_TYPE_ARG_NOT_CLOSED = MAKE_HRESULT(1, FACILITY_ITF, 0x0050);
379 typedef INT32 _mdToken;
381 typedef
382 enum NameMatchOptions
383 { nmNone = 0,
384 nmCaseSensitive = ( nmNone + 1 ) ,
385 nmCaseInsensitive = ( nmCaseSensitive + 1 )
386 } NAME_MATCH;
390 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0000_v0_0_c_ifspec;
391 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0000_v0_0_s_ifspec;
393 #ifndef __IDebugSymbolProvider_INTERFACE_DEFINED__
394 #define __IDebugSymbolProvider_INTERFACE_DEFINED__
396 /* interface IDebugSymbolProvider */
397 /* [unique][uuid][object] */
400 EXTERN_C const IID IID_IDebugSymbolProvider;
402 #if defined(__cplusplus) && !defined(CINTERFACE)
404 MIDL_INTERFACE("c2e34eae-8b9d-11d2-9014-00c04fa38338")
405 IDebugSymbolProvider : public IUnknown
407 public:
408 virtual HRESULT STDMETHODCALLTYPE Initialize(
409 /* [in] */ __RPC__in_opt IDebugEngineSymbolProviderServices *pServices) = 0;
411 virtual HRESULT STDMETHODCALLTYPE Uninitialize( void) = 0;
413 virtual HRESULT STDMETHODCALLTYPE GetContainerField(
414 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
415 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField) = 0;
417 virtual HRESULT STDMETHODCALLTYPE GetField(
418 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
419 /* [in] */ __RPC__in_opt IDebugAddress *pAddressCur,
420 /* [out] */ __RPC__deref_out_opt IDebugField **ppField) = 0;
422 virtual HRESULT STDMETHODCALLTYPE GetAddressesFromPosition(
423 /* [in] */ __RPC__in_opt IDebugDocumentPosition2 *pDocPos,
424 /* [in] */ BOOL fStatmentOnly,
425 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
426 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses) = 0;
428 virtual HRESULT STDMETHODCALLTYPE GetAddressesFromContext(
429 /* [in] */ __RPC__in_opt IDebugDocumentContext2 *pDocContext,
430 /* [in] */ BOOL fStatmentOnly,
431 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
432 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses) = 0;
434 virtual HRESULT STDMETHODCALLTYPE GetContextFromAddress(
435 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
436 /* [out] */ __RPC__deref_out_opt IDebugDocumentContext2 **ppDocContext) = 0;
438 virtual HRESULT STDMETHODCALLTYPE GetLanguage(
439 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
440 /* [out] */ __RPC__out GUID *pguidLanguage,
441 /* [out] */ __RPC__out GUID *pguidLanguageVendor) = 0;
443 virtual HRESULT STDMETHODCALLTYPE GetGlobalContainer(
444 /* [out] */ __RPC__deref_out_opt IDebugContainerField **pField) = 0;
446 virtual HRESULT STDMETHODCALLTYPE GetMethodFieldsByName(
447 /* [full][in] */ __RPC__in_opt LPCOLESTR pszFullName,
448 /* [in] */ NAME_MATCH nameMatch,
449 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
451 virtual HRESULT STDMETHODCALLTYPE GetClassTypeByName(
452 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
453 /* [in] */ NAME_MATCH nameMatch,
454 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppField) = 0;
456 virtual HRESULT STDMETHODCALLTYPE GetNamespacesUsedAtAddress(
457 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
458 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
460 virtual HRESULT STDMETHODCALLTYPE GetTypeByName(
461 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
462 /* [in] */ NAME_MATCH nameMatch,
463 /* [out] */ __RPC__deref_out_opt IDebugField **ppField) = 0;
465 virtual HRESULT STDMETHODCALLTYPE GetNextAddress(
466 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
467 /* [in] */ BOOL fStatmentOnly,
468 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress) = 0;
472 #else /* C style interface */
474 typedef struct IDebugSymbolProviderVtbl
476 BEGIN_INTERFACE
478 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
479 IDebugSymbolProvider * This,
480 /* [in] */ __RPC__in REFIID riid,
481 /* [iid_is][out] */
482 __RPC__deref_out void **ppvObject);
484 ULONG ( STDMETHODCALLTYPE *AddRef )(
485 IDebugSymbolProvider * This);
487 ULONG ( STDMETHODCALLTYPE *Release )(
488 IDebugSymbolProvider * This);
490 HRESULT ( STDMETHODCALLTYPE *Initialize )(
491 IDebugSymbolProvider * This,
492 /* [in] */ __RPC__in_opt IDebugEngineSymbolProviderServices *pServices);
494 HRESULT ( STDMETHODCALLTYPE *Uninitialize )(
495 IDebugSymbolProvider * This);
497 HRESULT ( STDMETHODCALLTYPE *GetContainerField )(
498 IDebugSymbolProvider * This,
499 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
500 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
502 HRESULT ( STDMETHODCALLTYPE *GetField )(
503 IDebugSymbolProvider * This,
504 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
505 /* [in] */ __RPC__in_opt IDebugAddress *pAddressCur,
506 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
508 HRESULT ( STDMETHODCALLTYPE *GetAddressesFromPosition )(
509 IDebugSymbolProvider * This,
510 /* [in] */ __RPC__in_opt IDebugDocumentPosition2 *pDocPos,
511 /* [in] */ BOOL fStatmentOnly,
512 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
513 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
515 HRESULT ( STDMETHODCALLTYPE *GetAddressesFromContext )(
516 IDebugSymbolProvider * This,
517 /* [in] */ __RPC__in_opt IDebugDocumentContext2 *pDocContext,
518 /* [in] */ BOOL fStatmentOnly,
519 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
520 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
522 HRESULT ( STDMETHODCALLTYPE *GetContextFromAddress )(
523 IDebugSymbolProvider * This,
524 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
525 /* [out] */ __RPC__deref_out_opt IDebugDocumentContext2 **ppDocContext);
527 HRESULT ( STDMETHODCALLTYPE *GetLanguage )(
528 IDebugSymbolProvider * This,
529 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
530 /* [out] */ __RPC__out GUID *pguidLanguage,
531 /* [out] */ __RPC__out GUID *pguidLanguageVendor);
533 HRESULT ( STDMETHODCALLTYPE *GetGlobalContainer )(
534 IDebugSymbolProvider * This,
535 /* [out] */ __RPC__deref_out_opt IDebugContainerField **pField);
537 HRESULT ( STDMETHODCALLTYPE *GetMethodFieldsByName )(
538 IDebugSymbolProvider * This,
539 /* [full][in] */ __RPC__in_opt LPCOLESTR pszFullName,
540 /* [in] */ NAME_MATCH nameMatch,
541 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
543 HRESULT ( STDMETHODCALLTYPE *GetClassTypeByName )(
544 IDebugSymbolProvider * This,
545 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
546 /* [in] */ NAME_MATCH nameMatch,
547 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppField);
549 HRESULT ( STDMETHODCALLTYPE *GetNamespacesUsedAtAddress )(
550 IDebugSymbolProvider * This,
551 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
552 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
554 HRESULT ( STDMETHODCALLTYPE *GetTypeByName )(
555 IDebugSymbolProvider * This,
556 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
557 /* [in] */ NAME_MATCH nameMatch,
558 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
560 HRESULT ( STDMETHODCALLTYPE *GetNextAddress )(
561 IDebugSymbolProvider * This,
562 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
563 /* [in] */ BOOL fStatmentOnly,
564 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
566 END_INTERFACE
567 } IDebugSymbolProviderVtbl;
569 interface IDebugSymbolProvider
571 CONST_VTBL struct IDebugSymbolProviderVtbl *lpVtbl;
576 #ifdef COBJMACROS
579 #define IDebugSymbolProvider_QueryInterface(This,riid,ppvObject) \
580 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
582 #define IDebugSymbolProvider_AddRef(This) \
583 ( (This)->lpVtbl -> AddRef(This) )
585 #define IDebugSymbolProvider_Release(This) \
586 ( (This)->lpVtbl -> Release(This) )
589 #define IDebugSymbolProvider_Initialize(This,pServices) \
590 ( (This)->lpVtbl -> Initialize(This,pServices) )
592 #define IDebugSymbolProvider_Uninitialize(This) \
593 ( (This)->lpVtbl -> Uninitialize(This) )
595 #define IDebugSymbolProvider_GetContainerField(This,pAddress,ppContainerField) \
596 ( (This)->lpVtbl -> GetContainerField(This,pAddress,ppContainerField) )
598 #define IDebugSymbolProvider_GetField(This,pAddress,pAddressCur,ppField) \
599 ( (This)->lpVtbl -> GetField(This,pAddress,pAddressCur,ppField) )
601 #define IDebugSymbolProvider_GetAddressesFromPosition(This,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
602 ( (This)->lpVtbl -> GetAddressesFromPosition(This,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
604 #define IDebugSymbolProvider_GetAddressesFromContext(This,pDocContext,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
605 ( (This)->lpVtbl -> GetAddressesFromContext(This,pDocContext,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
607 #define IDebugSymbolProvider_GetContextFromAddress(This,pAddress,ppDocContext) \
608 ( (This)->lpVtbl -> GetContextFromAddress(This,pAddress,ppDocContext) )
610 #define IDebugSymbolProvider_GetLanguage(This,pAddress,pguidLanguage,pguidLanguageVendor) \
611 ( (This)->lpVtbl -> GetLanguage(This,pAddress,pguidLanguage,pguidLanguageVendor) )
613 #define IDebugSymbolProvider_GetGlobalContainer(This,pField) \
614 ( (This)->lpVtbl -> GetGlobalContainer(This,pField) )
616 #define IDebugSymbolProvider_GetMethodFieldsByName(This,pszFullName,nameMatch,ppEnum) \
617 ( (This)->lpVtbl -> GetMethodFieldsByName(This,pszFullName,nameMatch,ppEnum) )
619 #define IDebugSymbolProvider_GetClassTypeByName(This,pszClassName,nameMatch,ppField) \
620 ( (This)->lpVtbl -> GetClassTypeByName(This,pszClassName,nameMatch,ppField) )
622 #define IDebugSymbolProvider_GetNamespacesUsedAtAddress(This,pAddress,ppEnum) \
623 ( (This)->lpVtbl -> GetNamespacesUsedAtAddress(This,pAddress,ppEnum) )
625 #define IDebugSymbolProvider_GetTypeByName(This,pszClassName,nameMatch,ppField) \
626 ( (This)->lpVtbl -> GetTypeByName(This,pszClassName,nameMatch,ppField) )
628 #define IDebugSymbolProvider_GetNextAddress(This,pAddress,fStatmentOnly,ppAddress) \
629 ( (This)->lpVtbl -> GetNextAddress(This,pAddress,fStatmentOnly,ppAddress) )
631 #endif /* COBJMACROS */
634 #endif /* C style interface */
639 #endif /* __IDebugSymbolProvider_INTERFACE_DEFINED__ */
642 #ifndef __IDebugSymbolProviderDirect_INTERFACE_DEFINED__
643 #define __IDebugSymbolProviderDirect_INTERFACE_DEFINED__
645 /* interface IDebugSymbolProviderDirect */
646 /* [unique][uuid][object] */
649 EXTERN_C const IID IID_IDebugSymbolProviderDirect;
651 #if defined(__cplusplus) && !defined(CINTERFACE)
653 MIDL_INTERFACE("533A62E9-FDDD-4fef-B7C3-BE4117773087")
654 IDebugSymbolProviderDirect : public IUnknown
656 public:
657 virtual HRESULT STDMETHODCALLTYPE GetCurrentModulesState(
658 /* [out] */ __RPC__out DWORD *pState,
659 /* [out] */ __RPC__out unsigned long *count) = 0;
661 virtual HRESULT STDMETHODCALLTYPE GetMethodFromAddress(
662 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
663 /* [out] */ __RPC__out GUID *pGuid,
664 /* [out] */ __RPC__out DWORD *pAppID,
665 /* [out] */ __RPC__out _mdToken *pTokenClass,
666 /* [out] */ __RPC__out _mdToken *pTokenMethod,
667 /* [out] */ __RPC__out DWORD *pdwOffset,
668 /* [out] */ __RPC__out DWORD *pdwVersion) = 0;
670 virtual HRESULT STDMETHODCALLTYPE GetAppIDFromAddress(
671 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
672 /* [out] */ __RPC__out DWORD *pAppID) = 0;
674 virtual HRESULT STDMETHODCALLTYPE GetMetaDataImport(
675 /* [in] */ __RPC__in GUID *guid,
676 /* [in] */ DWORD appID,
677 /* [out] */ __RPC__deref_out_opt IUnknown **ppImport) = 0;
679 virtual HRESULT STDMETHODCALLTYPE GetSymUnmanagedReader(
680 /* [in] */ ULONG32 ulAppDomainID,
681 /* [in] */ GUID guidModule,
682 /* [out] */ __RPC__deref_out_opt IUnknown **ppSymUnmanagedReader) = 0;
684 virtual HRESULT STDMETHODCALLTYPE GetCurrentModulesInfo(
685 /* [out][in] */ __RPC__inout unsigned long *pCount,
686 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pCount, *pCount) GUID *ppGuids,
687 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pCount, *pCount) DWORD *pADIds,
688 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pCount, *pCount) DWORD *pCurrentState,
689 /* [length_is][size_is][full][out][in] */ __RPC__inout_ecount_part_opt(*pCount, *pCount) IUnknown **ppCDModItfs) = 0;
693 #else /* C style interface */
695 typedef struct IDebugSymbolProviderDirectVtbl
697 BEGIN_INTERFACE
699 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
700 IDebugSymbolProviderDirect * This,
701 /* [in] */ __RPC__in REFIID riid,
702 /* [iid_is][out] */
703 __RPC__deref_out void **ppvObject);
705 ULONG ( STDMETHODCALLTYPE *AddRef )(
706 IDebugSymbolProviderDirect * This);
708 ULONG ( STDMETHODCALLTYPE *Release )(
709 IDebugSymbolProviderDirect * This);
711 HRESULT ( STDMETHODCALLTYPE *GetCurrentModulesState )(
712 IDebugSymbolProviderDirect * This,
713 /* [out] */ __RPC__out DWORD *pState,
714 /* [out] */ __RPC__out unsigned long *count);
716 HRESULT ( STDMETHODCALLTYPE *GetMethodFromAddress )(
717 IDebugSymbolProviderDirect * This,
718 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
719 /* [out] */ __RPC__out GUID *pGuid,
720 /* [out] */ __RPC__out DWORD *pAppID,
721 /* [out] */ __RPC__out _mdToken *pTokenClass,
722 /* [out] */ __RPC__out _mdToken *pTokenMethod,
723 /* [out] */ __RPC__out DWORD *pdwOffset,
724 /* [out] */ __RPC__out DWORD *pdwVersion);
726 HRESULT ( STDMETHODCALLTYPE *GetAppIDFromAddress )(
727 IDebugSymbolProviderDirect * This,
728 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
729 /* [out] */ __RPC__out DWORD *pAppID);
731 HRESULT ( STDMETHODCALLTYPE *GetMetaDataImport )(
732 IDebugSymbolProviderDirect * This,
733 /* [in] */ __RPC__in GUID *guid,
734 /* [in] */ DWORD appID,
735 /* [out] */ __RPC__deref_out_opt IUnknown **ppImport);
737 HRESULT ( STDMETHODCALLTYPE *GetSymUnmanagedReader )(
738 IDebugSymbolProviderDirect * This,
739 /* [in] */ ULONG32 ulAppDomainID,
740 /* [in] */ GUID guidModule,
741 /* [out] */ __RPC__deref_out_opt IUnknown **ppSymUnmanagedReader);
743 HRESULT ( STDMETHODCALLTYPE *GetCurrentModulesInfo )(
744 IDebugSymbolProviderDirect * This,
745 /* [out][in] */ __RPC__inout unsigned long *pCount,
746 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pCount, *pCount) GUID *ppGuids,
747 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pCount, *pCount) DWORD *pADIds,
748 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pCount, *pCount) DWORD *pCurrentState,
749 /* [length_is][size_is][full][out][in] */ __RPC__inout_ecount_part_opt(*pCount, *pCount) IUnknown **ppCDModItfs);
751 END_INTERFACE
752 } IDebugSymbolProviderDirectVtbl;
754 interface IDebugSymbolProviderDirect
756 CONST_VTBL struct IDebugSymbolProviderDirectVtbl *lpVtbl;
761 #ifdef COBJMACROS
764 #define IDebugSymbolProviderDirect_QueryInterface(This,riid,ppvObject) \
765 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
767 #define IDebugSymbolProviderDirect_AddRef(This) \
768 ( (This)->lpVtbl -> AddRef(This) )
770 #define IDebugSymbolProviderDirect_Release(This) \
771 ( (This)->lpVtbl -> Release(This) )
774 #define IDebugSymbolProviderDirect_GetCurrentModulesState(This,pState,count) \
775 ( (This)->lpVtbl -> GetCurrentModulesState(This,pState,count) )
777 #define IDebugSymbolProviderDirect_GetMethodFromAddress(This,pAddress,pGuid,pAppID,pTokenClass,pTokenMethod,pdwOffset,pdwVersion) \
778 ( (This)->lpVtbl -> GetMethodFromAddress(This,pAddress,pGuid,pAppID,pTokenClass,pTokenMethod,pdwOffset,pdwVersion) )
780 #define IDebugSymbolProviderDirect_GetAppIDFromAddress(This,pAddress,pAppID) \
781 ( (This)->lpVtbl -> GetAppIDFromAddress(This,pAddress,pAppID) )
783 #define IDebugSymbolProviderDirect_GetMetaDataImport(This,guid,appID,ppImport) \
784 ( (This)->lpVtbl -> GetMetaDataImport(This,guid,appID,ppImport) )
786 #define IDebugSymbolProviderDirect_GetSymUnmanagedReader(This,ulAppDomainID,guidModule,ppSymUnmanagedReader) \
787 ( (This)->lpVtbl -> GetSymUnmanagedReader(This,ulAppDomainID,guidModule,ppSymUnmanagedReader) )
789 #define IDebugSymbolProviderDirect_GetCurrentModulesInfo(This,pCount,ppGuids,pADIds,pCurrentState,ppCDModItfs) \
790 ( (This)->lpVtbl -> GetCurrentModulesInfo(This,pCount,ppGuids,pADIds,pCurrentState,ppCDModItfs) )
792 #endif /* COBJMACROS */
795 #endif /* C style interface */
800 #endif /* __IDebugSymbolProviderDirect_INTERFACE_DEFINED__ */
803 /* interface __MIDL_itf_sh_0000_0002 */
804 /* [local] */
806 #pragma warning(push)
807 #pragma warning(disable:28718)
810 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0002_v0_0_c_ifspec;
811 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0002_v0_0_s_ifspec;
813 #ifndef __IDebugComPlusSymbolProvider_INTERFACE_DEFINED__
814 #define __IDebugComPlusSymbolProvider_INTERFACE_DEFINED__
816 /* interface IDebugComPlusSymbolProvider */
817 /* [unique][uuid][object] */
820 EXTERN_C const IID IID_IDebugComPlusSymbolProvider;
822 #if defined(__cplusplus) && !defined(CINTERFACE)
824 MIDL_INTERFACE("c2e34eaf-8b9d-11d2-9014-00c04fa38338")
825 IDebugComPlusSymbolProvider : public IDebugSymbolProvider
827 public:
828 virtual HRESULT STDMETHODCALLTYPE LoadSymbols(
829 /* [in] */ ULONG32 ulAppDomainID,
830 /* [in] */ GUID guidModule,
831 /* [in] */ ULONGLONG baseAddress,
832 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
833 /* [in] */ __RPC__in BSTR bstrModuleName,
834 /* [in] */ __RPC__in BSTR bstrSymSearchPath) = 0;
836 virtual HRESULT STDMETHODCALLTYPE UnloadSymbols(
837 /* [in] */ ULONG32 ulAppDomainID,
838 /* [in] */ GUID guidModule) = 0;
840 virtual HRESULT STDMETHODCALLTYPE GetEntryPoint(
841 /* [in] */ ULONG32 ulAppDomainID,
842 /* [in] */ GUID guidModule,
843 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress) = 0;
845 virtual HRESULT STDMETHODCALLTYPE GetTypeFromAddress(
846 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
847 /* [out] */ __RPC__deref_out_opt IDebugField **ppField) = 0;
849 virtual HRESULT STDMETHODCALLTYPE UpdateSymbols(
850 /* [in] */ ULONG32 ulAppDomainID,
851 /* [in] */ GUID guidModule,
852 /* [in] */ __RPC__in_opt IStream *pUpdateStream) = 0;
854 virtual HRESULT STDMETHODCALLTYPE CreateTypeFromPrimitive(
855 /* [in] */ DWORD dwPrimType,
856 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
857 /* [in] */ __RPC__deref_in_opt IDebugField **ppType) = 0;
859 virtual HRESULT STDMETHODCALLTYPE GetFunctionLineOffset(
860 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
861 /* [in] */ DWORD dwLine,
862 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppNewAddress) = 0;
864 virtual HRESULT STDMETHODCALLTYPE GetAddressesInModuleFromPosition(
865 /* [in] */ ULONG32 ulAppDomainID,
866 /* [in] */ GUID guidModule,
867 /* [in] */ __RPC__in_opt IDebugDocumentPosition2 *pDocPos,
868 /* [in] */ BOOL fStatmentOnly,
869 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
870 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses) = 0;
872 virtual HRESULT STDMETHODCALLTYPE GetArrayTypeFromAddress(
873 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
874 /* [length_is][size_is][in] */ __RPC__in_ecount_part(dwSigLength, dwSigLength) BYTE *pSig,
875 /* [in] */ DWORD dwSigLength,
876 /* [out] */ __RPC__deref_out_opt IDebugField **ppField) = 0;
878 virtual HRESULT STDMETHODCALLTYPE GetSymAttribute(
879 /* [in] */ ULONG32 ulAppDomainID,
880 /* [in] */ GUID guidModule,
881 /* [in] */ _mdToken tokParent,
882 /* [in] */ __RPC__in LPOLESTR pstrName,
883 /* [in] */ ULONG32 cBuffer,
884 /* [out] */ __RPC__out ULONG32 *pcBuffer,
885 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cBuffer, *pcBuffer) BYTE *buffer) = 0;
887 virtual HRESULT STDMETHODCALLTYPE ReplaceSymbols(
888 /* [in] */ ULONG32 ulAppDomainID,
889 /* [in] */ GUID guidModule,
890 /* [in] */ __RPC__in_opt IStream *pStream) = 0;
892 virtual HRESULT STDMETHODCALLTYPE AreSymbolsLoaded(
893 /* [in] */ ULONG32 ulAppDomainID,
894 /* [in] */ GUID guidModule) = 0;
896 virtual HRESULT STDMETHODCALLTYPE LoadSymbolsFromStream(
897 /* [in] */ ULONG32 ulAppDomainID,
898 /* [in] */ GUID guidModule,
899 /* [in] */ ULONGLONG baseAddress,
900 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
901 /* [in] */ __RPC__in_opt IStream *pStream) = 0;
903 virtual HRESULT STDMETHODCALLTYPE GetSymUnmanagedReader(
904 /* [in] */ ULONG32 ulAppDomainID,
905 /* [in] */ GUID guidModule,
906 /* [out] */ __RPC__deref_out_opt IUnknown **ppSymUnmanagedReader) = 0;
908 virtual HRESULT STDMETHODCALLTYPE GetAttributedClassesinModule(
909 /* [in] */ ULONG32 ulAppDomainID,
910 /* [in] */ GUID guidModule,
911 /* [in] */ __RPC__in LPOLESTR pstrAttribute,
912 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
914 virtual HRESULT STDMETHODCALLTYPE GetAttributedClassesForLanguage(
915 /* [in] */ GUID guidLanguage,
916 /* [in] */ __RPC__in LPOLESTR pstrAttribute,
917 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
919 virtual HRESULT STDMETHODCALLTYPE IsHiddenCode(
920 /* [in] */ __RPC__in_opt IDebugAddress *pAddress) = 0;
922 virtual HRESULT STDMETHODCALLTYPE IsFunctionDeleted(
923 /* [in] */ __RPC__in_opt IDebugAddress *pAddress) = 0;
925 virtual HRESULT STDMETHODCALLTYPE GetNameFromToken(
926 /* [in] */ __RPC__in_opt IUnknown *pMetadataImport,
927 /* [in] */ DWORD dwToken,
928 /* [out] */ __RPC__deref_out_opt BSTR *pbstrName) = 0;
930 virtual HRESULT STDMETHODCALLTYPE IsFunctionStale(
931 /* [in] */ __RPC__in_opt IDebugAddress *pAddress) = 0;
933 virtual HRESULT STDMETHODCALLTYPE GetLocalVariablelayout(
934 /* [in] */ ULONG32 ulAppDomainID,
935 /* [in] */ GUID guidModule,
936 /* [in] */ ULONG32 cMethods,
937 /* [size_is][in] */ __RPC__in_ecount_full(cMethods) _mdToken rgMethodTokens[ ],
938 /* [out] */ __RPC__deref_out_opt IStream **pStreamLayout) = 0;
940 virtual HRESULT STDMETHODCALLTYPE GetAssemblyName(
941 /* [in] */ ULONG32 ulAppDomainID,
942 /* [in] */ GUID guidModule,
943 /* [out] */ __RPC__deref_out_opt BSTR *pbstrName) = 0;
947 #else /* C style interface */
949 typedef struct IDebugComPlusSymbolProviderVtbl
951 BEGIN_INTERFACE
953 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
954 IDebugComPlusSymbolProvider * This,
955 /* [in] */ __RPC__in REFIID riid,
956 /* [iid_is][out] */
957 __RPC__deref_out void **ppvObject);
959 ULONG ( STDMETHODCALLTYPE *AddRef )(
960 IDebugComPlusSymbolProvider * This);
962 ULONG ( STDMETHODCALLTYPE *Release )(
963 IDebugComPlusSymbolProvider * This);
965 HRESULT ( STDMETHODCALLTYPE *Initialize )(
966 IDebugComPlusSymbolProvider * This,
967 /* [in] */ __RPC__in_opt IDebugEngineSymbolProviderServices *pServices);
969 HRESULT ( STDMETHODCALLTYPE *Uninitialize )(
970 IDebugComPlusSymbolProvider * This);
972 HRESULT ( STDMETHODCALLTYPE *GetContainerField )(
973 IDebugComPlusSymbolProvider * This,
974 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
975 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
977 HRESULT ( STDMETHODCALLTYPE *GetField )(
978 IDebugComPlusSymbolProvider * This,
979 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
980 /* [in] */ __RPC__in_opt IDebugAddress *pAddressCur,
981 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
983 HRESULT ( STDMETHODCALLTYPE *GetAddressesFromPosition )(
984 IDebugComPlusSymbolProvider * This,
985 /* [in] */ __RPC__in_opt IDebugDocumentPosition2 *pDocPos,
986 /* [in] */ BOOL fStatmentOnly,
987 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
988 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
990 HRESULT ( STDMETHODCALLTYPE *GetAddressesFromContext )(
991 IDebugComPlusSymbolProvider * This,
992 /* [in] */ __RPC__in_opt IDebugDocumentContext2 *pDocContext,
993 /* [in] */ BOOL fStatmentOnly,
994 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
995 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
997 HRESULT ( STDMETHODCALLTYPE *GetContextFromAddress )(
998 IDebugComPlusSymbolProvider * This,
999 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1000 /* [out] */ __RPC__deref_out_opt IDebugDocumentContext2 **ppDocContext);
1002 HRESULT ( STDMETHODCALLTYPE *GetLanguage )(
1003 IDebugComPlusSymbolProvider * This,
1004 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1005 /* [out] */ __RPC__out GUID *pguidLanguage,
1006 /* [out] */ __RPC__out GUID *pguidLanguageVendor);
1008 HRESULT ( STDMETHODCALLTYPE *GetGlobalContainer )(
1009 IDebugComPlusSymbolProvider * This,
1010 /* [out] */ __RPC__deref_out_opt IDebugContainerField **pField);
1012 HRESULT ( STDMETHODCALLTYPE *GetMethodFieldsByName )(
1013 IDebugComPlusSymbolProvider * This,
1014 /* [full][in] */ __RPC__in_opt LPCOLESTR pszFullName,
1015 /* [in] */ NAME_MATCH nameMatch,
1016 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1018 HRESULT ( STDMETHODCALLTYPE *GetClassTypeByName )(
1019 IDebugComPlusSymbolProvider * This,
1020 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
1021 /* [in] */ NAME_MATCH nameMatch,
1022 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppField);
1024 HRESULT ( STDMETHODCALLTYPE *GetNamespacesUsedAtAddress )(
1025 IDebugComPlusSymbolProvider * This,
1026 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1027 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1029 HRESULT ( STDMETHODCALLTYPE *GetTypeByName )(
1030 IDebugComPlusSymbolProvider * This,
1031 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
1032 /* [in] */ NAME_MATCH nameMatch,
1033 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
1035 HRESULT ( STDMETHODCALLTYPE *GetNextAddress )(
1036 IDebugComPlusSymbolProvider * This,
1037 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1038 /* [in] */ BOOL fStatmentOnly,
1039 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
1041 HRESULT ( STDMETHODCALLTYPE *LoadSymbols )(
1042 IDebugComPlusSymbolProvider * This,
1043 /* [in] */ ULONG32 ulAppDomainID,
1044 /* [in] */ GUID guidModule,
1045 /* [in] */ ULONGLONG baseAddress,
1046 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1047 /* [in] */ __RPC__in BSTR bstrModuleName,
1048 /* [in] */ __RPC__in BSTR bstrSymSearchPath);
1050 HRESULT ( STDMETHODCALLTYPE *UnloadSymbols )(
1051 IDebugComPlusSymbolProvider * This,
1052 /* [in] */ ULONG32 ulAppDomainID,
1053 /* [in] */ GUID guidModule);
1055 HRESULT ( STDMETHODCALLTYPE *GetEntryPoint )(
1056 IDebugComPlusSymbolProvider * This,
1057 /* [in] */ ULONG32 ulAppDomainID,
1058 /* [in] */ GUID guidModule,
1059 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
1061 HRESULT ( STDMETHODCALLTYPE *GetTypeFromAddress )(
1062 IDebugComPlusSymbolProvider * This,
1063 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1064 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
1066 HRESULT ( STDMETHODCALLTYPE *UpdateSymbols )(
1067 IDebugComPlusSymbolProvider * This,
1068 /* [in] */ ULONG32 ulAppDomainID,
1069 /* [in] */ GUID guidModule,
1070 /* [in] */ __RPC__in_opt IStream *pUpdateStream);
1072 HRESULT ( STDMETHODCALLTYPE *CreateTypeFromPrimitive )(
1073 IDebugComPlusSymbolProvider * This,
1074 /* [in] */ DWORD dwPrimType,
1075 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1076 /* [in] */ __RPC__deref_in_opt IDebugField **ppType);
1078 HRESULT ( STDMETHODCALLTYPE *GetFunctionLineOffset )(
1079 IDebugComPlusSymbolProvider * This,
1080 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1081 /* [in] */ DWORD dwLine,
1082 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppNewAddress);
1084 HRESULT ( STDMETHODCALLTYPE *GetAddressesInModuleFromPosition )(
1085 IDebugComPlusSymbolProvider * This,
1086 /* [in] */ ULONG32 ulAppDomainID,
1087 /* [in] */ GUID guidModule,
1088 /* [in] */ __RPC__in_opt IDebugDocumentPosition2 *pDocPos,
1089 /* [in] */ BOOL fStatmentOnly,
1090 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
1091 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
1093 HRESULT ( STDMETHODCALLTYPE *GetArrayTypeFromAddress )(
1094 IDebugComPlusSymbolProvider * This,
1095 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1096 /* [length_is][size_is][in] */ __RPC__in_ecount_part(dwSigLength, dwSigLength) BYTE *pSig,
1097 /* [in] */ DWORD dwSigLength,
1098 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
1100 HRESULT ( STDMETHODCALLTYPE *GetSymAttribute )(
1101 IDebugComPlusSymbolProvider * This,
1102 /* [in] */ ULONG32 ulAppDomainID,
1103 /* [in] */ GUID guidModule,
1104 /* [in] */ _mdToken tokParent,
1105 /* [in] */ __RPC__in LPOLESTR pstrName,
1106 /* [in] */ ULONG32 cBuffer,
1107 /* [out] */ __RPC__out ULONG32 *pcBuffer,
1108 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cBuffer, *pcBuffer) BYTE *buffer);
1110 HRESULT ( STDMETHODCALLTYPE *ReplaceSymbols )(
1111 IDebugComPlusSymbolProvider * This,
1112 /* [in] */ ULONG32 ulAppDomainID,
1113 /* [in] */ GUID guidModule,
1114 /* [in] */ __RPC__in_opt IStream *pStream);
1116 HRESULT ( STDMETHODCALLTYPE *AreSymbolsLoaded )(
1117 IDebugComPlusSymbolProvider * This,
1118 /* [in] */ ULONG32 ulAppDomainID,
1119 /* [in] */ GUID guidModule);
1121 HRESULT ( STDMETHODCALLTYPE *LoadSymbolsFromStream )(
1122 IDebugComPlusSymbolProvider * This,
1123 /* [in] */ ULONG32 ulAppDomainID,
1124 /* [in] */ GUID guidModule,
1125 /* [in] */ ULONGLONG baseAddress,
1126 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1127 /* [in] */ __RPC__in_opt IStream *pStream);
1129 HRESULT ( STDMETHODCALLTYPE *GetSymUnmanagedReader )(
1130 IDebugComPlusSymbolProvider * This,
1131 /* [in] */ ULONG32 ulAppDomainID,
1132 /* [in] */ GUID guidModule,
1133 /* [out] */ __RPC__deref_out_opt IUnknown **ppSymUnmanagedReader);
1135 HRESULT ( STDMETHODCALLTYPE *GetAttributedClassesinModule )(
1136 IDebugComPlusSymbolProvider * This,
1137 /* [in] */ ULONG32 ulAppDomainID,
1138 /* [in] */ GUID guidModule,
1139 /* [in] */ __RPC__in LPOLESTR pstrAttribute,
1140 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1142 HRESULT ( STDMETHODCALLTYPE *GetAttributedClassesForLanguage )(
1143 IDebugComPlusSymbolProvider * This,
1144 /* [in] */ GUID guidLanguage,
1145 /* [in] */ __RPC__in LPOLESTR pstrAttribute,
1146 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1148 HRESULT ( STDMETHODCALLTYPE *IsHiddenCode )(
1149 IDebugComPlusSymbolProvider * This,
1150 /* [in] */ __RPC__in_opt IDebugAddress *pAddress);
1152 HRESULT ( STDMETHODCALLTYPE *IsFunctionDeleted )(
1153 IDebugComPlusSymbolProvider * This,
1154 /* [in] */ __RPC__in_opt IDebugAddress *pAddress);
1156 HRESULT ( STDMETHODCALLTYPE *GetNameFromToken )(
1157 IDebugComPlusSymbolProvider * This,
1158 /* [in] */ __RPC__in_opt IUnknown *pMetadataImport,
1159 /* [in] */ DWORD dwToken,
1160 /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
1162 HRESULT ( STDMETHODCALLTYPE *IsFunctionStale )(
1163 IDebugComPlusSymbolProvider * This,
1164 /* [in] */ __RPC__in_opt IDebugAddress *pAddress);
1166 HRESULT ( STDMETHODCALLTYPE *GetLocalVariablelayout )(
1167 IDebugComPlusSymbolProvider * This,
1168 /* [in] */ ULONG32 ulAppDomainID,
1169 /* [in] */ GUID guidModule,
1170 /* [in] */ ULONG32 cMethods,
1171 /* [size_is][in] */ __RPC__in_ecount_full(cMethods) _mdToken rgMethodTokens[ ],
1172 /* [out] */ __RPC__deref_out_opt IStream **pStreamLayout);
1174 HRESULT ( STDMETHODCALLTYPE *GetAssemblyName )(
1175 IDebugComPlusSymbolProvider * This,
1176 /* [in] */ ULONG32 ulAppDomainID,
1177 /* [in] */ GUID guidModule,
1178 /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
1180 END_INTERFACE
1181 } IDebugComPlusSymbolProviderVtbl;
1183 interface IDebugComPlusSymbolProvider
1185 CONST_VTBL struct IDebugComPlusSymbolProviderVtbl *lpVtbl;
1190 #ifdef COBJMACROS
1193 #define IDebugComPlusSymbolProvider_QueryInterface(This,riid,ppvObject) \
1194 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1196 #define IDebugComPlusSymbolProvider_AddRef(This) \
1197 ( (This)->lpVtbl -> AddRef(This) )
1199 #define IDebugComPlusSymbolProvider_Release(This) \
1200 ( (This)->lpVtbl -> Release(This) )
1203 #define IDebugComPlusSymbolProvider_Initialize(This,pServices) \
1204 ( (This)->lpVtbl -> Initialize(This,pServices) )
1206 #define IDebugComPlusSymbolProvider_Uninitialize(This) \
1207 ( (This)->lpVtbl -> Uninitialize(This) )
1209 #define IDebugComPlusSymbolProvider_GetContainerField(This,pAddress,ppContainerField) \
1210 ( (This)->lpVtbl -> GetContainerField(This,pAddress,ppContainerField) )
1212 #define IDebugComPlusSymbolProvider_GetField(This,pAddress,pAddressCur,ppField) \
1213 ( (This)->lpVtbl -> GetField(This,pAddress,pAddressCur,ppField) )
1215 #define IDebugComPlusSymbolProvider_GetAddressesFromPosition(This,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
1216 ( (This)->lpVtbl -> GetAddressesFromPosition(This,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
1218 #define IDebugComPlusSymbolProvider_GetAddressesFromContext(This,pDocContext,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
1219 ( (This)->lpVtbl -> GetAddressesFromContext(This,pDocContext,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
1221 #define IDebugComPlusSymbolProvider_GetContextFromAddress(This,pAddress,ppDocContext) \
1222 ( (This)->lpVtbl -> GetContextFromAddress(This,pAddress,ppDocContext) )
1224 #define IDebugComPlusSymbolProvider_GetLanguage(This,pAddress,pguidLanguage,pguidLanguageVendor) \
1225 ( (This)->lpVtbl -> GetLanguage(This,pAddress,pguidLanguage,pguidLanguageVendor) )
1227 #define IDebugComPlusSymbolProvider_GetGlobalContainer(This,pField) \
1228 ( (This)->lpVtbl -> GetGlobalContainer(This,pField) )
1230 #define IDebugComPlusSymbolProvider_GetMethodFieldsByName(This,pszFullName,nameMatch,ppEnum) \
1231 ( (This)->lpVtbl -> GetMethodFieldsByName(This,pszFullName,nameMatch,ppEnum) )
1233 #define IDebugComPlusSymbolProvider_GetClassTypeByName(This,pszClassName,nameMatch,ppField) \
1234 ( (This)->lpVtbl -> GetClassTypeByName(This,pszClassName,nameMatch,ppField) )
1236 #define IDebugComPlusSymbolProvider_GetNamespacesUsedAtAddress(This,pAddress,ppEnum) \
1237 ( (This)->lpVtbl -> GetNamespacesUsedAtAddress(This,pAddress,ppEnum) )
1239 #define IDebugComPlusSymbolProvider_GetTypeByName(This,pszClassName,nameMatch,ppField) \
1240 ( (This)->lpVtbl -> GetTypeByName(This,pszClassName,nameMatch,ppField) )
1242 #define IDebugComPlusSymbolProvider_GetNextAddress(This,pAddress,fStatmentOnly,ppAddress) \
1243 ( (This)->lpVtbl -> GetNextAddress(This,pAddress,fStatmentOnly,ppAddress) )
1246 #define IDebugComPlusSymbolProvider_LoadSymbols(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,bstrModuleName,bstrSymSearchPath) \
1247 ( (This)->lpVtbl -> LoadSymbols(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,bstrModuleName,bstrSymSearchPath) )
1249 #define IDebugComPlusSymbolProvider_UnloadSymbols(This,ulAppDomainID,guidModule) \
1250 ( (This)->lpVtbl -> UnloadSymbols(This,ulAppDomainID,guidModule) )
1252 #define IDebugComPlusSymbolProvider_GetEntryPoint(This,ulAppDomainID,guidModule,ppAddress) \
1253 ( (This)->lpVtbl -> GetEntryPoint(This,ulAppDomainID,guidModule,ppAddress) )
1255 #define IDebugComPlusSymbolProvider_GetTypeFromAddress(This,pAddress,ppField) \
1256 ( (This)->lpVtbl -> GetTypeFromAddress(This,pAddress,ppField) )
1258 #define IDebugComPlusSymbolProvider_UpdateSymbols(This,ulAppDomainID,guidModule,pUpdateStream) \
1259 ( (This)->lpVtbl -> UpdateSymbols(This,ulAppDomainID,guidModule,pUpdateStream) )
1261 #define IDebugComPlusSymbolProvider_CreateTypeFromPrimitive(This,dwPrimType,pAddress,ppType) \
1262 ( (This)->lpVtbl -> CreateTypeFromPrimitive(This,dwPrimType,pAddress,ppType) )
1264 #define IDebugComPlusSymbolProvider_GetFunctionLineOffset(This,pAddress,dwLine,ppNewAddress) \
1265 ( (This)->lpVtbl -> GetFunctionLineOffset(This,pAddress,dwLine,ppNewAddress) )
1267 #define IDebugComPlusSymbolProvider_GetAddressesInModuleFromPosition(This,ulAppDomainID,guidModule,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
1268 ( (This)->lpVtbl -> GetAddressesInModuleFromPosition(This,ulAppDomainID,guidModule,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
1270 #define IDebugComPlusSymbolProvider_GetArrayTypeFromAddress(This,pAddress,pSig,dwSigLength,ppField) \
1271 ( (This)->lpVtbl -> GetArrayTypeFromAddress(This,pAddress,pSig,dwSigLength,ppField) )
1273 #define IDebugComPlusSymbolProvider_GetSymAttribute(This,ulAppDomainID,guidModule,tokParent,pstrName,cBuffer,pcBuffer,buffer) \
1274 ( (This)->lpVtbl -> GetSymAttribute(This,ulAppDomainID,guidModule,tokParent,pstrName,cBuffer,pcBuffer,buffer) )
1276 #define IDebugComPlusSymbolProvider_ReplaceSymbols(This,ulAppDomainID,guidModule,pStream) \
1277 ( (This)->lpVtbl -> ReplaceSymbols(This,ulAppDomainID,guidModule,pStream) )
1279 #define IDebugComPlusSymbolProvider_AreSymbolsLoaded(This,ulAppDomainID,guidModule) \
1280 ( (This)->lpVtbl -> AreSymbolsLoaded(This,ulAppDomainID,guidModule) )
1282 #define IDebugComPlusSymbolProvider_LoadSymbolsFromStream(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pStream) \
1283 ( (This)->lpVtbl -> LoadSymbolsFromStream(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pStream) )
1285 #define IDebugComPlusSymbolProvider_GetSymUnmanagedReader(This,ulAppDomainID,guidModule,ppSymUnmanagedReader) \
1286 ( (This)->lpVtbl -> GetSymUnmanagedReader(This,ulAppDomainID,guidModule,ppSymUnmanagedReader) )
1288 #define IDebugComPlusSymbolProvider_GetAttributedClassesinModule(This,ulAppDomainID,guidModule,pstrAttribute,ppEnum) \
1289 ( (This)->lpVtbl -> GetAttributedClassesinModule(This,ulAppDomainID,guidModule,pstrAttribute,ppEnum) )
1291 #define IDebugComPlusSymbolProvider_GetAttributedClassesForLanguage(This,guidLanguage,pstrAttribute,ppEnum) \
1292 ( (This)->lpVtbl -> GetAttributedClassesForLanguage(This,guidLanguage,pstrAttribute,ppEnum) )
1294 #define IDebugComPlusSymbolProvider_IsHiddenCode(This,pAddress) \
1295 ( (This)->lpVtbl -> IsHiddenCode(This,pAddress) )
1297 #define IDebugComPlusSymbolProvider_IsFunctionDeleted(This,pAddress) \
1298 ( (This)->lpVtbl -> IsFunctionDeleted(This,pAddress) )
1300 #define IDebugComPlusSymbolProvider_GetNameFromToken(This,pMetadataImport,dwToken,pbstrName) \
1301 ( (This)->lpVtbl -> GetNameFromToken(This,pMetadataImport,dwToken,pbstrName) )
1303 #define IDebugComPlusSymbolProvider_IsFunctionStale(This,pAddress) \
1304 ( (This)->lpVtbl -> IsFunctionStale(This,pAddress) )
1306 #define IDebugComPlusSymbolProvider_GetLocalVariablelayout(This,ulAppDomainID,guidModule,cMethods,rgMethodTokens,pStreamLayout) \
1307 ( (This)->lpVtbl -> GetLocalVariablelayout(This,ulAppDomainID,guidModule,cMethods,rgMethodTokens,pStreamLayout) )
1309 #define IDebugComPlusSymbolProvider_GetAssemblyName(This,ulAppDomainID,guidModule,pbstrName) \
1310 ( (This)->lpVtbl -> GetAssemblyName(This,ulAppDomainID,guidModule,pbstrName) )
1312 #endif /* COBJMACROS */
1315 #endif /* C style interface */
1320 #endif /* __IDebugComPlusSymbolProvider_INTERFACE_DEFINED__ */
1323 /* interface __MIDL_itf_sh_0000_0003 */
1324 /* [local] */
1326 #pragma warning(pop)
1329 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0003_v0_0_c_ifspec;
1330 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0003_v0_0_s_ifspec;
1332 #ifndef __IDebugComPlusSymbolProvider2_INTERFACE_DEFINED__
1333 #define __IDebugComPlusSymbolProvider2_INTERFACE_DEFINED__
1335 /* interface IDebugComPlusSymbolProvider2 */
1336 /* [unique][uuid][object] */
1339 EXTERN_C const IID IID_IDebugComPlusSymbolProvider2;
1341 #if defined(__cplusplus) && !defined(CINTERFACE)
1343 MIDL_INTERFACE("29D97D99-2C50-4855-BC74-B3E372DDD602")
1344 IDebugComPlusSymbolProvider2 : public IDebugComPlusSymbolProvider
1346 public:
1347 virtual HRESULT STDMETHODCALLTYPE LoadSymbolsFromCallback(
1348 /* [in] */ ULONG32 ulAppDomainID,
1349 /* [in] */ GUID guidModule,
1350 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1351 /* [in] */ __RPC__in_opt IUnknown *pUnkCorDebugModule,
1352 /* [in] */ __RPC__in BSTR bstrModuleName,
1353 /* [in] */ __RPC__in BSTR bstrSymSearchPath,
1354 /* [in] */ __RPC__in_opt IUnknown *pCallback) = 0;
1356 virtual HRESULT STDMETHODCALLTYPE IsAddressSequencePoint(
1357 /* [in] */ __RPC__in_opt IDebugAddress *pAddress) = 0;
1359 virtual HRESULT STDMETHODCALLTYPE FunctionHasLineInfo(
1360 /* [in] */ __RPC__in_opt IDebugAddress *pAddress) = 0;
1362 virtual HRESULT STDMETHODCALLTYPE GetTypesByName(
1363 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
1364 /* [in] */ NAME_MATCH nameMatch,
1365 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
1367 virtual HRESULT STDMETHODCALLTYPE LoadSymbolsWithCorModule(
1368 /* [in] */ ULONG32 ulAppDomainID,
1369 /* [in] */ GUID guidModule,
1370 /* [in] */ ULONGLONG baseAddress,
1371 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1372 /* [in] */ __RPC__in_opt IUnknown *pUnkCorDebugModule,
1373 /* [in] */ __RPC__in BSTR bstrModuleName,
1374 /* [in] */ __RPC__in BSTR bstrSymSearchPath) = 0;
1376 virtual HRESULT STDMETHODCALLTYPE LoadSymbolsFromStreamWithCorModule(
1377 /* [in] */ ULONG32 ulAppDomainID,
1378 /* [in] */ GUID guidModule,
1379 /* [in] */ ULONGLONG baseAddress,
1380 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1381 /* [in] */ __RPC__in_opt IUnknown *pUnkCorDebugModule,
1382 /* [in] */ __RPC__in_opt IStream *pStream) = 0;
1384 virtual HRESULT STDMETHODCALLTYPE GetTypeFromToken(
1385 /* [in] */ ULONG32 appDomain,
1386 /* [in] */ GUID guidModule,
1387 /* [in] */ DWORD tdToken,
1388 /* [out] */ __RPC__deref_out_opt IDebugField **ppField) = 0;
1392 #else /* C style interface */
1394 typedef struct IDebugComPlusSymbolProvider2Vtbl
1396 BEGIN_INTERFACE
1398 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1399 IDebugComPlusSymbolProvider2 * This,
1400 /* [in] */ __RPC__in REFIID riid,
1401 /* [iid_is][out] */
1402 __RPC__deref_out void **ppvObject);
1404 ULONG ( STDMETHODCALLTYPE *AddRef )(
1405 IDebugComPlusSymbolProvider2 * This);
1407 ULONG ( STDMETHODCALLTYPE *Release )(
1408 IDebugComPlusSymbolProvider2 * This);
1410 HRESULT ( STDMETHODCALLTYPE *Initialize )(
1411 IDebugComPlusSymbolProvider2 * This,
1412 /* [in] */ __RPC__in_opt IDebugEngineSymbolProviderServices *pServices);
1414 HRESULT ( STDMETHODCALLTYPE *Uninitialize )(
1415 IDebugComPlusSymbolProvider2 * This);
1417 HRESULT ( STDMETHODCALLTYPE *GetContainerField )(
1418 IDebugComPlusSymbolProvider2 * This,
1419 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1420 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
1422 HRESULT ( STDMETHODCALLTYPE *GetField )(
1423 IDebugComPlusSymbolProvider2 * This,
1424 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1425 /* [in] */ __RPC__in_opt IDebugAddress *pAddressCur,
1426 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
1428 HRESULT ( STDMETHODCALLTYPE *GetAddressesFromPosition )(
1429 IDebugComPlusSymbolProvider2 * This,
1430 /* [in] */ __RPC__in_opt IDebugDocumentPosition2 *pDocPos,
1431 /* [in] */ BOOL fStatmentOnly,
1432 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
1433 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
1435 HRESULT ( STDMETHODCALLTYPE *GetAddressesFromContext )(
1436 IDebugComPlusSymbolProvider2 * This,
1437 /* [in] */ __RPC__in_opt IDebugDocumentContext2 *pDocContext,
1438 /* [in] */ BOOL fStatmentOnly,
1439 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
1440 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
1442 HRESULT ( STDMETHODCALLTYPE *GetContextFromAddress )(
1443 IDebugComPlusSymbolProvider2 * This,
1444 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1445 /* [out] */ __RPC__deref_out_opt IDebugDocumentContext2 **ppDocContext);
1447 HRESULT ( STDMETHODCALLTYPE *GetLanguage )(
1448 IDebugComPlusSymbolProvider2 * This,
1449 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1450 /* [out] */ __RPC__out GUID *pguidLanguage,
1451 /* [out] */ __RPC__out GUID *pguidLanguageVendor);
1453 HRESULT ( STDMETHODCALLTYPE *GetGlobalContainer )(
1454 IDebugComPlusSymbolProvider2 * This,
1455 /* [out] */ __RPC__deref_out_opt IDebugContainerField **pField);
1457 HRESULT ( STDMETHODCALLTYPE *GetMethodFieldsByName )(
1458 IDebugComPlusSymbolProvider2 * This,
1459 /* [full][in] */ __RPC__in_opt LPCOLESTR pszFullName,
1460 /* [in] */ NAME_MATCH nameMatch,
1461 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1463 HRESULT ( STDMETHODCALLTYPE *GetClassTypeByName )(
1464 IDebugComPlusSymbolProvider2 * This,
1465 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
1466 /* [in] */ NAME_MATCH nameMatch,
1467 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppField);
1469 HRESULT ( STDMETHODCALLTYPE *GetNamespacesUsedAtAddress )(
1470 IDebugComPlusSymbolProvider2 * This,
1471 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1472 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1474 HRESULT ( STDMETHODCALLTYPE *GetTypeByName )(
1475 IDebugComPlusSymbolProvider2 * This,
1476 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
1477 /* [in] */ NAME_MATCH nameMatch,
1478 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
1480 HRESULT ( STDMETHODCALLTYPE *GetNextAddress )(
1481 IDebugComPlusSymbolProvider2 * This,
1482 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1483 /* [in] */ BOOL fStatmentOnly,
1484 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
1486 HRESULT ( STDMETHODCALLTYPE *LoadSymbols )(
1487 IDebugComPlusSymbolProvider2 * This,
1488 /* [in] */ ULONG32 ulAppDomainID,
1489 /* [in] */ GUID guidModule,
1490 /* [in] */ ULONGLONG baseAddress,
1491 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1492 /* [in] */ __RPC__in BSTR bstrModuleName,
1493 /* [in] */ __RPC__in BSTR bstrSymSearchPath);
1495 HRESULT ( STDMETHODCALLTYPE *UnloadSymbols )(
1496 IDebugComPlusSymbolProvider2 * This,
1497 /* [in] */ ULONG32 ulAppDomainID,
1498 /* [in] */ GUID guidModule);
1500 HRESULT ( STDMETHODCALLTYPE *GetEntryPoint )(
1501 IDebugComPlusSymbolProvider2 * This,
1502 /* [in] */ ULONG32 ulAppDomainID,
1503 /* [in] */ GUID guidModule,
1504 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
1506 HRESULT ( STDMETHODCALLTYPE *GetTypeFromAddress )(
1507 IDebugComPlusSymbolProvider2 * This,
1508 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1509 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
1511 HRESULT ( STDMETHODCALLTYPE *UpdateSymbols )(
1512 IDebugComPlusSymbolProvider2 * This,
1513 /* [in] */ ULONG32 ulAppDomainID,
1514 /* [in] */ GUID guidModule,
1515 /* [in] */ __RPC__in_opt IStream *pUpdateStream);
1517 HRESULT ( STDMETHODCALLTYPE *CreateTypeFromPrimitive )(
1518 IDebugComPlusSymbolProvider2 * This,
1519 /* [in] */ DWORD dwPrimType,
1520 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1521 /* [in] */ __RPC__deref_in_opt IDebugField **ppType);
1523 HRESULT ( STDMETHODCALLTYPE *GetFunctionLineOffset )(
1524 IDebugComPlusSymbolProvider2 * This,
1525 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1526 /* [in] */ DWORD dwLine,
1527 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppNewAddress);
1529 HRESULT ( STDMETHODCALLTYPE *GetAddressesInModuleFromPosition )(
1530 IDebugComPlusSymbolProvider2 * This,
1531 /* [in] */ ULONG32 ulAppDomainID,
1532 /* [in] */ GUID guidModule,
1533 /* [in] */ __RPC__in_opt IDebugDocumentPosition2 *pDocPos,
1534 /* [in] */ BOOL fStatmentOnly,
1535 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
1536 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
1538 HRESULT ( STDMETHODCALLTYPE *GetArrayTypeFromAddress )(
1539 IDebugComPlusSymbolProvider2 * This,
1540 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
1541 /* [length_is][size_is][in] */ __RPC__in_ecount_part(dwSigLength, dwSigLength) BYTE *pSig,
1542 /* [in] */ DWORD dwSigLength,
1543 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
1545 HRESULT ( STDMETHODCALLTYPE *GetSymAttribute )(
1546 IDebugComPlusSymbolProvider2 * This,
1547 /* [in] */ ULONG32 ulAppDomainID,
1548 /* [in] */ GUID guidModule,
1549 /* [in] */ _mdToken tokParent,
1550 /* [in] */ __RPC__in LPOLESTR pstrName,
1551 /* [in] */ ULONG32 cBuffer,
1552 /* [out] */ __RPC__out ULONG32 *pcBuffer,
1553 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cBuffer, *pcBuffer) BYTE *buffer);
1555 HRESULT ( STDMETHODCALLTYPE *ReplaceSymbols )(
1556 IDebugComPlusSymbolProvider2 * This,
1557 /* [in] */ ULONG32 ulAppDomainID,
1558 /* [in] */ GUID guidModule,
1559 /* [in] */ __RPC__in_opt IStream *pStream);
1561 HRESULT ( STDMETHODCALLTYPE *AreSymbolsLoaded )(
1562 IDebugComPlusSymbolProvider2 * This,
1563 /* [in] */ ULONG32 ulAppDomainID,
1564 /* [in] */ GUID guidModule);
1566 HRESULT ( STDMETHODCALLTYPE *LoadSymbolsFromStream )(
1567 IDebugComPlusSymbolProvider2 * This,
1568 /* [in] */ ULONG32 ulAppDomainID,
1569 /* [in] */ GUID guidModule,
1570 /* [in] */ ULONGLONG baseAddress,
1571 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1572 /* [in] */ __RPC__in_opt IStream *pStream);
1574 HRESULT ( STDMETHODCALLTYPE *GetSymUnmanagedReader )(
1575 IDebugComPlusSymbolProvider2 * This,
1576 /* [in] */ ULONG32 ulAppDomainID,
1577 /* [in] */ GUID guidModule,
1578 /* [out] */ __RPC__deref_out_opt IUnknown **ppSymUnmanagedReader);
1580 HRESULT ( STDMETHODCALLTYPE *GetAttributedClassesinModule )(
1581 IDebugComPlusSymbolProvider2 * This,
1582 /* [in] */ ULONG32 ulAppDomainID,
1583 /* [in] */ GUID guidModule,
1584 /* [in] */ __RPC__in LPOLESTR pstrAttribute,
1585 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1587 HRESULT ( STDMETHODCALLTYPE *GetAttributedClassesForLanguage )(
1588 IDebugComPlusSymbolProvider2 * This,
1589 /* [in] */ GUID guidLanguage,
1590 /* [in] */ __RPC__in LPOLESTR pstrAttribute,
1591 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1593 HRESULT ( STDMETHODCALLTYPE *IsHiddenCode )(
1594 IDebugComPlusSymbolProvider2 * This,
1595 /* [in] */ __RPC__in_opt IDebugAddress *pAddress);
1597 HRESULT ( STDMETHODCALLTYPE *IsFunctionDeleted )(
1598 IDebugComPlusSymbolProvider2 * This,
1599 /* [in] */ __RPC__in_opt IDebugAddress *pAddress);
1601 HRESULT ( STDMETHODCALLTYPE *GetNameFromToken )(
1602 IDebugComPlusSymbolProvider2 * This,
1603 /* [in] */ __RPC__in_opt IUnknown *pMetadataImport,
1604 /* [in] */ DWORD dwToken,
1605 /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
1607 HRESULT ( STDMETHODCALLTYPE *IsFunctionStale )(
1608 IDebugComPlusSymbolProvider2 * This,
1609 /* [in] */ __RPC__in_opt IDebugAddress *pAddress);
1611 HRESULT ( STDMETHODCALLTYPE *GetLocalVariablelayout )(
1612 IDebugComPlusSymbolProvider2 * This,
1613 /* [in] */ ULONG32 ulAppDomainID,
1614 /* [in] */ GUID guidModule,
1615 /* [in] */ ULONG32 cMethods,
1616 /* [size_is][in] */ __RPC__in_ecount_full(cMethods) _mdToken rgMethodTokens[ ],
1617 /* [out] */ __RPC__deref_out_opt IStream **pStreamLayout);
1619 HRESULT ( STDMETHODCALLTYPE *GetAssemblyName )(
1620 IDebugComPlusSymbolProvider2 * This,
1621 /* [in] */ ULONG32 ulAppDomainID,
1622 /* [in] */ GUID guidModule,
1623 /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
1625 HRESULT ( STDMETHODCALLTYPE *LoadSymbolsFromCallback )(
1626 IDebugComPlusSymbolProvider2 * This,
1627 /* [in] */ ULONG32 ulAppDomainID,
1628 /* [in] */ GUID guidModule,
1629 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1630 /* [in] */ __RPC__in_opt IUnknown *pUnkCorDebugModule,
1631 /* [in] */ __RPC__in BSTR bstrModuleName,
1632 /* [in] */ __RPC__in BSTR bstrSymSearchPath,
1633 /* [in] */ __RPC__in_opt IUnknown *pCallback);
1635 HRESULT ( STDMETHODCALLTYPE *IsAddressSequencePoint )(
1636 IDebugComPlusSymbolProvider2 * This,
1637 /* [in] */ __RPC__in_opt IDebugAddress *pAddress);
1639 HRESULT ( STDMETHODCALLTYPE *FunctionHasLineInfo )(
1640 IDebugComPlusSymbolProvider2 * This,
1641 /* [in] */ __RPC__in_opt IDebugAddress *pAddress);
1643 HRESULT ( STDMETHODCALLTYPE *GetTypesByName )(
1644 IDebugComPlusSymbolProvider2 * This,
1645 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
1646 /* [in] */ NAME_MATCH nameMatch,
1647 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
1649 HRESULT ( STDMETHODCALLTYPE *LoadSymbolsWithCorModule )(
1650 IDebugComPlusSymbolProvider2 * This,
1651 /* [in] */ ULONG32 ulAppDomainID,
1652 /* [in] */ GUID guidModule,
1653 /* [in] */ ULONGLONG baseAddress,
1654 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1655 /* [in] */ __RPC__in_opt IUnknown *pUnkCorDebugModule,
1656 /* [in] */ __RPC__in BSTR bstrModuleName,
1657 /* [in] */ __RPC__in BSTR bstrSymSearchPath);
1659 HRESULT ( STDMETHODCALLTYPE *LoadSymbolsFromStreamWithCorModule )(
1660 IDebugComPlusSymbolProvider2 * This,
1661 /* [in] */ ULONG32 ulAppDomainID,
1662 /* [in] */ GUID guidModule,
1663 /* [in] */ ULONGLONG baseAddress,
1664 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
1665 /* [in] */ __RPC__in_opt IUnknown *pUnkCorDebugModule,
1666 /* [in] */ __RPC__in_opt IStream *pStream);
1668 HRESULT ( STDMETHODCALLTYPE *GetTypeFromToken )(
1669 IDebugComPlusSymbolProvider2 * This,
1670 /* [in] */ ULONG32 appDomain,
1671 /* [in] */ GUID guidModule,
1672 /* [in] */ DWORD tdToken,
1673 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
1675 END_INTERFACE
1676 } IDebugComPlusSymbolProvider2Vtbl;
1678 interface IDebugComPlusSymbolProvider2
1680 CONST_VTBL struct IDebugComPlusSymbolProvider2Vtbl *lpVtbl;
1685 #ifdef COBJMACROS
1688 #define IDebugComPlusSymbolProvider2_QueryInterface(This,riid,ppvObject) \
1689 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1691 #define IDebugComPlusSymbolProvider2_AddRef(This) \
1692 ( (This)->lpVtbl -> AddRef(This) )
1694 #define IDebugComPlusSymbolProvider2_Release(This) \
1695 ( (This)->lpVtbl -> Release(This) )
1698 #define IDebugComPlusSymbolProvider2_Initialize(This,pServices) \
1699 ( (This)->lpVtbl -> Initialize(This,pServices) )
1701 #define IDebugComPlusSymbolProvider2_Uninitialize(This) \
1702 ( (This)->lpVtbl -> Uninitialize(This) )
1704 #define IDebugComPlusSymbolProvider2_GetContainerField(This,pAddress,ppContainerField) \
1705 ( (This)->lpVtbl -> GetContainerField(This,pAddress,ppContainerField) )
1707 #define IDebugComPlusSymbolProvider2_GetField(This,pAddress,pAddressCur,ppField) \
1708 ( (This)->lpVtbl -> GetField(This,pAddress,pAddressCur,ppField) )
1710 #define IDebugComPlusSymbolProvider2_GetAddressesFromPosition(This,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
1711 ( (This)->lpVtbl -> GetAddressesFromPosition(This,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
1713 #define IDebugComPlusSymbolProvider2_GetAddressesFromContext(This,pDocContext,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
1714 ( (This)->lpVtbl -> GetAddressesFromContext(This,pDocContext,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
1716 #define IDebugComPlusSymbolProvider2_GetContextFromAddress(This,pAddress,ppDocContext) \
1717 ( (This)->lpVtbl -> GetContextFromAddress(This,pAddress,ppDocContext) )
1719 #define IDebugComPlusSymbolProvider2_GetLanguage(This,pAddress,pguidLanguage,pguidLanguageVendor) \
1720 ( (This)->lpVtbl -> GetLanguage(This,pAddress,pguidLanguage,pguidLanguageVendor) )
1722 #define IDebugComPlusSymbolProvider2_GetGlobalContainer(This,pField) \
1723 ( (This)->lpVtbl -> GetGlobalContainer(This,pField) )
1725 #define IDebugComPlusSymbolProvider2_GetMethodFieldsByName(This,pszFullName,nameMatch,ppEnum) \
1726 ( (This)->lpVtbl -> GetMethodFieldsByName(This,pszFullName,nameMatch,ppEnum) )
1728 #define IDebugComPlusSymbolProvider2_GetClassTypeByName(This,pszClassName,nameMatch,ppField) \
1729 ( (This)->lpVtbl -> GetClassTypeByName(This,pszClassName,nameMatch,ppField) )
1731 #define IDebugComPlusSymbolProvider2_GetNamespacesUsedAtAddress(This,pAddress,ppEnum) \
1732 ( (This)->lpVtbl -> GetNamespacesUsedAtAddress(This,pAddress,ppEnum) )
1734 #define IDebugComPlusSymbolProvider2_GetTypeByName(This,pszClassName,nameMatch,ppField) \
1735 ( (This)->lpVtbl -> GetTypeByName(This,pszClassName,nameMatch,ppField) )
1737 #define IDebugComPlusSymbolProvider2_GetNextAddress(This,pAddress,fStatmentOnly,ppAddress) \
1738 ( (This)->lpVtbl -> GetNextAddress(This,pAddress,fStatmentOnly,ppAddress) )
1741 #define IDebugComPlusSymbolProvider2_LoadSymbols(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,bstrModuleName,bstrSymSearchPath) \
1742 ( (This)->lpVtbl -> LoadSymbols(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,bstrModuleName,bstrSymSearchPath) )
1744 #define IDebugComPlusSymbolProvider2_UnloadSymbols(This,ulAppDomainID,guidModule) \
1745 ( (This)->lpVtbl -> UnloadSymbols(This,ulAppDomainID,guidModule) )
1747 #define IDebugComPlusSymbolProvider2_GetEntryPoint(This,ulAppDomainID,guidModule,ppAddress) \
1748 ( (This)->lpVtbl -> GetEntryPoint(This,ulAppDomainID,guidModule,ppAddress) )
1750 #define IDebugComPlusSymbolProvider2_GetTypeFromAddress(This,pAddress,ppField) \
1751 ( (This)->lpVtbl -> GetTypeFromAddress(This,pAddress,ppField) )
1753 #define IDebugComPlusSymbolProvider2_UpdateSymbols(This,ulAppDomainID,guidModule,pUpdateStream) \
1754 ( (This)->lpVtbl -> UpdateSymbols(This,ulAppDomainID,guidModule,pUpdateStream) )
1756 #define IDebugComPlusSymbolProvider2_CreateTypeFromPrimitive(This,dwPrimType,pAddress,ppType) \
1757 ( (This)->lpVtbl -> CreateTypeFromPrimitive(This,dwPrimType,pAddress,ppType) )
1759 #define IDebugComPlusSymbolProvider2_GetFunctionLineOffset(This,pAddress,dwLine,ppNewAddress) \
1760 ( (This)->lpVtbl -> GetFunctionLineOffset(This,pAddress,dwLine,ppNewAddress) )
1762 #define IDebugComPlusSymbolProvider2_GetAddressesInModuleFromPosition(This,ulAppDomainID,guidModule,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
1763 ( (This)->lpVtbl -> GetAddressesInModuleFromPosition(This,ulAppDomainID,guidModule,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
1765 #define IDebugComPlusSymbolProvider2_GetArrayTypeFromAddress(This,pAddress,pSig,dwSigLength,ppField) \
1766 ( (This)->lpVtbl -> GetArrayTypeFromAddress(This,pAddress,pSig,dwSigLength,ppField) )
1768 #define IDebugComPlusSymbolProvider2_GetSymAttribute(This,ulAppDomainID,guidModule,tokParent,pstrName,cBuffer,pcBuffer,buffer) \
1769 ( (This)->lpVtbl -> GetSymAttribute(This,ulAppDomainID,guidModule,tokParent,pstrName,cBuffer,pcBuffer,buffer) )
1771 #define IDebugComPlusSymbolProvider2_ReplaceSymbols(This,ulAppDomainID,guidModule,pStream) \
1772 ( (This)->lpVtbl -> ReplaceSymbols(This,ulAppDomainID,guidModule,pStream) )
1774 #define IDebugComPlusSymbolProvider2_AreSymbolsLoaded(This,ulAppDomainID,guidModule) \
1775 ( (This)->lpVtbl -> AreSymbolsLoaded(This,ulAppDomainID,guidModule) )
1777 #define IDebugComPlusSymbolProvider2_LoadSymbolsFromStream(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pStream) \
1778 ( (This)->lpVtbl -> LoadSymbolsFromStream(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pStream) )
1780 #define IDebugComPlusSymbolProvider2_GetSymUnmanagedReader(This,ulAppDomainID,guidModule,ppSymUnmanagedReader) \
1781 ( (This)->lpVtbl -> GetSymUnmanagedReader(This,ulAppDomainID,guidModule,ppSymUnmanagedReader) )
1783 #define IDebugComPlusSymbolProvider2_GetAttributedClassesinModule(This,ulAppDomainID,guidModule,pstrAttribute,ppEnum) \
1784 ( (This)->lpVtbl -> GetAttributedClassesinModule(This,ulAppDomainID,guidModule,pstrAttribute,ppEnum) )
1786 #define IDebugComPlusSymbolProvider2_GetAttributedClassesForLanguage(This,guidLanguage,pstrAttribute,ppEnum) \
1787 ( (This)->lpVtbl -> GetAttributedClassesForLanguage(This,guidLanguage,pstrAttribute,ppEnum) )
1789 #define IDebugComPlusSymbolProvider2_IsHiddenCode(This,pAddress) \
1790 ( (This)->lpVtbl -> IsHiddenCode(This,pAddress) )
1792 #define IDebugComPlusSymbolProvider2_IsFunctionDeleted(This,pAddress) \
1793 ( (This)->lpVtbl -> IsFunctionDeleted(This,pAddress) )
1795 #define IDebugComPlusSymbolProvider2_GetNameFromToken(This,pMetadataImport,dwToken,pbstrName) \
1796 ( (This)->lpVtbl -> GetNameFromToken(This,pMetadataImport,dwToken,pbstrName) )
1798 #define IDebugComPlusSymbolProvider2_IsFunctionStale(This,pAddress) \
1799 ( (This)->lpVtbl -> IsFunctionStale(This,pAddress) )
1801 #define IDebugComPlusSymbolProvider2_GetLocalVariablelayout(This,ulAppDomainID,guidModule,cMethods,rgMethodTokens,pStreamLayout) \
1802 ( (This)->lpVtbl -> GetLocalVariablelayout(This,ulAppDomainID,guidModule,cMethods,rgMethodTokens,pStreamLayout) )
1804 #define IDebugComPlusSymbolProvider2_GetAssemblyName(This,ulAppDomainID,guidModule,pbstrName) \
1805 ( (This)->lpVtbl -> GetAssemblyName(This,ulAppDomainID,guidModule,pbstrName) )
1808 #define IDebugComPlusSymbolProvider2_LoadSymbolsFromCallback(This,ulAppDomainID,guidModule,pUnkMetadataImport,pUnkCorDebugModule,bstrModuleName,bstrSymSearchPath,pCallback) \
1809 ( (This)->lpVtbl -> LoadSymbolsFromCallback(This,ulAppDomainID,guidModule,pUnkMetadataImport,pUnkCorDebugModule,bstrModuleName,bstrSymSearchPath,pCallback) )
1811 #define IDebugComPlusSymbolProvider2_IsAddressSequencePoint(This,pAddress) \
1812 ( (This)->lpVtbl -> IsAddressSequencePoint(This,pAddress) )
1814 #define IDebugComPlusSymbolProvider2_FunctionHasLineInfo(This,pAddress) \
1815 ( (This)->lpVtbl -> FunctionHasLineInfo(This,pAddress) )
1817 #define IDebugComPlusSymbolProvider2_GetTypesByName(This,pszClassName,nameMatch,ppEnum) \
1818 ( (This)->lpVtbl -> GetTypesByName(This,pszClassName,nameMatch,ppEnum) )
1820 #define IDebugComPlusSymbolProvider2_LoadSymbolsWithCorModule(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pUnkCorDebugModule,bstrModuleName,bstrSymSearchPath) \
1821 ( (This)->lpVtbl -> LoadSymbolsWithCorModule(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pUnkCorDebugModule,bstrModuleName,bstrSymSearchPath) )
1823 #define IDebugComPlusSymbolProvider2_LoadSymbolsFromStreamWithCorModule(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pUnkCorDebugModule,pStream) \
1824 ( (This)->lpVtbl -> LoadSymbolsFromStreamWithCorModule(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pUnkCorDebugModule,pStream) )
1826 #define IDebugComPlusSymbolProvider2_GetTypeFromToken(This,appDomain,guidModule,tdToken,ppField) \
1827 ( (This)->lpVtbl -> GetTypeFromToken(This,appDomain,guidModule,tdToken,ppField) )
1829 #endif /* COBJMACROS */
1832 #endif /* C style interface */
1837 #endif /* __IDebugComPlusSymbolProvider2_INTERFACE_DEFINED__ */
1840 #ifndef __IDebugSymbolProviderGroup_INTERFACE_DEFINED__
1841 #define __IDebugSymbolProviderGroup_INTERFACE_DEFINED__
1843 /* interface IDebugSymbolProviderGroup */
1844 /* [unique][uuid][object] */
1847 EXTERN_C const IID IID_IDebugSymbolProviderGroup;
1849 #if defined(__cplusplus) && !defined(CINTERFACE)
1851 MIDL_INTERFACE("2B226A06-FF61-44f3-9ADD-B34BD9F72FCB")
1852 IDebugSymbolProviderGroup : public IUnknown
1854 public:
1855 virtual HRESULT STDMETHODCALLTYPE CreateGroup(
1856 /* [out] */ __RPC__deref_out_opt IUnknown **ppGroup) = 0;
1858 virtual HRESULT STDMETHODCALLTYPE SetGroup(
1859 /* [in] */ __RPC__in_opt IUnknown *pGroup) = 0;
1863 #else /* C style interface */
1865 typedef struct IDebugSymbolProviderGroupVtbl
1867 BEGIN_INTERFACE
1869 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1870 IDebugSymbolProviderGroup * This,
1871 /* [in] */ __RPC__in REFIID riid,
1872 /* [iid_is][out] */
1873 __RPC__deref_out void **ppvObject);
1875 ULONG ( STDMETHODCALLTYPE *AddRef )(
1876 IDebugSymbolProviderGroup * This);
1878 ULONG ( STDMETHODCALLTYPE *Release )(
1879 IDebugSymbolProviderGroup * This);
1881 HRESULT ( STDMETHODCALLTYPE *CreateGroup )(
1882 IDebugSymbolProviderGroup * This,
1883 /* [out] */ __RPC__deref_out_opt IUnknown **ppGroup);
1885 HRESULT ( STDMETHODCALLTYPE *SetGroup )(
1886 IDebugSymbolProviderGroup * This,
1887 /* [in] */ __RPC__in_opt IUnknown *pGroup);
1889 END_INTERFACE
1890 } IDebugSymbolProviderGroupVtbl;
1892 interface IDebugSymbolProviderGroup
1894 CONST_VTBL struct IDebugSymbolProviderGroupVtbl *lpVtbl;
1899 #ifdef COBJMACROS
1902 #define IDebugSymbolProviderGroup_QueryInterface(This,riid,ppvObject) \
1903 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1905 #define IDebugSymbolProviderGroup_AddRef(This) \
1906 ( (This)->lpVtbl -> AddRef(This) )
1908 #define IDebugSymbolProviderGroup_Release(This) \
1909 ( (This)->lpVtbl -> Release(This) )
1912 #define IDebugSymbolProviderGroup_CreateGroup(This,ppGroup) \
1913 ( (This)->lpVtbl -> CreateGroup(This,ppGroup) )
1915 #define IDebugSymbolProviderGroup_SetGroup(This,pGroup) \
1916 ( (This)->lpVtbl -> SetGroup(This,pGroup) )
1918 #endif /* COBJMACROS */
1921 #endif /* C style interface */
1926 #endif /* __IDebugSymbolProviderGroup_INTERFACE_DEFINED__ */
1929 #ifndef __IDebugGenericFieldDefinition_INTERFACE_DEFINED__
1930 #define __IDebugGenericFieldDefinition_INTERFACE_DEFINED__
1932 /* interface IDebugGenericFieldDefinition */
1933 /* [unique][uuid][object] */
1936 EXTERN_C const IID IID_IDebugGenericFieldDefinition;
1938 #if defined(__cplusplus) && !defined(CINTERFACE)
1940 MIDL_INTERFACE("C5717D6C-8DBF-4852-B7D8-C003EE09541F")
1941 IDebugGenericFieldDefinition : public IUnknown
1943 public:
1944 virtual HRESULT STDMETHODCALLTYPE TypeParamCount(
1945 /* [out][in] */ __RPC__inout ULONG32 *pcParams) = 0;
1947 virtual HRESULT STDMETHODCALLTYPE GetFormalTypeParams(
1948 /* [in] */ ULONG32 cParams,
1949 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cParams, *pcParams) IDebugGenericParamField **ppParams,
1950 /* [out][in] */ __RPC__inout ULONG32 *pcParams) = 0;
1952 virtual HRESULT STDMETHODCALLTYPE ConstructInstantiation(
1953 /* [in] */ ULONG32 cArgs,
1954 /* [size_is][in] */ __RPC__in_ecount_full(cArgs) IDebugField **ppArgs,
1955 /* [out] */ __RPC__deref_out_opt IDebugField **ppConstructedField) = 0;
1959 #else /* C style interface */
1961 typedef struct IDebugGenericFieldDefinitionVtbl
1963 BEGIN_INTERFACE
1965 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1966 IDebugGenericFieldDefinition * This,
1967 /* [in] */ __RPC__in REFIID riid,
1968 /* [iid_is][out] */
1969 __RPC__deref_out void **ppvObject);
1971 ULONG ( STDMETHODCALLTYPE *AddRef )(
1972 IDebugGenericFieldDefinition * This);
1974 ULONG ( STDMETHODCALLTYPE *Release )(
1975 IDebugGenericFieldDefinition * This);
1977 HRESULT ( STDMETHODCALLTYPE *TypeParamCount )(
1978 IDebugGenericFieldDefinition * This,
1979 /* [out][in] */ __RPC__inout ULONG32 *pcParams);
1981 HRESULT ( STDMETHODCALLTYPE *GetFormalTypeParams )(
1982 IDebugGenericFieldDefinition * This,
1983 /* [in] */ ULONG32 cParams,
1984 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cParams, *pcParams) IDebugGenericParamField **ppParams,
1985 /* [out][in] */ __RPC__inout ULONG32 *pcParams);
1987 HRESULT ( STDMETHODCALLTYPE *ConstructInstantiation )(
1988 IDebugGenericFieldDefinition * This,
1989 /* [in] */ ULONG32 cArgs,
1990 /* [size_is][in] */ __RPC__in_ecount_full(cArgs) IDebugField **ppArgs,
1991 /* [out] */ __RPC__deref_out_opt IDebugField **ppConstructedField);
1993 END_INTERFACE
1994 } IDebugGenericFieldDefinitionVtbl;
1996 interface IDebugGenericFieldDefinition
1998 CONST_VTBL struct IDebugGenericFieldDefinitionVtbl *lpVtbl;
2003 #ifdef COBJMACROS
2006 #define IDebugGenericFieldDefinition_QueryInterface(This,riid,ppvObject) \
2007 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2009 #define IDebugGenericFieldDefinition_AddRef(This) \
2010 ( (This)->lpVtbl -> AddRef(This) )
2012 #define IDebugGenericFieldDefinition_Release(This) \
2013 ( (This)->lpVtbl -> Release(This) )
2016 #define IDebugGenericFieldDefinition_TypeParamCount(This,pcParams) \
2017 ( (This)->lpVtbl -> TypeParamCount(This,pcParams) )
2019 #define IDebugGenericFieldDefinition_GetFormalTypeParams(This,cParams,ppParams,pcParams) \
2020 ( (This)->lpVtbl -> GetFormalTypeParams(This,cParams,ppParams,pcParams) )
2022 #define IDebugGenericFieldDefinition_ConstructInstantiation(This,cArgs,ppArgs,ppConstructedField) \
2023 ( (This)->lpVtbl -> ConstructInstantiation(This,cArgs,ppArgs,ppConstructedField) )
2025 #endif /* COBJMACROS */
2028 #endif /* C style interface */
2033 #endif /* __IDebugGenericFieldDefinition_INTERFACE_DEFINED__ */
2036 #ifndef __IDebugGenericFieldInstance_INTERFACE_DEFINED__
2037 #define __IDebugGenericFieldInstance_INTERFACE_DEFINED__
2039 /* interface IDebugGenericFieldInstance */
2040 /* [unique][uuid][object] */
2043 EXTERN_C const IID IID_IDebugGenericFieldInstance;
2045 #if defined(__cplusplus) && !defined(CINTERFACE)
2047 MIDL_INTERFACE("C93C9DD0-0A65-4966-BCEB-633EEEE2E096")
2048 IDebugGenericFieldInstance : public IUnknown
2050 public:
2051 virtual HRESULT STDMETHODCALLTYPE TypeArgumentCount(
2052 /* [out][in] */ __RPC__inout ULONG32 *pcArgs) = 0;
2054 virtual HRESULT STDMETHODCALLTYPE GetTypeArguments(
2055 /* [in] */ ULONG32 cArgs,
2056 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cArgs, *pcArgs) IDebugField **ppArgs,
2057 /* [out][in] */ __RPC__inout ULONG32 *pcArgs) = 0;
2061 #else /* C style interface */
2063 typedef struct IDebugGenericFieldInstanceVtbl
2065 BEGIN_INTERFACE
2067 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2068 IDebugGenericFieldInstance * This,
2069 /* [in] */ __RPC__in REFIID riid,
2070 /* [iid_is][out] */
2071 __RPC__deref_out void **ppvObject);
2073 ULONG ( STDMETHODCALLTYPE *AddRef )(
2074 IDebugGenericFieldInstance * This);
2076 ULONG ( STDMETHODCALLTYPE *Release )(
2077 IDebugGenericFieldInstance * This);
2079 HRESULT ( STDMETHODCALLTYPE *TypeArgumentCount )(
2080 IDebugGenericFieldInstance * This,
2081 /* [out][in] */ __RPC__inout ULONG32 *pcArgs);
2083 HRESULT ( STDMETHODCALLTYPE *GetTypeArguments )(
2084 IDebugGenericFieldInstance * This,
2085 /* [in] */ ULONG32 cArgs,
2086 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cArgs, *pcArgs) IDebugField **ppArgs,
2087 /* [out][in] */ __RPC__inout ULONG32 *pcArgs);
2089 END_INTERFACE
2090 } IDebugGenericFieldInstanceVtbl;
2092 interface IDebugGenericFieldInstance
2094 CONST_VTBL struct IDebugGenericFieldInstanceVtbl *lpVtbl;
2099 #ifdef COBJMACROS
2102 #define IDebugGenericFieldInstance_QueryInterface(This,riid,ppvObject) \
2103 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2105 #define IDebugGenericFieldInstance_AddRef(This) \
2106 ( (This)->lpVtbl -> AddRef(This) )
2108 #define IDebugGenericFieldInstance_Release(This) \
2109 ( (This)->lpVtbl -> Release(This) )
2112 #define IDebugGenericFieldInstance_TypeArgumentCount(This,pcArgs) \
2113 ( (This)->lpVtbl -> TypeArgumentCount(This,pcArgs) )
2115 #define IDebugGenericFieldInstance_GetTypeArguments(This,cArgs,ppArgs,pcArgs) \
2116 ( (This)->lpVtbl -> GetTypeArguments(This,cArgs,ppArgs,pcArgs) )
2118 #endif /* COBJMACROS */
2121 #endif /* C style interface */
2126 #endif /* __IDebugGenericFieldInstance_INTERFACE_DEFINED__ */
2129 #ifndef __IDebugField_INTERFACE_DEFINED__
2130 #define __IDebugField_INTERFACE_DEFINED__
2132 /* interface IDebugField */
2133 /* [unique][uuid][object] */
2136 enum enum_FIELD_MODIFIERS
2137 { FIELD_MOD_NONE = 0,
2138 FIELD_MOD_ACCESS_NONE = 0x1,
2139 FIELD_MOD_ACCESS_PUBLIC = 0x2,
2140 FIELD_MOD_ACCESS_PROTECTED = 0x4,
2141 FIELD_MOD_ACCESS_PRIVATE = 0x8,
2142 FIELD_MOD_ACCESS_FRIEND = 0x1000000,
2143 FIELD_MOD_NOMODIFIERS = 0x10,
2144 FIELD_MOD_STATIC = 0x20,
2145 FIELD_MOD_CONSTANT = 0x40,
2146 FIELD_MOD_TRANSIENT = 0x80,
2147 FIELD_MOD_VOLATILE = 0x100,
2148 FIELD_MOD_ABSTRACT = 0x200,
2149 FIELD_MOD_NATIVE = 0x400,
2150 FIELD_MOD_SYNCHRONIZED = 0x800,
2151 FIELD_MOD_VIRTUAL = 0x1000,
2152 FIELD_MOD_INTERFACE = 0x2000,
2153 FIELD_MOD_FINAL = 0x4000,
2154 FIELD_MOD_SENTINEL = 0x8000,
2155 FIELD_MOD_INNERCLASS = 0x10000,
2156 FIELD_MOD_OPTIONAL = 0x20000,
2157 FIELD_MOD_BYREF = 0x40000,
2158 FIELD_MOD_HIDDEN = 0x80000,
2159 FIELD_MOD_MARSHALASOBJECT = 0x100000,
2160 FIELD_MOD_SPECIAL_NAME = 0x200000,
2161 FIELD_MOD_HIDEBYSIG = 0x400000,
2162 FIELD_MOD_NEWSLOT = 0x800000,
2163 FIELD_MOD_WRITEONLY = 0x80000000,
2164 FIELD_MOD_ACCESS_MASK = 0xf00000f,
2165 FIELD_MOD_MASK = 0xf0fffff0,
2166 FIELD_MOD_ALL = 0x7fffffff
2168 typedef DWORD FIELD_MODIFIERS;
2171 enum enum_FIELD_KIND
2172 { FIELD_KIND_NONE = 0,
2173 FIELD_KIND_TYPE = 0x1,
2174 FIELD_KIND_SYMBOL = 0x2,
2175 FIELD_TYPE_PRIMITIVE = 0x10,
2176 FIELD_TYPE_STRUCT = 0x20,
2177 FIELD_TYPE_CLASS = 0x40,
2178 FIELD_TYPE_INTERFACE = 0x80,
2179 FIELD_TYPE_UNION = 0x100,
2180 FIELD_TYPE_ARRAY = 0x200,
2181 FIELD_TYPE_METHOD = 0x400,
2182 FIELD_TYPE_BLOCK = 0x800,
2183 FIELD_TYPE_POINTER = 0x1000,
2184 FIELD_TYPE_ENUM = 0x2000,
2185 FIELD_TYPE_LABEL = 0x4000,
2186 FIELD_TYPE_TYPEDEF = 0x8000,
2187 FIELD_TYPE_BITFIELD = 0x10000,
2188 FIELD_TYPE_NAMESPACE = 0x20000,
2189 FIELD_TYPE_MODULE = 0x40000,
2190 FIELD_TYPE_DYNAMIC = 0x80000,
2191 FIELD_TYPE_PROP = 0x100000,
2192 FIELD_TYPE_INNERCLASS = 0x200000,
2193 FIELD_TYPE_REFERENCE = 0x400000,
2194 FIELD_TYPE_EXTENDED = 0x800000,
2195 FIELD_SYM_MEMBER = 0x1000000,
2196 FIELD_SYM_LOCAL = 0x2000000,
2197 FIELD_SYM_PARAM = 0x4000000,
2198 FIELD_SYM_THIS = 0x8000000,
2199 FIELD_SYM_GLOBAL = 0x10000000,
2200 FIELD_SYM_PROP_GETTER = 0x20000000,
2201 FIELD_SYM_PROP_SETTER = 0x40000000,
2202 FIELD_SYM_EXTENED = 0x80000000,
2203 FIELD_KIND_MASK = 0xf,
2204 FIELD_TYPE_MASK = 0xfffff0,
2205 FIELD_SYM_MASK = 0xff000000,
2206 FIELD_KIND_ALL = 0xffffffff
2208 typedef DWORD FIELD_KIND;
2211 enum enum_FIELD_INFO_FIELDS
2212 { FIF_FULLNAME = 0x1,
2213 FIF_NAME = 0x2,
2214 FIF_TYPE = 0x4,
2215 FIF_MODIFIERS = 0x8,
2216 FIF_ALL = 0xffffffff
2218 typedef DWORD FIELD_INFO_FIELDS;
2220 typedef struct _tagFieldInfo
2222 FIELD_INFO_FIELDS dwFields;
2223 BSTR bstrFullName;
2224 BSTR bstrName;
2225 BSTR bstrType;
2226 FIELD_MODIFIERS dwModifiers;
2227 } FIELD_INFO;
2230 enum enum_dwTYPE_KIND
2231 { TYPE_KIND_METADATA = 0x1,
2232 TYPE_KIND_PDB = 0x2,
2233 TYPE_KIND_BUILT = 0x3
2235 typedef DWORD dwTYPE_KIND;
2237 typedef struct _tagTYPE_METADATA
2239 ULONG32 ulAppDomainID;
2240 GUID guidModule;
2241 _mdToken tokClass;
2242 } METADATA_TYPE;
2244 typedef struct _tagTYPE_PDB
2246 ULONG32 ulAppDomainID;
2247 GUID guidModule;
2248 DWORD symid;
2249 } PDB_TYPE;
2251 typedef struct _tagTYPE_BUILT
2253 ULONG32 ulAppDomainID;
2254 GUID guidModule;
2255 IDebugField *pUnderlyingField;
2256 } BUILT_TYPE;
2258 typedef struct _tagTYPE_INFO_UNION
2260 dwTYPE_KIND dwKind;
2261 /* [switch_type] */ union __MIDL_IDebugField_0001
2263 METADATA_TYPE typeMeta;
2264 PDB_TYPE typePdb;
2265 BUILT_TYPE typeBuilt;
2266 DWORD unused;
2267 } type;
2268 } TYPE_INFO;
2271 EXTERN_C const IID IID_IDebugField;
2273 #if defined(__cplusplus) && !defined(CINTERFACE)
2275 MIDL_INTERFACE("c2e34eb1-8b9d-11d2-9014-00c04fa38338")
2276 IDebugField : public IUnknown
2278 public:
2279 virtual HRESULT STDMETHODCALLTYPE GetInfo(
2280 /* [in] */ FIELD_INFO_FIELDS dwFields,
2281 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo) = 0;
2283 virtual HRESULT STDMETHODCALLTYPE GetKind(
2284 /* [out] */ __RPC__out FIELD_KIND *pdwKind) = 0;
2286 virtual HRESULT STDMETHODCALLTYPE GetType(
2287 /* [out] */ __RPC__deref_out_opt IDebugField **ppType) = 0;
2289 virtual HRESULT STDMETHODCALLTYPE GetContainer(
2290 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField) = 0;
2292 virtual HRESULT STDMETHODCALLTYPE GetAddress(
2293 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress) = 0;
2295 virtual HRESULT STDMETHODCALLTYPE GetSize(
2296 /* [out] */ __RPC__out DWORD *pdwSize) = 0;
2298 virtual HRESULT STDMETHODCALLTYPE GetExtendedInfo(
2299 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
2300 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
2301 /* [out][in] */ __RPC__inout DWORD *pdwLen) = 0;
2303 virtual HRESULT STDMETHODCALLTYPE Equal(
2304 /* [in] */ __RPC__in_opt IDebugField *pField) = 0;
2306 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
2307 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo) = 0;
2311 #else /* C style interface */
2313 typedef struct IDebugFieldVtbl
2315 BEGIN_INTERFACE
2317 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2318 IDebugField * This,
2319 /* [in] */ __RPC__in REFIID riid,
2320 /* [iid_is][out] */
2321 __RPC__deref_out void **ppvObject);
2323 ULONG ( STDMETHODCALLTYPE *AddRef )(
2324 IDebugField * This);
2326 ULONG ( STDMETHODCALLTYPE *Release )(
2327 IDebugField * This);
2329 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
2330 IDebugField * This,
2331 /* [in] */ FIELD_INFO_FIELDS dwFields,
2332 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
2334 HRESULT ( STDMETHODCALLTYPE *GetKind )(
2335 IDebugField * This,
2336 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
2338 HRESULT ( STDMETHODCALLTYPE *GetType )(
2339 IDebugField * This,
2340 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
2342 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
2343 IDebugField * This,
2344 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
2346 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
2347 IDebugField * This,
2348 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
2350 HRESULT ( STDMETHODCALLTYPE *GetSize )(
2351 IDebugField * This,
2352 /* [out] */ __RPC__out DWORD *pdwSize);
2354 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
2355 IDebugField * This,
2356 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
2357 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
2358 /* [out][in] */ __RPC__inout DWORD *pdwLen);
2360 HRESULT ( STDMETHODCALLTYPE *Equal )(
2361 IDebugField * This,
2362 /* [in] */ __RPC__in_opt IDebugField *pField);
2364 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
2365 IDebugField * This,
2366 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
2368 END_INTERFACE
2369 } IDebugFieldVtbl;
2371 interface IDebugField
2373 CONST_VTBL struct IDebugFieldVtbl *lpVtbl;
2378 #ifdef COBJMACROS
2381 #define IDebugField_QueryInterface(This,riid,ppvObject) \
2382 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2384 #define IDebugField_AddRef(This) \
2385 ( (This)->lpVtbl -> AddRef(This) )
2387 #define IDebugField_Release(This) \
2388 ( (This)->lpVtbl -> Release(This) )
2391 #define IDebugField_GetInfo(This,dwFields,pFieldInfo) \
2392 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
2394 #define IDebugField_GetKind(This,pdwKind) \
2395 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
2397 #define IDebugField_GetType(This,ppType) \
2398 ( (This)->lpVtbl -> GetType(This,ppType) )
2400 #define IDebugField_GetContainer(This,ppContainerField) \
2401 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
2403 #define IDebugField_GetAddress(This,ppAddress) \
2404 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
2406 #define IDebugField_GetSize(This,pdwSize) \
2407 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
2409 #define IDebugField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
2410 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
2412 #define IDebugField_Equal(This,pField) \
2413 ( (This)->lpVtbl -> Equal(This,pField) )
2415 #define IDebugField_GetTypeInfo(This,pTypeInfo) \
2416 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
2418 #endif /* COBJMACROS */
2421 #endif /* C style interface */
2426 #endif /* __IDebugField_INTERFACE_DEFINED__ */
2429 #ifndef __IDebugGenericParamField_INTERFACE_DEFINED__
2430 #define __IDebugGenericParamField_INTERFACE_DEFINED__
2432 /* interface IDebugGenericParamField */
2433 /* [unique][uuid][object] */
2436 EXTERN_C const IID IID_IDebugGenericParamField;
2438 #if defined(__cplusplus) && !defined(CINTERFACE)
2440 MIDL_INTERFACE("941105E9-760A-49ec-995F-7668CB60216C")
2441 IDebugGenericParamField : public IDebugField
2443 public:
2444 virtual HRESULT STDMETHODCALLTYPE GetNameOfFormalParam(
2445 /* [out] */ __RPC__deref_out_opt BSTR *pbstrName) = 0;
2447 virtual HRESULT STDMETHODCALLTYPE ConstraintCount(
2448 /* [out][in] */ __RPC__inout ULONG32 *pcConst) = 0;
2450 virtual HRESULT STDMETHODCALLTYPE GetConstraints(
2451 /* [in] */ ULONG32 cConstraints,
2452 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cConstraints, *pcConstraints) IDebugField **ppConstraints,
2453 /* [out][in] */ __RPC__inout ULONG32 *pcConstraints) = 0;
2455 virtual HRESULT STDMETHODCALLTYPE GetOwner(
2456 /* [out] */ __RPC__deref_out_opt IDebugField **ppOwner) = 0;
2458 virtual HRESULT STDMETHODCALLTYPE GetIndex(
2459 /* [out] */ __RPC__out DWORD *pIndex) = 0;
2461 virtual HRESULT STDMETHODCALLTYPE GetFlags(
2462 /* [out] */ __RPC__out DWORD *pdwFlags) = 0;
2466 #else /* C style interface */
2468 typedef struct IDebugGenericParamFieldVtbl
2470 BEGIN_INTERFACE
2472 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2473 IDebugGenericParamField * This,
2474 /* [in] */ __RPC__in REFIID riid,
2475 /* [iid_is][out] */
2476 __RPC__deref_out void **ppvObject);
2478 ULONG ( STDMETHODCALLTYPE *AddRef )(
2479 IDebugGenericParamField * This);
2481 ULONG ( STDMETHODCALLTYPE *Release )(
2482 IDebugGenericParamField * This);
2484 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
2485 IDebugGenericParamField * This,
2486 /* [in] */ FIELD_INFO_FIELDS dwFields,
2487 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
2489 HRESULT ( STDMETHODCALLTYPE *GetKind )(
2490 IDebugGenericParamField * This,
2491 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
2493 HRESULT ( STDMETHODCALLTYPE *GetType )(
2494 IDebugGenericParamField * This,
2495 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
2497 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
2498 IDebugGenericParamField * This,
2499 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
2501 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
2502 IDebugGenericParamField * This,
2503 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
2505 HRESULT ( STDMETHODCALLTYPE *GetSize )(
2506 IDebugGenericParamField * This,
2507 /* [out] */ __RPC__out DWORD *pdwSize);
2509 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
2510 IDebugGenericParamField * This,
2511 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
2512 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
2513 /* [out][in] */ __RPC__inout DWORD *pdwLen);
2515 HRESULT ( STDMETHODCALLTYPE *Equal )(
2516 IDebugGenericParamField * This,
2517 /* [in] */ __RPC__in_opt IDebugField *pField);
2519 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
2520 IDebugGenericParamField * This,
2521 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
2523 HRESULT ( STDMETHODCALLTYPE *GetNameOfFormalParam )(
2524 IDebugGenericParamField * This,
2525 /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
2527 HRESULT ( STDMETHODCALLTYPE *ConstraintCount )(
2528 IDebugGenericParamField * This,
2529 /* [out][in] */ __RPC__inout ULONG32 *pcConst);
2531 HRESULT ( STDMETHODCALLTYPE *GetConstraints )(
2532 IDebugGenericParamField * This,
2533 /* [in] */ ULONG32 cConstraints,
2534 /* [length_is][size_is][out] */ __RPC__out_ecount_part(cConstraints, *pcConstraints) IDebugField **ppConstraints,
2535 /* [out][in] */ __RPC__inout ULONG32 *pcConstraints);
2537 HRESULT ( STDMETHODCALLTYPE *GetOwner )(
2538 IDebugGenericParamField * This,
2539 /* [out] */ __RPC__deref_out_opt IDebugField **ppOwner);
2541 HRESULT ( STDMETHODCALLTYPE *GetIndex )(
2542 IDebugGenericParamField * This,
2543 /* [out] */ __RPC__out DWORD *pIndex);
2545 HRESULT ( STDMETHODCALLTYPE *GetFlags )(
2546 IDebugGenericParamField * This,
2547 /* [out] */ __RPC__out DWORD *pdwFlags);
2549 END_INTERFACE
2550 } IDebugGenericParamFieldVtbl;
2552 interface IDebugGenericParamField
2554 CONST_VTBL struct IDebugGenericParamFieldVtbl *lpVtbl;
2559 #ifdef COBJMACROS
2562 #define IDebugGenericParamField_QueryInterface(This,riid,ppvObject) \
2563 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2565 #define IDebugGenericParamField_AddRef(This) \
2566 ( (This)->lpVtbl -> AddRef(This) )
2568 #define IDebugGenericParamField_Release(This) \
2569 ( (This)->lpVtbl -> Release(This) )
2572 #define IDebugGenericParamField_GetInfo(This,dwFields,pFieldInfo) \
2573 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
2575 #define IDebugGenericParamField_GetKind(This,pdwKind) \
2576 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
2578 #define IDebugGenericParamField_GetType(This,ppType) \
2579 ( (This)->lpVtbl -> GetType(This,ppType) )
2581 #define IDebugGenericParamField_GetContainer(This,ppContainerField) \
2582 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
2584 #define IDebugGenericParamField_GetAddress(This,ppAddress) \
2585 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
2587 #define IDebugGenericParamField_GetSize(This,pdwSize) \
2588 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
2590 #define IDebugGenericParamField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
2591 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
2593 #define IDebugGenericParamField_Equal(This,pField) \
2594 ( (This)->lpVtbl -> Equal(This,pField) )
2596 #define IDebugGenericParamField_GetTypeInfo(This,pTypeInfo) \
2597 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
2600 #define IDebugGenericParamField_GetNameOfFormalParam(This,pbstrName) \
2601 ( (This)->lpVtbl -> GetNameOfFormalParam(This,pbstrName) )
2603 #define IDebugGenericParamField_ConstraintCount(This,pcConst) \
2604 ( (This)->lpVtbl -> ConstraintCount(This,pcConst) )
2606 #define IDebugGenericParamField_GetConstraints(This,cConstraints,ppConstraints,pcConstraints) \
2607 ( (This)->lpVtbl -> GetConstraints(This,cConstraints,ppConstraints,pcConstraints) )
2609 #define IDebugGenericParamField_GetOwner(This,ppOwner) \
2610 ( (This)->lpVtbl -> GetOwner(This,ppOwner) )
2612 #define IDebugGenericParamField_GetIndex(This,pIndex) \
2613 ( (This)->lpVtbl -> GetIndex(This,pIndex) )
2615 #define IDebugGenericParamField_GetFlags(This,pdwFlags) \
2616 ( (This)->lpVtbl -> GetFlags(This,pdwFlags) )
2618 #endif /* COBJMACROS */
2621 #endif /* C style interface */
2626 #endif /* __IDebugGenericParamField_INTERFACE_DEFINED__ */
2629 #ifndef __IDebugComPlusSymbolSearchInfo_INTERFACE_DEFINED__
2630 #define __IDebugComPlusSymbolSearchInfo_INTERFACE_DEFINED__
2632 /* interface IDebugComPlusSymbolSearchInfo */
2633 /* [unique][uuid][object] */
2635 typedef struct _tagSymbolSearchInfo
2637 BSTR bstrPath;
2638 HRESULT hrHRESULT;
2639 } SYMBOL_SEARCH_INFO;
2642 EXTERN_C const IID IID_IDebugComPlusSymbolSearchInfo;
2644 #if defined(__cplusplus) && !defined(CINTERFACE)
2646 MIDL_INTERFACE("F96F4D16-E799-492d-B33D-2325E63D4135")
2647 IDebugComPlusSymbolSearchInfo : public IUnknown
2649 public:
2650 virtual HRESULT STDMETHODCALLTYPE GetLastSymbolSearchInfo(
2651 /* [in] */ ULONG32 ulAppDomainID,
2652 /* [in] */ GUID guidModule,
2653 /* [out] */ __RPC__deref_out_opt BSTR *pbstrPath,
2654 /* [out] */ __RPC__out HRESULT *phrHRESULT) = 0;
2656 virtual HRESULT STDMETHODCALLTYPE GetSymbolSearchInfoCount(
2657 /* [in] */ ULONG32 ulAppDomainID,
2658 /* [in] */ GUID guidModule,
2659 /* [out] */ __RPC__out ULONG32 *pCount) = 0;
2661 virtual HRESULT STDMETHODCALLTYPE GetSymbolSearchInfo(
2662 /* [in] */ ULONG32 ulAppDomainID,
2663 /* [in] */ GUID guidModule,
2664 /* [in] */ ULONG32 ulSearchInfo,
2665 /* [out] */ __RPC__out ULONG32 *pulSearchInfo,
2666 /* [length_is][size_is][out] */ __RPC__out_ecount_part(ulSearchInfo, *pulSearchInfo) SYMBOL_SEARCH_INFO **prgSearchInfo) = 0;
2668 virtual HRESULT STDMETHODCALLTYPE LoadSymbolsWithoutPDB(
2669 /* [in] */ ULONG32 ulAppDomainID,
2670 /* [in] */ GUID guidModule,
2671 /* [in] */ ULONGLONG baseAddress,
2672 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
2673 /* [in] */ __RPC__in_opt IUnknown *pUnkCorDebugModule,
2674 /* [in] */ __RPC__in BSTR bstrModule) = 0;
2678 #else /* C style interface */
2680 typedef struct IDebugComPlusSymbolSearchInfoVtbl
2682 BEGIN_INTERFACE
2684 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2685 IDebugComPlusSymbolSearchInfo * This,
2686 /* [in] */ __RPC__in REFIID riid,
2687 /* [iid_is][out] */
2688 __RPC__deref_out void **ppvObject);
2690 ULONG ( STDMETHODCALLTYPE *AddRef )(
2691 IDebugComPlusSymbolSearchInfo * This);
2693 ULONG ( STDMETHODCALLTYPE *Release )(
2694 IDebugComPlusSymbolSearchInfo * This);
2696 HRESULT ( STDMETHODCALLTYPE *GetLastSymbolSearchInfo )(
2697 IDebugComPlusSymbolSearchInfo * This,
2698 /* [in] */ ULONG32 ulAppDomainID,
2699 /* [in] */ GUID guidModule,
2700 /* [out] */ __RPC__deref_out_opt BSTR *pbstrPath,
2701 /* [out] */ __RPC__out HRESULT *phrHRESULT);
2703 HRESULT ( STDMETHODCALLTYPE *GetSymbolSearchInfoCount )(
2704 IDebugComPlusSymbolSearchInfo * This,
2705 /* [in] */ ULONG32 ulAppDomainID,
2706 /* [in] */ GUID guidModule,
2707 /* [out] */ __RPC__out ULONG32 *pCount);
2709 HRESULT ( STDMETHODCALLTYPE *GetSymbolSearchInfo )(
2710 IDebugComPlusSymbolSearchInfo * This,
2711 /* [in] */ ULONG32 ulAppDomainID,
2712 /* [in] */ GUID guidModule,
2713 /* [in] */ ULONG32 ulSearchInfo,
2714 /* [out] */ __RPC__out ULONG32 *pulSearchInfo,
2715 /* [length_is][size_is][out] */ __RPC__out_ecount_part(ulSearchInfo, *pulSearchInfo) SYMBOL_SEARCH_INFO **prgSearchInfo);
2717 HRESULT ( STDMETHODCALLTYPE *LoadSymbolsWithoutPDB )(
2718 IDebugComPlusSymbolSearchInfo * This,
2719 /* [in] */ ULONG32 ulAppDomainID,
2720 /* [in] */ GUID guidModule,
2721 /* [in] */ ULONGLONG baseAddress,
2722 /* [in] */ __RPC__in_opt IUnknown *pUnkMetadataImport,
2723 /* [in] */ __RPC__in_opt IUnknown *pUnkCorDebugModule,
2724 /* [in] */ __RPC__in BSTR bstrModule);
2726 END_INTERFACE
2727 } IDebugComPlusSymbolSearchInfoVtbl;
2729 interface IDebugComPlusSymbolSearchInfo
2731 CONST_VTBL struct IDebugComPlusSymbolSearchInfoVtbl *lpVtbl;
2736 #ifdef COBJMACROS
2739 #define IDebugComPlusSymbolSearchInfo_QueryInterface(This,riid,ppvObject) \
2740 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2742 #define IDebugComPlusSymbolSearchInfo_AddRef(This) \
2743 ( (This)->lpVtbl -> AddRef(This) )
2745 #define IDebugComPlusSymbolSearchInfo_Release(This) \
2746 ( (This)->lpVtbl -> Release(This) )
2749 #define IDebugComPlusSymbolSearchInfo_GetLastSymbolSearchInfo(This,ulAppDomainID,guidModule,pbstrPath,phrHRESULT) \
2750 ( (This)->lpVtbl -> GetLastSymbolSearchInfo(This,ulAppDomainID,guidModule,pbstrPath,phrHRESULT) )
2752 #define IDebugComPlusSymbolSearchInfo_GetSymbolSearchInfoCount(This,ulAppDomainID,guidModule,pCount) \
2753 ( (This)->lpVtbl -> GetSymbolSearchInfoCount(This,ulAppDomainID,guidModule,pCount) )
2755 #define IDebugComPlusSymbolSearchInfo_GetSymbolSearchInfo(This,ulAppDomainID,guidModule,ulSearchInfo,pulSearchInfo,prgSearchInfo) \
2756 ( (This)->lpVtbl -> GetSymbolSearchInfo(This,ulAppDomainID,guidModule,ulSearchInfo,pulSearchInfo,prgSearchInfo) )
2758 #define IDebugComPlusSymbolSearchInfo_LoadSymbolsWithoutPDB(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pUnkCorDebugModule,bstrModule) \
2759 ( (This)->lpVtbl -> LoadSymbolsWithoutPDB(This,ulAppDomainID,guidModule,baseAddress,pUnkMetadataImport,pUnkCorDebugModule,bstrModule) )
2761 #endif /* COBJMACROS */
2764 #endif /* C style interface */
2769 #endif /* __IDebugComPlusSymbolSearchInfo_INTERFACE_DEFINED__ */
2772 #ifndef __IDebugTypeFieldBuilder_INTERFACE_DEFINED__
2773 #define __IDebugTypeFieldBuilder_INTERFACE_DEFINED__
2775 /* interface IDebugTypeFieldBuilder */
2776 /* [unique][uuid][object] */
2779 EXTERN_C const IID IID_IDebugTypeFieldBuilder;
2781 #if defined(__cplusplus) && !defined(CINTERFACE)
2783 MIDL_INTERFACE("796AE40B-6CDA-4f05-A663-D282A93AC7D4")
2784 IDebugTypeFieldBuilder : public IUnknown
2786 public:
2787 virtual HRESULT STDMETHODCALLTYPE CreatePrimitive(
2788 /* [in] */ DWORD dwElementType,
2789 /* [out] */ __RPC__deref_out_opt IDebugField **pTypeField) = 0;
2791 virtual HRESULT STDMETHODCALLTYPE CreatePointerToType(
2792 /* [in] */ __RPC__in_opt IDebugField *pTypeField,
2793 /* [out] */ __RPC__deref_out_opt IDebugField **pPtrToTypeField) = 0;
2797 #else /* C style interface */
2799 typedef struct IDebugTypeFieldBuilderVtbl
2801 BEGIN_INTERFACE
2803 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2804 IDebugTypeFieldBuilder * This,
2805 /* [in] */ __RPC__in REFIID riid,
2806 /* [iid_is][out] */
2807 __RPC__deref_out void **ppvObject);
2809 ULONG ( STDMETHODCALLTYPE *AddRef )(
2810 IDebugTypeFieldBuilder * This);
2812 ULONG ( STDMETHODCALLTYPE *Release )(
2813 IDebugTypeFieldBuilder * This);
2815 HRESULT ( STDMETHODCALLTYPE *CreatePrimitive )(
2816 IDebugTypeFieldBuilder * This,
2817 /* [in] */ DWORD dwElementType,
2818 /* [out] */ __RPC__deref_out_opt IDebugField **pTypeField);
2820 HRESULT ( STDMETHODCALLTYPE *CreatePointerToType )(
2821 IDebugTypeFieldBuilder * This,
2822 /* [in] */ __RPC__in_opt IDebugField *pTypeField,
2823 /* [out] */ __RPC__deref_out_opt IDebugField **pPtrToTypeField);
2825 END_INTERFACE
2826 } IDebugTypeFieldBuilderVtbl;
2828 interface IDebugTypeFieldBuilder
2830 CONST_VTBL struct IDebugTypeFieldBuilderVtbl *lpVtbl;
2835 #ifdef COBJMACROS
2838 #define IDebugTypeFieldBuilder_QueryInterface(This,riid,ppvObject) \
2839 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2841 #define IDebugTypeFieldBuilder_AddRef(This) \
2842 ( (This)->lpVtbl -> AddRef(This) )
2844 #define IDebugTypeFieldBuilder_Release(This) \
2845 ( (This)->lpVtbl -> Release(This) )
2848 #define IDebugTypeFieldBuilder_CreatePrimitive(This,dwElementType,pTypeField) \
2849 ( (This)->lpVtbl -> CreatePrimitive(This,dwElementType,pTypeField) )
2851 #define IDebugTypeFieldBuilder_CreatePointerToType(This,pTypeField,pPtrToTypeField) \
2852 ( (This)->lpVtbl -> CreatePointerToType(This,pTypeField,pPtrToTypeField) )
2854 #endif /* COBJMACROS */
2857 #endif /* C style interface */
2862 #endif /* __IDebugTypeFieldBuilder_INTERFACE_DEFINED__ */
2865 #ifndef __IDebugTypeFieldBuilder2_INTERFACE_DEFINED__
2866 #define __IDebugTypeFieldBuilder2_INTERFACE_DEFINED__
2868 /* interface IDebugTypeFieldBuilder2 */
2869 /* [unique][uuid][object] */
2872 EXTERN_C const IID IID_IDebugTypeFieldBuilder2;
2874 #if defined(__cplusplus) && !defined(CINTERFACE)
2876 MIDL_INTERFACE("EED3392E-C13A-42a9-932F-145C12B4FB5C")
2877 IDebugTypeFieldBuilder2 : public IDebugTypeFieldBuilder
2879 public:
2880 virtual HRESULT STDMETHODCALLTYPE CreateArrayOfType(
2881 /* [in] */ __RPC__in_opt IDebugField *pTypeField,
2882 /* [in] */ DWORD rank,
2883 /* [out] */ __RPC__deref_out_opt IDebugField **pArrayOfTypeField) = 0;
2887 #else /* C style interface */
2889 typedef struct IDebugTypeFieldBuilder2Vtbl
2891 BEGIN_INTERFACE
2893 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2894 IDebugTypeFieldBuilder2 * This,
2895 /* [in] */ __RPC__in REFIID riid,
2896 /* [iid_is][out] */
2897 __RPC__deref_out void **ppvObject);
2899 ULONG ( STDMETHODCALLTYPE *AddRef )(
2900 IDebugTypeFieldBuilder2 * This);
2902 ULONG ( STDMETHODCALLTYPE *Release )(
2903 IDebugTypeFieldBuilder2 * This);
2905 HRESULT ( STDMETHODCALLTYPE *CreatePrimitive )(
2906 IDebugTypeFieldBuilder2 * This,
2907 /* [in] */ DWORD dwElementType,
2908 /* [out] */ __RPC__deref_out_opt IDebugField **pTypeField);
2910 HRESULT ( STDMETHODCALLTYPE *CreatePointerToType )(
2911 IDebugTypeFieldBuilder2 * This,
2912 /* [in] */ __RPC__in_opt IDebugField *pTypeField,
2913 /* [out] */ __RPC__deref_out_opt IDebugField **pPtrToTypeField);
2915 HRESULT ( STDMETHODCALLTYPE *CreateArrayOfType )(
2916 IDebugTypeFieldBuilder2 * This,
2917 /* [in] */ __RPC__in_opt IDebugField *pTypeField,
2918 /* [in] */ DWORD rank,
2919 /* [out] */ __RPC__deref_out_opt IDebugField **pArrayOfTypeField);
2921 END_INTERFACE
2922 } IDebugTypeFieldBuilder2Vtbl;
2924 interface IDebugTypeFieldBuilder2
2926 CONST_VTBL struct IDebugTypeFieldBuilder2Vtbl *lpVtbl;
2931 #ifdef COBJMACROS
2934 #define IDebugTypeFieldBuilder2_QueryInterface(This,riid,ppvObject) \
2935 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2937 #define IDebugTypeFieldBuilder2_AddRef(This) \
2938 ( (This)->lpVtbl -> AddRef(This) )
2940 #define IDebugTypeFieldBuilder2_Release(This) \
2941 ( (This)->lpVtbl -> Release(This) )
2944 #define IDebugTypeFieldBuilder2_CreatePrimitive(This,dwElementType,pTypeField) \
2945 ( (This)->lpVtbl -> CreatePrimitive(This,dwElementType,pTypeField) )
2947 #define IDebugTypeFieldBuilder2_CreatePointerToType(This,pTypeField,pPtrToTypeField) \
2948 ( (This)->lpVtbl -> CreatePointerToType(This,pTypeField,pPtrToTypeField) )
2951 #define IDebugTypeFieldBuilder2_CreateArrayOfType(This,pTypeField,rank,pArrayOfTypeField) \
2952 ( (This)->lpVtbl -> CreateArrayOfType(This,pTypeField,rank,pArrayOfTypeField) )
2954 #endif /* COBJMACROS */
2957 #endif /* C style interface */
2962 #endif /* __IDebugTypeFieldBuilder2_INTERFACE_DEFINED__ */
2965 #ifndef __IDebugNativeSymbolProvider_INTERFACE_DEFINED__
2966 #define __IDebugNativeSymbolProvider_INTERFACE_DEFINED__
2968 /* interface IDebugNativeSymbolProvider */
2969 /* [unique][uuid][object] */
2972 EXTERN_C const IID IID_IDebugNativeSymbolProvider;
2974 #if defined(__cplusplus) && !defined(CINTERFACE)
2976 MIDL_INTERFACE("c2e34eb0-8b9d-11d2-9014-00c04fa38338")
2977 IDebugNativeSymbolProvider : public IDebugSymbolProvider
2979 public:
2980 virtual HRESULT STDMETHODCALLTYPE LoadSymbols(
2981 /* [in] */ __RPC__in LPCOLESTR pszFileName) = 0;
2985 #else /* C style interface */
2987 typedef struct IDebugNativeSymbolProviderVtbl
2989 BEGIN_INTERFACE
2991 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2992 IDebugNativeSymbolProvider * This,
2993 /* [in] */ __RPC__in REFIID riid,
2994 /* [iid_is][out] */
2995 __RPC__deref_out void **ppvObject);
2997 ULONG ( STDMETHODCALLTYPE *AddRef )(
2998 IDebugNativeSymbolProvider * This);
3000 ULONG ( STDMETHODCALLTYPE *Release )(
3001 IDebugNativeSymbolProvider * This);
3003 HRESULT ( STDMETHODCALLTYPE *Initialize )(
3004 IDebugNativeSymbolProvider * This,
3005 /* [in] */ __RPC__in_opt IDebugEngineSymbolProviderServices *pServices);
3007 HRESULT ( STDMETHODCALLTYPE *Uninitialize )(
3008 IDebugNativeSymbolProvider * This);
3010 HRESULT ( STDMETHODCALLTYPE *GetContainerField )(
3011 IDebugNativeSymbolProvider * This,
3012 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3013 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
3015 HRESULT ( STDMETHODCALLTYPE *GetField )(
3016 IDebugNativeSymbolProvider * This,
3017 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3018 /* [in] */ __RPC__in_opt IDebugAddress *pAddressCur,
3019 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
3021 HRESULT ( STDMETHODCALLTYPE *GetAddressesFromPosition )(
3022 IDebugNativeSymbolProvider * This,
3023 /* [in] */ __RPC__in_opt IDebugDocumentPosition2 *pDocPos,
3024 /* [in] */ BOOL fStatmentOnly,
3025 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
3026 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
3028 HRESULT ( STDMETHODCALLTYPE *GetAddressesFromContext )(
3029 IDebugNativeSymbolProvider * This,
3030 /* [in] */ __RPC__in_opt IDebugDocumentContext2 *pDocContext,
3031 /* [in] */ BOOL fStatmentOnly,
3032 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumBegAddresses,
3033 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnumEndAddresses);
3035 HRESULT ( STDMETHODCALLTYPE *GetContextFromAddress )(
3036 IDebugNativeSymbolProvider * This,
3037 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3038 /* [out] */ __RPC__deref_out_opt IDebugDocumentContext2 **ppDocContext);
3040 HRESULT ( STDMETHODCALLTYPE *GetLanguage )(
3041 IDebugNativeSymbolProvider * This,
3042 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3043 /* [out] */ __RPC__out GUID *pguidLanguage,
3044 /* [out] */ __RPC__out GUID *pguidLanguageVendor);
3046 HRESULT ( STDMETHODCALLTYPE *GetGlobalContainer )(
3047 IDebugNativeSymbolProvider * This,
3048 /* [out] */ __RPC__deref_out_opt IDebugContainerField **pField);
3050 HRESULT ( STDMETHODCALLTYPE *GetMethodFieldsByName )(
3051 IDebugNativeSymbolProvider * This,
3052 /* [full][in] */ __RPC__in_opt LPCOLESTR pszFullName,
3053 /* [in] */ NAME_MATCH nameMatch,
3054 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
3056 HRESULT ( STDMETHODCALLTYPE *GetClassTypeByName )(
3057 IDebugNativeSymbolProvider * This,
3058 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
3059 /* [in] */ NAME_MATCH nameMatch,
3060 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppField);
3062 HRESULT ( STDMETHODCALLTYPE *GetNamespacesUsedAtAddress )(
3063 IDebugNativeSymbolProvider * This,
3064 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3065 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
3067 HRESULT ( STDMETHODCALLTYPE *GetTypeByName )(
3068 IDebugNativeSymbolProvider * This,
3069 /* [full][in] */ __RPC__in_opt LPCOLESTR pszClassName,
3070 /* [in] */ NAME_MATCH nameMatch,
3071 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
3073 HRESULT ( STDMETHODCALLTYPE *GetNextAddress )(
3074 IDebugNativeSymbolProvider * This,
3075 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3076 /* [in] */ BOOL fStatmentOnly,
3077 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
3079 HRESULT ( STDMETHODCALLTYPE *LoadSymbols )(
3080 IDebugNativeSymbolProvider * This,
3081 /* [in] */ __RPC__in LPCOLESTR pszFileName);
3083 END_INTERFACE
3084 } IDebugNativeSymbolProviderVtbl;
3086 interface IDebugNativeSymbolProvider
3088 CONST_VTBL struct IDebugNativeSymbolProviderVtbl *lpVtbl;
3093 #ifdef COBJMACROS
3096 #define IDebugNativeSymbolProvider_QueryInterface(This,riid,ppvObject) \
3097 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3099 #define IDebugNativeSymbolProvider_AddRef(This) \
3100 ( (This)->lpVtbl -> AddRef(This) )
3102 #define IDebugNativeSymbolProvider_Release(This) \
3103 ( (This)->lpVtbl -> Release(This) )
3106 #define IDebugNativeSymbolProvider_Initialize(This,pServices) \
3107 ( (This)->lpVtbl -> Initialize(This,pServices) )
3109 #define IDebugNativeSymbolProvider_Uninitialize(This) \
3110 ( (This)->lpVtbl -> Uninitialize(This) )
3112 #define IDebugNativeSymbolProvider_GetContainerField(This,pAddress,ppContainerField) \
3113 ( (This)->lpVtbl -> GetContainerField(This,pAddress,ppContainerField) )
3115 #define IDebugNativeSymbolProvider_GetField(This,pAddress,pAddressCur,ppField) \
3116 ( (This)->lpVtbl -> GetField(This,pAddress,pAddressCur,ppField) )
3118 #define IDebugNativeSymbolProvider_GetAddressesFromPosition(This,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
3119 ( (This)->lpVtbl -> GetAddressesFromPosition(This,pDocPos,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
3121 #define IDebugNativeSymbolProvider_GetAddressesFromContext(This,pDocContext,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) \
3122 ( (This)->lpVtbl -> GetAddressesFromContext(This,pDocContext,fStatmentOnly,ppEnumBegAddresses,ppEnumEndAddresses) )
3124 #define IDebugNativeSymbolProvider_GetContextFromAddress(This,pAddress,ppDocContext) \
3125 ( (This)->lpVtbl -> GetContextFromAddress(This,pAddress,ppDocContext) )
3127 #define IDebugNativeSymbolProvider_GetLanguage(This,pAddress,pguidLanguage,pguidLanguageVendor) \
3128 ( (This)->lpVtbl -> GetLanguage(This,pAddress,pguidLanguage,pguidLanguageVendor) )
3130 #define IDebugNativeSymbolProvider_GetGlobalContainer(This,pField) \
3131 ( (This)->lpVtbl -> GetGlobalContainer(This,pField) )
3133 #define IDebugNativeSymbolProvider_GetMethodFieldsByName(This,pszFullName,nameMatch,ppEnum) \
3134 ( (This)->lpVtbl -> GetMethodFieldsByName(This,pszFullName,nameMatch,ppEnum) )
3136 #define IDebugNativeSymbolProvider_GetClassTypeByName(This,pszClassName,nameMatch,ppField) \
3137 ( (This)->lpVtbl -> GetClassTypeByName(This,pszClassName,nameMatch,ppField) )
3139 #define IDebugNativeSymbolProvider_GetNamespacesUsedAtAddress(This,pAddress,ppEnum) \
3140 ( (This)->lpVtbl -> GetNamespacesUsedAtAddress(This,pAddress,ppEnum) )
3142 #define IDebugNativeSymbolProvider_GetTypeByName(This,pszClassName,nameMatch,ppField) \
3143 ( (This)->lpVtbl -> GetTypeByName(This,pszClassName,nameMatch,ppField) )
3145 #define IDebugNativeSymbolProvider_GetNextAddress(This,pAddress,fStatmentOnly,ppAddress) \
3146 ( (This)->lpVtbl -> GetNextAddress(This,pAddress,fStatmentOnly,ppAddress) )
3149 #define IDebugNativeSymbolProvider_LoadSymbols(This,pszFileName) \
3150 ( (This)->lpVtbl -> LoadSymbols(This,pszFileName) )
3152 #endif /* COBJMACROS */
3155 #endif /* C style interface */
3160 #endif /* __IDebugNativeSymbolProvider_INTERFACE_DEFINED__ */
3163 #ifndef __IDebugExtendedField_INTERFACE_DEFINED__
3164 #define __IDebugExtendedField_INTERFACE_DEFINED__
3166 /* interface IDebugExtendedField */
3167 /* [unique][uuid][object] */
3170 enum enum_FIELD_KIND_EX
3171 { FIELD_KIND_EX_NONE = 0,
3172 FIELD_TYPE_EX_METHODVAR = 0x1,
3173 FIELD_TYPE_EX_CLASSVAR = 0x2
3175 typedef DWORD FIELD_KIND_EX;
3178 EXTERN_C const IID IID_IDebugExtendedField;
3180 #if defined(__cplusplus) && !defined(CINTERFACE)
3182 MIDL_INTERFACE("20F22571-AA1C-4724-AD0A-BDE2D19D6163")
3183 IDebugExtendedField : public IDebugField
3185 public:
3186 virtual HRESULT STDMETHODCALLTYPE GetExtendedKind(
3187 /* [out] */ __RPC__out FIELD_KIND_EX *pdwKind) = 0;
3189 virtual HRESULT STDMETHODCALLTYPE IsClosedType( void) = 0;
3193 #else /* C style interface */
3195 typedef struct IDebugExtendedFieldVtbl
3197 BEGIN_INTERFACE
3199 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3200 IDebugExtendedField * This,
3201 /* [in] */ __RPC__in REFIID riid,
3202 /* [iid_is][out] */
3203 __RPC__deref_out void **ppvObject);
3205 ULONG ( STDMETHODCALLTYPE *AddRef )(
3206 IDebugExtendedField * This);
3208 ULONG ( STDMETHODCALLTYPE *Release )(
3209 IDebugExtendedField * This);
3211 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
3212 IDebugExtendedField * This,
3213 /* [in] */ FIELD_INFO_FIELDS dwFields,
3214 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
3216 HRESULT ( STDMETHODCALLTYPE *GetKind )(
3217 IDebugExtendedField * This,
3218 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
3220 HRESULT ( STDMETHODCALLTYPE *GetType )(
3221 IDebugExtendedField * This,
3222 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
3224 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
3225 IDebugExtendedField * This,
3226 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
3228 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
3229 IDebugExtendedField * This,
3230 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
3232 HRESULT ( STDMETHODCALLTYPE *GetSize )(
3233 IDebugExtendedField * This,
3234 /* [out] */ __RPC__out DWORD *pdwSize);
3236 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
3237 IDebugExtendedField * This,
3238 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
3239 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
3240 /* [out][in] */ __RPC__inout DWORD *pdwLen);
3242 HRESULT ( STDMETHODCALLTYPE *Equal )(
3243 IDebugExtendedField * This,
3244 /* [in] */ __RPC__in_opt IDebugField *pField);
3246 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
3247 IDebugExtendedField * This,
3248 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
3250 HRESULT ( STDMETHODCALLTYPE *GetExtendedKind )(
3251 IDebugExtendedField * This,
3252 /* [out] */ __RPC__out FIELD_KIND_EX *pdwKind);
3254 HRESULT ( STDMETHODCALLTYPE *IsClosedType )(
3255 IDebugExtendedField * This);
3257 END_INTERFACE
3258 } IDebugExtendedFieldVtbl;
3260 interface IDebugExtendedField
3262 CONST_VTBL struct IDebugExtendedFieldVtbl *lpVtbl;
3267 #ifdef COBJMACROS
3270 #define IDebugExtendedField_QueryInterface(This,riid,ppvObject) \
3271 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3273 #define IDebugExtendedField_AddRef(This) \
3274 ( (This)->lpVtbl -> AddRef(This) )
3276 #define IDebugExtendedField_Release(This) \
3277 ( (This)->lpVtbl -> Release(This) )
3280 #define IDebugExtendedField_GetInfo(This,dwFields,pFieldInfo) \
3281 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
3283 #define IDebugExtendedField_GetKind(This,pdwKind) \
3284 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
3286 #define IDebugExtendedField_GetType(This,ppType) \
3287 ( (This)->lpVtbl -> GetType(This,ppType) )
3289 #define IDebugExtendedField_GetContainer(This,ppContainerField) \
3290 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
3292 #define IDebugExtendedField_GetAddress(This,ppAddress) \
3293 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
3295 #define IDebugExtendedField_GetSize(This,pdwSize) \
3296 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
3298 #define IDebugExtendedField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
3299 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
3301 #define IDebugExtendedField_Equal(This,pField) \
3302 ( (This)->lpVtbl -> Equal(This,pField) )
3304 #define IDebugExtendedField_GetTypeInfo(This,pTypeInfo) \
3305 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
3308 #define IDebugExtendedField_GetExtendedKind(This,pdwKind) \
3309 ( (This)->lpVtbl -> GetExtendedKind(This,pdwKind) )
3311 #define IDebugExtendedField_IsClosedType(This) \
3312 ( (This)->lpVtbl -> IsClosedType(This) )
3314 #endif /* COBJMACROS */
3317 #endif /* C style interface */
3322 #endif /* __IDebugExtendedField_INTERFACE_DEFINED__ */
3325 #ifndef __IDebugPrimitiveTypeField_INTERFACE_DEFINED__
3326 #define __IDebugPrimitiveTypeField_INTERFACE_DEFINED__
3328 /* interface IDebugPrimitiveTypeField */
3329 /* [unique][uuid][object] */
3332 EXTERN_C const IID IID_IDebugPrimitiveTypeField;
3334 #if defined(__cplusplus) && !defined(CINTERFACE)
3336 MIDL_INTERFACE("7a739554-3fc6-43ee-981d-f49171151393")
3337 IDebugPrimitiveTypeField : public IDebugField
3339 public:
3340 virtual HRESULT STDMETHODCALLTYPE GetPrimitiveType(
3341 /* [out] */ __RPC__out DWORD *pdwType) = 0;
3345 #else /* C style interface */
3347 typedef struct IDebugPrimitiveTypeFieldVtbl
3349 BEGIN_INTERFACE
3351 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3352 IDebugPrimitiveTypeField * This,
3353 /* [in] */ __RPC__in REFIID riid,
3354 /* [iid_is][out] */
3355 __RPC__deref_out void **ppvObject);
3357 ULONG ( STDMETHODCALLTYPE *AddRef )(
3358 IDebugPrimitiveTypeField * This);
3360 ULONG ( STDMETHODCALLTYPE *Release )(
3361 IDebugPrimitiveTypeField * This);
3363 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
3364 IDebugPrimitiveTypeField * This,
3365 /* [in] */ FIELD_INFO_FIELDS dwFields,
3366 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
3368 HRESULT ( STDMETHODCALLTYPE *GetKind )(
3369 IDebugPrimitiveTypeField * This,
3370 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
3372 HRESULT ( STDMETHODCALLTYPE *GetType )(
3373 IDebugPrimitiveTypeField * This,
3374 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
3376 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
3377 IDebugPrimitiveTypeField * This,
3378 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
3380 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
3381 IDebugPrimitiveTypeField * This,
3382 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
3384 HRESULT ( STDMETHODCALLTYPE *GetSize )(
3385 IDebugPrimitiveTypeField * This,
3386 /* [out] */ __RPC__out DWORD *pdwSize);
3388 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
3389 IDebugPrimitiveTypeField * This,
3390 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
3391 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
3392 /* [out][in] */ __RPC__inout DWORD *pdwLen);
3394 HRESULT ( STDMETHODCALLTYPE *Equal )(
3395 IDebugPrimitiveTypeField * This,
3396 /* [in] */ __RPC__in_opt IDebugField *pField);
3398 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
3399 IDebugPrimitiveTypeField * This,
3400 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
3402 HRESULT ( STDMETHODCALLTYPE *GetPrimitiveType )(
3403 IDebugPrimitiveTypeField * This,
3404 /* [out] */ __RPC__out DWORD *pdwType);
3406 END_INTERFACE
3407 } IDebugPrimitiveTypeFieldVtbl;
3409 interface IDebugPrimitiveTypeField
3411 CONST_VTBL struct IDebugPrimitiveTypeFieldVtbl *lpVtbl;
3416 #ifdef COBJMACROS
3419 #define IDebugPrimitiveTypeField_QueryInterface(This,riid,ppvObject) \
3420 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3422 #define IDebugPrimitiveTypeField_AddRef(This) \
3423 ( (This)->lpVtbl -> AddRef(This) )
3425 #define IDebugPrimitiveTypeField_Release(This) \
3426 ( (This)->lpVtbl -> Release(This) )
3429 #define IDebugPrimitiveTypeField_GetInfo(This,dwFields,pFieldInfo) \
3430 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
3432 #define IDebugPrimitiveTypeField_GetKind(This,pdwKind) \
3433 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
3435 #define IDebugPrimitiveTypeField_GetType(This,ppType) \
3436 ( (This)->lpVtbl -> GetType(This,ppType) )
3438 #define IDebugPrimitiveTypeField_GetContainer(This,ppContainerField) \
3439 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
3441 #define IDebugPrimitiveTypeField_GetAddress(This,ppAddress) \
3442 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
3444 #define IDebugPrimitiveTypeField_GetSize(This,pdwSize) \
3445 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
3447 #define IDebugPrimitiveTypeField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
3448 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
3450 #define IDebugPrimitiveTypeField_Equal(This,pField) \
3451 ( (This)->lpVtbl -> Equal(This,pField) )
3453 #define IDebugPrimitiveTypeField_GetTypeInfo(This,pTypeInfo) \
3454 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
3457 #define IDebugPrimitiveTypeField_GetPrimitiveType(This,pdwType) \
3458 ( (This)->lpVtbl -> GetPrimitiveType(This,pdwType) )
3460 #endif /* COBJMACROS */
3463 #endif /* C style interface */
3468 #endif /* __IDebugPrimitiveTypeField_INTERFACE_DEFINED__ */
3471 #ifndef __IDebugContainerField_INTERFACE_DEFINED__
3472 #define __IDebugContainerField_INTERFACE_DEFINED__
3474 /* interface IDebugContainerField */
3475 /* [unique][uuid][object] */
3478 EXTERN_C const IID IID_IDebugContainerField;
3480 #if defined(__cplusplus) && !defined(CINTERFACE)
3482 MIDL_INTERFACE("c2e34eb2-8b9d-11d2-9014-00c04fa38338")
3483 IDebugContainerField : public IDebugField
3485 public:
3486 virtual HRESULT STDMETHODCALLTYPE EnumFields(
3487 /* [in] */ FIELD_KIND dwKindFilter,
3488 /* [in] */ FIELD_MODIFIERS dwModifiersFilter,
3489 /* [full][in] */ __RPC__in_opt LPCOLESTR pszNameFilter,
3490 /* [in] */ NAME_MATCH nameMatch,
3491 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
3495 #else /* C style interface */
3497 typedef struct IDebugContainerFieldVtbl
3499 BEGIN_INTERFACE
3501 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3502 IDebugContainerField * This,
3503 /* [in] */ __RPC__in REFIID riid,
3504 /* [iid_is][out] */
3505 __RPC__deref_out void **ppvObject);
3507 ULONG ( STDMETHODCALLTYPE *AddRef )(
3508 IDebugContainerField * This);
3510 ULONG ( STDMETHODCALLTYPE *Release )(
3511 IDebugContainerField * This);
3513 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
3514 IDebugContainerField * This,
3515 /* [in] */ FIELD_INFO_FIELDS dwFields,
3516 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
3518 HRESULT ( STDMETHODCALLTYPE *GetKind )(
3519 IDebugContainerField * This,
3520 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
3522 HRESULT ( STDMETHODCALLTYPE *GetType )(
3523 IDebugContainerField * This,
3524 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
3526 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
3527 IDebugContainerField * This,
3528 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
3530 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
3531 IDebugContainerField * This,
3532 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
3534 HRESULT ( STDMETHODCALLTYPE *GetSize )(
3535 IDebugContainerField * This,
3536 /* [out] */ __RPC__out DWORD *pdwSize);
3538 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
3539 IDebugContainerField * This,
3540 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
3541 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
3542 /* [out][in] */ __RPC__inout DWORD *pdwLen);
3544 HRESULT ( STDMETHODCALLTYPE *Equal )(
3545 IDebugContainerField * This,
3546 /* [in] */ __RPC__in_opt IDebugField *pField);
3548 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
3549 IDebugContainerField * This,
3550 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
3552 HRESULT ( STDMETHODCALLTYPE *EnumFields )(
3553 IDebugContainerField * This,
3554 /* [in] */ FIELD_KIND dwKindFilter,
3555 /* [in] */ FIELD_MODIFIERS dwModifiersFilter,
3556 /* [full][in] */ __RPC__in_opt LPCOLESTR pszNameFilter,
3557 /* [in] */ NAME_MATCH nameMatch,
3558 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
3560 END_INTERFACE
3561 } IDebugContainerFieldVtbl;
3563 interface IDebugContainerField
3565 CONST_VTBL struct IDebugContainerFieldVtbl *lpVtbl;
3570 #ifdef COBJMACROS
3573 #define IDebugContainerField_QueryInterface(This,riid,ppvObject) \
3574 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3576 #define IDebugContainerField_AddRef(This) \
3577 ( (This)->lpVtbl -> AddRef(This) )
3579 #define IDebugContainerField_Release(This) \
3580 ( (This)->lpVtbl -> Release(This) )
3583 #define IDebugContainerField_GetInfo(This,dwFields,pFieldInfo) \
3584 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
3586 #define IDebugContainerField_GetKind(This,pdwKind) \
3587 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
3589 #define IDebugContainerField_GetType(This,ppType) \
3590 ( (This)->lpVtbl -> GetType(This,ppType) )
3592 #define IDebugContainerField_GetContainer(This,ppContainerField) \
3593 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
3595 #define IDebugContainerField_GetAddress(This,ppAddress) \
3596 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
3598 #define IDebugContainerField_GetSize(This,pdwSize) \
3599 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
3601 #define IDebugContainerField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
3602 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
3604 #define IDebugContainerField_Equal(This,pField) \
3605 ( (This)->lpVtbl -> Equal(This,pField) )
3607 #define IDebugContainerField_GetTypeInfo(This,pTypeInfo) \
3608 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
3611 #define IDebugContainerField_EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) \
3612 ( (This)->lpVtbl -> EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) )
3614 #endif /* COBJMACROS */
3617 #endif /* C style interface */
3622 #endif /* __IDebugContainerField_INTERFACE_DEFINED__ */
3625 #ifndef __IDebugMethodField_INTERFACE_DEFINED__
3626 #define __IDebugMethodField_INTERFACE_DEFINED__
3628 /* interface IDebugMethodField */
3629 /* [unique][uuid][object] */
3632 EXTERN_C const IID IID_IDebugMethodField;
3634 #if defined(__cplusplus) && !defined(CINTERFACE)
3636 MIDL_INTERFACE("c2e34eb4-8b9d-11d2-9014-00c04fa38338")
3637 IDebugMethodField : public IDebugContainerField
3639 public:
3640 virtual HRESULT STDMETHODCALLTYPE EnumParameters(
3641 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppParams) = 0;
3643 virtual HRESULT STDMETHODCALLTYPE GetThis(
3644 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppClass) = 0;
3646 virtual HRESULT STDMETHODCALLTYPE EnumAllLocals(
3647 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3648 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppLocals) = 0;
3650 virtual HRESULT STDMETHODCALLTYPE EnumLocals(
3651 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3652 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppLocals) = 0;
3654 virtual HRESULT STDMETHODCALLTYPE IsCustomAttributeDefined(
3655 /* [full][in] */ __RPC__in_opt LPCOLESTR pszCustomAttributeName) = 0;
3657 virtual HRESULT STDMETHODCALLTYPE EnumStaticLocals(
3658 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppLocals) = 0;
3660 virtual HRESULT STDMETHODCALLTYPE GetGlobalContainer(
3661 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppClass) = 0;
3663 virtual HRESULT STDMETHODCALLTYPE EnumArguments(
3664 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppParams) = 0;
3668 #else /* C style interface */
3670 typedef struct IDebugMethodFieldVtbl
3672 BEGIN_INTERFACE
3674 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3675 IDebugMethodField * This,
3676 /* [in] */ __RPC__in REFIID riid,
3677 /* [iid_is][out] */
3678 __RPC__deref_out void **ppvObject);
3680 ULONG ( STDMETHODCALLTYPE *AddRef )(
3681 IDebugMethodField * This);
3683 ULONG ( STDMETHODCALLTYPE *Release )(
3684 IDebugMethodField * This);
3686 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
3687 IDebugMethodField * This,
3688 /* [in] */ FIELD_INFO_FIELDS dwFields,
3689 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
3691 HRESULT ( STDMETHODCALLTYPE *GetKind )(
3692 IDebugMethodField * This,
3693 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
3695 HRESULT ( STDMETHODCALLTYPE *GetType )(
3696 IDebugMethodField * This,
3697 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
3699 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
3700 IDebugMethodField * This,
3701 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
3703 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
3704 IDebugMethodField * This,
3705 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
3707 HRESULT ( STDMETHODCALLTYPE *GetSize )(
3708 IDebugMethodField * This,
3709 /* [out] */ __RPC__out DWORD *pdwSize);
3711 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
3712 IDebugMethodField * This,
3713 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
3714 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
3715 /* [out][in] */ __RPC__inout DWORD *pdwLen);
3717 HRESULT ( STDMETHODCALLTYPE *Equal )(
3718 IDebugMethodField * This,
3719 /* [in] */ __RPC__in_opt IDebugField *pField);
3721 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
3722 IDebugMethodField * This,
3723 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
3725 HRESULT ( STDMETHODCALLTYPE *EnumFields )(
3726 IDebugMethodField * This,
3727 /* [in] */ FIELD_KIND dwKindFilter,
3728 /* [in] */ FIELD_MODIFIERS dwModifiersFilter,
3729 /* [full][in] */ __RPC__in_opt LPCOLESTR pszNameFilter,
3730 /* [in] */ NAME_MATCH nameMatch,
3731 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
3733 HRESULT ( STDMETHODCALLTYPE *EnumParameters )(
3734 IDebugMethodField * This,
3735 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppParams);
3737 HRESULT ( STDMETHODCALLTYPE *GetThis )(
3738 IDebugMethodField * This,
3739 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppClass);
3741 HRESULT ( STDMETHODCALLTYPE *EnumAllLocals )(
3742 IDebugMethodField * This,
3743 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3744 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppLocals);
3746 HRESULT ( STDMETHODCALLTYPE *EnumLocals )(
3747 IDebugMethodField * This,
3748 /* [in] */ __RPC__in_opt IDebugAddress *pAddress,
3749 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppLocals);
3751 HRESULT ( STDMETHODCALLTYPE *IsCustomAttributeDefined )(
3752 IDebugMethodField * This,
3753 /* [full][in] */ __RPC__in_opt LPCOLESTR pszCustomAttributeName);
3755 HRESULT ( STDMETHODCALLTYPE *EnumStaticLocals )(
3756 IDebugMethodField * This,
3757 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppLocals);
3759 HRESULT ( STDMETHODCALLTYPE *GetGlobalContainer )(
3760 IDebugMethodField * This,
3761 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppClass);
3763 HRESULT ( STDMETHODCALLTYPE *EnumArguments )(
3764 IDebugMethodField * This,
3765 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppParams);
3767 END_INTERFACE
3768 } IDebugMethodFieldVtbl;
3770 interface IDebugMethodField
3772 CONST_VTBL struct IDebugMethodFieldVtbl *lpVtbl;
3777 #ifdef COBJMACROS
3780 #define IDebugMethodField_QueryInterface(This,riid,ppvObject) \
3781 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3783 #define IDebugMethodField_AddRef(This) \
3784 ( (This)->lpVtbl -> AddRef(This) )
3786 #define IDebugMethodField_Release(This) \
3787 ( (This)->lpVtbl -> Release(This) )
3790 #define IDebugMethodField_GetInfo(This,dwFields,pFieldInfo) \
3791 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
3793 #define IDebugMethodField_GetKind(This,pdwKind) \
3794 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
3796 #define IDebugMethodField_GetType(This,ppType) \
3797 ( (This)->lpVtbl -> GetType(This,ppType) )
3799 #define IDebugMethodField_GetContainer(This,ppContainerField) \
3800 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
3802 #define IDebugMethodField_GetAddress(This,ppAddress) \
3803 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
3805 #define IDebugMethodField_GetSize(This,pdwSize) \
3806 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
3808 #define IDebugMethodField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
3809 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
3811 #define IDebugMethodField_Equal(This,pField) \
3812 ( (This)->lpVtbl -> Equal(This,pField) )
3814 #define IDebugMethodField_GetTypeInfo(This,pTypeInfo) \
3815 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
3818 #define IDebugMethodField_EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) \
3819 ( (This)->lpVtbl -> EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) )
3822 #define IDebugMethodField_EnumParameters(This,ppParams) \
3823 ( (This)->lpVtbl -> EnumParameters(This,ppParams) )
3825 #define IDebugMethodField_GetThis(This,ppClass) \
3826 ( (This)->lpVtbl -> GetThis(This,ppClass) )
3828 #define IDebugMethodField_EnumAllLocals(This,pAddress,ppLocals) \
3829 ( (This)->lpVtbl -> EnumAllLocals(This,pAddress,ppLocals) )
3831 #define IDebugMethodField_EnumLocals(This,pAddress,ppLocals) \
3832 ( (This)->lpVtbl -> EnumLocals(This,pAddress,ppLocals) )
3834 #define IDebugMethodField_IsCustomAttributeDefined(This,pszCustomAttributeName) \
3835 ( (This)->lpVtbl -> IsCustomAttributeDefined(This,pszCustomAttributeName) )
3837 #define IDebugMethodField_EnumStaticLocals(This,ppLocals) \
3838 ( (This)->lpVtbl -> EnumStaticLocals(This,ppLocals) )
3840 #define IDebugMethodField_GetGlobalContainer(This,ppClass) \
3841 ( (This)->lpVtbl -> GetGlobalContainer(This,ppClass) )
3843 #define IDebugMethodField_EnumArguments(This,ppParams) \
3844 ( (This)->lpVtbl -> EnumArguments(This,ppParams) )
3846 #endif /* COBJMACROS */
3849 #endif /* C style interface */
3854 #endif /* __IDebugMethodField_INTERFACE_DEFINED__ */
3857 #ifndef __IDebugThisAdjust_INTERFACE_DEFINED__
3858 #define __IDebugThisAdjust_INTERFACE_DEFINED__
3860 /* interface IDebugThisAdjust */
3861 /* [unique][uuid][object] */
3864 EXTERN_C const IID IID_IDebugThisAdjust;
3866 #if defined(__cplusplus) && !defined(CINTERFACE)
3868 MIDL_INTERFACE("49473E34-D4CC-49c8-BF62-79A08D2134A5")
3869 IDebugThisAdjust : public IUnknown
3871 public:
3872 virtual HRESULT STDMETHODCALLTYPE GetThisAdjustor(
3873 /* [out] */ __RPC__out LONG32 *pThisAdjust) = 0;
3877 #else /* C style interface */
3879 typedef struct IDebugThisAdjustVtbl
3881 BEGIN_INTERFACE
3883 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3884 IDebugThisAdjust * This,
3885 /* [in] */ __RPC__in REFIID riid,
3886 /* [iid_is][out] */
3887 __RPC__deref_out void **ppvObject);
3889 ULONG ( STDMETHODCALLTYPE *AddRef )(
3890 IDebugThisAdjust * This);
3892 ULONG ( STDMETHODCALLTYPE *Release )(
3893 IDebugThisAdjust * This);
3895 HRESULT ( STDMETHODCALLTYPE *GetThisAdjustor )(
3896 IDebugThisAdjust * This,
3897 /* [out] */ __RPC__out LONG32 *pThisAdjust);
3899 END_INTERFACE
3900 } IDebugThisAdjustVtbl;
3902 interface IDebugThisAdjust
3904 CONST_VTBL struct IDebugThisAdjustVtbl *lpVtbl;
3909 #ifdef COBJMACROS
3912 #define IDebugThisAdjust_QueryInterface(This,riid,ppvObject) \
3913 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3915 #define IDebugThisAdjust_AddRef(This) \
3916 ( (This)->lpVtbl -> AddRef(This) )
3918 #define IDebugThisAdjust_Release(This) \
3919 ( (This)->lpVtbl -> Release(This) )
3922 #define IDebugThisAdjust_GetThisAdjustor(This,pThisAdjust) \
3923 ( (This)->lpVtbl -> GetThisAdjustor(This,pThisAdjust) )
3925 #endif /* COBJMACROS */
3928 #endif /* C style interface */
3933 #endif /* __IDebugThisAdjust_INTERFACE_DEFINED__ */
3936 /* interface __MIDL_itf_sh_0000_0018 */
3937 /* [local] */
3939 typedef
3940 enum ConstructorMatchOptions
3941 { crAll = 0,
3942 crNonStatic = ( crAll + 1 ) ,
3943 crStatic = ( crNonStatic + 1 )
3944 } CONSTRUCTOR_ENUM;
3948 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0018_v0_0_c_ifspec;
3949 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0018_v0_0_s_ifspec;
3951 #ifndef __IDebugClassField_INTERFACE_DEFINED__
3952 #define __IDebugClassField_INTERFACE_DEFINED__
3954 /* interface IDebugClassField */
3955 /* [unique][uuid][object] */
3958 EXTERN_C const IID IID_IDebugClassField;
3960 #if defined(__cplusplus) && !defined(CINTERFACE)
3962 MIDL_INTERFACE("c2e34eb5-8b9d-11d2-9014-00c04fa38338")
3963 IDebugClassField : public IDebugContainerField
3965 public:
3966 virtual HRESULT STDMETHODCALLTYPE EnumBaseClasses(
3967 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
3969 virtual HRESULT STDMETHODCALLTYPE DoesInterfaceExist(
3970 /* [full][in] */ __RPC__in_opt LPCOLESTR pszInterfaceName) = 0;
3972 virtual HRESULT STDMETHODCALLTYPE EnumNestedClasses(
3973 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
3975 virtual HRESULT STDMETHODCALLTYPE GetEnclosingClass(
3976 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppClassField) = 0;
3978 virtual HRESULT STDMETHODCALLTYPE EnumInterfacesImplemented(
3979 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
3981 virtual HRESULT STDMETHODCALLTYPE EnumConstructors(
3982 /* [in] */ CONSTRUCTOR_ENUM cMatch,
3983 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
3985 virtual HRESULT STDMETHODCALLTYPE GetDefaultIndexer(
3986 /* [out] */ __RPC__deref_out_opt BSTR *pbstrIndexer) = 0;
3988 virtual HRESULT STDMETHODCALLTYPE EnumNestedEnums(
3989 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
3993 #else /* C style interface */
3995 typedef struct IDebugClassFieldVtbl
3997 BEGIN_INTERFACE
3999 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4000 IDebugClassField * This,
4001 /* [in] */ __RPC__in REFIID riid,
4002 /* [iid_is][out] */
4003 __RPC__deref_out void **ppvObject);
4005 ULONG ( STDMETHODCALLTYPE *AddRef )(
4006 IDebugClassField * This);
4008 ULONG ( STDMETHODCALLTYPE *Release )(
4009 IDebugClassField * This);
4011 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
4012 IDebugClassField * This,
4013 /* [in] */ FIELD_INFO_FIELDS dwFields,
4014 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
4016 HRESULT ( STDMETHODCALLTYPE *GetKind )(
4017 IDebugClassField * This,
4018 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
4020 HRESULT ( STDMETHODCALLTYPE *GetType )(
4021 IDebugClassField * This,
4022 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
4024 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
4025 IDebugClassField * This,
4026 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
4028 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
4029 IDebugClassField * This,
4030 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
4032 HRESULT ( STDMETHODCALLTYPE *GetSize )(
4033 IDebugClassField * This,
4034 /* [out] */ __RPC__out DWORD *pdwSize);
4036 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
4037 IDebugClassField * This,
4038 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
4039 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
4040 /* [out][in] */ __RPC__inout DWORD *pdwLen);
4042 HRESULT ( STDMETHODCALLTYPE *Equal )(
4043 IDebugClassField * This,
4044 /* [in] */ __RPC__in_opt IDebugField *pField);
4046 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
4047 IDebugClassField * This,
4048 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
4050 HRESULT ( STDMETHODCALLTYPE *EnumFields )(
4051 IDebugClassField * This,
4052 /* [in] */ FIELD_KIND dwKindFilter,
4053 /* [in] */ FIELD_MODIFIERS dwModifiersFilter,
4054 /* [full][in] */ __RPC__in_opt LPCOLESTR pszNameFilter,
4055 /* [in] */ NAME_MATCH nameMatch,
4056 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4058 HRESULT ( STDMETHODCALLTYPE *EnumBaseClasses )(
4059 IDebugClassField * This,
4060 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4062 HRESULT ( STDMETHODCALLTYPE *DoesInterfaceExist )(
4063 IDebugClassField * This,
4064 /* [full][in] */ __RPC__in_opt LPCOLESTR pszInterfaceName);
4066 HRESULT ( STDMETHODCALLTYPE *EnumNestedClasses )(
4067 IDebugClassField * This,
4068 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4070 HRESULT ( STDMETHODCALLTYPE *GetEnclosingClass )(
4071 IDebugClassField * This,
4072 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppClassField);
4074 HRESULT ( STDMETHODCALLTYPE *EnumInterfacesImplemented )(
4075 IDebugClassField * This,
4076 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4078 HRESULT ( STDMETHODCALLTYPE *EnumConstructors )(
4079 IDebugClassField * This,
4080 /* [in] */ CONSTRUCTOR_ENUM cMatch,
4081 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4083 HRESULT ( STDMETHODCALLTYPE *GetDefaultIndexer )(
4084 IDebugClassField * This,
4085 /* [out] */ __RPC__deref_out_opt BSTR *pbstrIndexer);
4087 HRESULT ( STDMETHODCALLTYPE *EnumNestedEnums )(
4088 IDebugClassField * This,
4089 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4091 END_INTERFACE
4092 } IDebugClassFieldVtbl;
4094 interface IDebugClassField
4096 CONST_VTBL struct IDebugClassFieldVtbl *lpVtbl;
4101 #ifdef COBJMACROS
4104 #define IDebugClassField_QueryInterface(This,riid,ppvObject) \
4105 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4107 #define IDebugClassField_AddRef(This) \
4108 ( (This)->lpVtbl -> AddRef(This) )
4110 #define IDebugClassField_Release(This) \
4111 ( (This)->lpVtbl -> Release(This) )
4114 #define IDebugClassField_GetInfo(This,dwFields,pFieldInfo) \
4115 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
4117 #define IDebugClassField_GetKind(This,pdwKind) \
4118 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
4120 #define IDebugClassField_GetType(This,ppType) \
4121 ( (This)->lpVtbl -> GetType(This,ppType) )
4123 #define IDebugClassField_GetContainer(This,ppContainerField) \
4124 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
4126 #define IDebugClassField_GetAddress(This,ppAddress) \
4127 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
4129 #define IDebugClassField_GetSize(This,pdwSize) \
4130 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
4132 #define IDebugClassField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
4133 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
4135 #define IDebugClassField_Equal(This,pField) \
4136 ( (This)->lpVtbl -> Equal(This,pField) )
4138 #define IDebugClassField_GetTypeInfo(This,pTypeInfo) \
4139 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
4142 #define IDebugClassField_EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) \
4143 ( (This)->lpVtbl -> EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) )
4146 #define IDebugClassField_EnumBaseClasses(This,ppEnum) \
4147 ( (This)->lpVtbl -> EnumBaseClasses(This,ppEnum) )
4149 #define IDebugClassField_DoesInterfaceExist(This,pszInterfaceName) \
4150 ( (This)->lpVtbl -> DoesInterfaceExist(This,pszInterfaceName) )
4152 #define IDebugClassField_EnumNestedClasses(This,ppEnum) \
4153 ( (This)->lpVtbl -> EnumNestedClasses(This,ppEnum) )
4155 #define IDebugClassField_GetEnclosingClass(This,ppClassField) \
4156 ( (This)->lpVtbl -> GetEnclosingClass(This,ppClassField) )
4158 #define IDebugClassField_EnumInterfacesImplemented(This,ppEnum) \
4159 ( (This)->lpVtbl -> EnumInterfacesImplemented(This,ppEnum) )
4161 #define IDebugClassField_EnumConstructors(This,cMatch,ppEnum) \
4162 ( (This)->lpVtbl -> EnumConstructors(This,cMatch,ppEnum) )
4164 #define IDebugClassField_GetDefaultIndexer(This,pbstrIndexer) \
4165 ( (This)->lpVtbl -> GetDefaultIndexer(This,pbstrIndexer) )
4167 #define IDebugClassField_EnumNestedEnums(This,ppEnum) \
4168 ( (This)->lpVtbl -> EnumNestedEnums(This,ppEnum) )
4170 #endif /* COBJMACROS */
4173 #endif /* C style interface */
4178 #endif /* __IDebugClassField_INTERFACE_DEFINED__ */
4181 #ifndef __IDebugModOpt_INTERFACE_DEFINED__
4182 #define __IDebugModOpt_INTERFACE_DEFINED__
4184 /* interface IDebugModOpt */
4185 /* [unique][uuid][object] */
4188 EXTERN_C const IID IID_IDebugModOpt;
4190 #if defined(__cplusplus) && !defined(CINTERFACE)
4192 MIDL_INTERFACE("B90282FC-2D44-4050-A7B2-BF3BCFF8BAF1")
4193 IDebugModOpt : public IUnknown
4195 public:
4196 virtual HRESULT STDMETHODCALLTYPE GetModOpts(
4197 /* [in] */ ULONG celt,
4198 /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) BSTR *rgelt,
4199 /* [out][in] */ __RPC__inout ULONG *pceltFetched) = 0;
4203 #else /* C style interface */
4205 typedef struct IDebugModOptVtbl
4207 BEGIN_INTERFACE
4209 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4210 IDebugModOpt * This,
4211 /* [in] */ __RPC__in REFIID riid,
4212 /* [iid_is][out] */
4213 __RPC__deref_out void **ppvObject);
4215 ULONG ( STDMETHODCALLTYPE *AddRef )(
4216 IDebugModOpt * This);
4218 ULONG ( STDMETHODCALLTYPE *Release )(
4219 IDebugModOpt * This);
4221 HRESULT ( STDMETHODCALLTYPE *GetModOpts )(
4222 IDebugModOpt * This,
4223 /* [in] */ ULONG celt,
4224 /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) BSTR *rgelt,
4225 /* [out][in] */ __RPC__inout ULONG *pceltFetched);
4227 END_INTERFACE
4228 } IDebugModOptVtbl;
4230 interface IDebugModOpt
4232 CONST_VTBL struct IDebugModOptVtbl *lpVtbl;
4237 #ifdef COBJMACROS
4240 #define IDebugModOpt_QueryInterface(This,riid,ppvObject) \
4241 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4243 #define IDebugModOpt_AddRef(This) \
4244 ( (This)->lpVtbl -> AddRef(This) )
4246 #define IDebugModOpt_Release(This) \
4247 ( (This)->lpVtbl -> Release(This) )
4250 #define IDebugModOpt_GetModOpts(This,celt,rgelt,pceltFetched) \
4251 ( (This)->lpVtbl -> GetModOpts(This,celt,rgelt,pceltFetched) )
4253 #endif /* COBJMACROS */
4256 #endif /* C style interface */
4261 #endif /* __IDebugModOpt_INTERFACE_DEFINED__ */
4264 #ifndef __IDebugPropertyField_INTERFACE_DEFINED__
4265 #define __IDebugPropertyField_INTERFACE_DEFINED__
4267 /* interface IDebugPropertyField */
4268 /* [unique][uuid][object] */
4271 EXTERN_C const IID IID_IDebugPropertyField;
4273 #if defined(__cplusplus) && !defined(CINTERFACE)
4275 MIDL_INTERFACE("c2e34eb6-8b9d-11d2-9014-00c04fa38338")
4276 IDebugPropertyField : public IDebugContainerField
4278 public:
4279 virtual HRESULT STDMETHODCALLTYPE GetPropertyGetter(
4280 /* [out] */ __RPC__deref_out_opt IDebugMethodField **ppField) = 0;
4282 virtual HRESULT STDMETHODCALLTYPE GetPropertySetter(
4283 /* [out] */ __RPC__deref_out_opt IDebugMethodField **ppField) = 0;
4287 #else /* C style interface */
4289 typedef struct IDebugPropertyFieldVtbl
4291 BEGIN_INTERFACE
4293 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4294 IDebugPropertyField * This,
4295 /* [in] */ __RPC__in REFIID riid,
4296 /* [iid_is][out] */
4297 __RPC__deref_out void **ppvObject);
4299 ULONG ( STDMETHODCALLTYPE *AddRef )(
4300 IDebugPropertyField * This);
4302 ULONG ( STDMETHODCALLTYPE *Release )(
4303 IDebugPropertyField * This);
4305 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
4306 IDebugPropertyField * This,
4307 /* [in] */ FIELD_INFO_FIELDS dwFields,
4308 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
4310 HRESULT ( STDMETHODCALLTYPE *GetKind )(
4311 IDebugPropertyField * This,
4312 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
4314 HRESULT ( STDMETHODCALLTYPE *GetType )(
4315 IDebugPropertyField * This,
4316 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
4318 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
4319 IDebugPropertyField * This,
4320 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
4322 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
4323 IDebugPropertyField * This,
4324 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
4326 HRESULT ( STDMETHODCALLTYPE *GetSize )(
4327 IDebugPropertyField * This,
4328 /* [out] */ __RPC__out DWORD *pdwSize);
4330 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
4331 IDebugPropertyField * This,
4332 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
4333 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
4334 /* [out][in] */ __RPC__inout DWORD *pdwLen);
4336 HRESULT ( STDMETHODCALLTYPE *Equal )(
4337 IDebugPropertyField * This,
4338 /* [in] */ __RPC__in_opt IDebugField *pField);
4340 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
4341 IDebugPropertyField * This,
4342 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
4344 HRESULT ( STDMETHODCALLTYPE *EnumFields )(
4345 IDebugPropertyField * This,
4346 /* [in] */ FIELD_KIND dwKindFilter,
4347 /* [in] */ FIELD_MODIFIERS dwModifiersFilter,
4348 /* [full][in] */ __RPC__in_opt LPCOLESTR pszNameFilter,
4349 /* [in] */ NAME_MATCH nameMatch,
4350 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4352 HRESULT ( STDMETHODCALLTYPE *GetPropertyGetter )(
4353 IDebugPropertyField * This,
4354 /* [out] */ __RPC__deref_out_opt IDebugMethodField **ppField);
4356 HRESULT ( STDMETHODCALLTYPE *GetPropertySetter )(
4357 IDebugPropertyField * This,
4358 /* [out] */ __RPC__deref_out_opt IDebugMethodField **ppField);
4360 END_INTERFACE
4361 } IDebugPropertyFieldVtbl;
4363 interface IDebugPropertyField
4365 CONST_VTBL struct IDebugPropertyFieldVtbl *lpVtbl;
4370 #ifdef COBJMACROS
4373 #define IDebugPropertyField_QueryInterface(This,riid,ppvObject) \
4374 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4376 #define IDebugPropertyField_AddRef(This) \
4377 ( (This)->lpVtbl -> AddRef(This) )
4379 #define IDebugPropertyField_Release(This) \
4380 ( (This)->lpVtbl -> Release(This) )
4383 #define IDebugPropertyField_GetInfo(This,dwFields,pFieldInfo) \
4384 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
4386 #define IDebugPropertyField_GetKind(This,pdwKind) \
4387 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
4389 #define IDebugPropertyField_GetType(This,ppType) \
4390 ( (This)->lpVtbl -> GetType(This,ppType) )
4392 #define IDebugPropertyField_GetContainer(This,ppContainerField) \
4393 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
4395 #define IDebugPropertyField_GetAddress(This,ppAddress) \
4396 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
4398 #define IDebugPropertyField_GetSize(This,pdwSize) \
4399 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
4401 #define IDebugPropertyField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
4402 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
4404 #define IDebugPropertyField_Equal(This,pField) \
4405 ( (This)->lpVtbl -> Equal(This,pField) )
4407 #define IDebugPropertyField_GetTypeInfo(This,pTypeInfo) \
4408 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
4411 #define IDebugPropertyField_EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) \
4412 ( (This)->lpVtbl -> EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) )
4415 #define IDebugPropertyField_GetPropertyGetter(This,ppField) \
4416 ( (This)->lpVtbl -> GetPropertyGetter(This,ppField) )
4418 #define IDebugPropertyField_GetPropertySetter(This,ppField) \
4419 ( (This)->lpVtbl -> GetPropertySetter(This,ppField) )
4421 #endif /* COBJMACROS */
4424 #endif /* C style interface */
4429 #endif /* __IDebugPropertyField_INTERFACE_DEFINED__ */
4432 #ifndef __IDebugArrayField_INTERFACE_DEFINED__
4433 #define __IDebugArrayField_INTERFACE_DEFINED__
4435 /* interface IDebugArrayField */
4436 /* [unique][uuid][object] */
4439 EXTERN_C const IID IID_IDebugArrayField;
4441 #if defined(__cplusplus) && !defined(CINTERFACE)
4443 MIDL_INTERFACE("c2e34eb7-8b9d-11d2-9014-00c04fa38338")
4444 IDebugArrayField : public IDebugContainerField
4446 public:
4447 virtual HRESULT STDMETHODCALLTYPE GetNumberOfElements(
4448 /* [out] */ __RPC__out DWORD *pdwNumElements) = 0;
4450 virtual HRESULT STDMETHODCALLTYPE GetElementType(
4451 /* [out] */ __RPC__deref_out_opt IDebugField **ppType) = 0;
4453 virtual HRESULT STDMETHODCALLTYPE GetRank(
4454 /* [out] */ __RPC__out DWORD *pdwRank) = 0;
4458 #else /* C style interface */
4460 typedef struct IDebugArrayFieldVtbl
4462 BEGIN_INTERFACE
4464 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4465 IDebugArrayField * This,
4466 /* [in] */ __RPC__in REFIID riid,
4467 /* [iid_is][out] */
4468 __RPC__deref_out void **ppvObject);
4470 ULONG ( STDMETHODCALLTYPE *AddRef )(
4471 IDebugArrayField * This);
4473 ULONG ( STDMETHODCALLTYPE *Release )(
4474 IDebugArrayField * This);
4476 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
4477 IDebugArrayField * This,
4478 /* [in] */ FIELD_INFO_FIELDS dwFields,
4479 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
4481 HRESULT ( STDMETHODCALLTYPE *GetKind )(
4482 IDebugArrayField * This,
4483 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
4485 HRESULT ( STDMETHODCALLTYPE *GetType )(
4486 IDebugArrayField * This,
4487 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
4489 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
4490 IDebugArrayField * This,
4491 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
4493 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
4494 IDebugArrayField * This,
4495 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
4497 HRESULT ( STDMETHODCALLTYPE *GetSize )(
4498 IDebugArrayField * This,
4499 /* [out] */ __RPC__out DWORD *pdwSize);
4501 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
4502 IDebugArrayField * This,
4503 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
4504 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
4505 /* [out][in] */ __RPC__inout DWORD *pdwLen);
4507 HRESULT ( STDMETHODCALLTYPE *Equal )(
4508 IDebugArrayField * This,
4509 /* [in] */ __RPC__in_opt IDebugField *pField);
4511 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
4512 IDebugArrayField * This,
4513 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
4515 HRESULT ( STDMETHODCALLTYPE *EnumFields )(
4516 IDebugArrayField * This,
4517 /* [in] */ FIELD_KIND dwKindFilter,
4518 /* [in] */ FIELD_MODIFIERS dwModifiersFilter,
4519 /* [full][in] */ __RPC__in_opt LPCOLESTR pszNameFilter,
4520 /* [in] */ NAME_MATCH nameMatch,
4521 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4523 HRESULT ( STDMETHODCALLTYPE *GetNumberOfElements )(
4524 IDebugArrayField * This,
4525 /* [out] */ __RPC__out DWORD *pdwNumElements);
4527 HRESULT ( STDMETHODCALLTYPE *GetElementType )(
4528 IDebugArrayField * This,
4529 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
4531 HRESULT ( STDMETHODCALLTYPE *GetRank )(
4532 IDebugArrayField * This,
4533 /* [out] */ __RPC__out DWORD *pdwRank);
4535 END_INTERFACE
4536 } IDebugArrayFieldVtbl;
4538 interface IDebugArrayField
4540 CONST_VTBL struct IDebugArrayFieldVtbl *lpVtbl;
4545 #ifdef COBJMACROS
4548 #define IDebugArrayField_QueryInterface(This,riid,ppvObject) \
4549 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4551 #define IDebugArrayField_AddRef(This) \
4552 ( (This)->lpVtbl -> AddRef(This) )
4554 #define IDebugArrayField_Release(This) \
4555 ( (This)->lpVtbl -> Release(This) )
4558 #define IDebugArrayField_GetInfo(This,dwFields,pFieldInfo) \
4559 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
4561 #define IDebugArrayField_GetKind(This,pdwKind) \
4562 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
4564 #define IDebugArrayField_GetType(This,ppType) \
4565 ( (This)->lpVtbl -> GetType(This,ppType) )
4567 #define IDebugArrayField_GetContainer(This,ppContainerField) \
4568 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
4570 #define IDebugArrayField_GetAddress(This,ppAddress) \
4571 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
4573 #define IDebugArrayField_GetSize(This,pdwSize) \
4574 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
4576 #define IDebugArrayField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
4577 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
4579 #define IDebugArrayField_Equal(This,pField) \
4580 ( (This)->lpVtbl -> Equal(This,pField) )
4582 #define IDebugArrayField_GetTypeInfo(This,pTypeInfo) \
4583 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
4586 #define IDebugArrayField_EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) \
4587 ( (This)->lpVtbl -> EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) )
4590 #define IDebugArrayField_GetNumberOfElements(This,pdwNumElements) \
4591 ( (This)->lpVtbl -> GetNumberOfElements(This,pdwNumElements) )
4593 #define IDebugArrayField_GetElementType(This,ppType) \
4594 ( (This)->lpVtbl -> GetElementType(This,ppType) )
4596 #define IDebugArrayField_GetRank(This,pdwRank) \
4597 ( (This)->lpVtbl -> GetRank(This,pdwRank) )
4599 #endif /* COBJMACROS */
4602 #endif /* C style interface */
4607 #endif /* __IDebugArrayField_INTERFACE_DEFINED__ */
4610 #ifndef __IDebugPointerField_INTERFACE_DEFINED__
4611 #define __IDebugPointerField_INTERFACE_DEFINED__
4613 /* interface IDebugPointerField */
4614 /* [unique][uuid][object] */
4617 EXTERN_C const IID IID_IDebugPointerField;
4619 #if defined(__cplusplus) && !defined(CINTERFACE)
4621 MIDL_INTERFACE("c2e34eb8-8b9d-11d2-9014-00c04fa38338")
4622 IDebugPointerField : public IDebugContainerField
4624 public:
4625 virtual HRESULT STDMETHODCALLTYPE GetDereferencedField(
4626 /* [out] */ __RPC__deref_out_opt IDebugField **ppField) = 0;
4630 #else /* C style interface */
4632 typedef struct IDebugPointerFieldVtbl
4634 BEGIN_INTERFACE
4636 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4637 IDebugPointerField * This,
4638 /* [in] */ __RPC__in REFIID riid,
4639 /* [iid_is][out] */
4640 __RPC__deref_out void **ppvObject);
4642 ULONG ( STDMETHODCALLTYPE *AddRef )(
4643 IDebugPointerField * This);
4645 ULONG ( STDMETHODCALLTYPE *Release )(
4646 IDebugPointerField * This);
4648 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
4649 IDebugPointerField * This,
4650 /* [in] */ FIELD_INFO_FIELDS dwFields,
4651 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
4653 HRESULT ( STDMETHODCALLTYPE *GetKind )(
4654 IDebugPointerField * This,
4655 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
4657 HRESULT ( STDMETHODCALLTYPE *GetType )(
4658 IDebugPointerField * This,
4659 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
4661 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
4662 IDebugPointerField * This,
4663 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
4665 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
4666 IDebugPointerField * This,
4667 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
4669 HRESULT ( STDMETHODCALLTYPE *GetSize )(
4670 IDebugPointerField * This,
4671 /* [out] */ __RPC__out DWORD *pdwSize);
4673 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
4674 IDebugPointerField * This,
4675 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
4676 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
4677 /* [out][in] */ __RPC__inout DWORD *pdwLen);
4679 HRESULT ( STDMETHODCALLTYPE *Equal )(
4680 IDebugPointerField * This,
4681 /* [in] */ __RPC__in_opt IDebugField *pField);
4683 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
4684 IDebugPointerField * This,
4685 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
4687 HRESULT ( STDMETHODCALLTYPE *EnumFields )(
4688 IDebugPointerField * This,
4689 /* [in] */ FIELD_KIND dwKindFilter,
4690 /* [in] */ FIELD_MODIFIERS dwModifiersFilter,
4691 /* [full][in] */ __RPC__in_opt LPCOLESTR pszNameFilter,
4692 /* [in] */ NAME_MATCH nameMatch,
4693 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4695 HRESULT ( STDMETHODCALLTYPE *GetDereferencedField )(
4696 IDebugPointerField * This,
4697 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
4699 END_INTERFACE
4700 } IDebugPointerFieldVtbl;
4702 interface IDebugPointerField
4704 CONST_VTBL struct IDebugPointerFieldVtbl *lpVtbl;
4709 #ifdef COBJMACROS
4712 #define IDebugPointerField_QueryInterface(This,riid,ppvObject) \
4713 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4715 #define IDebugPointerField_AddRef(This) \
4716 ( (This)->lpVtbl -> AddRef(This) )
4718 #define IDebugPointerField_Release(This) \
4719 ( (This)->lpVtbl -> Release(This) )
4722 #define IDebugPointerField_GetInfo(This,dwFields,pFieldInfo) \
4723 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
4725 #define IDebugPointerField_GetKind(This,pdwKind) \
4726 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
4728 #define IDebugPointerField_GetType(This,ppType) \
4729 ( (This)->lpVtbl -> GetType(This,ppType) )
4731 #define IDebugPointerField_GetContainer(This,ppContainerField) \
4732 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
4734 #define IDebugPointerField_GetAddress(This,ppAddress) \
4735 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
4737 #define IDebugPointerField_GetSize(This,pdwSize) \
4738 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
4740 #define IDebugPointerField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
4741 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
4743 #define IDebugPointerField_Equal(This,pField) \
4744 ( (This)->lpVtbl -> Equal(This,pField) )
4746 #define IDebugPointerField_GetTypeInfo(This,pTypeInfo) \
4747 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
4750 #define IDebugPointerField_EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) \
4751 ( (This)->lpVtbl -> EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) )
4754 #define IDebugPointerField_GetDereferencedField(This,ppField) \
4755 ( (This)->lpVtbl -> GetDereferencedField(This,ppField) )
4757 #endif /* COBJMACROS */
4760 #endif /* C style interface */
4765 #endif /* __IDebugPointerField_INTERFACE_DEFINED__ */
4768 #ifndef __IDebugEnumField_INTERFACE_DEFINED__
4769 #define __IDebugEnumField_INTERFACE_DEFINED__
4771 /* interface IDebugEnumField */
4772 /* [unique][uuid][object] */
4775 EXTERN_C const IID IID_IDebugEnumField;
4777 #if defined(__cplusplus) && !defined(CINTERFACE)
4779 MIDL_INTERFACE("c2e34eb9-8b9d-11d2-9014-00c04fa38338")
4780 IDebugEnumField : public IDebugContainerField
4782 public:
4783 virtual HRESULT STDMETHODCALLTYPE GetUnderlyingSymbol(
4784 /* [out] */ __RPC__deref_out_opt IDebugField **ppField) = 0;
4786 virtual HRESULT STDMETHODCALLTYPE GetStringFromValue(
4787 /* [in] */ ULONGLONG value,
4788 /* [out] */ __RPC__deref_out_opt BSTR *pbstrValue) = 0;
4790 virtual HRESULT STDMETHODCALLTYPE GetValueFromString(
4791 /* [full][in] */ __RPC__in_opt LPCOLESTR pszValue,
4792 /* [out] */ __RPC__out ULONGLONG *pvalue) = 0;
4794 virtual HRESULT STDMETHODCALLTYPE GetValueFromStringCaseInsensitive(
4795 /* [full][in] */ __RPC__in_opt LPCOLESTR pszValue,
4796 /* [out] */ __RPC__out ULONGLONG *pvalue) = 0;
4800 #else /* C style interface */
4802 typedef struct IDebugEnumFieldVtbl
4804 BEGIN_INTERFACE
4806 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4807 IDebugEnumField * This,
4808 /* [in] */ __RPC__in REFIID riid,
4809 /* [iid_is][out] */
4810 __RPC__deref_out void **ppvObject);
4812 ULONG ( STDMETHODCALLTYPE *AddRef )(
4813 IDebugEnumField * This);
4815 ULONG ( STDMETHODCALLTYPE *Release )(
4816 IDebugEnumField * This);
4818 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
4819 IDebugEnumField * This,
4820 /* [in] */ FIELD_INFO_FIELDS dwFields,
4821 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
4823 HRESULT ( STDMETHODCALLTYPE *GetKind )(
4824 IDebugEnumField * This,
4825 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
4827 HRESULT ( STDMETHODCALLTYPE *GetType )(
4828 IDebugEnumField * This,
4829 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
4831 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
4832 IDebugEnumField * This,
4833 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
4835 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
4836 IDebugEnumField * This,
4837 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
4839 HRESULT ( STDMETHODCALLTYPE *GetSize )(
4840 IDebugEnumField * This,
4841 /* [out] */ __RPC__out DWORD *pdwSize);
4843 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
4844 IDebugEnumField * This,
4845 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
4846 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
4847 /* [out][in] */ __RPC__inout DWORD *pdwLen);
4849 HRESULT ( STDMETHODCALLTYPE *Equal )(
4850 IDebugEnumField * This,
4851 /* [in] */ __RPC__in_opt IDebugField *pField);
4853 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
4854 IDebugEnumField * This,
4855 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
4857 HRESULT ( STDMETHODCALLTYPE *EnumFields )(
4858 IDebugEnumField * This,
4859 /* [in] */ FIELD_KIND dwKindFilter,
4860 /* [in] */ FIELD_MODIFIERS dwModifiersFilter,
4861 /* [full][in] */ __RPC__in_opt LPCOLESTR pszNameFilter,
4862 /* [in] */ NAME_MATCH nameMatch,
4863 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
4865 HRESULT ( STDMETHODCALLTYPE *GetUnderlyingSymbol )(
4866 IDebugEnumField * This,
4867 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
4869 HRESULT ( STDMETHODCALLTYPE *GetStringFromValue )(
4870 IDebugEnumField * This,
4871 /* [in] */ ULONGLONG value,
4872 /* [out] */ __RPC__deref_out_opt BSTR *pbstrValue);
4874 HRESULT ( STDMETHODCALLTYPE *GetValueFromString )(
4875 IDebugEnumField * This,
4876 /* [full][in] */ __RPC__in_opt LPCOLESTR pszValue,
4877 /* [out] */ __RPC__out ULONGLONG *pvalue);
4879 HRESULT ( STDMETHODCALLTYPE *GetValueFromStringCaseInsensitive )(
4880 IDebugEnumField * This,
4881 /* [full][in] */ __RPC__in_opt LPCOLESTR pszValue,
4882 /* [out] */ __RPC__out ULONGLONG *pvalue);
4884 END_INTERFACE
4885 } IDebugEnumFieldVtbl;
4887 interface IDebugEnumField
4889 CONST_VTBL struct IDebugEnumFieldVtbl *lpVtbl;
4894 #ifdef COBJMACROS
4897 #define IDebugEnumField_QueryInterface(This,riid,ppvObject) \
4898 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4900 #define IDebugEnumField_AddRef(This) \
4901 ( (This)->lpVtbl -> AddRef(This) )
4903 #define IDebugEnumField_Release(This) \
4904 ( (This)->lpVtbl -> Release(This) )
4907 #define IDebugEnumField_GetInfo(This,dwFields,pFieldInfo) \
4908 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
4910 #define IDebugEnumField_GetKind(This,pdwKind) \
4911 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
4913 #define IDebugEnumField_GetType(This,ppType) \
4914 ( (This)->lpVtbl -> GetType(This,ppType) )
4916 #define IDebugEnumField_GetContainer(This,ppContainerField) \
4917 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
4919 #define IDebugEnumField_GetAddress(This,ppAddress) \
4920 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
4922 #define IDebugEnumField_GetSize(This,pdwSize) \
4923 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
4925 #define IDebugEnumField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
4926 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
4928 #define IDebugEnumField_Equal(This,pField) \
4929 ( (This)->lpVtbl -> Equal(This,pField) )
4931 #define IDebugEnumField_GetTypeInfo(This,pTypeInfo) \
4932 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
4935 #define IDebugEnumField_EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) \
4936 ( (This)->lpVtbl -> EnumFields(This,dwKindFilter,dwModifiersFilter,pszNameFilter,nameMatch,ppEnum) )
4939 #define IDebugEnumField_GetUnderlyingSymbol(This,ppField) \
4940 ( (This)->lpVtbl -> GetUnderlyingSymbol(This,ppField) )
4942 #define IDebugEnumField_GetStringFromValue(This,value,pbstrValue) \
4943 ( (This)->lpVtbl -> GetStringFromValue(This,value,pbstrValue) )
4945 #define IDebugEnumField_GetValueFromString(This,pszValue,pvalue) \
4946 ( (This)->lpVtbl -> GetValueFromString(This,pszValue,pvalue) )
4948 #define IDebugEnumField_GetValueFromStringCaseInsensitive(This,pszValue,pvalue) \
4949 ( (This)->lpVtbl -> GetValueFromStringCaseInsensitive(This,pszValue,pvalue) )
4951 #endif /* COBJMACROS */
4954 #endif /* C style interface */
4959 #endif /* __IDebugEnumField_INTERFACE_DEFINED__ */
4962 #ifndef __IDebugBitField_INTERFACE_DEFINED__
4963 #define __IDebugBitField_INTERFACE_DEFINED__
4965 /* interface IDebugBitField */
4966 /* [unique][uuid][object] */
4969 EXTERN_C const IID IID_IDebugBitField;
4971 #if defined(__cplusplus) && !defined(CINTERFACE)
4973 MIDL_INTERFACE("c2e34eba-8b9d-11d2-9014-00c04fa38338")
4974 IDebugBitField : public IDebugField
4976 public:
4977 virtual HRESULT STDMETHODCALLTYPE GetStart(
4978 /* [out] */ __RPC__out DWORD *pdwBitOffset) = 0;
4982 #else /* C style interface */
4984 typedef struct IDebugBitFieldVtbl
4986 BEGIN_INTERFACE
4988 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4989 IDebugBitField * This,
4990 /* [in] */ __RPC__in REFIID riid,
4991 /* [iid_is][out] */
4992 __RPC__deref_out void **ppvObject);
4994 ULONG ( STDMETHODCALLTYPE *AddRef )(
4995 IDebugBitField * This);
4997 ULONG ( STDMETHODCALLTYPE *Release )(
4998 IDebugBitField * This);
5000 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
5001 IDebugBitField * This,
5002 /* [in] */ FIELD_INFO_FIELDS dwFields,
5003 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
5005 HRESULT ( STDMETHODCALLTYPE *GetKind )(
5006 IDebugBitField * This,
5007 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
5009 HRESULT ( STDMETHODCALLTYPE *GetType )(
5010 IDebugBitField * This,
5011 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
5013 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
5014 IDebugBitField * This,
5015 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
5017 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
5018 IDebugBitField * This,
5019 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
5021 HRESULT ( STDMETHODCALLTYPE *GetSize )(
5022 IDebugBitField * This,
5023 /* [out] */ __RPC__out DWORD *pdwSize);
5025 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
5026 IDebugBitField * This,
5027 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
5028 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
5029 /* [out][in] */ __RPC__inout DWORD *pdwLen);
5031 HRESULT ( STDMETHODCALLTYPE *Equal )(
5032 IDebugBitField * This,
5033 /* [in] */ __RPC__in_opt IDebugField *pField);
5035 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
5036 IDebugBitField * This,
5037 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
5039 HRESULT ( STDMETHODCALLTYPE *GetStart )(
5040 IDebugBitField * This,
5041 /* [out] */ __RPC__out DWORD *pdwBitOffset);
5043 END_INTERFACE
5044 } IDebugBitFieldVtbl;
5046 interface IDebugBitField
5048 CONST_VTBL struct IDebugBitFieldVtbl *lpVtbl;
5053 #ifdef COBJMACROS
5056 #define IDebugBitField_QueryInterface(This,riid,ppvObject) \
5057 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5059 #define IDebugBitField_AddRef(This) \
5060 ( (This)->lpVtbl -> AddRef(This) )
5062 #define IDebugBitField_Release(This) \
5063 ( (This)->lpVtbl -> Release(This) )
5066 #define IDebugBitField_GetInfo(This,dwFields,pFieldInfo) \
5067 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
5069 #define IDebugBitField_GetKind(This,pdwKind) \
5070 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
5072 #define IDebugBitField_GetType(This,ppType) \
5073 ( (This)->lpVtbl -> GetType(This,ppType) )
5075 #define IDebugBitField_GetContainer(This,ppContainerField) \
5076 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
5078 #define IDebugBitField_GetAddress(This,ppAddress) \
5079 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
5081 #define IDebugBitField_GetSize(This,pdwSize) \
5082 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
5084 #define IDebugBitField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
5085 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
5087 #define IDebugBitField_Equal(This,pField) \
5088 ( (This)->lpVtbl -> Equal(This,pField) )
5090 #define IDebugBitField_GetTypeInfo(This,pTypeInfo) \
5091 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
5094 #define IDebugBitField_GetStart(This,pdwBitOffset) \
5095 ( (This)->lpVtbl -> GetStart(This,pdwBitOffset) )
5097 #endif /* COBJMACROS */
5100 #endif /* C style interface */
5105 #endif /* __IDebugBitField_INTERFACE_DEFINED__ */
5108 #ifndef __IDebugDynamicField_INTERFACE_DEFINED__
5109 #define __IDebugDynamicField_INTERFACE_DEFINED__
5111 /* interface IDebugDynamicField */
5112 /* [unique][uuid][object] */
5115 EXTERN_C const IID IID_IDebugDynamicField;
5117 #if defined(__cplusplus) && !defined(CINTERFACE)
5119 MIDL_INTERFACE("B5A2A5EA-D5AB-11d2-9033-00C04FA302A1")
5120 IDebugDynamicField : public IDebugField
5122 public:
5125 #else /* C style interface */
5127 typedef struct IDebugDynamicFieldVtbl
5129 BEGIN_INTERFACE
5131 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5132 IDebugDynamicField * This,
5133 /* [in] */ __RPC__in REFIID riid,
5134 /* [iid_is][out] */
5135 __RPC__deref_out void **ppvObject);
5137 ULONG ( STDMETHODCALLTYPE *AddRef )(
5138 IDebugDynamicField * This);
5140 ULONG ( STDMETHODCALLTYPE *Release )(
5141 IDebugDynamicField * This);
5143 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
5144 IDebugDynamicField * This,
5145 /* [in] */ FIELD_INFO_FIELDS dwFields,
5146 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
5148 HRESULT ( STDMETHODCALLTYPE *GetKind )(
5149 IDebugDynamicField * This,
5150 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
5152 HRESULT ( STDMETHODCALLTYPE *GetType )(
5153 IDebugDynamicField * This,
5154 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
5156 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
5157 IDebugDynamicField * This,
5158 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
5160 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
5161 IDebugDynamicField * This,
5162 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
5164 HRESULT ( STDMETHODCALLTYPE *GetSize )(
5165 IDebugDynamicField * This,
5166 /* [out] */ __RPC__out DWORD *pdwSize);
5168 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
5169 IDebugDynamicField * This,
5170 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
5171 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
5172 /* [out][in] */ __RPC__inout DWORD *pdwLen);
5174 HRESULT ( STDMETHODCALLTYPE *Equal )(
5175 IDebugDynamicField * This,
5176 /* [in] */ __RPC__in_opt IDebugField *pField);
5178 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
5179 IDebugDynamicField * This,
5180 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
5182 END_INTERFACE
5183 } IDebugDynamicFieldVtbl;
5185 interface IDebugDynamicField
5187 CONST_VTBL struct IDebugDynamicFieldVtbl *lpVtbl;
5192 #ifdef COBJMACROS
5195 #define IDebugDynamicField_QueryInterface(This,riid,ppvObject) \
5196 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5198 #define IDebugDynamicField_AddRef(This) \
5199 ( (This)->lpVtbl -> AddRef(This) )
5201 #define IDebugDynamicField_Release(This) \
5202 ( (This)->lpVtbl -> Release(This) )
5205 #define IDebugDynamicField_GetInfo(This,dwFields,pFieldInfo) \
5206 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
5208 #define IDebugDynamicField_GetKind(This,pdwKind) \
5209 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
5211 #define IDebugDynamicField_GetType(This,ppType) \
5212 ( (This)->lpVtbl -> GetType(This,ppType) )
5214 #define IDebugDynamicField_GetContainer(This,ppContainerField) \
5215 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
5217 #define IDebugDynamicField_GetAddress(This,ppAddress) \
5218 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
5220 #define IDebugDynamicField_GetSize(This,pdwSize) \
5221 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
5223 #define IDebugDynamicField_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
5224 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
5226 #define IDebugDynamicField_Equal(This,pField) \
5227 ( (This)->lpVtbl -> Equal(This,pField) )
5229 #define IDebugDynamicField_GetTypeInfo(This,pTypeInfo) \
5230 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
5233 #endif /* COBJMACROS */
5236 #endif /* C style interface */
5241 #endif /* __IDebugDynamicField_INTERFACE_DEFINED__ */
5244 #ifndef __IDebugDynamicFieldCOMPlus_INTERFACE_DEFINED__
5245 #define __IDebugDynamicFieldCOMPlus_INTERFACE_DEFINED__
5247 /* interface IDebugDynamicFieldCOMPlus */
5248 /* [unique][uuid][object] */
5251 EXTERN_C const IID IID_IDebugDynamicFieldCOMPlus;
5253 #if defined(__cplusplus) && !defined(CINTERFACE)
5255 MIDL_INTERFACE("B5B20820-E233-11d2-9037-00C04FA302A1")
5256 IDebugDynamicFieldCOMPlus : public IDebugDynamicField
5258 public:
5259 virtual HRESULT STDMETHODCALLTYPE GetTypeFromPrimitive(
5260 /* [in] */ DWORD dwCorElementType,
5261 /* [out] */ __RPC__deref_out_opt IDebugField **ppType) = 0;
5263 virtual HRESULT STDMETHODCALLTYPE GetTypeFromTypeDef(
5264 /* [in] */ ULONG32 ulAppDomainID,
5265 /* [in] */ GUID guidModule,
5266 /* [in] */ _mdToken tokClass,
5267 /* [out] */ __RPC__deref_out_opt IDebugField **ppType) = 0;
5271 #else /* C style interface */
5273 typedef struct IDebugDynamicFieldCOMPlusVtbl
5275 BEGIN_INTERFACE
5277 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5278 IDebugDynamicFieldCOMPlus * This,
5279 /* [in] */ __RPC__in REFIID riid,
5280 /* [iid_is][out] */
5281 __RPC__deref_out void **ppvObject);
5283 ULONG ( STDMETHODCALLTYPE *AddRef )(
5284 IDebugDynamicFieldCOMPlus * This);
5286 ULONG ( STDMETHODCALLTYPE *Release )(
5287 IDebugDynamicFieldCOMPlus * This);
5289 HRESULT ( STDMETHODCALLTYPE *GetInfo )(
5290 IDebugDynamicFieldCOMPlus * This,
5291 /* [in] */ FIELD_INFO_FIELDS dwFields,
5292 /* [out] */ __RPC__out FIELD_INFO *pFieldInfo);
5294 HRESULT ( STDMETHODCALLTYPE *GetKind )(
5295 IDebugDynamicFieldCOMPlus * This,
5296 /* [out] */ __RPC__out FIELD_KIND *pdwKind);
5298 HRESULT ( STDMETHODCALLTYPE *GetType )(
5299 IDebugDynamicFieldCOMPlus * This,
5300 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
5302 HRESULT ( STDMETHODCALLTYPE *GetContainer )(
5303 IDebugDynamicFieldCOMPlus * This,
5304 /* [out] */ __RPC__deref_out_opt IDebugContainerField **ppContainerField);
5306 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
5307 IDebugDynamicFieldCOMPlus * This,
5308 /* [out] */ __RPC__deref_out_opt IDebugAddress **ppAddress);
5310 HRESULT ( STDMETHODCALLTYPE *GetSize )(
5311 IDebugDynamicFieldCOMPlus * This,
5312 /* [out] */ __RPC__out DWORD *pdwSize);
5314 HRESULT ( STDMETHODCALLTYPE *GetExtendedInfo )(
5315 IDebugDynamicFieldCOMPlus * This,
5316 /* [in] */ __RPC__in REFGUID guidExtendedInfo,
5317 /* [length_is][size_is][out] */ __RPC__out_ecount_part(*pdwLen, *pdwLen) BYTE **prgBuffer,
5318 /* [out][in] */ __RPC__inout DWORD *pdwLen);
5320 HRESULT ( STDMETHODCALLTYPE *Equal )(
5321 IDebugDynamicFieldCOMPlus * This,
5322 /* [in] */ __RPC__in_opt IDebugField *pField);
5324 HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
5325 IDebugDynamicFieldCOMPlus * This,
5326 /* [out] */ __RPC__out TYPE_INFO *pTypeInfo);
5328 HRESULT ( STDMETHODCALLTYPE *GetTypeFromPrimitive )(
5329 IDebugDynamicFieldCOMPlus * This,
5330 /* [in] */ DWORD dwCorElementType,
5331 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
5333 HRESULT ( STDMETHODCALLTYPE *GetTypeFromTypeDef )(
5334 IDebugDynamicFieldCOMPlus * This,
5335 /* [in] */ ULONG32 ulAppDomainID,
5336 /* [in] */ GUID guidModule,
5337 /* [in] */ _mdToken tokClass,
5338 /* [out] */ __RPC__deref_out_opt IDebugField **ppType);
5340 END_INTERFACE
5341 } IDebugDynamicFieldCOMPlusVtbl;
5343 interface IDebugDynamicFieldCOMPlus
5345 CONST_VTBL struct IDebugDynamicFieldCOMPlusVtbl *lpVtbl;
5350 #ifdef COBJMACROS
5353 #define IDebugDynamicFieldCOMPlus_QueryInterface(This,riid,ppvObject) \
5354 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5356 #define IDebugDynamicFieldCOMPlus_AddRef(This) \
5357 ( (This)->lpVtbl -> AddRef(This) )
5359 #define IDebugDynamicFieldCOMPlus_Release(This) \
5360 ( (This)->lpVtbl -> Release(This) )
5363 #define IDebugDynamicFieldCOMPlus_GetInfo(This,dwFields,pFieldInfo) \
5364 ( (This)->lpVtbl -> GetInfo(This,dwFields,pFieldInfo) )
5366 #define IDebugDynamicFieldCOMPlus_GetKind(This,pdwKind) \
5367 ( (This)->lpVtbl -> GetKind(This,pdwKind) )
5369 #define IDebugDynamicFieldCOMPlus_GetType(This,ppType) \
5370 ( (This)->lpVtbl -> GetType(This,ppType) )
5372 #define IDebugDynamicFieldCOMPlus_GetContainer(This,ppContainerField) \
5373 ( (This)->lpVtbl -> GetContainer(This,ppContainerField) )
5375 #define IDebugDynamicFieldCOMPlus_GetAddress(This,ppAddress) \
5376 ( (This)->lpVtbl -> GetAddress(This,ppAddress) )
5378 #define IDebugDynamicFieldCOMPlus_GetSize(This,pdwSize) \
5379 ( (This)->lpVtbl -> GetSize(This,pdwSize) )
5381 #define IDebugDynamicFieldCOMPlus_GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) \
5382 ( (This)->lpVtbl -> GetExtendedInfo(This,guidExtendedInfo,prgBuffer,pdwLen) )
5384 #define IDebugDynamicFieldCOMPlus_Equal(This,pField) \
5385 ( (This)->lpVtbl -> Equal(This,pField) )
5387 #define IDebugDynamicFieldCOMPlus_GetTypeInfo(This,pTypeInfo) \
5388 ( (This)->lpVtbl -> GetTypeInfo(This,pTypeInfo) )
5392 #define IDebugDynamicFieldCOMPlus_GetTypeFromPrimitive(This,dwCorElementType,ppType) \
5393 ( (This)->lpVtbl -> GetTypeFromPrimitive(This,dwCorElementType,ppType) )
5395 #define IDebugDynamicFieldCOMPlus_GetTypeFromTypeDef(This,ulAppDomainID,guidModule,tokClass,ppType) \
5396 ( (This)->lpVtbl -> GetTypeFromTypeDef(This,ulAppDomainID,guidModule,tokClass,ppType) )
5398 #endif /* COBJMACROS */
5401 #endif /* C style interface */
5406 #endif /* __IDebugDynamicFieldCOMPlus_INTERFACE_DEFINED__ */
5409 #ifndef __IDebugEngineSymbolProviderServices_INTERFACE_DEFINED__
5410 #define __IDebugEngineSymbolProviderServices_INTERFACE_DEFINED__
5412 /* interface IDebugEngineSymbolProviderServices */
5413 /* [unique][uuid][object] */
5416 EXTERN_C const IID IID_IDebugEngineSymbolProviderServices;
5418 #if defined(__cplusplus) && !defined(CINTERFACE)
5420 MIDL_INTERFACE("83919262-ACD6-11d2-9028-00C04FA302A1")
5421 IDebugEngineSymbolProviderServices : public IUnknown
5423 public:
5424 virtual HRESULT STDMETHODCALLTYPE EnumCodeContexts(
5425 /* [length_is][size_is][in] */ __RPC__in_ecount_part(celtAddresses, celtAddresses) IDebugAddress **rgpAddresses,
5426 /* [in] */ DWORD celtAddresses,
5427 /* [out] */ __RPC__deref_out_opt IEnumDebugCodeContexts2 **ppEnum) = 0;
5431 #else /* C style interface */
5433 typedef struct IDebugEngineSymbolProviderServicesVtbl
5435 BEGIN_INTERFACE
5437 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5438 IDebugEngineSymbolProviderServices * This,
5439 /* [in] */ __RPC__in REFIID riid,
5440 /* [iid_is][out] */
5441 __RPC__deref_out void **ppvObject);
5443 ULONG ( STDMETHODCALLTYPE *AddRef )(
5444 IDebugEngineSymbolProviderServices * This);
5446 ULONG ( STDMETHODCALLTYPE *Release )(
5447 IDebugEngineSymbolProviderServices * This);
5449 HRESULT ( STDMETHODCALLTYPE *EnumCodeContexts )(
5450 IDebugEngineSymbolProviderServices * This,
5451 /* [length_is][size_is][in] */ __RPC__in_ecount_part(celtAddresses, celtAddresses) IDebugAddress **rgpAddresses,
5452 /* [in] */ DWORD celtAddresses,
5453 /* [out] */ __RPC__deref_out_opt IEnumDebugCodeContexts2 **ppEnum);
5455 END_INTERFACE
5456 } IDebugEngineSymbolProviderServicesVtbl;
5458 interface IDebugEngineSymbolProviderServices
5460 CONST_VTBL struct IDebugEngineSymbolProviderServicesVtbl *lpVtbl;
5465 #ifdef COBJMACROS
5468 #define IDebugEngineSymbolProviderServices_QueryInterface(This,riid,ppvObject) \
5469 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5471 #define IDebugEngineSymbolProviderServices_AddRef(This) \
5472 ( (This)->lpVtbl -> AddRef(This) )
5474 #define IDebugEngineSymbolProviderServices_Release(This) \
5475 ( (This)->lpVtbl -> Release(This) )
5478 #define IDebugEngineSymbolProviderServices_EnumCodeContexts(This,rgpAddresses,celtAddresses,ppEnum) \
5479 ( (This)->lpVtbl -> EnumCodeContexts(This,rgpAddresses,celtAddresses,ppEnum) )
5481 #endif /* COBJMACROS */
5484 #endif /* C style interface */
5489 #endif /* __IDebugEngineSymbolProviderServices_INTERFACE_DEFINED__ */
5492 /* interface __MIDL_itf_sh_0000_0028 */
5493 /* [local] */
5495 typedef struct tagGUID_MODULES
5497 DWORD ctResolvedModules;
5498 GUID *pguidResolvedModules;
5499 } RESOLVED_MODULES;
5503 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0028_v0_0_c_ifspec;
5504 extern RPC_IF_HANDLE __MIDL_itf_sh_0000_0028_v0_0_s_ifspec;
5506 #ifndef __IDebugEngineSymbolProviderServices2_INTERFACE_DEFINED__
5507 #define __IDebugEngineSymbolProviderServices2_INTERFACE_DEFINED__
5509 /* interface IDebugEngineSymbolProviderServices2 */
5510 /* [unique][uuid][object] */
5513 EXTERN_C const IID IID_IDebugEngineSymbolProviderServices2;
5515 #if defined(__cplusplus) && !defined(CINTERFACE)
5517 MIDL_INTERFACE("D318E959-22AB-4eea-9A06-962B11AFDC29")
5518 IDebugEngineSymbolProviderServices2 : public IDebugEngineSymbolProviderServices
5520 public:
5521 virtual HRESULT STDMETHODCALLTYPE ResolveAssembly(
5522 /* [in] */ ULONG32 ulAppDomainID,
5523 /* [in] */ GUID guidModule,
5524 /* [in] */ DWORD tokAssemblyReference,
5525 /* [out] */ __RPC__out RESOLVED_MODULES *pResolvedModules) = 0;
5527 virtual HRESULT STDMETHODCALLTYPE GetEngineProvidedDocumentPrefix(
5528 /* [out] */ __RPC__deref_out_opt BSTR *bstrDocPrefix) = 0;
5532 #else /* C style interface */
5534 typedef struct IDebugEngineSymbolProviderServices2Vtbl
5536 BEGIN_INTERFACE
5538 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5539 IDebugEngineSymbolProviderServices2 * This,
5540 /* [in] */ __RPC__in REFIID riid,
5541 /* [iid_is][out] */
5542 __RPC__deref_out void **ppvObject);
5544 ULONG ( STDMETHODCALLTYPE *AddRef )(
5545 IDebugEngineSymbolProviderServices2 * This);
5547 ULONG ( STDMETHODCALLTYPE *Release )(
5548 IDebugEngineSymbolProviderServices2 * This);
5550 HRESULT ( STDMETHODCALLTYPE *EnumCodeContexts )(
5551 IDebugEngineSymbolProviderServices2 * This,
5552 /* [length_is][size_is][in] */ __RPC__in_ecount_part(celtAddresses, celtAddresses) IDebugAddress **rgpAddresses,
5553 /* [in] */ DWORD celtAddresses,
5554 /* [out] */ __RPC__deref_out_opt IEnumDebugCodeContexts2 **ppEnum);
5556 HRESULT ( STDMETHODCALLTYPE *ResolveAssembly )(
5557 IDebugEngineSymbolProviderServices2 * This,
5558 /* [in] */ ULONG32 ulAppDomainID,
5559 /* [in] */ GUID guidModule,
5560 /* [in] */ DWORD tokAssemblyReference,
5561 /* [out] */ __RPC__out RESOLVED_MODULES *pResolvedModules);
5563 HRESULT ( STDMETHODCALLTYPE *GetEngineProvidedDocumentPrefix )(
5564 IDebugEngineSymbolProviderServices2 * This,
5565 /* [out] */ __RPC__deref_out_opt BSTR *bstrDocPrefix);
5567 END_INTERFACE
5568 } IDebugEngineSymbolProviderServices2Vtbl;
5570 interface IDebugEngineSymbolProviderServices2
5572 CONST_VTBL struct IDebugEngineSymbolProviderServices2Vtbl *lpVtbl;
5577 #ifdef COBJMACROS
5580 #define IDebugEngineSymbolProviderServices2_QueryInterface(This,riid,ppvObject) \
5581 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5583 #define IDebugEngineSymbolProviderServices2_AddRef(This) \
5584 ( (This)->lpVtbl -> AddRef(This) )
5586 #define IDebugEngineSymbolProviderServices2_Release(This) \
5587 ( (This)->lpVtbl -> Release(This) )
5590 #define IDebugEngineSymbolProviderServices2_EnumCodeContexts(This,rgpAddresses,celtAddresses,ppEnum) \
5591 ( (This)->lpVtbl -> EnumCodeContexts(This,rgpAddresses,celtAddresses,ppEnum) )
5594 #define IDebugEngineSymbolProviderServices2_ResolveAssembly(This,ulAppDomainID,guidModule,tokAssemblyReference,pResolvedModules) \
5595 ( (This)->lpVtbl -> ResolveAssembly(This,ulAppDomainID,guidModule,tokAssemblyReference,pResolvedModules) )
5597 #define IDebugEngineSymbolProviderServices2_GetEngineProvidedDocumentPrefix(This,bstrDocPrefix) \
5598 ( (This)->lpVtbl -> GetEngineProvidedDocumentPrefix(This,bstrDocPrefix) )
5600 #endif /* COBJMACROS */
5603 #endif /* C style interface */
5608 #endif /* __IDebugEngineSymbolProviderServices2_INTERFACE_DEFINED__ */
5611 #ifndef __IDebugAddress_INTERFACE_DEFINED__
5612 #define __IDebugAddress_INTERFACE_DEFINED__
5614 /* interface IDebugAddress */
5615 /* [unique][uuid][object] */
5618 enum enum_ADDRESS_KIND
5619 { ADDRESS_KIND_NATIVE = 0x1,
5620 ADDRESS_KIND_UNMANAGED_THIS_RELATIVE = 0x2,
5621 ADDRESS_KIND_UNMANAGED_PHYSICAL = 0x5,
5622 ADDRESS_KIND_METADATA_METHOD = 0x10,
5623 ADDRESS_KIND_METADATA_FIELD = 0x11,
5624 ADDRESS_KIND_METADATA_LOCAL = 0x12,
5625 ADDRESS_KIND_METADATA_PARAM = 0x13,
5626 ADDRESS_KIND_METADATA_ARRAYELEM = 0x14,
5627 ADDRESS_KIND_METADATA_RETVAL = 0x15
5629 typedef DWORD ADDRESS_KIND;
5631 typedef struct _tagNATIVE_ADDRESS
5633 DWORD unknown;
5634 } NATIVE_ADDRESS;
5636 typedef struct _tagUNMANAGED_THIS_RELATIVE
5638 DWORD dwOffset;
5639 DWORD dwBitOffset;
5640 DWORD dwBitLength;
5641 } UNMANAGED_ADDRESS_THIS_RELATIVE;
5643 typedef struct _tagUNMANAGED_ADDRESS_PHYSICAL
5645 ULONGLONG offset;
5646 } UNMANAGED_ADDRESS_PHYSICAL;
5648 typedef struct _tagMETADATA_ADDRESS_METHOD
5650 _mdToken tokMethod;
5651 DWORD dwOffset;
5652 DWORD dwVersion;
5653 } METADATA_ADDRESS_METHOD;
5655 typedef struct _tagMETADATA_ADDRESS_FIELD
5657 _mdToken tokField;
5658 } METADATA_ADDRESS_FIELD;
5660 typedef struct _tagMETADATA_ADDRESS_LOCAL
5662 _mdToken tokMethod;
5663 IUnknown *pLocal;
5664 DWORD dwIndex;
5665 } METADATA_ADDRESS_LOCAL;
5667 typedef struct _tagMETADATA_ADDRESS_PARAM
5669 _mdToken tokMethod;
5670 _mdToken tokParam;
5671 DWORD dwIndex;
5672 } METADATA_ADDRESS_PARAM;
5674 typedef struct _tagMETADATA_ADDRESS_ARRAYELEM
5676 _mdToken tokMethod;
5677 DWORD dwIndex;
5678 } METADATA_ADDRESS_ARRAYELEM;
5680 typedef struct _tagMETADATA_ADDRESS_RETVAL
5682 _mdToken tokMethod;
5683 DWORD dwCorType;
5684 DWORD dwSigSize;
5685 BYTE rgSig[ 10 ];
5686 } METADATA_ADDRESS_RETVAL;
5688 typedef struct _tagDEBUG_ADDRESS_UNION
5690 ADDRESS_KIND dwKind;
5691 /* [switch_type] */ union __MIDL_IDebugAddress_0001
5693 NATIVE_ADDRESS addrNative;
5694 UNMANAGED_ADDRESS_THIS_RELATIVE addrThisRel;
5695 UNMANAGED_ADDRESS_PHYSICAL addrUPhysical;
5696 METADATA_ADDRESS_METHOD addrMethod;
5697 METADATA_ADDRESS_FIELD addrField;
5698 METADATA_ADDRESS_LOCAL addrLocal;
5699 METADATA_ADDRESS_PARAM addrParam;
5700 METADATA_ADDRESS_ARRAYELEM addrArrayElem;
5701 METADATA_ADDRESS_RETVAL addrRetVal;
5702 DWORD unused;
5703 } addr;
5704 } DEBUG_ADDRESS_UNION;
5706 typedef struct _tagDEBUG_ADDRESS
5708 ULONG32 ulAppDomainID;
5709 GUID guidModule;
5710 _mdToken tokClass;
5711 DEBUG_ADDRESS_UNION addr;
5712 } DEBUG_ADDRESS;
5715 EXTERN_C const IID IID_IDebugAddress;
5717 #if defined(__cplusplus) && !defined(CINTERFACE)
5719 MIDL_INTERFACE("c2e34ebb-8b9d-11d2-9014-00c04fa38338")
5720 IDebugAddress : public IUnknown
5722 public:
5723 virtual HRESULT STDMETHODCALLTYPE GetAddress(
5724 /* [out] */ __RPC__out DEBUG_ADDRESS *pAddress) = 0;
5728 #else /* C style interface */
5730 typedef struct IDebugAddressVtbl
5732 BEGIN_INTERFACE
5734 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5735 IDebugAddress * This,
5736 /* [in] */ __RPC__in REFIID riid,
5737 /* [iid_is][out] */
5738 __RPC__deref_out void **ppvObject);
5740 ULONG ( STDMETHODCALLTYPE *AddRef )(
5741 IDebugAddress * This);
5743 ULONG ( STDMETHODCALLTYPE *Release )(
5744 IDebugAddress * This);
5746 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
5747 IDebugAddress * This,
5748 /* [out] */ __RPC__out DEBUG_ADDRESS *pAddress);
5750 END_INTERFACE
5751 } IDebugAddressVtbl;
5753 interface IDebugAddress
5755 CONST_VTBL struct IDebugAddressVtbl *lpVtbl;
5760 #ifdef COBJMACROS
5763 #define IDebugAddress_QueryInterface(This,riid,ppvObject) \
5764 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5766 #define IDebugAddress_AddRef(This) \
5767 ( (This)->lpVtbl -> AddRef(This) )
5769 #define IDebugAddress_Release(This) \
5770 ( (This)->lpVtbl -> Release(This) )
5773 #define IDebugAddress_GetAddress(This,pAddress) \
5774 ( (This)->lpVtbl -> GetAddress(This,pAddress) )
5776 #endif /* COBJMACROS */
5779 #endif /* C style interface */
5784 #endif /* __IDebugAddress_INTERFACE_DEFINED__ */
5787 #ifndef __IDebugAddress2_INTERFACE_DEFINED__
5788 #define __IDebugAddress2_INTERFACE_DEFINED__
5790 /* interface IDebugAddress2 */
5791 /* [unique][uuid][object] */
5794 EXTERN_C const IID IID_IDebugAddress2;
5796 #if defined(__cplusplus) && !defined(CINTERFACE)
5798 MIDL_INTERFACE("877A0DA6-A43E-4046-9BE3-F916AFF4FA7B")
5799 IDebugAddress2 : public IDebugAddress
5801 public:
5802 virtual HRESULT STDMETHODCALLTYPE GetProcessID(
5803 /* [out] */ __RPC__out DWORD *pProcID) = 0;
5807 #else /* C style interface */
5809 typedef struct IDebugAddress2Vtbl
5811 BEGIN_INTERFACE
5813 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5814 IDebugAddress2 * This,
5815 /* [in] */ __RPC__in REFIID riid,
5816 /* [iid_is][out] */
5817 __RPC__deref_out void **ppvObject);
5819 ULONG ( STDMETHODCALLTYPE *AddRef )(
5820 IDebugAddress2 * This);
5822 ULONG ( STDMETHODCALLTYPE *Release )(
5823 IDebugAddress2 * This);
5825 HRESULT ( STDMETHODCALLTYPE *GetAddress )(
5826 IDebugAddress2 * This,
5827 /* [out] */ __RPC__out DEBUG_ADDRESS *pAddress);
5829 HRESULT ( STDMETHODCALLTYPE *GetProcessID )(
5830 IDebugAddress2 * This,
5831 /* [out] */ __RPC__out DWORD *pProcID);
5833 END_INTERFACE
5834 } IDebugAddress2Vtbl;
5836 interface IDebugAddress2
5838 CONST_VTBL struct IDebugAddress2Vtbl *lpVtbl;
5843 #ifdef COBJMACROS
5846 #define IDebugAddress2_QueryInterface(This,riid,ppvObject) \
5847 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5849 #define IDebugAddress2_AddRef(This) \
5850 ( (This)->lpVtbl -> AddRef(This) )
5852 #define IDebugAddress2_Release(This) \
5853 ( (This)->lpVtbl -> Release(This) )
5856 #define IDebugAddress2_GetAddress(This,pAddress) \
5857 ( (This)->lpVtbl -> GetAddress(This,pAddress) )
5860 #define IDebugAddress2_GetProcessID(This,pProcID) \
5861 ( (This)->lpVtbl -> GetProcessID(This,pProcID) )
5863 #endif /* COBJMACROS */
5866 #endif /* C style interface */
5871 #endif /* __IDebugAddress2_INTERFACE_DEFINED__ */
5874 #ifndef __IEnumDebugFields_INTERFACE_DEFINED__
5875 #define __IEnumDebugFields_INTERFACE_DEFINED__
5877 /* interface IEnumDebugFields */
5878 /* [unique][uuid][object] */
5881 EXTERN_C const IID IID_IEnumDebugFields;
5883 #if defined(__cplusplus) && !defined(CINTERFACE)
5885 MIDL_INTERFACE("c2e34ebc-8b9d-11d2-9014-00c04fa38338")
5886 IEnumDebugFields : public IUnknown
5888 public:
5889 virtual HRESULT STDMETHODCALLTYPE Next(
5890 /* [in] */ ULONG celt,
5891 /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IDebugField **rgelt,
5892 /* [out][in] */ __RPC__inout ULONG *pceltFetched) = 0;
5894 virtual HRESULT STDMETHODCALLTYPE Skip(
5895 /* [in] */ ULONG celt) = 0;
5897 virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
5899 virtual HRESULT STDMETHODCALLTYPE Clone(
5900 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum) = 0;
5902 virtual HRESULT STDMETHODCALLTYPE GetCount(
5903 /* [out] */ __RPC__out ULONG *pcelt) = 0;
5907 #else /* C style interface */
5909 typedef struct IEnumDebugFieldsVtbl
5911 BEGIN_INTERFACE
5913 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5914 IEnumDebugFields * This,
5915 /* [in] */ __RPC__in REFIID riid,
5916 /* [iid_is][out] */
5917 __RPC__deref_out void **ppvObject);
5919 ULONG ( STDMETHODCALLTYPE *AddRef )(
5920 IEnumDebugFields * This);
5922 ULONG ( STDMETHODCALLTYPE *Release )(
5923 IEnumDebugFields * This);
5925 HRESULT ( STDMETHODCALLTYPE *Next )(
5926 IEnumDebugFields * This,
5927 /* [in] */ ULONG celt,
5928 /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IDebugField **rgelt,
5929 /* [out][in] */ __RPC__inout ULONG *pceltFetched);
5931 HRESULT ( STDMETHODCALLTYPE *Skip )(
5932 IEnumDebugFields * This,
5933 /* [in] */ ULONG celt);
5935 HRESULT ( STDMETHODCALLTYPE *Reset )(
5936 IEnumDebugFields * This);
5938 HRESULT ( STDMETHODCALLTYPE *Clone )(
5939 IEnumDebugFields * This,
5940 /* [out] */ __RPC__deref_out_opt IEnumDebugFields **ppEnum);
5942 HRESULT ( STDMETHODCALLTYPE *GetCount )(
5943 IEnumDebugFields * This,
5944 /* [out] */ __RPC__out ULONG *pcelt);
5946 END_INTERFACE
5947 } IEnumDebugFieldsVtbl;
5949 interface IEnumDebugFields
5951 CONST_VTBL struct IEnumDebugFieldsVtbl *lpVtbl;
5956 #ifdef COBJMACROS
5959 #define IEnumDebugFields_QueryInterface(This,riid,ppvObject) \
5960 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
5962 #define IEnumDebugFields_AddRef(This) \
5963 ( (This)->lpVtbl -> AddRef(This) )
5965 #define IEnumDebugFields_Release(This) \
5966 ( (This)->lpVtbl -> Release(This) )
5969 #define IEnumDebugFields_Next(This,celt,rgelt,pceltFetched) \
5970 ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
5972 #define IEnumDebugFields_Skip(This,celt) \
5973 ( (This)->lpVtbl -> Skip(This,celt) )
5975 #define IEnumDebugFields_Reset(This) \
5976 ( (This)->lpVtbl -> Reset(This) )
5978 #define IEnumDebugFields_Clone(This,ppEnum) \
5979 ( (This)->lpVtbl -> Clone(This,ppEnum) )
5981 #define IEnumDebugFields_GetCount(This,pcelt) \
5982 ( (This)->lpVtbl -> GetCount(This,pcelt) )
5984 #endif /* COBJMACROS */
5987 #endif /* C style interface */
5992 #endif /* __IEnumDebugFields_INTERFACE_DEFINED__ */
5995 #ifndef __IEnumDebugAddresses_INTERFACE_DEFINED__
5996 #define __IEnumDebugAddresses_INTERFACE_DEFINED__
5998 /* interface IEnumDebugAddresses */
5999 /* [unique][uuid][object] */
6002 EXTERN_C const IID IID_IEnumDebugAddresses;
6004 #if defined(__cplusplus) && !defined(CINTERFACE)
6006 MIDL_INTERFACE("c2e34ebd-8b9d-11d2-9014-00c04fa38338")
6007 IEnumDebugAddresses : public IUnknown
6009 public:
6010 virtual HRESULT STDMETHODCALLTYPE Next(
6011 /* [in] */ ULONG celt,
6012 /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IDebugAddress **rgelt,
6013 /* [out][in] */ __RPC__inout ULONG *pceltFetched) = 0;
6015 virtual HRESULT STDMETHODCALLTYPE Skip(
6016 /* [in] */ ULONG celt) = 0;
6018 virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
6020 virtual HRESULT STDMETHODCALLTYPE Clone(
6021 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnum) = 0;
6023 virtual HRESULT STDMETHODCALLTYPE GetCount(
6024 /* [out] */ __RPC__out ULONG *pcelt) = 0;
6028 #else /* C style interface */
6030 typedef struct IEnumDebugAddressesVtbl
6032 BEGIN_INTERFACE
6034 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6035 IEnumDebugAddresses * This,
6036 /* [in] */ __RPC__in REFIID riid,
6037 /* [iid_is][out] */
6038 __RPC__deref_out void **ppvObject);
6040 ULONG ( STDMETHODCALLTYPE *AddRef )(
6041 IEnumDebugAddresses * This);
6043 ULONG ( STDMETHODCALLTYPE *Release )(
6044 IEnumDebugAddresses * This);
6046 HRESULT ( STDMETHODCALLTYPE *Next )(
6047 IEnumDebugAddresses * This,
6048 /* [in] */ ULONG celt,
6049 /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IDebugAddress **rgelt,
6050 /* [out][in] */ __RPC__inout ULONG *pceltFetched);
6052 HRESULT ( STDMETHODCALLTYPE *Skip )(
6053 IEnumDebugAddresses * This,
6054 /* [in] */ ULONG celt);
6056 HRESULT ( STDMETHODCALLTYPE *Reset )(
6057 IEnumDebugAddresses * This);
6059 HRESULT ( STDMETHODCALLTYPE *Clone )(
6060 IEnumDebugAddresses * This,
6061 /* [out] */ __RPC__deref_out_opt IEnumDebugAddresses **ppEnum);
6063 HRESULT ( STDMETHODCALLTYPE *GetCount )(
6064 IEnumDebugAddresses * This,
6065 /* [out] */ __RPC__out ULONG *pcelt);
6067 END_INTERFACE
6068 } IEnumDebugAddressesVtbl;
6070 interface IEnumDebugAddresses
6072 CONST_VTBL struct IEnumDebugAddressesVtbl *lpVtbl;
6077 #ifdef COBJMACROS
6080 #define IEnumDebugAddresses_QueryInterface(This,riid,ppvObject) \
6081 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6083 #define IEnumDebugAddresses_AddRef(This) \
6084 ( (This)->lpVtbl -> AddRef(This) )
6086 #define IEnumDebugAddresses_Release(This) \
6087 ( (This)->lpVtbl -> Release(This) )
6090 #define IEnumDebugAddresses_Next(This,celt,rgelt,pceltFetched) \
6091 ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
6093 #define IEnumDebugAddresses_Skip(This,celt) \
6094 ( (This)->lpVtbl -> Skip(This,celt) )
6096 #define IEnumDebugAddresses_Reset(This) \
6097 ( (This)->lpVtbl -> Reset(This) )
6099 #define IEnumDebugAddresses_Clone(This,ppEnum) \
6100 ( (This)->lpVtbl -> Clone(This,ppEnum) )
6102 #define IEnumDebugAddresses_GetCount(This,pcelt) \
6103 ( (This)->lpVtbl -> GetCount(This,pcelt) )
6105 #endif /* COBJMACROS */
6108 #endif /* C style interface */
6113 #endif /* __IEnumDebugAddresses_INTERFACE_DEFINED__ */
6116 #ifndef __IDebugCustomAttributeQuery_INTERFACE_DEFINED__
6117 #define __IDebugCustomAttributeQuery_INTERFACE_DEFINED__
6119 /* interface IDebugCustomAttributeQuery */
6120 /* [unique][uuid][object] */
6123 EXTERN_C const IID IID_IDebugCustomAttributeQuery;
6125 #if defined(__cplusplus) && !defined(CINTERFACE)
6127 MIDL_INTERFACE("DFD37B5A-1E3A-4f15-8098-220ABADC620B")
6128 IDebugCustomAttributeQuery : public IUnknown
6130 public:
6131 virtual HRESULT STDMETHODCALLTYPE IsCustomAttributeDefined(
6132 /* [full][in] */ __RPC__in_opt LPCOLESTR pszCustomAttributeName) = 0;
6134 virtual HRESULT STDMETHODCALLTYPE GetCustomAttributeByName(
6135 /* [full][in] */ __RPC__in_opt LPCOLESTR pszCustomAttributeName,
6136 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pdwLen, *pdwLen) BYTE *ppBlob,
6137 /* [out][in] */ __RPC__inout DWORD *pdwLen) = 0;
6141 #else /* C style interface */
6143 typedef struct IDebugCustomAttributeQueryVtbl
6145 BEGIN_INTERFACE
6147 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6148 IDebugCustomAttributeQuery * This,
6149 /* [in] */ __RPC__in REFIID riid,
6150 /* [iid_is][out] */
6151 __RPC__deref_out void **ppvObject);
6153 ULONG ( STDMETHODCALLTYPE *AddRef )(
6154 IDebugCustomAttributeQuery * This);
6156 ULONG ( STDMETHODCALLTYPE *Release )(
6157 IDebugCustomAttributeQuery * This);
6159 HRESULT ( STDMETHODCALLTYPE *IsCustomAttributeDefined )(
6160 IDebugCustomAttributeQuery * This,
6161 /* [full][in] */ __RPC__in_opt LPCOLESTR pszCustomAttributeName);
6163 HRESULT ( STDMETHODCALLTYPE *GetCustomAttributeByName )(
6164 IDebugCustomAttributeQuery * This,
6165 /* [full][in] */ __RPC__in_opt LPCOLESTR pszCustomAttributeName,
6166 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pdwLen, *pdwLen) BYTE *ppBlob,
6167 /* [out][in] */ __RPC__inout DWORD *pdwLen);
6169 END_INTERFACE
6170 } IDebugCustomAttributeQueryVtbl;
6172 interface IDebugCustomAttributeQuery
6174 CONST_VTBL struct IDebugCustomAttributeQueryVtbl *lpVtbl;
6179 #ifdef COBJMACROS
6182 #define IDebugCustomAttributeQuery_QueryInterface(This,riid,ppvObject) \
6183 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6185 #define IDebugCustomAttributeQuery_AddRef(This) \
6186 ( (This)->lpVtbl -> AddRef(This) )
6188 #define IDebugCustomAttributeQuery_Release(This) \
6189 ( (This)->lpVtbl -> Release(This) )
6192 #define IDebugCustomAttributeQuery_IsCustomAttributeDefined(This,pszCustomAttributeName) \
6193 ( (This)->lpVtbl -> IsCustomAttributeDefined(This,pszCustomAttributeName) )
6195 #define IDebugCustomAttributeQuery_GetCustomAttributeByName(This,pszCustomAttributeName,ppBlob,pdwLen) \
6196 ( (This)->lpVtbl -> GetCustomAttributeByName(This,pszCustomAttributeName,ppBlob,pdwLen) )
6198 #endif /* COBJMACROS */
6201 #endif /* C style interface */
6206 #endif /* __IDebugCustomAttributeQuery_INTERFACE_DEFINED__ */
6209 #ifndef __IDebugCustomAttribute_INTERFACE_DEFINED__
6210 #define __IDebugCustomAttribute_INTERFACE_DEFINED__
6212 /* interface IDebugCustomAttribute */
6213 /* [unique][uuid][object] */
6216 EXTERN_C const IID IID_IDebugCustomAttribute;
6218 #if defined(__cplusplus) && !defined(CINTERFACE)
6220 MIDL_INTERFACE("A3A37C5E-8D71-487d-A9E1-B9A1B3BA9CBB")
6221 IDebugCustomAttribute : public IUnknown
6223 public:
6224 virtual HRESULT STDMETHODCALLTYPE GetParentField(
6225 /* [out] */ __RPC__deref_out_opt IDebugField **ppField) = 0;
6227 virtual HRESULT STDMETHODCALLTYPE GetAttributeTypeField(
6228 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppCAType) = 0;
6230 virtual HRESULT STDMETHODCALLTYPE GetName(
6231 /* [out] */ __RPC__deref_out_opt BSTR *bstrName) = 0;
6233 virtual HRESULT STDMETHODCALLTYPE GetAttributeBytes(
6234 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pdwLen, *pdwLen) BYTE *ppBlob,
6235 /* [out][in] */ __RPC__inout DWORD *pdwLen) = 0;
6239 #else /* C style interface */
6241 typedef struct IDebugCustomAttributeVtbl
6243 BEGIN_INTERFACE
6245 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6246 IDebugCustomAttribute * This,
6247 /* [in] */ __RPC__in REFIID riid,
6248 /* [iid_is][out] */
6249 __RPC__deref_out void **ppvObject);
6251 ULONG ( STDMETHODCALLTYPE *AddRef )(
6252 IDebugCustomAttribute * This);
6254 ULONG ( STDMETHODCALLTYPE *Release )(
6255 IDebugCustomAttribute * This);
6257 HRESULT ( STDMETHODCALLTYPE *GetParentField )(
6258 IDebugCustomAttribute * This,
6259 /* [out] */ __RPC__deref_out_opt IDebugField **ppField);
6261 HRESULT ( STDMETHODCALLTYPE *GetAttributeTypeField )(
6262 IDebugCustomAttribute * This,
6263 /* [out] */ __RPC__deref_out_opt IDebugClassField **ppCAType);
6265 HRESULT ( STDMETHODCALLTYPE *GetName )(
6266 IDebugCustomAttribute * This,
6267 /* [out] */ __RPC__deref_out_opt BSTR *bstrName);
6269 HRESULT ( STDMETHODCALLTYPE *GetAttributeBytes )(
6270 IDebugCustomAttribute * This,
6271 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pdwLen, *pdwLen) BYTE *ppBlob,
6272 /* [out][in] */ __RPC__inout DWORD *pdwLen);
6274 END_INTERFACE
6275 } IDebugCustomAttributeVtbl;
6277 interface IDebugCustomAttribute
6279 CONST_VTBL struct IDebugCustomAttributeVtbl *lpVtbl;
6284 #ifdef COBJMACROS
6287 #define IDebugCustomAttribute_QueryInterface(This,riid,ppvObject) \
6288 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6290 #define IDebugCustomAttribute_AddRef(This) \
6291 ( (This)->lpVtbl -> AddRef(This) )
6293 #define IDebugCustomAttribute_Release(This) \
6294 ( (This)->lpVtbl -> Release(This) )
6297 #define IDebugCustomAttribute_GetParentField(This,ppField) \
6298 ( (This)->lpVtbl -> GetParentField(This,ppField) )
6300 #define IDebugCustomAttribute_GetAttributeTypeField(This,ppCAType) \
6301 ( (This)->lpVtbl -> GetAttributeTypeField(This,ppCAType) )
6303 #define IDebugCustomAttribute_GetName(This,bstrName) \
6304 ( (This)->lpVtbl -> GetName(This,bstrName) )
6306 #define IDebugCustomAttribute_GetAttributeBytes(This,ppBlob,pdwLen) \
6307 ( (This)->lpVtbl -> GetAttributeBytes(This,ppBlob,pdwLen) )
6309 #endif /* COBJMACROS */
6312 #endif /* C style interface */
6317 #endif /* __IDebugCustomAttribute_INTERFACE_DEFINED__ */
6320 #ifndef __IDebugCustomAttributeQuery2_INTERFACE_DEFINED__
6321 #define __IDebugCustomAttributeQuery2_INTERFACE_DEFINED__
6323 /* interface IDebugCustomAttributeQuery2 */
6324 /* [unique][uuid][object] */
6327 EXTERN_C const IID IID_IDebugCustomAttributeQuery2;
6329 #if defined(__cplusplus) && !defined(CINTERFACE)
6331 MIDL_INTERFACE("7D257F89-EF56-43c4-80FF-C89B064E4680")
6332 IDebugCustomAttributeQuery2 : public IDebugCustomAttributeQuery
6334 public:
6335 virtual HRESULT STDMETHODCALLTYPE EnumCustomAttributes(
6336 /* [out] */ __RPC__deref_out_opt IEnumDebugCustomAttributes **ppEnum) = 0;
6340 #else /* C style interface */
6342 typedef struct IDebugCustomAttributeQuery2Vtbl
6344 BEGIN_INTERFACE
6346 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6347 IDebugCustomAttributeQuery2 * This,
6348 /* [in] */ __RPC__in REFIID riid,
6349 /* [iid_is][out] */
6350 __RPC__deref_out void **ppvObject);
6352 ULONG ( STDMETHODCALLTYPE *AddRef )(
6353 IDebugCustomAttributeQuery2 * This);
6355 ULONG ( STDMETHODCALLTYPE *Release )(
6356 IDebugCustomAttributeQuery2 * This);
6358 HRESULT ( STDMETHODCALLTYPE *IsCustomAttributeDefined )(
6359 IDebugCustomAttributeQuery2 * This,
6360 /* [full][in] */ __RPC__in_opt LPCOLESTR pszCustomAttributeName);
6362 HRESULT ( STDMETHODCALLTYPE *GetCustomAttributeByName )(
6363 IDebugCustomAttributeQuery2 * This,
6364 /* [full][in] */ __RPC__in_opt LPCOLESTR pszCustomAttributeName,
6365 /* [length_is][size_is][out][in] */ __RPC__inout_ecount_part(*pdwLen, *pdwLen) BYTE *ppBlob,
6366 /* [out][in] */ __RPC__inout DWORD *pdwLen);
6368 HRESULT ( STDMETHODCALLTYPE *EnumCustomAttributes )(
6369 IDebugCustomAttributeQuery2 * This,
6370 /* [out] */ __RPC__deref_out_opt IEnumDebugCustomAttributes **ppEnum);
6372 END_INTERFACE
6373 } IDebugCustomAttributeQuery2Vtbl;
6375 interface IDebugCustomAttributeQuery2
6377 CONST_VTBL struct IDebugCustomAttributeQuery2Vtbl *lpVtbl;
6382 #ifdef COBJMACROS
6385 #define IDebugCustomAttributeQuery2_QueryInterface(This,riid,ppvObject) \
6386 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6388 #define IDebugCustomAttributeQuery2_AddRef(This) \
6389 ( (This)->lpVtbl -> AddRef(This) )
6391 #define IDebugCustomAttributeQuery2_Release(This) \
6392 ( (This)->lpVtbl -> Release(This) )
6395 #define IDebugCustomAttributeQuery2_IsCustomAttributeDefined(This,pszCustomAttributeName) \
6396 ( (This)->lpVtbl -> IsCustomAttributeDefined(This,pszCustomAttributeName) )
6398 #define IDebugCustomAttributeQuery2_GetCustomAttributeByName(This,pszCustomAttributeName,ppBlob,pdwLen) \
6399 ( (This)->lpVtbl -> GetCustomAttributeByName(This,pszCustomAttributeName,ppBlob,pdwLen) )
6402 #define IDebugCustomAttributeQuery2_EnumCustomAttributes(This,ppEnum) \
6403 ( (This)->lpVtbl -> EnumCustomAttributes(This,ppEnum) )
6405 #endif /* COBJMACROS */
6408 #endif /* C style interface */
6413 #endif /* __IDebugCustomAttributeQuery2_INTERFACE_DEFINED__ */
6416 #ifndef __IEnumDebugCustomAttributes_INTERFACE_DEFINED__
6417 #define __IEnumDebugCustomAttributes_INTERFACE_DEFINED__
6419 /* interface IEnumDebugCustomAttributes */
6420 /* [unique][uuid][object] */
6423 EXTERN_C const IID IID_IEnumDebugCustomAttributes;
6425 #if defined(__cplusplus) && !defined(CINTERFACE)
6427 MIDL_INTERFACE("D9089EF0-22D1-40b9-81D6-47CBDA9DC32C")
6428 IEnumDebugCustomAttributes : public IUnknown
6430 public:
6431 virtual HRESULT STDMETHODCALLTYPE Next(
6432 /* [in] */ ULONG celt,
6433 /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IDebugCustomAttribute **rgelt,
6434 /* [out][in] */ __RPC__inout ULONG *pceltFetched) = 0;
6436 virtual HRESULT STDMETHODCALLTYPE Skip(
6437 /* [in] */ ULONG celt) = 0;
6439 virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
6441 virtual HRESULT STDMETHODCALLTYPE Clone(
6442 /* [out] */ __RPC__deref_out_opt IEnumDebugCustomAttributes **ppEnum) = 0;
6444 virtual HRESULT STDMETHODCALLTYPE GetCount(
6445 /* [out] */ __RPC__out ULONG *pcelt) = 0;
6449 #else /* C style interface */
6451 typedef struct IEnumDebugCustomAttributesVtbl
6453 BEGIN_INTERFACE
6455 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6456 IEnumDebugCustomAttributes * This,
6457 /* [in] */ __RPC__in REFIID riid,
6458 /* [iid_is][out] */
6459 __RPC__deref_out void **ppvObject);
6461 ULONG ( STDMETHODCALLTYPE *AddRef )(
6462 IEnumDebugCustomAttributes * This);
6464 ULONG ( STDMETHODCALLTYPE *Release )(
6465 IEnumDebugCustomAttributes * This);
6467 HRESULT ( STDMETHODCALLTYPE *Next )(
6468 IEnumDebugCustomAttributes * This,
6469 /* [in] */ ULONG celt,
6470 /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IDebugCustomAttribute **rgelt,
6471 /* [out][in] */ __RPC__inout ULONG *pceltFetched);
6473 HRESULT ( STDMETHODCALLTYPE *Skip )(
6474 IEnumDebugCustomAttributes * This,
6475 /* [in] */ ULONG celt);
6477 HRESULT ( STDMETHODCALLTYPE *Reset )(
6478 IEnumDebugCustomAttributes * This);
6480 HRESULT ( STDMETHODCALLTYPE *Clone )(
6481 IEnumDebugCustomAttributes * This,
6482 /* [out] */ __RPC__deref_out_opt IEnumDebugCustomAttributes **ppEnum);
6484 HRESULT ( STDMETHODCALLTYPE *GetCount )(
6485 IEnumDebugCustomAttributes * This,
6486 /* [out] */ __RPC__out ULONG *pcelt);
6488 END_INTERFACE
6489 } IEnumDebugCustomAttributesVtbl;
6491 interface IEnumDebugCustomAttributes
6493 CONST_VTBL struct IEnumDebugCustomAttributesVtbl *lpVtbl;
6498 #ifdef COBJMACROS
6501 #define IEnumDebugCustomAttributes_QueryInterface(This,riid,ppvObject) \
6502 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
6504 #define IEnumDebugCustomAttributes_AddRef(This) \
6505 ( (This)->lpVtbl -> AddRef(This) )
6507 #define IEnumDebugCustomAttributes_Release(This) \
6508 ( (This)->lpVtbl -> Release(This) )
6511 #define IEnumDebugCustomAttributes_Next(This,celt,rgelt,pceltFetched) \
6512 ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
6514 #define IEnumDebugCustomAttributes_Skip(This,celt) \
6515 ( (This)->lpVtbl -> Skip(This,celt) )
6517 #define IEnumDebugCustomAttributes_Reset(This) \
6518 ( (This)->lpVtbl -> Reset(This) )
6520 #define IEnumDebugCustomAttributes_Clone(This,ppEnum) \
6521 ( (This)->lpVtbl -> Clone(This,ppEnum) )
6523 #define IEnumDebugCustomAttributes_GetCount(This,pcelt) \
6524 ( (This)->lpVtbl -> GetCount(This,pcelt) )
6526 #endif /* COBJMACROS */
6529 #endif /* C style interface */
6534 #endif /* __IEnumDebugCustomAttributes_INTERFACE_DEFINED__ */
6538 #ifndef __SHLib_LIBRARY_DEFINED__
6539 #define __SHLib_LIBRARY_DEFINED__
6541 /* library SHLib */
6542 /* [uuid] */
6545 EXTERN_C const IID LIBID_SHLib;
6547 EXTERN_C const CLSID CLSID_SHManaged;
6549 #ifdef __cplusplus
6551 class DECLSPEC_UUID("c2e34ebf-8b9d-11d2-9014-00c04fa38338")
6552 SHManaged;
6553 #endif
6554 #endif /* __SHLib_LIBRARY_DEFINED__ */
6556 /* Additional Prototypes for ALL interfaces */
6558 unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
6559 unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
6560 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
6561 void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
6563 /* end of Additional Prototypes */
6565 #ifdef __cplusplus
6567 #endif
6569 #endif