ホーム › System.Diagnostics.Debug.Extensions › IDebugSymbols
IDebugSymbols
COMメソッド 49
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| Options | DWORD* | out | 現在のシンボルオプションのフラグを受け取るポインタである。 |
| Options | DWORD | in | 追加で有効にするシンボルオプションのフラグを指定する。 |
| Options | DWORD | in | 無効にするシンボルオプションのフラグを指定する。 |
| Options | DWORD | in | 設定するシンボルオプションのフラグを指定する。 |
vtbl 7 HRESULT GetNameByOffset(ULONGLONG Offset, LPSTR NameBuffer, DWORD NameBufferSize, DWORD* NameSize, ULONGLONG* Displacement)
| Offset | ULONGLONG | in | 名前を求める対象の仮想アドレス(オフセット)を指定する。 |
| NameBuffer | LPSTR | outoptional | シンボル名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| NameBufferSize | DWORD | in | 名前バッファのサイズ(バイト単位)を指定する。 |
| NameSize | DWORD* | outoptional | シンボル名のサイズ(バイト単位)を受け取るポインタである。 |
| Displacement | ULONGLONG* | outoptional | シンボルの先頭から指定アドレスまでの変位(バイト単位)を受け取るポインタである。 |
| Symbol | LPSTR | in | アドレスを求めるシンボルの名前を指定する。 |
| Offset | ULONGLONG* | out | シンボルの仮想アドレス(オフセット)を受け取るポインタである。 |
vtbl 9 HRESULT GetNearNameByOffset(ULONGLONG Offset, INT Delta, LPSTR NameBuffer, DWORD NameBufferSize, DWORD* NameSize, ULONGLONG* Displacement)
| Offset | ULONGLONG | in | 基準となる仮想アドレス(オフセット)を指定する。 |
| Delta | INT | in | 基準シンボルからの相対位置(前後のシンボル数)を指定する。 |
| NameBuffer | LPSTR | outoptional | シンボル名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| NameBufferSize | DWORD | in | 名前バッファのサイズ(バイト単位)を指定する。 |
| NameSize | DWORD* | outoptional | シンボル名のサイズ(バイト単位)を受け取るポインタである。 |
| Displacement | ULONGLONG* | outoptional | シンボルの先頭から指定アドレスまでの変位(バイト単位)を受け取るポインタである。 |
vtbl 10 HRESULT GetLineByOffset(ULONGLONG Offset, DWORD* Line, LPSTR FileBuffer, DWORD FileBufferSize, DWORD* FileSize, ULONGLONG* Displacement)
| Offset | ULONGLONG | in | 行情報を求める対象の仮想アドレス(オフセット)を指定する。 |
| Line | DWORD* | outoptional | ソース行番号を受け取るポインタである。 |
| FileBuffer | LPSTR | outoptional | ソースファイル名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| FileBufferSize | DWORD | in | ファイル名バッファのサイズ(バイト単位)を指定する。 |
| FileSize | DWORD* | outoptional | ファイル名のサイズ(バイト単位)を受け取るポインタである。 |
| Displacement | ULONGLONG* | outoptional | 行の先頭から指定アドレスまでの変位(バイト単位)を受け取るポインタである。 |
| Line | DWORD | in | 対象とするソース行番号を指定する。 |
| File | LPSTR | in | 対象とするソースファイルの名前を指定する。 |
| Offset | ULONGLONG* | out | 指定行に対応する仮想アドレス(オフセット)を受け取るポインタである。 |
| Loaded | DWORD* | out | 読み込み済みモジュールの数を受け取るポインタである。 |
| Unloaded | DWORD* | out | アンロード済みモジュールの数を受け取るポインタである。 |
| Index | DWORD | in | 対象モジュールのインデックスを指定する。 |
| Base | ULONGLONG* | out | モジュールのベースアドレスを受け取るポインタである。 |
| Name | LPSTR | in | 検索するモジュール名を指定する。 |
| StartIndex | DWORD | in | 検索を開始するモジュールのインデックスを指定する。 |
| Index | DWORD* | outoptional | 見つかったモジュールのインデックスを受け取るポインタである。 |
| Base | ULONGLONG* | outoptional | 見つかったモジュールのベースアドレスを受け取るポインタである。 |
vtbl 15 HRESULT GetModuleByOffset(ULONGLONG Offset, DWORD StartIndex, DWORD* Index, ULONGLONG* Base)
| Offset | ULONGLONG | in | 対象とする仮想アドレス(オフセット)を指定する。 |
| StartIndex | DWORD | in | 検索を開始するモジュールのインデックスを指定する。 |
| Index | DWORD* | outoptional | 見つかったモジュールのインデックスを受け取るポインタである。 |
| Base | ULONGLONG* | outoptional | 見つかったモジュールのベースアドレスを受け取るポインタである。 |
vtbl 16 HRESULT GetModuleNames(DWORD Index, ULONGLONG Base, LPSTR ImageNameBuffer, DWORD ImageNameBufferSize, DWORD* ImageNameSize, LPSTR ModuleNameBuffer, DWORD ModuleNameBufferSize, DWORD* ModuleNameSize, LPSTR LoadedImageNameBuffer, DWORD LoadedImageNameBufferSize, DWORD* LoadedImageNameSize)
| Index | DWORD | in | 対象モジュールのインデックスを指定する。Base を使う場合は DEBUG_ANY_ID を指定する。 |
| Base | ULONGLONG | in | 対象モジュールのベースアドレスを指定する。Index を使う場合は 0 を指定する。 |
| ImageNameBuffer | LPSTR | outoptional | イメージ名を受け取るバッファへのポインタである。不要なら NULL を指定できる。 |
| ImageNameBufferSize | DWORD | in | 対応するバッファのサイズ(文字数またはバイト単位)を指定する。 |
| ImageNameSize | DWORD* | outoptional | イメージ名のサイズ(バイト単位)を受け取るポインタである。 |
| ModuleNameBuffer | LPSTR | outoptional | モジュール名を受け取るバッファへのポインタである。不要なら NULL を指定できる。 |
| ModuleNameBufferSize | DWORD | in | 対応するバッファのサイズ(文字数またはバイト単位)を指定する。 |
| ModuleNameSize | DWORD* | outoptional | モジュール名のサイズ(バイト単位)を受け取るポインタである。 |
| LoadedImageNameBuffer | LPSTR | outoptional | 読み込まれたイメージ名を受け取るバッファへのポインタである。不要なら NULL を指定できる。 |
| LoadedImageNameBufferSize | DWORD | in | 対応するバッファのサイズ(文字数またはバイト単位)を指定する。 |
| LoadedImageNameSize | DWORD* | outoptional | 読み込まれたイメージ名のサイズ(バイト単位)を受け取るポインタである。 |
vtbl 17 HRESULT GetModuleParameters(DWORD Count, ULONGLONG* Bases, DWORD Start, DEBUG_MODULE_PARAMETERS* Params)
| Count | DWORD | in | 取得するモジュールの個数を指定する。 |
| Bases | ULONGLONG* | inoptional | 対象モジュールのベースアドレスの配列を指定する。 |
| Start | DWORD | in | Bases が NULL のとき取得を開始するモジュールのインデックスを指定する。 |
| Params | DEBUG_MODULE_PARAMETERS* | out | モジュールのパラメータを受け取る DEBUG_MODULE_PARAMETERS 構造体配列へのポインタである。 |
| Symbol | LPSTR | in | 対象シンボルの名前を指定する。 |
| Base | ULONGLONG* | out | シンボルを含むモジュールのベースアドレスを受け取るポインタである。 |
vtbl 19 HRESULT GetTypeName(ULONGLONG Module, DWORD TypeId, LPSTR NameBuffer, DWORD NameBufferSize, DWORD* NameSize)
| Module | ULONGLONG | in | 型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | 名前を求める型の型 ID を指定する。 |
| NameBuffer | LPSTR | outoptional | 型名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| NameBufferSize | DWORD | in | 名前バッファのサイズ(バイト単位)を指定する。 |
| NameSize | DWORD* | outoptional | 型名のサイズ(バイト単位)を受け取るポインタである。 |
| Module | ULONGLONG | in | 型を含むモジュールのベースアドレスを指定する。 |
| Name | LPSTR | in | 型 ID を求める型の名前を指定する。 |
| TypeId | DWORD* | out | 型 ID を受け取るポインタである。 |
| Module | ULONGLONG | in | 型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | サイズを求める型の型 ID を指定する。 |
| Size | DWORD* | out | 型のサイズ(バイト単位)を受け取るポインタである。 |
| Module | ULONGLONG | in | 型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | フィールドを含む構造体型の型 ID を指定する。 |
| Field | LPSTR | in | 対象フィールドの名前を指定する。 |
| Offset | DWORD* | out | フィールドの構造体先頭からのオフセット(バイト単位)を受け取るポインタである。 |
| Symbol | LPSTR | in | 対象シンボルの名前を指定する。 |
| TypeId | DWORD* | out | シンボルの型 ID を受け取るポインタである。 |
| Module | ULONGLONG* | outoptional | シンボルを含むモジュールのベースアドレスを受け取るポインタである。 |
| Offset | ULONGLONG | in | 対象とする仮想アドレス(オフセット)を指定する。 |
| TypeId | DWORD* | out | そのアドレスにあるシンボルの型 ID を受け取るポインタである。 |
| Module | ULONGLONG* | outoptional | シンボルを含むモジュールのベースアドレスを受け取るポインタである。 |
vtbl 25 HRESULT ReadTypedDataVirtual(ULONGLONG Offset, ULONGLONG Module, DWORD TypeId, void* Buffer, DWORD BufferSize, DWORD* BytesRead)
| Offset | ULONGLONG | in | 読み取る対象の仮想アドレス(オフセット)を指定する。 |
| Module | ULONGLONG | in | データの型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | 読み取るデータの型 ID を指定する。 |
| Buffer | void* | out | 読み取ったデータを受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| BytesRead | DWORD* | outoptional | 実際に読み取られたバイト数を受け取るポインタである。不要なら NULL を指定できる。 |
vtbl 26 HRESULT WriteTypedDataVirtual(ULONGLONG Offset, ULONGLONG Module, DWORD TypeId, void* Buffer, DWORD BufferSize, DWORD* BytesWritten)
| Offset | ULONGLONG | in | 書き込む対象の仮想アドレス(オフセット)を指定する。 |
| Module | ULONGLONG | in | データの型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | 書き込むデータの型 ID を指定する。 |
| Buffer | void* | in | 書き込むデータが格納されたバッファへのポインタである。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| BytesWritten | DWORD* | outoptional | 実際に書き込まれたバイト数を受け取るポインタである。不要なら NULL を指定できる。 |
vtbl 27 HRESULT OutputTypedDataVirtual(DWORD OutputControl, ULONGLONG Offset, ULONGLONG Module, DWORD TypeId, DWORD Flags)
| OutputControl | DWORD | in | 出力先を指定する出力制御フラグである。 |
| Offset | ULONGLONG | in | 出力する対象の仮想アドレス(オフセット)を指定する。 |
| Module | ULONGLONG | in | データの型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | 出力するデータの型 ID を指定する。 |
| Flags | DWORD | in | 出力の書式を制御するフラグを指定する。 |
vtbl 28 HRESULT ReadTypedDataPhysical(ULONGLONG Offset, ULONGLONG Module, DWORD TypeId, void* Buffer, DWORD BufferSize, DWORD* BytesRead)
| Offset | ULONGLONG | in | 読み取る対象の物理アドレス(オフセット)を指定する。 |
| Module | ULONGLONG | in | データの型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | 読み取るデータの型 ID を指定する。 |
| Buffer | void* | out | 読み取ったデータを受け取るバッファへのポインタである。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| BytesRead | DWORD* | outoptional | 実際に読み取られたバイト数を受け取るポインタである。不要なら NULL を指定できる。 |
vtbl 29 HRESULT WriteTypedDataPhysical(ULONGLONG Offset, ULONGLONG Module, DWORD TypeId, void* Buffer, DWORD BufferSize, DWORD* BytesWritten)
| Offset | ULONGLONG | in | 書き込む対象の物理アドレス(オフセット)を指定する。 |
| Module | ULONGLONG | in | データの型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | 書き込むデータの型 ID を指定する。 |
| Buffer | void* | in | 書き込むデータが格納されたバッファへのポインタである。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| BytesWritten | DWORD* | outoptional | 実際に書き込まれたバイト数を受け取るポインタである。不要なら NULL を指定できる。 |
vtbl 30 HRESULT OutputTypedDataPhysical(DWORD OutputControl, ULONGLONG Offset, ULONGLONG Module, DWORD TypeId, DWORD Flags)
| OutputControl | DWORD | in | 出力先を指定する出力制御フラグである。 |
| Offset | ULONGLONG | in | 出力する対象の物理アドレス(オフセット)を指定する。 |
| Module | ULONGLONG | in | データの型を含むモジュールのベースアドレスを指定する。 |
| TypeId | DWORD | in | 出力するデータの型 ID を指定する。 |
| Flags | DWORD | in | 出力の書式を制御するフラグを指定する。 |
vtbl 31 HRESULT GetScope(ULONGLONG* InstructionOffset, DEBUG_STACK_FRAME* ScopeFrame, void* ScopeContext, DWORD ScopeContextSize)
| InstructionOffset | ULONGLONG* | outoptional | 現在のスコープの命令アドレスを受け取るポインタである。 |
| ScopeFrame | DEBUG_STACK_FRAME* | outoptional | 現在のスコープのスタックフレームを受け取る DEBUG_STACK_FRAME 構造体へのポインタである。 |
| ScopeContext | void* | outoptional | 現在のスコープのレジスタコンテキストを受け取るバッファへのポインタである。 |
| ScopeContextSize | DWORD | in | コンテキストバッファのサイズ(バイト単位)を指定する。 |
vtbl 32 HRESULT SetScope(ULONGLONG InstructionOffset, DEBUG_STACK_FRAME* ScopeFrame, void* ScopeContext, DWORD ScopeContextSize)
| InstructionOffset | ULONGLONG | in | 設定するスコープの命令アドレスを指定する。 |
| ScopeFrame | DEBUG_STACK_FRAME* | inoptional | 設定するスコープのスタックフレームを表す DEBUG_STACK_FRAME 構造体へのポインタである。 |
| ScopeContext | void* | inoptional | 設定するスコープのレジスタコンテキストへのポインタである。 |
| ScopeContextSize | DWORD | in | コンテキストデータのサイズ(バイト単位)を指定する。 |
vtbl 33 HRESULT ResetScope()
vtbl 34 HRESULT GetScopeSymbolGroup(DWORD Flags, IDebugSymbolGroup* Update, IDebugSymbolGroup** Symbols)
| Flags | DWORD | in | 対象とするシンボルの種類を制御するフラグを指定する。 |
| Update | IDebugSymbolGroup* | inoptional | 更新して再利用する既存のシンボルグループを指定する。新規作成する場合は NULL を指定する。 |
| Symbols | IDebugSymbolGroup** | out | 生成または更新されたシンボルグループを受け取るポインタである。 |
vtbl 35 HRESULT CreateSymbolGroup(IDebugSymbolGroup** Group)
| Group | IDebugSymbolGroup** | out | 作成されたシンボルグループを受け取るポインタである。 |
| Pattern | LPSTR | in | 一致させるシンボル名のパターン(ワイルドカード可)を指定する。 |
| Handle | ULONGLONG* | out | 列挙に用いるハンドルを受け取るポインタである。 |
vtbl 37 HRESULT GetNextSymbolMatch(ULONGLONG Handle, LPSTR Buffer, DWORD BufferSize, DWORD* MatchSize, ULONGLONG* Offset)
| Handle | ULONGLONG | in | StartSymbolMatch で取得した列挙ハンドルを指定する。 |
| Buffer | LPSTR | outoptional | 一致したシンボル名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| MatchSize | DWORD* | outoptional | 一致したシンボル名のサイズ(バイト単位)を受け取るポインタである。 |
| Offset | ULONGLONG* | outoptional | 一致したシンボルの仮想アドレス(オフセット)を受け取るポインタである。 |
| Handle | ULONGLONG | in | 終了する列挙のハンドルを指定する。 |
| Module | LPSTR | in | 再読み込みするモジュールの指定(モジュール名やオプション)を指定する。 |
| Buffer | LPSTR | outoptional | シンボルパスを受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| PathSize | DWORD* | outoptional | シンボルパスのサイズ(バイト単位)を受け取るポインタである。 |
| Path | LPSTR | in | 設定するシンボルパスを指定する。 |
| Addition | LPSTR | in | シンボルパスに追加するパスを指定する。 |
| Buffer | LPSTR | outoptional | 実行イメージパスを受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| PathSize | DWORD* | outoptional | 実行イメージパスのサイズ(バイト単位)を受け取るポインタである。 |
| Path | LPSTR | in | 設定する実行イメージパスを指定する。 |
| Addition | LPSTR | in | 実行イメージパスに追加するパスを指定する。 |
| Buffer | LPSTR | outoptional | ソースパスを受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| PathSize | DWORD* | outoptional | ソースパスのサイズ(バイト単位)を受け取るポインタである。 |
vtbl 47 HRESULT GetSourcePathElement(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* ElementSize)
| Index | DWORD | in | 取得するソースパス要素のインデックスを指定する。 |
| Buffer | LPSTR | outoptional | ソースパス要素を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| ElementSize | DWORD* | outoptional | ソースパス要素のサイズ(バイト単位)を受け取るポインタである。 |
| Path | LPSTR | in | 設定するソースパスを指定する。 |
| Addition | LPSTR | in | ソースパスに追加するパスを指定する。 |
vtbl 50 HRESULT FindSourceFile(DWORD StartElement, LPSTR File, DWORD Flags, DWORD* FoundElement, LPSTR Buffer, DWORD BufferSize, DWORD* FoundSize)
| StartElement | DWORD | in | 検索を開始するソースパス要素のインデックスを指定する。 |
| File | LPSTR | in | 検索するソースファイルの名前を指定する。 |
| Flags | DWORD | in | 検索の動作を制御するフラグを指定する。 |
| FoundElement | DWORD* | outoptional | ファイルが見つかったソースパス要素のインデックスを受け取るポインタである。 |
| Buffer | LPSTR | outoptional | 見つかったファイルの完全パスを受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。 |
| BufferSize | DWORD | in | バッファのサイズ(バイト単位)を指定する。 |
| FoundSize | DWORD* | outoptional | 見つかったパスのサイズ(バイト単位)を受け取るポインタである。 |
vtbl 51 HRESULT GetSourceFileLineOffsets(LPSTR File, ULONGLONG* Buffer, DWORD BufferLines, DWORD* FileLines)
| File | LPSTR | in | 対象とするソースファイルの名前を指定する。 |
| Buffer | ULONGLONG* | outoptional | 各行に対応する仮想アドレス(オフセット)の配列を受け取るバッファへのポインタである。NULL を指定すると必要な行数のみを問い合わせできる。 |
| BufferLines | DWORD | in | バッファが保持できる行数を指定する。 |
| FileLines | DWORD* | outoptional | ソースファイルの総行数を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugSymbols "{8C31E98C-983A-48A5-9016-6FE5D667A950}" #usecom global IDebugSymbols IID_IDebugSymbols "{}" #comfunc global IDebugSymbols_GetSymbolOptions 3 var #comfunc global IDebugSymbols_AddSymbolOptions 4 int #comfunc global IDebugSymbols_RemoveSymbolOptions 5 int #comfunc global IDebugSymbols_SetSymbolOptions 6 int #comfunc global IDebugSymbols_GetNameByOffset 7 int64,var,int,var,var #comfunc global IDebugSymbols_GetOffsetByName 8 str,var #comfunc global IDebugSymbols_GetNearNameByOffset 9 int64,int,var,int,var,var #comfunc global IDebugSymbols_GetLineByOffset 10 int64,var,var,int,var,var #comfunc global IDebugSymbols_GetOffsetByLine 11 int,str,var #comfunc global IDebugSymbols_GetNumberModules 12 var,var #comfunc global IDebugSymbols_GetModuleByIndex 13 int,var #comfunc global IDebugSymbols_GetModuleByModuleName 14 str,int,var,var #comfunc global IDebugSymbols_GetModuleByOffset 15 int64,int,var,var #comfunc global IDebugSymbols_GetModuleNames 16 int,int64,var,int,var,var,int,var,var,int,var #comfunc global IDebugSymbols_GetModuleParameters 17 int,var,int,var #comfunc global IDebugSymbols_GetSymbolModule 18 str,var #comfunc global IDebugSymbols_GetTypeName 19 int64,int,var,int,var #comfunc global IDebugSymbols_GetTypeId 20 int64,str,var #comfunc global IDebugSymbols_GetTypeSize 21 int64,int,var #comfunc global IDebugSymbols_GetFieldOffset 22 int64,int,str,var #comfunc global IDebugSymbols_GetSymbolTypeId 23 str,var,var #comfunc global IDebugSymbols_GetOffsetTypeId 24 int64,var,var #comfunc global IDebugSymbols_ReadTypedDataVirtual 25 int64,int64,int,sptr,int,var #comfunc global IDebugSymbols_WriteTypedDataVirtual 26 int64,int64,int,sptr,int,var #comfunc global IDebugSymbols_OutputTypedDataVirtual 27 int,int64,int64,int,int #comfunc global IDebugSymbols_ReadTypedDataPhysical 28 int64,int64,int,sptr,int,var #comfunc global IDebugSymbols_WriteTypedDataPhysical 29 int64,int64,int,sptr,int,var #comfunc global IDebugSymbols_OutputTypedDataPhysical 30 int,int64,int64,int,int #comfunc global IDebugSymbols_GetScope 31 var,var,sptr,int #comfunc global IDebugSymbols_SetScope 32 int64,var,sptr,int #comfunc global IDebugSymbols_ResetScope 33 #comfunc global IDebugSymbols_GetScopeSymbolGroup 34 int,sptr,sptr #comfunc global IDebugSymbols_CreateSymbolGroup 35 sptr #comfunc global IDebugSymbols_StartSymbolMatch 36 str,var #comfunc global IDebugSymbols_GetNextSymbolMatch 37 int64,var,int,var,var #comfunc global IDebugSymbols_EndSymbolMatch 38 int64 #comfunc global IDebugSymbols_Reload 39 str #comfunc global IDebugSymbols_GetSymbolPath 40 var,int,var #comfunc global IDebugSymbols_SetSymbolPath 41 str #comfunc global IDebugSymbols_AppendSymbolPath 42 str #comfunc global IDebugSymbols_GetImagePath 43 var,int,var #comfunc global IDebugSymbols_SetImagePath 44 str #comfunc global IDebugSymbols_AppendImagePath 45 str #comfunc global IDebugSymbols_GetSourcePath 46 var,int,var #comfunc global IDebugSymbols_GetSourcePathElement 47 int,var,int,var #comfunc global IDebugSymbols_SetSourcePath 48 str #comfunc global IDebugSymbols_AppendSourcePath 49 str #comfunc global IDebugSymbols_FindSourceFile 50 int,str,int,var,var,int,var #comfunc global IDebugSymbols_GetSourceFileLineOffsets 51 str,var,int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDebugSymbols "{8C31E98C-983A-48A5-9016-6FE5D667A950}" #usecom global IDebugSymbols IID_IDebugSymbols "{}" #comfunc global IDebugSymbols_GetSymbolOptions 3 sptr #comfunc global IDebugSymbols_AddSymbolOptions 4 int #comfunc global IDebugSymbols_RemoveSymbolOptions 5 int #comfunc global IDebugSymbols_SetSymbolOptions 6 int #comfunc global IDebugSymbols_GetNameByOffset 7 int64,sptr,int,sptr,sptr #comfunc global IDebugSymbols_GetOffsetByName 8 str,sptr #comfunc global IDebugSymbols_GetNearNameByOffset 9 int64,int,sptr,int,sptr,sptr #comfunc global IDebugSymbols_GetLineByOffset 10 int64,sptr,sptr,int,sptr,sptr #comfunc global IDebugSymbols_GetOffsetByLine 11 int,str,sptr #comfunc global IDebugSymbols_GetNumberModules 12 sptr,sptr #comfunc global IDebugSymbols_GetModuleByIndex 13 int,sptr #comfunc global IDebugSymbols_GetModuleByModuleName 14 str,int,sptr,sptr #comfunc global IDebugSymbols_GetModuleByOffset 15 int64,int,sptr,sptr #comfunc global IDebugSymbols_GetModuleNames 16 int,int64,sptr,int,sptr,sptr,int,sptr,sptr,int,sptr #comfunc global IDebugSymbols_GetModuleParameters 17 int,sptr,int,sptr #comfunc global IDebugSymbols_GetSymbolModule 18 str,sptr #comfunc global IDebugSymbols_GetTypeName 19 int64,int,sptr,int,sptr #comfunc global IDebugSymbols_GetTypeId 20 int64,str,sptr #comfunc global IDebugSymbols_GetTypeSize 21 int64,int,sptr #comfunc global IDebugSymbols_GetFieldOffset 22 int64,int,str,sptr #comfunc global IDebugSymbols_GetSymbolTypeId 23 str,sptr,sptr #comfunc global IDebugSymbols_GetOffsetTypeId 24 int64,sptr,sptr #comfunc global IDebugSymbols_ReadTypedDataVirtual 25 int64,int64,int,sptr,int,sptr #comfunc global IDebugSymbols_WriteTypedDataVirtual 26 int64,int64,int,sptr,int,sptr #comfunc global IDebugSymbols_OutputTypedDataVirtual 27 int,int64,int64,int,int #comfunc global IDebugSymbols_ReadTypedDataPhysical 28 int64,int64,int,sptr,int,sptr #comfunc global IDebugSymbols_WriteTypedDataPhysical 29 int64,int64,int,sptr,int,sptr #comfunc global IDebugSymbols_OutputTypedDataPhysical 30 int,int64,int64,int,int #comfunc global IDebugSymbols_GetScope 31 sptr,sptr,sptr,int #comfunc global IDebugSymbols_SetScope 32 int64,sptr,sptr,int #comfunc global IDebugSymbols_ResetScope 33 #comfunc global IDebugSymbols_GetScopeSymbolGroup 34 int,sptr,sptr #comfunc global IDebugSymbols_CreateSymbolGroup 35 sptr #comfunc global IDebugSymbols_StartSymbolMatch 36 str,sptr #comfunc global IDebugSymbols_GetNextSymbolMatch 37 int64,sptr,int,sptr,sptr #comfunc global IDebugSymbols_EndSymbolMatch 38 int64 #comfunc global IDebugSymbols_Reload 39 str #comfunc global IDebugSymbols_GetSymbolPath 40 sptr,int,sptr #comfunc global IDebugSymbols_SetSymbolPath 41 str #comfunc global IDebugSymbols_AppendSymbolPath 42 str #comfunc global IDebugSymbols_GetImagePath 43 sptr,int,sptr #comfunc global IDebugSymbols_SetImagePath 44 str #comfunc global IDebugSymbols_AppendImagePath 45 str #comfunc global IDebugSymbols_GetSourcePath 46 sptr,int,sptr #comfunc global IDebugSymbols_GetSourcePathElement 47 int,sptr,int,sptr #comfunc global IDebugSymbols_SetSourcePath 48 str #comfunc global IDebugSymbols_AppendSourcePath 49 str #comfunc global IDebugSymbols_FindSourceFile 50 int,str,int,sptr,sptr,int,sptr #comfunc global IDebugSymbols_GetSourceFileLineOffsets 51 str,sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。