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

IHTMLDOMNode

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID3050f5da-98b5-11cf-bb82-00aa00bdce0b継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 20

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_nodeType(INT* p)
pINT*outノード種別 を受け取るポインタである。NULL は指定できない。
vtbl 8 HRESULT get_parentNode(IHTMLDOMNode** p)
pIHTMLDOMNode**out親ノード を受け取るポインタである。NULL は指定できない。
vtbl 9 HRESULT hasChildNodes(VARIANT_BOOL* fChildren)
fChildrenVARIANT_BOOL*out子ノードを持つかどうかを受け取るポインタである。
vtbl 10 HRESULT get_childNodes(IDispatch** p)
pIDispatch**out子ノードのコレクション を受け取るポインタである。NULL は指定できない。
vtbl 11 HRESULT get_attributes(IDispatch** p)
pIDispatch**out属性のコレクション を受け取るポインタである。NULL は指定できない。
vtbl 12 HRESULT insertBefore(IHTMLDOMNode* newChild, VARIANT refChild, IHTMLDOMNode** node)
newChildIHTMLDOMNode*in挿入する新しいノードを指定する。
refChildVARIANTinこの基準ノードの前に挿入する。NULL の場合は末尾に追加される。
nodeIHTMLDOMNode**out挿入されたノードを受け取るポインタである。
vtbl 13 HRESULT removeChild(IHTMLDOMNode* oldChild, IHTMLDOMNode** node)
oldChildIHTMLDOMNode*in削除する子ノードを指定する。
nodeIHTMLDOMNode**out削除されたノードを受け取るポインタである。
vtbl 14 HRESULT replaceChild(IHTMLDOMNode* newChild, IHTMLDOMNode* oldChild, IHTMLDOMNode** node)
newChildIHTMLDOMNode*in置き換え後の新しいノードを指定する。
oldChildIHTMLDOMNode*in置き換え対象の既存ノードを指定する。
nodeIHTMLDOMNode**out置き換えられた(元の)ノードを受け取るポインタである。
vtbl 15 HRESULT cloneNode(VARIANT_BOOL fDeep, IHTMLDOMNode** clonedNode)
fDeepVARIANT_BOOLin子孫まで含めて複製する場合は true を指定する。
clonedNodeIHTMLDOMNode**out複製されたノードを受け取るポインタである。
vtbl 16 HRESULT removeNode(VARIANT_BOOL fDeep, IHTMLDOMNode** removed)
fDeepVARIANT_BOOLin子孫まで含めて削除する場合は true を指定する。
removedIHTMLDOMNode**out削除されたノードを受け取るポインタである。
vtbl 17 HRESULT swapNode(IHTMLDOMNode* otherNode, IHTMLDOMNode** swappedNode)
otherNodeIHTMLDOMNode*in位置を入れ替える相手のノードを指定する。
swappedNodeIHTMLDOMNode**out入れ替え後のノードを受け取るポインタである。
vtbl 18 HRESULT replaceNode(IHTMLDOMNode* replacement, IHTMLDOMNode** replaced)
replacementIHTMLDOMNode*in置き換え後のノードを指定する。
replacedIHTMLDOMNode**out置き換えられた(元の)ノードを受け取るポインタである。
vtbl 19 HRESULT appendChild(IHTMLDOMNode* newChild, IHTMLDOMNode** node)
newChildIHTMLDOMNode*in末尾に追加する子ノードを指定する。
nodeIHTMLDOMNode**out追加されたノードを受け取るポインタである。
vtbl 20 HRESULT get_nodeName(LPWSTR* p)
pLPWSTR*outノード名 を受け取るポインタである。NULL は指定できない。
vtbl 21 HRESULT put_nodeValue(VARIANT v)
vVARIANTinノードの値 に設定する値を指定する。
vtbl 22 HRESULT get_nodeValue(VARIANT* p)
pVARIANT*outノードの値 を受け取るポインタである。NULL は指定できない。
vtbl 23 HRESULT get_firstChild(IHTMLDOMNode** p)
pIHTMLDOMNode**out最初の子ノード を受け取るポインタである。NULL は指定できない。
vtbl 24 HRESULT get_lastChild(IHTMLDOMNode** p)
pIHTMLDOMNode**out最後の子ノード を受け取るポインタである。NULL は指定できない。
vtbl 25 HRESULT get_previousSibling(IHTMLDOMNode** p)
pIHTMLDOMNode**out直前の兄弟ノード を受け取るポインタである。NULL は指定できない。
vtbl 26 HRESULT get_nextSibling(IHTMLDOMNode** p)
pIHTMLDOMNode**out直後の兄弟ノード を受け取るポインタである。NULL は指定できない。

HSP用 COM定義

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

出力引数:
#define global IID_IHTMLDOMNode "{3050F5DA-98B5-11CF-BB82-00AA00BDCE0B}"
#usecom global IHTMLDOMNode IID_IHTMLDOMNode "{}"
#comfunc global IHTMLDOMNode_get_nodeType         7 var
#comfunc global IHTMLDOMNode_get_parentNode       8 sptr
#comfunc global IHTMLDOMNode_hasChildNodes        9 var
#comfunc global IHTMLDOMNode_get_childNodes       10 sptr
#comfunc global IHTMLDOMNode_get_attributes       11 sptr
#comfunc global IHTMLDOMNode_insertBefore         12 sptr,int,sptr
#comfunc global IHTMLDOMNode_removeChild          13 sptr,sptr
#comfunc global IHTMLDOMNode_replaceChild         14 sptr,sptr,sptr
#comfunc global IHTMLDOMNode_cloneNode            15 int,sptr
#comfunc global IHTMLDOMNode_removeNode           16 int,sptr
#comfunc global IHTMLDOMNode_swapNode             17 sptr,sptr
#comfunc global IHTMLDOMNode_replaceNode          18 sptr,sptr
#comfunc global IHTMLDOMNode_appendChild          19 sptr,sptr
#comfunc global IHTMLDOMNode_get_nodeName         20 var
#comfunc global IHTMLDOMNode_put_nodeValue        21 int
#comfunc global IHTMLDOMNode_get_nodeValue        22 var
#comfunc global IHTMLDOMNode_get_firstChild       23 sptr
#comfunc global IHTMLDOMNode_get_lastChild        24 sptr
#comfunc global IHTMLDOMNode_get_previousSibling  25 sptr
#comfunc global IHTMLDOMNode_get_nextSibling      26 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。