#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef _MSXML_H
#define _MSXML_H

#if __POCC__ >= 290
#pragma warn(push)
#pragma warn(disable:2109)  /* More than x external identifiers */
#endif

#ifndef __IXMLDOMImplementation_FWD_DEFINED__
#define __IXMLDOMImplementation_FWD_DEFINED__
typedef interface IXMLDOMImplementation IXMLDOMImplementation;
#endif

#ifndef __IXMLDOMNode_FWD_DEFINED__
#define __IXMLDOMNode_FWD_DEFINED__
typedef interface IXMLDOMNode IXMLDOMNode;
#endif

#ifndef __IXMLDOMDocumentFragment_FWD_DEFINED__
#define __IXMLDOMDocumentFragment_FWD_DEFINED__
typedef interface IXMLDOMDocumentFragment IXMLDOMDocumentFragment;
#endif

#ifndef __IXMLDOMDocument_FWD_DEFINED__
#define __IXMLDOMDocument_FWD_DEFINED__
typedef interface IXMLDOMDocument IXMLDOMDocument;
#endif

#ifndef __IXMLDOMNodeList_FWD_DEFINED__
#define __IXMLDOMNodeList_FWD_DEFINED__
typedef interface IXMLDOMNodeList IXMLDOMNodeList;
#endif

#ifndef __IXMLDOMNamedNodeMap_FWD_DEFINED__
#define __IXMLDOMNamedNodeMap_FWD_DEFINED__
typedef interface IXMLDOMNamedNodeMap IXMLDOMNamedNodeMap;
#endif

#ifndef __IXMLDOMCharacterData_FWD_DEFINED__
#define __IXMLDOMCharacterData_FWD_DEFINED__
typedef interface IXMLDOMCharacterData IXMLDOMCharacterData;
#endif

#ifndef __IXMLDOMAttribute_FWD_DEFINED__
#define __IXMLDOMAttribute_FWD_DEFINED__
typedef interface IXMLDOMAttribute IXMLDOMAttribute;
#endif

#ifndef __IXMLDOMElement_FWD_DEFINED__
#define __IXMLDOMElement_FWD_DEFINED__
typedef interface IXMLDOMElement IXMLDOMElement;
#endif

#ifndef __IXMLDOMText_FWD_DEFINED__
#define __IXMLDOMText_FWD_DEFINED__
typedef interface IXMLDOMText IXMLDOMText;
#endif

#ifndef __IXMLDOMComment_FWD_DEFINED__
#define __IXMLDOMComment_FWD_DEFINED__
typedef interface IXMLDOMComment IXMLDOMComment;
#endif

#ifndef __IXMLDOMProcessingInstruction_FWD_DEFINED__
#define __IXMLDOMProcessingInstruction_FWD_DEFINED__
typedef interface IXMLDOMProcessingInstruction IXMLDOMProcessingInstruction;
#endif

#ifndef __IXMLDOMCDATASection_FWD_DEFINED__
#define __IXMLDOMCDATASection_FWD_DEFINED__
typedef interface IXMLDOMCDATASection IXMLDOMCDATASection;
#endif

#ifndef __IXMLDOMDocumentType_FWD_DEFINED__
#define __IXMLDOMDocumentType_FWD_DEFINED__
typedef interface IXMLDOMDocumentType IXMLDOMDocumentType;
#endif

#ifndef __IXMLDOMNotation_FWD_DEFINED__
#define __IXMLDOMNotation_FWD_DEFINED__
typedef interface IXMLDOMNotation IXMLDOMNotation;
#endif

#ifndef __IXMLDOMEntity_FWD_DEFINED__
#define __IXMLDOMEntity_FWD_DEFINED__
typedef interface IXMLDOMEntity IXMLDOMEntity;
#endif

#ifndef __IXMLDOMEntityReference_FWD_DEFINED__
#define __IXMLDOMEntityReference_FWD_DEFINED__
typedef interface IXMLDOMEntityReference IXMLDOMEntityReference;
#endif

#ifndef __IXMLDOMParseError_FWD_DEFINED__
#define __IXMLDOMParseError_FWD_DEFINED__
typedef interface IXMLDOMParseError IXMLDOMParseError;
#endif

#ifndef __IXTLRuntime_FWD_DEFINED__
#define __IXTLRuntime_FWD_DEFINED__
typedef interface IXTLRuntime IXTLRuntime;
#endif

#ifndef __XMLDOMDocumentEvents_FWD_DEFINED__
#define __XMLDOMDocumentEvents_FWD_DEFINED__
typedef interface XMLDOMDocumentEvents XMLDOMDocumentEvents;
#endif

#ifndef __DOMDocument_FWD_DEFINED__
#define __DOMDocument_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMDocument DOMDocument;
#else
typedef struct DOMDocument DOMDocument;
#endif

#endif

#ifndef __DOMFreeThreadedDocument_FWD_DEFINED__
#define __DOMFreeThreadedDocument_FWD_DEFINED__

#ifdef __cplusplus
typedef class DOMFreeThreadedDocument DOMFreeThreadedDocument;
#else
typedef struct DOMFreeThreadedDocument DOMFreeThreadedDocument;
#endif

#endif

#ifndef __IXMLHttpRequest_FWD_DEFINED__
#define __IXMLHttpRequest_FWD_DEFINED__
typedef interface IXMLHttpRequest IXMLHttpRequest;
#endif

#ifndef __XMLHTTPRequest_FWD_DEFINED__
#define __XMLHTTPRequest_FWD_DEFINED__

#ifdef __cplusplus
typedef class XMLHTTPRequest XMLHTTPRequest;
#else
typedef struct XMLHTTPRequest XMLHTTPRequest;
#endif

#endif

#ifndef __IXMLDSOControl_FWD_DEFINED__
#define __IXMLDSOControl_FWD_DEFINED__
typedef interface IXMLDSOControl IXMLDSOControl;
#endif

#ifndef __XMLDSOControl_FWD_DEFINED__
#define __XMLDSOControl_FWD_DEFINED__

#ifdef __cplusplus
typedef class XMLDSOControl XMLDSOControl;
#else
typedef struct XMLDSOControl XMLDSOControl;
#endif

#endif

#ifndef __IXMLElementCollection_FWD_DEFINED__
#define __IXMLElementCollection_FWD_DEFINED__
typedef interface IXMLElementCollection IXMLElementCollection;
#endif

#ifndef __IXMLDocument_FWD_DEFINED__
#define __IXMLDocument_FWD_DEFINED__
typedef interface IXMLDocument IXMLDocument;
#endif

#ifndef __IXMLDocument2_FWD_DEFINED__
#define __IXMLDocument2_FWD_DEFINED__
typedef interface IXMLDocument2 IXMLDocument2;
#endif

#ifndef __IXMLElement_FWD_DEFINED__
#define __IXMLElement_FWD_DEFINED__
typedef interface IXMLElement IXMLElement;
#endif

#ifndef __IXMLElement2_FWD_DEFINED__
#define __IXMLElement2_FWD_DEFINED__
typedef interface IXMLElement2 IXMLElement2;
#endif

#ifndef __IXMLAttribute_FWD_DEFINED__
#define __IXMLAttribute_FWD_DEFINED__
typedef interface IXMLAttribute IXMLAttribute;
#endif

#ifndef __IXMLError_FWD_DEFINED__
#define __IXMLError_FWD_DEFINED__
typedef interface IXMLError IXMLError;
#endif

#ifndef __XMLDocument_FWD_DEFINED__
#define __XMLDocument_FWD_DEFINED__

#ifdef __cplusplus
typedef class XMLDocument XMLDocument;
#else
typedef struct XMLDocument XMLDocument;
#endif

#endif

#include "unknwn.h"
#include "objidl.h"
#include "oaidl.h"

#ifdef __cplusplus
extern "C" {
#endif

void *__RPC_USER MIDL_user_allocate (size_t);
void __RPC_USER MIDL_user_free (void *);

typedef struct _xml_error {
    unsigned int _nLine;
    BSTR _pchBuf;
    unsigned int _cchBuf;
    unsigned int _ich;
    BSTR _pszFound;
    BSTR _pszExpected;
    DWORD _reserved1;
    DWORD _reserved2;
} XML_ERROR;

extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_v0_0_s_ifspec;

#ifndef __MSXML_LIBRARY_DEFINED__
#define __MSXML_LIBRARY_DEFINED__

typedef enum tagDOMNodeType {
    NODE_INVALID = 0,
    NODE_ELEMENT = NODE_INVALID + 1,
    NODE_ATTRIBUTE = NODE_ELEMENT + 1,
    NODE_TEXT = NODE_ATTRIBUTE + 1,
    NODE_CDATA_SECTION = NODE_TEXT + 1,
    NODE_ENTITY_REFERENCE = NODE_CDATA_SECTION + 1,
    NODE_ENTITY = NODE_ENTITY_REFERENCE + 1,
    NODE_PROCESSING_INSTRUCTION = NODE_ENTITY + 1,
    NODE_COMMENT = NODE_PROCESSING_INSTRUCTION + 1,
    NODE_DOCUMENT = NODE_COMMENT + 1,
    NODE_DOCUMENT_TYPE = NODE_DOCUMENT + 1,
    NODE_DOCUMENT_FRAGMENT = NODE_DOCUMENT_TYPE + 1,
    NODE_NOTATION = NODE_DOCUMENT_FRAGMENT + 1
} DOMNodeType;

typedef enum tagXMLEMEM_TYPE {
    XMLELEMTYPE_ELEMENT = 0,
    XMLELEMTYPE_TEXT = XMLELEMTYPE_ELEMENT + 1,
    XMLELEMTYPE_COMMENT = XMLELEMTYPE_TEXT + 1,
    XMLELEMTYPE_DOCUMENT = XMLELEMTYPE_COMMENT + 1,
    XMLELEMTYPE_DTD = XMLELEMTYPE_DOCUMENT + 1,
    XMLELEMTYPE_PI = XMLELEMTYPE_DTD + 1,
    XMLELEMTYPE_OTHER = XMLELEMTYPE_PI + 1
} XMLELEM_TYPE;

EXTERN_C const IID LIBID_MSXML;

#ifndef __IXMLDOMImplementation_INTERFACE_DEFINED__
#define __IXMLDOMImplementation_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMImplementation;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF8F-7B36-11d2-B20E-00C04F983E60") IXMLDOMImplementation:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE hasFeature (BSTR feature, BSTR version, VARIANT_BOOL * hasFeature) = 0;

};
#else
typedef struct IXMLDOMImplementationVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMImplementation * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMImplementation * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMImplementation * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMImplementation * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMImplementation * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMImplementation * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMImplementation * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *hasFeature) (IXMLDOMImplementation * This, BSTR feature, BSTR version, VARIANT_BOOL * hasFeature);
    END_INTERFACE
} IXMLDOMImplementationVtbl;

