Win32 API 日本語リファレンス
ホームWeb.MsHtml › IMarkupServices

IMarkupServices

COM
IID3050f4a0-98b5-11cf-bb82-00aa00bdce0b継承元IUnknown自前メソッド開始 vtbl3

メソッド 20

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

vtbl 3 HRESULT CreateMarkupPointer(IMarkupPointer** ppPointer)
ppPointerIMarkupPointer**out新しく作成したマークアップポインタを受け取る IMarkupPointer へのポインタである。不要になったら Release する。
vtbl 4 HRESULT CreateMarkupContainer(IMarkupContainer** ppMarkupContainer)
ppMarkupContainerIMarkupContainer**out新しく作成したマークアップコンテナを受け取る IMarkupContainer へのポインタである。不要になったら Release する。
vtbl 5 HRESULT CreateElement(ELEMENT_TAG_ID tagID, LPWSTR pchAttributes, IHTMLElement** ppElement)
tagIDELEMENT_TAG_IDin作成する要素のタグ種別を指定する ELEMENT_TAG_ID である。
pchAttributesLPWSTRin作成する要素に設定する属性文字列を指定する。不要な場合は NULL を指定できる。
ppElementIHTMLElement**out作成された HTML 要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。
vtbl 6 HRESULT CloneElement(IHTMLElement* pElemCloneThis, IHTMLElement** ppElementTheClone)
pElemCloneThisIHTMLElement*in複製元の要素を指定する IHTMLElement へのポインタである。
ppElementTheCloneIHTMLElement**out複製された要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。
vtbl 7 HRESULT InsertElement(IHTMLElement* pElementInsert, IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish)
pElementInsertIHTMLElement*in挿入する要素を指定する IHTMLElement へのポインタである。
pPointerStartIMarkupPointer*in挿入範囲の開始位置を示す IMarkupPointer へのポインタである。
pPointerFinishIMarkupPointer*in挿入範囲の終了位置を示す IMarkupPointer へのポインタである。
vtbl 8 HRESULT RemoveElement(IHTMLElement* pElementRemove)
pElementRemoveIHTMLElement*inツリーから取り除く要素を指定する IHTMLElement へのポインタである。子内容はそのまま保持される。
vtbl 9 HRESULT Remove(IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish)
pPointerStartIMarkupPointer*in削除する範囲の開始位置を示す IMarkupPointer へのポインタである。
pPointerFinishIMarkupPointer*in削除する範囲の終了位置を示す IMarkupPointer へのポインタである。
vtbl 10 HRESULT Copy(IMarkupPointer* pPointerSourceStart, IMarkupPointer* pPointerSourceFinish, IMarkupPointer* pPointerTarget)
pPointerSourceStartIMarkupPointer*inコピー元範囲の開始位置を示す IMarkupPointer へのポインタである。
pPointerSourceFinishIMarkupPointer*inコピー元範囲の終了位置を示す IMarkupPointer へのポインタである。
pPointerTargetIMarkupPointer*inコピー先の挿入位置を示す IMarkupPointer へのポインタである。
vtbl 11 HRESULT Move(IMarkupPointer* pPointerSourceStart, IMarkupPointer* pPointerSourceFinish, IMarkupPointer* pPointerTarget)
pPointerSourceStartIMarkupPointer*in移動元範囲の開始位置を示す IMarkupPointer へのポインタである。
pPointerSourceFinishIMarkupPointer*in移動元範囲の終了位置を示す IMarkupPointer へのポインタである。
pPointerTargetIMarkupPointer*in移動先の挿入位置を示す IMarkupPointer へのポインタである。
vtbl 12 HRESULT InsertText(LPWSTR pchText, INT cch, IMarkupPointer* pPointerTarget)
pchTextLPWSTRin挿入するテキスト文字列を指定する。
cchINTin挿入する文字数を指定する INT である。-1 を指定すると文字列全体を挿入する。
pPointerTargetIMarkupPointer*inテキストの挿入位置を示す IMarkupPointer へのポインタである。
vtbl 13 HRESULT ParseString(LPWSTR pchHTML, DWORD dwFlags, IMarkupContainer** ppContainerResult, IMarkupPointer* ppPointerStart, IMarkupPointer* ppPointerFinish)
pchHTMLLPWSTRin解析する HTML 文字列を指定する。
dwFlagsDWORDin解析動作を制御するフラグを指定する DWORD である。
ppContainerResultIMarkupContainer**out解析結果を格納したマークアップコンテナを受け取る IMarkupContainer へのポインタである。不要になったら Release する。
ppPointerStartIMarkupPointer*in解析結果の開始位置を受け取る IMarkupPointer へのポインタである。
ppPointerFinishIMarkupPointer*in解析結果の終了位置を受け取る IMarkupPointer へのポインタである。
vtbl 14 HRESULT ParseGlobal(HGLOBAL hglobalHTML, DWORD dwFlags, IMarkupContainer** ppContainerResult, IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish)
hglobalHTMLHGLOBALin解析対象の HTML を格納したグローバルメモリのハンドルを指定する HGLOBAL である。
dwFlagsDWORDin解析動作を制御するフラグを指定する DWORD である。
ppContainerResultIMarkupContainer**out解析結果を格納したマークアップコンテナを受け取る IMarkupContainer へのポインタである。不要になったら Release する。
pPointerStartIMarkupPointer*in解析結果の開始位置を受け取る IMarkupPointer へのポインタである。
pPointerFinishIMarkupPointer*in解析結果の終了位置を受け取る IMarkupPointer へのポインタである。
vtbl 15 HRESULT IsScopedElement(IHTMLElement* pElement, BOOL* pfScoped)
pElementIHTMLElement*in判定対象の要素を指定する IHTMLElement へのポインタである。
pfScopedBOOL*out指定要素がスコープ要素(開始・終了タグを持つ要素)であるかどうかを受け取る BOOL へのポインタである。
vtbl 16 HRESULT GetElementTagId(IHTMLElement* pElement, ELEMENT_TAG_ID* ptagId)
pElementIHTMLElement*inタグ種別を取得する対象の要素を指定する IHTMLElement へのポインタである。
ptagIdELEMENT_TAG_ID*out指定要素のタグ種別を受け取る ELEMENT_TAG_ID へのポインタである。
vtbl 17 HRESULT GetTagIDForName(LPWSTR bstrName, ELEMENT_TAG_ID* ptagId)
bstrNameLPWSTRinタグ名を表す文字列を指定する。
ptagIdELEMENT_TAG_ID*out指定タグ名に対応するタグ種別を受け取る ELEMENT_TAG_ID へのポインタである。
vtbl 18 HRESULT GetNameForTagID(ELEMENT_TAG_ID tagId, LPWSTR* pbstrName)
tagIdELEMENT_TAG_IDin名前を取得する対象のタグ種別を指定する ELEMENT_TAG_ID である。
pbstrNameLPWSTR*out指定タグ種別に対応するタグ名を受け取る文字列ポインタである。呼び出し側で SysFreeString により解放する。
vtbl 19 HRESULT MovePointersToRange(IHTMLTxtRange* pIRange, IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish)
pIRangeIHTMLTxtRange*in基準とするテキスト範囲を指定する IHTMLTxtRange へのポインタである。
pPointerStartIMarkupPointer*in範囲の開始位置に合わせて移動させるマークアップポインタを指定する IMarkupPointer へのポインタである。
pPointerFinishIMarkupPointer*in範囲の終了位置に合わせて移動させるマークアップポインタを指定する IMarkupPointer へのポインタである。
vtbl 20 HRESULT MoveRangeToPointers(IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish, IHTMLTxtRange* pIRange)
pPointerStartIMarkupPointer*in範囲の開始位置を示す IMarkupPointer へのポインタである。
pPointerFinishIMarkupPointer*in範囲の終了位置を示す IMarkupPointer へのポインタである。
pIRangeIHTMLTxtRange*in両ポインタが示す範囲に合わせて設定するテキスト範囲を指定する IHTMLTxtRange へのポインタである。
vtbl 21 HRESULT BeginUndoUnit(LPWSTR pchTitle)
pchTitleLPWSTRin開始する元に戻す(undo)単位のタイトルを指定する文字列である。
vtbl 22 HRESULT EndUndoUnit()

