ホーム › Web.MsHtml › IMarkupContainer2
IMarkupContainer2
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 4 HRESULT CreateChangeLog(IHTMLChangeSink* pChangeSink, IHTMLChangeLog** ppChangeLog, BOOL fForward, BOOL fBackward)
| pChangeSink | IHTMLChangeSink* | in | 変更通知を受け取るシンクを指定する IHTMLChangeSink へのポインタである。 |
| ppChangeLog | IHTMLChangeLog** | out | 作成された変更ログを受け取る IHTMLChangeLog へのポインタである。不要になったら Release する。 |
| fForward | BOOL | in | 順方向の変更を記録するかどうかを指定する BOOL である。 |
| fBackward | BOOL | in | 逆方向の変更を記録するかどうかを指定する BOOL である。 |
vtbl 5 HRESULT RegisterForDirtyRange(IHTMLChangeSink* pChangeSink, DWORD* pdwCookie)
| pChangeSink | IHTMLChangeSink* | in | ダーティ範囲の通知を受け取るシンクを指定する IHTMLChangeSink へのポインタである。 |
| pdwCookie | DWORD* | out | 登録を識別するクッキー(解除時に使用)を受け取る DWORD へのポインタである。 |
| dwCookie | DWORD | in | 登録時に取得したクッキーを指定して、ダーティ範囲通知の登録を解除する DWORD である。 |
vtbl 7 HRESULT GetAndClearDirtyRange(DWORD dwCookie, IMarkupPointer* pIPointerBegin, IMarkupPointer* pIPointerEnd)
| dwCookie | DWORD | in | 対象の登録を識別するクッキーを指定する DWORD である。 |
| pIPointerBegin | IMarkupPointer* | in | ダーティ範囲の開始位置を受け取る IMarkupPointer へのポインタである。 |
| pIPointerEnd | IMarkupPointer* | in | ダーティ範囲の終了位置を受け取る IMarkupPointer へのポインタである。 |
vtbl 8 INT GetVersionNumber()
vtbl 9 HRESULT GetMasterElement(IHTMLElement** ppElementMaster)
| ppElementMaster | IHTMLElement** | out | このコンテナのマスター要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMarkupContainer2 "{3050F648-98B5-11CF-BB82-00AA00BDCE0B}" #usecom global IMarkupContainer2 IID_IMarkupContainer2 "{}" #comfunc global IMarkupContainer2_CreateChangeLog 4 sptr,sptr,int,int #comfunc global IMarkupContainer2_RegisterForDirtyRange 5 sptr,var #comfunc global IMarkupContainer2_UnRegisterForDirtyRange 6 int #comfunc global IMarkupContainer2_GetAndClearDirtyRange 7 int,sptr,sptr #comfunc global IMarkupContainer2_GetVersionNumber 8 #comfunc global IMarkupContainer2_GetMasterElement 9 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMarkupContainer2 "{3050F648-98B5-11CF-BB82-00AA00BDCE0B}" #usecom global IMarkupContainer2 IID_IMarkupContainer2 "{}" #comfunc global IMarkupContainer2_CreateChangeLog 4 sptr,sptr,int,int #comfunc global IMarkupContainer2_RegisterForDirtyRange 5 sptr,sptr #comfunc global IMarkupContainer2_UnRegisterForDirtyRange 6 int #comfunc global IMarkupContainer2_GetAndClearDirtyRange 7 int,sptr,sptr #comfunc global IMarkupContainer2_GetVersionNumber 8 #comfunc global IMarkupContainer2_GetMasterElement 9 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。