1 Star 0 Fork 1

妖蛋/DelphiDIA2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Dia2Lib_TLB.pas 76.53 KB
一键复制 编辑 原始数据 按行查看 历史
妖蛋 提交于 2021-08-07 20:00 +08:00 . 开源
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286
unit Dia2Lib_TLB;
// ************************************************************************ //
// WARNING
// -------
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ************************************************************************ //
// $Rev: 52393 $
// File generated on 2021-08-05 10:08:49 from Type Library described below.
// ************************************************************************ //
// Type Lib: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\DIA SDK\bin\msdia140.dll (1)
// LIBID: {106173A0-0173-4E5C-84E7-E915422BE997}
// LCID: 0
// Helpfile:
// HelpString: dia 2.0 Type Library
// DepndLst:
// (1) v2.0 stdole, (C:\Windows\SysWOW64\stdole2.tlb)
// SYS_KIND: SYS_WIN32
// Errors:
// Hint: Symbol 'type' renamed to 'type_'
// Hint: Parameter 'file' of IDiaSession.findLines changed to 'file_'
// Hint: Parameter 'file' of IDiaSession.findLinesByLinenum changed to 'file_'
// Hint: Parameter 'file' of IDiaSession.findInlineeLinesByLinenum changed to 'file_'
// Hint: Parameter 'file' of IDiaSession.findAcceleratorInlineeLinesByLinenum changed to 'file_'
// Hint: Member 'packed' of 'IDiaSymbol' changed to 'packed_'
// Hint: Member 'constructor' of 'IDiaSymbol' changed to 'constructor_'
// Hint: Member 'function' of 'IDiaSymbol' changed to 'function_'
// Hint: Enum Member 'SymTagEnum' of 'SymTagEnum' changed to 'SymTagEnum_'
// Hint: Parameter 'file' of IDiaEnumInputAssemblyFiles.Item changed to 'file_'
// Hint: Parameter 'type' of IDiaStackWalkHelper.readMemory changed to 'type_'
// Hint: Member 'program' of 'IDiaFrameData' changed to 'program_'
// Hint: Parameter 'type' of IDiaStackWalkFrame.readMemory changed to 'type_'
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
{$ALIGN 4}
interface
uses Winapi.Windows, System.Classes, System.Variants, System.Win.StdVCL, Vcl.Graphics, Vcl.OleServer, Winapi.ActiveX;
// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:
// Type Libraries : LIBID_xxxx
// CoClasses : CLASS_xxxx
// DISPInterfaces : DIID_xxxx
// Non-DISP interfaces: IID_xxxx
// *********************************************************************//
const
// TypeLibrary Major and minor versions
Dia2LibMajorVersion = 2;
Dia2LibMinorVersion = 0;
LIBID_Dia2Lib: TGUID = '{106173A0-0173-4E5C-84E7-E915422BE997}';
IID_IDiaDataSource: TGUID = '{79F1BB5F-B66E-48E5-B6A9-1545C323CA3D}';
CLASS_DiaSource: TGUID = '{E6756135-1E65-4D17-8576-610761398C3C}';
IID_ISequentialStream: TGUID = '{0C733A30-2A1C-11CE-ADE5-00AA0044773D}';
IID_IStream: TGUID = '{0000000C-0000-0000-C000-000000000046}';
IID_IDiaSession: TGUID = '{2F609EE1-D1C8-4E24-8288-3326BADCD211}';
IID_IDiaSymbol: TGUID = '{CB787B2F-BD6C-4635-BA52-933126BD2DCD}';
IID_IDiaEnumSymbols: TGUID = '{CAB72C48-443B-48F5-9B0B-42F0820AB29A}';
IID_IDiaEnumLineNumbers: TGUID = '{FE30E878-54AC-44F1-81BA-39DE940F6052}';
IID_IDiaLineNumber: TGUID = '{B388EB14-BE4D-421D-A8A1-6CF7AB057086}';
IID_IDiaSourceFile: TGUID = '{A2EF5353-F5A8-4EB3-90D2-CB526ACB3CDD}';
IID_IDiaInputAssemblyFile: TGUID = '{3BFE56B0-390C-4863-9430-1F3D083B7684}';
IID_IDiaEnumTables: TGUID = '{C65C2B0A-1150-4D7A-AFCC-E05BF3DEE81E}';
IID_IEnumUnknown: TGUID = '{00000100-0000-0000-C000-000000000046}';
IID_IDiaTable: TGUID = '{4A59FB77-ABAC-469B-A30B-9ECC85BFEF14}';
IID_IDiaEnumSymbolsByAddr: TGUID = '{624B7D9C-24EA-4421-9D06-3B577471C1FA}';
IID_IDiaEnumSourceFiles: TGUID = '{10F3DBD9-664F-4469-B808-9471C7A50538}';
IID_IDiaEnumInjectedSources: TGUID = '{D5612573-6925-4468-8883-98CDEC8C384A}';
IID_IDiaInjectedSource: TGUID = '{AE605CDC-8105-4A23-B710-3259F1E26112}';
IID_IDiaEnumDebugStreams: TGUID = '{08CBB41E-47A6-4F87-92F1-1C9C87CED044}';
IID_IDiaEnumDebugStreamData: TGUID = '{486943E8-D187-4A6B-A3C4-291259FFF60D}';
IID_IDiaEnumInputAssemblyFiles: TGUID = '{1C7FF653-51F7-457E-8419-B20F57EF7E4D}';
CLASS_DiaSourceAlt: TGUID = '{91904831-49CA-4766-B95C-25397E2DD6DC}';
IID_IDiaStackWalker: TGUID = '{5485216B-A54C-469F-9670-52B24D5229BB}';
CLASS_DiaStackWalker: TGUID = '{CE4A85DB-5768-475B-A4E1-C0BCA2112A6B}';
IID_IDiaStackWalkHelper: TGUID = '{21F81B1B-C5BB-42A3-BC4F-CCBAA75B9F19}';
IID_IDiaFrameData: TGUID = '{A39184B7-6A36-42DE-8EEC-7DF9F3F59F33}';
IID_IDiaStackWalkFrame: TGUID = '{07C590C1-438D-4F47-BDCD-4397BC81AD75}';
IID_IDiaEnumStackFrames: TGUID = '{EC9D461D-CE74-4711-A020-7D8F9A1DD255}';
IID_IDiaStackFrame: TGUID = '{5EDBC96D-CDD6-4792-AFBE-CC89007D9610}';
IID_IDiaSectionContrib: TGUID = '{0CF4B60E-35B1-4C6C-BDD8-854B9C8E3857}';
IID_IDiaEnumSectionContribs: TGUID = '{1994DEB2-2C82-4B1D-A57F-AFF424D54A68}';
IID_IDiaSymbol2: TGUID = '{611E86CD-B7D1-4546-8A15-070E2B07A427}';
IID_IDiaSymbol3: TGUID = '{99B665F7-C1B2-49D3-89B2-A384361ACAB5}';
IID_IDiaSymbol4: TGUID = '{BF6C88A7-E9D6-4346-99A1-D053DE5A7808}';
IID_IDiaSymbol5: TGUID = '{ABE2DE00-DC2D-4793-AF9A-EF1D90832644}';
IID_IDiaSymbol6: TGUID = '{8133DAD3-75FE-4234-AC7E-F8E7A1D3CBB3}';
IID_IDiaEnumFrameData: TGUID = '{9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F}';
IID_IDiaLoadCallback: TGUID = '{C32ADB82-73F4-421b-95D5-A4706EDF5DBE}';
// *********************************************************************//
// Declaration of Enumerations defined in Type Library
// *********************************************************************//
// Constants for enum SymTagEnum
type
SymTagEnum = TOleEnum;
const
SymTagNull = $00000000; //Indicates that the symbol has no type.
SymTagExe = $00000001; //Indicates that the symbol is an .exe file. There is only one SymTagExe symbol per symbol store. It serves as the global scope and does not have a lexical parent.
SymTagCompiland = $00000002; //Indicates the compiland symbol for each compiland component of the symbol store. For native applications
SymTagCompilandDetails = $00000003; //Indicates that the symbol contains extended attributes of the compiland
SymTagCompilandEnv = $00000004; //Indicates that the symbol is an environment string defined for the compiland
SymTagFunction = $00000005; //Indicates that the symbol is a function
SymTagBlock = $00000006; //Indicates that the symbol is a nested block.
SymTagData = $00000007; //Indicates that the symbol is data.
SymTagAnnotation = $00000008; //Indicates that the symbol is for a code annotation.
SymTagLabel = $00000009; //Indicates that the symbol is a label
SymTagPublicSymbol = $0000000A; //ndicates that the symbol is a public symbol. For native applications, this symbol is the COFF external symbol encountered while linking the image.
SymTagUDT = $0000000B; //Indicates that the symbol is a user-defined type (structure, class, or union).
SymTagEnum_ = $0000000C; //Indicates that the symbol is an enumeration.
SymTagFunctionType = $0000000D; //Indicates that the symbol is a function signature type.
SymTagPointerType = $0000000E; //Indicates that the symbol is a pointer type.
SymTagArrayType = $0000000F; //Indicates that the symbol is an array type.
SymTagBaseType = $00000010; //Indicates that the symbol is a base type.
SymTagTypedef = $00000011; //Indicates that the symbol is a typedef, that is, an alias for another type.
SymTagBaseClass = $00000012; //Indicates that the symbol is a base class of a user-defined type.
SymTagFriend = $00000013; //Indicates that the symbol is a friend of a user-defined type.
SymTagFunctionArgType = $00000014; //Indicates that the symbol is a function argument.
SymTagFuncDebugStart = $00000015; //Indicates that the symbol is the end location of the function's prologue code.
SymTagFuncDebugEnd = $00000016; //Indicates that the symbol is the beginning location of the function's epilogue code.
SymTagUsingNamespace = $00000017; //Indicates that the symbol is a namespace name, active in the current scope.
SymTagVTableShape = $00000018; //Indicates that the symbol is a virtual table description.
SymTagVTable = $00000019; //Indicates that the symbol is a virtual table pointer.
SymTagCustom = $0000001A; //Indicates that the symbol is a custom symbol and is not interpreted by DIA.
SymTagThunk = $0000001B; //Indicates that the symbol is a thunk used for sharing data between 16 and 32 bit code.
SymTagCustomType = $0000001C; //Indicates that the symbol is a custom compiler symbol.
SymTagManagedType = $0000001D; //Indicates that the symbol is in metadata.
SymTagDimension = $0000001E; //Indicates that the symbol is a FORTRAN multi-dimensional array.
SymTagCallSite = $0000001F; //Indicates that the symbol represents the call site.
SymTagInlineSite = $00000020; //Indicates that the symbol represents the inline site.
SymTagBaseInterface = $00000021; //Indicates that the symbol is a base interface.
SymTagVectorType = $00000022; //Indicates that the symbol is a vector type.
SymTagMatrixType = $00000023; //Indicates that the symbol is a matrix type.
SymTagHLSLType = $00000024; //Indicates that the symbol is a High Level Shader Language type.
SymTagCaller = $00000025;
SymTagCallee = $00000026;
SymTagExport = $00000027;
SymTagHeapAllocationSite = $00000028;
SymTagCoffGroup = $00000029;
SymTagInlinee = $0000002A;
SymTagMax = $0000002B;
// Constants for enum MemoryTypeEnum
type
MemoryTypeEnum = TOleEnum;
const
MemTypeCode = $00000000; //Accesses only code memory.
MemTypeData = $00000001; //Accesses data or stack memory.
MemTypeStack = $00000002; //Accesses only stack memory.
MemTypeCodeOnHeap = $00000003;
MemTypeAny = $FFFFFFFF; //Accesses any kind of memory.
// Constants for enum CV_CPU_TYPE_e
type
CV_CPU_TYPE_e = TOleEnum;
const
CV_CFL_8080 = $00000000;
CV_CFL_8086 = $00000001;
CV_CFL_80286 = $00000002;
CV_CFL_80386 = $00000003;
CV_CFL_80486 = $00000004;
CV_CFL_PENTIUM = $00000005;
CV_CFL_PENTIUMII = $00000006;
CV_CFL_PENTIUMPRO = $00000006;
CV_CFL_PENTIUMIII = $00000007;
CV_CFL_MIPS = $00000010;
CV_CFL_MIPSR4000 = $00000010;
CV_CFL_MIPS16 = $00000011;
CV_CFL_MIPS32 = $00000012;
CV_CFL_MIPS64 = $00000013;
CV_CFL_MIPSI = $00000014;
CV_CFL_MIPSII = $00000015;
CV_CFL_MIPSIII = $00000016;
CV_CFL_MIPSIV = $00000017;
CV_CFL_MIPSV = $00000018;
CV_CFL_M68000 = $00000020;
CV_CFL_M68010 = $00000021;
CV_CFL_M68020 = $00000022;
CV_CFL_M68030 = $00000023;
CV_CFL_M68040 = $00000024;
CV_CFL_ALPHA = $00000030;
CV_CFL_ALPHA_21064 = $00000030;
CV_CFL_ALPHA_21164 = $00000031;
CV_CFL_ALPHA_21164A = $00000032;
CV_CFL_ALPHA_21264 = $00000033;
CV_CFL_ALPHA_21364 = $00000034;
CV_CFL_PPC601 = $00000040;
CV_CFL_PPC603 = $00000041;
CV_CFL_PPC604 = $00000042;
CV_CFL_PPC620 = $00000043;
CV_CFL_PPCFP = $00000044;
CV_CFL_PPCBE = $00000045;
CV_CFL_SH3 = $00000050;
CV_CFL_SH3E = $00000051;
CV_CFL_SH3DSP = $00000052;
CV_CFL_SH4 = $00000053;
CV_CFL_SHMEDIA = $00000054;
CV_CFL_ARM3 = $00000060;
CV_CFL_ARM4 = $00000061;
CV_CFL_ARM4T = $00000062;
CV_CFL_ARM5 = $00000063;
CV_CFL_ARM5T = $00000064;
CV_CFL_ARM6 = $00000065;
CV_CFL_ARM_XMAC = $00000066;
CV_CFL_ARM_WMMX = $00000067;
CV_CFL_ARM7 = $00000068;
CV_CFL_OMNI = $00000070;
CV_CFL_IA64 = $00000080;
CV_CFL_IA64_1 = $00000080;
CV_CFL_IA64_2 = $00000081;
CV_CFL_CEE = $00000090;
CV_CFL_AM33 = $000000A0;
CV_CFL_M32R = $000000B0;
CV_CFL_TRICORE = $000000C0;
CV_CFL_X64 = $000000D0;
CV_CFL_AMD64 = $000000D0;
CV_CFL_EBC = $000000E0;
CV_CFL_THUMB = $000000F0;
CV_CFL_ARMNT = $000000F4;
CV_CFL_ARM64 = $000000F6;
CV_CFL_HYBRID_X86_ARM64 = $000000F7;
CV_CFL_ARM64EC = $000000F8;
CV_CFL_ARM64X = $000000F9;
CV_CFL_D3D11_SHADER = $00000100;
type
// *********************************************************************//
// Forward declaration of types defined in TypeLibrary
// *********************************************************************//
IDiaDataSource = interface;
ISequentialStream = interface;
IStream = interface;
IDiaSession = interface;
IDiaSymbol = interface;
IDiaEnumSymbols = interface;
IDiaEnumLineNumbers = interface;
IDiaLineNumber = interface;
IDiaSourceFile = interface;
IDiaInputAssemblyFile = interface;
IDiaEnumTables = interface;
IEnumUnknown = interface;
IDiaTable = interface;
IDiaEnumSymbolsByAddr = interface;
IDiaEnumSourceFiles = interface;
IDiaEnumInjectedSources = interface;
IDiaInjectedSource = interface;
IDiaEnumDebugStreams = interface;
IDiaEnumDebugStreamData = interface;
IDiaEnumInputAssemblyFiles = interface;
IDiaStackWalker = interface;
IDiaStackWalkHelper = interface;
IDiaFrameData = interface;
IDiaStackWalkFrame = interface;
IDiaEnumStackFrames = interface;
IDiaStackFrame = interface;
IDiaSectionContrib = interface;
IDiaEnumSectionContribs = interface;
IDiaSymbol2 = interface;
IDiaSymbol3 = interface;
IDiaSymbol4 = interface;
IDiaSymbol5 = interface;
IDiaSymbol6 = interface;
IDiaEnumFrameData = interface;
// *********************************************************************//
// Declaration of CoClasses defined in Type Library
// (NOTE: Here we map each CoClass to its Default Interface)
// *********************************************************************//
DiaSource = IDiaDataSource;
DiaSourceAlt = IDiaDataSource;
DiaStackWalker = IDiaStackWalker;
// *********************************************************************//
// Declaration of structures, unions and aliases.
// *********************************************************************//
PUserType1 = ^TGUID; {*}
PByte1 = ^Byte; {*}
PPUserType1 = ^IDiaTable; {*}
PUINT1 = ^LongWord; {*}
{$ALIGN 8}
_LARGE_INTEGER = record
QuadPart: Int64;
end;
_ULARGE_INTEGER = record
QuadPart: Largeuint;
end;
{$ALIGN 4}
_FILETIME = record
dwLowDateTime: LongWord;
dwHighDateTime: LongWord;
end;
{$ALIGN 8}
tagSTATSTG = record
pwcsName: PWideChar;
type_: LongWord;
cbSize: _ULARGE_INTEGER;
mtime: _FILETIME;
ctime: _FILETIME;
atime: _FILETIME;
grfMode: LongWord;
grfLocksSupported: LongWord;
clsid: TGUID;
grfStateBits: LongWord;
reserved: LongWord;
end;
// *********************************************************************//
// Interface: IDiaDataSource
// Flags: (0)
// GUID: {79F1BB5F-B66E-48E5-B6A9-1545C323CA3D}
// *********************************************************************//
IDiaDataSource = interface(IUnknown)
['{79F1BB5F-B66E-48E5-B6A9-1545C323CA3D}']
function Get_lastError(out pRetVal: WideString): HResult; stdcall;
function loadDataFromPdb(pdbPath: PWideChar): HResult; stdcall;
function loadAndValidateDataFromPdb(pdbPath: PWideChar; var pcsig70: TGUID; sig: LongWord;
age: LongWord): HResult; stdcall;
function loadDataForExe(executable: PWideChar; searchPath: PWideChar; const pCallback: IUnknown): HResult; stdcall;
function loadDataFromIStream(const pIStream: IStream): HResult; stdcall;
function openSession(out ppSession: IDiaSession): HResult; stdcall;
function loadDataFromCodeViewInfo(executable: PWideChar; searchPath: PWideChar;
cbCvInfo: LongWord; var pbCvInfo: Byte;
const pCallback: IUnknown): HResult; stdcall;
function loadDataFromMiscInfo(executable: PWideChar; searchPath: PWideChar;
timeStampExe: LongWord; timeStampDbg: LongWord;
sizeOfExe: LongWord; cbMiscInfo: LongWord; var pbMiscInfo: Byte;
const pCallback: IUnknown): HResult; stdcall;
end;
IDiaLoadCallback = interface(IUnknown)
function NotifyDebugDir(fExecutable:Boolean;cbData:DWORD;var pbData:Byte):HRESULT;stdcall;
function NotifyOpenDBG(dbgPath:PWideChar;resultCode:HRESULT):HRESULT;stdcall;
function NotifyOpenPDB(pdbPath:PWideChar;resultCode:HRESULT):HRESULT;stdcall;
function RestrictRegistryAccess():HRESULT;stdcall;
function RestrictSymbolServerAccess():HRESULT;stdcall;
end;
// *********************************************************************//
// Interface: ISequentialStream
// Flags: (0)
// GUID: {0C733A30-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ISequentialStream = interface(IUnknown)
['{0C733A30-2A1C-11CE-ADE5-00AA0044773D}']
function RemoteRead(out pv: Byte; cb: LongWord; out pcbRead: LongWord): HResult; stdcall;
function RemoteWrite(var pv: Byte; cb: LongWord; out pcbWritten: LongWord): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IStream
// Flags: (0)
// GUID: {0000000C-0000-0000-C000-000000000046}
// *********************************************************************//
IStream = interface(ISequentialStream)
['{0000000C-0000-0000-C000-000000000046}']
function RemoteSeek(dlibMove: _LARGE_INTEGER; dwOrigin: LongWord;
out plibNewPosition: _ULARGE_INTEGER): HResult; stdcall;
function SetSize(libNewSize: _ULARGE_INTEGER): HResult; stdcall;
function RemoteCopyTo(const pstm: IStream; cb: _ULARGE_INTEGER; out pcbRead: _ULARGE_INTEGER;
out pcbWritten: _ULARGE_INTEGER): HResult; stdcall;
function Commit(grfCommitFlags: LongWord): HResult; stdcall;
function Revert: HResult; stdcall;
function LockRegion(libOffset: _ULARGE_INTEGER; cb: _ULARGE_INTEGER; dwLockType: LongWord): HResult; stdcall;
function UnlockRegion(libOffset: _ULARGE_INTEGER; cb: _ULARGE_INTEGER; dwLockType: LongWord): HResult; stdcall;
function Stat(out pstatstg: tagSTATSTG; grfStatFlag: LongWord): HResult; stdcall;
function Clone(out ppstm: IStream): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSession
// Flags: (0)
// GUID: {2F609EE1-D1C8-4E24-8288-3326BADCD211}
// *********************************************************************//
IDiaSession = interface(IUnknown)
['{2F609EE1-D1C8-4E24-8288-3326BADCD211}']
function Get_loadAddress(out pRetVal: Largeuint): HResult; stdcall;
function Set_loadAddress(pRetVal: Largeuint): HResult; stdcall;
function Get_globalScope(out pRetVal: IDiaSymbol): HResult; stdcall;
function getEnumTables(out ppEnumTables: IDiaEnumTables): HResult; stdcall;
function getSymbolsByAddr(out ppEnumbyAddr: IDiaEnumSymbolsByAddr): HResult; stdcall;
function findChildren(const parent: IDiaSymbol; symTag: SymTagEnum; name: PWideChar;
compareFlags: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findChildrenEx(const parent: IDiaSymbol; symTag: SymTagEnum; name: PWideChar;
compareFlags: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findChildrenExByAddr(const parent: IDiaSymbol; symTag: SymTagEnum; name: PWideChar;
compareFlags: LongWord; isect: LongWord; offset: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findChildrenExByVA(const parent: IDiaSymbol; symTag: SymTagEnum; name: PWideChar;
compareFlags: LongWord; va: Largeuint; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findChildrenExByRVA(const parent: IDiaSymbol; symTag: SymTagEnum; name: PWideChar;
compareFlags: LongWord; rva: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findSymbolByAddr(isect: LongWord; offset: LongWord; symTag: SymTagEnum;
out ppSymbol: IDiaSymbol): HResult; stdcall;
function findSymbolByRVA(rva: LongWord; symTag: SymTagEnum; out ppSymbol: IDiaSymbol): HResult; stdcall;
function findSymbolByVA(va: Largeuint; symTag: SymTagEnum; out ppSymbol: IDiaSymbol): HResult; stdcall;
function findSymbolByToken(token: LongWord; symTag: SymTagEnum; out ppSymbol: IDiaSymbol): HResult; stdcall;
function symsAreEquiv(const symbolA: IDiaSymbol; const symbolB: IDiaSymbol): HResult; stdcall;
function symbolById(id: LongWord; out ppSymbol: IDiaSymbol): HResult; stdcall;
function findSymbolByRVAEx(rva: LongWord; symTag: SymTagEnum; out ppSymbol: IDiaSymbol;
out displacement: Integer): HResult; stdcall;
function findSymbolByVAEx(va: Largeuint; symTag: SymTagEnum; out ppSymbol: IDiaSymbol;
out displacement: Integer): HResult; stdcall;
function findFile(const pCompiland: IDiaSymbol; name: PWideChar; compareFlags: LongWord;
out ppResult: IDiaEnumSourceFiles): HResult; stdcall;
function findFileById(uniqueId: LongWord; out ppResult: IDiaSourceFile): HResult; stdcall;
function findLines(const compiland: IDiaSymbol; const file_: IDiaSourceFile;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findLinesByAddr(seg: LongWord; offset: LongWord; length: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findLinesByRVA(rva: LongWord; length: LongWord; out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findLinesByVA(va: Largeuint; length: LongWord; out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findLinesByLinenum(const compiland: IDiaSymbol; const file_: IDiaSourceFile;
linenum: LongWord; column: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInjectedSource(srcFile: PWideChar; out ppResult: IDiaEnumInjectedSources): HResult; stdcall;
function getEnumDebugStreams(out ppEnumDebugStreams: IDiaEnumDebugStreams): HResult; stdcall;
function findInlineFramesByAddr(const parent: IDiaSymbol; isect: LongWord; offset: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findInlineFramesByRVA(const parent: IDiaSymbol; rva: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findInlineFramesByVA(const parent: IDiaSymbol; va: Largeuint;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findInlineeLines(const parent: IDiaSymbol; out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInlineeLinesByAddr(const parent: IDiaSymbol; isect: LongWord; offset: LongWord;
length: LongWord; out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInlineeLinesByRVA(const parent: IDiaSymbol; rva: LongWord; length: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInlineeLinesByVA(const parent: IDiaSymbol; va: Largeuint; length: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInlineeLinesByLinenum(const compiland: IDiaSymbol; const file_: IDiaSourceFile;
linenum: LongWord; column: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInlineesByName(name: PWideChar; option: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findAcceleratorInlineeLinesByLinenum(const parent: IDiaSymbol;
const file_: IDiaSourceFile; linenum: LongWord;
column: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findSymbolsForAcceleratorPointerTag(const parent: IDiaSymbol; tagValue: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findSymbolsByRVAForAcceleratorPointerTag(const parent: IDiaSymbol; tagValue: LongWord;
rva: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findAcceleratorInlineesByName(name: PWideChar; option: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function addressForVA(va: Largeuint; out pISect: LongWord; out pOffset: LongWord): HResult; stdcall;
function addressForRVA(rva: LongWord; out pISect: LongWord; out pOffset: LongWord): HResult; stdcall;
function findILOffsetsByAddr(isect: LongWord; offset: LongWord; length: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findILOffsetsByRVA(rva: LongWord; length: LongWord; out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findILOffsetsByVA(va: Largeuint; length: LongWord; out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInputAssemblyFiles(out ppResult: IDiaEnumInputAssemblyFiles): HResult; stdcall;
function findInputAssembly(index: LongWord; out ppResult: IDiaInputAssemblyFile): HResult; stdcall;
function findInputAssemblyById(uniqueId: LongWord; out ppResult: IDiaInputAssemblyFile): HResult; stdcall;
function getFuncMDTokenMapSize(out pcb: LongWord): HResult; stdcall;
function getFuncMDTokenMap(cb: LongWord; out pcb: LongWord; out pb: Byte): HResult; stdcall;
function getTypeMDTokenMapSize(out pcb: LongWord): HResult; stdcall;
function getTypeMDTokenMap(cb: LongWord; out pcb: LongWord; out pb: Byte): HResult; stdcall;
function getNumberOfFunctionFragments_VA(vaFunc: Largeuint; cbFunc: LongWord;
out pNumFragments: LongWord): HResult; stdcall;
function getNumberOfFunctionFragments_RVA(rvaFunc: LongWord; cbFunc: LongWord;
out pNumFragments: LongWord): HResult; stdcall;
function getFunctionFragments_VA(vaFunc: Largeuint; cbFunc: LongWord; cFragments: LongWord;
out pVaFragment: Largeuint; out pLenFragment: LongWord): HResult; stdcall;
function getFunctionFragments_RVA(rvaFunc: LongWord; cbFunc: LongWord; cFragments: LongWord;
out pRvaFragment: LongWord; out pLenFragment: LongWord): HResult; stdcall;
function getExports(out ppResult: IDiaEnumSymbols): HResult; stdcall;
function getHeapAllocationSites(out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findInputAssemblyFile(const pSymbol: IDiaSymbol; out ppResult: IDiaInputAssemblyFile): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSymbol
// Flags: (0)
// GUID: {CB787B2F-BD6C-4635-BA52-933126BD2DCD}
// *********************************************************************//
IDiaSymbol = interface(IUnknown)
['{CB787B2F-BD6C-4635-BA52-933126BD2DCD}']
function Get_symIndexId(out pRetVal: LongWord): HResult; stdcall;
function Get_symTag(out pRetVal: LongWord): HResult; stdcall;
function Get_name(out pRetVal: WideString): HResult; stdcall;
function Get_lexicalParent(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_classParent(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_type_(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_dataKind(out pRetVal: LongWord): HResult; stdcall;
function Get_locationType(out pRetVal: LongWord): HResult; stdcall;
function Get_addressSection(out pRetVal: LongWord): HResult; stdcall;
function Get_addressOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_relativeVirtualAddress(out pRetVal: LongWord): HResult; stdcall;
function Get_virtualAddress(out pRetVal: Largeuint): HResult; stdcall;
function Get_registerId(out pRetVal: LongWord): HResult; stdcall;
function Get_offset(out pRetVal: Integer): HResult; stdcall;
function Get_length(out pRetVal: Largeuint): HResult; stdcall;
function Get_slot(out pRetVal: LongWord): HResult; stdcall;
function Get_volatileType(out pRetVal: Integer): HResult; stdcall;
function Get_constType(out pRetVal: Integer): HResult; stdcall;
function Get_unalignedType(out pRetVal: Integer): HResult; stdcall;
function Get_access(out pRetVal: LongWord): HResult; stdcall;
function Get_libraryName(out pRetVal: WideString): HResult; stdcall;
function Get_platform(out pRetVal: LongWord): HResult; stdcall;
function Get_language(out pRetVal: LongWord): HResult; stdcall;
function Get_editAndContinueEnabled(out pRetVal: Integer): HResult; stdcall;
function Get_frontEndMajor(out pRetVal: LongWord): HResult; stdcall;
function Get_frontEndMinor(out pRetVal: LongWord): HResult; stdcall;
function Get_frontEndBuild(out pRetVal: LongWord): HResult; stdcall;
function Get_backEndMajor(out pRetVal: LongWord): HResult; stdcall;
function Get_backEndMinor(out pRetVal: LongWord): HResult; stdcall;
function Get_backEndBuild(out pRetVal: LongWord): HResult; stdcall;
function Get_sourceFileName(out pRetVal: WideString): HResult; stdcall;
function Get_unused(out pRetVal: WideString): HResult; stdcall;
function Get_thunkOrdinal(out pRetVal: LongWord): HResult; stdcall;
function Get_thisAdjust(out pRetVal: Integer): HResult; stdcall;
function Get_virtualBaseOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_virtual(out pRetVal: Integer): HResult; stdcall;
function Get_intro(out pRetVal: Integer): HResult; stdcall;
function Get_pure(out pRetVal: Integer): HResult; stdcall;
function Get_callingConvention(out pRetVal: LongWord): HResult; stdcall;
function Get_value(out pRetVal: OleVariant): HResult; stdcall;
function Get_baseType(out pRetVal: LongWord): HResult; stdcall;
function Get_token(out pRetVal: LongWord): HResult; stdcall;
function Get_timeStamp(out pRetVal: LongWord): HResult; stdcall;
function Get_guid(out pRetVal: TGUID): HResult; stdcall;
function Get_symbolsFileName(out pRetVal: WideString): HResult; stdcall;
function Get_reference(out pRetVal: Integer): HResult; stdcall;
function Get_count(out pRetVal: LongWord): HResult; stdcall;
function Get_bitPosition(out pRetVal: LongWord): HResult; stdcall;
function Get_arrayIndexType(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_packed_(out pRetVal: Integer): HResult; stdcall;
function Get_constructor_(out pRetVal: Integer): HResult; stdcall;
function Get_overloadedOperator(out pRetVal: Integer): HResult; stdcall;
function Get_nested(out pRetVal: Integer): HResult; stdcall;
function Get_hasNestedTypes(out pRetVal: Integer): HResult; stdcall;
function Get_hasAssignmentOperator(out pRetVal: Integer): HResult; stdcall;
function Get_hasCastOperator(out pRetVal: Integer): HResult; stdcall;
function Get_scoped(out pRetVal: Integer): HResult; stdcall;
function Get_virtualBaseClass(out pRetVal: Integer): HResult; stdcall;
function Get_indirectVirtualBaseClass(out pRetVal: Integer): HResult; stdcall;
function Get_virtualBasePointerOffset(out pRetVal: Integer): HResult; stdcall;
function Get_virtualTableShape(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_lexicalParentId(out pRetVal: LongWord): HResult; stdcall;
function Get_classParentId(out pRetVal: LongWord): HResult; stdcall;
function Get_typeId(out pRetVal: LongWord): HResult; stdcall;
function Get_arrayIndexTypeId(out pRetVal: LongWord): HResult; stdcall;
function Get_virtualTableShapeId(out pRetVal: LongWord): HResult; stdcall;
function Get_code(out pRetVal: Integer): HResult; stdcall;
function Get_function_(out pRetVal: Integer): HResult; stdcall;
function Get_managed(out pRetVal: Integer): HResult; stdcall;
function Get_msil(out pRetVal: Integer): HResult; stdcall;
function Get_virtualBaseDispIndex(out pRetVal: LongWord): HResult; stdcall;
function Get_undecoratedName(out pRetVal: WideString): HResult; stdcall;
function Get_age(out pRetVal: LongWord): HResult; stdcall;
function Get_signature(out pRetVal: LongWord): HResult; stdcall;
function Get_compilerGenerated(out pRetVal: Integer): HResult; stdcall;
function Get_addressTaken(out pRetVal: Integer): HResult; stdcall;
function Get_rank(out pRetVal: LongWord): HResult; stdcall;
function Get_lowerBound(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_upperBound(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_lowerBoundId(out pRetVal: LongWord): HResult; stdcall;
function Get_upperBoundId(out pRetVal: LongWord): HResult; stdcall;
function get_dataBytes(cbData: LongWord; out pcbData: LongWord; out pbData: Byte): HResult; stdcall;
function findChildren(symTag: SymTagEnum; name: PWideChar; compareFlags: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findChildrenEx(symTag: SymTagEnum; name: PWideChar; compareFlags: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findChildrenExByAddr(symTag: SymTagEnum; name: PWideChar; compareFlags: LongWord;
isect: LongWord; offset: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findChildrenExByVA(symTag: SymTagEnum; name: PWideChar; compareFlags: LongWord;
va: Largeuint; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findChildrenExByRVA(symTag: SymTagEnum; name: PWideChar; compareFlags: LongWord;
rva: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function Get_targetSection(out pRetVal: LongWord): HResult; stdcall;
function Get_targetOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_targetRelativeVirtualAddress(out pRetVal: LongWord): HResult; stdcall;
function Get_targetVirtualAddress(out pRetVal: Largeuint): HResult; stdcall;
function Get_machineType(out pRetVal: LongWord): HResult; stdcall;
function Get_oemId(out pRetVal: LongWord): HResult; stdcall;
function Get_oemSymbolId(out pRetVal: LongWord): HResult; stdcall;
function get_types(cTypes: LongWord; out pcTypes: LongWord; out pTypes: IDiaSymbol): HResult; stdcall;
function get_typeIds(cTypeIds: LongWord; out pcTypeIds: LongWord; out pdwTypeIds: LongWord): HResult; stdcall;
function Get_objectPointerType(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_udtKind(out pRetVal: LongWord): HResult; stdcall;
function get_undecoratedNameEx(undecorateOptions: LongWord; out name: WideString): HResult; stdcall;
function Get_noReturn(out pRetVal: Integer): HResult; stdcall;
function Get_customCallingConvention(out pRetVal: Integer): HResult; stdcall;
function Get_noInline(out pRetVal: Integer): HResult; stdcall;
function Get_optimizedCodeDebugInfo(out pRetVal: Integer): HResult; stdcall;
function Get_notReached(out pRetVal: Integer): HResult; stdcall;
function Get_interruptReturn(out pRetVal: Integer): HResult; stdcall;
function Get_farReturn(out pRetVal: Integer): HResult; stdcall;
function Get_isStatic(out pRetVal: Integer): HResult; stdcall;
function Get_hasDebugInfo(out pRetVal: Integer): HResult; stdcall;
function Get_isLTCG(out pRetVal: Integer): HResult; stdcall;
function Get_isDataAligned(out pRetVal: Integer): HResult; stdcall;
function Get_hasSecurityChecks(out pRetVal: Integer): HResult; stdcall;
function Get_compilerName(out pRetVal: WideString): HResult; stdcall;
function Get_hasAlloca(out pRetVal: Integer): HResult; stdcall;
function Get_hasSetJump(out pRetVal: Integer): HResult; stdcall;
function Get_hasLongJump(out pRetVal: Integer): HResult; stdcall;
function Get_hasInlAsm(out pRetVal: Integer): HResult; stdcall;
function Get_hasEH(out pRetVal: Integer): HResult; stdcall;
function Get_hasSEH(out pRetVal: Integer): HResult; stdcall;
function Get_hasEHa(out pRetVal: Integer): HResult; stdcall;
function Get_isNaked(out pRetVal: Integer): HResult; stdcall;
function Get_isAggregated(out pRetVal: Integer): HResult; stdcall;
function Get_isSplitted(out pRetVal: Integer): HResult; stdcall;
function Get_container(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_inlSpec(out pRetVal: Integer): HResult; stdcall;
function Get_noStackOrdering(out pRetVal: Integer): HResult; stdcall;
function Get_virtualBaseTableType(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_hasManagedCode(out pRetVal: Integer): HResult; stdcall;
function Get_isHotpatchable(out pRetVal: Integer): HResult; stdcall;
function Get_isCVTCIL(out pRetVal: Integer): HResult; stdcall;
function Get_isMSILNetmodule(out pRetVal: Integer): HResult; stdcall;
function Get_isCTypes(out pRetVal: Integer): HResult; stdcall;
function Get_isStripped(out pRetVal: Integer): HResult; stdcall;
function Get_frontEndQFE(out pRetVal: LongWord): HResult; stdcall;
function Get_backEndQFE(out pRetVal: LongWord): HResult; stdcall;
function Get_wasInlined(out pRetVal: Integer): HResult; stdcall;
function Get_strictGSCheck(out pRetVal: Integer): HResult; stdcall;
function Get_isCxxReturnUdt(out pRetVal: Integer): HResult; stdcall;
function Get_isConstructorVirtualBase(out pRetVal: Integer): HResult; stdcall;
function Get_RValueReference(out pRetVal: Integer): HResult; stdcall;
function Get_unmodifiedType(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_framePointerPresent(out pRetVal: Integer): HResult; stdcall;
function Get_isSafeBuffers(out pRetVal: Integer): HResult; stdcall;
function Get_intrinsic(out pRetVal: Integer): HResult; stdcall;
function Get_sealed(out pRetVal: Integer): HResult; stdcall;
function Get_hfaFloat(out pRetVal: Integer): HResult; stdcall;
function Get_hfaDouble(out pRetVal: Integer): HResult; stdcall;
function Get_liveRangeStartAddressSection(out pRetVal: LongWord): HResult; stdcall;
function Get_liveRangeStartAddressOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_liveRangeStartRelativeVirtualAddress(out pRetVal: LongWord): HResult; stdcall;
function Get_countLiveRanges(out pRetVal: LongWord): HResult; stdcall;
function Get_liveRangeLength(out pRetVal: Largeuint): HResult; stdcall;
function Get_offsetInUdt(out pRetVal: LongWord): HResult; stdcall;
function Get_paramBasePointerRegisterId(out pRetVal: LongWord): HResult; stdcall;
function Get_localBasePointerRegisterId(out pRetVal: LongWord): HResult; stdcall;
function Get_isLocationControlFlowDependent(out pRetVal: Integer): HResult; stdcall;
function Get_stride(out pRetVal: LongWord): HResult; stdcall;
function Get_numberOfRows(out pRetVal: LongWord): HResult; stdcall;
function Get_numberOfColumns(out pRetVal: LongWord): HResult; stdcall;
function Get_isMatrixRowMajor(out pRetVal: Integer): HResult; stdcall;
function get_numericProperties(cnt: LongWord; out pcnt: LongWord; out pProperties: LongWord): HResult; stdcall;
function get_modifierValues(cnt: LongWord; out pcnt: LongWord; out pModifiers: Word): HResult; stdcall;
function Get_isReturnValue(out pRetVal: Integer): HResult; stdcall;
function Get_isOptimizedAway(out pRetVal: Integer): HResult; stdcall;
function Get_builtInKind(out pRetVal: LongWord): HResult; stdcall;
function Get_registerType(out pRetVal: LongWord): HResult; stdcall;
function Get_baseDataSlot(out pRetVal: LongWord): HResult; stdcall;
function Get_baseDataOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_textureSlot(out pRetVal: LongWord): HResult; stdcall;
function Get_samplerSlot(out pRetVal: LongWord): HResult; stdcall;
function Get_uavSlot(out pRetVal: LongWord): HResult; stdcall;
function Get_sizeInUdt(out pRetVal: LongWord): HResult; stdcall;
function Get_memorySpaceKind(out pRetVal: LongWord): HResult; stdcall;
function Get_unmodifiedTypeId(out pRetVal: LongWord): HResult; stdcall;
function Get_subTypeId(out pRetVal: LongWord): HResult; stdcall;
function Get_subType(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_numberOfModifiers(out pRetVal: LongWord): HResult; stdcall;
function Get_numberOfRegisterIndices(out pRetVal: LongWord): HResult; stdcall;
function Get_isHLSLData(out pRetVal: Integer): HResult; stdcall;
function Get_isPointerToDataMember(out pRetVal: Integer): HResult; stdcall;
function Get_isPointerToMemberFunction(out pRetVal: Integer): HResult; stdcall;
function Get_isSingleInheritance(out pRetVal: Integer): HResult; stdcall;
function Get_isMultipleInheritance(out pRetVal: Integer): HResult; stdcall;
function Get_isVirtualInheritance(out pRetVal: Integer): HResult; stdcall;
function Get_restrictedType(out pRetVal: Integer): HResult; stdcall;
function Get_isPointerBasedOnSymbolValue(out pRetVal: Integer): HResult; stdcall;
function Get_baseSymbol(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_baseSymbolId(out pRetVal: LongWord): HResult; stdcall;
function Get_objectFileName(out pRetVal: WideString): HResult; stdcall;
function Get_isAcceleratorGroupSharedLocal(out pRetVal: Integer): HResult; stdcall;
function Get_isAcceleratorPointerTagLiveRange(out pRetVal: Integer): HResult; stdcall;
function Get_isAcceleratorStubFunction(out pRetVal: Integer): HResult; stdcall;
function Get_numberOfAcceleratorPointerTags(out pRetVal: LongWord): HResult; stdcall;
function Get_isSdl(out pRetVal: Integer): HResult; stdcall;
function Get_isWinRTPointer(out pRetVal: Integer): HResult; stdcall;
function Get_isRefUdt(out pRetVal: Integer): HResult; stdcall;
function Get_isValueUdt(out pRetVal: Integer): HResult; stdcall;
function Get_isInterfaceUdt(out pRetVal: Integer): HResult; stdcall;
function findInlineFramesByAddr(isect: LongWord; offset: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findInlineFramesByRVA(rva: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findInlineFramesByVA(va: Largeuint; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findInlineeLines(out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInlineeLinesByAddr(isect: LongWord; offset: LongWord; length: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInlineeLinesByRVA(rva: LongWord; length: LongWord;
out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findInlineeLinesByVA(va: Largeuint; length: LongWord; out ppResult: IDiaEnumLineNumbers): HResult; stdcall;
function findSymbolsForAcceleratorPointerTag(tagValue: LongWord; out ppResult: IDiaEnumSymbols): HResult; stdcall;
function findSymbolsByRVAForAcceleratorPointerTag(tagValue: LongWord; rva: LongWord;
out ppResult: IDiaEnumSymbols): HResult; stdcall;
function get_acceleratorPointerTags(cnt: LongWord; out pcnt: LongWord;
out pPointerTags: LongWord): HResult; stdcall;
function getSrcLineOnTypeDefn(out ppResult: IDiaLineNumber): HResult; stdcall;
function Get_isPGO(out pRetVal: Integer): HResult; stdcall;
function Get_hasValidPGOCounts(out pRetVal: Integer): HResult; stdcall;
function Get_isOptimizedForSpeed(out pRetVal: Integer): HResult; stdcall;
function Get_PGOEntryCount(out pRetVal: LongWord): HResult; stdcall;
function Get_PGOEdgeCount(out pRetVal: LongWord): HResult; stdcall;
function Get_PGODynamicInstructionCount(out pRetVal: Largeuint): HResult; stdcall;
function Get_staticSize(out pRetVal: LongWord): HResult; stdcall;
function Get_finalLiveStaticSize(out pRetVal: LongWord): HResult; stdcall;
function Get_phaseName(out pRetVal: WideString): HResult; stdcall;
function Get_hasControlFlowCheck(out pRetVal: Integer): HResult; stdcall;
function Get_constantExport(out pRetVal: Integer): HResult; stdcall;
function Get_dataExport(out pRetVal: Integer): HResult; stdcall;
function Get_privateExport(out pRetVal: Integer): HResult; stdcall;
function Get_noNameExport(out pRetVal: Integer): HResult; stdcall;
function Get_exportHasExplicitlyAssignedOrdinal(out pRetVal: Integer): HResult; stdcall;
function Get_exportIsForwarder(out pRetVal: Integer): HResult; stdcall;
function Get_ordinal(out pRetVal: LongWord): HResult; stdcall;
function Get_frameSize(out pRetVal: LongWord): HResult; stdcall;
function Get_exceptionHandlerAddressSection(out pRetVal: LongWord): HResult; stdcall;
function Get_exceptionHandlerAddressOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_exceptionHandlerRelativeVirtualAddress(out pRetVal: LongWord): HResult; stdcall;
function Get_exceptionHandlerVirtualAddress(out pRetVal: Largeuint): HResult; stdcall;
function findInputAssemblyFile(out ppResult: IDiaInputAssemblyFile): HResult; stdcall;
function Get_characteristics(out pRetVal: LongWord): HResult; stdcall;
function Get_coffGroup(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_bindID(out pRetVal: LongWord): HResult; stdcall;
function Get_bindSpace(out pRetVal: LongWord): HResult; stdcall;
function Get_bindSlot(out pRetVal: LongWord): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumSymbols
// Flags: (0)
// GUID: {CAB72C48-443B-48F5-9B0B-42F0820AB29A}
// *********************************************************************//
IDiaEnumSymbols = interface(IUnknown)
['{CAB72C48-443B-48F5-9B0B-42F0820AB29A}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: LongWord; out symbol: IDiaSymbol): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaSymbol; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumSymbols): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumLineNumbers
// Flags: (0)
// GUID: {FE30E878-54AC-44F1-81BA-39DE940F6052}
// *********************************************************************//
IDiaEnumLineNumbers = interface(IUnknown)
['{FE30E878-54AC-44F1-81BA-39DE940F6052}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: LongWord; out lineNumber: IDiaLineNumber): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaLineNumber; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumLineNumbers): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaLineNumber
// Flags: (0)
// GUID: {B388EB14-BE4D-421D-A8A1-6CF7AB057086}
// *********************************************************************//
IDiaLineNumber = interface(IUnknown)
['{B388EB14-BE4D-421D-A8A1-6CF7AB057086}']
function Get_compiland(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_sourceFile(out pRetVal: IDiaSourceFile): HResult; stdcall;
function Get_lineNumber(out pRetVal: LongWord): HResult; stdcall;
function Get_lineNumberEnd(out pRetVal: LongWord): HResult; stdcall;
function Get_columnNumber(out pRetVal: LongWord): HResult; stdcall;
function Get_columnNumberEnd(out pRetVal: LongWord): HResult; stdcall;
function Get_addressSection(out pRetVal: LongWord): HResult; stdcall;
function Get_addressOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_relativeVirtualAddress(out pRetVal: LongWord): HResult; stdcall;
function Get_virtualAddress(out pRetVal: Largeuint): HResult; stdcall;
function Get_length(out pRetVal: LongWord): HResult; stdcall;
function Get_sourceFileId(out pRetVal: LongWord): HResult; stdcall;
function Get_statement(out pRetVal: Integer): HResult; stdcall;
function Get_compilandId(out pRetVal: LongWord): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSourceFile
// Flags: (0)
// GUID: {A2EF5353-F5A8-4EB3-90D2-CB526ACB3CDD}
// *********************************************************************//
IDiaSourceFile = interface(IUnknown)
['{A2EF5353-F5A8-4EB3-90D2-CB526ACB3CDD}']
function Get_uniqueId(out pRetVal: LongWord): HResult; stdcall;
function Get_fileName(out pRetVal: WideString): HResult; stdcall;
function Get_checksumType(out pRetVal: LongWord): HResult; stdcall;
function Get_compilands(out pRetVal: IDiaEnumSymbols): HResult; stdcall;
function get_checksum(cbData: LongWord; out pcbData: LongWord; out pbData: Byte): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaInputAssemblyFile
// Flags: (0)
// GUID: {3BFE56B0-390C-4863-9430-1F3D083B7684}
// *********************************************************************//
IDiaInputAssemblyFile = interface(IUnknown)
['{3BFE56B0-390C-4863-9430-1F3D083B7684}']
function Get_uniqueId(out pRetVal: LongWord): HResult; stdcall;
function Get_index(out pRetVal: LongWord): HResult; stdcall;
function Get_timeStamp(out pRetVal: LongWord): HResult; stdcall;
function Get_pdbAvailableAtILMerge(out pRetVal: Integer): HResult; stdcall;
function Get_fileName(out pRetVal: WideString): HResult; stdcall;
function get_version(cbData: LongWord; out pcbData: LongWord; out pbData: Byte): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumTables
// Flags: (0)
// GUID: {C65C2B0A-1150-4D7A-AFCC-E05BF3DEE81E}
// *********************************************************************//
IDiaEnumTables = interface(IUnknown)
['{C65C2B0A-1150-4D7A-AFCC-E05BF3DEE81E}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: OleVariant; out table: IDiaTable): HResult; stdcall;
function Next(celt: LongWord; var rgelt: IDiaTable; var pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumTables): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IEnumUnknown
// Flags: (0)
// GUID: {00000100-0000-0000-C000-000000000046}
// *********************************************************************//
IEnumUnknown = interface(IUnknown)
['{00000100-0000-0000-C000-000000000046}']
function RemoteNext(celt: LongWord; out rgelt: IUnknown; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IEnumUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaTable
// Flags: (0)
// GUID: {4A59FB77-ABAC-469B-A30B-9ECC85BFEF14}
// *********************************************************************//
IDiaTable = interface(IEnumUnknown)
['{4A59FB77-ABAC-469B-A30B-9ECC85BFEF14}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_name(out pRetVal: WideString): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: LongWord; out element: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumSymbolsByAddr
// Flags: (0)
// GUID: {624B7D9C-24EA-4421-9D06-3B577471C1FA}
// *********************************************************************//
IDiaEnumSymbolsByAddr = interface(IUnknown)
['{624B7D9C-24EA-4421-9D06-3B577471C1FA}']
function symbolByAddr(isect: LongWord; offset: LongWord; out ppSymbol: IDiaSymbol): HResult; stdcall;
function symbolByRVA(relativeVirtualAddress: LongWord; out ppSymbol: IDiaSymbol): HResult; stdcall;
function symbolByVA(virtualAddress: Largeuint; out ppSymbol: IDiaSymbol): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaSymbol; out pceltFetched: LongWord): HResult; stdcall;
function Prev(celt: LongWord; out rgelt: IDiaSymbol; out pceltFetched: LongWord): HResult; stdcall;
function Clone(out ppenum: IDiaEnumSymbolsByAddr): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumSourceFiles
// Flags: (0)
// GUID: {10F3DBD9-664F-4469-B808-9471C7A50538}
// *********************************************************************//
IDiaEnumSourceFiles = interface(IUnknown)
['{10F3DBD9-664F-4469-B808-9471C7A50538}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: LongWord; out sourceFile: IDiaSourceFile): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaSourceFile; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumSourceFiles): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumInjectedSources
// Flags: (0)
// GUID: {D5612573-6925-4468-8883-98CDEC8C384A}
// *********************************************************************//
IDiaEnumInjectedSources = interface(IUnknown)
['{D5612573-6925-4468-8883-98CDEC8C384A}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: LongWord; out injectedSource: IDiaInjectedSource): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaInjectedSource; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumInjectedSources): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaInjectedSource
// Flags: (0)
// GUID: {AE605CDC-8105-4A23-B710-3259F1E26112}
// *********************************************************************//
IDiaInjectedSource = interface(IUnknown)
['{AE605CDC-8105-4A23-B710-3259F1E26112}']
function Get_crc(out pRetVal: LongWord): HResult; stdcall;
function Get_length(out pRetVal: Largeuint): HResult; stdcall;
function Get_fileName(out pRetVal: WideString): HResult; stdcall;
function Get_objectFileName(out pRetVal: WideString): HResult; stdcall;
function Get_virtualFilename(out pRetVal: WideString): HResult; stdcall;
function Get_sourceCompression(out pRetVal: LongWord): HResult; stdcall;
function get_source(cbData: LongWord; out pcbData: LongWord; out pbData: Byte): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumDebugStreams
// Flags: (0)
// GUID: {08CBB41E-47A6-4F87-92F1-1C9C87CED044}
// *********************************************************************//
IDiaEnumDebugStreams = interface(IUnknown)
['{08CBB41E-47A6-4F87-92F1-1C9C87CED044}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: OleVariant; out stream: IDiaEnumDebugStreamData): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaEnumDebugStreamData; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumDebugStreams): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumDebugStreamData
// Flags: (0)
// GUID: {486943E8-D187-4A6B-A3C4-291259FFF60D}
// *********************************************************************//
IDiaEnumDebugStreamData = interface(IUnknown)
['{486943E8-D187-4A6B-A3C4-291259FFF60D}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Get_name(out pRetVal: WideString): HResult; stdcall;
function Item(index: LongWord; cbData: LongWord; out pcbData: LongWord; out pbData: Byte): HResult; stdcall;
function Next(celt: LongWord; cbData: LongWord; out pcbData: LongWord; out pbData: Byte;
out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumDebugStreamData): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumInputAssemblyFiles
// Flags: (0)
// GUID: {1C7FF653-51F7-457E-8419-B20F57EF7E4D}
// *********************************************************************//
IDiaEnumInputAssemblyFiles = interface(IUnknown)
['{1C7FF653-51F7-457E-8419-B20F57EF7E4D}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: LongWord; out file_: IDiaInputAssemblyFile): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaInputAssemblyFile; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumInputAssemblyFiles): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaStackWalker
// Flags: (0)
// GUID: {5485216B-A54C-469F-9670-52B24D5229BB}
// *********************************************************************//
IDiaStackWalker = interface(IUnknown)
['{5485216B-A54C-469F-9670-52B24D5229BB}']
function getEnumFrames(const pHelper: IDiaStackWalkHelper; out ppenum: IDiaEnumStackFrames): HResult; stdcall;
function getEnumFrames2(cpuid: CV_CPU_TYPE_e; const pHelper: IDiaStackWalkHelper;
out ppenum: IDiaEnumStackFrames): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaStackWalkHelper
// Flags: (0)
// GUID: {21F81B1B-C5BB-42A3-BC4F-CCBAA75B9F19}
// *********************************************************************//
IDiaStackWalkHelper = interface(IUnknown)
['{21F81B1B-C5BB-42A3-BC4F-CCBAA75B9F19}']
function Get_registerValue(index: LongWord; out pRetVal: Largeuint): HResult; stdcall;
function Set_registerValue(index: LongWord; pRetVal: Largeuint): HResult; stdcall;
function readMemory(type_: MemoryTypeEnum; va: Largeuint; cbData: LongWord;
out pcbData: LongWord; out pbData: Byte): HResult; stdcall;
function searchForReturnAddress(const frame: IDiaFrameData; out returnAddress: Largeuint): HResult; stdcall;
function searchForReturnAddressStart(const frame: IDiaFrameData; startAddress: Largeuint;
out returnAddress: Largeuint): HResult; stdcall;
function frameForVA(va: Largeuint; out ppFrame: IDiaFrameData): HResult; stdcall;
function symbolForVA(va: Largeuint; out ppSymbol: IDiaSymbol): HResult; stdcall;
function pdataForVA(va: Largeuint; cbData: LongWord; out pcbData: LongWord; out pbData: Byte): HResult; stdcall;
function imageForVA(vaContext: Largeuint; out pvaImageStart: Largeuint): HResult; stdcall;
function addressForVA(va: Largeuint; out pISect: LongWord; out pOffset: LongWord): HResult; stdcall;
function numberOfFunctionFragmentsForVA(vaFunc: Largeuint; cbFunc: LongWord;
out pNumFragments: LongWord): HResult; stdcall;
function functionFragmentsForVA(vaFunc: Largeuint; cbFunc: LongWord; cFragments: LongWord;
out pVaFragment: Largeuint; out pLenFragment: LongWord): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaFrameData
// Flags: (0)
// GUID: {A39184B7-6A36-42DE-8EEC-7DF9F3F59F33}
// *********************************************************************//
IDiaFrameData = interface(IUnknown)
['{A39184B7-6A36-42DE-8EEC-7DF9F3F59F33}']
function Get_addressSection(out pRetVal: LongWord): HResult; stdcall;
function Get_addressOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_relativeVirtualAddress(out pRetVal: LongWord): HResult; stdcall;
function Get_virtualAddress(out pRetVal: Largeuint): HResult; stdcall;
function Get_lengthBlock(out pRetVal: LongWord): HResult; stdcall;
function Get_lengthLocals(out pRetVal: LongWord): HResult; stdcall;
function Get_lengthParams(out pRetVal: LongWord): HResult; stdcall;
function Get_maxStack(out pRetVal: LongWord): HResult; stdcall;
function Get_lengthProlog(out pRetVal: LongWord): HResult; stdcall;
function Get_lengthSavedRegisters(out pRetVal: LongWord): HResult; stdcall;
function Get_program_(out pRetVal: WideString): HResult; stdcall;
function Get_systemExceptionHandling(out pRetVal: Integer): HResult; stdcall;
function Get_cplusplusExceptionHandling(out pRetVal: Integer): HResult; stdcall;
function Get_functionStart(out pRetVal: Integer): HResult; stdcall;
function Get_allocatesBasePointer(out pRetVal: Integer): HResult; stdcall;
function Get_type_(out pRetVal: LongWord): HResult; stdcall;
function Get_functionParent(out pRetVal: IDiaFrameData): HResult; stdcall;
function execute(const frame: IDiaStackWalkFrame): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaStackWalkFrame
// Flags: (0)
// GUID: {07C590C1-438D-4F47-BDCD-4397BC81AD75}
// *********************************************************************//
IDiaStackWalkFrame = interface(IUnknown)
['{07C590C1-438D-4F47-BDCD-4397BC81AD75}']
function Get_registerValue(index: LongWord; out pRetVal: Largeuint): HResult; stdcall;
function Set_registerValue(index: LongWord; pRetVal: Largeuint): HResult; stdcall;
function readMemory(type_: MemoryTypeEnum; va: Largeuint; cbData: LongWord;
out pcbData: LongWord; out pbData: Byte): HResult; stdcall;
function searchForReturnAddress(const frame: IDiaFrameData; out returnAddress: Largeuint): HResult; stdcall;
function searchForReturnAddressStart(const frame: IDiaFrameData; startAddress: Largeuint;
out returnAddress: Largeuint): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaEnumStackFrames
// Flags: (0)
// GUID: {EC9D461D-CE74-4711-A020-7D8F9A1DD255}
// *********************************************************************//
IDiaEnumStackFrames = interface(IUnknown)
['{EC9D461D-CE74-4711-A020-7D8F9A1DD255}']
function Next(celt: LongWord; out rgelt: IDiaStackFrame; out pceltFetched: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaStackFrame
// Flags: (0)
// GUID: {5EDBC96D-CDD6-4792-AFBE-CC89007D9610}
// *********************************************************************//
IDiaStackFrame = interface(IUnknown)
['{5EDBC96D-CDD6-4792-AFBE-CC89007D9610}']
function Get_type_(out pRetVal: LongWord): HResult; stdcall;
function Get_base(out pRetVal: Largeuint): HResult; stdcall;
function Get_size(out pRetVal: LongWord): HResult; stdcall;
function Get_returnAddress(out pRetVal: Largeuint): HResult; stdcall;
function Get_localsBase(out pRetVal: Largeuint): HResult; stdcall;
function Get_lengthLocals(out pRetVal: LongWord): HResult; stdcall;
function Get_lengthParams(out pRetVal: LongWord): HResult; stdcall;
function Get_lengthProlog(out pRetVal: LongWord): HResult; stdcall;
function Get_lengthSavedRegisters(out pRetVal: LongWord): HResult; stdcall;
function Get_systemExceptionHandling(out pRetVal: Integer): HResult; stdcall;
function Get_cplusplusExceptionHandling(out pRetVal: Integer): HResult; stdcall;
function Get_functionStart(out pRetVal: Integer): HResult; stdcall;
function Get_allocatesBasePointer(out pRetVal: Integer): HResult; stdcall;
function Get_maxStack(out pRetVal: LongWord): HResult; stdcall;
function Get_registerValue(index: LongWord; out pRetVal: Largeuint): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSectionContrib
// Flags: (0)
// GUID: {0CF4B60E-35B1-4C6C-BDD8-854B9C8E3857}
// *********************************************************************//
IDiaSectionContrib = interface(IUnknown)
['{0CF4B60E-35B1-4C6C-BDD8-854B9C8E3857}']
function Get_compiland(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_addressSection(out pRetVal: LongWord): HResult; stdcall;
function Get_addressOffset(out pRetVal: LongWord): HResult; stdcall;
function Get_relativeVirtualAddress(out pRetVal: LongWord): HResult; stdcall;
function Get_virtualAddress(out pRetVal: Largeuint): HResult; stdcall;
function Get_length(out pRetVal: LongWord): HResult; stdcall;
function Get_notPaged(out pRetVal: Integer): HResult; stdcall;
function Get_code(out pRetVal: Integer): HResult; stdcall;
function Get_initializedData(out pRetVal: Integer): HResult; stdcall;
function Get_uninitializedData(out pRetVal: Integer): HResult; stdcall;
function Get_remove(out pRetVal: Integer): HResult; stdcall;
function Get_comdat(out pRetVal: Integer): HResult; stdcall;
function Get_discardable(out pRetVal: Integer): HResult; stdcall;
function Get_notCached(out pRetVal: Integer): HResult; stdcall;
function Get_share(out pRetVal: Integer): HResult; stdcall;
function Get_execute(out pRetVal: Integer): HResult; stdcall;
function Get_read(out pRetVal: Integer): HResult; stdcall;
function Get_write(out pRetVal: Integer): HResult; stdcall;
function Get_dataCrc(out pRetVal: LongWord): HResult; stdcall;
function Get_relocationsCrc(out pRetVal: LongWord): HResult; stdcall;
function Get_compilandId(out pRetVal: LongWord): HResult; stdcall;
function Get_code16bit(out pRetVal: Integer): HResult; stdcall;
end;
IDiaEnumFrameData = interface(IUnknown)
['{9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: LongWord; out section: IDiaFrameData): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaFrameData; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumFrameData): HResult; stdcall;
function frameByRVA(relativeVirtualAddress: LongWord;out frame:IDiaFrameData): HResult; stdcall;
function frameByVA(virtualAddress: Largeuint;out frame:IDiaFrameData): HResult; stdcall;
//frameByRVA
//frameByVA
end;
// *********************************************************************//
// Interface: IDiaEnumSectionContribs
// Flags: (0)
// GUID: {1994DEB2-2C82-4B1D-A57F-AFF424D54A68}
// *********************************************************************//
IDiaEnumSectionContribs = interface(IUnknown)
['{1994DEB2-2C82-4B1D-A57F-AFF424D54A68}']
function Get__NewEnum(out pRetVal: IUnknown): HResult; stdcall;
function Get_count(out pRetVal: Integer): HResult; stdcall;
function Item(index: LongWord; out section: IDiaSectionContrib): HResult; stdcall;
function Next(celt: LongWord; out rgelt: IDiaSectionContrib; out pceltFetched: LongWord): HResult; stdcall;
function Skip(celt: LongWord): HResult; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IDiaEnumSectionContribs): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSymbol2
// Flags: (0)
// GUID: {611E86CD-B7D1-4546-8A15-070E2B07A427}
// *********************************************************************//
IDiaSymbol2 = interface(IDiaSymbol)
['{611E86CD-B7D1-4546-8A15-070E2B07A427}']
function Get_isObjCClass(out pRetVal: Integer): HResult; stdcall;
function Get_isObjCCategory(out pRetVal: Integer): HResult; stdcall;
function Get_isObjCProtocol(out pRetVal: Integer): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSymbol3
// Flags: (0)
// GUID: {99B665F7-C1B2-49D3-89B2-A384361ACAB5}
// *********************************************************************//
IDiaSymbol3 = interface(IDiaSymbol2)
['{99B665F7-C1B2-49D3-89B2-A384361ACAB5}']
function Get_inlinee(out pRetVal: IDiaSymbol): HResult; stdcall;
function Get_inlineeId(out pRetVal: LongWord): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSymbol4
// Flags: (0)
// GUID: {BF6C88A7-E9D6-4346-99A1-D053DE5A7808}
// *********************************************************************//
IDiaSymbol4 = interface(IDiaSymbol3)
['{BF6C88A7-E9D6-4346-99A1-D053DE5A7808}']
function Get_noexcept(out pRetVal: Integer): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSymbol5
// Flags: (0)
// GUID: {ABE2DE00-DC2D-4793-AF9A-EF1D90832644}
// *********************************************************************//
IDiaSymbol5 = interface(IDiaSymbol4)
['{ABE2DE00-DC2D-4793-AF9A-EF1D90832644}']
function Get_hasAbsoluteAddress(out pRetVal: Integer): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDiaSymbol6
// Flags: (0)
// GUID: {8133DAD3-75FE-4234-AC7E-F8E7A1D3CBB3}
// *********************************************************************//
IDiaSymbol6 = interface(IDiaSymbol5)
['{8133DAD3-75FE-4234-AC7E-F8E7A1D3CBB3}']
function Get_isStaticMemberFunc(out pRetVal: Integer): HResult; stdcall;
end;
// *********************************************************************//
// The Class CoDiaSource provides a Create and CreateRemote method to
// create instances of the default interface IDiaDataSource exposed by
// the CoClass DiaSource. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoDiaSource = class
class function Create: IDiaDataSource;
class function CreateRemote(const MachineName: string): IDiaDataSource;
end;
// *********************************************************************//
// The Class CoDiaSourceAlt provides a Create and CreateRemote method to
// create instances of the default interface IDiaDataSource exposed by
// the CoClass DiaSourceAlt. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoDiaSourceAlt = class
class function Create: IDiaDataSource;
class function CreateRemote(const MachineName: string): IDiaDataSource;
end;
// *********************************************************************//
// The Class CoDiaStackWalker provides a Create and CreateRemote method to
// create instances of the default interface IDiaStackWalker exposed by
// the CoClass DiaStackWalker. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoDiaStackWalker = class
class function Create: IDiaStackWalker;
class function CreateRemote(const MachineName: string): IDiaStackWalker;
end;
implementation
uses System.Win.ComObj;
class function CoDiaSource.Create: IDiaDataSource;
begin
Result := CreateComObject(CLASS_DiaSource) as IDiaDataSource;
end;
class function CoDiaSource.CreateRemote(const MachineName: string): IDiaDataSource;
begin
Result := CreateRemoteComObject(MachineName, CLASS_DiaSource) as IDiaDataSource;
end;
class function CoDiaSourceAlt.Create: IDiaDataSource;
begin
Result := CreateComObject(CLASS_DiaSourceAlt) as IDiaDataSource;
end;
class function CoDiaSourceAlt.CreateRemote(const MachineName: string): IDiaDataSource;
begin
Result := CreateRemoteComObject(MachineName, CLASS_DiaSourceAlt) as IDiaDataSource;
end;
class function CoDiaStackWalker.Create: IDiaStackWalker;
begin
Result := CreateComObject(CLASS_DiaStackWalker) as IDiaStackWalker;
end;
class function CoDiaStackWalker.CreateRemote(const MachineName: string): IDiaStackWalker;
begin
Result := CreateRemoteComObject(MachineName, CLASS_DiaStackWalker) as IDiaStackWalker;
end;
end.
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Delphi
1
https://gitee.com/suxuss_admin/delphi-dia2.git
git@gitee.com:suxuss_admin/delphi-dia2.git
suxuss_admin
delphi-dia2
DelphiDIA2
master

搜索帮助