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
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
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
40 #endif /*COM_NO_WINDOWS_H*/
45 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
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__
277 typedef class SHManaged SHManaged
;
279 typedef struct SHManaged SHManaged
;
280 #endif /* __cplusplus */
282 #endif /* __SHManaged_FWD_DEFINED__ */
285 /* header files for imported files */
294 /* interface __MIDL_itf_sh_0000_0000 */
320 // Symbol provider HRESULTs
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);
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);
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);
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
;
382 enum NameMatchOptions
384 nmCaseSensitive
= ( nmNone
+ 1 ) ,
385 nmCaseInsensitive
= ( nmCaseSensitive
+ 1 )
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
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
478 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
479 IDebugSymbolProvider
* This
,
480 /* [in] */ __RPC__in REFIID riid
,
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
);
567 } IDebugSymbolProviderVtbl
;
569 interface IDebugSymbolProvider
571 CONST_VTBL
struct IDebugSymbolProviderVtbl
*lpVtbl
;
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
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
699 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
700 IDebugSymbolProviderDirect
* This
,
701 /* [in] */ __RPC__in REFIID riid
,
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
);
752 } IDebugSymbolProviderDirectVtbl
;
754 interface IDebugSymbolProviderDirect
756 CONST_VTBL
struct IDebugSymbolProviderDirectVtbl
*lpVtbl
;
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 */
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
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
953 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
954 IDebugComPlusSymbolProvider
* This
,
955 /* [in] */ __RPC__in REFIID riid
,
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
);
1181 } IDebugComPlusSymbolProviderVtbl
;
1183 interface IDebugComPlusSymbolProvider
1185 CONST_VTBL
struct IDebugComPlusSymbolProviderVtbl
*lpVtbl
;
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 */
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
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
1398 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
1399 IDebugComPlusSymbolProvider2
* This
,
1400 /* [in] */ __RPC__in REFIID riid
,
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
);
1676 } IDebugComPlusSymbolProvider2Vtbl
;
1678 interface IDebugComPlusSymbolProvider2
1680 CONST_VTBL
struct IDebugComPlusSymbolProvider2Vtbl
*lpVtbl
;
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
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
1869 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
1870 IDebugSymbolProviderGroup
* This
,
1871 /* [in] */ __RPC__in REFIID riid
,
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
);
1890 } IDebugSymbolProviderGroupVtbl
;
1892 interface IDebugSymbolProviderGroup
1894 CONST_VTBL
struct IDebugSymbolProviderGroupVtbl
*lpVtbl
;
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
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
1965 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
1966 IDebugGenericFieldDefinition
* This
,
1967 /* [in] */ __RPC__in REFIID riid
,
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
);
1994 } IDebugGenericFieldDefinitionVtbl
;
1996 interface IDebugGenericFieldDefinition
1998 CONST_VTBL
struct IDebugGenericFieldDefinitionVtbl
*lpVtbl
;
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
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
2067 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
2068 IDebugGenericFieldInstance
* This
,
2069 /* [in] */ __RPC__in REFIID riid
,
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
);
2090 } IDebugGenericFieldInstanceVtbl
;
2092 interface IDebugGenericFieldInstance
2094 CONST_VTBL
struct IDebugGenericFieldInstanceVtbl
*lpVtbl
;
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,
2215 FIF_MODIFIERS
= 0x8,
2216 FIF_ALL
= 0xffffffff
2218 typedef DWORD FIELD_INFO_FIELDS
;
2220 typedef struct _tagFieldInfo
2222 FIELD_INFO_FIELDS dwFields
;
2226 FIELD_MODIFIERS dwModifiers
;
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
;
2244 typedef struct _tagTYPE_PDB
2246 ULONG32 ulAppDomainID
;
2251 typedef struct _tagTYPE_BUILT
2253 ULONG32 ulAppDomainID
;
2255 IDebugField
*pUnderlyingField
;
2258 typedef struct _tagTYPE_INFO_UNION
2261 /* [switch_type] */ union __MIDL_IDebugField_0001
2263 METADATA_TYPE typeMeta
;
2265 BUILT_TYPE typeBuilt
;
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
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
2317 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
2319 /* [in] */ __RPC__in REFIID riid
,
2321 __RPC__deref_out
void **ppvObject
);
2323 ULONG ( STDMETHODCALLTYPE
*AddRef
)(
2324 IDebugField
* This
);
2326 ULONG ( STDMETHODCALLTYPE
*Release
)(
2327 IDebugField
* This
);
2329 HRESULT ( STDMETHODCALLTYPE
*GetInfo
)(
2331 /* [in] */ FIELD_INFO_FIELDS dwFields
,
2332 /* [out] */ __RPC__out FIELD_INFO
*pFieldInfo
);
2334 HRESULT ( STDMETHODCALLTYPE
*GetKind
)(
2336 /* [out] */ __RPC__out FIELD_KIND
*pdwKind
);
2338 HRESULT ( STDMETHODCALLTYPE
*GetType
)(
2340 /* [out] */ __RPC__deref_out_opt IDebugField
**ppType
);
2342 HRESULT ( STDMETHODCALLTYPE
*GetContainer
)(
2344 /* [out] */ __RPC__deref_out_opt IDebugContainerField
**ppContainerField
);
2346 HRESULT ( STDMETHODCALLTYPE
*GetAddress
)(
2348 /* [out] */ __RPC__deref_out_opt IDebugAddress
**ppAddress
);
2350 HRESULT ( STDMETHODCALLTYPE
*GetSize
)(
2352 /* [out] */ __RPC__out DWORD
*pdwSize
);
2354 HRESULT ( STDMETHODCALLTYPE
*GetExtendedInfo
)(
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
)(
2362 /* [in] */ __RPC__in_opt IDebugField
*pField
);
2364 HRESULT ( STDMETHODCALLTYPE
*GetTypeInfo
)(
2366 /* [out] */ __RPC__out TYPE_INFO
*pTypeInfo
);
2371 interface IDebugField
2373 CONST_VTBL
struct IDebugFieldVtbl
*lpVtbl
;
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
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
2472 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
2473 IDebugGenericParamField
* This
,
2474 /* [in] */ __RPC__in REFIID riid
,
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
);
2550 } IDebugGenericParamFieldVtbl
;
2552 interface IDebugGenericParamField
2554 CONST_VTBL
struct IDebugGenericParamFieldVtbl
*lpVtbl
;
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
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
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
2684 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
2685 IDebugComPlusSymbolSearchInfo
* This
,
2686 /* [in] */ __RPC__in REFIID riid
,
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
);
2727 } IDebugComPlusSymbolSearchInfoVtbl
;
2729 interface IDebugComPlusSymbolSearchInfo
2731 CONST_VTBL
struct IDebugComPlusSymbolSearchInfoVtbl
*lpVtbl
;
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
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
2803 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
2804 IDebugTypeFieldBuilder
* This
,
2805 /* [in] */ __RPC__in REFIID riid
,
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
);
2826 } IDebugTypeFieldBuilderVtbl
;
2828 interface IDebugTypeFieldBuilder
2830 CONST_VTBL
struct IDebugTypeFieldBuilderVtbl
*lpVtbl
;
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
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
2893 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
2894 IDebugTypeFieldBuilder2
* This
,
2895 /* [in] */ __RPC__in REFIID riid
,
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
);
2922 } IDebugTypeFieldBuilder2Vtbl
;
2924 interface IDebugTypeFieldBuilder2
2926 CONST_VTBL
struct IDebugTypeFieldBuilder2Vtbl
*lpVtbl
;
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
2980 virtual HRESULT STDMETHODCALLTYPE
LoadSymbols(
2981 /* [in] */ __RPC__in LPCOLESTR pszFileName
) = 0;
2985 #else /* C style interface */
2987 typedef struct IDebugNativeSymbolProviderVtbl
2991 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
2992 IDebugNativeSymbolProvider
* This
,
2993 /* [in] */ __RPC__in REFIID riid
,
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
);
3084 } IDebugNativeSymbolProviderVtbl
;
3086 interface IDebugNativeSymbolProvider
3088 CONST_VTBL
struct IDebugNativeSymbolProviderVtbl
*lpVtbl
;
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
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
3199 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
3200 IDebugExtendedField
* This
,
3201 /* [in] */ __RPC__in REFIID riid
,
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
);
3258 } IDebugExtendedFieldVtbl
;
3260 interface IDebugExtendedField
3262 CONST_VTBL
struct IDebugExtendedFieldVtbl
*lpVtbl
;
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
3340 virtual HRESULT STDMETHODCALLTYPE
GetPrimitiveType(
3341 /* [out] */ __RPC__out DWORD
*pdwType
) = 0;
3345 #else /* C style interface */
3347 typedef struct IDebugPrimitiveTypeFieldVtbl
3351 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
3352 IDebugPrimitiveTypeField
* This
,
3353 /* [in] */ __RPC__in REFIID riid
,
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
);
3407 } IDebugPrimitiveTypeFieldVtbl
;
3409 interface IDebugPrimitiveTypeField
3411 CONST_VTBL
struct IDebugPrimitiveTypeFieldVtbl
*lpVtbl
;
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
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
3501 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
3502 IDebugContainerField
* This
,
3503 /* [in] */ __RPC__in REFIID riid
,
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
);
3561 } IDebugContainerFieldVtbl
;
3563 interface IDebugContainerField
3565 CONST_VTBL
struct IDebugContainerFieldVtbl
*lpVtbl
;
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
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
3674 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
3675 IDebugMethodField
* This
,
3676 /* [in] */ __RPC__in REFIID riid
,
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
);
3768 } IDebugMethodFieldVtbl
;
3770 interface IDebugMethodField
3772 CONST_VTBL
struct IDebugMethodFieldVtbl
*lpVtbl
;
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
3872 virtual HRESULT STDMETHODCALLTYPE
GetThisAdjustor(
3873 /* [out] */ __RPC__out LONG32
*pThisAdjust
) = 0;
3877 #else /* C style interface */
3879 typedef struct IDebugThisAdjustVtbl
3883 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
3884 IDebugThisAdjust
* This
,
3885 /* [in] */ __RPC__in REFIID riid
,
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
);
3900 } IDebugThisAdjustVtbl
;
3902 interface IDebugThisAdjust
3904 CONST_VTBL
struct IDebugThisAdjustVtbl
*lpVtbl
;
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 */
3940 enum ConstructorMatchOptions
3942 crNonStatic
= ( crAll
+ 1 ) ,
3943 crStatic
= ( crNonStatic
+ 1 )
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
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
3999 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
4000 IDebugClassField
* This
,
4001 /* [in] */ __RPC__in REFIID riid
,
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
);
4092 } IDebugClassFieldVtbl
;
4094 interface IDebugClassField
4096 CONST_VTBL
struct IDebugClassFieldVtbl
*lpVtbl
;
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
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
4209 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
4210 IDebugModOpt
* This
,
4211 /* [in] */ __RPC__in REFIID riid
,
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
);
4230 interface IDebugModOpt
4232 CONST_VTBL
struct IDebugModOptVtbl
*lpVtbl
;
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
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
4293 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
4294 IDebugPropertyField
* This
,
4295 /* [in] */ __RPC__in REFIID riid
,
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
);
4361 } IDebugPropertyFieldVtbl
;
4363 interface IDebugPropertyField
4365 CONST_VTBL
struct IDebugPropertyFieldVtbl
*lpVtbl
;
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
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
4464 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
4465 IDebugArrayField
* This
,
4466 /* [in] */ __RPC__in REFIID riid
,
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
);
4536 } IDebugArrayFieldVtbl
;
4538 interface IDebugArrayField
4540 CONST_VTBL
struct IDebugArrayFieldVtbl
*lpVtbl
;
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
4625 virtual HRESULT STDMETHODCALLTYPE
GetDereferencedField(
4626 /* [out] */ __RPC__deref_out_opt IDebugField
**ppField
) = 0;
4630 #else /* C style interface */
4632 typedef struct IDebugPointerFieldVtbl
4636 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
4637 IDebugPointerField
* This
,
4638 /* [in] */ __RPC__in REFIID riid
,
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
);
4700 } IDebugPointerFieldVtbl
;
4702 interface IDebugPointerField
4704 CONST_VTBL
struct IDebugPointerFieldVtbl
*lpVtbl
;
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
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
4806 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
4807 IDebugEnumField
* This
,
4808 /* [in] */ __RPC__in REFIID riid
,
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
);
4885 } IDebugEnumFieldVtbl
;
4887 interface IDebugEnumField
4889 CONST_VTBL
struct IDebugEnumFieldVtbl
*lpVtbl
;
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
4977 virtual HRESULT STDMETHODCALLTYPE
GetStart(
4978 /* [out] */ __RPC__out DWORD
*pdwBitOffset
) = 0;
4982 #else /* C style interface */
4984 typedef struct IDebugBitFieldVtbl
4988 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
4989 IDebugBitField
* This
,
4990 /* [in] */ __RPC__in REFIID riid
,
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
);
5044 } IDebugBitFieldVtbl
;
5046 interface IDebugBitField
5048 CONST_VTBL
struct IDebugBitFieldVtbl
*lpVtbl
;
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
5125 #else /* C style interface */
5127 typedef struct IDebugDynamicFieldVtbl
5131 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
5132 IDebugDynamicField
* This
,
5133 /* [in] */ __RPC__in REFIID riid
,
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
);
5183 } IDebugDynamicFieldVtbl
;
5185 interface IDebugDynamicField
5187 CONST_VTBL
struct IDebugDynamicFieldVtbl
*lpVtbl
;
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
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
5277 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
5278 IDebugDynamicFieldCOMPlus
* This
,
5279 /* [in] */ __RPC__in REFIID riid
,
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
);
5341 } IDebugDynamicFieldCOMPlusVtbl
;
5343 interface IDebugDynamicFieldCOMPlus
5345 CONST_VTBL
struct IDebugDynamicFieldCOMPlusVtbl
*lpVtbl
;
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
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
5437 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
5438 IDebugEngineSymbolProviderServices
* This
,
5439 /* [in] */ __RPC__in REFIID riid
,
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
);
5456 } IDebugEngineSymbolProviderServicesVtbl
;
5458 interface IDebugEngineSymbolProviderServices
5460 CONST_VTBL
struct IDebugEngineSymbolProviderServicesVtbl
*lpVtbl
;
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 */
5495 typedef struct tagGUID_MODULES
5497 DWORD ctResolvedModules
;
5498 GUID
*pguidResolvedModules
;
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
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
5538 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
5539 IDebugEngineSymbolProviderServices2
* This
,
5540 /* [in] */ __RPC__in REFIID riid
,
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
);
5568 } IDebugEngineSymbolProviderServices2Vtbl
;
5570 interface IDebugEngineSymbolProviderServices2
5572 CONST_VTBL
struct IDebugEngineSymbolProviderServices2Vtbl
*lpVtbl
;
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
5636 typedef struct _tagUNMANAGED_THIS_RELATIVE
5641 } UNMANAGED_ADDRESS_THIS_RELATIVE
;
5643 typedef struct _tagUNMANAGED_ADDRESS_PHYSICAL
5646 } UNMANAGED_ADDRESS_PHYSICAL
;
5648 typedef struct _tagMETADATA_ADDRESS_METHOD
5653 } METADATA_ADDRESS_METHOD
;
5655 typedef struct _tagMETADATA_ADDRESS_FIELD
5658 } METADATA_ADDRESS_FIELD
;
5660 typedef struct _tagMETADATA_ADDRESS_LOCAL
5665 } METADATA_ADDRESS_LOCAL
;
5667 typedef struct _tagMETADATA_ADDRESS_PARAM
5672 } METADATA_ADDRESS_PARAM
;
5674 typedef struct _tagMETADATA_ADDRESS_ARRAYELEM
5678 } METADATA_ADDRESS_ARRAYELEM
;
5680 typedef struct _tagMETADATA_ADDRESS_RETVAL
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
;
5704 } DEBUG_ADDRESS_UNION
;
5706 typedef struct _tagDEBUG_ADDRESS
5708 ULONG32 ulAppDomainID
;
5711 DEBUG_ADDRESS_UNION addr
;
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
5723 virtual HRESULT STDMETHODCALLTYPE
GetAddress(
5724 /* [out] */ __RPC__out DEBUG_ADDRESS
*pAddress
) = 0;
5728 #else /* C style interface */
5730 typedef struct IDebugAddressVtbl
5734 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
5735 IDebugAddress
* This
,
5736 /* [in] */ __RPC__in REFIID riid
,
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
);
5751 } IDebugAddressVtbl
;
5753 interface IDebugAddress
5755 CONST_VTBL
struct IDebugAddressVtbl
*lpVtbl
;
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
5802 virtual HRESULT STDMETHODCALLTYPE
GetProcessID(
5803 /* [out] */ __RPC__out DWORD
*pProcID
) = 0;
5807 #else /* C style interface */
5809 typedef struct IDebugAddress2Vtbl
5813 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
5814 IDebugAddress2
* This
,
5815 /* [in] */ __RPC__in REFIID riid
,
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
);
5834 } IDebugAddress2Vtbl
;
5836 interface IDebugAddress2
5838 CONST_VTBL
struct IDebugAddress2Vtbl
*lpVtbl
;
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
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
5913 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
5914 IEnumDebugFields
* This
,
5915 /* [in] */ __RPC__in REFIID riid
,
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
);
5947 } IEnumDebugFieldsVtbl
;
5949 interface IEnumDebugFields
5951 CONST_VTBL
struct IEnumDebugFieldsVtbl
*lpVtbl
;
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
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
6034 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
6035 IEnumDebugAddresses
* This
,
6036 /* [in] */ __RPC__in REFIID riid
,
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
);
6068 } IEnumDebugAddressesVtbl
;
6070 interface IEnumDebugAddresses
6072 CONST_VTBL
struct IEnumDebugAddressesVtbl
*lpVtbl
;
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
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
6147 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
6148 IDebugCustomAttributeQuery
* This
,
6149 /* [in] */ __RPC__in REFIID riid
,
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
);
6170 } IDebugCustomAttributeQueryVtbl
;
6172 interface IDebugCustomAttributeQuery
6174 CONST_VTBL
struct IDebugCustomAttributeQueryVtbl
*lpVtbl
;
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
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
6245 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
6246 IDebugCustomAttribute
* This
,
6247 /* [in] */ __RPC__in REFIID riid
,
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
);
6275 } IDebugCustomAttributeVtbl
;
6277 interface IDebugCustomAttribute
6279 CONST_VTBL
struct IDebugCustomAttributeVtbl
*lpVtbl
;
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
6335 virtual HRESULT STDMETHODCALLTYPE
EnumCustomAttributes(
6336 /* [out] */ __RPC__deref_out_opt IEnumDebugCustomAttributes
**ppEnum
) = 0;
6340 #else /* C style interface */
6342 typedef struct IDebugCustomAttributeQuery2Vtbl
6346 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
6347 IDebugCustomAttributeQuery2
* This
,
6348 /* [in] */ __RPC__in REFIID riid
,
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
);
6373 } IDebugCustomAttributeQuery2Vtbl
;
6375 interface IDebugCustomAttributeQuery2
6377 CONST_VTBL
struct IDebugCustomAttributeQuery2Vtbl
*lpVtbl
;
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
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
6455 HRESULT ( STDMETHODCALLTYPE
*QueryInterface
)(
6456 IEnumDebugCustomAttributes
* This
,
6457 /* [in] */ __RPC__in REFIID riid
,
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
);
6489 } IEnumDebugCustomAttributesVtbl
;
6491 interface IEnumDebugCustomAttributes
6493 CONST_VTBL
struct IEnumDebugCustomAttributesVtbl
*lpVtbl
;
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__
6545 EXTERN_C
const IID LIBID_SHLib
;
6547 EXTERN_C
const CLSID CLSID_SHManaged
;
6551 class DECLSPEC_UUID("c2e34ebf-8b9d-11d2-9014-00c04fa38338")
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 */