interface IXMLDOMImplementation {
    CONST_VTBL struct IXMLDOMImplementationVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMImplementation_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMImplementation_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMImplementation_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMImplementation_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMImplementation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMImplementation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMImplementation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMImplementation_hasFeature(This,feature,version,hasFeature)  (This)->lpVtbl->hasFeature(This,feature,version,hasFeature)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMImplementation_hasFeature_Proxy (IXMLDOMImplementation * This, BSTR feature, BSTR version, VARIANT_BOOL * hasFeature);
void __RPC_STUB IXMLDOMImplementation_hasFeature_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMNode_INTERFACE_DEFINED__
#define __IXMLDOMNode_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF80-7B36-11d2-B20E-00C04F983E60") IXMLDOMNode:public IDispatch {
public:
    virtual HRESULT STDMETHODCALLTYPE get_nodeName (BSTR * name) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_nodeValue (VARIANT * value) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_nodeValue (VARIANT value) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_nodeType (DOMNodeType * type) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_parentNode (IXMLDOMNode * * parent) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_childNodes (IXMLDOMNodeList * * childList) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_firstChild (IXMLDOMNode * * firstChild) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_lastChild (IXMLDOMNode * * lastChild) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_previousSibling (IXMLDOMNode * * previousSibling) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_nextSibling (IXMLDOMNode * * nextSibling) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_attributes (IXMLDOMNamedNodeMap * * attributeMap) = 0;
    virtual HRESULT STDMETHODCALLTYPE insertBefore (IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild) = 0;
    virtual HRESULT STDMETHODCALLTYPE replaceChild (IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeChild (IXMLDOMNode * childNode, IXMLDOMNode * * oldChild) = 0;
    virtual HRESULT STDMETHODCALLTYPE appendChild (IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild) = 0;
    virtual HRESULT STDMETHODCALLTYPE hasChildNodes (VARIANT_BOOL * hasChild) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_ownerDocument (IXMLDOMDocument * * DOMDocument) = 0;
    virtual HRESULT STDMETHODCALLTYPE cloneNode (VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_nodeTypeString (BSTR * nodeType) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_text (BSTR * text) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_text (BSTR text) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_specified (VARIANT_BOOL * isSpecified) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_definition (IXMLDOMNode * * definitionNode) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_nodeTypedValue (VARIANT * typedValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_nodeTypedValue (VARIANT typedValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_dataType (VARIANT * dataTypeName) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_dataType (BSTR dataTypeName) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_xml (BSTR * xmlString) = 0;
    virtual HRESULT STDMETHODCALLTYPE transformNode (IXMLDOMNode * stylesheet, BSTR * xmlString) = 0;
    virtual HRESULT STDMETHODCALLTYPE selectNodes (BSTR queryString, IXMLDOMNodeList * * resultList) = 0;
    virtual HRESULT STDMETHODCALLTYPE selectSingleNode (BSTR queryString, IXMLDOMNode * * resultNode) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_parsed (VARIANT_BOOL * isParsed) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_namespaceURI (BSTR * namespaceURI) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_prefix (BSTR * prefixString) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_baseName (BSTR * nameString) = 0;
    virtual HRESULT STDMETHODCALLTYPE transformNodeToObject (IXMLDOMNode * stylesheet, VARIANT outputObject) = 0;
};
#else
typedef struct IXMLDOMNodeVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMNode * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMNode * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMNode * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMNode * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMNode * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMNode * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMNode * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMNode * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMNode * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMNode * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMNode * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMNode * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMNode * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMNode * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMNode * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMNode * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMNode * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMNode * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMNode * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMNode * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMNode * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMNode * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMNode * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMNode * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMNode * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMNode * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMNode * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMNode * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMNode * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMNode * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMNode * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMNode * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMNode * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMNode * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMNode * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMNode * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMNode * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMNode * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMNode * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMNode * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMNode * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMNode * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMNode * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    END_INTERFACE
} IXMLDOMNodeVtbl;

interface IXMLDOMNode {
    CONST_VTBL struct IXMLDOMNodeVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMNode_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMNode_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMNode_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMNode_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMNode_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMNode_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMNode_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMNode_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMNode_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMNode_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMNode_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMNode_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMNode_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMNode_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMNode_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMNode_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMNode_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMNode_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMNode_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMNode_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMNode_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMNode_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMNode_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMNode_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMNode_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMNode_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMNode_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMNode_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMNode_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMNode_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMNode_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMNode_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMNode_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMNode_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMNode_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMNode_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMNode_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMNode_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMNode_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMNode_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_nodeName_Proxy (IXMLDOMNode * This, BSTR * name);
void __RPC_STUB IXMLDOMNode_get_nodeName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_nodeValue_Proxy (IXMLDOMNode * This, VARIANT * value);
void __RPC_STUB IXMLDOMNode_get_nodeValue_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_put_nodeValue_Proxy (IXMLDOMNode * This, VARIANT value);
void __RPC_STUB IXMLDOMNode_put_nodeValue_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_nodeType_Proxy (IXMLDOMNode * This, DOMNodeType * type);
void __RPC_STUB IXMLDOMNode_get_nodeType_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_parentNode_Proxy (IXMLDOMNode * This, IXMLDOMNode * * parent);
void __RPC_STUB IXMLDOMNode_get_parentNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_childNodes_Proxy (IXMLDOMNode * This, IXMLDOMNodeList * * childList);
void __RPC_STUB IXMLDOMNode_get_childNodes_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_firstChild_Proxy (IXMLDOMNode * This, IXMLDOMNode * * firstChild);
void __RPC_STUB IXMLDOMNode_get_firstChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_lastChild_Proxy (IXMLDOMNode * This, IXMLDOMNode * * lastChild);
void __RPC_STUB IXMLDOMNode_get_lastChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_previousSibling_Proxy (IXMLDOMNode * This, IXMLDOMNode * * previousSibling);
void __RPC_STUB IXMLDOMNode_get_previousSibling_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_nextSibling_Proxy (IXMLDOMNode * This, IXMLDOMNode * * nextSibling);
void __RPC_STUB IXMLDOMNode_get_nextSibling_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_attributes_Proxy (IXMLDOMNode * This, IXMLDOMNamedNodeMap * * attributeMap);
void __RPC_STUB IXMLDOMNode_get_attributes_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_insertBefore_Proxy (IXMLDOMNode * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
void __RPC_STUB IXMLDOMNode_insertBefore_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_replaceChild_Proxy (IXMLDOMNode * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
void __RPC_STUB IXMLDOMNode_replaceChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_removeChild_Proxy (IXMLDOMNode * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
void __RPC_STUB IXMLDOMNode_removeChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_appendChild_Proxy (IXMLDOMNode * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
void __RPC_STUB IXMLDOMNode_appendChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_hasChildNodes_Proxy (IXMLDOMNode * This, VARIANT_BOOL * hasChild);
void __RPC_STUB IXMLDOMNode_hasChildNodes_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_ownerDocument_Proxy (IXMLDOMNode * This, IXMLDOMDocument * * DOMDocument);
void __RPC_STUB IXMLDOMNode_get_ownerDocument_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_cloneNode_Proxy (IXMLDOMNode * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
void __RPC_STUB IXMLDOMNode_cloneNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_nodeTypeString_Proxy (IXMLDOMNode * This, BSTR * nodeType);
void __RPC_STUB IXMLDOMNode_get_nodeTypeString_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_text_Proxy (IXMLDOMNode * This, BSTR * text);
void __RPC_STUB IXMLDOMNode_get_text_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_put_text_Proxy (IXMLDOMNode * This, BSTR text);
void __RPC_STUB IXMLDOMNode_put_text_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_specified_Proxy (IXMLDOMNode * This, VARIANT_BOOL * isSpecified);
void __RPC_STUB IXMLDOMNode_get_specified_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_definition_Proxy (IXMLDOMNode * This, IXMLDOMNode * * definitionNode);
void __RPC_STUB IXMLDOMNode_get_definition_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_nodeTypedValue_Proxy (IXMLDOMNode * This, VARIANT * typedValue);
void __RPC_STUB IXMLDOMNode_get_nodeTypedValue_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_put_nodeTypedValue_Proxy (IXMLDOMNode * This, VARIANT typedValue);
void __RPC_STUB IXMLDOMNode_put_nodeTypedValue_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_dataType_Proxy (IXMLDOMNode * This, VARIANT * dataTypeName);
void __RPC_STUB IXMLDOMNode_get_dataType_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_put_dataType_Proxy (IXMLDOMNode * This, BSTR dataTypeName);
void __RPC_STUB IXMLDOMNode_put_dataType_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_xml_Proxy (IXMLDOMNode * This, BSTR * xmlString);
void __RPC_STUB IXMLDOMNode_get_xml_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_transformNode_Proxy (IXMLDOMNode * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
void __RPC_STUB IXMLDOMNode_transformNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_selectNodes_Proxy (IXMLDOMNode * This, BSTR queryString, IXMLDOMNodeList * * resultList);
void __RPC_STUB IXMLDOMNode_selectNodes_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_selectSingleNode_Proxy (IXMLDOMNode * This, BSTR queryString, IXMLDOMNode * * resultNode);
void __RPC_STUB IXMLDOMNode_selectSingleNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_parsed_Proxy (IXMLDOMNode * This, VARIANT_BOOL * isParsed);
void __RPC_STUB IXMLDOMNode_get_parsed_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_namespaceURI_Proxy (IXMLDOMNode * This, BSTR * namespaceURI);
void __RPC_STUB IXMLDOMNode_get_namespaceURI_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_prefix_Proxy (IXMLDOMNode * This, BSTR * prefixString);
void __RPC_STUB IXMLDOMNode_get_prefix_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_get_baseName_Proxy (IXMLDOMNode * This, BSTR * nameString);
void __RPC_STUB IXMLDOMNode_get_baseName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNode_transformNodeToObject_Proxy (IXMLDOMNode * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
void __RPC_STUB IXMLDOMNode_transformNodeToObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMDocumentFragment_INTERFACE_DEFINED__
#define __IXMLDOMDocumentFragment_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMDocumentFragment;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("3efaa413-272f-11d2-836f-0000f87a7782") IXMLDOMDocumentFragment:public IXMLDOMNode {
    public:
};
#else
typedef struct IXMLDOMDocumentFragmentVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMDocumentFragment * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMDocumentFragment * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMDocumentFragment * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMDocumentFragment * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMDocumentFragment * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMDocumentFragment * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMDocumentFragment * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMDocumentFragment * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMDocumentFragment * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMDocumentFragment * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMDocumentFragment * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMDocumentFragment * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMDocumentFragment * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMDocumentFragment * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMDocumentFragment * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMDocumentFragment * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMDocumentFragment * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMDocumentFragment * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMDocumentFragment * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMDocumentFragment * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMDocumentFragment * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMDocumentFragment * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMDocumentFragment * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMDocumentFragment * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMDocumentFragment * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMDocumentFragment * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMDocumentFragment * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMDocumentFragment * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMDocumentFragment * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMDocumentFragment * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMDocumentFragment * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMDocumentFragment * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMDocumentFragment * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMDocumentFragment * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMDocumentFragment * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMDocumentFragment * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMDocumentFragment * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMDocumentFragment * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMDocumentFragment * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMDocumentFragment * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMDocumentFragment * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMDocumentFragment * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMDocumentFragment * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    END_INTERFACE
} IXMLDOMDocumentFragmentVtbl;

interface IXMLDOMDocumentFragment {
    CONST_VTBL struct IXMLDOMDocumentFragmentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMDocumentFragment_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMDocumentFragment_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMDocumentFragment_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMDocumentFragment_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMDocumentFragment_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMDocumentFragment_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMDocumentFragment_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMDocumentFragment_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMDocumentFragment_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMDocumentFragment_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMDocumentFragment_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMDocumentFragment_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMDocumentFragment_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMDocumentFragment_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMDocumentFragment_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMDocumentFragment_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMDocumentFragment_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMDocumentFragment_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMDocumentFragment_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMDocumentFragment_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMDocumentFragment_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMDocumentFragment_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMDocumentFragment_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMDocumentFragment_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMDocumentFragment_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMDocumentFragment_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMDocumentFragment_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMDocumentFragment_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMDocumentFragment_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMDocumentFragment_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMDocumentFragment_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMDocumentFragment_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMDocumentFragment_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMDocumentFragment_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMDocumentFragment_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMDocumentFragment_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMDocumentFragment_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMDocumentFragment_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMDocumentFragment_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMDocumentFragment_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMDocumentFragment_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMDocumentFragment_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMDocumentFragment_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#endif

#endif

#endif

#ifndef __IXMLDOMDocument_INTERFACE_DEFINED__
#define __IXMLDOMDocument_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF81-7B36-11d2-B20E-00C04F983E60") IXMLDOMDocument:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_doctype (IXMLDOMDocumentType * * documentType) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_implementation (IXMLDOMImplementation * * impl) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_documentElement (IXMLDOMElement * * DOMElement) = 0;
    virtual HRESULT STDMETHODCALLTYPE putref_documentElement (IXMLDOMElement * DOMElement) = 0;
    virtual HRESULT STDMETHODCALLTYPE createElement (BSTR tagName, IXMLDOMElement * * element) = 0;
    virtual HRESULT STDMETHODCALLTYPE createDocumentFragment (IXMLDOMDocumentFragment * * docFrag) = 0;
    virtual HRESULT STDMETHODCALLTYPE createTextNode (BSTR data, IXMLDOMText * * text) = 0;
    virtual HRESULT STDMETHODCALLTYPE createComment (BSTR data, IXMLDOMComment * * comment) = 0;
    virtual HRESULT STDMETHODCALLTYPE createCDATASection (BSTR data, IXMLDOMCDATASection * * cdata) = 0;
    virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction (BSTR target, BSTR data, IXMLDOMProcessingInstruction * * pi) = 0;
    virtual HRESULT STDMETHODCALLTYPE createAttribute (BSTR name, IXMLDOMAttribute * * attribute) = 0;
    virtual HRESULT STDMETHODCALLTYPE createEntityReference (BSTR name, IXMLDOMEntityReference * * entityRef) = 0;
    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName (BSTR tagName, IXMLDOMNodeList * * resultList) = 0;
    virtual HRESULT STDMETHODCALLTYPE createNode (VARIANT Type, BSTR name, BSTR namespaceURI, IXMLDOMNode * * node) = 0;
    virtual HRESULT STDMETHODCALLTYPE nodeFromID (BSTR idString, IXMLDOMNode * * node) = 0;
    virtual HRESULT STDMETHODCALLTYPE load (VARIANT xmlSource, VARIANT_BOOL * isSuccessful) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_readyState (long * value) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_parseError (IXMLDOMParseError * * errorObj) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_url (BSTR * urlString) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_async (VARIANT_BOOL * isAsync) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_async (VARIANT_BOOL isAsync) = 0;
    virtual HRESULT STDMETHODCALLTYPE abort (void) = 0;
    virtual HRESULT STDMETHODCALLTYPE loadXML (BSTR bstrXML, VARIANT_BOOL * isSuccessful) = 0;
    virtual HRESULT STDMETHODCALLTYPE save (VARIANT desination) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_validateOnParse (VARIANT_BOOL * isValidating) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_validateOnParse (VARIANT_BOOL isValidating) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_resolveExternals (VARIANT_BOOL * isResolving) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_resolveExternals (VARIANT_BOOL isResolving) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_preserveWhiteSpace (VARIANT_BOOL * isPreserving) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_preserveWhiteSpace (VARIANT_BOOL isPreserving) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange (VARIANT readystatechangeSink) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_ondataavailable (VARIANT ondataavailableSink) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_ontransformnode (VARIANT ontransformnodeSink) = 0;
};
#else
typedef struct IXMLDOMDocumentVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMDocument * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMDocument * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMDocument * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMDocument * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMDocument * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMDocument * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMDocument * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMDocument * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMDocument * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMDocument * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMDocument * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMDocument * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMDocument * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMDocument * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMDocument * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMDocument * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMDocument * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMDocument * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMDocument * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMDocument * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMDocument * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMDocument * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMDocument * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMDocument * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMDocument * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMDocument * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMDocument * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMDocument * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMDocument * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMDocument * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMDocument * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMDocument * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMDocument * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMDocument * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMDocument * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMDocument * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMDocument * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMDocument * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMDocument * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMDocument * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMDocument * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMDocument * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMDocument * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_doctype) (IXMLDOMDocument * This, IXMLDOMDocumentType * * documentType);
    HRESULT (STDMETHODCALLTYPE *get_implementation) (IXMLDOMDocument * This, IXMLDOMImplementation * * impl);
    HRESULT (STDMETHODCALLTYPE *get_documentElement) (IXMLDOMDocument * This, IXMLDOMElement * * DOMElement);
    HRESULT (STDMETHODCALLTYPE *putref_documentElement) (IXMLDOMDocument * This, IXMLDOMElement * DOMElement);
    HRESULT (STDMETHODCALLTYPE *createElement) (IXMLDOMDocument * This, BSTR tagName, IXMLDOMElement * * element);
    HRESULT (STDMETHODCALLTYPE *createDocumentFragment) (IXMLDOMDocument * This, IXMLDOMDocumentFragment * * docFrag);
    HRESULT (STDMETHODCALLTYPE *createTextNode) (IXMLDOMDocument * This, BSTR data, IXMLDOMText * * text);
    HRESULT (STDMETHODCALLTYPE *createComment) (IXMLDOMDocument * This, BSTR data, IXMLDOMComment * * comment);
    HRESULT (STDMETHODCALLTYPE *createCDATASection) (IXMLDOMDocument * This, BSTR data, IXMLDOMCDATASection * * cdata);
    HRESULT (STDMETHODCALLTYPE *createProcessingInstruction) (IXMLDOMDocument * This, BSTR target, BSTR data, IXMLDOMProcessingInstruction * * pi);
    HRESULT (STDMETHODCALLTYPE *createAttribute) (IXMLDOMDocument * This, BSTR name, IXMLDOMAttribute * * attribute);
    HRESULT (STDMETHODCALLTYPE *createEntityReference) (IXMLDOMDocument * This, BSTR name, IXMLDOMEntityReference * * entityRef);
    HRESULT (STDMETHODCALLTYPE *getElementsByTagName) (IXMLDOMDocument * This, BSTR tagName, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *createNode) (IXMLDOMDocument * This, VARIANT Type, BSTR name, BSTR namespaceURI, IXMLDOMNode * * node);
    HRESULT (STDMETHODCALLTYPE *nodeFromID) (IXMLDOMDocument * This, BSTR idString, IXMLDOMNode * * node);
    HRESULT (STDMETHODCALLTYPE *load) (IXMLDOMDocument * This, VARIANT xmlSource, VARIANT_BOOL * isSuccessful);
    HRESULT (STDMETHODCALLTYPE *get_readyState) (IXMLDOMDocument * This, long * value);
    HRESULT (STDMETHODCALLTYPE *get_parseError) (IXMLDOMDocument * This, IXMLDOMParseError * * errorObj);
    HRESULT (STDMETHODCALLTYPE *get_url) (IXMLDOMDocument * This, BSTR * urlString);
    HRESULT (STDMETHODCALLTYPE *get_async) (IXMLDOMDocument * This, VARIANT_BOOL * isAsync);
    HRESULT (STDMETHODCALLTYPE *put_async) (IXMLDOMDocument * This, VARIANT_BOOL isAsync);
    HRESULT (STDMETHODCALLTYPE *abort) (IXMLDOMDocument * This);
    HRESULT (STDMETHODCALLTYPE *loadXML) (IXMLDOMDocument * This, BSTR bstrXML, VARIANT_BOOL * isSuccessful);
    HRESULT (STDMETHODCALLTYPE *save) (IXMLDOMDocument * This, VARIANT desination);
    HRESULT (STDMETHODCALLTYPE *get_validateOnParse) (IXMLDOMDocument * This, VARIANT_BOOL * isValidating);
    HRESULT (STDMETHODCALLTYPE *put_validateOnParse) (IXMLDOMDocument * This, VARIANT_BOOL isValidating);
    HRESULT (STDMETHODCALLTYPE *get_resolveExternals) (IXMLDOMDocument * This, VARIANT_BOOL * isResolving);
    HRESULT (STDMETHODCALLTYPE *put_resolveExternals) (IXMLDOMDocument * This, VARIANT_BOOL isResolving);
    HRESULT (STDMETHODCALLTYPE *get_preserveWhiteSpace) (IXMLDOMDocument * This, VARIANT_BOOL * isPreserving);
    HRESULT (STDMETHODCALLTYPE *put_preserveWhiteSpace) (IXMLDOMDocument * This, VARIANT_BOOL isPreserving);
    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange) (IXMLDOMDocument * This, VARIANT readystatechangeSink);
    HRESULT (STDMETHODCALLTYPE *put_ondataavailable) (IXMLDOMDocument * This, VARIANT ondataavailableSink);
    HRESULT (STDMETHODCALLTYPE *put_ontransformnode) (IXMLDOMDocument * This, VARIANT ontransformnodeSink);
    END_INTERFACE
} IXMLDOMDocumentVtbl;

interface IXMLDOMDocument {
    CONST_VTBL struct IXMLDOMDocumentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMDocument_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMDocument_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMDocument_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMDocument_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMDocument_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMDocument_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMDocument_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMDocument_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMDocument_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMDocument_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMDocument_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMDocument_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMDocument_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMDocument_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMDocument_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMDocument_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMDocument_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMDocument_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMDocument_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMDocument_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMDocument_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMDocument_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMDocument_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMDocument_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMDocument_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMDocument_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMDocument_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMDocument_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMDocument_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMDocument_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMDocument_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMDocument_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMDocument_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMDocument_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMDocument_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMDocument_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMDocument_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMDocument_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMDocument_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMDocument_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMDocument_get_doctype(This,documentType)  (This)->lpVtbl->get_doctype(This,documentType)
#define IXMLDOMDocument_get_implementation(This,impl)  (This)->lpVtbl->get_implementation(This,impl)
#define IXMLDOMDocument_get_documentElement(This,DOMElement)  (This)->lpVtbl->get_documentElement(This,DOMElement)
#define IXMLDOMDocument_putref_documentElement(This,DOMElement)  (This)->lpVtbl->putref_documentElement(This,DOMElement)
#define IXMLDOMDocument_createElement(This,tagName,element)  (This)->lpVtbl->createElement(This,tagName,element)
#define IXMLDOMDocument_createDocumentFragment(This,docFrag)  (This)->lpVtbl->createDocumentFragment(This,docFrag)
#define IXMLDOMDocument_createTextNode(This,data,text)  (This)->lpVtbl->createTextNode(This,data,text)
#define IXMLDOMDocument_createComment(This,data,comment)  (This)->lpVtbl->createComment(This,data,comment)
#define IXMLDOMDocument_createCDATASection(This,data,cdata)  (This)->lpVtbl->createCDATASection(This,data,cdata)
#define IXMLDOMDocument_createProcessingInstruction(This,target,data,pi)  (This)->lpVtbl->createProcessingInstruction(This,target,data,pi)
#define IXMLDOMDocument_createAttribute(This,name,attribute)  (This)->lpVtbl->createAttribute(This,name,attribute)
#define IXMLDOMDocument_createEntityReference(This,name,entityRef)  (This)->lpVtbl->createEntityReference(This,name,entityRef)
#define IXMLDOMDocument_getElementsByTagName(This,tagName,resultList)  (This)->lpVtbl->getElementsByTagName(This,tagName,resultList)
#define IXMLDOMDocument_createNode(This,Type,name,namespaceURI,node)  (This)->lpVtbl->createNode(This,Type,name,namespaceURI,node)
#define IXMLDOMDocument_nodeFromID(This,idString,node)  (This)->lpVtbl->nodeFromID(This,idString,node)
#define IXMLDOMDocument_load(This,xmlSource,isSuccessful)  (This)->lpVtbl->load(This,xmlSource,isSuccessful)
#define IXMLDOMDocument_get_readyState(This,value)  (This)->lpVtbl->get_readyState(This,value)
#define IXMLDOMDocument_get_parseError(This,errorObj)  (This)->lpVtbl->get_parseError(This,errorObj)
#define IXMLDOMDocument_get_url(This,urlString)  (This)->lpVtbl->get_url(This,urlString)
#define IXMLDOMDocument_get_async(This,isAsync)  (This)->lpVtbl->get_async(This,isAsync)
#define IXMLDOMDocument_put_async(This,isAsync)  (This)->lpVtbl->put_async(This,isAsync)
#define IXMLDOMDocument_abort(This)  (This)->lpVtbl->abort(This)
#define IXMLDOMDocument_loadXML(This,bstrXML,isSuccessful)  (This)->lpVtbl->loadXML(This,bstrXML,isSuccessful)
#define IXMLDOMDocument_save(This,desination)  (This)->lpVtbl->save(This,desination)
#define IXMLDOMDocument_get_validateOnParse(This,isValidating)  (This)->lpVtbl->get_validateOnParse(This,isValidating)
#define IXMLDOMDocument_put_validateOnParse(This,isValidating)  (This)->lpVtbl->put_validateOnParse(This,isValidating)
#define IXMLDOMDocument_get_resolveExternals(This,isResolving)  (This)->lpVtbl->get_resolveExternals(This,isResolving)
#define IXMLDOMDocument_put_resolveExternals(This,isResolving)  (This)->lpVtbl->put_resolveExternals(This,isResolving)
#define IXMLDOMDocument_get_preserveWhiteSpace(This,isPreserving)  (This)->lpVtbl->get_preserveWhiteSpace(This,isPreserving)
#define IXMLDOMDocument_put_preserveWhiteSpace(This,isPreserving)  (This)->lpVtbl->put_preserveWhiteSpace(This,isPreserving)
#define IXMLDOMDocument_put_onreadystatechange(This,readystatechangeSink)  (This)->lpVtbl->put_onreadystatechange(This,readystatechangeSink)
#define IXMLDOMDocument_put_ondataavailable(This,ondataavailableSink)  (This)->lpVtbl->put_ondataavailable(This,ondataavailableSink)
#define IXMLDOMDocument_put_ontransformnode(This,ontransformnodeSink)  (This)->lpVtbl->put_ontransformnode(This,ontransformnodeSink)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_doctype_Proxy (IXMLDOMDocument * This, IXMLDOMDocumentType * * documentType);
void __RPC_STUB IXMLDOMDocument_get_doctype_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_implementation_Proxy (IXMLDOMDocument * This, IXMLDOMImplementation * * impl);
void __RPC_STUB IXMLDOMDocument_get_implementation_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_documentElement_Proxy (IXMLDOMDocument * This, IXMLDOMElement * * DOMElement);
void __RPC_STUB IXMLDOMDocument_get_documentElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_putref_documentElement_Proxy (IXMLDOMDocument * This, IXMLDOMElement * DOMElement);
void __RPC_STUB IXMLDOMDocument_putref_documentElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createElement_Proxy (IXMLDOMDocument * This, BSTR tagName, IXMLDOMElement * * element);
void __RPC_STUB IXMLDOMDocument_createElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createDocumentFragment_Proxy (IXMLDOMDocument * This, IXMLDOMDocumentFragment * * docFrag);
void __RPC_STUB IXMLDOMDocument_createDocumentFragment_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createTextNode_Proxy (IXMLDOMDocument * This, BSTR data, IXMLDOMText * * text);
void __RPC_STUB IXMLDOMDocument_createTextNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createComment_Proxy (IXMLDOMDocument * This, BSTR data, IXMLDOMComment * * comment);
void __RPC_STUB IXMLDOMDocument_createComment_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createCDATASection_Proxy (IXMLDOMDocument * This, BSTR data, IXMLDOMCDATASection * * cdata);
void __RPC_STUB IXMLDOMDocument_createCDATASection_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createProcessingInstruction_Proxy (IXMLDOMDocument * This, BSTR target, BSTR data, IXMLDOMProcessingInstruction * * pi);
void __RPC_STUB IXMLDOMDocument_createProcessingInstruction_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createAttribute_Proxy (IXMLDOMDocument * This, BSTR name, IXMLDOMAttribute * * attribute);
void __RPC_STUB IXMLDOMDocument_createAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createEntityReference_Proxy (IXMLDOMDocument * This, BSTR name, IXMLDOMEntityReference * * entityRef);
void __RPC_STUB IXMLDOMDocument_createEntityReference_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_getElementsByTagName_Proxy (IXMLDOMDocument * This, BSTR tagName, IXMLDOMNodeList * * resultList);
void __RPC_STUB IXMLDOMDocument_getElementsByTagName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_createNode_Proxy (IXMLDOMDocument * This, VARIANT Type, BSTR name, BSTR namespaceURI, IXMLDOMNode * * node);
void __RPC_STUB IXMLDOMDocument_createNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_nodeFromID_Proxy (IXMLDOMDocument * This, BSTR idString, IXMLDOMNode * * node);
void __RPC_STUB IXMLDOMDocument_nodeFromID_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_load_Proxy (IXMLDOMDocument * This, VARIANT xmlSource, VARIANT_BOOL * isSuccessful);
void __RPC_STUB IXMLDOMDocument_load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_readyState_Proxy (IXMLDOMDocument * This, long * value);
void __RPC_STUB IXMLDOMDocument_get_readyState_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_parseError_Proxy (IXMLDOMDocument * This, IXMLDOMParseError * * errorObj);
void __RPC_STUB IXMLDOMDocument_get_parseError_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_url_Proxy (IXMLDOMDocument * This, BSTR * urlString);
void __RPC_STUB IXMLDOMDocument_get_url_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_async_Proxy (IXMLDOMDocument * This, VARIANT_BOOL * isAsync);
void __RPC_STUB IXMLDOMDocument_get_async_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_put_async_Proxy (IXMLDOMDocument * This, VARIANT_BOOL isAsync);
void __RPC_STUB IXMLDOMDocument_put_async_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_abort_Proxy (IXMLDOMDocument * This);
void __RPC_STUB IXMLDOMDocument_abort_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_loadXML_Proxy (IXMLDOMDocument * This, BSTR bstrXML, VARIANT_BOOL * isSuccessful);
void __RPC_STUB IXMLDOMDocument_loadXML_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_save_Proxy (IXMLDOMDocument * This, VARIANT desination);
void __RPC_STUB IXMLDOMDocument_save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_validateOnParse_Proxy (IXMLDOMDocument * This, VARIANT_BOOL * isValidating);
void __RPC_STUB IXMLDOMDocument_get_validateOnParse_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_put_validateOnParse_Proxy (IXMLDOMDocument * This, VARIANT_BOOL isValidating);
void __RPC_STUB IXMLDOMDocument_put_validateOnParse_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_resolveExternals_Proxy (IXMLDOMDocument * This, VARIANT_BOOL * isResolving);
void __RPC_STUB IXMLDOMDocument_get_resolveExternals_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_put_resolveExternals_Proxy (IXMLDOMDocument * This, VARIANT_BOOL isResolving);
void __RPC_STUB IXMLDOMDocument_put_resolveExternals_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_get_preserveWhiteSpace_Proxy (IXMLDOMDocument * This, VARIANT_BOOL * isPreserving);
void __RPC_STUB IXMLDOMDocument_get_preserveWhiteSpace_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_put_preserveWhiteSpace_Proxy (IXMLDOMDocument * This, VARIANT_BOOL isPreserving);
void __RPC_STUB IXMLDOMDocument_put_preserveWhiteSpace_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_put_onreadystatechange_Proxy (IXMLDOMDocument * This, VARIANT readystatechangeSink);
void __RPC_STUB IXMLDOMDocument_put_onreadystatechange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_put_ondataavailable_Proxy (IXMLDOMDocument * This, VARIANT ondataavailableSink);
void __RPC_STUB IXMLDOMDocument_put_ondataavailable_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocument_put_ontransformnode_Proxy (IXMLDOMDocument * This, VARIANT ontransformnodeSink);
void __RPC_STUB IXMLDOMDocument_put_ontransformnode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMNodeList_INTERFACE_DEFINED__
#define __IXMLDOMNodeList_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMNodeList;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF82-7B36-11d2-B20E-00C04F983E60") IXMLDOMNodeList:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_item (long index, IXMLDOMNode * * listItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_length (long * listLength) = 0;
    virtual HRESULT STDMETHODCALLTYPE nextNode (IXMLDOMNode * * nextItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE reset (void) = 0;
    virtual HRESULT STDMETHODCALLTYPE get__newEnum (IUnknown * * ppUnk) = 0;
};
#else
typedef struct IXMLDOMNodeListVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMNodeList * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMNodeList * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMNodeList * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMNodeList * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMNodeList * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMNodeList * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMNodeList * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_item) (IXMLDOMNodeList * This, long index, IXMLDOMNode * * listItem);
    HRESULT (STDMETHODCALLTYPE *get_length) (IXMLDOMNodeList * This, long * listLength);
    HRESULT (STDMETHODCALLTYPE *nextNode) (IXMLDOMNodeList * This, IXMLDOMNode * * nextItem);
    HRESULT (STDMETHODCALLTYPE *reset) (IXMLDOMNodeList * This);
    HRESULT (STDMETHODCALLTYPE *get__newEnum) (IXMLDOMNodeList * This, IUnknown * * ppUnk);
    END_INTERFACE
} IXMLDOMNodeListVtbl;

interface IXMLDOMNodeList {
    CONST_VTBL struct IXMLDOMNodeListVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMNodeList_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMNodeList_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMNodeList_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMNodeList_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMNodeList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMNodeList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMNodeList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMNodeList_get_item(This,index,listItem)  (This)->lpVtbl->get_item(This,index,listItem)
#define IXMLDOMNodeList_get_length(This,listLength)  (This)->lpVtbl->get_length(This,listLength)
#define IXMLDOMNodeList_nextNode(This,nextItem)  (This)->lpVtbl->nextNode(This,nextItem)
#define IXMLDOMNodeList_reset(This)  (This)->lpVtbl->reset(This)
#define IXMLDOMNodeList_get__newEnum(This,ppUnk)  (This)->lpVtbl->get__newEnum(This,ppUnk)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMNodeList_get_item_Proxy (IXMLDOMNodeList * This, long index, IXMLDOMNode * * listItem);
void __RPC_STUB IXMLDOMNodeList_get_item_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNodeList_get_length_Proxy (IXMLDOMNodeList * This, long * listLength);
void __RPC_STUB IXMLDOMNodeList_get_length_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNodeList_nextNode_Proxy (IXMLDOMNodeList * This, IXMLDOMNode * * nextItem);
void __RPC_STUB IXMLDOMNodeList_nextNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNodeList_reset_Proxy (IXMLDOMNodeList * This);
void __RPC_STUB IXMLDOMNodeList_reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNodeList_get__newEnum_Proxy (IXMLDOMNodeList * This, IUnknown * * ppUnk);
void __RPC_STUB IXMLDOMNodeList_get__newEnum_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMNamedNodeMap_INTERFACE_DEFINED__
#define __IXMLDOMNamedNodeMap_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMNamedNodeMap;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF83-7B36-11d2-B20E-00C04F983E60") IXMLDOMNamedNodeMap:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE getNamedItem (BSTR name, IXMLDOMNode * * namedItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE setNamedItem (IXMLDOMNode * newItem, IXMLDOMNode * * nameItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeNamedItem (BSTR name, IXMLDOMNode * * namedItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_item (long index, IXMLDOMNode * * listItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_length (long * listLength) = 0;
    virtual HRESULT STDMETHODCALLTYPE getQualifiedItem (BSTR baseName, BSTR namespaceURI, IXMLDOMNode * * qualifiedItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeQualifiedItem (BSTR baseName, BSTR namespaceURI, IXMLDOMNode * * qualifiedItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE nextNode (IXMLDOMNode * * nextItem) = 0;
    virtual HRESULT STDMETHODCALLTYPE reset (void) = 0;
    virtual HRESULT STDMETHODCALLTYPE get__newEnum (IUnknown * * ppUnk) = 0;
};
#else
typedef struct IXMLDOMNamedNodeMapVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMNamedNodeMap * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMNamedNodeMap * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMNamedNodeMap * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMNamedNodeMap * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMNamedNodeMap * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMNamedNodeMap * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMNamedNodeMap * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *getNamedItem) (IXMLDOMNamedNodeMap * This, BSTR name, IXMLDOMNode * * namedItem);
    HRESULT (STDMETHODCALLTYPE *setNamedItem) (IXMLDOMNamedNodeMap * This, IXMLDOMNode * newItem, IXMLDOMNode * * nameItem);
    HRESULT (STDMETHODCALLTYPE *removeNamedItem) (IXMLDOMNamedNodeMap * This, BSTR name, IXMLDOMNode * * namedItem);
    HRESULT (STDMETHODCALLTYPE *get_item) (IXMLDOMNamedNodeMap * This, long index, IXMLDOMNode * * listItem);
    HRESULT (STDMETHODCALLTYPE *get_length) (IXMLDOMNamedNodeMap * This, long * listLength);
    HRESULT (STDMETHODCALLTYPE *getQualifiedItem) (IXMLDOMNamedNodeMap * This, BSTR baseName, BSTR namespaceURI, IXMLDOMNode * * qualifiedItem);
    HRESULT (STDMETHODCALLTYPE *removeQualifiedItem) (IXMLDOMNamedNodeMap * This, BSTR baseName, BSTR namespaceURI, IXMLDOMNode * * qualifiedItem);
    HRESULT (STDMETHODCALLTYPE *nextNode) (IXMLDOMNamedNodeMap * This, IXMLDOMNode * * nextItem);
    HRESULT (STDMETHODCALLTYPE *reset) (IXMLDOMNamedNodeMap * This);
    HRESULT (STDMETHODCALLTYPE *get__newEnum) (IXMLDOMNamedNodeMap * This, IUnknown * * ppUnk);
    END_INTERFACE
} IXMLDOMNamedNodeMapVtbl;

interface IXMLDOMNamedNodeMap {
    CONST_VTBL struct IXMLDOMNamedNodeMapVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMNamedNodeMap_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMNamedNodeMap_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMNamedNodeMap_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMNamedNodeMap_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMNamedNodeMap_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMNamedNodeMap_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMNamedNodeMap_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMNamedNodeMap_getNamedItem(This,name,namedItem)  (This)->lpVtbl->getNamedItem(This,name,namedItem)
#define IXMLDOMNamedNodeMap_setNamedItem(This,newItem,nameItem)  (This)->lpVtbl->setNamedItem(This,newItem,nameItem)
#define IXMLDOMNamedNodeMap_removeNamedItem(This,name,namedItem)  (This)->lpVtbl->removeNamedItem(This,name,namedItem)
#define IXMLDOMNamedNodeMap_get_item(This,index,listItem)  (This)->lpVtbl->get_item(This,index,listItem)
#define IXMLDOMNamedNodeMap_get_length(This,listLength)  (This)->lpVtbl->get_length(This,listLength)
#define IXMLDOMNamedNodeMap_getQualifiedItem(This,baseName,namespaceURI,qualifiedItem)  (This)->lpVtbl->getQualifiedItem(This,baseName,namespaceURI,qualifiedItem)
#define IXMLDOMNamedNodeMap_removeQualifiedItem(This,baseName,namespaceURI,qualifiedItem)  (This)->lpVtbl->removeQualifiedItem(This,baseName,namespaceURI,qualifiedItem)
#define IXMLDOMNamedNodeMap_nextNode(This,nextItem)  (This)->lpVtbl->nextNode(This,nextItem)
#define IXMLDOMNamedNodeMap_reset(This)  (This)->lpVtbl->reset(This)
#define IXMLDOMNamedNodeMap_get__newEnum(This,ppUnk)  (This)->lpVtbl->get__newEnum(This,ppUnk)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_getNamedItem_Proxy (IXMLDOMNamedNodeMap * This, BSTR name, IXMLDOMNode * * namedItem);
void __RPC_STUB IXMLDOMNamedNodeMap_getNamedItem_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_setNamedItem_Proxy (IXMLDOMNamedNodeMap * This, IXMLDOMNode * newItem, IXMLDOMNode * * nameItem);
void __RPC_STUB IXMLDOMNamedNodeMap_setNamedItem_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_removeNamedItem_Proxy (IXMLDOMNamedNodeMap * This, BSTR name, IXMLDOMNode * * namedItem);
void __RPC_STUB IXMLDOMNamedNodeMap_removeNamedItem_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_get_item_Proxy (IXMLDOMNamedNodeMap * This, long index, IXMLDOMNode * * listItem);
void __RPC_STUB IXMLDOMNamedNodeMap_get_item_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_get_length_Proxy (IXMLDOMNamedNodeMap * This, long * listLength);
void __RPC_STUB IXMLDOMNamedNodeMap_get_length_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_getQualifiedItem_Proxy (IXMLDOMNamedNodeMap * This, BSTR baseName, BSTR namespaceURI, IXMLDOMNode * * qualifiedItem);
void __RPC_STUB IXMLDOMNamedNodeMap_getQualifiedItem_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_removeQualifiedItem_Proxy (IXMLDOMNamedNodeMap * This, BSTR baseName, BSTR namespaceURI, IXMLDOMNode * * qualifiedItem);
void __RPC_STUB IXMLDOMNamedNodeMap_removeQualifiedItem_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_nextNode_Proxy (IXMLDOMNamedNodeMap * This, IXMLDOMNode * * nextItem);
void __RPC_STUB IXMLDOMNamedNodeMap_nextNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_reset_Proxy (IXMLDOMNamedNodeMap * This);
void __RPC_STUB IXMLDOMNamedNodeMap_reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNamedNodeMap_get__newEnum_Proxy (IXMLDOMNamedNodeMap * This, IUnknown * * ppUnk);
void __RPC_STUB IXMLDOMNamedNodeMap_get__newEnum_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMCharacterData_INTERFACE_DEFINED__
#define __IXMLDOMCharacterData_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMCharacterData;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF84-7B36-11d2-B20E-00C04F983E60") IXMLDOMCharacterData:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_data (BSTR * data) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_data (BSTR data) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_length (long * dataLength) = 0;
    virtual HRESULT STDMETHODCALLTYPE substringData (long offset, long count, BSTR * data) = 0;
    virtual HRESULT STDMETHODCALLTYPE appendData (BSTR data) = 0;
    virtual HRESULT STDMETHODCALLTYPE insertData (long offset, BSTR data) = 0;
    virtual HRESULT STDMETHODCALLTYPE deleteData (long offset, long count) = 0;
    virtual HRESULT STDMETHODCALLTYPE replaceData (long offset, long count, BSTR data) = 0;
};
#else
typedef struct IXMLDOMCharacterDataVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMCharacterData * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMCharacterData * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMCharacterData * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMCharacterData * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMCharacterData * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMCharacterData * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMCharacterData * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMCharacterData * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMCharacterData * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMCharacterData * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMCharacterData * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMCharacterData * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMCharacterData * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMCharacterData * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMCharacterData * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMCharacterData * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMCharacterData * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMCharacterData * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMCharacterData * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMCharacterData * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMCharacterData * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMCharacterData * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMCharacterData * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMCharacterData * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMCharacterData * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMCharacterData * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMCharacterData * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMCharacterData * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMCharacterData * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMCharacterData * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMCharacterData * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMCharacterData * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMCharacterData * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMCharacterData * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMCharacterData * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMCharacterData * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMCharacterData * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMCharacterData * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMCharacterData * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMCharacterData * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMCharacterData * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMCharacterData * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMCharacterData * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_data) (IXMLDOMCharacterData * This, BSTR * data);
    HRESULT (STDMETHODCALLTYPE *put_data) (IXMLDOMCharacterData * This, BSTR data);
    HRESULT (STDMETHODCALLTYPE *get_length) (IXMLDOMCharacterData * This, long * dataLength);
    HRESULT (STDMETHODCALLTYPE *substringData) (IXMLDOMCharacterData * This, long offset, long count, BSTR * data);
    HRESULT (STDMETHODCALLTYPE *appendData) (IXMLDOMCharacterData * This, BSTR data);
    HRESULT (STDMETHODCALLTYPE *insertData) (IXMLDOMCharacterData * This, long offset, BSTR data);
    HRESULT (STDMETHODCALLTYPE *deleteData) (IXMLDOMCharacterData * This, long offset, long count);
    HRESULT (STDMETHODCALLTYPE *replaceData) (IXMLDOMCharacterData * This, long offset, long count, BSTR data);
    END_INTERFACE
} IXMLDOMCharacterDataVtbl;

interface IXMLDOMCharacterData {
    CONST_VTBL struct IXMLDOMCharacterDataVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMCharacterData_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMCharacterData_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMCharacterData_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMCharacterData_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMCharacterData_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMCharacterData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMCharacterData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMCharacterData_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMCharacterData_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMCharacterData_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMCharacterData_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMCharacterData_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMCharacterData_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMCharacterData_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMCharacterData_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMCharacterData_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMCharacterData_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMCharacterData_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMCharacterData_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMCharacterData_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMCharacterData_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMCharacterData_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMCharacterData_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMCharacterData_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMCharacterData_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMCharacterData_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMCharacterData_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMCharacterData_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMCharacterData_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMCharacterData_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMCharacterData_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMCharacterData_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMCharacterData_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMCharacterData_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMCharacterData_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMCharacterData_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMCharacterData_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMCharacterData_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMCharacterData_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMCharacterData_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMCharacterData_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMCharacterData_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMCharacterData_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMCharacterData_get_data(This,data)  (This)->lpVtbl->get_data(This,data)
#define IXMLDOMCharacterData_put_data(This,data)  (This)->lpVtbl->put_data(This,data)
#define IXMLDOMCharacterData_get_length(This,dataLength)  (This)->lpVtbl->get_length(This,dataLength)
#define IXMLDOMCharacterData_substringData(This,offset,count,data)  (This)->lpVtbl->substringData(This,offset,count,data)
#define IXMLDOMCharacterData_appendData(This,data)  (This)->lpVtbl->appendData(This,data)
#define IXMLDOMCharacterData_insertData(This,offset,data)  (This)->lpVtbl->insertData(This,offset,data)
#define IXMLDOMCharacterData_deleteData(This,offset,count)  (This)->lpVtbl->deleteData(This,offset,count)
#define IXMLDOMCharacterData_replaceData(This,offset,count,data)  (This)->lpVtbl->replaceData(This,offset,count,data)

#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMCharacterData_get_data_Proxy (IXMLDOMCharacterData * This, BSTR * data);
void __RPC_STUB IXMLDOMCharacterData_get_data_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMCharacterData_put_data_Proxy (IXMLDOMCharacterData * This, BSTR data);
void __RPC_STUB IXMLDOMCharacterData_put_data_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMCharacterData_get_length_Proxy (IXMLDOMCharacterData * This, long * dataLength);
void __RPC_STUB IXMLDOMCharacterData_get_length_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMCharacterData_substringData_Proxy (IXMLDOMCharacterData * This, long offset, long count, BSTR * data);
void __RPC_STUB IXMLDOMCharacterData_substringData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMCharacterData_appendData_Proxy (IXMLDOMCharacterData * This, BSTR data);
void __RPC_STUB IXMLDOMCharacterData_appendData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMCharacterData_insertData_Proxy (IXMLDOMCharacterData * This, long offset, BSTR data);
void __RPC_STUB IXMLDOMCharacterData_insertData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMCharacterData_deleteData_Proxy (IXMLDOMCharacterData * This, long offset, long count);
void __RPC_STUB IXMLDOMCharacterData_deleteData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMCharacterData_replaceData_Proxy (IXMLDOMCharacterData * This, long offset, long count, BSTR data);
void __RPC_STUB IXMLDOMCharacterData_replaceData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMAttribute_INTERFACE_DEFINED__
#define __IXMLDOMAttribute_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMAttribute;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF85-7B36-11d2-B20E-00C04F983E60") IXMLDOMAttribute:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_name (BSTR * attributeName) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_value (VARIANT * attributeValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_value (VARIANT attributeValue) = 0;
};
#else
typedef struct IXMLDOMAttributeVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMAttribute * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMAttribute * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMAttribute * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMAttribute * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMAttribute * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMAttribute * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMAttribute * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMAttribute * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMAttribute * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMAttribute * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMAttribute * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMAttribute * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMAttribute * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMAttribute * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMAttribute * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMAttribute * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMAttribute * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMAttribute * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMAttribute * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMAttribute * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMAttribute * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMAttribute * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMAttribute * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMAttribute * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMAttribute * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMAttribute * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMAttribute * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMAttribute * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMAttribute * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMAttribute * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMAttribute * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMAttribute * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMAttribute * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMAttribute * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMAttribute * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMAttribute * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMAttribute * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMAttribute * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMAttribute * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMAttribute * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMAttribute * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMAttribute * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMAttribute * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_name) (IXMLDOMAttribute * This, BSTR * attributeName);
    HRESULT (STDMETHODCALLTYPE *get_value) (IXMLDOMAttribute * This, VARIANT * attributeValue);
    HRESULT (STDMETHODCALLTYPE *put_value) (IXMLDOMAttribute * This, VARIANT attributeValue);
    END_INTERFACE
} IXMLDOMAttributeVtbl;

interface IXMLDOMAttribute {
    CONST_VTBL struct IXMLDOMAttributeVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMAttribute_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMAttribute_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMAttribute_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMAttribute_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMAttribute_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMAttribute_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMAttribute_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMAttribute_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMAttribute_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMAttribute_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMAttribute_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMAttribute_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMAttribute_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMAttribute_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMAttribute_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMAttribute_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMAttribute_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMAttribute_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMAttribute_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMAttribute_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMAttribute_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMAttribute_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMAttribute_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMAttribute_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMAttribute_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMAttribute_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMAttribute_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMAttribute_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMAttribute_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMAttribute_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMAttribute_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMAttribute_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMAttribute_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMAttribute_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMAttribute_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMAttribute_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMAttribute_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMAttribute_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMAttribute_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMAttribute_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMAttribute_get_name(This,attributeName)  (This)->lpVtbl->get_name(This,attributeName)
#define IXMLDOMAttribute_get_value(This,attributeValue)  (This)->lpVtbl->get_value(This,attributeValue)
#define IXMLDOMAttribute_put_value(This,attributeValue)  (This)->lpVtbl->put_value(This,attributeValue)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMAttribute_get_name_Proxy (IXMLDOMAttribute * This, BSTR * attributeName);
void __RPC_STUB IXMLDOMAttribute_get_name_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMAttribute_get_value_Proxy (IXMLDOMAttribute * This, VARIANT * attributeValue);
void __RPC_STUB IXMLDOMAttribute_get_value_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMAttribute_put_value_Proxy (IXMLDOMAttribute * This, VARIANT attributeValue);
void __RPC_STUB IXMLDOMAttribute_put_value_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMElement_INTERFACE_DEFINED__
#define __IXMLDOMElement_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF86-7B36-11d2-B20E-00C04F983E60") IXMLDOMElement:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_tagName (BSTR * tagName) = 0;
    virtual HRESULT STDMETHODCALLTYPE getAttribute (BSTR name, VARIANT * value) = 0;
    virtual HRESULT STDMETHODCALLTYPE setAttribute (BSTR name, VARIANT value) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeAttribute (BSTR name) = 0;
    virtual HRESULT STDMETHODCALLTYPE getAttributeNode (BSTR name, IXMLDOMAttribute * * attributeNode) = 0;
    virtual HRESULT STDMETHODCALLTYPE setAttributeNode (IXMLDOMAttribute * DOMAttribute, IXMLDOMAttribute * * attributeNode) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode (IXMLDOMAttribute * DOMAttribute, IXMLDOMAttribute * * attributeNode) = 0;
    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName (BSTR tagName, IXMLDOMNodeList * * resultList) = 0;
    virtual HRESULT STDMETHODCALLTYPE normalize (void) = 0;
};
#else
typedef struct IXMLDOMElementVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMElement * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMElement * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMElement * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMElement * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMElement * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMElement * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMElement * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMElement * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMElement * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMElement * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMElement * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMElement * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMElement * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMElement * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMElement * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMElement * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMElement * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMElement * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMElement * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMElement * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMElement * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMElement * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMElement * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMElement * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMElement * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMElement * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMElement * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMElement * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMElement * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMElement * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMElement * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMElement * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMElement * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMElement * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMElement * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMElement * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMElement * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMElement * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMElement * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMElement * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMElement * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMElement * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMElement * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_tagName) (IXMLDOMElement * This, BSTR * tagName);
    HRESULT (STDMETHODCALLTYPE *getAttribute) (IXMLDOMElement * This, BSTR name, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *setAttribute) (IXMLDOMElement * This, BSTR name, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *removeAttribute) (IXMLDOMElement * This, BSTR name);
    HRESULT (STDMETHODCALLTYPE *getAttributeNode) (IXMLDOMElement * This, BSTR name, IXMLDOMAttribute * * attributeNode);
    HRESULT (STDMETHODCALLTYPE *setAttributeNode) (IXMLDOMElement * This, IXMLDOMAttribute * DOMAttribute, IXMLDOMAttribute * * attributeNode);
    HRESULT (STDMETHODCALLTYPE *removeAttributeNode) (IXMLDOMElement * This, IXMLDOMAttribute * DOMAttribute, IXMLDOMAttribute * * attributeNode);
    HRESULT (STDMETHODCALLTYPE *getElementsByTagName) (IXMLDOMElement * This, BSTR tagName, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *normalize) (IXMLDOMElement * This);
    END_INTERFACE
} IXMLDOMElementVtbl;

