#ifndef Dia2Subset_h #define Dia2Subset_h // Dia2.h is huge (>350 kb) and not always present // This is a subset that is good enough for us enum SymTagEnum { SymTagNull, SymTagExe, SymTagCompiland, SymTagCompilandDetails, SymTagCompilandEnv, SymTagFunction, SymTagBlock, SymTagData, SymTagAnnotation, SymTagLabel, SymTagPublicSymbol, SymTagUDT, SymTagEnum, SymTagFunctionType, SymTagPointerType, SymTagArrayType, SymTagBaseType, SymTagTypedef, SymTagBaseClass, SymTagFriend, SymTagFunctionArgType, SymTagFuncDebugStart, SymTagFuncDebugEnd, SymTagUsingNamespace, SymTagVTableShape, SymTagVTable, SymTagCustom, SymTagThunk, SymTagCustomType, SymTagManagedType, SymTagDimension, SymTagMax }; enum NameSearchOptions { nsNone, nsfCaseSensitive = 0x1, nsfCaseInsensitive = 0x2, nsfFNameExt = 0x4, nsfRegularExpression = 0x8, nsfUndecoratedName = 0x10, // For backward compatibility: nsCaseSensitive = nsfCaseSensitive, nsCaseInsensitive = nsfCaseInsensitive, nsFNameExt = nsfCaseInsensitive | nsfFNameExt, nsRegularExpression = nsfRegularExpression | nsfCaseSensitive, nsCaseInRegularExpression = nsfRegularExpression | nsfCaseInsensitive }; enum LocationType { LocIsNull, LocIsStatic, LocIsTLS, LocIsRegRel, LocIsThisRel, LocIsEnregistered, LocIsBitField, LocIsSlot, LocIsIlRel, LocInMetaData, LocIsConstant, LocTypeMax }; enum UdtKind { UdtStruct, UdtClass, UdtUnion }; class IDiaEnumSymbols; class IDiaEnumSymbolsByAddr; class IDiaEnumTables; class IDiaDataSource; class IDiaSession; class IDiaSymbol; class IDiaSectionContrib; class IDiaTable; // not transcribed here: class IDiaSourceFile; class IDiaEnumSourceFiles; class IDiaEnumLineNumbers; class IDiaEnumDebugStreams; class IDiaEnumInjectedSources; class IDiaEnumSymbols : public IUnknown { public: virtual HRESULT __stdcall get__NewEnum(IUnknown **ret) = 0; virtual HRESULT __stdcall get_Count(LONG *ret) = 0; virtual HRESULT __stdcall Item(DWORD index,IDiaSymbol **symbol) = 0; virtual HRESULT __stdcall Next(ULONG celt,IDiaSymbol **rgelt,ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip(ULONG celt) = 0; virtual HRESULT __stdcall Reset() = 0; virtual HRESULT __stdcall Clone(IDiaEnumSymbols **penum) = 0; }; class IDiaEnumSymbolsByAddr : public IUnknown { public: virtual HRESULT __stdcall symbolByAddr(DWORD isect,DWORD offset,IDiaSymbol** ppSymbol) = 0; virtual HRESULT __stdcall symbolByRVA(DWORD relativeVirtualAddress,IDiaSymbol** ppSymbol) = 0; virtual HRESULT __stdcall symbolByVA(ULONGLONG virtualAddress,IDiaSymbol** ppSymbol) = 0; virtual HRESULT __stdcall Next(ULONG celt,IDiaSymbol ** rgelt,ULONG* pceltFetched) = 0; virtual HRESULT __stdcall Prev(ULONG celt,IDiaSymbol ** rgelt,ULONG * pceltFetched) = 0; virtual HRESULT __stdcall Clone(IDiaEnumSymbolsByAddr **ppenum) = 0; }; class IDiaEnumTables : public IUnknown { public: virtual HRESULT __stdcall get__NewEnum(IUnknown **ret) = 0; virtual HRESULT __stdcall get_Count(LONG *ret) = 0; virtual HRESULT __stdcall Item(VARIANT index,IDiaTable **table) = 0; virtual HRESULT __stdcall Next(ULONG celt,IDiaTable ** rgelt,ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip(ULONG celt) = 0; virtual HRESULT __stdcall Reset() = 0; virtual HRESULT __stdcall Clone(IDiaEnumTables **ppenum) = 0; }; class IDiaDataSource : public IUnknown { public: virtual HRESULT __stdcall get_lastError(BSTR *ret) = 0; virtual HRESULT __stdcall loadDataFromPdb(LPCOLESTR pdbPath) = 0; virtual HRESULT __stdcall loadAndValidateDataFromPdb(LPCOLESTR pdbPath,GUID *pcsig70,DWORD sig,DWORD age) = 0; virtual HRESULT __stdcall loadDataForExe(LPCOLESTR executable,LPCOLESTR searchPath,IUnknown *pCallback) = 0; virtual HRESULT __stdcall loadDataFromIStream(IStream *pIStream) = 0; virtual HRESULT __stdcall openSession(IDiaSession **ppSession) = 0; }; class IDiaSession : public IUnknown { public: virtual HRESULT __stdcall get_loadAddress(ULONGLONG *ret) = 0; virtual HRESULT __stdcall put_loadAddress(ULONGLONG val) = 0; virtual HRESULT __stdcall get_globalScope(IDiaSymbol **sym) = 0; virtual HRESULT __stdcall getEnumTables(IDiaEnumTables** ppEnumTables) = 0; virtual HRESULT __stdcall getSymbolsByAddr(IDiaEnumSymbolsByAddr** ppEnumbyAddr) = 0; virtual HRESULT __stdcall findChildren(IDiaSymbol* parent,enum SymTagEnum symtag,LPCOLESTR name,DWORD compareFlags,IDiaEnumSymbols** ppResult) = 0; virtual HRESULT __stdcall findSymbolByAddr(DWORD isect,DWORD offset,enum SymTagEnum symtag,IDiaSymbol** ppSymbol) = 0; virtual HRESULT __stdcall findSymbolByRVA(DWORD rva,enum SymTagEnum symtag,IDiaSymbol** ppSymbol) = 0; virtual HRESULT __stdcall findSymbolByVA(ULONGLONG va,enum SymTagEnum symtag,IDiaSymbol** ppSymbol) = 0; virtual HRESULT __stdcall findSymbolByToken(ULONG token,enum SymTagEnum symtag,IDiaSymbol** ppSymbol) = 0; virtual HRESULT __stdcall symsAreEquiv(IDiaSymbol* symbolA,IDiaSymbol* symbolB) = 0; virtual HRESULT __stdcall symbolById(DWORD id,IDiaSymbol** ppSymbol) = 0; virtual HRESULT __stdcall findSymbolByRVAEx(DWORD rva,enum SymTagEnum symtag,IDiaSymbol** ppSymbol,long* displacement) = 0; virtual HRESULT __stdcall findSymbolByVAEx(ULONGLONG va,enum SymTagEnum symtag,IDiaSymbol** ppSymbol,long* displacement) = 0; virtual HRESULT __stdcall findFile(IDiaSymbol* pCompiland,LPCOLESTR name,DWORD compareFlags,IDiaEnumSourceFiles** ppResult) = 0; virtual HRESULT __stdcall findFileById(DWORD uniqueId,IDiaSourceFile** ppResult) = 0; virtual HRESULT __stdcall findLines(IDiaSymbol* compiland,IDiaSourceFile* file,IDiaEnumLineNumbers** ppResult) = 0; virtual HRESULT __stdcall findLinesByAddr(DWORD seg,DWORD offset,DWORD length,IDiaEnumLineNumbers** ppResult) = 0; virtual HRESULT __stdcall findLinesByRVA(DWORD rva,DWORD length,IDiaEnumLineNumbers** ppResult) = 0; virtual HRESULT __stdcall findLinesByVA(ULONGLONG va,DWORD length,IDiaEnumLineNumbers** ppResult) = 0; virtual HRESULT __stdcall findLinesByLinenum(IDiaSymbol* compiland,IDiaSourceFile* file,DWORD linenum,DWORD column,IDiaEnumLineNumbers** ppResult) = 0; virtual HRESULT __stdcall findInjectedSource(LPCOLESTR srcFile,IDiaEnumInjectedSources** ppResult) = 0; virtual HRESULT __stdcall getEnumDebugStreams(IDiaEnumDebugStreams** ppEnumDebugStreams) = 0; }; //MIDL_INTERFACE("cb787b2f-bd6c-4635-ba52-933126bd2dcd") class IDiaSymbol : public IUnknown { public: virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symIndexId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symTag( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( /* [retval][out] */ BSTR *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParent( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParent( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataKind( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_locationType( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( /* [retval][out] */ ULONGLONG *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset( /* [retval][out] */ LONG *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( /* [retval][out] */ ULONGLONG *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_slot( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_volatileType( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constType( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unalignedType( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_access( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_libraryName( /* [retval][out] */ BSTR *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_platform( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_language( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_editAndContinueEnabled( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMajor( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMinor( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndBuild( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMajor( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMinor( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndBuild( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileName( /* [retval][out] */ BSTR *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unused( /* [retval][out] */ BSTR *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thunkOrdinal( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thisAdjust( /* [retval][out] */ LONG *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseOffset( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtual( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_intro( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_pure( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_callingConvention( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_value( /* [retval][out] */ VARIANT *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseType( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_token( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_timeStamp( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_guid( /* [retval][out] */ GUID *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symbolsFileName( /* [retval][out] */ BSTR *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_reference( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_bitPosition( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexType( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_packed( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constructor( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_overloadedOperator( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_nested( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasNestedTypes( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAssignmentOperator( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasCastOperator( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_scoped( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseClass( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_indirectVirtualBaseClass( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBasePointerOffset( /* [retval][out] */ LONG *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShape( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParentId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParentId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_typeId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexTypeId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShapeId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_function( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_managed( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_msil( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseDispIndex( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_undecoratedName( /* [retval][out] */ BSTR *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_age( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_signature( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilerGenerated( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressTaken( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rank( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBound( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBound( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBoundId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBoundId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE get_dataBytes( /* [in] */ DWORD cbData, /* [out] */ DWORD *pcbData, /* [size_is][out] */ BYTE *pbData) = 0; virtual HRESULT STDMETHODCALLTYPE findChildren( /* [in] */ enum SymTagEnum symtag, /* [in] */ LPCOLESTR name, /* [in] */ DWORD compareFlags, /* [out] */ IDiaEnumSymbols **ppResult) = 0; virtual HRESULT STDMETHODCALLTYPE findChildrenEx( /* [in] */ enum SymTagEnum symtag, /* [in] */ LPCOLESTR name, /* [in] */ DWORD compareFlags, /* [out] */ IDiaEnumSymbols **ppResult) = 0; virtual HRESULT STDMETHODCALLTYPE findChildrenExByAddr( /* [in] */ enum SymTagEnum symtag, /* [in] */ LPCOLESTR name, /* [in] */ DWORD compareFlags, /* [in] */ DWORD isect, /* [in] */ DWORD offset, /* [out] */ IDiaEnumSymbols **ppResult) = 0; virtual HRESULT STDMETHODCALLTYPE findChildrenExByVA( /* [in] */ enum SymTagEnum symtag, /* [in] */ LPCOLESTR name, /* [in] */ DWORD compareFlags, /* [in] */ ULONGLONG va, /* [out] */ IDiaEnumSymbols **ppResult) = 0; virtual HRESULT STDMETHODCALLTYPE findChildrenExByRVA( /* [in] */ enum SymTagEnum symtag, /* [in] */ LPCOLESTR name, /* [in] */ DWORD compareFlags, /* [in] */ DWORD rva, /* [out] */ IDiaEnumSymbols **ppResult) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetSection( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetOffset( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetRelativeVirtualAddress( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetVirtualAddress( /* [retval][out] */ ULONGLONG *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_machineType( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemSymbolId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE get_types( /* [in] */ DWORD cTypes, /* [out] */ DWORD *pcTypes, /* [size_is][size_is][out] */ IDiaSymbol **pTypes) = 0; virtual HRESULT STDMETHODCALLTYPE get_typeIds( /* [in] */ DWORD cTypeIds, /* [out] */ DWORD *pcTypeIds, /* [size_is][out] */ DWORD *pdwTypeIds) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectPointerType( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_udtKind( /* [retval][out] */ DWORD *pRetVal) = 0; virtual HRESULT STDMETHODCALLTYPE get_undecoratedNameEx( /* [in] */ DWORD undecorateOptions, /* [out] */ BSTR *name) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noReturn( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_customCallingConvention( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noInline( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_optimizedCodeDebugInfo( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notReached( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_interruptReturn( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_farReturn( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isStatic( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasDebugInfo( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isLTCG( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isDataAligned( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSecurityChecks( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilerName( /* [retval][out] */ BSTR *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAlloca( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSetJump( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasLongJump( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasInlAsm( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasEH( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSEH( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasEHa( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isNaked( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isAggregated( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isSplitted( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_container( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_inlSpec( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noStackOrdering( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseTableType( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasManagedCode( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isHotpatchable( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isCVTCIL( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isMSILNetmodule( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isCTypes( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isStripped( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndQFE( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndQFE( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_wasInlined( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_strictGSCheck( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isCxxReturnUdt( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isConstructorVirtualBase( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RValueReference( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unmodifiedType( /* [retval][out] */ IDiaSymbol **pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_framePointerPresent( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isSafeBuffers( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_intrinsic( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sealed( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hfaFloat( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hfaDouble( /* [retval][out] */ BOOL *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_liveRangeStartAddressSection( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_liveRangeStartAddressOffset( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_liveRangeStartRelativeVirtualAddress( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_countLiveRanges( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_liveRangeLength( /* [retval][out] */ ULONGLONG *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offsetInUdt( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_paramBasePointerRegisterId( /* [retval][out] */ DWORD *pRetVal) = 0; virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_localBasePointerRegisterId( /* [retval][out] */ DWORD *pRetVal) = 0; }; class IDiaSectionContrib : public IUnknown { public: virtual HRESULT __stdcall get_compiland(IDiaSymbol **ret) = 0; virtual HRESULT __stdcall get_addressSection(DWORD *ret) = 0; virtual HRESULT __stdcall get_addressOffset(DWORD *ret) = 0; virtual HRESULT __stdcall get_relativeVirtualAddress(DWORD *ret) = 0; virtual HRESULT __stdcall get_virtualAddress(ULONGLONG *ret) = 0; virtual HRESULT __stdcall get_length(DWORD *ret) = 0; virtual HRESULT __stdcall get_notPaged(BOOL *ret) = 0; virtual HRESULT __stdcall get_code(BOOL *ret) = 0; virtual HRESULT __stdcall get_initializedData(BOOL *ret) = 0; virtual HRESULT __stdcall get_uninitializedData(BOOL *ret) = 0; virtual HRESULT __stdcall get_remove(BOOL *ret) = 0; virtual HRESULT __stdcall get_comdat(BOOL *ret) = 0; virtual HRESULT __stdcall get_discardable(BOOL *ret) = 0; virtual HRESULT __stdcall get_notCached(BOOL *ret) = 0; virtual HRESULT __stdcall get_share(BOOL *ret) = 0; virtual HRESULT __stdcall get_execute(BOOL *ret) = 0; virtual HRESULT __stdcall get_read(BOOL *ret) = 0; virtual HRESULT __stdcall get_write(BOOL *ret) = 0; virtual HRESULT __stdcall get_dataCrc(DWORD *ret) = 0; virtual HRESULT __stdcall get_relocationsaCrc(DWORD *ret) = 0; virtual HRESULT __stdcall get_compilandId(DWORD *ret) = 0; }; class IDiaTable : public IEnumUnknown { public: virtual HRESULT __stdcall get__NewEnum(IUnknown **ret) = 0; virtual HRESULT __stdcall get_name(BSTR *ret) = 0; virtual HRESULT __stdcall get_Count(LONG *ret) = 0; virtual HRESULT __stdcall Item(DWORD index,IUnknown **element) = 0; }; class DECLSPEC_UUID("e60afbee-502d-46ae-858f-8272a09bd707") DiaSource71; class DECLSPEC_UUID("bce36434-2c24-499e-bf49-8bd99b0eeb68") DiaSource80; class DECLSPEC_UUID("4C41678E-887B-4365-A09E-925D28DB33C2") DiaSource90; class DECLSPEC_UUID("B86AE24D-BF2F-4ac9-B5A2-34B14E4CE11D") DiaSource100; class DECLSPEC_UUID("761D3BCD-1304-41D5-94E8-EAC54E4AC172") DiaSource110; class DECLSPEC_UUID("79f1bb5f-b66e-48e5-b6a9-1545c323ca3d") IDiaDataSource; #endif