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

IMXAttributes

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDf10d27cc-3ec0-415c-8ed8-77ab1c5e7262継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 11

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

vtbl 7 HRESULT addAttribute(LPWSTR strURI, LPWSTR strLocalName, LPWSTR strQName, LPWSTR strType, LPWSTR strValue)
strURILPWSTRin追加する属性の名前空間URI。名前空間なしなら空文字を指定する。
strLocalNameLPWSTRin追加する属性のローカル名。
strQNameLPWSTRin追加する属性の修飾名(接頭辞付き名前)。
strTypeLPWSTRin追加する属性の型(CDATAなど)。
strValueLPWSTRin追加する属性の値。
vtbl 8 HRESULT addAttributeFromIndex(VARIANT varAtts, INT nIndex)
varAttsVARIANTinコピー元の属性コレクションを保持するVARIANT(IVBSAXAttributes等)。
nIndexINTinコピー元コレクション内で追加する属性のインデックス。
vtbl 9 HRESULT clear()
vtbl 10 HRESULT removeAttribute(INT nIndex)
nIndexINTin削除する属性の0始まりのインデックス。
vtbl 11 HRESULT setAttribute(INT nIndex, LPWSTR strURI, LPWSTR strLocalName, LPWSTR strQName, LPWSTR strType, LPWSTR strValue)
nIndexINTin設定対象属性のインデックス。
strURILPWSTRin設定する名前空間URI。名前空間なしなら空文字を指定する。
strLocalNameLPWSTRin設定するローカル名。
strQNameLPWSTRin設定する修飾名(接頭辞付き名前)。
strTypeLPWSTRin設定する属性の型。
strValueLPWSTRin設定する属性の値。
vtbl 12 HRESULT setAttributes(VARIANT varAtts)
varAttsVARIANTinコレクション全体を置き換える元の属性群を保持するVARIANT。
vtbl 13 HRESULT setLocalName(INT nIndex, LPWSTR strLocalName)
nIndexINTin対象属性のインデックス。
strLocalNameLPWSTRin新たに設定するローカル名。
vtbl 14 HRESULT setQName(INT nIndex, LPWSTR strQName)
nIndexINTin対象属性のインデックス。
strQNameLPWSTRin新たに設定する修飾名(接頭辞付き名前)。
vtbl 15 HRESULT setType(INT nIndex, LPWSTR strType)
nIndexINTin対象属性のインデックス。
strTypeLPWSTRin新たに設定する属性の型。
vtbl 16 HRESULT setURI(INT nIndex, LPWSTR strURI)
nIndexINTin対象属性のインデックス。
strURILPWSTRin新たに設定する名前空間URI。
vtbl 17 HRESULT setValue(INT nIndex, LPWSTR strValue)
nIndexINTin対象属性のインデックス。
strValueLPWSTRin新たに設定する属性の値。

HSP用 COM定義

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

#define global IID_IMXAttributes "{F10D27CC-3EC0-415C-8ED8-77AB1C5E7262}"
#usecom global IMXAttributes IID_IMXAttributes "{}"
#comfunc global IMXAttributes_addAttribute           7 wstr,wstr,wstr,wstr,wstr
#comfunc global IMXAttributes_addAttributeFromIndex  8 int,int
#comfunc global IMXAttributes_clear                  9
#comfunc global IMXAttributes_removeAttribute        10 int
#comfunc global IMXAttributes_setAttribute           11 int,wstr,wstr,wstr,wstr,wstr
#comfunc global IMXAttributes_setAttributes          12 int
#comfunc global IMXAttributes_setLocalName           13 int,wstr
#comfunc global IMXAttributes_setQName               14 int,wstr
#comfunc global IMXAttributes_setType                15 int,wstr
#comfunc global IMXAttributes_setURI                 16 int,wstr
#comfunc global IMXAttributes_setValue               17 int,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。