interface IXMLDOMElement {
    CONST_VTBL struct IXMLDOMElementVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMElement_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMElement_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMElement_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMElement_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMElement_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMElement_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMElement_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMElement_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMElement_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMElement_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMElement_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMElement_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMElement_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMElement_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMElement_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMElement_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMElement_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMElement_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMElement_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMElement_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMElement_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMElement_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMElement_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMElement_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMElement_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMElement_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMElement_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMElement_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMElement_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMElement_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMElement_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMElement_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMElement_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMElement_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMElement_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMElement_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMElement_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMElement_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMElement_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMElement_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMElement_get_tagName(This,tagName)  (This)->lpVtbl->get_tagName(This,tagName)
#define IXMLDOMElement_getAttribute(This,name,value)  (This)->lpVtbl->getAttribute(This,name,value)
#define IXMLDOMElement_setAttribute(This,name,value)  (This)->lpVtbl->setAttribute(This,name,value)
#define IXMLDOMElement_removeAttribute(This,name)  (This)->lpVtbl->removeAttribute(This,name)
#define IXMLDOMElement_getAttributeNode(This,name,attributeNode)  (This)->lpVtbl->getAttributeNode(This,name,attributeNode)
#define IXMLDOMElement_setAttributeNode(This,DOMAttribute,attributeNode)  (This)->lpVtbl->setAttributeNode(This,DOMAttribute,attributeNode)
#define IXMLDOMElement_removeAttributeNode(This,DOMAttribute,attributeNode)  (This)->lpVtbl->removeAttributeNode(This,DOMAttribute,attributeNode)
#define IXMLDOMElement_getElementsByTagName(This,tagName,resultList)  (This)->lpVtbl->getElementsByTagName(This,tagName,resultList)
#define IXMLDOMElement_normalize(This)  (This)->lpVtbl->normalize(This)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMElement_get_tagName_Proxy (IXMLDOMElement * This, BSTR * tagName);
void __RPC_STUB IXMLDOMElement_get_tagName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMElement_getAttribute_Proxy (IXMLDOMElement * This, BSTR name, VARIANT * value);
void __RPC_STUB IXMLDOMElement_getAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMElement_setAttribute_Proxy (IXMLDOMElement * This, BSTR name, VARIANT value);
void __RPC_STUB IXMLDOMElement_setAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMElement_removeAttribute_Proxy (IXMLDOMElement * This, BSTR name);
void __RPC_STUB IXMLDOMElement_removeAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMElement_getAttributeNode_Proxy (IXMLDOMElement * This, BSTR name, IXMLDOMAttribute * * attributeNode);
void __RPC_STUB IXMLDOMElement_getAttributeNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMElement_setAttributeNode_Proxy (IXMLDOMElement * This, IXMLDOMAttribute * DOMAttribute, IXMLDOMAttribute * * attributeNode);
void __RPC_STUB IXMLDOMElement_setAttributeNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMElement_removeAttributeNode_Proxy (IXMLDOMElement * This, IXMLDOMAttribute * DOMAttribute, IXMLDOMAttribute * * attributeNode);
void __RPC_STUB IXMLDOMElement_removeAttributeNode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMElement_getElementsByTagName_Proxy (IXMLDOMElement * This, BSTR tagName, IXMLDOMNodeList * * resultList);
void __RPC_STUB IXMLDOMElement_getElementsByTagName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMElement_normalize_Proxy (IXMLDOMElement * This);
void __RPC_STUB IXMLDOMElement_normalize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMText_INTERFACE_DEFINED__
#define __IXMLDOMText_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMText;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF87-7B36-11d2-B20E-00C04F983E60") IXMLDOMText:public IXMLDOMCharacterData {
    public:
    virtual HRESULT STDMETHODCALLTYPE splitText (long offset, IXMLDOMText * * rightHandTextNode) = 0;
};
#else
typedef struct IXMLDOMTextVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMText * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMText * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMText * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMText * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMText * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMText * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMText * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMText * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMText * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMText * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMText * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMText * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMText * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMText * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMText * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMText * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMText * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMText * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMText * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMText * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMText * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMText * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMText * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMText * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMText * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMText * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMText * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMText * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMText * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMText * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMText * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMText * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMText * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMText * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMText * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMText * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMText * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMText * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMText * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMText * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMText * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMText * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMText * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_data) (IXMLDOMText * This, BSTR * data);
    HRESULT (STDMETHODCALLTYPE *put_data) (IXMLDOMText * This, BSTR data);
    HRESULT (STDMETHODCALLTYPE *get_length) (IXMLDOMText * This, long * dataLength);
    HRESULT (STDMETHODCALLTYPE *substringData) (IXMLDOMText * This, long offset, long count, BSTR * data);
    HRESULT (STDMETHODCALLTYPE *appendData) (IXMLDOMText * This, BSTR data);
    HRESULT (STDMETHODCALLTYPE *insertData) (IXMLDOMText * This, long offset, BSTR data);
    HRESULT (STDMETHODCALLTYPE *deleteData) (IXMLDOMText * This, long offset, long count);
    HRESULT (STDMETHODCALLTYPE *replaceData) (IXMLDOMText * This, long offset, long count, BSTR data);
    HRESULT (STDMETHODCALLTYPE *splitText) (IXMLDOMText * This, long offset, IXMLDOMText * * rightHandTextNode);
    END_INTERFACE
} IXMLDOMTextVtbl;

