ホーム › Web.MsHtml › IDebugCallbackNotificationHandler
IDebugCallbackNotificationHandler
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pCallbackMask | DWORD* | out | 通知を希望するコールバック種別を示すビットマスクを受け取る DWORD へのポインタである。 |
| pEvent | IUnknown* | in | ディスパッチされようとしているイベントを表す IUnknown へのポインタである。 |
| pEvent | IUnknown* | in | ディスパッチが完了したイベントを表す IUnknown へのポインタである。 |
| propagationStatus | DWORD | in | イベント伝播の状態を示す値を指定する。 |
vtbl 6 HRESULT BeforeInvokeDomCallback(IUnknown* pEvent, IScriptEventHandler* pCallback, DOM_EVENT_PHASE eStage, DWORD propagationStatus)
| pEvent | IUnknown* | in | 対象となる DOM イベントを表す IUnknown へのポインタである。 |
| pCallback | IScriptEventHandler* | in | 呼び出されようとしている DOM イベントハンドラを表す IScriptEventHandler へのポインタである。 |
| eStage | DOM_EVENT_PHASE | in | イベント伝播の段階(キャプチャ、ターゲット、バブリング)を示す DOM_EVENT_PHASE を指定する。 |
| propagationStatus | DWORD | in | イベント伝播の現在の状態を示す値を指定する。 |
vtbl 7 HRESULT InvokeDomCallbackComplete(IUnknown* pEvent, IScriptEventHandler* pCallback, DOM_EVENT_PHASE eStage, DWORD propagationStatus)
| pEvent | IUnknown* | in | 対象となった DOM イベントを表す IUnknown へのポインタである。 |
| pCallback | IScriptEventHandler* | in | 呼び出しが完了した DOM イベントハンドラを表す IScriptEventHandler へのポインタである。 |
| eStage | DOM_EVENT_PHASE | in | イベント伝播の段階を示す DOM_EVENT_PHASE を指定する。 |
| propagationStatus | DWORD | in | イベント伝播の現在の状態を示す値を指定する。 |
vtbl 8 HRESULT BeforeInvokeCallback(SCRIPT_TIMER_TYPE eCallbackType, DWORD callbackCookie, IDispatch* pDispHandler, ULONGLONG ullHandlerCookie, LPWSTR functionName, DWORD line, DWORD column, DWORD cchLength, IUnknown* pDebugDocumentContext)
| eCallbackType | SCRIPT_TIMER_TYPE | in | コールバックの種別(タイマーなど)を示す SCRIPT_TIMER_TYPE を指定する。 |
| callbackCookie | DWORD | in | コールバックを識別するクッキー値を指定する。 |
| pDispHandler | IDispatch* | in | 呼び出されようとしているハンドラを表す IDispatch へのポインタである。 |
| ullHandlerCookie | ULONGLONG | in | ハンドラを識別する一意のクッキー値を指定する。 |
| functionName | LPWSTR | inoptional | 呼び出される関数の名前を示す文字列を指定する。 |
| line | DWORD | in | ハンドラのソース内の行番号を指定する。 |
| column | DWORD | in | ハンドラのソース内の列番号を指定する。 |
| cchLength | DWORD | in | ハンドラのソース範囲の文字数を指定する。 |
| pDebugDocumentContext | IUnknown* | inoptional | ハンドラに対応するデバッグドキュメントコンテキストを表す IUnknown へのポインタである。 |
vtbl 9 HRESULT InvokeCallbackComplete(SCRIPT_TIMER_TYPE eCallbackType, DWORD callbackCookie, IDispatch* pDispHandler, ULONGLONG ullHandlerCookie, LPWSTR functionName, DWORD line, DWORD column, DWORD cchLength, IUnknown* pDebugDocumentContext)
| eCallbackType | SCRIPT_TIMER_TYPE | in | コールバックの種別を示す SCRIPT_TIMER_TYPE を指定する。 |
| callbackCookie | DWORD | in | コールバックを識別するクッキー値を指定する。 |
| pDispHandler | IDispatch* | in | 呼び出しが完了したハンドラを表す IDispatch へのポインタである。 |
| ullHandlerCookie | ULONGLONG | in | ハンドラを識別する一意のクッキー値を指定する。 |
| functionName | LPWSTR | inoptional | 呼び出された関数の名前を示す文字列を指定する。 |
| line | DWORD | in | ハンドラのソース内の行番号を指定する。 |
| column | DWORD | in | ハンドラのソース内の列番号を指定する。 |
| cchLength | DWORD | in | ハンドラのソース範囲の文字数を指定する。 |
| pDebugDocumentContext | IUnknown* | inoptional | ハンドラに対応するデバッグドキュメントコンテキストを表す IUnknown へのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugCallbackNotificationHandler "{30510842-98B5-11CF-BB82-00AA00BDCE0B}" #usecom global IDebugCallbackNotificationHandler IID_IDebugCallbackNotificationHandler "{}" #comfunc global IDebugCallbackNotificationHandler_RequestedCallbackTypes 3 var #comfunc global IDebugCallbackNotificationHandler_BeforeDispatchEvent 4 sptr #comfunc global IDebugCallbackNotificationHandler_DispatchEventComplete 5 sptr,int #comfunc global IDebugCallbackNotificationHandler_BeforeInvokeDomCallback 6 sptr,sptr,int,int #comfunc global IDebugCallbackNotificationHandler_InvokeDomCallbackComplete 7 sptr,sptr,int,int #comfunc global IDebugCallbackNotificationHandler_BeforeInvokeCallback 8 int,int,sptr,int64,wstr,int,int,int,sptr #comfunc global IDebugCallbackNotificationHandler_InvokeCallbackComplete 9 int,int,sptr,int64,wstr,int,int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDebugCallbackNotificationHandler "{30510842-98B5-11CF-BB82-00AA00BDCE0B}" #usecom global IDebugCallbackNotificationHandler IID_IDebugCallbackNotificationHandler "{}" #comfunc global IDebugCallbackNotificationHandler_RequestedCallbackTypes 3 sptr #comfunc global IDebugCallbackNotificationHandler_BeforeDispatchEvent 4 sptr #comfunc global IDebugCallbackNotificationHandler_DispatchEventComplete 5 sptr,int #comfunc global IDebugCallbackNotificationHandler_BeforeInvokeDomCallback 6 sptr,sptr,int,int #comfunc global IDebugCallbackNotificationHandler_InvokeDomCallbackComplete 7 sptr,sptr,int,int #comfunc global IDebugCallbackNotificationHandler_BeforeInvokeCallback 8 int,int,sptr,int64,wstr,int,int,int,sptr #comfunc global IDebugCallbackNotificationHandler_InvokeCallbackComplete 9 int,int,sptr,int64,wstr,int,int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。