ホーム › System.Diagnostics.Debug.ActiveScript › IActiveScriptProfilerCallback
IActiveScriptProfilerCallback
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| dwContext | DWORD | in | プロファイリング開始時に指定されたコンテキスト値を受け取る。 |
| hrReason | HRESULT | in | プロファイリングが終了する理由を示す HRESULT を指定する。 |
vtbl 5 HRESULT ScriptCompiled(INT scriptId, PROFILER_SCRIPT_TYPE type, IUnknown* pIDebugDocumentContext)
| scriptId | INT | in | コンパイルされたスクリプトを一意に識別する ID を指定する。 |
| type | PROFILER_SCRIPT_TYPE | in | スクリプトの種類を示す PROFILER_SCRIPT_TYPE を指定する。 |
| pIDebugDocumentContext | IUnknown* | in | スクリプトの位置を示すデバッグドキュメントコンテキストへの IUnknown ポインタである。利用できない場合は NULL となることがある。 |
vtbl 6 HRESULT FunctionCompiled(INT functionId, INT scriptId, LPWSTR pwszFunctionName, LPWSTR pwszFunctionNameHint, IUnknown* pIDebugDocumentContext)
| functionId | INT | in | コンパイルされた関数を一意に識別する ID を指定する。 |
| scriptId | INT | in | 関数が属するスクリプトの ID を指定する。 |
| pwszFunctionName | LPWSTR | in | 関数の名前を指定する。匿名関数では NULL となることがある。 |
| pwszFunctionNameHint | LPWSTR | in | 匿名関数などに対して推測された名前のヒントを指定する。 |
| pIDebugDocumentContext | IUnknown* | in | 関数の位置を示すデバッグドキュメントコンテキストへの IUnknown ポインタである。利用できない場合は NULL となることがある。 |
| scriptId | INT | in | 実行に入った関数が属するスクリプトの ID を指定する。 |
| functionId | INT | in | 実行に入った関数を識別する ID を指定する。 |
| scriptId | INT | in | 実行を終えた関数が属するスクリプトの ID を指定する。 |
| functionId | INT | in | 実行を終えた関数を識別する ID を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IActiveScriptProfilerCallback "{740ECA23-7D9D-42E5-BA9D-F8B24B1C7A9B}"
#usecom global IActiveScriptProfilerCallback IID_IActiveScriptProfilerCallback "{}"
#comfunc global IActiveScriptProfilerCallback_Initialize 3 int
#comfunc global IActiveScriptProfilerCallback_Shutdown 4 int
#comfunc global IActiveScriptProfilerCallback_ScriptCompiled 5 int,int,sptr
#comfunc global IActiveScriptProfilerCallback_FunctionCompiled 6 int,int,wstr,wstr,sptr
#comfunc global IActiveScriptProfilerCallback_OnFunctionEnter 7 int,int
#comfunc global IActiveScriptProfilerCallback_OnFunctionExit 8 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。