interface IXMLDOMText {
    CONST_VTBL struct IXMLDOMTextVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMText_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMText_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMText_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMText_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMText_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMText_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMText_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMText_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMText_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMText_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMText_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMText_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMText_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMText_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMText_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMText_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMText_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMText_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMText_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMText_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMText_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMText_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMText_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMText_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMText_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMText_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMText_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMText_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMText_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMText_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMText_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMText_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMText_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMText_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMText_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMText_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMText_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMText_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMText_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMText_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMText_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMText_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMText_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMText_get_data(This,data)  (This)->lpVtbl->get_data(This,data)
#define IXMLDOMText_put_data(This,data)  (This)->lpVtbl->put_data(This,data)
#define IXMLDOMText_get_length(This,dataLength)  (This)->lpVtbl->get_length(This,dataLength)
#define IXMLDOMText_substringData(This,offset,count,data)  (This)->lpVtbl->substringData(This,offset,count,data)
#define IXMLDOMText_appendData(This,data)  (This)->lpVtbl->appendData(This,data)
#define IXMLDOMText_insertData(This,offset,data)  (This)->lpVtbl->insertData(This,offset,data)
#define IXMLDOMText_deleteData(This,offset,count)  (This)->lpVtbl->deleteData(This,offset,count)
#define IXMLDOMText_replaceData(This,offset,count,data)  (This)->lpVtbl->replaceData(This,offset,count,data)
#define IXMLDOMText_splitText(This,offset,rightHandTextNode)  (This)->lpVtbl->splitText(This,offset,rightHandTextNode)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMText_splitText_Proxy (IXMLDOMText * This, long offset, IXMLDOMText * * rightHandTextNode);
void __RPC_STUB IXMLDOMText_splitText_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMComment_INTERFACE_DEFINED__
#define __IXMLDOMComment_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMComment;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF88-7B36-11d2-B20E-00C04F983E60") IXMLDOMComment:public IXMLDOMCharacterData {
    public:
};
#else
typedef struct IXMLDOMCommentVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMComment * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMComment * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMComment * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMComment * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMComment * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMComment * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMComment * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMComment * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMComment * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMComment * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMComment * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMComment * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMComment * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMComment * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMComment * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMComment * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMComment * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMComment * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMComment * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMComment * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMComment * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMComment * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMComment * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMComment * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMComment * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMComment * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMComment * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMComment * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMComment * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMComment * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMComment * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMComment * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMComment * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMComment * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMComment * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMComment * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMComment * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMComment * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMComment * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMComment * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMComment * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMComment * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMComment * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_data) (IXMLDOMComment * This, BSTR * data);
    HRESULT (STDMETHODCALLTYPE *put_data) (IXMLDOMComment * This, BSTR data);
    HRESULT (STDMETHODCALLTYPE *get_length) (IXMLDOMComment * This, long * dataLength);
    HRESULT (STDMETHODCALLTYPE *substringData) (IXMLDOMComment * This, long offset, long count, BSTR * data);
    HRESULT (STDMETHODCALLTYPE *appendData) (IXMLDOMComment * This, BSTR data);
    HRESULT (STDMETHODCALLTYPE *insertData) (IXMLDOMComment * This, long offset, BSTR data);
    HRESULT (STDMETHODCALLTYPE *deleteData) (IXMLDOMComment * This, long offset, long count);
    HRESULT (STDMETHODCALLTYPE *replaceData) (IXMLDOMComment * This, long offset, long count, BSTR data);
    END_INTERFACE
} IXMLDOMCommentVtbl;

interface IXMLDOMComment {
    CONST_VTBL struct IXMLDOMCommentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMComment_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMComment_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMComment_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMComment_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMComment_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMComment_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMComment_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMComment_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMComment_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMComment_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMComment_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMComment_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMComment_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMComment_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMComment_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMComment_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMComment_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMComment_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMComment_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMComment_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMComment_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMComment_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMComment_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMComment_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMComment_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMComment_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMComment_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMComment_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMComment_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMComment_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMComment_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMComment_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMComment_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMComment_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMComment_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMComment_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMComment_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMComment_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMComment_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMComment_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMComment_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMComment_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMComment_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMComment_get_data(This,data)  (This)->lpVtbl->get_data(This,data)
#define IXMLDOMComment_put_data(This,data)  (This)->lpVtbl->put_data(This,data)
#define IXMLDOMComment_get_length(This,dataLength)  (This)->lpVtbl->get_length(This,dataLength)
#define IXMLDOMComment_substringData(This,offset,count,data)  (This)->lpVtbl->substringData(This,offset,count,data)
#define IXMLDOMComment_appendData(This,data)  (This)->lpVtbl->appendData(This,data)
#define IXMLDOMComment_insertData(This,offset,data)  (This)->lpVtbl->insertData(This,offset,data)
#define IXMLDOMComment_deleteData(This,offset,count)  (This)->lpVtbl->deleteData(This,offset,count)
#define IXMLDOMComment_replaceData(This,offset,count,data)  (This)->lpVtbl->replaceData(This,offset,count,data)
#endif

#endif

#endif

#ifndef __IXMLDOMProcessingInstruction_INTERFACE_DEFINED__
#define __IXMLDOMProcessingInstruction_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMProcessingInstruction;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF89-7B36-11d2-B20E-00C04F983E60") IXMLDOMProcessingInstruction:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_target (BSTR * name) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_data (BSTR * value) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_data (BSTR value) = 0;
};
#else
typedef struct IXMLDOMProcessingInstructionVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMProcessingInstruction * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMProcessingInstruction * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMProcessingInstruction * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMProcessingInstruction * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMProcessingInstruction * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMProcessingInstruction * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMProcessingInstruction * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMProcessingInstruction * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMProcessingInstruction * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMProcessingInstruction * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMProcessingInstruction * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMProcessingInstruction * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMProcessingInstruction * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMProcessingInstruction * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMProcessingInstruction * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMProcessingInstruction * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMProcessingInstruction * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMProcessingInstruction * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMProcessingInstruction * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMProcessingInstruction * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMProcessingInstruction * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMProcessingInstruction * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMProcessingInstruction * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMProcessingInstruction * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMProcessingInstruction * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMProcessingInstruction * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMProcessingInstruction * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMProcessingInstruction * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMProcessingInstruction * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMProcessingInstruction * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMProcessingInstruction * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMProcessingInstruction * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_target) (IXMLDOMProcessingInstruction * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_data) (IXMLDOMProcessingInstruction * This, BSTR * value);
    HRESULT (STDMETHODCALLTYPE *put_data) (IXMLDOMProcessingInstruction * This, BSTR value);
    END_INTERFACE
} IXMLDOMProcessingInstructionVtbl;

