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

IDataModelScriptDebug

COM
IIDde8e0945-9750-4471-ab76-a8f79d6ec350継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 ScriptDebugState GetDebugState()
vtbl 4 HRESULT GetCurrentPosition(ScriptDebugPosition* currentPosition, ScriptDebugPosition* positionSpanEnd, LPWSTR* lineText)
currentPositionScriptDebugPosition*out現在のデバッグ実行位置(開始)を表す ScriptDebugPosition を受け取る出力ポインタである。
positionSpanEndScriptDebugPosition*outoptional位置範囲の終端を表す ScriptDebugPosition を受け取る出力ポインタである。不要なら NULL を指定できる。
lineTextLPWSTR*outoptional現在位置の行のソーステキストを受け取る出力ポインタである。不要なら NULL を指定できる。
vtbl 5 HRESULT GetStack(IDataModelScriptDebugStack** stack)
stackIDataModelScriptDebugStack**out現在の呼び出しスタックを表す IDataModelScriptDebugStack を受け取る出力ポインタである。
vtbl 6 HRESULT SetBreakpoint(DWORD linePosition, DWORD columnPosition, IDataModelScriptDebugBreakpoint** breakpoint)
linePositionDWORDinブレークポイントを設定する行番号を指定する。
columnPositionDWORDinブレークポイントを設定する行内の桁位置を指定する。
breakpointIDataModelScriptDebugBreakpoint**out作成されたブレークポイントを表す IDataModelScriptDebugBreakpoint を受け取る出力ポインタである。
vtbl 7 HRESULT FindBreakpointById(ULONGLONG breakpointId, IDataModelScriptDebugBreakpoint** breakpoint)
breakpointIdULONGLONGin検索するブレークポイントの識別子を指定する。
breakpointIDataModelScriptDebugBreakpoint**out見つかったブレークポイントを表す IDataModelScriptDebugBreakpoint を受け取る出力ポインタである。
vtbl 8 HRESULT EnumerateBreakpoints(IDataModelScriptDebugBreakpointEnumerator** breakpointEnum)
breakpointEnumIDataModelScriptDebugBreakpointEnumerator**out現在設定されているブレークポイント群を列挙する列挙子を受け取る出力ポインタである。
vtbl 9 HRESULT GetEventFilter(ScriptDebugEventFilter eventFilter, BOOLEAN* isBreakEnabled)
eventFilterScriptDebugEventFilterin状態を問い合わせるイベントフィルタの種別を表す ScriptDebugEventFilter 値を指定する。
isBreakEnabledBOOLEAN*out指定したイベントフィルタで中断が有効か否かを受け取る出力ブール値ポインタである。
vtbl 10 HRESULT SetEventFilter(ScriptDebugEventFilter eventFilter, BYTE isBreakEnabled)
eventFilterScriptDebugEventFilterin設定対象とするイベントフィルタの種別を表す ScriptDebugEventFilter 値を指定する。
isBreakEnabledBYTEin指定したイベントフィルタで中断を有効にするか否かを示すブール値を指定する。0 以外で有効である。
vtbl 11 HRESULT StartDebugging(IDataModelScriptDebugClient* debugClient)
debugClientIDataModelScriptDebugClient*inデバッグセッション中の通知を受け取るスクリプトデバッグクライアントへのポインタである。
vtbl 12 HRESULT StopDebugging(IDataModelScriptDebugClient* debugClient)
debugClientIDataModelScriptDebugClient*in停止するデバッグセッションに対応するスクリプトデバッグクライアントへのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IDataModelScriptDebug "{DE8E0945-9750-4471-AB76-A8F79D6EC350}"
#usecom global IDataModelScriptDebug IID_IDataModelScriptDebug "{}"
#comfunc global IDataModelScriptDebug_GetDebugState         3
#comfunc global IDataModelScriptDebug_GetCurrentPosition    4 var,var,var
#comfunc global IDataModelScriptDebug_GetStack              5 sptr
#comfunc global IDataModelScriptDebug_SetBreakpoint         6 int,int,sptr
#comfunc global IDataModelScriptDebug_FindBreakpointById    7 int64,sptr
#comfunc global IDataModelScriptDebug_EnumerateBreakpoints  8 sptr
#comfunc global IDataModelScriptDebug_GetEventFilter        9 int,var
#comfunc global IDataModelScriptDebug_SetEventFilter        10 int,int
#comfunc global IDataModelScriptDebug_StartDebugging        11 sptr
#comfunc global IDataModelScriptDebug_StopDebugging         12 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。