Win32 API 日本語リファレンス
ホームData.Xml.MsXml › IXMLDOMDocument

IXMLDOMDocument

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

メソッド 33

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

vtbl 43 HRESULT get_doctype(IXMLDOMDocumentType** documentType)
documentTypeIXMLDOMDocumentType**outドキュメントの DOCTYPE 宣言ノードを受け取る出力ポインタである。無ければ NULL となる。
vtbl 44 HRESULT get_implementation(IXMLDOMImplementation** impl)
implIXMLDOMImplementation**outDOM 実装情報 IXMLDOMImplementation を受け取る出力ポインタである。
vtbl 45 HRESULT get_documentElement(IXMLDOMElement** DOMElement)
DOMElementIXMLDOMElement**outルート要素を受け取る出力ポインタである。無ければ NULL となる。
vtbl 46 HRESULT putref_documentElement(IXMLDOMElement* DOMElement)
DOMElementIXMLDOMElement*inルート要素として設定する要素ノードである。
vtbl 47 HRESULT createElement(LPWSTR tagName, IXMLDOMElement** element)
tagNameLPWSTRin作成する要素のタグ名を示す文字列である。
elementIXMLDOMElement**out作成された要素ノードを受け取る出力ポインタである。
vtbl 48 HRESULT createDocumentFragment(IXMLDOMDocumentFragment** docFrag)
docFragIXMLDOMDocumentFragment**out作成された文書フラグメントを受け取る出力ポインタである。
vtbl 49 HRESULT createTextNode(LPWSTR data, IXMLDOMText** text)
dataLPWSTRinテキストノードの初期内容を示す文字列である。
textIXMLDOMText**out作成されたテキストノードを受け取る出力ポインタである。
vtbl 50 HRESULT createComment(LPWSTR data, IXMLDOMComment** comment)
dataLPWSTRinコメントノードの内容を示す文字列である。
commentIXMLDOMComment**out作成されたコメントノードを受け取る出力ポインタである。
vtbl 51 HRESULT createCDATASection(LPWSTR data, IXMLDOMCDATASection** cdata)
dataLPWSTRinCDATA セクションの内容を示す文字列である。
cdataIXMLDOMCDATASection**out作成された CDATA セクションを受け取る出力ポインタである。
vtbl 52 HRESULT createProcessingInstruction(LPWSTR target, LPWSTR data, IXMLDOMProcessingInstruction** pi)
targetLPWSTRin処理命令のターゲット名を示す文字列である。
dataLPWSTRin処理命令の内容を示す文字列である。
piIXMLDOMProcessingInstruction**out作成された処理命令ノードを受け取る出力ポインタである。
vtbl 53 HRESULT createAttribute(LPWSTR name, IXMLDOMAttribute** attribute)
nameLPWSTRin作成する属性の名前を示す文字列である。
attributeIXMLDOMAttribute**out作成された属性ノードを受け取る出力ポインタである。
vtbl 54 HRESULT createEntityReference(LPWSTR name, IXMLDOMEntityReference** entityRef)
nameLPWSTRin作成する実体参照の名前を示す文字列である。
entityRefIXMLDOMEntityReference**out作成された実体参照ノードを受け取る出力ポインタである。
vtbl 55 HRESULT getElementsByTagName(LPWSTR tagName, IXMLDOMNodeList** resultList)
tagNameLPWSTRin検索する要素のタグ名を示す文字列である。"*" で全要素を対象とする。
resultListIXMLDOMNodeList**out一致した要素のリストを受け取る出力ポインタである。
vtbl 56 HRESULT createNode(VARIANT Type, LPWSTR name, LPWSTR namespaceURI, IXMLDOMNode** node)
TypeVARIANTin作成するノードの種別を示す VARIANT である。
nameLPWSTRinノードの名前(必要に応じプレフィックス付き)を示す文字列である。
namespaceURILPWSTRinノードの名前空間 URI を示す文字列である。不要なら空可。
nodeIXMLDOMNode**out作成されたノードを受け取る出力ポインタである。
vtbl 57 HRESULT nodeFromID(LPWSTR idString, IXMLDOMNode** node)
idStringLPWSTRin検索する ID 属性値を示す文字列である。
nodeIXMLDOMNode**outID に一致したノードを受け取る出力ポインタである。無ければ NULL となる。
vtbl 58 HRESULT load(VARIANT xmlSource, VARIANT_BOOL* isSuccessful)
xmlSourceVARIANTin読み込み元(URL・パス・ストリーム等)を格納した VARIANT である。
isSuccessfulVARIANT_BOOL*out読み込み成否を VARIANT_BOOL で受け取る出力ポインタである。
vtbl 59 HRESULT get_readyState(INT* value)
valueINT*outドキュメントの読み込み状態を受け取る出力ポインタである。
vtbl 60 HRESULT get_parseError(IXMLDOMParseError** errorObj)
errorObjIXMLDOMParseError**out直近の解析エラー情報 IXMLDOMParseError を受け取る出力ポインタである。
vtbl 61 HRESULT get_url(LPWSTR* urlString)
urlStringLPWSTR*out読み込んだドキュメントの URL を受け取る出力ポインタである。
vtbl 62 HRESULT get_async(VARIANT_BOOL* isAsync)
isAsyncVARIANT_BOOL*out非同期読み込みが有効かを VARIANT_BOOL で受け取る出力ポインタである。
vtbl 63 HRESULT put_async(VARIANT_BOOL isAsync)
isAsyncVARIANT_BOOLinTRUE で非同期読み込みを有効にする真偽値である。
vtbl 64 HRESULT abort()
vtbl 65 HRESULT loadXML(LPWSTR bstrXML, VARIANT_BOOL* isSuccessful)
bstrXMLLPWSTRin解析する XML 文字列である。
isSuccessfulVARIANT_BOOL*out解析成否を VARIANT_BOOL で受け取る出力ポインタである。
vtbl 66 HRESULT save(VARIANT destination)
destinationVARIANTin保存先(ファイルパス・ストリーム・ノード等)を格納した VARIANT である。
vtbl 67 HRESULT get_validateOnParse(VARIANT_BOOL* isValidating)
isValidatingVARIANT_BOOL*out解析時に検証するかを VARIANT_BOOL で受け取る出力ポインタである。
vtbl 68 HRESULT put_validateOnParse(VARIANT_BOOL isValidating)
isValidatingVARIANT_BOOLinTRUE で解析時の検証を有効にする真偽値である。
vtbl 69 HRESULT get_resolveExternals(VARIANT_BOOL* isResolving)
isResolvingVARIANT_BOOL*out外部定義を解決するかを VARIANT_BOOL で受け取る出力ポインタである。
vtbl 70 HRESULT put_resolveExternals(VARIANT_BOOL isResolving)
isResolvingVARIANT_BOOLinTRUE で外部定義の解決を有効にする真偽値である。
vtbl 71 HRESULT get_preserveWhiteSpace(VARIANT_BOOL* isPreserving)
isPreservingVARIANT_BOOL*out空白を保持するかを VARIANT_BOOL で受け取る出力ポインタである。
vtbl 72 HRESULT put_preserveWhiteSpace(VARIANT_BOOL isPreserving)
isPreservingVARIANT_BOOLinTRUE で空白を保持する真偽値である。
vtbl 73 HRESULT put_onreadystatechange(VARIANT readystatechangeSink)
readystatechangeSinkVARIANTin読み込み状態変化時に呼ばれるハンドラを格納した VARIANT である。
vtbl 74 HRESULT put_ondataavailable(VARIANT ondataavailableSink)
ondataavailableSinkVARIANTinデータ受信時に呼ばれるハンドラを格納した VARIANT である。
vtbl 75 HRESULT put_ontransformnode(VARIANT ontransformnodeSink)
ontransformnodeSinkVARIANTin変換時の各ノード処理で呼ばれるハンドラを格納した VARIANT である。