interface IXMLDOMProcessingInstruction {
    CONST_VTBL struct IXMLDOMProcessingInstructionVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMProcessingInstruction_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMProcessingInstruction_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMProcessingInstruction_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMProcessingInstruction_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMProcessingInstruction_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMProcessingInstruction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMProcessingInstruction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMProcessingInstruction_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMProcessingInstruction_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMProcessingInstruction_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMProcessingInstruction_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMProcessingInstruction_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMProcessingInstruction_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMProcessingInstruction_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMProcessingInstruction_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMProcessingInstruction_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMProcessingInstruction_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMProcessingInstruction_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMProcessingInstruction_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMProcessingInstruction_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMProcessingInstruction_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMProcessingInstruction_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMProcessingInstruction_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMProcessingInstruction_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMProcessingInstruction_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMProcessingInstruction_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMProcessingInstruction_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMProcessingInstruction_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMProcessingInstruction_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMProcessingInstruction_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMProcessingInstruction_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMProcessingInstruction_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMProcessingInstruction_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMProcessingInstruction_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMProcessingInstruction_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMProcessingInstruction_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMProcessingInstruction_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMProcessingInstruction_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMProcessingInstruction_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMProcessingInstruction_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMProcessingInstruction_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMProcessingInstruction_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMProcessingInstruction_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMProcessingInstruction_get_target(This,name)  (This)->lpVtbl->get_target(This,name)
#define IXMLDOMProcessingInstruction_get_data(This,value)  (This)->lpVtbl->get_data(This,value)
#define IXMLDOMProcessingInstruction_put_data(This,value)  (This)->lpVtbl->put_data(This,value)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMProcessingInstruction_get_target_Proxy (IXMLDOMProcessingInstruction * This, BSTR * name);
void __RPC_STUB IXMLDOMProcessingInstruction_get_target_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMProcessingInstruction_get_data_Proxy (IXMLDOMProcessingInstruction * This, BSTR * value);
void __RPC_STUB IXMLDOMProcessingInstruction_get_data_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMProcessingInstruction_put_data_Proxy (IXMLDOMProcessingInstruction * This, BSTR value);
void __RPC_STUB IXMLDOMProcessingInstruction_put_data_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMCDATASection_INTERFACE_DEFINED__
#define __IXMLDOMCDATASection_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMCDATASection;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF8A-7B36-11d2-B20E-00C04F983E60") IXMLDOMCDATASection:public IXMLDOMText {
    public:
};
#else
typedef struct IXMLDOMCDATASectionVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMCDATASection * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMCDATASection * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMCDATASection * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMCDATASection * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMCDATASection * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMCDATASection * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMCDATASection * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMCDATASection * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMCDATASection * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMCDATASection * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMCDATASection * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMCDATASection * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMCDATASection * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMCDATASection * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMCDATASection * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMCDATASection * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMCDATASection * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMCDATASection * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMCDATASection * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMCDATASection * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMCDATASection * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMCDATASection * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMCDATASection * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMCDATASection * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMCDATASection * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMCDATASection * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMCDATASection * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMCDATASection * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMCDATASection * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMCDATASection * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMCDATASection * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMCDATASection * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMCDATASection * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMCDATASection * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMCDATASection * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMCDATASection * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMCDATASection * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMCDATASection * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMCDATASection * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMCDATASection * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMCDATASection * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMCDATASection * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMCDATASection * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_data) (IXMLDOMCDATASection * This, BSTR * data);
    HRESULT (STDMETHODCALLTYPE *put_data) (IXMLDOMCDATASection * This, BSTR data);
    HRESULT (STDMETHODCALLTYPE *get_length) (IXMLDOMCDATASection * This, long * dataLength);
    HRESULT (STDMETHODCALLTYPE *substringData) (IXMLDOMCDATASection * This, long offset, long count, BSTR * data);
    HRESULT (STDMETHODCALLTYPE *appendData) (IXMLDOMCDATASection * This, BSTR data);
    HRESULT (STDMETHODCALLTYPE *insertData) (IXMLDOMCDATASection * This, long offset, BSTR data);
    HRESULT (STDMETHODCALLTYPE *deleteData) (IXMLDOMCDATASection * This, long offset, long count);
    HRESULT (STDMETHODCALLTYPE *replaceData) (IXMLDOMCDATASection * This, long offset, long count, BSTR data);
    HRESULT (STDMETHODCALLTYPE *splitText) (IXMLDOMCDATASection * This, long offset, IXMLDOMText * * rightHandTextNode);
    END_INTERFACE
} IXMLDOMCDATASectionVtbl;

interface IXMLDOMCDATASection {
    CONST_VTBL struct IXMLDOMCDATASectionVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMCDATASection_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMCDATASection_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMCDATASection_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMCDATASection_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMCDATASection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMCDATASection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMCDATASection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMCDATASection_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMCDATASection_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMCDATASection_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMCDATASection_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMCDATASection_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMCDATASection_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMCDATASection_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMCDATASection_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMCDATASection_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMCDATASection_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMCDATASection_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMCDATASection_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMCDATASection_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMCDATASection_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMCDATASection_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMCDATASection_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMCDATASection_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMCDATASection_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMCDATASection_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMCDATASection_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMCDATASection_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMCDATASection_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMCDATASection_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMCDATASection_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMCDATASection_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMCDATASection_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMCDATASection_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMCDATASection_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMCDATASection_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMCDATASection_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMCDATASection_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMCDATASection_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMCDATASection_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMCDATASection_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMCDATASection_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMCDATASection_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMCDATASection_get_data(This,data)  (This)->lpVtbl->get_data(This,data)
#define IXMLDOMCDATASection_put_data(This,data)  (This)->lpVtbl->put_data(This,data)
#define IXMLDOMCDATASection_get_length(This,dataLength)  (This)->lpVtbl->get_length(This,dataLength)
#define IXMLDOMCDATASection_substringData(This,offset,count,data)  (This)->lpVtbl->substringData(This,offset,count,data)
#define IXMLDOMCDATASection_appendData(This,data)  (This)->lpVtbl->appendData(This,data)
#define IXMLDOMCDATASection_insertData(This,offset,data)  (This)->lpVtbl->insertData(This,offset,data)
#define IXMLDOMCDATASection_deleteData(This,offset,count)  (This)->lpVtbl->deleteData(This,offset,count)
#define IXMLDOMCDATASection_replaceData(This,offset,count,data)  (This)->lpVtbl->replaceData(This,offset,count,data)
#define IXMLDOMCDATASection_splitText(This,offset,rightHandTextNode)  (This)->lpVtbl->splitText(This,offset,rightHandTextNode)
#endif

#endif

#endif

#ifndef __IXMLDOMDocumentType_INTERFACE_DEFINED__
#define __IXMLDOMDocumentType_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMDocumentType;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF8B-7B36-11d2-B20E-00C04F983E60") IXMLDOMDocumentType:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_name (BSTR * rootName) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_entities (IXMLDOMNamedNodeMap * * entityMap) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_notations (IXMLDOMNamedNodeMap * * notationMap) = 0;
};
#else
typedef struct IXMLDOMDocumentTypeVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMDocumentType * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMDocumentType * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMDocumentType * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMDocumentType * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMDocumentType * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMDocumentType * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMDocumentType * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMDocumentType * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMDocumentType * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMDocumentType * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMDocumentType * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMDocumentType * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMDocumentType * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMDocumentType * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMDocumentType * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMDocumentType * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMDocumentType * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMDocumentType * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMDocumentType * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMDocumentType * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMDocumentType * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMDocumentType * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMDocumentType * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMDocumentType * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMDocumentType * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMDocumentType * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMDocumentType * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMDocumentType * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMDocumentType * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMDocumentType * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMDocumentType * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMDocumentType * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMDocumentType * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMDocumentType * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMDocumentType * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMDocumentType * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMDocumentType * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMDocumentType * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMDocumentType * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMDocumentType * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMDocumentType * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMDocumentType * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMDocumentType * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_name) (IXMLDOMDocumentType * This, BSTR * rootName);
    HRESULT (STDMETHODCALLTYPE *get_entities) (IXMLDOMDocumentType * This, IXMLDOMNamedNodeMap * * entityMap);
    HRESULT (STDMETHODCALLTYPE *get_notations) (IXMLDOMDocumentType * This, IXMLDOMNamedNodeMap * * notationMap);
    END_INTERFACE
} IXMLDOMDocumentTypeVtbl;

interface IXMLDOMDocumentType {
    CONST_VTBL struct IXMLDOMDocumentTypeVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMDocumentType_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMDocumentType_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMDocumentType_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMDocumentType_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMDocumentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMDocumentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMDocumentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMDocumentType_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMDocumentType_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMDocumentType_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMDocumentType_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMDocumentType_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMDocumentType_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMDocumentType_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMDocumentType_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMDocumentType_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMDocumentType_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMDocumentType_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMDocumentType_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMDocumentType_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMDocumentType_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMDocumentType_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMDocumentType_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMDocumentType_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMDocumentType_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMDocumentType_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMDocumentType_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMDocumentType_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMDocumentType_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMDocumentType_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMDocumentType_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMDocumentType_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMDocumentType_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMDocumentType_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMDocumentType_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMDocumentType_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMDocumentType_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMDocumentType_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMDocumentType_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMDocumentType_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMDocumentType_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMDocumentType_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMDocumentType_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMDocumentType_get_name(This,rootName)  (This)->lpVtbl->get_name(This,rootName)
#define IXMLDOMDocumentType_get_entities(This,entityMap)  (This)->lpVtbl->get_entities(This,entityMap)
#define IXMLDOMDocumentType_get_notations(This,notationMap)  (This)->lpVtbl->get_notations(This,notationMap)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMDocumentType_get_name_Proxy (IXMLDOMDocumentType * This, BSTR * rootName);
void __RPC_STUB IXMLDOMDocumentType_get_name_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocumentType_get_entities_Proxy (IXMLDOMDocumentType * This, IXMLDOMNamedNodeMap * * entityMap);
void __RPC_STUB IXMLDOMDocumentType_get_entities_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMDocumentType_get_notations_Proxy (IXMLDOMDocumentType * This, IXMLDOMNamedNodeMap * * notationMap);
void __RPC_STUB IXMLDOMDocumentType_get_notations_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMNotation_INTERFACE_DEFINED__
#define __IXMLDOMNotation_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMNotation;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF8C-7B36-11d2-B20E-00C04F983E60") IXMLDOMNotation:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_publicId (VARIANT * publicID) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_systemId (VARIANT * systemID) = 0;
};
#else
typedef struct IXMLDOMNotationVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMNotation * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMNotation * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMNotation * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMNotation * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMNotation * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMNotation * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMNotation * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMNotation * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMNotation * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMNotation * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMNotation * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMNotation * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMNotation * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMNotation * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMNotation * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMNotation * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMNotation * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMNotation * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMNotation * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMNotation * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMNotation * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMNotation * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMNotation * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMNotation * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMNotation * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMNotation * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMNotation * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMNotation * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMNotation * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMNotation * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMNotation * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMNotation * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMNotation * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMNotation * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMNotation * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMNotation * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMNotation * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMNotation * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMNotation * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMNotation * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMNotation * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMNotation * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMNotation * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_publicId) (IXMLDOMNotation * This, VARIANT * publicID);
    HRESULT (STDMETHODCALLTYPE *get_systemId) (IXMLDOMNotation * This, VARIANT * systemID);
    END_INTERFACE
} IXMLDOMNotationVtbl;

interface IXMLDOMNotation {
    CONST_VTBL struct IXMLDOMNotationVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMNotation_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMNotation_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMNotation_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMNotation_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMNotation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMNotation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMNotation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMNotation_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMNotation_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMNotation_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMNotation_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMNotation_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMNotation_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMNotation_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMNotation_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMNotation_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMNotation_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMNotation_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMNotation_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMNotation_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMNotation_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMNotation_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMNotation_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMNotation_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMNotation_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMNotation_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMNotation_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMNotation_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMNotation_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMNotation_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMNotation_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMNotation_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMNotation_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMNotation_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMNotation_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMNotation_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMNotation_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMNotation_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMNotation_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMNotation_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMNotation_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMNotation_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMNotation_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMNotation_get_publicId(This,publicID)  (This)->lpVtbl->get_publicId(This,publicID)
#define IXMLDOMNotation_get_systemId(This,systemID)  (This)->lpVtbl->get_systemId(This,systemID)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMNotation_get_publicId_Proxy (IXMLDOMNotation * This, VARIANT * publicID);
void __RPC_STUB IXMLDOMNotation_get_publicId_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMNotation_get_systemId_Proxy (IXMLDOMNotation * This, VARIANT * systemID);
void __RPC_STUB IXMLDOMNotation_get_systemId_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMEntity_INTERFACE_DEFINED__
#define __IXMLDOMEntity_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMEntity;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF8D-7B36-11d2-B20E-00C04F983E60") IXMLDOMEntity:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_publicId (VARIANT * publicID) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_systemId (VARIANT * systemID) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_notationName (BSTR * name) = 0;
};
#else
typedef struct IXMLDOMEntityVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMEntity * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMEntity * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMEntity * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMEntity * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMEntity * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMEntity * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMEntity * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMEntity * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMEntity * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMEntity * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMEntity * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMEntity * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMEntity * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMEntity * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMEntity * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMEntity * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMEntity * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMEntity * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMEntity * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMEntity * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMEntity * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMEntity * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMEntity * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMEntity * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMEntity * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMEntity * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMEntity * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMEntity * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMEntity * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMEntity * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMEntity * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMEntity * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMEntity * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMEntity * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMEntity * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMEntity * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMEntity * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMEntity * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMEntity * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMEntity * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMEntity * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMEntity * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMEntity * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *get_publicId) (IXMLDOMEntity * This, VARIANT * publicID);
    HRESULT (STDMETHODCALLTYPE *get_systemId) (IXMLDOMEntity * This, VARIANT * systemID);
    HRESULT (STDMETHODCALLTYPE *get_notationName) (IXMLDOMEntity * This, BSTR * name);
    END_INTERFACE
} IXMLDOMEntityVtbl;

interface IXMLDOMEntity {
    CONST_VTBL struct IXMLDOMEntityVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMEntity_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMEntity_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMEntity_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMEntity_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMEntity_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMEntity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMEntity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMEntity_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMEntity_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMEntity_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMEntity_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMEntity_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMEntity_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMEntity_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMEntity_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMEntity_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMEntity_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMEntity_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMEntity_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMEntity_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMEntity_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMEntity_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMEntity_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMEntity_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMEntity_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMEntity_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMEntity_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMEntity_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMEntity_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMEntity_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMEntity_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMEntity_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMEntity_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMEntity_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMEntity_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMEntity_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMEntity_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMEntity_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMEntity_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMEntity_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMEntity_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMEntity_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMEntity_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXMLDOMEntity_get_publicId(This,publicID)  (This)->lpVtbl->get_publicId(This,publicID)
#define IXMLDOMEntity_get_systemId(This,systemID)  (This)->lpVtbl->get_systemId(This,systemID)
#define IXMLDOMEntity_get_notationName(This,name)  (This)->lpVtbl->get_notationName(This,name)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMEntity_get_publicId_Proxy (IXMLDOMEntity * This, VARIANT * publicID);
void __RPC_STUB IXMLDOMEntity_get_publicId_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMEntity_get_systemId_Proxy (IXMLDOMEntity * This, VARIANT * systemID);
void __RPC_STUB IXMLDOMEntity_get_systemId_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMEntity_get_notationName_Proxy (IXMLDOMEntity * This, BSTR * name);
void __RPC_STUB IXMLDOMEntity_get_notationName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDOMEntityReference_INTERFACE_DEFINED__
#define __IXMLDOMEntityReference_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMEntityReference;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2933BF8E-7B36-11d2-B20E-00C04F983E60") IXMLDOMEntityReference:public IXMLDOMNode {
    public:
};
#else
typedef struct IXMLDOMEntityReferenceVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMEntityReference * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMEntityReference * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMEntityReference * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMEntityReference * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMEntityReference * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMEntityReference * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMEntityReference * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXMLDOMEntityReference * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXMLDOMEntityReference * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXMLDOMEntityReference * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXMLDOMEntityReference * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXMLDOMEntityReference * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXMLDOMEntityReference * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXMLDOMEntityReference * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXMLDOMEntityReference * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXMLDOMEntityReference * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXMLDOMEntityReference * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLDOMEntityReference * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXMLDOMEntityReference * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXMLDOMEntityReference * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLDOMEntityReference * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXMLDOMEntityReference * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXMLDOMEntityReference * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXMLDOMEntityReference * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXMLDOMEntityReference * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXMLDOMEntityReference * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLDOMEntityReference * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLDOMEntityReference * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXMLDOMEntityReference * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXMLDOMEntityReference * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXMLDOMEntityReference * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXMLDOMEntityReference * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXMLDOMEntityReference * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXMLDOMEntityReference * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXMLDOMEntityReference * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXMLDOMEntityReference * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXMLDOMEntityReference * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXMLDOMEntityReference * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXMLDOMEntityReference * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXMLDOMEntityReference * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXMLDOMEntityReference * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXMLDOMEntityReference * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXMLDOMEntityReference * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    END_INTERFACE
} IXMLDOMEntityReferenceVtbl;

interface IXMLDOMEntityReference {
    CONST_VTBL struct IXMLDOMEntityReferenceVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define IXMLDOMEntityReference_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMEntityReference_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMEntityReference_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMEntityReference_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMEntityReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMEntityReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMEntityReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMEntityReference_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXMLDOMEntityReference_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXMLDOMEntityReference_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXMLDOMEntityReference_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXMLDOMEntityReference_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXMLDOMEntityReference_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXMLDOMEntityReference_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXMLDOMEntityReference_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXMLDOMEntityReference_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXMLDOMEntityReference_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXMLDOMEntityReference_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXMLDOMEntityReference_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXMLDOMEntityReference_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXMLDOMEntityReference_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXMLDOMEntityReference_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXMLDOMEntityReference_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXMLDOMEntityReference_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXMLDOMEntityReference_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXMLDOMEntityReference_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXMLDOMEntityReference_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXMLDOMEntityReference_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXMLDOMEntityReference_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXMLDOMEntityReference_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXMLDOMEntityReference_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXMLDOMEntityReference_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXMLDOMEntityReference_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXMLDOMEntityReference_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXMLDOMEntityReference_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXMLDOMEntityReference_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXMLDOMEntityReference_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXMLDOMEntityReference_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXMLDOMEntityReference_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXMLDOMEntityReference_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXMLDOMEntityReference_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXMLDOMEntityReference_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXMLDOMEntityReference_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#endif

#endif

#endif

#ifndef __IXMLDOMParseError_INTERFACE_DEFINED__
#define __IXMLDOMParseError_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDOMParseError;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("3efaa426-272f-11d2-836f-0000f87a7782") IXMLDOMParseError:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_errorCode (long * errorCode) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_url (BSTR * urlString) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_reason (BSTR * reasonString) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_srcText (BSTR * sourceString) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_line (long * lineNumber) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_linepos (long * linePosition) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_filepos (long * filePosition) = 0;
};
#else
typedef struct IXMLDOMParseErrorVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDOMParseError * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDOMParseError * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDOMParseError * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDOMParseError * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDOMParseError * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDOMParseError * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDOMParseError * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_errorCode) (IXMLDOMParseError * This, long * errorCode);
    HRESULT (STDMETHODCALLTYPE *get_url) (IXMLDOMParseError * This, BSTR * urlString);
    HRESULT (STDMETHODCALLTYPE *get_reason) (IXMLDOMParseError * This, BSTR * reasonString);
    HRESULT (STDMETHODCALLTYPE *get_srcText) (IXMLDOMParseError * This, BSTR * sourceString);
    HRESULT (STDMETHODCALLTYPE *get_line) (IXMLDOMParseError * This, long * lineNumber);
    HRESULT (STDMETHODCALLTYPE *get_linepos) (IXMLDOMParseError * This, long * linePosition);
    HRESULT (STDMETHODCALLTYPE *get_filepos) (IXMLDOMParseError * This, long * filePosition);
    END_INTERFACE
} IXMLDOMParseErrorVtbl;

