Win32 API 日本語リファレンス
ホームSystem.Diagnostics.Debug.Extensions › IDebugSymbolGroup2

IDebugSymbolGroup2

COM
IID6a7ccc5f-fb5e-4dcc-b41c-6c20307bccc7継承元IUnknown自前メソッド開始 vtbl3

メソッド 23

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetNumberSymbols(DWORD* Number)
NumberDWORD*outシンボルグループ内のシンボルの個数を受け取るポインタである。
vtbl 4 HRESULT AddSymbol(LPSTR Name, DWORD* Index)
NameLPSTRin追加するシンボルの名前(式)を指定する。
IndexDWORD*inout追加されたシンボルのインデックスを受け取るポインタである。
vtbl 5 HRESULT RemoveSymbolByName(LPSTR Name)
NameLPSTRin削除するシンボルの名前を指定する。
vtbl 6 HRESULT RemoveSymbolByIndex(DWORD Index)
IndexDWORDin削除するシンボルのインデックスを指定する。
vtbl 7 HRESULT GetSymbolName(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* NameSize)
IndexDWORDin対象シンボルのインデックスを指定する。
BufferLPSTRoutoptionalシンボル名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。
BufferSizeDWORDinバッファのサイズ(バイト単位)を指定する。
NameSizeDWORD*outoptionalシンボル名のサイズ(バイト単位)を受け取るポインタである。
vtbl 8 HRESULT GetSymbolParameters(DWORD Start, DWORD Count, DEBUG_SYMBOL_PARAMETERS* Params)
StartDWORDin取得を開始するシンボルのインデックスを指定する。
CountDWORDin取得するシンボルの個数を指定する。
ParamsDEBUG_SYMBOL_PARAMETERS*outシンボルのパラメータを受け取る DEBUG_SYMBOL_PARAMETERS 構造体配列へのポインタである。
vtbl 9 HRESULT ExpandSymbol(DWORD Index, BOOL Expand)
IndexDWORDin対象シンボルのインデックスを指定する。
ExpandBOOLin展開する場合は TRUE、折りたたむ場合は FALSE を指定する。
vtbl 10 HRESULT OutputSymbols(DWORD OutputControl, DWORD Flags, DWORD Start, DWORD Count)
OutputControlDWORDin出力先を指定する出力制御フラグである。
FlagsDWORDin出力内容を制御するフラグを指定する。
StartDWORDin出力を開始するシンボルのインデックスを指定する。
CountDWORDin出力するシンボルの個数を指定する。
vtbl 11 HRESULT WriteSymbol(DWORD Index, LPSTR Value)
IndexDWORDin値を変更するシンボルのインデックスを指定する。
ValueLPSTRinシンボルに設定する値を表す文字列を指定する。
vtbl 12 HRESULT OutputAsType(DWORD Index, LPSTR Type)
IndexDWORDin対象シンボルのインデックスを指定する。
TypeLPSTRin再解釈に用いる型の名前を指定する。
vtbl 13 HRESULT AddSymbolWide(LPWSTR Name, DWORD* Index)
NameLPWSTRin追加するシンボルの名前(式)を指定する。
IndexDWORD*inout追加されたシンボルのインデックスを受け取るポインタである。
vtbl 14 HRESULT RemoveSymbolByNameWide(LPWSTR Name)
NameLPWSTRin削除するシンボルの名前を指定する。
vtbl 15 HRESULT GetSymbolNameWide(DWORD Index, LPWSTR Buffer, DWORD BufferSize, DWORD* NameSize)
IndexDWORDin対象シンボルのインデックスを指定する。
BufferLPWSTRoutoptionalシンボル名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。
BufferSizeDWORDinバッファのサイズ(バイト単位)を指定する。
NameSizeDWORD*outoptionalシンボル名のサイズ(バイト単位)を受け取るポインタである。
vtbl 16 HRESULT WriteSymbolWide(DWORD Index, LPWSTR Value)
IndexDWORDin値を変更するシンボルのインデックスを指定する。
ValueLPWSTRinシンボルに設定する値を表す文字列を指定する。
vtbl 17 HRESULT OutputAsTypeWide(DWORD Index, LPWSTR Type)
IndexDWORDin対象シンボルのインデックスを指定する。
TypeLPWSTRin再解釈に用いる型の名前を指定する。
vtbl 18 HRESULT GetSymbolTypeName(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* NameSize)
IndexDWORDin対象シンボルのインデックスを指定する。
BufferLPSTRoutoptional型名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。
BufferSizeDWORDinバッファのサイズ(バイト単位)を指定する。
NameSizeDWORD*outoptional型名のサイズ(バイト単位)を受け取るポインタである。
vtbl 19 HRESULT GetSymbolTypeNameWide(DWORD Index, LPWSTR Buffer, DWORD BufferSize, DWORD* NameSize)
IndexDWORDin対象シンボルのインデックスを指定する。
BufferLPWSTRoutoptional型名を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。
BufferSizeDWORDinバッファのサイズ(バイト単位)を指定する。
NameSizeDWORD*outoptional型名のサイズ(バイト単位)を受け取るポインタである。
vtbl 20 HRESULT GetSymbolSize(DWORD Index, DWORD* Size)
IndexDWORDin対象シンボルのインデックスを指定する。
SizeDWORD*outシンボルのサイズ(バイト単位)を受け取るポインタである。
vtbl 21 HRESULT GetSymbolOffset(DWORD Index, ULONGLONG* Offset)
IndexDWORDin対象シンボルのインデックスを指定する。
OffsetULONGLONG*outシンボルの仮想アドレス(オフセット)を受け取るポインタである。
vtbl 22 HRESULT GetSymbolRegister(DWORD Index, DWORD* Register)
IndexDWORDin対象シンボルのインデックスを指定する。
RegisterDWORD*outシンボルが格納されているレジスタのインデックスを受け取るポインタである。
vtbl 23 HRESULT GetSymbolValueText(DWORD Index, LPSTR Buffer, DWORD BufferSize, DWORD* NameSize)
IndexDWORDin対象シンボルのインデックスを指定する。
BufferLPSTRoutoptionalシンボル値のテキスト表現を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。
BufferSizeDWORDinバッファのサイズ(バイト単位)を指定する。
NameSizeDWORD*outoptional値テキストのサイズ(バイト単位)を受け取るポインタである。
vtbl 24 HRESULT GetSymbolValueTextWide(DWORD Index, LPWSTR Buffer, DWORD BufferSize, DWORD* NameSize)
IndexDWORDin対象シンボルのインデックスを指定する。
BufferLPWSTRoutoptionalシンボル値のテキスト表現を受け取るバッファへのポインタである。NULL を指定すると必要なサイズのみを問い合わせできる。
BufferSizeDWORDinバッファのサイズ(バイト単位)を指定する。
NameSizeDWORD*outoptional値テキストのサイズ(バイト単位)を受け取るポインタである。
vtbl 25 HRESULT GetSymbolEntryInformation(DWORD Index, DEBUG_SYMBOL_ENTRY* Entry)
IndexDWORDin対象シンボルのインデックスを指定する。
EntryDEBUG_SYMBOL_ENTRY*outシンボルの詳細情報を受け取る DEBUG_SYMBOL_ENTRY 構造体へのポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDebugSymbolGroup2 "{6A7CCC5F-FB5E-4DCC-B41C-6C20307BCCC7}"
#usecom global IDebugSymbolGroup2 IID_IDebugSymbolGroup2 "{}"
#comfunc global IDebugSymbolGroup2_GetNumberSymbols           3 var
#comfunc global IDebugSymbolGroup2_AddSymbol                  4 str,var
#comfunc global IDebugSymbolGroup2_RemoveSymbolByName         5 str
#comfunc global IDebugSymbolGroup2_RemoveSymbolByIndex        6 int
#comfunc global IDebugSymbolGroup2_GetSymbolName              7 int,var,int,var
#comfunc global IDebugSymbolGroup2_GetSymbolParameters        8 int,int,var
#comfunc global IDebugSymbolGroup2_ExpandSymbol               9 int,int
#comfunc global IDebugSymbolGroup2_OutputSymbols              10 int,int,int,int
#comfunc global IDebugSymbolGroup2_WriteSymbol                11 int,str
#comfunc global IDebugSymbolGroup2_OutputAsType               12 int,str
#comfunc global IDebugSymbolGroup2_AddSymbolWide              13 wstr,var
#comfunc global IDebugSymbolGroup2_RemoveSymbolByNameWide     14 wstr
#comfunc global IDebugSymbolGroup2_GetSymbolNameWide          15 int,var,int,var
#comfunc global IDebugSymbolGroup2_WriteSymbolWide            16 int,wstr
#comfunc global IDebugSymbolGroup2_OutputAsTypeWide           17 int,wstr
#comfunc global IDebugSymbolGroup2_GetSymbolTypeName          18 int,var,int,var
#comfunc global IDebugSymbolGroup2_GetSymbolTypeNameWide      19 int,var,int,var
#comfunc global IDebugSymbolGroup2_GetSymbolSize              20 int,var
#comfunc global IDebugSymbolGroup2_GetSymbolOffset            21 int,var
#comfunc global IDebugSymbolGroup2_GetSymbolRegister          22 int,var
#comfunc global IDebugSymbolGroup2_GetSymbolValueText         23 int,var,int,var
#comfunc global IDebugSymbolGroup2_GetSymbolValueTextWide     24 int,var,int,var
#comfunc global IDebugSymbolGroup2_GetSymbolEntryInformation  25 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。