ホーム › System.Diagnostics.Debug.Extensions › IDebugHostContextTargetComposition
IDebugHostContextTargetComposition
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetServiceManager(IDebugServiceManager** ppServiceManager)
| ppServiceManager | IDebugServiceManager** | out | このデバッグホストコンテキストに関連付けられたターゲットコンポジションのサービスマネージャ IDebugServiceManager を受け取る。 |
vtbl 4 HRESULT GetServiceProcess(ISvcProcess** ppProcess)
| ppProcess | ISvcProcess** | out | コンテキストに対応するターゲットコンポジションのプロセスを表す ISvcProcess を受け取る。 |
vtbl 5 HRESULT GetServiceThread(ISvcThread** ppThread)
| ppThread | ISvcThread** | out | コンテキストに対応するターゲットコンポジションのスレッドを表す ISvcThread を受け取る。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugHostContextTargetComposition "{3D06878F-97AB-4C5B-955E-FA647D3B137C}" #usecom global IDebugHostContextTargetComposition IID_IDebugHostContextTargetComposition "{}" #comfunc global IDebugHostContextTargetComposition_GetServiceManager 3 var #comfunc global IDebugHostContextTargetComposition_GetServiceProcess 4 var #comfunc global IDebugHostContextTargetComposition_GetServiceThread 5 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IDebugHostContextTargetComposition "{3D06878F-97AB-4C5B-955E-FA647D3B137C}" #usecom global IDebugHostContextTargetComposition IID_IDebugHostContextTargetComposition "{}" #comfunc global IDebugHostContextTargetComposition_GetServiceManager 3 sptr #comfunc global IDebugHostContextTargetComposition_GetServiceProcess 4 sptr #comfunc global IDebugHostContextTargetComposition_GetServiceThread 5 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。