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

IXTLRuntime

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

メソッド 9

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

vtbl 43 HRESULT uniqueID(IXMLDOMNode* pNode, INT* pID)
pNodeIXMLDOMNode*in一意識別子を取得する対象のDOMノード。
pIDINT*out指定ノードの一意な整数IDを受け取る出力。
vtbl 44 HRESULT depth(IXMLDOMNode* pNode, INT* pDepth)
pNodeIXMLDOMNode*in深さを求める対象のDOMノード。
pDepthINT*outツリー内における当該ノードの深さ(階層レベル)を受け取る出力。
vtbl 45 HRESULT childNumber(IXMLDOMNode* pNode, INT* pNumber)
pNodeIXMLDOMNode*in兄弟内での順番を求める対象のDOMノード。
pNumberINT*out親内で同名の兄弟中における当該ノードの序数(1始まり)を受け取る出力。
vtbl 46 HRESULT ancestorChildNumber(LPWSTR bstrNodeName, IXMLDOMNode* pNode, INT* pNumber)
bstrNodeNameLPWSTRin祖先方向に検索する対象の要素名。
pNodeIXMLDOMNode*in検索の起点となるDOMノード。
pNumberINT*out見つかった祖先の兄弟中での序数を受け取る出力。
vtbl 47 HRESULT absoluteChildNumber(IXMLDOMNode* pNode, INT* pNumber)
pNodeIXMLDOMNode*in順番を求める対象のDOMノード。
pNumberINT*out名前を問わず兄弟全体における当該ノードの絶対序数を受け取る出力。
vtbl 48 HRESULT formatIndex(INT lIndex, LPWSTR bstrFormat, LPWSTR* pbstrFormattedString)
lIndexINTin書式化する整数値(序数)。
bstrFormatLPWSTRin番号表記を指定する書式文字列(例: "1","a","i"等)。
pbstrFormattedStringLPWSTR*out書式化結果の文字列を受け取るBSTRポインタ。
vtbl 49 HRESULT formatNumber(DOUBLE dblNumber, LPWSTR bstrFormat, LPWSTR* pbstrFormattedString)
dblNumberDOUBLEin書式化する数値。
bstrFormatLPWSTRin数値の表示形式を指定する書式パターン文字列。
pbstrFormattedStringLPWSTR*out書式化結果の文字列を受け取るBSTRポインタ。
vtbl 50 HRESULT formatDate(VARIANT varDate, LPWSTR bstrFormat, VARIANT varDestLocale, LPWSTR* pbstrFormattedString)
varDateVARIANTin書式化する日付を表すVARIANT。
bstrFormatLPWSTRin日付の表示形式を指定する書式パターン文字列。
varDestLocaleVARIANTin出力に用いるロケールを指定するVARIANT。省略時は既定ロケール。
pbstrFormattedStringLPWSTR*out書式化結果の日付文字列を受け取るBSTRポインタ。
vtbl 51 HRESULT formatTime(VARIANT varTime, LPWSTR bstrFormat, VARIANT varDestLocale, LPWSTR* pbstrFormattedString)
varTimeVARIANTin書式化する時刻を表すVARIANT。
bstrFormatLPWSTRin時刻の表示形式を指定する書式パターン文字列。
varDestLocaleVARIANTin出力に用いるロケールを指定するVARIANT。省略時は既定ロケール。
pbstrFormattedStringLPWSTR*out書式化結果の時刻文字列を受け取るBSTRポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IXTLRuntime "{3EFAA425-272F-11D2-836F-0000F87A7782}"
#usecom global IXTLRuntime IID_IXTLRuntime "{}"
#comfunc global IXTLRuntime_uniqueID             43 sptr,var
#comfunc global IXTLRuntime_depth                44 sptr,var
#comfunc global IXTLRuntime_childNumber          45 sptr,var
#comfunc global IXTLRuntime_ancestorChildNumber  46 wstr,sptr,var
#comfunc global IXTLRuntime_absoluteChildNumber  47 sptr,var
#comfunc global IXTLRuntime_formatIndex          48 int,wstr,var
#comfunc global IXTLRuntime_formatNumber         49 double,wstr,var
#comfunc global IXTLRuntime_formatDate           50 int,wstr,int,var
#comfunc global IXTLRuntime_formatTime           51 int,wstr,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。