interface IXMLDOMParseError {
    CONST_VTBL struct IXMLDOMParseErrorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDOMParseError_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDOMParseError_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDOMParseError_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDOMParseError_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDOMParseError_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDOMParseError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDOMParseError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDOMParseError_get_errorCode(This,errorCode)  (This)->lpVtbl->get_errorCode(This,errorCode)
#define IXMLDOMParseError_get_url(This,urlString)  (This)->lpVtbl->get_url(This,urlString)
#define IXMLDOMParseError_get_reason(This,reasonString)  (This)->lpVtbl->get_reason(This,reasonString)
#define IXMLDOMParseError_get_srcText(This,sourceString)  (This)->lpVtbl->get_srcText(This,sourceString)
#define IXMLDOMParseError_get_line(This,lineNumber)  (This)->lpVtbl->get_line(This,lineNumber)
#define IXMLDOMParseError_get_linepos(This,linePosition)  (This)->lpVtbl->get_linepos(This,linePosition)
#define IXMLDOMParseError_get_filepos(This,filePosition)  (This)->lpVtbl->get_filepos(This,filePosition)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDOMParseError_get_errorCode_Proxy (IXMLDOMParseError * This, long * errorCode);
void __RPC_STUB IXMLDOMParseError_get_errorCode_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMParseError_get_url_Proxy (IXMLDOMParseError * This, BSTR * urlString);
void __RPC_STUB IXMLDOMParseError_get_url_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMParseError_get_reason_Proxy (IXMLDOMParseError * This, BSTR * reasonString);
void __RPC_STUB IXMLDOMParseError_get_reason_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMParseError_get_srcText_Proxy (IXMLDOMParseError * This, BSTR * sourceString);
void __RPC_STUB IXMLDOMParseError_get_srcText_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMParseError_get_line_Proxy (IXMLDOMParseError * This, long * lineNumber);
void __RPC_STUB IXMLDOMParseError_get_line_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMParseError_get_linepos_Proxy (IXMLDOMParseError * This, long * linePosition);
void __RPC_STUB IXMLDOMParseError_get_linepos_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDOMParseError_get_filepos_Proxy (IXMLDOMParseError * This, long * filePosition);
void __RPC_STUB IXMLDOMParseError_get_filepos_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXTLRuntime_INTERFACE_DEFINED__
#define __IXTLRuntime_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXTLRuntime;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("3efaa425-272f-11d2-836f-0000f87a7782") IXTLRuntime:public IXMLDOMNode {
    public:
    virtual HRESULT STDMETHODCALLTYPE uniqueID (IXMLDOMNode * pNode, long * pID) = 0;
    virtual HRESULT STDMETHODCALLTYPE depth (IXMLDOMNode * pNode, long * pDepth) = 0;
    virtual HRESULT STDMETHODCALLTYPE childNumber (IXMLDOMNode * pNode, long * pNumber) = 0;
    virtual HRESULT STDMETHODCALLTYPE ancestorChildNumber (BSTR bstrNodeName, IXMLDOMNode * pNode, long * pNumber) = 0;
    virtual HRESULT STDMETHODCALLTYPE absoluteChildNumber (IXMLDOMNode * pNode, long * pNumber) = 0;
    virtual HRESULT STDMETHODCALLTYPE formatIndex (long lIndex, BSTR bstrFormat, BSTR * pbstrFormattedString) = 0;
    virtual HRESULT STDMETHODCALLTYPE formatNumber (double dblNumber, BSTR bstrFormat, BSTR * pbstrFormattedString) = 0;
    virtual HRESULT STDMETHODCALLTYPE formatDate (VARIANT varDate, BSTR bstrFormat, VARIANT varDestLocale, BSTR * pbstrFormattedString) = 0;
    virtual HRESULT STDMETHODCALLTYPE formatTime (VARIANT varTime, BSTR bstrFormat, VARIANT varDestLocale, BSTR * pbstrFormattedString) = 0;
};
#else
typedef struct IXTLRuntimeVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXTLRuntime * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXTLRuntime * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXTLRuntime * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXTLRuntime * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXTLRuntime * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXTLRuntime * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXTLRuntime * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_nodeName) (IXTLRuntime * This, BSTR * name);
    HRESULT (STDMETHODCALLTYPE *get_nodeValue) (IXTLRuntime * This, VARIANT * value);
    HRESULT (STDMETHODCALLTYPE *put_nodeValue) (IXTLRuntime * This, VARIANT value);
    HRESULT (STDMETHODCALLTYPE *get_nodeType) (IXTLRuntime * This, DOMNodeType * type);
    HRESULT (STDMETHODCALLTYPE *get_parentNode) (IXTLRuntime * This, IXMLDOMNode * * parent);
    HRESULT (STDMETHODCALLTYPE *get_childNodes) (IXTLRuntime * This, IXMLDOMNodeList * * childList);
    HRESULT (STDMETHODCALLTYPE *get_firstChild) (IXTLRuntime * This, IXMLDOMNode * * firstChild);
    HRESULT (STDMETHODCALLTYPE *get_lastChild) (IXTLRuntime * This, IXMLDOMNode * * lastChild);
    HRESULT (STDMETHODCALLTYPE *get_previousSibling) (IXTLRuntime * This, IXMLDOMNode * * previousSibling);
    HRESULT (STDMETHODCALLTYPE *get_nextSibling) (IXTLRuntime * This, IXMLDOMNode * * nextSibling);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXTLRuntime * This, IXMLDOMNamedNodeMap * * attributeMap);
    HRESULT (STDMETHODCALLTYPE *insertBefore) (IXTLRuntime * This, IXMLDOMNode * newChild, VARIANT refChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *replaceChild) (IXTLRuntime * This, IXMLDOMNode * newChild, IXMLDOMNode * oldChild, IXMLDOMNode * * outOldChild);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXTLRuntime * This, IXMLDOMNode * childNode, IXMLDOMNode * * oldChild);
    HRESULT (STDMETHODCALLTYPE *appendChild) (IXTLRuntime * This, IXMLDOMNode * newChild, IXMLDOMNode * * outNewChild);
    HRESULT (STDMETHODCALLTYPE *hasChildNodes) (IXTLRuntime * This, VARIANT_BOOL * hasChild);
    HRESULT (STDMETHODCALLTYPE *get_ownerDocument) (IXTLRuntime * This, IXMLDOMDocument * * DOMDocument);
    HRESULT (STDMETHODCALLTYPE *cloneNode) (IXTLRuntime * This, VARIANT_BOOL deep, IXMLDOMNode * * cloneRoot);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypeString) (IXTLRuntime * This, BSTR * nodeType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXTLRuntime * This, BSTR * text);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXTLRuntime * This, BSTR text);
    HRESULT (STDMETHODCALLTYPE *get_specified) (IXTLRuntime * This, VARIANT_BOOL * isSpecified);
    HRESULT (STDMETHODCALLTYPE *get_definition) (IXTLRuntime * This, IXMLDOMNode * * definitionNode);
    HRESULT (STDMETHODCALLTYPE *get_nodeTypedValue) (IXTLRuntime * This, VARIANT * typedValue);
    HRESULT (STDMETHODCALLTYPE *put_nodeTypedValue) (IXTLRuntime * This, VARIANT typedValue);
    HRESULT (STDMETHODCALLTYPE *get_dataType) (IXTLRuntime * This, VARIANT * dataTypeName);
    HRESULT (STDMETHODCALLTYPE *put_dataType) (IXTLRuntime * This, BSTR dataTypeName);
    HRESULT (STDMETHODCALLTYPE *get_xml) (IXTLRuntime * This, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *transformNode) (IXTLRuntime * This, IXMLDOMNode * stylesheet, BSTR * xmlString);
    HRESULT (STDMETHODCALLTYPE *selectNodes) (IXTLRuntime * This, BSTR queryString, IXMLDOMNodeList * * resultList);
    HRESULT (STDMETHODCALLTYPE *selectSingleNode) (IXTLRuntime * This, BSTR queryString, IXMLDOMNode * * resultNode);
    HRESULT (STDMETHODCALLTYPE *get_parsed) (IXTLRuntime * This, VARIANT_BOOL * isParsed);
    HRESULT (STDMETHODCALLTYPE *get_namespaceURI) (IXTLRuntime * This, BSTR * namespaceURI);
    HRESULT (STDMETHODCALLTYPE *get_prefix) (IXTLRuntime * This, BSTR * prefixString);
    HRESULT (STDMETHODCALLTYPE *get_baseName) (IXTLRuntime * This, BSTR * nameString);
    HRESULT (STDMETHODCALLTYPE *transformNodeToObject) (IXTLRuntime * This, IXMLDOMNode * stylesheet, VARIANT outputObject);
    HRESULT (STDMETHODCALLTYPE *uniqueID) (IXTLRuntime * This, IXMLDOMNode * pNode, long * pID);
    HRESULT (STDMETHODCALLTYPE *depth) (IXTLRuntime * This, IXMLDOMNode * pNode, long * pDepth);
    HRESULT (STDMETHODCALLTYPE *childNumber) (IXTLRuntime * This, IXMLDOMNode * pNode, long * pNumber);
    HRESULT (STDMETHODCALLTYPE *ancestorChildNumber) (IXTLRuntime * This, BSTR bstrNodeName, IXMLDOMNode * pNode, long * pNumber);
    HRESULT (STDMETHODCALLTYPE *absoluteChildNumber) (IXTLRuntime * This, IXMLDOMNode * pNode, long * pNumber);
    HRESULT (STDMETHODCALLTYPE *formatIndex) (IXTLRuntime * This, long lIndex, BSTR bstrFormat, BSTR * pbstrFormattedString);
    HRESULT (STDMETHODCALLTYPE *formatNumber) (IXTLRuntime * This, double dblNumber, BSTR bstrFormat, BSTR * pbstrFormattedString);
    HRESULT (STDMETHODCALLTYPE *formatDate) (IXTLRuntime * This, VARIANT varDate, BSTR bstrFormat, VARIANT varDestLocale, BSTR * pbstrFormattedString);
    HRESULT (STDMETHODCALLTYPE *formatTime) (IXTLRuntime * This, VARIANT varTime, BSTR bstrFormat, VARIANT varDestLocale, BSTR * pbstrFormattedString);
    END_INTERFACE
} IXTLRuntimeVtbl;

