ホーム › System.Diagnostics.Debug.Extensions › IDebugHostFunctionLocalStorage
IDebugHostFunctionLocalStorage
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| start | ULONGLONG* | out | このローカル変数の格納場所が有効となる命令範囲の開始アドレス(オフセット)を受け取る。 |
| end | ULONGLONG* | out | このローカル変数の格納場所が有効となる命令範囲の終了アドレス(オフセット)を受け取る。 |
| guaranteed | BOOLEAN* | out | 指定範囲内で格納場所が保証されているかどうかを示すブール値を受け取る。 |
vtbl 4 HRESULT GetStorageKind(StorageKind* kind)
| kind | StorageKind* | out | ローカル変数の格納方式(レジスタ、メモリオフセット等)を示す StorageKind 列挙値を受け取る。 |
| registerId | DWORD* | out | ローカル変数が格納されているレジスタの識別子を受け取る。格納方式がレジスタ系の場合に有効である。 |
| offset | LONGLONG* | out | ローカル変数の格納場所を示す符号付きオフセット値を受け取る。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugHostFunctionLocalStorage "{2F2F303B-39BE-4B6D-9BFB-4FAA49DBBD45}" #usecom global IDebugHostFunctionLocalStorage IID_IDebugHostFunctionLocalStorage "{}" #comfunc global IDebugHostFunctionLocalStorage_GetValidRange 3 var,var,var #comfunc global IDebugHostFunctionLocalStorage_GetStorageKind 4 var #comfunc global IDebugHostFunctionLocalStorage_GetRegister 5 var #comfunc global IDebugHostFunctionLocalStorage_GetOffset 6 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IDebugHostFunctionLocalStorage "{2F2F303B-39BE-4B6D-9BFB-4FAA49DBBD45}" #usecom global IDebugHostFunctionLocalStorage IID_IDebugHostFunctionLocalStorage "{}" #comfunc global IDebugHostFunctionLocalStorage_GetValidRange 3 sptr,sptr,sptr #comfunc global IDebugHostFunctionLocalStorage_GetStorageKind 4 sptr #comfunc global IDebugHostFunctionLocalStorage_GetRegister 5 sptr #comfunc global IDebugHostFunctionLocalStorage_GetOffset 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。