HSP用 COM定義

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

出力引数:
#define global IID_IXMLDOMDocument "{2933BF81-7B36-11D2-B20E-00C04F983E60}"
#usecom global IXMLDOMDocument IID_IXMLDOMDocument "{}"
#comfunc global IXMLDOMDocument_get_doctype                  43 sptr
#comfunc global IXMLDOMDocument_get_implementation           44 sptr
#comfunc global IXMLDOMDocument_get_documentElement          45 sptr
#comfunc global IXMLDOMDocument_putref_documentElement       46 sptr
#comfunc global IXMLDOMDocument_createElement                47 wstr,sptr
#comfunc global IXMLDOMDocument_createDocumentFragment       48 sptr
#comfunc global IXMLDOMDocument_createTextNode               49 wstr,sptr
#comfunc global IXMLDOMDocument_createComment                50 wstr,sptr
#comfunc global IXMLDOMDocument_createCDATASection           51 wstr,sptr
#comfunc global IXMLDOMDocument_createProcessingInstruction  52 wstr,wstr,sptr
#comfunc global IXMLDOMDocument_createAttribute              53 wstr,sptr
#comfunc global IXMLDOMDocument_createEntityReference        54 wstr,sptr
#comfunc global IXMLDOMDocument_getElementsByTagName         55 wstr,sptr
#comfunc global IXMLDOMDocument_createNode                   56 int,wstr,wstr,sptr
#comfunc global IXMLDOMDocument_nodeFromID                   57 wstr,sptr
#comfunc global IXMLDOMDocument_load                         58 int,var
#comfunc global IXMLDOMDocument_get_readyState               59 var
#comfunc global IXMLDOMDocument_get_parseError               60 sptr
#comfunc global IXMLDOMDocument_get_url                      61 var
#comfunc global IXMLDOMDocument_get_async                    62 var
#comfunc global IXMLDOMDocument_put_async                    63 int
#comfunc global IXMLDOMDocument_abort                        64
#comfunc global IXMLDOMDocument_loadXML                      65 wstr,var
#comfunc global IXMLDOMDocument_save                         66 int
#comfunc global IXMLDOMDocument_get_validateOnParse          67 var
#comfunc global IXMLDOMDocument_put_validateOnParse          68 int
#comfunc global IXMLDOMDocument_get_resolveExternals         69 var
#comfunc global IXMLDOMDocument_put_resolveExternals         70 int
#comfunc global IXMLDOMDocument_get_preserveWhiteSpace       71 var
#comfunc global IXMLDOMDocument_put_preserveWhiteSpace       72 int
#comfunc global IXMLDOMDocument_put_onreadystatechange       73 int
#comfunc global IXMLDOMDocument_put_ondataavailable          74 int
#comfunc global IXMLDOMDocument_put_ontransformnode          75 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。