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

IDebugHostModule

COM
IIDc9ba3e18-d070-4378-bbd0-34613b346e1e継承元IDebugHostSymbol自前メソッド開始 vtbl10

メソッド 6

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

vtbl 10 HRESULT GetImageName(BYTE allowPath, LPWSTR* imageName)
allowPathBYTEinイメージ名にフルパスを含めるか(0 以外)、ファイル名のみとするか(0)を指定するブール値である。
imageNameLPWSTR*outモジュールのイメージ名を表す UTF-16 文字列を受け取るポインタへのポインタである。[out] 引数であり、文字列は呼び出し側が解放する。
vtbl 11 HRESULT GetBaseLocation(Location* moduleBaseLocation)
moduleBaseLocationLocation*outモジュールのベースアドレス(ロード位置)を受け取る Location へのポインタである。[out] 引数である。
vtbl 12 HRESULT GetVersion(ULONGLONG* fileVersion, ULONGLONG* productVersion)
fileVersionULONGLONG*outoptionalモジュールのファイルバージョンを受け取る ULONGLONG へのポインタである。[out] 引数であり、不要な場合は NULL を指定できる。
productVersionULONGLONG*outoptionalモジュールの製品バージョンを受け取る ULONGLONG へのポインタである。[out] 引数であり、不要な場合は NULL を指定できる。
vtbl 13 HRESULT FindTypeByName(LPWSTR typeName, IDebugHostType** type)
typeNameLPWSTRin検索する型の名前を表す UTF-16 文字列(LPWSTR)を指定する。
typeIDebugHostType**out見つかった型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。
vtbl 14 HRESULT FindSymbolByRVA(ULONGLONG rva, IDebugHostSymbol** symbol)
rvaULONGLONGinモジュールのベースからの相対仮想アドレス(RVA)を指定する。
symbolIDebugHostSymbol**out指定 RVA に位置するシンボルを受け取る IDebugHostSymbol ポインタへのポインタである。[out] 引数である。
vtbl 15 HRESULT FindSymbolByName(LPWSTR symbolName, IDebugHostSymbol** symbol)
symbolNameLPWSTRin検索するシンボルの名前を表す UTF-16 文字列(LPWSTR)を指定する。
symbolIDebugHostSymbol**out見つかったシンボルを受け取る IDebugHostSymbol ポインタへのポインタである。[out] 引数である。

HSP用 COM定義

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

出力引数:
#define global IID_IDebugHostModule "{C9BA3E18-D070-4378-BBD0-34613B346E1E}"
#usecom global IDebugHostModule IID_IDebugHostModule "{}"
#comfunc global IDebugHostModule_GetImageName      10 int,var
#comfunc global IDebugHostModule_GetBaseLocation   11 var
#comfunc global IDebugHostModule_GetVersion        12 var,var
#comfunc global IDebugHostModule_FindTypeByName    13 wstr,sptr
#comfunc global IDebugHostModule_FindSymbolByRVA   14 int64,sptr
#comfunc global IDebugHostModule_FindSymbolByName  15 wstr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。