代码拉取完成,页面将自动刷新
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.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。