HSP用 COM定義

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

出力引数:
#define global IID_IMarkupServices "{3050F4A0-98B5-11CF-BB82-00AA00BDCE0B}"
#usecom global IMarkupServices IID_IMarkupServices "{}"
#comfunc global IMarkupServices_CreateMarkupPointer    3 sptr
#comfunc global IMarkupServices_CreateMarkupContainer  4 sptr
#comfunc global IMarkupServices_CreateElement          5 int,wstr,sptr
#comfunc global IMarkupServices_CloneElement           6 sptr,sptr
#comfunc global IMarkupServices_InsertElement          7 sptr,sptr,sptr
#comfunc global IMarkupServices_RemoveElement          8 sptr
#comfunc global IMarkupServices_Remove                 9 sptr,sptr
#comfunc global IMarkupServices_Copy                   10 sptr,sptr,sptr
#comfunc global IMarkupServices_Move                   11 sptr,sptr,sptr
#comfunc global IMarkupServices_InsertText             12 wstr,int,sptr
#comfunc global IMarkupServices_ParseString            13 wstr,int,sptr,sptr,sptr
#comfunc global IMarkupServices_ParseGlobal            14 sptr,int,sptr,sptr,sptr
#comfunc global IMarkupServices_IsScopedElement        15 sptr,var
#comfunc global IMarkupServices_GetElementTagId        16 sptr,var
#comfunc global IMarkupServices_GetTagIDForName        17 wstr,var
#comfunc global IMarkupServices_GetNameForTagID        18 int,var
#comfunc global IMarkupServices_MovePointersToRange    19 sptr,sptr,sptr
#comfunc global IMarkupServices_MoveRangeToPointers    20 sptr,sptr,sptr
#comfunc global IMarkupServices_BeginUndoUnit          21 wstr
#comfunc global IMarkupServices_EndUndoUnit            22
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。