ホーム › System.Diagnostics.Debug.ActiveScript › IDebugApplication32
IDebugApplication32
COMメソッド 20
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pstrName | LPWSTR | in | このアプリケーションに設定する名前文字列である。 |
vtbl 15 HRESULT StepOutComplete()
| pstr | LPWSTR | in | デバッガに出力する文字列である。 |
vtbl 17 HRESULT StartDebugSession()
vtbl 18 HRESULT HandleBreakPoint(BREAKREASON br, BREAKRESUMEACTION* pbra)
| br | BREAKREASON | in | ブレークの理由を示す BREAKREASON 列挙値である。 |
| pbra | BREAKRESUMEACTION* | out | デバッガが決定した再開アクションを示す BREAKRESUMEACTION を受け取るポインタである。 |
vtbl 19 HRESULT Close()
vtbl 20 HRESULT GetBreakFlags(DWORD* pabf, IRemoteDebugApplicationThread** pprdatSteppingThread)
| pabf | DWORD* | out | 現在のブレークフラグ(APPBREAKFLAGS)を受け取る DWORD へのポインタである。 |
| pprdatSteppingThread | IRemoteDebugApplicationThread** | out | ステップ実行中のスレッド IRemoteDebugApplicationThread を受け取る出力ポインタである。 |
vtbl 21 HRESULT GetCurrentThread(IDebugApplicationThread** pat)
| pat | IDebugApplicationThread** | out | 呼び出し元の現在のスレッドに対応する IDebugApplicationThread を受け取る出力ポインタである。 |
vtbl 22 HRESULT CreateAsyncDebugOperation(IDebugSyncOperation* psdo, IDebugAsyncOperation** ppado)
| psdo | IDebugSyncOperation* | in | ラップ対象の同期デバッグ操作 IDebugSyncOperation へのポインタである。 |
| ppado | IDebugAsyncOperation** | out | 生成された非同期デバッグ操作 IDebugAsyncOperation を受け取る出力ポインタである。 |
vtbl 23 HRESULT AddStackFrameSniffer(IDebugStackFrameSniffer* pdsfs, DWORD* pdwCookie)
| pdsfs | IDebugStackFrameSniffer* | in | 登録するスタックフレーム列挙子 IDebugStackFrameSniffer へのポインタである。 |
| pdwCookie | DWORD* | out | 登録を識別するクッキー値を受け取るポインタである。後で RemoveStackFrameSniffer に渡す。 |
| dwCookie | DWORD | in | AddStackFrameSniffer で取得した、登録解除する対象のクッキー値である。 |
vtbl 25 HRESULT QueryCurrentThreadIsDebuggerThread()
vtbl 26 HRESULT SynchronousCallInDebuggerThread(IDebugThreadCall32* pptc, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3)
| pptc | IDebugThreadCall32* | in | デバッガスレッド上で呼び出すコールバック IDebugThreadCall32 へのポインタである。 |
| dwParam1 | DWORD | in | コールバックに渡す第 1 パラメータ(32 ビット)である。 |
| dwParam2 | DWORD | in | コールバックに渡す第 2 パラメータ(32 ビット)である。 |
| dwParam3 | DWORD | in | コールバックに渡す第 3 パラメータ(32 ビット)である。 |
vtbl 27 HRESULT CreateApplicationNode(IDebugApplicationNode** ppdanNew)
| ppdanNew | IDebugApplicationNode** | out | 新規に作成された IDebugApplicationNode を受け取る出力ポインタである。 |
| riid | GUID* | in | 発生させるデバッガイベントの種類を識別する GUID へのポインタである。 |
| punk | IUnknown* | in | イベントに関連するオブジェクト IUnknown へのポインタである。 |
vtbl 29 HRESULT HandleRuntimeError(IActiveScriptErrorDebug* pErrorDebug, IActiveScriptSite* pScriptSite, BREAKRESUMEACTION* pbra, ERRORRESUMEACTION* perra, BOOL* pfCallOnScriptError)
| pErrorDebug | IActiveScriptErrorDebug* | in | 発生したランタイムエラー情報を保持する IActiveScriptErrorDebug へのポインタである。 |
| pScriptSite | IActiveScriptSite* | in | エラーを発生させたスクリプトのサイト IActiveScriptSite へのポインタである。 |
| pbra | BREAKRESUMEACTION* | out | 決定されたブレーク再開アクション BREAKRESUMEACTION を受け取るポインタである。 |
| perra | ERRORRESUMEACTION* | out | 決定されたエラー再開アクション ERRORRESUMEACTION を受け取るポインタである。 |
| pfCallOnScriptError | BOOL* | out | IActiveScriptSite::OnScriptError を呼び出すかどうかを受け取る BOOL へのポインタである。 |
vtbl 30 BOOL FCanJitDebug()
vtbl 31 BOOL FIsAutoJitDebugEnabled()
vtbl 32 HRESULT AddGlobalExpressionContextProvider(IProvideExpressionContexts* pdsfs, DWORD* pdwCookie)
| pdsfs | IProvideExpressionContexts* | in | 登録するグローバル式コンテキストプロバイダ IProvideExpressionContexts へのポインタである。 |
| pdwCookie | DWORD* | out | 登録を識別するクッキー値を受け取るポインタである。後で RemoveGlobalExpressionContextProvider に渡す。 |
| dwCookie | DWORD | in | AddGlobalExpressionContextProvider で取得した、登録解除する対象のクッキー値である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugApplication32 "{51973C32-CB0C-11D0-B5C9-00A0244A0E7A}" #usecom global IDebugApplication32 IID_IDebugApplication32 "{}" #comfunc global IDebugApplication32_SetName 14 wstr #comfunc global IDebugApplication32_StepOutComplete 15 #comfunc global IDebugApplication32_DebugOutput 16 wstr #comfunc global IDebugApplication32_StartDebugSession 17 #comfunc global IDebugApplication32_HandleBreakPoint 18 int,var #comfunc global IDebugApplication32_Close 19 #comfunc global IDebugApplication32_GetBreakFlags 20 var,sptr #comfunc global IDebugApplication32_GetCurrentThread 21 sptr #comfunc global IDebugApplication32_CreateAsyncDebugOperation 22 sptr,sptr #comfunc global IDebugApplication32_AddStackFrameSniffer 23 sptr,var #comfunc global IDebugApplication32_RemoveStackFrameSniffer 24 int #comfunc global IDebugApplication32_QueryCurrentThreadIsDebuggerThread 25 #comfunc global IDebugApplication32_SynchronousCallInDebuggerThread 26 sptr,int,int,int #comfunc global IDebugApplication32_CreateApplicationNode 27 sptr #comfunc global IDebugApplication32_FireDebuggerEvent 28 var,sptr #comfunc global IDebugApplication32_HandleRuntimeError 29 sptr,sptr,var,var,var #comfunc global IDebugApplication32_FCanJitDebug 30 #comfunc global IDebugApplication32_FIsAutoJitDebugEnabled 31 #comfunc global IDebugApplication32_AddGlobalExpressionContextProvider 32 sptr,var #comfunc global IDebugApplication32_RemoveGlobalExpressionContextProvider 33 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDebugApplication32 "{51973C32-CB0C-11D0-B5C9-00A0244A0E7A}" #usecom global IDebugApplication32 IID_IDebugApplication32 "{}" #comfunc global IDebugApplication32_SetName 14 wstr #comfunc global IDebugApplication32_StepOutComplete 15 #comfunc global IDebugApplication32_DebugOutput 16 wstr #comfunc global IDebugApplication32_StartDebugSession 17 #comfunc global IDebugApplication32_HandleBreakPoint 18 int,sptr #comfunc global IDebugApplication32_Close 19 #comfunc global IDebugApplication32_GetBreakFlags 20 sptr,sptr #comfunc global IDebugApplication32_GetCurrentThread 21 sptr #comfunc global IDebugApplication32_CreateAsyncDebugOperation 22 sptr,sptr #comfunc global IDebugApplication32_AddStackFrameSniffer 23 sptr,sptr #comfunc global IDebugApplication32_RemoveStackFrameSniffer 24 int #comfunc global IDebugApplication32_QueryCurrentThreadIsDebuggerThread 25 #comfunc global IDebugApplication32_SynchronousCallInDebuggerThread 26 sptr,int,int,int #comfunc global IDebugApplication32_CreateApplicationNode 27 sptr #comfunc global IDebugApplication32_FireDebuggerEvent 28 sptr,sptr #comfunc global IDebugApplication32_HandleRuntimeError 29 sptr,sptr,sptr,sptr,sptr #comfunc global IDebugApplication32_FCanJitDebug 30 #comfunc global IDebugApplication32_FIsAutoJitDebugEnabled 31 #comfunc global IDebugApplication32_AddGlobalExpressionContextProvider 32 sptr,sptr #comfunc global IDebugApplication32_RemoveGlobalExpressionContextProvider 33 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。