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

IXmlReader

COM
IID7279fc81-709d-4095-b63d-69fe4b0d9030継承元IUnknown自前メソッド開始 vtbl3

メソッド 23

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT SetInput(IUnknown* pInput)
pInputIUnknown*inoptional読み取り元のIStreamまたはIXmlReaderInputを指定する。NULLで入力を解除する。
vtbl 4 HRESULT GetProperty(DWORD nProperty, INT_PTR* ppValue)
nPropertyDWORDin取得するプロパティを示すXmlReaderProperty列挙値。
ppValueINT_PTR*outプロパティの現在値を受け取る出力先(INT_PTR)。
vtbl 5 HRESULT SetProperty(DWORD nProperty, INT_PTR pValue)
nPropertyDWORDin設定するプロパティを示すXmlReaderProperty列挙値。
pValueINT_PTRinoptionalプロパティに設定する値(INT_PTR)。
vtbl 6 HRESULT Read(XmlNodeType* pNodeType)
pNodeTypeXmlNodeType*outoptional読み取った次のノードの種類を受け取るXmlNodeTypeの出力先。NULL可。
vtbl 7 HRESULT GetNodeType(XmlNodeType* pNodeType)
pNodeTypeXmlNodeType*out現在のノードの種類を受け取るXmlNodeTypeの出力先。
vtbl 8 HRESULT MoveToFirstAttribute()
vtbl 9 HRESULT MoveToNextAttribute()
vtbl 10 HRESULT MoveToAttributeByName(LPWSTR pwszLocalName, LPWSTR pwszNamespaceUri)
pwszLocalNameLPWSTRin移動先属性のローカル名。
pwszNamespaceUriLPWSTRinoptional移動先属性の名前空間URI。NULL可。
vtbl 11 HRESULT MoveToElement()
vtbl 12 HRESULT GetQualifiedName(LPWSTR* ppwszQualifiedName, DWORD* pcwchQualifiedName)
ppwszQualifiedNameLPWSTR*out現在ノードの修飾名(接頭辞付き名前)を受け取る出力先。
pcwchQualifiedNameDWORD*outoptional修飾名の文字数を受け取る出力先。NULL可。
vtbl 13 HRESULT GetNamespaceUri(LPWSTR* ppwszNamespaceUri, DWORD* pcwchNamespaceUri)
ppwszNamespaceUriLPWSTR*out現在ノードの名前空間URIを受け取る出力先。
pcwchNamespaceUriDWORD*outoptional名前空間URIの文字数を受け取る出力先。NULL可。
vtbl 14 HRESULT GetLocalName(LPWSTR* ppwszLocalName, DWORD* pcwchLocalName)
ppwszLocalNameLPWSTR*out現在ノードのローカル名を受け取る出力先。
pcwchLocalNameDWORD*outoptionalローカル名の文字数を受け取る出力先。NULL可。
vtbl 15 HRESULT GetPrefix(LPWSTR* ppwszPrefix, DWORD* pcwchPrefix)
ppwszPrefixLPWSTR*out現在ノードの名前空間接頭辞を受け取る出力先。
pcwchPrefixDWORD*outoptional接頭辞の文字数を受け取る出力先。NULL可。
vtbl 16 HRESULT GetValue(LPWSTR* ppwszValue, DWORD* pcwchValue)
ppwszValueLPWSTR*out現在ノードの値(テキスト)を受け取る出力先。
pcwchValueDWORD*outoptional値の文字数を受け取る出力先。NULL可。
vtbl 17 HRESULT ReadValueChunk(LPWSTR pwchBuffer, DWORD cwchChunkSize, DWORD* pcwchRead)
pwchBufferLPWSTRout値の一部を読み込む先のバッファ。
cwchChunkSizeDWORDinバッファに読み込む最大文字数。
pcwchReadDWORD*inout実際に読み込まれた文字数を受け取る出力先。
vtbl 18 HRESULT GetBaseUri(LPWSTR* ppwszBaseUri, DWORD* pcwchBaseUri)
ppwszBaseUriLPWSTR*out現在ノードの基底URIを受け取る出力先。
pcwchBaseUriDWORD*outoptional基底URIの文字数を受け取る出力先。NULL可。
vtbl 19 BOOL IsDefault()
vtbl 20 BOOL IsEmptyElement()
vtbl 21 HRESULT GetLineNumber(DWORD* pnLineNumber)
pnLineNumberDWORD*out現在ノードの行番号(1始まり)を受け取る出力先。
vtbl 22 HRESULT GetLinePosition(DWORD* pnLinePosition)
pnLinePositionDWORD*out現在ノードの行内位置(1始まり)を受け取る出力先。
vtbl 23 HRESULT GetAttributeCount(DWORD* pnAttributeCount)
pnAttributeCountDWORD*out現在要素が持つ属性の個数を受け取る出力先。
vtbl 24 HRESULT GetDepth(DWORD* pnDepth)
pnDepthDWORD*out現在ノードのネスト深さを受け取る出力先。
vtbl 25 BOOL IsEOF()

HSP用 COM定義

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

出力引数:
#define global IID_IXmlReader "{7279FC81-709D-4095-B63D-69FE4B0D9030}"
#usecom global IXmlReader IID_IXmlReader "{}"
#comfunc global IXmlReader_SetInput               3 sptr
#comfunc global IXmlReader_GetProperty            4 int,var
#comfunc global IXmlReader_SetProperty            5 int,sptr
#comfunc global IXmlReader_Read                   6 var
#comfunc global IXmlReader_GetNodeType            7 var
#comfunc global IXmlReader_MoveToFirstAttribute   8
#comfunc global IXmlReader_MoveToNextAttribute    9
#comfunc global IXmlReader_MoveToAttributeByName  10 wstr,wstr
#comfunc global IXmlReader_MoveToElement          11
#comfunc global IXmlReader_GetQualifiedName       12 var,var
#comfunc global IXmlReader_GetNamespaceUri        13 var,var
#comfunc global IXmlReader_GetLocalName           14 var,var
#comfunc global IXmlReader_GetPrefix              15 var,var
#comfunc global IXmlReader_GetValue               16 var,var
#comfunc global IXmlReader_ReadValueChunk         17 var,int,var
#comfunc global IXmlReader_GetBaseUri             18 var,var
#comfunc global IXmlReader_IsDefault              19
#comfunc global IXmlReader_IsEmptyElement         20
#comfunc global IXmlReader_GetLineNumber          21 var
#comfunc global IXmlReader_GetLinePosition        22 var
#comfunc global IXmlReader_GetAttributeCount      23 var
#comfunc global IXmlReader_GetDepth               24 var
#comfunc global IXmlReader_IsEOF                  25
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。