interface IXTLRuntime {
    CONST_VTBL struct IXTLRuntimeVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXTLRuntime_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXTLRuntime_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXTLRuntime_Release(This)  (This)->lpVtbl->Release(This)
#define IXTLRuntime_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXTLRuntime_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXTLRuntime_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXTLRuntime_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXTLRuntime_get_nodeName(This,name)  (This)->lpVtbl->get_nodeName(This,name)
#define IXTLRuntime_get_nodeValue(This,value)  (This)->lpVtbl->get_nodeValue(This,value)
#define IXTLRuntime_put_nodeValue(This,value)  (This)->lpVtbl->put_nodeValue(This,value)
#define IXTLRuntime_get_nodeType(This,type)  (This)->lpVtbl->get_nodeType(This,type)
#define IXTLRuntime_get_parentNode(This,parent)  (This)->lpVtbl->get_parentNode(This,parent)
#define IXTLRuntime_get_childNodes(This,childList)  (This)->lpVtbl->get_childNodes(This,childList)
#define IXTLRuntime_get_firstChild(This,firstChild)  (This)->lpVtbl->get_firstChild(This,firstChild)
#define IXTLRuntime_get_lastChild(This,lastChild)  (This)->lpVtbl->get_lastChild(This,lastChild)
#define IXTLRuntime_get_previousSibling(This,previousSibling)  (This)->lpVtbl->get_previousSibling(This,previousSibling)
#define IXTLRuntime_get_nextSibling(This,nextSibling)  (This)->lpVtbl->get_nextSibling(This,nextSibling)
#define IXTLRuntime_get_attributes(This,attributeMap)  (This)->lpVtbl->get_attributes(This,attributeMap)
#define IXTLRuntime_insertBefore(This,newChild,refChild,outNewChild)  (This)->lpVtbl->insertBefore(This,newChild,refChild,outNewChild)
#define IXTLRuntime_replaceChild(This,newChild,oldChild,outOldChild)  (This)->lpVtbl->replaceChild(This,newChild,oldChild,outOldChild)
#define IXTLRuntime_removeChild(This,childNode,oldChild)  (This)->lpVtbl->removeChild(This,childNode,oldChild)
#define IXTLRuntime_appendChild(This,newChild,outNewChild)  (This)->lpVtbl->appendChild(This,newChild,outNewChild)
#define IXTLRuntime_hasChildNodes(This,hasChild)  (This)->lpVtbl->hasChildNodes(This,hasChild)
#define IXTLRuntime_get_ownerDocument(This,DOMDocument)  (This)->lpVtbl->get_ownerDocument(This,DOMDocument)
#define IXTLRuntime_cloneNode(This,deep,cloneRoot)  (This)->lpVtbl->cloneNode(This,deep,cloneRoot)
#define IXTLRuntime_get_nodeTypeString(This,nodeType)  (This)->lpVtbl->get_nodeTypeString(This,nodeType)
#define IXTLRuntime_get_text(This,text)  (This)->lpVtbl->get_text(This,text)
#define IXTLRuntime_put_text(This,text)  (This)->lpVtbl->put_text(This,text)
#define IXTLRuntime_get_specified(This,isSpecified)  (This)->lpVtbl->get_specified(This,isSpecified)
#define IXTLRuntime_get_definition(This,definitionNode)  (This)->lpVtbl->get_definition(This,definitionNode)
#define IXTLRuntime_get_nodeTypedValue(This,typedValue)  (This)->lpVtbl->get_nodeTypedValue(This,typedValue)
#define IXTLRuntime_put_nodeTypedValue(This,typedValue)  (This)->lpVtbl->put_nodeTypedValue(This,typedValue)
#define IXTLRuntime_get_dataType(This,dataTypeName)  (This)->lpVtbl->get_dataType(This,dataTypeName)
#define IXTLRuntime_put_dataType(This,dataTypeName)  (This)->lpVtbl->put_dataType(This,dataTypeName)
#define IXTLRuntime_get_xml(This,xmlString)  (This)->lpVtbl->get_xml(This,xmlString)
#define IXTLRuntime_transformNode(This,stylesheet,xmlString)  (This)->lpVtbl->transformNode(This,stylesheet,xmlString)
#define IXTLRuntime_selectNodes(This,queryString,resultList)  (This)->lpVtbl->selectNodes(This,queryString,resultList)
#define IXTLRuntime_selectSingleNode(This,queryString,resultNode)  (This)->lpVtbl->selectSingleNode(This,queryString,resultNode)
#define IXTLRuntime_get_parsed(This,isParsed)  (This)->lpVtbl->get_parsed(This,isParsed)
#define IXTLRuntime_get_namespaceURI(This,namespaceURI)  (This)->lpVtbl->get_namespaceURI(This,namespaceURI)
#define IXTLRuntime_get_prefix(This,prefixString)  (This)->lpVtbl->get_prefix(This,prefixString)
#define IXTLRuntime_get_baseName(This,nameString)  (This)->lpVtbl->get_baseName(This,nameString)
#define IXTLRuntime_transformNodeToObject(This,stylesheet,outputObject)  (This)->lpVtbl->transformNodeToObject(This,stylesheet,outputObject)
#define IXTLRuntime_uniqueID(This,pNode,pID)  (This)->lpVtbl->uniqueID(This,pNode,pID)
#define IXTLRuntime_depth(This,pNode,pDepth)  (This)->lpVtbl->depth(This,pNode,pDepth)
#define IXTLRuntime_childNumber(This,pNode,pNumber)  (This)->lpVtbl->childNumber(This,pNode,pNumber)
#define IXTLRuntime_ancestorChildNumber(This,bstrNodeName,pNode,pNumber)  (This)->lpVtbl->ancestorChildNumber(This,bstrNodeName,pNode,pNumber)
#define IXTLRuntime_absoluteChildNumber(This,pNode,pNumber)  (This)->lpVtbl->absoluteChildNumber(This,pNode,pNumber)
#define IXTLRuntime_formatIndex(This,lIndex,bstrFormat,pbstrFormattedString)  (This)->lpVtbl->formatIndex(This,lIndex,bstrFormat,pbstrFormattedString)
#define IXTLRuntime_formatNumber(This,dblNumber,bstrFormat,pbstrFormattedString)  (This)->lpVtbl->formatNumber(This,dblNumber,bstrFormat,pbstrFormattedString)
#define IXTLRuntime_formatDate(This,varDate,bstrFormat,varDestLocale,pbstrFormattedString)  (This)->lpVtbl->formatDate(This,varDate,bstrFormat,varDestLocale,pbstrFormattedString)
#define IXTLRuntime_formatTime(This,varTime,bstrFormat,varDestLocale,pbstrFormattedString)  (This)->lpVtbl->formatTime(This,varTime,bstrFormat,varDestLocale,pbstrFormattedString)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXTLRuntime_uniqueID_Proxy (IXTLRuntime * This, IXMLDOMNode * pNode, long * pID);
void __RPC_STUB IXTLRuntime_uniqueID_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXTLRuntime_depth_Proxy (IXTLRuntime * This, IXMLDOMNode * pNode, long * pDepth);
void __RPC_STUB IXTLRuntime_depth_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXTLRuntime_childNumber_Proxy (IXTLRuntime * This, IXMLDOMNode * pNode, long * pNumber);
void __RPC_STUB IXTLRuntime_childNumber_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXTLRuntime_ancestorChildNumber_Proxy (IXTLRuntime * This, BSTR bstrNodeName, IXMLDOMNode * pNode, long * pNumber);
void __RPC_STUB IXTLRuntime_ancestorChildNumber_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXTLRuntime_absoluteChildNumber_Proxy (IXTLRuntime * This, IXMLDOMNode * pNode, long * pNumber);
void __RPC_STUB IXTLRuntime_absoluteChildNumber_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXTLRuntime_formatIndex_Proxy (IXTLRuntime * This, long lIndex, BSTR bstrFormat, BSTR * pbstrFormattedString);
void __RPC_STUB IXTLRuntime_formatIndex_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXTLRuntime_formatNumber_Proxy (IXTLRuntime * This, double dblNumber, BSTR bstrFormat, BSTR * pbstrFormattedString);
void __RPC_STUB IXTLRuntime_formatNumber_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXTLRuntime_formatDate_Proxy (IXTLRuntime * This, VARIANT varDate, BSTR bstrFormat, VARIANT varDestLocale, BSTR * pbstrFormattedString);
void __RPC_STUB IXTLRuntime_formatDate_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXTLRuntime_formatTime_Proxy (IXTLRuntime * This, VARIANT varTime, BSTR bstrFormat, VARIANT varDestLocale, BSTR * pbstrFormattedString);
void __RPC_STUB IXTLRuntime_formatTime_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __XMLDOMDocumentEvents_DISPINTERFACE_DEFINED__
#define __XMLDOMDocumentEvents_DISPINTERFACE_DEFINED__

EXTERN_C const IID DIID_XMLDOMDocumentEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("3efaa427-272f-11d2-836f-0000f87a7782") XMLDOMDocumentEvents:public IDispatch {
};
#else
typedef struct XMLDOMDocumentEventsVtbl {
    BEGIN_INTERFACE HRESULT (STDMETHODCALLTYPE *QueryInterface) (XMLDOMDocumentEvents * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (XMLDOMDocumentEvents * This);
    ULONG (STDMETHODCALLTYPE *Release) (XMLDOMDocumentEvents * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (XMLDOMDocumentEvents * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (XMLDOMDocumentEvents * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (XMLDOMDocumentEvents * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (XMLDOMDocumentEvents * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    END_INTERFACE
} XMLDOMDocumentEventsVtbl;

interface XMLDOMDocumentEvents {
    CONST_VTBL struct XMLDOMDocumentEventsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define XMLDOMDocumentEvents_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define XMLDOMDocumentEvents_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define XMLDOMDocumentEvents_Release(This)  (This)->lpVtbl->Release(This)
#define XMLDOMDocumentEvents_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define XMLDOMDocumentEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define XMLDOMDocumentEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define XMLDOMDocumentEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#endif

#endif

#endif

EXTERN_C const CLSID CLSID_DOMDocument;

#ifdef __cplusplus
class DECLSPEC_UUID ("2933BF90-7B36-11d2-B20E-00C04F983E60") DOMDocument;
#endif

EXTERN_C const CLSID CLSID_DOMFreeThreadedDocument;

#ifdef __cplusplus
class DECLSPEC_UUID ("2933BF91-7B36-11d2-B20E-00C04F983E60") DOMFreeThreadedDocument;
#endif

#ifndef __IXMLHttpRequest_INTERFACE_DEFINED__
#define __IXMLHttpRequest_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLHttpRequest;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("ED8C108D-4349-11D2-91A4-00C04F7969E8") IXMLHttpRequest:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE open (BSTR bstrMethod, BSTR bstrUrl, VARIANT varAsync, VARIANT bstrUser, VARIANT bstrPassword) = 0;
    virtual HRESULT STDMETHODCALLTYPE setRequestHeader (BSTR bstrHeader, BSTR bstrValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE getResponseHeader (BSTR bstrHeader, BSTR * pbstrValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE getAllResponseHeaders (BSTR * pbstrHeaders) = 0;
    virtual HRESULT STDMETHODCALLTYPE send (VARIANT varBody) = 0;
    virtual HRESULT STDMETHODCALLTYPE abort (void) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_status (long * plStatus) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_statusText (BSTR * pbstrStatus) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_responseXML (IDispatch * * ppBody) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_responseText (BSTR * pbstrBody) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_responseBody (VARIANT * pvarBody) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_responseStream (VARIANT * pvarBody) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_readyState (long * plState) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange (IDispatch * pReadyStateSink) = 0;
};
#else
typedef struct IXMLHttpRequestVtbl {
    BEGIN_INTERFACE HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLHttpRequest * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLHttpRequest * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLHttpRequest * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLHttpRequest * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLHttpRequest * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLHttpRequest * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLHttpRequest * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *open) (IXMLHttpRequest * This, BSTR bstrMethod, BSTR bstrUrl, VARIANT varAsync, VARIANT bstrUser, VARIANT bstrPassword);
    HRESULT (STDMETHODCALLTYPE *setRequestHeader) (IXMLHttpRequest * This, BSTR bstrHeader, BSTR bstrValue);
    HRESULT (STDMETHODCALLTYPE *getResponseHeader) (IXMLHttpRequest * This, BSTR bstrHeader, BSTR * pbstrValue);
    HRESULT (STDMETHODCALLTYPE *getAllResponseHeaders) (IXMLHttpRequest * This, BSTR * pbstrHeaders);
    HRESULT (STDMETHODCALLTYPE *send) (IXMLHttpRequest * This, VARIANT varBody);
    HRESULT (STDMETHODCALLTYPE *abort) (IXMLHttpRequest * This);
    HRESULT (STDMETHODCALLTYPE *get_status) (IXMLHttpRequest * This, long * plStatus);
    HRESULT (STDMETHODCALLTYPE *get_statusText) (IXMLHttpRequest * This, BSTR * pbstrStatus);
    HRESULT (STDMETHODCALLTYPE *get_responseXML) (IXMLHttpRequest * This, IDispatch * * ppBody);
    HRESULT (STDMETHODCALLTYPE *get_responseText) (IXMLHttpRequest * This, BSTR * pbstrBody);
    HRESULT (STDMETHODCALLTYPE *get_responseBody) (IXMLHttpRequest * This, VARIANT * pvarBody);
    HRESULT (STDMETHODCALLTYPE *get_responseStream) (IXMLHttpRequest * This, VARIANT * pvarBody);
    HRESULT (STDMETHODCALLTYPE *get_readyState) (IXMLHttpRequest * This, long * plState);
    HRESULT (STDMETHODCALLTYPE *put_onreadystatechange) (IXMLHttpRequest * This, IDispatch * pReadyStateSink);
    END_INTERFACE
} IXMLHttpRequestVtbl;

interface IXMLHttpRequest {
    CONST_VTBL struct IXMLHttpRequestVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLHttpRequest_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLHttpRequest_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLHttpRequest_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLHttpRequest_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLHttpRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLHttpRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLHttpRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLHttpRequest_open(This,bstrMethod,bstrUrl,varAsync,bstrUser,bstrPassword)  (This)->lpVtbl->open(This,bstrMethod,bstrUrl,varAsync,bstrUser,bstrPassword)
#define IXMLHttpRequest_setRequestHeader(This,bstrHeader,bstrValue)  (This)->lpVtbl->setRequestHeader(This,bstrHeader,bstrValue)
#define IXMLHttpRequest_getResponseHeader(This,bstrHeader,pbstrValue)  (This)->lpVtbl->getResponseHeader(This,bstrHeader,pbstrValue)
#define IXMLHttpRequest_getAllResponseHeaders(This,pbstrHeaders)  (This)->lpVtbl->getAllResponseHeaders(This,pbstrHeaders)
#define IXMLHttpRequest_send(This,varBody)  (This)->lpVtbl->send(This,varBody)
#define IXMLHttpRequest_abort(This)  (This)->lpVtbl->abort(This)
#define IXMLHttpRequest_get_status(This,plStatus)  (This)->lpVtbl->get_status(This,plStatus)
#define IXMLHttpRequest_get_statusText(This,pbstrStatus)  (This)->lpVtbl->get_statusText(This,pbstrStatus)
#define IXMLHttpRequest_get_responseXML(This,ppBody)  (This)->lpVtbl->get_responseXML(This,ppBody)
#define IXMLHttpRequest_get_responseText(This,pbstrBody)  (This)->lpVtbl->get_responseText(This,pbstrBody)
#define IXMLHttpRequest_get_responseBody(This,pvarBody)  (This)->lpVtbl->get_responseBody(This,pvarBody)
#define IXMLHttpRequest_get_responseStream(This,pvarBody)  (This)->lpVtbl->get_responseStream(This,pvarBody)
#define IXMLHttpRequest_get_readyState(This,plState)  (This)->lpVtbl->get_readyState(This,plState)
#define IXMLHttpRequest_put_onreadystatechange(This,pReadyStateSink)  (This)->lpVtbl->put_onreadystatechange(This,pReadyStateSink)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLHttpRequest_open_Proxy (IXMLHttpRequest * This, BSTR bstrMethod, BSTR bstrUrl, VARIANT varAsync, VARIANT bstrUser, VARIANT bstrPassword);
void __RPC_STUB IXMLHttpRequest_open_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_setRequestHeader_Proxy (IXMLHttpRequest * This, BSTR bstrHeader, BSTR bstrValue);
void __RPC_STUB IXMLHttpRequest_setRequestHeader_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_getResponseHeader_Proxy (IXMLHttpRequest * This, BSTR bstrHeader, BSTR * pbstrValue);
void __RPC_STUB IXMLHttpRequest_getResponseHeader_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_getAllResponseHeaders_Proxy (IXMLHttpRequest * This, BSTR * pbstrHeaders);
void __RPC_STUB IXMLHttpRequest_getAllResponseHeaders_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_send_Proxy (IXMLHttpRequest * This, VARIANT varBody);
void __RPC_STUB IXMLHttpRequest_send_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_abort_Proxy (IXMLHttpRequest * This);
void __RPC_STUB IXMLHttpRequest_abort_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_get_status_Proxy (IXMLHttpRequest * This, long * plStatus);
void __RPC_STUB IXMLHttpRequest_get_status_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_get_statusText_Proxy (IXMLHttpRequest * This, BSTR * pbstrStatus);
void __RPC_STUB IXMLHttpRequest_get_statusText_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_get_responseXML_Proxy (IXMLHttpRequest * This, IDispatch * * ppBody);
void __RPC_STUB IXMLHttpRequest_get_responseXML_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_get_responseText_Proxy (IXMLHttpRequest * This, BSTR * pbstrBody);
void __RPC_STUB IXMLHttpRequest_get_responseText_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_get_responseBody_Proxy (IXMLHttpRequest * This, VARIANT * pvarBody);
void __RPC_STUB IXMLHttpRequest_get_responseBody_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_get_responseStream_Proxy (IXMLHttpRequest * This, VARIANT * pvarBody);
void __RPC_STUB IXMLHttpRequest_get_responseStream_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_get_readyState_Proxy (IXMLHttpRequest * This, long * plState);
void __RPC_STUB IXMLHttpRequest_get_readyState_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLHttpRequest_put_onreadystatechange_Proxy (IXMLHttpRequest * This, IDispatch * pReadyStateSink);
void __RPC_STUB IXMLHttpRequest_put_onreadystatechange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

EXTERN_C const CLSID CLSID_XMLHTTPRequest;

#ifdef __cplusplus
class DECLSPEC_UUID ("ED8C108E-4349-11D2-91A4-00C04F7969E8") XMLHTTPRequest;
#endif

#ifndef __IXMLDSOControl_INTERFACE_DEFINED__
#define __IXMLDSOControl_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDSOControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("310afa62-0575-11d2-9ca9-0060b0ec3d39") IXMLDSOControl:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_XMLDocument (IXMLDOMDocument * * ppDoc) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_XMLDocument (IXMLDOMDocument * ppDoc) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_JavaDSOCompatible (BOOL * fJavaDSOCompatible) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_JavaDSOCompatible (BOOL fJavaDSOCompatible) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_readyState (long * state) = 0;
};
#else
typedef struct IXMLDSOControlVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDSOControl * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDSOControl * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDSOControl * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDSOControl * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDSOControl * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDSOControl * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDSOControl * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_XMLDocument) (IXMLDSOControl * This, IXMLDOMDocument * * ppDoc);
    HRESULT (STDMETHODCALLTYPE *put_XMLDocument) (IXMLDSOControl * This, IXMLDOMDocument * ppDoc);
    HRESULT (STDMETHODCALLTYPE *get_JavaDSOCompatible) (IXMLDSOControl * This, BOOL * fJavaDSOCompatible);
    HRESULT (STDMETHODCALLTYPE *put_JavaDSOCompatible) (IXMLDSOControl * This, BOOL fJavaDSOCompatible);
    HRESULT (STDMETHODCALLTYPE *get_readyState) (IXMLDSOControl * This, long * state);
    END_INTERFACE
} IXMLDSOControlVtbl;

interface IXMLDSOControl {
    CONST_VTBL struct IXMLDSOControlVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDSOControl_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDSOControl_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDSOControl_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDSOControl_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDSOControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDSOControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDSOControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDSOControl_get_XMLDocument(This,ppDoc)  (This)->lpVtbl->get_XMLDocument(This,ppDoc)
#define IXMLDSOControl_put_XMLDocument(This,ppDoc)  (This)->lpVtbl->put_XMLDocument(This,ppDoc)
#define IXMLDSOControl_get_JavaDSOCompatible(This,fJavaDSOCompatible)  (This)->lpVtbl->get_JavaDSOCompatible(This,fJavaDSOCompatible)
#define IXMLDSOControl_put_JavaDSOCompatible(This,fJavaDSOCompatible)  (This)->lpVtbl->put_JavaDSOCompatible(This,fJavaDSOCompatible)
#define IXMLDSOControl_get_readyState(This,state)  (This)->lpVtbl->get_readyState(This,state)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDSOControl_get_XMLDocument_Proxy (IXMLDSOControl * This, IXMLDOMDocument * * ppDoc);
void __RPC_STUB IXMLDSOControl_get_XMLDocument_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDSOControl_put_XMLDocument_Proxy (IXMLDSOControl * This, IXMLDOMDocument * ppDoc);
void __RPC_STUB IXMLDSOControl_put_XMLDocument_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDSOControl_get_JavaDSOCompatible_Proxy (IXMLDSOControl * This, BOOL * fJavaDSOCompatible);
void __RPC_STUB IXMLDSOControl_get_JavaDSOCompatible_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDSOControl_put_JavaDSOCompatible_Proxy (IXMLDSOControl * This, BOOL fJavaDSOCompatible);
void __RPC_STUB IXMLDSOControl_put_JavaDSOCompatible_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDSOControl_get_readyState_Proxy (IXMLDSOControl * This, long * state);
void __RPC_STUB IXMLDSOControl_get_readyState_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

EXTERN_C const CLSID CLSID_XMLDSOControl;

#ifdef __cplusplus
class DECLSPEC_UUID ("550dda30-0541-11d2-9ca9-0060b0ec3d39") XMLDSOControl;
#endif

#ifndef __IXMLElementCollection_INTERFACE_DEFINED__
#define __IXMLElementCollection_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLElementCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("65725580-9B5D-11d0-9BFE-00C04FC99C8E") IXMLElementCollection:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE put_length (long v) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_length (long * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get__newEnum (IUnknown * * ppUnk) = 0;
    virtual HRESULT STDMETHODCALLTYPE item (VARIANT var1, VARIANT var2, IDispatch * * ppDisp) = 0;
};
#else
typedef struct IXMLElementCollectionVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLElementCollection * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLElementCollection * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLElementCollection * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLElementCollection * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLElementCollection * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLElementCollection * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLElementCollection * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *put_length) (IXMLElementCollection * This, long v);
    HRESULT (STDMETHODCALLTYPE *get_length) (IXMLElementCollection * This, long * p);
    HRESULT (STDMETHODCALLTYPE *get__newEnum) (IXMLElementCollection * This, IUnknown * * ppUnk);
    HRESULT (STDMETHODCALLTYPE *item) (IXMLElementCollection * This, VARIANT var1, VARIANT var2, IDispatch * * ppDisp);
    END_INTERFACE
} IXMLElementCollectionVtbl;

interface IXMLElementCollection {
    CONST_VTBL struct IXMLElementCollectionVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLElementCollection_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLElementCollection_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLElementCollection_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLElementCollection_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLElementCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLElementCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLElementCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLElementCollection_put_length(This,v)  (This)->lpVtbl->put_length(This,v)
#define IXMLElementCollection_get_length(This,p)  (This)->lpVtbl->get_length(This,p)
#define IXMLElementCollection_get__newEnum(This,ppUnk)  (This)->lpVtbl->get__newEnum(This,ppUnk)
#define IXMLElementCollection_item(This,var1,var2,ppDisp)  (This)->lpVtbl->item(This,var1,var2,ppDisp)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLElementCollection_put_length_Proxy (IXMLElementCollection * This, long v);
void __RPC_STUB IXMLElementCollection_put_length_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElementCollection_get_length_Proxy (IXMLElementCollection * This, long * p);
void __RPC_STUB IXMLElementCollection_get_length_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElementCollection_get__newEnum_Proxy (IXMLElementCollection * This, IUnknown * * ppUnk);
void __RPC_STUB IXMLElementCollection_get__newEnum_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElementCollection_item_Proxy (IXMLElementCollection * This, VARIANT var1, VARIANT var2, IDispatch * * ppDisp);
void __RPC_STUB IXMLElementCollection_item_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDocument_INTERFACE_DEFINED__
#define __IXMLDocument_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("F52E2B61-18A1-11d1-B105-00805F49916B") IXMLDocument:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_root (IXMLElement * * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_fileSize (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_fileModifiedDate (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_fileUpdatedDate (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_URL (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_URL (BSTR p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_mimeType (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_readyState (long * pl) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_charset (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_charset (BSTR p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_version (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_doctype (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_dtdURL (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE createElement (VARIANT vType, VARIANT var1, IXMLElement * * ppElem) = 0;
};
#else
typedef struct IXMLDocumentVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDocument * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDocument * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDocument * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDocument * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDocument * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDocument * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDocument * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_root) (IXMLDocument * This, IXMLElement * * p);
    HRESULT (STDMETHODCALLTYPE *get_fileSize) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_fileModifiedDate) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_fileUpdatedDate) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_URL) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *put_URL) (IXMLDocument * This, BSTR p);
    HRESULT (STDMETHODCALLTYPE *get_mimeType) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_readyState) (IXMLDocument * This, long * pl);
    HRESULT (STDMETHODCALLTYPE *get_charset) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *put_charset) (IXMLDocument * This, BSTR p);
    HRESULT (STDMETHODCALLTYPE *get_version) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_doctype) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_dtdURL) (IXMLDocument * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *createElement) (IXMLDocument * This, VARIANT vType, VARIANT var1, IXMLElement * * ppElem);
    END_INTERFACE
} IXMLDocumentVtbl;

interface IXMLDocument {
    CONST_VTBL struct IXMLDocumentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDocument_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDocument_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDocument_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDocument_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDocument_get_root(This,p)  (This)->lpVtbl->get_root(This,p)
#define IXMLDocument_get_fileSize(This,p)  (This)->lpVtbl->get_fileSize(This,p)
#define IXMLDocument_get_fileModifiedDate(This,p)  (This)->lpVtbl->get_fileModifiedDate(This,p)
#define IXMLDocument_get_fileUpdatedDate(This,p)  (This)->lpVtbl->get_fileUpdatedDate(This,p)
#define IXMLDocument_get_URL(This,p)  (This)->lpVtbl->get_URL(This,p)
#define IXMLDocument_put_URL(This,p)  (This)->lpVtbl->put_URL(This,p)
#define IXMLDocument_get_mimeType(This,p)  (This)->lpVtbl->get_mimeType(This,p)
#define IXMLDocument_get_readyState(This,pl)  (This)->lpVtbl->get_readyState(This,pl)
#define IXMLDocument_get_charset(This,p)  (This)->lpVtbl->get_charset(This,p)
#define IXMLDocument_put_charset(This,p)  (This)->lpVtbl->put_charset(This,p)
#define IXMLDocument_get_version(This,p)  (This)->lpVtbl->get_version(This,p)
#define IXMLDocument_get_doctype(This,p)  (This)->lpVtbl->get_doctype(This,p)
#define IXMLDocument_get_dtdURL(This,p)  (This)->lpVtbl->get_dtdURL(This,p)
#define IXMLDocument_createElement(This,vType,var1,ppElem)  (This)->lpVtbl->createElement(This,vType,var1,ppElem)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDocument_get_root_Proxy (IXMLDocument * This, IXMLElement * * p);
void __RPC_STUB IXMLDocument_get_root_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_fileSize_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_fileSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_fileModifiedDate_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_fileModifiedDate_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_fileUpdatedDate_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_fileUpdatedDate_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_URL_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_URL_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_put_URL_Proxy (IXMLDocument * This, BSTR p);
void __RPC_STUB IXMLDocument_put_URL_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_mimeType_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_mimeType_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_readyState_Proxy (IXMLDocument * This, long * pl);
void __RPC_STUB IXMLDocument_get_readyState_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_charset_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_charset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_put_charset_Proxy (IXMLDocument * This, BSTR p);
void __RPC_STUB IXMLDocument_put_charset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_version_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_version_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_doctype_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_doctype_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_get_dtdURL_Proxy (IXMLDocument * This, BSTR * p);
void __RPC_STUB IXMLDocument_get_dtdURL_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument_createElement_Proxy (IXMLDocument * This, VARIANT vType, VARIANT var1, IXMLElement * * ppElem);
void __RPC_STUB IXMLDocument_createElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLDocument2_INTERFACE_DEFINED__
#define __IXMLDocument2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLDocument2;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2B8DE2FE-8D2D-11d1-B2FC-00C04FD915A9") IXMLDocument2:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_root (IXMLElement2 * * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_fileSize (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_fileModifiedDate (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_fileUpdatedDate (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_URL (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_URL (BSTR p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_mimeType (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_readyState (long * pl) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_charset (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_charset (BSTR p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_version (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_doctype (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_dtdURL (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE createElement (VARIANT vType, VARIANT var1, IXMLElement2 * * ppElem) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_async (VARIANT_BOOL * pf) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_async (VARIANT_BOOL f) = 0;
};
#else
typedef struct IXMLDocument2Vtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLDocument2 * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLDocument2 * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLDocument2 * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLDocument2 * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLDocument2 * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLDocument2 * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLDocument2 * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_root) (IXMLDocument2 * This, IXMLElement2 * * p);
    HRESULT (STDMETHODCALLTYPE *get_fileSize) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_fileModifiedDate) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_fileUpdatedDate) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_URL) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *put_URL) (IXMLDocument2 * This, BSTR p);
    HRESULT (STDMETHODCALLTYPE *get_mimeType) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_readyState) (IXMLDocument2 * This, long * pl);
    HRESULT (STDMETHODCALLTYPE *get_charset) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *put_charset) (IXMLDocument2 * This, BSTR p);
    HRESULT (STDMETHODCALLTYPE *get_version) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_doctype) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *get_dtdURL) (IXMLDocument2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *createElement) (IXMLDocument2 * This, VARIANT vType, VARIANT var1, IXMLElement2 * * ppElem);
    HRESULT (STDMETHODCALLTYPE *get_async) (IXMLDocument2 * This, VARIANT_BOOL * pf);
    HRESULT (STDMETHODCALLTYPE *put_async) (IXMLDocument2 * This, VARIANT_BOOL f);
    END_INTERFACE
} IXMLDocument2Vtbl;

