ホーム › Web.MsHtml › IMarkupServices
IMarkupServices
COMメソッド 20
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT CreateMarkupPointer(IMarkupPointer** ppPointer)
| ppPointer | IMarkupPointer** | out | 新しく作成したマークアップポインタを受け取る IMarkupPointer へのポインタである。不要になったら Release する。 |
vtbl 4 HRESULT CreateMarkupContainer(IMarkupContainer** ppMarkupContainer)
| ppMarkupContainer | IMarkupContainer** | out | 新しく作成したマークアップコンテナを受け取る IMarkupContainer へのポインタである。不要になったら Release する。 |
vtbl 5 HRESULT CreateElement(ELEMENT_TAG_ID tagID, LPWSTR pchAttributes, IHTMLElement** ppElement)
| tagID | ELEMENT_TAG_ID | in | 作成する要素のタグ種別を指定する ELEMENT_TAG_ID である。 |
| pchAttributes | LPWSTR | in | 作成する要素に設定する属性文字列を指定する。不要な場合は NULL を指定できる。 |
| ppElement | IHTMLElement** | out | 作成された HTML 要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。 |
vtbl 6 HRESULT CloneElement(IHTMLElement* pElemCloneThis, IHTMLElement** ppElementTheClone)
| pElemCloneThis | IHTMLElement* | in | 複製元の要素を指定する IHTMLElement へのポインタである。 |
| ppElementTheClone | IHTMLElement** | out | 複製された要素を受け取る IHTMLElement へのポインタである。不要になったら Release する。 |
vtbl 7 HRESULT InsertElement(IHTMLElement* pElementInsert, IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish)
| pElementInsert | IHTMLElement* | in | 挿入する要素を指定する IHTMLElement へのポインタである。 |
| pPointerStart | IMarkupPointer* | in | 挿入範囲の開始位置を示す IMarkupPointer へのポインタである。 |
| pPointerFinish | IMarkupPointer* | in | 挿入範囲の終了位置を示す IMarkupPointer へのポインタである。 |
vtbl 8 HRESULT RemoveElement(IHTMLElement* pElementRemove)
| pElementRemove | IHTMLElement* | in | ツリーから取り除く要素を指定する IHTMLElement へのポインタである。子内容はそのまま保持される。 |
vtbl 9 HRESULT Remove(IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish)
| pPointerStart | IMarkupPointer* | in | 削除する範囲の開始位置を示す IMarkupPointer へのポインタである。 |
| pPointerFinish | IMarkupPointer* | in | 削除する範囲の終了位置を示す IMarkupPointer へのポインタである。 |
vtbl 10 HRESULT Copy(IMarkupPointer* pPointerSourceStart, IMarkupPointer* pPointerSourceFinish, IMarkupPointer* pPointerTarget)
| pPointerSourceStart | IMarkupPointer* | in | コピー元範囲の開始位置を示す IMarkupPointer へのポインタである。 |
| pPointerSourceFinish | IMarkupPointer* | in | コピー元範囲の終了位置を示す IMarkupPointer へのポインタである。 |
| pPointerTarget | IMarkupPointer* | in | コピー先の挿入位置を示す IMarkupPointer へのポインタである。 |
vtbl 11 HRESULT Move(IMarkupPointer* pPointerSourceStart, IMarkupPointer* pPointerSourceFinish, IMarkupPointer* pPointerTarget)
| pPointerSourceStart | IMarkupPointer* | in | 移動元範囲の開始位置を示す IMarkupPointer へのポインタである。 |
| pPointerSourceFinish | IMarkupPointer* | in | 移動元範囲の終了位置を示す IMarkupPointer へのポインタである。 |
| pPointerTarget | IMarkupPointer* | in | 移動先の挿入位置を示す IMarkupPointer へのポインタである。 |
vtbl 12 HRESULT InsertText(LPWSTR pchText, INT cch, IMarkupPointer* pPointerTarget)
| pchText | LPWSTR | in | 挿入するテキスト文字列を指定する。 |
| cch | INT | in | 挿入する文字数を指定する INT である。-1 を指定すると文字列全体を挿入する。 |
| pPointerTarget | IMarkupPointer* | in | テキストの挿入位置を示す IMarkupPointer へのポインタである。 |
vtbl 13 HRESULT ParseString(LPWSTR pchHTML, DWORD dwFlags, IMarkupContainer** ppContainerResult, IMarkupPointer* ppPointerStart, IMarkupPointer* ppPointerFinish)
| pchHTML | LPWSTR | in | 解析する HTML 文字列を指定する。 |
| dwFlags | DWORD | in | 解析動作を制御するフラグを指定する DWORD である。 |
| ppContainerResult | IMarkupContainer** | out | 解析結果を格納したマークアップコンテナを受け取る IMarkupContainer へのポインタである。不要になったら Release する。 |
| ppPointerStart | IMarkupPointer* | in | 解析結果の開始位置を受け取る IMarkupPointer へのポインタである。 |
| ppPointerFinish | IMarkupPointer* | in | 解析結果の終了位置を受け取る IMarkupPointer へのポインタである。 |
vtbl 14 HRESULT ParseGlobal(HGLOBAL hglobalHTML, DWORD dwFlags, IMarkupContainer** ppContainerResult, IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish)
| hglobalHTML | HGLOBAL | in | 解析対象の HTML を格納したグローバルメモリのハンドルを指定する HGLOBAL である。 |
| dwFlags | DWORD | in | 解析動作を制御するフラグを指定する DWORD である。 |
| ppContainerResult | IMarkupContainer** | out | 解析結果を格納したマークアップコンテナを受け取る IMarkupContainer へのポインタである。不要になったら Release する。 |
| pPointerStart | IMarkupPointer* | in | 解析結果の開始位置を受け取る IMarkupPointer へのポインタである。 |
| pPointerFinish | IMarkupPointer* | in | 解析結果の終了位置を受け取る IMarkupPointer へのポインタである。 |
vtbl 15 HRESULT IsScopedElement(IHTMLElement* pElement, BOOL* pfScoped)
| pElement | IHTMLElement* | in | 判定対象の要素を指定する IHTMLElement へのポインタである。 |
| pfScoped | BOOL* | out | 指定要素がスコープ要素(開始・終了タグを持つ要素)であるかどうかを受け取る BOOL へのポインタである。 |
vtbl 16 HRESULT GetElementTagId(IHTMLElement* pElement, ELEMENT_TAG_ID* ptagId)
| pElement | IHTMLElement* | in | タグ種別を取得する対象の要素を指定する IHTMLElement へのポインタである。 |
| ptagId | ELEMENT_TAG_ID* | out | 指定要素のタグ種別を受け取る ELEMENT_TAG_ID へのポインタである。 |
vtbl 17 HRESULT GetTagIDForName(LPWSTR bstrName, ELEMENT_TAG_ID* ptagId)
| bstrName | LPWSTR | in | タグ名を表す文字列を指定する。 |
| ptagId | ELEMENT_TAG_ID* | out | 指定タグ名に対応するタグ種別を受け取る ELEMENT_TAG_ID へのポインタである。 |
vtbl 18 HRESULT GetNameForTagID(ELEMENT_TAG_ID tagId, LPWSTR* pbstrName)
| tagId | ELEMENT_TAG_ID | in | 名前を取得する対象のタグ種別を指定する ELEMENT_TAG_ID である。 |
| pbstrName | LPWSTR* | out | 指定タグ種別に対応するタグ名を受け取る文字列ポインタである。呼び出し側で SysFreeString により解放する。 |
vtbl 19 HRESULT MovePointersToRange(IHTMLTxtRange* pIRange, IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish)
| pIRange | IHTMLTxtRange* | in | 基準とするテキスト範囲を指定する IHTMLTxtRange へのポインタである。 |
| pPointerStart | IMarkupPointer* | in | 範囲の開始位置に合わせて移動させるマークアップポインタを指定する IMarkupPointer へのポインタである。 |
| pPointerFinish | IMarkupPointer* | in | 範囲の終了位置に合わせて移動させるマークアップポインタを指定する IMarkupPointer へのポインタである。 |
vtbl 20 HRESULT MoveRangeToPointers(IMarkupPointer* pPointerStart, IMarkupPointer* pPointerFinish, IHTMLTxtRange* pIRange)
| pPointerStart | IMarkupPointer* | in | 範囲の開始位置を示す IMarkupPointer へのポインタである。 |
| pPointerFinish | IMarkupPointer* | in | 範囲の終了位置を示す IMarkupPointer へのポインタである。 |
| pIRange | IHTMLTxtRange* | in | 両ポインタが示す範囲に合わせて設定するテキスト範囲を指定する IHTMLTxtRange へのポインタである。 |
| pchTitle | LPWSTR | in | 開始する元に戻す(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 指定が可能。#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,sptr #comfunc global IMarkupServices_GetElementTagId 16 sptr,sptr #comfunc global IMarkupServices_GetTagIDForName 17 wstr,sptr #comfunc global IMarkupServices_GetNameForTagID 18 int,sptr #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が無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。