1*c2c66affSColin Finck/* 2*c2c66affSColin Finck * Copyright (C) 2005 Mike McCormack 3*c2c66affSColin Finck * 4*c2c66affSColin Finck * This library is free software; you can redistribute it and/or 5*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public 6*c2c66affSColin Finck * License as published by the Free Software Foundation; either 7*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version. 8*c2c66affSColin Finck * 9*c2c66affSColin Finck * This library is distributed in the hope that it will be useful, 10*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of 11*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12*c2c66affSColin Finck * Lesser General Public License for more details. 13*c2c66affSColin Finck * 14*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public 15*c2c66affSColin Finck * License along with this library; if not, write to the Free Software 16*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17*c2c66affSColin Finck */ 18*c2c66affSColin Finck 19*c2c66affSColin Finck#include <xmldomdid.h> 20*c2c66affSColin Finck#include <idispids.h> 21*c2c66affSColin Finck 22*c2c66affSColin Finck#if !defined(progid) && !defined(__WIDL__) 23*c2c66affSColin Finck#define threading(model) 24*c2c66affSColin Finck#define progid(str) 25*c2c66affSColin Finck#define vi_progid(str) 26*c2c66affSColin Finck#endif 27*c2c66affSColin Finck 28*c2c66affSColin Finckimport "oaidl.idl"; 29*c2c66affSColin Finck 30*c2c66affSColin Finckinterface IXMLDOMImplementation; 31*c2c66affSColin Finckinterface IXMLDOMNode; 32*c2c66affSColin Finckinterface IXMLDOMDocumentFragment; 33*c2c66affSColin Finckinterface IXMLDOMDocument; 34*c2c66affSColin Finckinterface IXMLDOMNodeList; 35*c2c66affSColin Finckinterface IXMLDOMNamedNodeMap; 36*c2c66affSColin Finckinterface IXMLDOMCharacterData; 37*c2c66affSColin Finckinterface IXMLDOMAttribute; 38*c2c66affSColin Finckinterface IXMLDOMElement; 39*c2c66affSColin Finckinterface IXMLDOMText; 40*c2c66affSColin Finckinterface IXMLDOMComment; 41*c2c66affSColin Finckinterface IXMLDOMProcessingInstruction; 42*c2c66affSColin Finckinterface IXMLDOMCDATASection; 43*c2c66affSColin Finckinterface IXMLDOMDocumentType; 44*c2c66affSColin Finckinterface IXMLDOMNotation; 45*c2c66affSColin Finckinterface IXMLDOMEntity; 46*c2c66affSColin Finckinterface IXMLDOMEntityReference; 47*c2c66affSColin Finckinterface IXMLDOMParseError; 48*c2c66affSColin Finck 49*c2c66affSColin Finckcpp_quote("#ifndef __MSXML_DOMNODETYPE_DEFINED") 50*c2c66affSColin Finckcpp_quote("#define __MSXML_DOMNODETYPE_DEFINED") 51*c2c66affSColin Fincktypedef enum tagDOMNodeType { 52*c2c66affSColin Finck NODE_INVALID, 53*c2c66affSColin Finck NODE_ELEMENT, 54*c2c66affSColin Finck NODE_ATTRIBUTE, 55*c2c66affSColin Finck NODE_TEXT, 56*c2c66affSColin Finck NODE_CDATA_SECTION, 57*c2c66affSColin Finck NODE_ENTITY_REFERENCE, 58*c2c66affSColin Finck NODE_ENTITY, 59*c2c66affSColin Finck NODE_PROCESSING_INSTRUCTION, 60*c2c66affSColin Finck NODE_COMMENT, 61*c2c66affSColin Finck NODE_DOCUMENT, 62*c2c66affSColin Finck NODE_DOCUMENT_TYPE, 63*c2c66affSColin Finck NODE_DOCUMENT_FRAGMENT, 64*c2c66affSColin Finck NODE_NOTATION 65*c2c66affSColin Finck} DOMNodeType; 66*c2c66affSColin Finckcpp_quote("#endif") 67*c2c66affSColin Finck 68*c2c66affSColin Finck[ 69*c2c66affSColin Fincklocal, 70*c2c66affSColin Finckobject, 71*c2c66affSColin Finckodl, 72*c2c66affSColin Finckdual, 73*c2c66affSColin Finckoleautomation, 74*c2c66affSColin Finck/*nonextensible,*/ 75*c2c66affSColin Finckuuid(2933bf80-7b36-11d2-b20e-00c04f983e60), 76*c2c66affSColin Finckpointer_default(unique) 77*c2c66affSColin Finck] 78*c2c66affSColin Finckinterface IXMLDOMNode : IDispatch 79*c2c66affSColin Finck{ 80*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_NODENAME)] 81*c2c66affSColin Finck HRESULT nodeName( [out,retval] BSTR *name ); 82*c2c66affSColin Finck 83*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_NODEVALUE)] 84*c2c66affSColin Finck HRESULT nodeValue( [out,retval] VARIANT *value ); 85*c2c66affSColin Finck 86*c2c66affSColin Finck [propput, id(DISPID_DOM_NODE_NODEVALUE)] 87*c2c66affSColin Finck HRESULT nodeValue( [in] VARIANT value ); 88*c2c66affSColin Finck 89*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_NODETYPE)] 90*c2c66affSColin Finck HRESULT nodeType( [out,retval] DOMNodeType *type ); 91*c2c66affSColin Finck 92*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_PARENTNODE)] 93*c2c66affSColin Finck HRESULT parentNode( [out,retval] IXMLDOMNode **parent ); 94*c2c66affSColin Finck 95*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_CHILDNODES)] 96*c2c66affSColin Finck HRESULT childNodes( [out,retval] IXMLDOMNodeList **childList ); 97*c2c66affSColin Finck 98*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_FIRSTCHILD)] 99*c2c66affSColin Finck HRESULT firstChild( [out,retval] IXMLDOMNode **firstChild ); 100*c2c66affSColin Finck 101*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_LASTCHILD)] 102*c2c66affSColin Finck HRESULT lastChild( [out,retval] IXMLDOMNode **lastChild ); 103*c2c66affSColin Finck 104*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)] 105*c2c66affSColin Finck HRESULT previousSibling( [out,retval] IXMLDOMNode **previousSibling ); 106*c2c66affSColin Finck 107*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_NEXTSIBLING)] 108*c2c66affSColin Finck HRESULT nextSibling( [out,retval] IXMLDOMNode **nextSibling ); 109*c2c66affSColin Finck 110*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_ATTRIBUTES)] 111*c2c66affSColin Finck HRESULT attributes( [out,retval] IXMLDOMNamedNodeMap **attributeMap ); 112*c2c66affSColin Finck 113*c2c66affSColin Finck [id(DISPID_DOM_NODE_INSERTBEFORE)] 114*c2c66affSColin Finck HRESULT insertBefore( [in] IXMLDOMNode * newChild, 115*c2c66affSColin Finck [in] VARIANT refChild, 116*c2c66affSColin Finck [out,retval] IXMLDOMNode **outNewChild ); 117*c2c66affSColin Finck 118*c2c66affSColin Finck [id(DISPID_DOM_NODE_REPLACECHILD)] 119*c2c66affSColin Finck HRESULT replaceChild( [in] IXMLDOMNode *newChild, 120*c2c66affSColin Finck [in] IXMLDOMNode *oldChild, 121*c2c66affSColin Finck [out,retval] IXMLDOMNode **outOldChild ); 122*c2c66affSColin Finck 123*c2c66affSColin Finck [id(DISPID_DOM_NODE_REMOVECHILD)] 124*c2c66affSColin Finck HRESULT removeChild( [in] IXMLDOMNode *childNode, 125*c2c66affSColin Finck [out,retval] IXMLDOMNode **oldChild ); 126*c2c66affSColin Finck 127*c2c66affSColin Finck [id(DISPID_DOM_NODE_APPENDCHILD)] 128*c2c66affSColin Finck HRESULT appendChild( [in] IXMLDOMNode *newChild, 129*c2c66affSColin Finck [out,retval] IXMLDOMNode **outNewChild ); 130*c2c66affSColin Finck 131*c2c66affSColin Finck [id(DISPID_DOM_NODE_HASCHILDNODES)] 132*c2c66affSColin Finck HRESULT hasChildNodes( [out,retval] VARIANT_BOOL *hasChild ); 133*c2c66affSColin Finck 134*c2c66affSColin Finck [propget, id(DISPID_DOM_NODE_OWNERDOC)] 135*c2c66affSColin Finck HRESULT ownerDocument( [out,retval] IXMLDOMDocument **DOMDocument ); 136*c2c66affSColin Finck 137*c2c66affSColin Finck [id(DISPID_DOM_NODE_CLONENODE)] 138*c2c66affSColin Finck HRESULT cloneNode( [in] VARIANT_BOOL deep, 139*c2c66affSColin Finck [out,retval] IXMLDOMNode **cloneRoot ); 140*c2c66affSColin Finck 141*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)] 142*c2c66affSColin Finck HRESULT nodeTypeString( [out,retval] BSTR *nodeType ); 143*c2c66affSColin Finck 144*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_TEXT)] 145*c2c66affSColin Finck HRESULT text( [out,retval] BSTR *text ); 146*c2c66affSColin Finck 147*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_NODE_TEXT)] 148*c2c66affSColin Finck HRESULT text( [in] BSTR text ); 149*c2c66affSColin Finck 150*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)] 151*c2c66affSColin Finck HRESULT specified( [out,retval] VARIANT_BOOL *isSpecified ); 152*c2c66affSColin Finck 153*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_DEFINITION)] 154*c2c66affSColin Finck HRESULT definition( [out,retval] IXMLDOMNode **definitionNode ); 155*c2c66affSColin Finck 156*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)] 157*c2c66affSColin Finck HRESULT nodeTypedValue( [out,retval] VARIANT *typedValue ); 158*c2c66affSColin Finck 159*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)] 160*c2c66affSColin Finck HRESULT nodeTypedValue( [in] VARIANT typedValue ); 161*c2c66affSColin Finck 162*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_DATATYPE)] 163*c2c66affSColin Finck HRESULT dataType( [out,retval] VARIANT *dataTypeName ); 164*c2c66affSColin Finck 165*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_NODE_DATATYPE)] 166*c2c66affSColin Finck HRESULT dataType( [in] BSTR dataTypeName ); 167*c2c66affSColin Finck 168*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_XML)] 169*c2c66affSColin Finck HRESULT xml( [out,retval] BSTR *xmlString ); 170*c2c66affSColin Finck 171*c2c66affSColin Finck [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)] 172*c2c66affSColin Finck HRESULT transformNode( [in] IXMLDOMNode *styleSheet, 173*c2c66affSColin Finck [out,retval] BSTR *xmlString ); 174*c2c66affSColin Finck 175*c2c66affSColin Finck [id(DISPID_XMLDOM_NODE_SELECTNODES)] 176*c2c66affSColin Finck HRESULT selectNodes( [in] BSTR queryString, 177*c2c66affSColin Finck [out,retval] IXMLDOMNodeList **resultList ); 178*c2c66affSColin Finck 179*c2c66affSColin Finck [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)] 180*c2c66affSColin Finck HRESULT selectSingleNode( [in] BSTR queryString, 181*c2c66affSColin Finck [out,retval] IXMLDOMNode **resultNode ); 182*c2c66affSColin Finck 183*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_PARSED)] 184*c2c66affSColin Finck HRESULT parsed( [out,retval] VARIANT_BOOL *isParsed ); 185*c2c66affSColin Finck 186*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)] 187*c2c66affSColin Finck HRESULT namespaceURI( [out,retval] BSTR *namespaceURI ); 188*c2c66affSColin Finck 189*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_PREFIX)] 190*c2c66affSColin Finck HRESULT prefix( [out,retval] BSTR *prefixString ); 191*c2c66affSColin Finck 192*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_NODE_BASENAME)] 193*c2c66affSColin Finck HRESULT baseName( [out,retval] BSTR *nameString ); 194*c2c66affSColin Finck 195*c2c66affSColin Finck [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)] 196*c2c66affSColin Finck HRESULT transformNodeToObject( [in] IXMLDOMNode *stylesheet, 197*c2c66affSColin Finck [in] VARIANT outputObject ); 198*c2c66affSColin Finck} 199*c2c66affSColin Finck 200*c2c66affSColin Finck[ 201*c2c66affSColin Fincklocal, 202*c2c66affSColin Finckobject, 203*c2c66affSColin Finckodl, 204*c2c66affSColin Finckdual, 205*c2c66affSColin Finck/*nonextensible,*/ 206*c2c66affSColin Finckoleautomation, 207*c2c66affSColin Finckuuid(2933bf81-7b36-11d2-b20e-00c04f983e60), 208*c2c66affSColin Finckpointer_default(unique) 209*c2c66affSColin Finck] 210*c2c66affSColin Finckinterface IXMLDOMDocument : IXMLDOMNode 211*c2c66affSColin Finck{ 212*c2c66affSColin Finck [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)] 213*c2c66affSColin Finck HRESULT doctype( [out,retval] IXMLDOMDocumentType **documentType ); 214*c2c66affSColin Finck 215*c2c66affSColin Finck [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)] 216*c2c66affSColin Finck HRESULT implementation( [out,retval] IXMLDOMImplementation **impl ); 217*c2c66affSColin Finck 218*c2c66affSColin Finck [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)] 219*c2c66affSColin Finck HRESULT documentElement( [out,retval] IXMLDOMElement **DOMElement ); 220*c2c66affSColin Finck 221*c2c66affSColin Finck [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)] 222*c2c66affSColin Finck HRESULT documentElement( [in] IXMLDOMElement *DOMElement ); 223*c2c66affSColin Finck 224*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)] 225*c2c66affSColin Finck HRESULT createElement( [in] BSTR tagname, 226*c2c66affSColin Finck [out,retval] IXMLDOMElement **element ); 227*c2c66affSColin Finck 228*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)] 229*c2c66affSColin Finck HRESULT createDocumentFragment( [out,retval] IXMLDOMDocumentFragment **docFrag ); 230*c2c66affSColin Finck 231*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)] 232*c2c66affSColin Finck HRESULT createTextNode( [in] BSTR data, 233*c2c66affSColin Finck [out,retval] IXMLDOMText **text ); 234*c2c66affSColin Finck 235*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)] 236*c2c66affSColin Finck HRESULT createComment( [in] BSTR data, 237*c2c66affSColin Finck [out,retval] IXMLDOMComment **comment ); 238*c2c66affSColin Finck 239*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)] 240*c2c66affSColin Finck HRESULT createCDATASection( [in] BSTR data, 241*c2c66affSColin Finck [out,retval] IXMLDOMCDATASection **cdata ); 242*c2c66affSColin Finck 243*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)] 244*c2c66affSColin Finck HRESULT createProcessingInstruction( [in] BSTR target, 245*c2c66affSColin Finck [in] BSTR data, 246*c2c66affSColin Finck [out,retval] IXMLDOMProcessingInstruction **pi ); 247*c2c66affSColin Finck 248*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)] 249*c2c66affSColin Finck HRESULT createAttribute( [in] BSTR name, 250*c2c66affSColin Finck [out,retval] IXMLDOMAttribute **attribute ); 251*c2c66affSColin Finck 252*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)] 253*c2c66affSColin Finck HRESULT createEntityReference( [in] BSTR name, 254*c2c66affSColin Finck [out,retval] IXMLDOMEntityReference **entityRef ); 255*c2c66affSColin Finck 256*c2c66affSColin Finck [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)] 257*c2c66affSColin Finck HRESULT getElementsByTagName( [in] BSTR tagName, 258*c2c66affSColin Finck [out,retval] IXMLDOMNodeList **resultList ); 259*c2c66affSColin Finck 260*c2c66affSColin Finck [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)] 261*c2c66affSColin Finck HRESULT createNode( [in] VARIANT Type, 262*c2c66affSColin Finck [in] BSTR name, 263*c2c66affSColin Finck [in] BSTR namespaceURI, 264*c2c66affSColin Finck [out,retval] IXMLDOMNode **node ); 265*c2c66affSColin Finck 266*c2c66affSColin Finck [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)] 267*c2c66affSColin Finck HRESULT nodeFromID( [in] BSTR idString, 268*c2c66affSColin Finck [out,retval] IXMLDOMNode **node ); 269*c2c66affSColin Finck 270*c2c66affSColin Finck [id(DISPID_XMLDOM_DOCUMENT_LOAD)] 271*c2c66affSColin Finck HRESULT load( [in] VARIANT xmlSource, 272*c2c66affSColin Finck [out,retval] VARIANT_BOOL *isSuccessful ); 273*c2c66affSColin Finck 274*c2c66affSColin Finck [propget, id(DISPID_READYSTATE)] 275*c2c66affSColin Finck HRESULT readyState( [out,retval] LONG *value ); 276*c2c66affSColin Finck 277*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)] 278*c2c66affSColin Finck HRESULT parseError( [out,retval] IXMLDOMParseError **errorObj ); 279*c2c66affSColin Finck 280*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_DOCUMENT_URL)] 281*c2c66affSColin Finck HRESULT url( [out,retval] BSTR *urlString ); 282*c2c66affSColin Finck 283*c2c66affSColin Finck /* FIXME: these is meant to be async, but widl parses that as a keyword */ 284*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)] 285*c2c66affSColin Finck HRESULT async( [out,retval] VARIANT_BOOL *isAsync ); 286*c2c66affSColin Finck 287*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)] 288*c2c66affSColin Finck HRESULT async( [in] VARIANT_BOOL isAsync ); 289*c2c66affSColin Finck 290*c2c66affSColin Finck [id(DISPID_XMLDOM_DOCUMENT_ABORT)] 291*c2c66affSColin Finck HRESULT abort(); 292*c2c66affSColin Finck 293*c2c66affSColin Finck [id(DISPID_XMLDOM_DOCUMENT_LOADXML)] 294*c2c66affSColin Finck HRESULT loadXML( [in] BSTR bstrXML, 295*c2c66affSColin Finck [out,retval] VARIANT_BOOL *isSuccessful ); 296*c2c66affSColin Finck 297*c2c66affSColin Finck [id(DISPID_XMLDOM_DOCUMENT_SAVE)] 298*c2c66affSColin Finck HRESULT save( [in] VARIANT destination ); 299*c2c66affSColin Finck 300*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)] 301*c2c66affSColin Finck HRESULT validateOnParse( [out,retval] VARIANT_BOOL *isValidating ); 302*c2c66affSColin Finck 303*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)] 304*c2c66affSColin Finck HRESULT validateOnParse( [in] VARIANT_BOOL isValidating ); 305*c2c66affSColin Finck 306*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)] 307*c2c66affSColin Finck HRESULT resolveExternals( [out,retval] VARIANT_BOOL *isResolving ); 308*c2c66affSColin Finck 309*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)] 310*c2c66affSColin Finck HRESULT resolveExternals( [in] VARIANT_BOOL isValidating ); 311*c2c66affSColin Finck 312*c2c66affSColin Finck [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)] 313*c2c66affSColin Finck HRESULT preserveWhiteSpace( [out,retval] VARIANT_BOOL *isPreserving ); 314*c2c66affSColin Finck 315*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)] 316*c2c66affSColin Finck HRESULT preserveWhiteSpace( [in] VARIANT_BOOL isPreserving ); 317*c2c66affSColin Finck 318*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)] 319*c2c66affSColin Finck HRESULT onreadystatechange( [in] VARIANT readystatechangeSink ); 320*c2c66affSColin Finck 321*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)] 322*c2c66affSColin Finck HRESULT ondataavailable( [in] VARIANT ondataavailableSink ); 323*c2c66affSColin Finck 324*c2c66affSColin Finck [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)] 325*c2c66affSColin Finck HRESULT ontransformnode( [in] VARIANT ontransformnodeSink ); 326*c2c66affSColin Finck} 327*c2c66affSColin Finck 328*c2c66affSColin Finck[ 329*c2c66affSColin Fincklocal, 330*c2c66affSColin Finckobject, 331*c2c66affSColin Finckodl, 332*c2c66affSColin Finckdual, 333*c2c66affSColin Finck/*nonextensible,*/ 334*c2c66affSColin Finckoleautomation, 335*c2c66affSColin Finckuuid(2933bf82-7b36-11d2-b20e-00c04f983e60), 336*c2c66affSColin Finckpointer_default(unique) 337*c2c66affSColin Finck] 338*c2c66affSColin Finckinterface IXMLDOMNodeList : IDispatch 339*c2c66affSColin Finck{ 340*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 341*c2c66affSColin Finck HRESULT item( [in] LONG index, 342*c2c66affSColin Finck [out,retval] IXMLDOMNode **listItem ); 343*c2c66affSColin Finck 344*c2c66affSColin Finck [propget, id(DISPID_DOM_NODELIST_LENGTH)] 345*c2c66affSColin Finck HRESULT length( [out,retval] LONG *listLength ); 346*c2c66affSColin Finck 347*c2c66affSColin Finck [id(DISPID_XMLDOM_NODELIST_NEXTNODE)] 348*c2c66affSColin Finck HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem ); 349*c2c66affSColin Finck 350*c2c66affSColin Finck [id(DISPID_XMLDOM_NODELIST_RESET)] 351*c2c66affSColin Finck HRESULT reset(); 352*c2c66affSColin Finck 353*c2c66affSColin Finck [id(DISPID_NEWENUM)] 354*c2c66affSColin Finck HRESULT _newEnum( [out,retval] IUnknown **ppUnk ); 355*c2c66affSColin Finck} 356*c2c66affSColin Finck 357*c2c66affSColin Finck[ 358*c2c66affSColin Fincklocal, 359*c2c66affSColin Finckobject, 360*c2c66affSColin Finckodl, 361*c2c66affSColin Finckdual, 362*c2c66affSColin Finck/*nonextensible,*/ 363*c2c66affSColin Finckoleautomation, 364*c2c66affSColin Finckuuid(2933bf83-7b36-11d2-b20e-00c04f983e60), 365*c2c66affSColin Finckpointer_default(unique) 366*c2c66affSColin Finck] 367*c2c66affSColin Finckinterface IXMLDOMNamedNodeMap : IDispatch 368*c2c66affSColin Finck{ 369*c2c66affSColin Finck [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)] 370*c2c66affSColin Finck HRESULT getNamedItem( [in] BSTR name, 371*c2c66affSColin Finck [out,retval] IXMLDOMNode **namedItem ); 372*c2c66affSColin Finck 373*c2c66affSColin Finck [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)] 374*c2c66affSColin Finck HRESULT setNamedItem( [in] IXMLDOMNode *newItem, 375*c2c66affSColin Finck [out,retval] IXMLDOMNode **namedItem ); 376*c2c66affSColin Finck 377*c2c66affSColin Finck [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)] 378*c2c66affSColin Finck HRESULT removeNamedItem( [in] BSTR name, 379*c2c66affSColin Finck [out,retval] IXMLDOMNode **namedItem ); 380*c2c66affSColin Finck 381*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 382*c2c66affSColin Finck HRESULT item( [in] LONG index, 383*c2c66affSColin Finck [out,retval] IXMLDOMNode **listItem ); 384*c2c66affSColin Finck 385*c2c66affSColin Finck [propget, id(DISPID_DOM_NODELIST_LENGTH)] 386*c2c66affSColin Finck HRESULT length( [out,retval] LONG *listLength ); 387*c2c66affSColin Finck 388*c2c66affSColin Finck [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)] 389*c2c66affSColin Finck HRESULT getQualifiedItem( [in] BSTR baseName, 390*c2c66affSColin Finck [in] BSTR namespaceURI, 391*c2c66affSColin Finck [out,retval] IXMLDOMNode **qualifiedItem ); 392*c2c66affSColin Finck 393*c2c66affSColin Finck [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)] 394*c2c66affSColin Finck HRESULT removeQualifiedItem( [in] BSTR baseName, 395*c2c66affSColin Finck [in] BSTR namespaceURI, 396*c2c66affSColin Finck [out,retval] IXMLDOMNode **qualifiedItem ); 397*c2c66affSColin Finck 398*c2c66affSColin Finck [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)] 399*c2c66affSColin Finck HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem ); 400*c2c66affSColin Finck 401*c2c66affSColin Finck [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)] 402*c2c66affSColin Finck HRESULT reset(); 403*c2c66affSColin Finck 404*c2c66affSColin Finck [id(DISPID_NEWENUM)] 405*c2c66affSColin Finck HRESULT _newEnum( [out,retval] IUnknown **ppUnk ); 406*c2c66affSColin Finck} 407*c2c66affSColin Finck 408*c2c66affSColin Finck[ 409*c2c66affSColin Fincklocal, 410*c2c66affSColin Finckobject, 411*c2c66affSColin Finckodl, 412*c2c66affSColin Finckdual, 413*c2c66affSColin Finck/*nonextensible,*/ 414*c2c66affSColin Finckoleautomation, 415*c2c66affSColin Finckuuid(3efaa413-272f-11d2-836f-0000f87a7782), 416*c2c66affSColin Finckpointer_default(unique) 417*c2c66affSColin Finck] 418*c2c66affSColin Finckinterface IXMLDOMDocumentFragment : IXMLDOMNode 419*c2c66affSColin Finck{ 420*c2c66affSColin Finck /* empty */ 421*c2c66affSColin Finck} 422*c2c66affSColin Finck 423*c2c66affSColin Finck[ 424*c2c66affSColin Fincklocal, 425*c2c66affSColin Finckobject, 426*c2c66affSColin Finckodl, 427*c2c66affSColin Finckdual, 428*c2c66affSColin Finck/*nonextensible,*/ 429*c2c66affSColin Finckoleautomation, 430*c2c66affSColin Finckuuid(2933bf84-7b36-11d2-b20e-00c04f983e60), 431*c2c66affSColin Finckpointer_default(unique) 432*c2c66affSColin Finck] 433*c2c66affSColin Finckinterface IXMLDOMCharacterData : IXMLDOMNode 434*c2c66affSColin Finck{ 435*c2c66affSColin Finck [propget, id(DISPID_DOM_DATA_DATA)] 436*c2c66affSColin Finck HRESULT data( [out,retval] BSTR *data ); 437*c2c66affSColin Finck 438*c2c66affSColin Finck [propput, id(DISPID_DOM_DATA_DATA)] 439*c2c66affSColin Finck HRESULT data( [in] BSTR data ); 440*c2c66affSColin Finck 441*c2c66affSColin Finck [propget, id(DISPID_DOM_DATA_LENGTH)] 442*c2c66affSColin Finck HRESULT length( [out,retval] LONG *dataLength ); 443*c2c66affSColin Finck 444*c2c66affSColin Finck [id(DISPID_DOM_DATA_SUBSTRING)] 445*c2c66affSColin Finck HRESULT substringData( [in] LONG offset, 446*c2c66affSColin Finck [in] LONG count, 447*c2c66affSColin Finck [out,retval] BSTR *data ); 448*c2c66affSColin Finck 449*c2c66affSColin Finck [id(DISPID_DOM_DATA_APPEND)] 450*c2c66affSColin Finck HRESULT appendData( [in] BSTR data ); 451*c2c66affSColin Finck 452*c2c66affSColin Finck [id(DISPID_DOM_DATA_INSERT)] 453*c2c66affSColin Finck HRESULT insertData( [in] LONG offset, 454*c2c66affSColin Finck [in] BSTR data ); 455*c2c66affSColin Finck 456*c2c66affSColin Finck [id(DISPID_DOM_DATA_DELETE)] 457*c2c66affSColin Finck HRESULT deleteData( [in] LONG offset, 458*c2c66affSColin Finck [in] LONG count ); 459*c2c66affSColin Finck 460*c2c66affSColin Finck [id(DISPID_DOM_DATA_REPLACE)] 461*c2c66affSColin Finck HRESULT replaceData( [in] LONG offset, 462*c2c66affSColin Finck [in] LONG count, 463*c2c66affSColin Finck [in] BSTR data ); 464*c2c66affSColin Finck} 465*c2c66affSColin Finck 466*c2c66affSColin Finck[ 467*c2c66affSColin Fincklocal, 468*c2c66affSColin Finckobject, 469*c2c66affSColin Finckodl, 470*c2c66affSColin Finckdual, 471*c2c66affSColin Finck/*nonextensible,*/ 472*c2c66affSColin Finckoleautomation, 473*c2c66affSColin Finckuuid(2933bf85-7b36-11d2-b20e-00c04f983e60), 474*c2c66affSColin Finckpointer_default(unique) 475*c2c66affSColin Finck] 476*c2c66affSColin Finckinterface IXMLDOMAttribute : IXMLDOMNode 477*c2c66affSColin Finck{ 478*c2c66affSColin Finck [propget,id(DISPID_DOM_ATTRIBUTE_GETNAME)] 479*c2c66affSColin Finck HRESULT name( [out,retval] BSTR *attributeName ); 480*c2c66affSColin Finck 481*c2c66affSColin Finck [propget,id(DISPID_DOM_ATTRIBUTE_VALUE)] 482*c2c66affSColin Finck HRESULT value( [out,retval] VARIANT *attributeValue ); 483*c2c66affSColin Finck 484*c2c66affSColin Finck [propput,id(DISPID_DOM_ATTRIBUTE_VALUE)] 485*c2c66affSColin Finck HRESULT value( [in] VARIANT attributeValue ); 486*c2c66affSColin Finck} 487*c2c66affSColin Finck 488*c2c66affSColin Finck[ 489*c2c66affSColin Fincklocal, 490*c2c66affSColin Finckobject, 491*c2c66affSColin Finckodl, 492*c2c66affSColin Finckdual, 493*c2c66affSColin Finck/*nonextensible,*/ 494*c2c66affSColin Finckoleautomation, 495*c2c66affSColin Finckuuid(2933bf86-7b36-11d2-b20e-00c04f983e60), 496*c2c66affSColin Finckpointer_default(unique) 497*c2c66affSColin Finck] 498*c2c66affSColin Finckinterface IXMLDOMElement : IXMLDOMNode 499*c2c66affSColin Finck{ 500*c2c66affSColin Finck [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)] 501*c2c66affSColin Finck HRESULT tagName( [out,retval] BSTR *tagName ); 502*c2c66affSColin Finck 503*c2c66affSColin Finck [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)] 504*c2c66affSColin Finck HRESULT getAttribute( [in] BSTR name, 505*c2c66affSColin Finck [out,retval] VARIANT * value ); 506*c2c66affSColin Finck 507*c2c66affSColin Finck [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)] 508*c2c66affSColin Finck HRESULT setAttribute( [in] BSTR name, 509*c2c66affSColin Finck [in] VARIANT value ); 510*c2c66affSColin Finck 511*c2c66affSColin Finck [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)] 512*c2c66affSColin Finck HRESULT removeAttribute( [in] BSTR name ); 513*c2c66affSColin Finck 514*c2c66affSColin Finck [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)] 515*c2c66affSColin Finck HRESULT getAttributeNode( [in] BSTR name, 516*c2c66affSColin Finck [out, retval] IXMLDOMAttribute ** attributeNode ); 517*c2c66affSColin Finck 518*c2c66affSColin Finck [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)] 519*c2c66affSColin Finck HRESULT setAttributeNode( [in] IXMLDOMAttribute *DOMAttribute, 520*c2c66affSColin Finck [out, retval] IXMLDOMAttribute ** attributeNode ); 521*c2c66affSColin Finck 522*c2c66affSColin Finck [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)] 523*c2c66affSColin Finck HRESULT removeAttributeNode( [in] IXMLDOMAttribute *DOMAttribute, 524*c2c66affSColin Finck [out, retval] IXMLDOMAttribute ** attributeNode ); 525*c2c66affSColin Finck 526*c2c66affSColin Finck [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)] 527*c2c66affSColin Finck HRESULT getElementsByTagName( [in] BSTR tagName, 528*c2c66affSColin Finck [out, retval] IXMLDOMNodeList ** resultList ); 529*c2c66affSColin Finck 530*c2c66affSColin Finck [id(DISPID_DOM_ELEMENT_NORMALIZE)] 531*c2c66affSColin Finck HRESULT normalize(); 532*c2c66affSColin Finck} 533*c2c66affSColin Finck 534*c2c66affSColin Finck[ 535*c2c66affSColin Fincklocal, 536*c2c66affSColin Finckobject, 537*c2c66affSColin Finckodl, 538*c2c66affSColin Finckdual, 539*c2c66affSColin Finck/*nonextensible,*/ 540*c2c66affSColin Finckoleautomation, 541*c2c66affSColin Finckuuid(2933bf87-7b36-11d2-b20e-00c04f983e60), 542*c2c66affSColin Finckpointer_default(unique) 543*c2c66affSColin Finck] 544*c2c66affSColin Finckinterface IXMLDOMText : IXMLDOMCharacterData 545*c2c66affSColin Finck{ 546*c2c66affSColin Finck [id(DISPID_DOM_TEXT_SPLITTEXT)] 547*c2c66affSColin Finck HRESULT splitText( [in] LONG offset, 548*c2c66affSColin Finck [out,retval] IXMLDOMText **rightHandTextNode ); 549*c2c66affSColin Finck} 550*c2c66affSColin Finck 551*c2c66affSColin Finck[ 552*c2c66affSColin Fincklocal, 553*c2c66affSColin Finckobject, 554*c2c66affSColin Finckodl, 555*c2c66affSColin Finckdual, 556*c2c66affSColin Finck/*nonextensible,*/ 557*c2c66affSColin Finckoleautomation, 558*c2c66affSColin Finckuuid(2933bf88-7b36-11d2-b20e-00c04f983e60), 559*c2c66affSColin Finckpointer_default(unique) 560*c2c66affSColin Finck] 561*c2c66affSColin Finckinterface IXMLDOMComment : IXMLDOMCharacterData 562*c2c66affSColin Finck{ 563*c2c66affSColin Finck /* empty */ 564*c2c66affSColin Finck} 565*c2c66affSColin Finck 566*c2c66affSColin Finck[ 567*c2c66affSColin Fincklocal, 568*c2c66affSColin Finckobject, 569*c2c66affSColin Finckodl, 570*c2c66affSColin Finckdual, 571*c2c66affSColin Finck/*nonextensible,*/ 572*c2c66affSColin Finckoleautomation, 573*c2c66affSColin Finckuuid(2933bf89-7b36-11d2-b20e-00c04f983e60), 574*c2c66affSColin Finckpointer_default(unique) 575*c2c66affSColin Finck] 576*c2c66affSColin Finckinterface IXMLDOMProcessingInstruction : IXMLDOMNode 577*c2c66affSColin Finck{ 578*c2c66affSColin Finck [propget, id(DISPID_DOM_PI_TARGET)] 579*c2c66affSColin Finck HRESULT target( [out, retval] BSTR *name ); 580*c2c66affSColin Finck 581*c2c66affSColin Finck [propget, id(DISPID_DOM_PI_DATA)] 582*c2c66affSColin Finck HRESULT data( [out, retval] BSTR *value ); 583*c2c66affSColin Finck 584*c2c66affSColin Finck [propput, id(DISPID_DOM_PI_DATA)] 585*c2c66affSColin Finck HRESULT data( [in] BSTR value ); 586*c2c66affSColin Finck} 587*c2c66affSColin Finck 588*c2c66affSColin Finck[ 589*c2c66affSColin Fincklocal, 590*c2c66affSColin Finckobject, 591*c2c66affSColin Finckodl, 592*c2c66affSColin Finckdual, 593*c2c66affSColin Finck/*nonextensible,*/ 594*c2c66affSColin Finckoleautomation, 595*c2c66affSColin Finckuuid(2933bf8a-7b36-11d2-b20e-00c04f983e60), 596*c2c66affSColin Finckpointer_default(unique) 597*c2c66affSColin Finck] 598*c2c66affSColin Finckinterface IXMLDOMCDATASection : IXMLDOMText 599*c2c66affSColin Finck{ 600*c2c66affSColin Finck /* empty */ 601*c2c66affSColin Finck} 602*c2c66affSColin Finck 603*c2c66affSColin Finck[ 604*c2c66affSColin Fincklocal, 605*c2c66affSColin Finckobject, 606*c2c66affSColin Finckodl, 607*c2c66affSColin Finckdual, 608*c2c66affSColin Finck/*nonextensible,*/ 609*c2c66affSColin Finckoleautomation, 610*c2c66affSColin Finckuuid(2933bf8b-7b36-11d2-b20e-00c04f983e60), 611*c2c66affSColin Finckpointer_default(unique) 612*c2c66affSColin Finck] 613*c2c66affSColin Finckinterface IXMLDOMDocumentType : IXMLDOMNode 614*c2c66affSColin Finck{ 615*c2c66affSColin Finck [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)] 616*c2c66affSColin Finck HRESULT name( [out,retval] BSTR *rootName ); 617*c2c66affSColin Finck 618*c2c66affSColin Finck [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)] 619*c2c66affSColin Finck HRESULT entities( [out,retval] IXMLDOMNamedNodeMap **entityMap ); 620*c2c66affSColin Finck 621*c2c66affSColin Finck [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)] 622*c2c66affSColin Finck HRESULT notations( [out,retval] IXMLDOMNamedNodeMap **notationMap ); 623*c2c66affSColin Finck} 624*c2c66affSColin Finck 625*c2c66affSColin Finck[ 626*c2c66affSColin Fincklocal, 627*c2c66affSColin Finckobject, 628*c2c66affSColin Finckodl, 629*c2c66affSColin Finckdual, 630*c2c66affSColin Fincknonextensible, 631*c2c66affSColin Finckoleautomation, 632*c2c66affSColin Finckuuid(2933bf8c-7b36-11d2-b20e-00c04f983e60), 633*c2c66affSColin Finckpointer_default(unique) 634*c2c66affSColin Finck] 635*c2c66affSColin Finckinterface IXMLDOMNotation : IXMLDOMNode 636*c2c66affSColin Finck{ 637*c2c66affSColin Finck [propget, id(DISPID_DOM_NOTATION_PUBLICID)] 638*c2c66affSColin Finck HRESULT publicId([out, retval] VARIANT *publicId); 639*c2c66affSColin Finck 640*c2c66affSColin Finck [propget, id(DISPID_DOM_NOTATION_SYSTEMID)] 641*c2c66affSColin Finck HRESULT systemId([out, retval] VARIANT *systemId); 642*c2c66affSColin Finck} 643*c2c66affSColin Finck 644*c2c66affSColin Finck[ 645*c2c66affSColin Fincklocal, 646*c2c66affSColin Finckobject, 647*c2c66affSColin Finckodl, 648*c2c66affSColin Finckdual, 649*c2c66affSColin Fincknonextensible, 650*c2c66affSColin Finckoleautomation, 651*c2c66affSColin Finckuuid(2933bf8d-7b36-11d2-b20e-00c04f983e60), 652*c2c66affSColin Finckpointer_default(unique) 653*c2c66affSColin Finck] 654*c2c66affSColin Finckinterface IXMLDOMEntity : IXMLDOMNode 655*c2c66affSColin Finck{ 656*c2c66affSColin Finck [propget, id(DISPID_DOM_ENTITY_PUBLICID)] 657*c2c66affSColin Finck HRESULT publicId([out, retval] VARIANT *publicId); 658*c2c66affSColin Finck 659*c2c66affSColin Finck [propget, id(DISPID_DOM_ENTITY_SYSTEMID)] 660*c2c66affSColin Finck HRESULT systemId([out, retval] VARIANT *systemId); 661*c2c66affSColin Finck 662*c2c66affSColin Finck [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)] 663*c2c66affSColin Finck HRESULT notationName([out, retval] BSTR *name); 664*c2c66affSColin Finck} 665*c2c66affSColin Finck 666*c2c66affSColin Finck[ 667*c2c66affSColin Fincklocal, 668*c2c66affSColin Finckobject, 669*c2c66affSColin Finckodl, 670*c2c66affSColin Finckdual, 671*c2c66affSColin Fincknonextensible, 672*c2c66affSColin Finckoleautomation, 673*c2c66affSColin Finckuuid(2933bf8e-7b36-11d2-b20e-00c04f983e60), 674*c2c66affSColin Finckpointer_default(unique) 675*c2c66affSColin Finck] 676*c2c66affSColin Finckinterface IXMLDOMEntityReference : IXMLDOMNode 677*c2c66affSColin Finck{ 678*c2c66affSColin Finck} 679*c2c66affSColin Finck 680*c2c66affSColin Finck[ 681*c2c66affSColin Fincklocal, 682*c2c66affSColin Finckobject, 683*c2c66affSColin Finckodl, 684*c2c66affSColin Finckdual, 685*c2c66affSColin Fincknonextensible, 686*c2c66affSColin Finckoleautomation, 687*c2c66affSColin Finckuuid(2933bf8f-7b36-11d2-b20e-00c04f983e60), 688*c2c66affSColin Finckpointer_default(unique) 689*c2c66affSColin Finck] 690*c2c66affSColin Finckinterface IXMLDOMImplementation : IDispatch 691*c2c66affSColin Finck{ 692*c2c66affSColin Finck [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)] 693*c2c66affSColin Finck HRESULT hasFeature([in] BSTR feature, [in] BSTR version, [out, retval] VARIANT_BOOL *pbool); 694*c2c66affSColin Finck} 695*c2c66affSColin Finck 696*c2c66affSColin Finck[ 697*c2c66affSColin Fincklocal, 698*c2c66affSColin Finckobject, 699*c2c66affSColin Finckodl, 700*c2c66affSColin Finckdual, 701*c2c66affSColin Finckoleautomation, 702*c2c66affSColin Finck/*nonextensible,*/ 703*c2c66affSColin Finckhelpstring("structure for reporting parse errors"), 704*c2c66affSColin Finckpointer_default(unique), 705*c2c66affSColin Finckuuid (3efaa426-272f-11d2-836f-0000f87a7782) 706*c2c66affSColin Finck] 707*c2c66affSColin Finckinterface IXMLDOMParseError : IDispatch 708*c2c66affSColin Finck{ 709*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 710*c2c66affSColin Finck HRESULT errorCode([retval, out] LONG *errCode); 711*c2c66affSColin Finck 712*c2c66affSColin Finck [propget, id(DISPID_DOM_ERROR_URL)] 713*c2c66affSColin Finck HRESULT url([retval, out] BSTR *p); 714*c2c66affSColin Finck 715*c2c66affSColin Finck [propget, id(DISPID_DOM_ERROR_REASON)] 716*c2c66affSColin Finck HRESULT reason([retval, out] BSTR *p); 717*c2c66affSColin Finck 718*c2c66affSColin Finck [propget, id(DISPID_DOM_ERROR_SRCTEXT)] 719*c2c66affSColin Finck HRESULT srcText([retval, out] BSTR *p); 720*c2c66affSColin Finck 721*c2c66affSColin Finck [propget, id(DISPID_DOM_ERROR_LINE)] 722*c2c66affSColin Finck HRESULT line([retval, out] LONG *lineNo); 723*c2c66affSColin Finck 724*c2c66affSColin Finck [propget, id(DISPID_DOM_ERROR_LINEPOS)] 725*c2c66affSColin Finck HRESULT linepos([retval, out] LONG * linePos); 726*c2c66affSColin Finck 727*c2c66affSColin Finck [propget, id(DISPID_DOM_ERROR_FILEPOS)] 728*c2c66affSColin Finck HRESULT filepos([retval, out] LONG * filePos); 729*c2c66affSColin Finck} 730*c2c66affSColin Finck 731*c2c66affSColin Finck[ 732*c2c66affSColin Finck hidden, 733*c2c66affSColin Finck uuid(3efaa427-272f-11d2-836f-0000f87a7782) 734*c2c66affSColin Finck] 735*c2c66affSColin Finckdispinterface XMLDOMDocumentEvents 736*c2c66affSColin Finck{ 737*c2c66affSColin Finck properties: 738*c2c66affSColin Finck methods: 739*c2c66affSColin Finck [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE)] 740*c2c66affSColin Finck HRESULT ondataavailable(); 741*c2c66affSColin Finck 742*c2c66affSColin Finck [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)] 743*c2c66affSColin Finck HRESULT onreadystatechange(); 744*c2c66affSColin Finck} 745*c2c66affSColin Finck 746*c2c66affSColin Finck[ 747*c2c66affSColin Finck helpstring("XML DOM Document"), 748*c2c66affSColin Finck progid("Microsoft.XMLDOM.1.0"), 749*c2c66affSColin Finck vi_progid("Microsoft.XMLDOM"), 750*c2c66affSColin Finck threading(both), 751*c2c66affSColin Finck version(1.0), 752*c2c66affSColin Finck uuid(2933bf90-7b36-11d2-b20e-00c04f983e60) 753*c2c66affSColin Finck] 754*c2c66affSColin Finckcoclass DOMDocument 755*c2c66affSColin Finck{ 756*c2c66affSColin Finck [default] interface IXMLDOMDocument; 757*c2c66affSColin Finck [default, source] dispinterface XMLDOMDocumentEvents; 758*c2c66affSColin Finck} 759*c2c66affSColin Finck 760*c2c66affSColin Finck[ 761*c2c66affSColin Finck helpstring("Free Threaded XML DOM Document"), 762*c2c66affSColin Finck progid("Microsoft.FreeThreadedXMLDOM.1.0"), 763*c2c66affSColin Finck vi_progid("Microsoft.FreeThreadedXMLDOM"), 764*c2c66affSColin Finck threading(both), 765*c2c66affSColin Finck version(1.0), 766*c2c66affSColin Finck uuid(2933bf91-7b36-11d2-b20e-00c04f983e60) 767*c2c66affSColin Finck] 768*c2c66affSColin Finckcoclass DOMFreeThreadedDocument 769*c2c66affSColin Finck{ 770*c2c66affSColin Finck [default] interface IXMLDOMDocument; 771*c2c66affSColin Finck [default, source] dispinterface XMLDOMDocumentEvents; 772*c2c66affSColin Finck} 773*c2c66affSColin Finck 774*c2c66affSColin Finck[ 775*c2c66affSColin Finckobject, 776*c2c66affSColin Finckuuid(ed8c108d-4349-11d2-91a4-00c04f7969e8), 777*c2c66affSColin Finckodl, 778*c2c66affSColin Finckdual, 779*c2c66affSColin Finckoleautomation, 780*c2c66affSColin Finckpointer_default(unique) 781*c2c66affSColin Finck] 782*c2c66affSColin Finckinterface IXMLHttpRequest : IDispatch 783*c2c66affSColin Finck{ 784*c2c66affSColin Finck [id(1)] 785*c2c66affSColin Finck HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl, 786*c2c66affSColin Finck [in, optional] VARIANT varAsync, 787*c2c66affSColin Finck [in, optional] VARIANT varUser, 788*c2c66affSColin Finck [in, optional] VARIANT varPassword); 789*c2c66affSColin Finck [id(2)] 790*c2c66affSColin Finck HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue); 791*c2c66affSColin Finck 792*c2c66affSColin Finck [id(3)] 793*c2c66affSColin Finck HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR *pbstrValue); 794*c2c66affSColin Finck 795*c2c66affSColin Finck [id(4)] 796*c2c66affSColin Finck HRESULT getAllResponseHeaders([out, retval] BSTR *pbstrHeaders); 797*c2c66affSColin Finck 798*c2c66affSColin Finck [id(5)] 799*c2c66affSColin Finck HRESULT send([in, optional] VARIANT varBody); 800*c2c66affSColin Finck 801*c2c66affSColin Finck [id(6)] 802*c2c66affSColin Finck HRESULT abort(); 803*c2c66affSColin Finck 804*c2c66affSColin Finck [propget, id(7)] 805*c2c66affSColin Finck HRESULT status([out, retval] LONG *plStatus); 806*c2c66affSColin Finck 807*c2c66affSColin Finck [propget, id(8)] 808*c2c66affSColin Finck HRESULT statusText([out, retval] BSTR *bstrStatus); 809*c2c66affSColin Finck 810*c2c66affSColin Finck [propget, id(9)] 811*c2c66affSColin Finck HRESULT responseXML([out, retval] IDispatch **ppBody); 812*c2c66affSColin Finck 813*c2c66affSColin Finck [propget, id(10)] 814*c2c66affSColin Finck HRESULT responseText([out, retval] BSTR *pbstrBody); 815*c2c66affSColin Finck 816*c2c66affSColin Finck [propget, id(11)] 817*c2c66affSColin Finck HRESULT responseBody([out, retval] VARIANT *pvarBody); 818*c2c66affSColin Finck 819*c2c66affSColin Finck [propget, id(12)] 820*c2c66affSColin Finck HRESULT responseStream([out, retval] VARIANT *pvarBody); 821*c2c66affSColin Finck 822*c2c66affSColin Finck [propget, id(13)] 823*c2c66affSColin Finck HRESULT readyState([out, retval] LONG *plState); 824*c2c66affSColin Finck 825*c2c66affSColin Finck [propput, id(14)] 826*c2c66affSColin Finck HRESULT onreadystatechange([in] IDispatch *pReadyStateSink); 827*c2c66affSColin Finck} 828*c2c66affSColin Finck 829*c2c66affSColin Finck[ 830*c2c66affSColin Finck helpstring("XML HTTP Request"), 831*c2c66affSColin Finck progid("Microsoft.XMLHTTP.1.0"), 832*c2c66affSColin Finck vi_progid("Microsoft.XMLHTTP"), 833*c2c66affSColin Finck threading(apartment), 834*c2c66affSColin Finck version(1.0), 835*c2c66affSColin Finck uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8) 836*c2c66affSColin Finck] 837*c2c66affSColin Finckcoclass XMLHTTPRequest 838*c2c66affSColin Finck{ 839*c2c66affSColin Finck [default] interface IXMLHttpRequest; 840*c2c66affSColin Finck} 841