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

IRemoteDebugApplicationThread

COM
IID51973c37-cb0c-11d0-b5c9-00a0244a0e7a継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

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

vtbl 3 HRESULT GetSystemThreadId(DWORD* dwThreadId)
dwThreadIdDWORD*outこのスレッドに対応するシステムスレッド ID を受け取る DWORD へのポインタである。
vtbl 4 HRESULT GetApplication(IRemoteDebugApplication** pprda)
pprdaIRemoteDebugApplication**outこのスレッドが属するリモートデバッグアプリケーションを表す IRemoteDebugApplication インターフェイスを受け取るポインタである。
vtbl 5 HRESULT EnumStackFrames(IEnumDebugStackFrames** ppedsf)
ppedsfIEnumDebugStackFrames**outこのスレッドのスタックフレームを列挙する IEnumDebugStackFrames 列挙子を受け取るポインタである。
vtbl 6 HRESULT GetDescription(LPWSTR* pbstrDescription, LPWSTR* pbstrState)
pbstrDescriptionLPWSTR*outスレッドの説明文字列を受け取る LPWSTR(BSTR)へのポインタである。
pbstrStateLPWSTR*outスレッドの状態を表す文字列を受け取る LPWSTR(BSTR)へのポインタである。
vtbl 7 HRESULT SetNextStatement(IDebugStackFrame* pStackFrame, IDebugCodeContext* pCodeContext)
pStackFrameIDebugStackFrame*in次に実行する文を設定する対象のスタックフレームを表す IDebugStackFrame へのポインタである。
pCodeContextIDebugCodeContext*in次に実行する文の位置を示すコードコンテキストを表す IDebugCodeContext へのポインタである。
vtbl 8 HRESULT GetState(DWORD* pState)
pStateDWORD*outスレッドの現在の状態を表すフラグを受け取る DWORD へのポインタである。
vtbl 9 HRESULT Suspend(DWORD* pdwCount)
pdwCountDWORD*outスレッドを一時停止した後の中断カウントを受け取る DWORD へのポインタである。
vtbl 10 HRESULT Resume(DWORD* pdwCount)
pdwCountDWORD*outスレッドを再開した後の中断カウントを受け取る DWORD へのポインタである。
vtbl 11 HRESULT GetSuspendCount(DWORD* pdwCount)
pdwCountDWORD*outスレッドの現在の中断カウントを受け取る DWORD へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IRemoteDebugApplicationThread "{51973C37-CB0C-11D0-B5C9-00A0244A0E7A}"
#usecom global IRemoteDebugApplicationThread IID_IRemoteDebugApplicationThread "{}"
#comfunc global IRemoteDebugApplicationThread_GetSystemThreadId  3 var
#comfunc global IRemoteDebugApplicationThread_GetApplication     4 sptr
#comfunc global IRemoteDebugApplicationThread_EnumStackFrames    5 sptr
#comfunc global IRemoteDebugApplicationThread_GetDescription     6 var,var
#comfunc global IRemoteDebugApplicationThread_SetNextStatement   7 sptr,sptr
#comfunc global IRemoteDebugApplicationThread_GetState           8 var
#comfunc global IRemoteDebugApplicationThread_Suspend            9 var
#comfunc global IRemoteDebugApplicationThread_Resume             10 var
#comfunc global IRemoteDebugApplicationThread_GetSuspendCount    11 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。