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

IDebugHostSymbol

COM
IID0f819103-87de-4e96-8277-e05cd441fb22継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT GetContext(IDebugHostContext** context)
contextIDebugHostContext**outシンボルが属するデバッグホストコンテキストを受け取る IDebugHostContext ポインタへのポインタである。[out] 引数である。
vtbl 4 HRESULT EnumerateChildren(SymbolKind kind, LPWSTR name, IDebugHostSymbolEnumerator** ppEnum)
kindSymbolKindin列挙対象とする子シンボルの種類を示す SymbolKind を指定する。
nameLPWSTRinoptional列挙を特定の名前に絞り込むための UTF-16 文字列(LPWSTR)を指定する。すべての子を対象とする場合は NULL を指定できる。
ppEnumIDebugHostSymbolEnumerator**out子シンボルを列挙する IDebugHostSymbolEnumerator を受け取るポインタへのポインタである。[out] 引数である。
vtbl 5 HRESULT GetSymbolKind(SymbolKind* kind)
kindSymbolKind*outこのシンボルの種類を受け取る SymbolKind へのポインタである。[out] 引数である。
vtbl 6 HRESULT GetName(LPWSTR* symbolName)
symbolNameLPWSTR*outシンボルの名前を表す UTF-16 文字列を受け取るポインタへのポインタである。[out] 引数であり、文字列は呼び出し側が解放する。
vtbl 7 HRESULT GetType(IDebugHostType** type)
typeIDebugHostType**outシンボルの型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。
vtbl 8 HRESULT GetContainingModule(IDebugHostModule** containingModule)
containingModuleIDebugHostModule**outこのシンボルを含むモジュールを受け取る IDebugHostModule ポインタへのポインタである。[out] 引数である。
vtbl 9 HRESULT CompareAgainst(IDebugHostSymbol* pComparisonSymbol, DWORD comparisonFlags, BOOLEAN* pMatches)
pComparisonSymbolIDebugHostSymbol*in比較対象となるシンボルを指す IDebugHostSymbol へのポインタである。
comparisonFlagsDWORDin比較の挙動を制御するフラグを指定する。
pMatchesBOOLEAN*out2 つのシンボルが一致するかどうかの真偽値を受け取る BOOLEAN へのポインタである。[out] 引数である。

HSP用 COM定義

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

出力引数:
#define global IID_IDebugHostSymbol "{0F819103-87DE-4E96-8277-E05CD441FB22}"
#usecom global IDebugHostSymbol IID_IDebugHostSymbol "{}"
#comfunc global IDebugHostSymbol_GetContext           3 sptr
#comfunc global IDebugHostSymbol_EnumerateChildren    4 int,wstr,sptr
#comfunc global IDebugHostSymbol_GetSymbolKind        5 var
#comfunc global IDebugHostSymbol_GetName              6 var
#comfunc global IDebugHostSymbol_GetType              7 sptr
#comfunc global IDebugHostSymbol_GetContainingModule  8 sptr
#comfunc global IDebugHostSymbol_CompareAgainst       9 sptr,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。