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

IDebugSymbolGroup

COM
IIDf2528316-0f1a-4431-aeed-11d096e1e2ab継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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再解釈に用いる型の名前を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IDebugSymbolGroup "{F2528316-0F1A-4431-AEED-11D096E1E2AB}"
#usecom global IDebugSymbolGroup IID_IDebugSymbolGroup "{}"
#comfunc global IDebugSymbolGroup_GetNumberSymbols     3 var
#comfunc global IDebugSymbolGroup_AddSymbol            4 str,var
#comfunc global IDebugSymbolGroup_RemoveSymbolByName   5 str
#comfunc global IDebugSymbolGroup_RemoveSymbolByIndex  6 int
#comfunc global IDebugSymbolGroup_GetSymbolName        7 int,var,int,var
#comfunc global IDebugSymbolGroup_GetSymbolParameters  8 int,int,var
#comfunc global IDebugSymbolGroup_ExpandSymbol         9 int,int
#comfunc global IDebugSymbolGroup_OutputSymbols        10 int,int,int,int
#comfunc global IDebugSymbolGroup_WriteSymbol          11 int,str
#comfunc global IDebugSymbolGroup_OutputAsType         12 int,str
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。