interface IXMLDocument2 {
    CONST_VTBL struct IXMLDocument2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLDocument2_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLDocument2_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLDocument2_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLDocument2_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLDocument2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLDocument2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLDocument2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLDocument2_get_root(This,p)  (This)->lpVtbl->get_root(This,p)
#define IXMLDocument2_get_fileSize(This,p)  (This)->lpVtbl->get_fileSize(This,p)
#define IXMLDocument2_get_fileModifiedDate(This,p)  (This)->lpVtbl->get_fileModifiedDate(This,p)
#define IXMLDocument2_get_fileUpdatedDate(This,p)  (This)->lpVtbl->get_fileUpdatedDate(This,p)
#define IXMLDocument2_get_URL(This,p)  (This)->lpVtbl->get_URL(This,p)
#define IXMLDocument2_put_URL(This,p)  (This)->lpVtbl->put_URL(This,p)
#define IXMLDocument2_get_mimeType(This,p)  (This)->lpVtbl->get_mimeType(This,p)
#define IXMLDocument2_get_readyState(This,pl)  (This)->lpVtbl->get_readyState(This,pl)
#define IXMLDocument2_get_charset(This,p)  (This)->lpVtbl->get_charset(This,p)
#define IXMLDocument2_put_charset(This,p)  (This)->lpVtbl->put_charset(This,p)
#define IXMLDocument2_get_version(This,p)  (This)->lpVtbl->get_version(This,p)
#define IXMLDocument2_get_doctype(This,p)  (This)->lpVtbl->get_doctype(This,p)
#define IXMLDocument2_get_dtdURL(This,p)  (This)->lpVtbl->get_dtdURL(This,p)
#define IXMLDocument2_createElement(This,vType,var1,ppElem)  (This)->lpVtbl->createElement(This,vType,var1,ppElem)
#define IXMLDocument2_get_async(This,pf)  (This)->lpVtbl->get_async(This,pf)
#define IXMLDocument2_put_async(This,f)  (This)->lpVtbl->put_async(This,f)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLDocument2_get_root_Proxy (IXMLDocument2 * This, IXMLElement2 * * p);
void __RPC_STUB IXMLDocument2_get_root_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_fileSize_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_fileSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_fileModifiedDate_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_fileModifiedDate_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_fileUpdatedDate_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_fileUpdatedDate_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_URL_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_URL_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_put_URL_Proxy (IXMLDocument2 * This, BSTR p);
void __RPC_STUB IXMLDocument2_put_URL_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_mimeType_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_mimeType_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_readyState_Proxy (IXMLDocument2 * This, long * pl);
void __RPC_STUB IXMLDocument2_get_readyState_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_charset_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_charset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_put_charset_Proxy (IXMLDocument2 * This, BSTR p);
void __RPC_STUB IXMLDocument2_put_charset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_version_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_version_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_doctype_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_doctype_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_dtdURL_Proxy (IXMLDocument2 * This, BSTR * p);
void __RPC_STUB IXMLDocument2_get_dtdURL_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_createElement_Proxy (IXMLDocument2 * This, VARIANT vType, VARIANT var1, IXMLElement2 * * ppElem);
void __RPC_STUB IXMLDocument2_createElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_get_async_Proxy (IXMLDocument2 * This, VARIANT_BOOL * pf);
void __RPC_STUB IXMLDocument2_get_async_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLDocument2_put_async_Proxy (IXMLDocument2 * This, VARIANT_BOOL f);
void __RPC_STUB IXMLDocument2_put_async_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLElement_INTERFACE_DEFINED__
#define __IXMLElement_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("3F7F31AC-E15F-11d0-9C25-00C04FC99C8E") IXMLElement:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_tagName (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_tagName (BSTR p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_parent (IXMLElement * * ppParent) = 0;
    virtual HRESULT STDMETHODCALLTYPE setAttribute (BSTR strPropertyName, VARIANT PropertyValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE getAttribute (BSTR strPropertyName, VARIANT * PropertyValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeAttribute (BSTR strPropertyName) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_children (IXMLElementCollection * * pp) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_type (long * plType) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_text (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_text (BSTR p) = 0;
    virtual HRESULT STDMETHODCALLTYPE addChild (IXMLElement * pChildElem, long lIndex, long lReserved) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeChild (IXMLElement * pChildElem) = 0;
};
#else
typedef struct IXMLElementVtbl {
    BEGIN_INTERFACE HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLElement * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLElement * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLElement * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLElement * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLElement * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLElement * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLElement * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_tagName) (IXMLElement * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *put_tagName) (IXMLElement * This, BSTR p);
    HRESULT (STDMETHODCALLTYPE *get_parent) (IXMLElement * This, IXMLElement * * ppParent);
    HRESULT (STDMETHODCALLTYPE *setAttribute) (IXMLElement * This, BSTR strPropertyName, VARIANT PropertyValue);
    HRESULT (STDMETHODCALLTYPE *getAttribute) (IXMLElement * This, BSTR strPropertyName, VARIANT * PropertyValue);
    HRESULT (STDMETHODCALLTYPE *removeAttribute) (IXMLElement * This, BSTR strPropertyName);
    HRESULT (STDMETHODCALLTYPE *get_children) (IXMLElement * This, IXMLElementCollection * * pp);
    HRESULT (STDMETHODCALLTYPE *get_type) (IXMLElement * This, long * plType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLElement * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLElement * This, BSTR p);
    HRESULT (STDMETHODCALLTYPE *addChild) (IXMLElement * This, IXMLElement * pChildElem, long lIndex, long lReserved);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLElement * This, IXMLElement * pChildElem);
    END_INTERFACE
} IXMLElementVtbl;

interface IXMLElement {
    CONST_VTBL struct IXMLElementVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLElement_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLElement_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLElement_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLElement_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLElement_get_tagName(This,p)  (This)->lpVtbl->get_tagName(This,p)
#define IXMLElement_put_tagName(This,p)  (This)->lpVtbl->put_tagName(This,p)
#define IXMLElement_get_parent(This,ppParent)  (This)->lpVtbl->get_parent(This,ppParent)
#define IXMLElement_setAttribute(This,strPropertyName,PropertyValue)  (This)->lpVtbl->setAttribute(This,strPropertyName,PropertyValue)
#define IXMLElement_getAttribute(This,strPropertyName,PropertyValue)  (This)->lpVtbl->getAttribute(This,strPropertyName,PropertyValue)
#define IXMLElement_removeAttribute(This,strPropertyName)  (This)->lpVtbl->removeAttribute(This,strPropertyName)
#define IXMLElement_get_children(This,pp)  (This)->lpVtbl->get_children(This,pp)
#define IXMLElement_get_type(This,plType)  (This)->lpVtbl->get_type(This,plType)
#define IXMLElement_get_text(This,p)  (This)->lpVtbl->get_text(This,p)
#define IXMLElement_put_text(This,p)  (This)->lpVtbl->put_text(This,p)
#define IXMLElement_addChild(This,pChildElem,lIndex,lReserved)  (This)->lpVtbl->addChild(This,pChildElem,lIndex,lReserved)
#define IXMLElement_removeChild(This,pChildElem)  (This)->lpVtbl->removeChild(This,pChildElem)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLElement_get_tagName_Proxy (IXMLElement * This, BSTR * p);
void __RPC_STUB IXMLElement_get_tagName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_put_tagName_Proxy (IXMLElement * This, BSTR p);
void __RPC_STUB IXMLElement_put_tagName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_get_parent_Proxy (IXMLElement * This, IXMLElement * * ppParent);
void __RPC_STUB IXMLElement_get_parent_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_setAttribute_Proxy (IXMLElement * This, BSTR strPropertyName, VARIANT PropertyValue);
void __RPC_STUB IXMLElement_setAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_getAttribute_Proxy (IXMLElement * This, BSTR strPropertyName, VARIANT * PropertyValue);
void __RPC_STUB IXMLElement_getAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_removeAttribute_Proxy (IXMLElement * This, BSTR strPropertyName);
void __RPC_STUB IXMLElement_removeAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_get_children_Proxy (IXMLElement * This, IXMLElementCollection * * pp);
void __RPC_STUB IXMLElement_get_children_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_get_type_Proxy (IXMLElement * This, long * plType);
void __RPC_STUB IXMLElement_get_type_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_get_text_Proxy (IXMLElement * This, BSTR * p);
void __RPC_STUB IXMLElement_get_text_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_put_text_Proxy (IXMLElement * This, BSTR p);
void __RPC_STUB IXMLElement_put_text_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_addChild_Proxy (IXMLElement * This, IXMLElement * pChildElem, long lIndex, long lReserved);
void __RPC_STUB IXMLElement_addChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement_removeChild_Proxy (IXMLElement * This, IXMLElement * pChildElem);
void __RPC_STUB IXMLElement_removeChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLElement2_INTERFACE_DEFINED__
#define __IXMLElement2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLElement2;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("2B8DE2FF-8D2D-11d1-B2FC-00C04FD915A9") IXMLElement2:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_tagName (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_tagName (BSTR p) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_parent (IXMLElement2 * * ppParent) = 0;
    virtual HRESULT STDMETHODCALLTYPE setAttribute (BSTR strPropertyName, VARIANT PropertyValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE getAttribute (BSTR strPropertyName, VARIANT * PropertyValue) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeAttribute (BSTR strPropertyName) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_children (IXMLElementCollection * * pp) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_type (long * plType) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_text (BSTR * p) = 0;
    virtual HRESULT STDMETHODCALLTYPE put_text (BSTR p) = 0;
    virtual HRESULT STDMETHODCALLTYPE addChild (IXMLElement2 * pChildElem, long lIndex, long lReserved) = 0;
    virtual HRESULT STDMETHODCALLTYPE removeChild (IXMLElement2 * pChildElem) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_attributes (IXMLElementCollection * * pp) = 0;
};
#else
typedef struct IXMLElement2Vtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLElement2 * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLElement2 * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLElement2 * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLElement2 * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLElement2 * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLElement2 * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLElement2 * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_tagName) (IXMLElement2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *put_tagName) (IXMLElement2 * This, BSTR p);
    HRESULT (STDMETHODCALLTYPE *get_parent) (IXMLElement2 * This, IXMLElement2 * * ppParent);
    HRESULT (STDMETHODCALLTYPE *setAttribute) (IXMLElement2 * This, BSTR strPropertyName, VARIANT PropertyValue);
    HRESULT (STDMETHODCALLTYPE *getAttribute) (IXMLElement2 * This, BSTR strPropertyName, VARIANT * PropertyValue);
    HRESULT (STDMETHODCALLTYPE *removeAttribute) (IXMLElement2 * This, BSTR strPropertyName);
    HRESULT (STDMETHODCALLTYPE *get_children) (IXMLElement2 * This, IXMLElementCollection * * pp);
    HRESULT (STDMETHODCALLTYPE *get_type) (IXMLElement2 * This, long * plType);
    HRESULT (STDMETHODCALLTYPE *get_text) (IXMLElement2 * This, BSTR * p);
    HRESULT (STDMETHODCALLTYPE *put_text) (IXMLElement2 * This, BSTR p);
    HRESULT (STDMETHODCALLTYPE *addChild) (IXMLElement2 * This, IXMLElement2 * pChildElem, long lIndex, long lReserved);
    HRESULT (STDMETHODCALLTYPE *removeChild) (IXMLElement2 * This, IXMLElement2 * pChildElem);
    HRESULT (STDMETHODCALLTYPE *get_attributes) (IXMLElement2 * This, IXMLElementCollection * * pp);
    END_INTERFACE
} IXMLElement2Vtbl;

interface IXMLElement2 {
    CONST_VTBL struct IXMLElement2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLElement2_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLElement2_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLElement2_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLElement2_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLElement2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLElement2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLElement2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLElement2_get_tagName(This,p)  (This)->lpVtbl->get_tagName(This,p)
#define IXMLElement2_put_tagName(This,p)  (This)->lpVtbl->put_tagName(This,p)
#define IXMLElement2_get_parent(This,ppParent)  (This)->lpVtbl->get_parent(This,ppParent)
#define IXMLElement2_setAttribute(This,strPropertyName,PropertyValue)  (This)->lpVtbl->setAttribute(This,strPropertyName,PropertyValue)
#define IXMLElement2_getAttribute(This,strPropertyName,PropertyValue)  (This)->lpVtbl->getAttribute(This,strPropertyName,PropertyValue)
#define IXMLElement2_removeAttribute(This,strPropertyName)  (This)->lpVtbl->removeAttribute(This,strPropertyName)
#define IXMLElement2_get_children(This,pp)  (This)->lpVtbl->get_children(This,pp)
#define IXMLElement2_get_type(This,plType)  (This)->lpVtbl->get_type(This,plType)
#define IXMLElement2_get_text(This,p)  (This)->lpVtbl->get_text(This,p)
#define IXMLElement2_put_text(This,p)  (This)->lpVtbl->put_text(This,p)
#define IXMLElement2_addChild(This,pChildElem,lIndex,lReserved)  (This)->lpVtbl->addChild(This,pChildElem,lIndex,lReserved)
#define IXMLElement2_removeChild(This,pChildElem)  (This)->lpVtbl->removeChild(This,pChildElem)
#define IXMLElement2_get_attributes(This,pp)  (This)->lpVtbl->get_attributes(This,pp)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLElement2_get_tagName_Proxy (IXMLElement2 * This, BSTR * p);
void __RPC_STUB IXMLElement2_get_tagName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_put_tagName_Proxy (IXMLElement2 * This, BSTR p);
void __RPC_STUB IXMLElement2_put_tagName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_get_parent_Proxy (IXMLElement2 * This, IXMLElement2 * * ppParent);
void __RPC_STUB IXMLElement2_get_parent_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_setAttribute_Proxy (IXMLElement2 * This, BSTR strPropertyName, VARIANT PropertyValue);
void __RPC_STUB IXMLElement2_setAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_getAttribute_Proxy (IXMLElement2 * This, BSTR strPropertyName, VARIANT * PropertyValue);
void __RPC_STUB IXMLElement2_getAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_removeAttribute_Proxy (IXMLElement2 * This, BSTR strPropertyName);
void __RPC_STUB IXMLElement2_removeAttribute_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_get_children_Proxy (IXMLElement2 * This, IXMLElementCollection * * pp);
void __RPC_STUB IXMLElement2_get_children_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_get_type_Proxy (IXMLElement2 * This, long * plType);
void __RPC_STUB IXMLElement2_get_type_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_get_text_Proxy (IXMLElement2 * This, BSTR * p);
void __RPC_STUB IXMLElement2_get_text_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_put_text_Proxy (IXMLElement2 * This, BSTR p);
void __RPC_STUB IXMLElement2_put_text_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_addChild_Proxy (IXMLElement2 * This, IXMLElement2 * pChildElem, long lIndex, long lReserved);
void __RPC_STUB IXMLElement2_addChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_removeChild_Proxy (IXMLElement2 * This, IXMLElement2 * pChildElem);
void __RPC_STUB IXMLElement2_removeChild_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLElement2_get_attributes_Proxy (IXMLElement2 * This, IXMLElementCollection * * pp);
void __RPC_STUB IXMLElement2_get_attributes_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLAttribute_INTERFACE_DEFINED__
#define __IXMLAttribute_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLAttribute;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("D4D4A0FC-3B73-11d1-B2B4-00C04FB92596") IXMLAttribute:public IDispatch {
    public:
    virtual HRESULT STDMETHODCALLTYPE get_name (BSTR * n) = 0;
    virtual HRESULT STDMETHODCALLTYPE get_value (BSTR * v) = 0;
};
#else
typedef struct IXMLAttributeVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLAttribute * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLAttribute * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLAttribute * This);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount) (IXMLAttribute * This, UINT * pctinfo);
    HRESULT (STDMETHODCALLTYPE *GetTypeInfo) (IXMLAttribute * This, UINT iTInfo, LCID lcid, ITypeInfo * * ppTInfo);
    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames) (IXMLAttribute * This, REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId);
    HRESULT (STDMETHODCALLTYPE *Invoke) (IXMLAttribute * This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pVarResult, EXCEPINFO * pExcepInfo, UINT * puArgErr);
    HRESULT (STDMETHODCALLTYPE *get_name) (IXMLAttribute * This, BSTR * n);
    HRESULT (STDMETHODCALLTYPE *get_value) (IXMLAttribute * This, BSTR * v);
    END_INTERFACE
} IXMLAttributeVtbl;

interface IXMLAttribute {
    CONST_VTBL struct IXMLAttributeVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLAttribute_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLAttribute_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLAttribute_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLAttribute_GetTypeInfoCount(This,pctinfo)  (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IXMLAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo)  (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IXMLAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)  (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IXMLAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)  (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IXMLAttribute_get_name(This,n)  (This)->lpVtbl->get_name(This,n)
#define IXMLAttribute_get_value(This,v)  (This)->lpVtbl->get_value(This,v)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLAttribute_get_name_Proxy (IXMLAttribute * This, BSTR * n);
void __RPC_STUB IXMLAttribute_get_name_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
HRESULT STDMETHODCALLTYPE IXMLAttribute_get_value_Proxy (IXMLAttribute * This, BSTR * v);
void __RPC_STUB IXMLAttribute_get_value_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

#ifndef __IXMLError_INTERFACE_DEFINED__
#define __IXMLError_INTERFACE_DEFINED__

EXTERN_C const IID IID_IXMLError;

#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE ("948C5AD3-C58D-11d0-9C0B-00C04FC99C8E") IXMLError:public IUnknown {
    public:
    virtual HRESULT STDMETHODCALLTYPE GetErrorInfo (XML_ERROR * pErrorReturn) = 0;
};
#else
typedef struct IXMLErrorVtbl {
    BEGIN_INTERFACE
    HRESULT (STDMETHODCALLTYPE *QueryInterface) (IXMLError * This, REFIID riid, void * * ppvObject);
    ULONG (STDMETHODCALLTYPE *AddRef) (IXMLError * This);
    ULONG (STDMETHODCALLTYPE *Release) (IXMLError * This);
    HRESULT (STDMETHODCALLTYPE *GetErrorInfo) (IXMLError * This, XML_ERROR * pErrorReturn);
    END_INTERFACE
} IXMLErrorVtbl;

interface IXMLError {
    CONST_VTBL struct IXMLErrorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define IXMLError_QueryInterface(This,riid,ppvObject)  (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IXMLError_AddRef(This)  (This)->lpVtbl->AddRef(This)
#define IXMLError_Release(This)  (This)->lpVtbl->Release(This)
#define IXMLError_GetErrorInfo(This,pErrorReturn)  (This)->lpVtbl->GetErrorInfo(This,pErrorReturn)
#endif

#endif

HRESULT STDMETHODCALLTYPE IXMLError_GetErrorInfo_Proxy(IXMLError*, XML_ERROR * pErrorReturn);
void __RPC_STUB IXMLError_GetErrorInfo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);

#endif

EXTERN_C const CLSID CLSID_XMLDocument;

#ifdef __cplusplus
class DECLSPEC_UUID ("CFC399AF-D876-11d0-9C10-00C04FC99C8E") XMLDocument;
#endif
#endif

#ifdef __cplusplus
}
#endif

#if __POCC__ >= 290
#pragma warn(pop)
#endif

#endif /* _MSXML_H */
