2 * Copyright (C) 2005 Mike McCormack
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include <xmldomdid.h>
22 #if !defined(progid) && !defined(__WIDL__)
23 #define threading(model)
25 #define vi_progid(str)
28 interface IXMLDOMImplementation;
29 interface IXMLDOMNode;
30 interface IXMLDOMDocumentFragment;
31 interface IXMLDOMDocument;
32 interface IXMLDOMNodeList;
33 interface IXMLDOMNamedNodeMap;
34 interface IXMLDOMCharacterData;
35 interface IXMLDOMAttribute;
36 interface IXMLDOMElement;
37 interface IXMLDOMText;
38 interface IXMLDOMComment;
39 interface IXMLDOMProcessingInstruction;
40 interface IXMLDOMCDATASection;
41 interface IXMLDOMDocumentType;
42 interface IXMLDOMNotation;
43 interface IXMLDOMEntity;
44 interface IXMLDOMEntityReference;
45 interface IXMLDOMParseError;
47 cpp_quote("#ifndef __MSXML_DOMNODETYPE_DEFINED")
48 cpp_quote("#define __MSXML_DOMNODETYPE_DEFINED")
49 typedef enum tagDOMNodeType {
55 NODE_ENTITY_REFERENCE,
57 NODE_PROCESSING_INSTRUCTION,
61 NODE_DOCUMENT_FRAGMENT,
73 uuid(2933bf80-7b36-11d2-b20e-00c04f983e60),
74 pointer_default(unique)
76 interface IXMLDOMNode : IDispatch
78 [propget, id(DISPID_DOM_NODE_NODENAME)]
79 HRESULT nodeName( [out,retval] BSTR *name );
81 [propget, id(DISPID_DOM_NODE_NODEVALUE)]
82 HRESULT nodeValue( [out,retval] VARIANT *value );
84 [propput, id(DISPID_DOM_NODE_NODEVALUE)]
85 HRESULT nodeValue( [in] VARIANT value );
87 [propget, id(DISPID_DOM_NODE_NODETYPE)]
88 HRESULT nodeType( [out,retval] DOMNodeType *type );
90 [propget, id(DISPID_DOM_NODE_PARENTNODE)]
91 HRESULT parentNode( [out,retval] IXMLDOMNode **parent );
93 [propget, id(DISPID_DOM_NODE_CHILDNODES)]
94 HRESULT childNodes( [out,retval] IXMLDOMNodeList **childList );
96 [propget, id(DISPID_DOM_NODE_FIRSTCHILD)]
97 HRESULT firstChild( [out,retval] IXMLDOMNode **firstChild );
99 [propget, id(DISPID_DOM_NODE_LASTCHILD)]
100 HRESULT lastChild( [out,retval] IXMLDOMNode **lastChild );
102 [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)]
103 HRESULT previousSibling( [out,retval] IXMLDOMNode **previousSibling );
105 [propget, id(DISPID_DOM_NODE_NEXTSIBLING)]
106 HRESULT nextSibling( [out,retval] IXMLDOMNode **nextSibling );
108 [propget, id(DISPID_DOM_NODE_ATTRIBUTES)]
109 HRESULT attributes( [out,retval] IXMLDOMNamedNodeMap **attributeMap );
111 [id(DISPID_DOM_NODE_INSERTBEFORE)]
112 HRESULT insertBefore( [in] IXMLDOMNode * newChild,
113 [in] VARIANT refChild,
114 [out,retval] IXMLDOMNode **outNewChild );
116 [id(DISPID_DOM_NODE_REPLACECHILD)]
117 HRESULT replaceChild( [in] IXMLDOMNode *newChild,
118 [in] IXMLDOMNode *oldChild,
119 [out,retval] IXMLDOMNode **outOldChild );
121 [id(DISPID_DOM_NODE_REMOVECHILD)]
122 HRESULT removeChild( [in] IXMLDOMNode *childNode,
123 [out,retval] IXMLDOMNode **oldChild );
125 [id(DISPID_DOM_NODE_APPENDCHILD)]
126 HRESULT appendChild( [in] IXMLDOMNode *newChild,
127 [out,retval] IXMLDOMNode **outNewChild );
129 [id(DISPID_DOM_NODE_HASCHILDNODES)]
130 HRESULT hasChildNodes( [out,retval] VARIANT_BOOL *hasChild );
132 [propget, id(DISPID_DOM_NODE_OWNERDOC)]
133 HRESULT ownerDocument( [out,retval] IXMLDOMDocument **DOMDocument );
135 [id(DISPID_DOM_NODE_CLONENODE)]
136 HRESULT cloneNode( [in] VARIANT_BOOL deep,
137 [out,retval] IXMLDOMNode **cloneRoot );
139 [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)]
140 HRESULT nodeTypeString( [out,retval] BSTR *nodeType );
142 [propget, id(DISPID_XMLDOM_NODE_TEXT)]
143 HRESULT text( [out,retval] BSTR *text );
145 [propput, id(DISPID_XMLDOM_NODE_TEXT)]
146 HRESULT text( [in] BSTR text );
148 [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)]
149 HRESULT specified( [out,retval] VARIANT_BOOL *isSpecified );
151 [propget, id(DISPID_XMLDOM_NODE_DEFINITION)]
152 HRESULT definition( [out,retval] IXMLDOMNode **definitionNode );
154 [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
155 HRESULT nodeTypedValue( [out,retval] VARIANT *typedValue );
157 [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
158 HRESULT nodeTypedValue( [in] VARIANT typedValue );
160 [propget, id(DISPID_XMLDOM_NODE_DATATYPE)]
161 HRESULT dataType( [out,retval] VARIANT *dataTypeName );
163 [propput, id(DISPID_XMLDOM_NODE_DATATYPE)]
164 HRESULT dataType( [in] BSTR dataTypeName );
166 [propget, id(DISPID_XMLDOM_NODE_XML)]
167 HRESULT xml( [out,retval] BSTR *xmlString );
169 [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)]
170 HRESULT transformNode( [in] IXMLDOMNode *styleSheet,
171 [out,retval] BSTR *xmlString );
173 [id(DISPID_XMLDOM_NODE_SELECTNODES)]
174 HRESULT selectNodes( [in] BSTR queryString,
175 [out,retval] IXMLDOMNodeList **resultList );
177 [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)]
178 HRESULT selectSingleNode( [in] BSTR queryString,
179 [out,retval] IXMLDOMNode **resultNode );
181 [propget, id(DISPID_XMLDOM_NODE_PARSED)]
182 HRESULT parsed( [out,retval] VARIANT_BOOL *isParsed );
184 [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)]
185 HRESULT namespaceURI( [out,retval] BSTR *namespaceURI );
187 [propget, id(DISPID_XMLDOM_NODE_PREFIX)]
188 HRESULT prefix( [out,retval] BSTR *prefixString );
190 [propget, id(DISPID_XMLDOM_NODE_BASENAME)]
191 HRESULT baseName( [out,retval] BSTR *nameString );
193 [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)]
194 HRESULT transformNodeToObject( [in] IXMLDOMNode *stylesheet,
195 [in] VARIANT outputObject );
205 uuid(2933bf81-7b36-11d2-b20e-00c04f983e60),
206 pointer_default(unique)
208 interface IXMLDOMDocument : IXMLDOMNode
210 [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)]
211 HRESULT doctype( [out,retval] IXMLDOMDocumentType **documentType );
213 [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)]
214 HRESULT implementation( [out,retval] IXMLDOMImplementation **impl );
216 [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
217 HRESULT documentElement( [out,retval] IXMLDOMElement **DOMElement );
219 [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
220 HRESULT documentElement( [in] IXMLDOMElement *DOMElement );
222 [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)]
223 HRESULT createElement( [in] BSTR tagname,
224 [out,retval] IXMLDOMElement **element );
226 [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)]
227 HRESULT createDocumentFragment( [out,retval] IXMLDOMDocumentFragment **docFrag );
229 [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)]
230 HRESULT createTextNode( [in] BSTR data,
231 [out,retval] IXMLDOMText **text );
233 [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)]
234 HRESULT createComment( [in] BSTR data,
235 [out,retval] IXMLDOMComment **comment );
237 [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)]
238 HRESULT createCDATASection( [in] BSTR data,
239 [out,retval] IXMLDOMCDATASection **cdata );
241 [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)]
242 HRESULT createProcessingInstruction( [in] BSTR target,
244 [out,retval] IXMLDOMProcessingInstruction **pi );
246 [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)]
247 HRESULT createAttribute( [in] BSTR name,
248 [out,retval] IXMLDOMAttribute **attribute );
250 [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)]
251 HRESULT createEntityReference( [in] BSTR name,
252 [out,retval] IXMLDOMEntityReference **entityRef );
254 [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)]
255 HRESULT getElementsByTagName( [in] BSTR tagName,
256 [out,retval] IXMLDOMNodeList **resultList );
258 [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)]
259 HRESULT createNode( [in] VARIANT Type,
261 [in] BSTR namespaceURI,
262 [out,retval] IXMLDOMNode **node );
264 [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)]
265 HRESULT nodeFromID( [in] BSTR idString,
266 [out,retval] IXMLDOMNode **node );
268 [id(DISPID_XMLDOM_DOCUMENT_LOAD)]
269 HRESULT load( [in] VARIANT xmlSource,
270 [out,retval] VARIANT_BOOL *isSuccessful );
272 [propget, id(DISPID_READYSTATE)]
273 HRESULT readyState( [out,retval] LONG *value );
275 [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)]
276 HRESULT parseError( [out,retval] IXMLDOMParseError **errorObj );
278 [propget, id(DISPID_XMLDOM_DOCUMENT_URL)]
279 HRESULT url( [out,retval] BSTR *urlString );
281 /* FIXME: these is meant to be async, but widl parses that as a keyword */
282 [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
283 HRESULT async( [out,retval] VARIANT_BOOL *isAsync );
285 [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
286 HRESULT async( [in] VARIANT_BOOL isAsync );
288 [id(DISPID_XMLDOM_DOCUMENT_ABORT)]
291 [id(DISPID_XMLDOM_DOCUMENT_LOADXML)]
292 HRESULT loadXML( [in] BSTR bstrXML,
293 [out,retval] VARIANT_BOOL *isSuccessful );
295 [id(DISPID_XMLDOM_DOCUMENT_SAVE)]
296 HRESULT save( [in] VARIANT destination );
298 [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
299 HRESULT validateOnParse( [out,retval] VARIANT_BOOL *isValidating );
301 [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
302 HRESULT validateOnParse( [in] VARIANT_BOOL isValidating );
304 [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
305 HRESULT resolveExternals( [out,retval] VARIANT_BOOL *isResolving );
307 [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
308 HRESULT resolveExternals( [in] VARIANT_BOOL isValidating );
310 [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
311 HRESULT preserveWhiteSpace( [out,retval] VARIANT_BOOL *isPreserving );
313 [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
314 HRESULT preserveWhiteSpace( [in] VARIANT_BOOL isPreserving );
316 [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)]
317 HRESULT onreadystatechange( [in] VARIANT readystatechangeSink );
319 [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)]
320 HRESULT ondataavailable( [in] VARIANT ondataavailableSink );
322 [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)]
323 HRESULT ontransformnode( [in] VARIANT ontransformnodeSink );
333 uuid(2933bf82-7b36-11d2-b20e-00c04f983e60),
334 pointer_default(unique)
336 interface IXMLDOMNodeList : IDispatch
338 [propget, id(DISPID_VALUE)]
339 HRESULT item( [in] LONG index,
340 [out,retval] IXMLDOMNode **listItem );
342 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
343 HRESULT length( [out,retval] LONG *listLength );
345 [id(DISPID_XMLDOM_NODELIST_NEXTNODE)]
346 HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem );
348 [id(DISPID_XMLDOM_NODELIST_RESET)]
352 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
362 uuid(2933bf83-7b36-11d2-b20e-00c04f983e60),
363 pointer_default(unique)
365 interface IXMLDOMNamedNodeMap : IDispatch
367 [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)]
368 HRESULT getNamedItem( [in] BSTR name,
369 [out,retval] IXMLDOMNode **namedItem );
371 [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)]
372 HRESULT setNamedItem( [in] IXMLDOMNode *newItem,
373 [out,retval] IXMLDOMNode **namedItem );
375 [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)]
376 HRESULT removeNamedItem( [in] BSTR name,
377 [out,retval] IXMLDOMNode **namedItem );
379 [propget, id(DISPID_VALUE)]
380 HRESULT item( [in] LONG index,
381 [out,retval] IXMLDOMNode **listItem );
383 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
384 HRESULT length( [out,retval] LONG *listLength );
386 [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)]
387 HRESULT getQualifiedItem( [in] BSTR baseName,
388 [in] BSTR namespaceURI,
389 [out,retval] IXMLDOMNode **qualifiedItem );
391 [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)]
392 HRESULT removeQualifiedItem( [in] BSTR baseName,
393 [in] BSTR namespaceURI,
394 [out,retval] IXMLDOMNode **qualifiedItem );
396 [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)]
397 HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem );
399 [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)]
403 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
413 uuid(3efaa413-272f-11d2-836f-0000f87a7782),
414 pointer_default(unique)
416 interface IXMLDOMDocumentFragment : IXMLDOMNode
428 uuid(2933bf84-7b36-11d2-b20e-00c04f983e60),
429 pointer_default(unique)
431 interface IXMLDOMCharacterData : IXMLDOMNode
433 [propget, id(DISPID_DOM_DATA_DATA)]
434 HRESULT data( [out,retval] BSTR *data );
436 [propput, id(DISPID_DOM_DATA_DATA)]
437 HRESULT data( [in] BSTR data );
439 [propget, id(DISPID_DOM_DATA_LENGTH)]
440 HRESULT length( [out,retval] LONG *dataLength );
442 [id(DISPID_DOM_DATA_SUBSTRING)]
443 HRESULT substringData( [in] LONG offset,
445 [out,retval] BSTR *data );
447 [id(DISPID_DOM_DATA_APPEND)]
448 HRESULT appendData( [in] BSTR data );
450 [id(DISPID_DOM_DATA_INSERT)]
451 HRESULT insertData( [in] LONG offset,
454 [id(DISPID_DOM_DATA_DELETE)]
455 HRESULT deleteData( [in] LONG offset,
458 [id(DISPID_DOM_DATA_REPLACE)]
459 HRESULT replaceData( [in] LONG offset,
471 uuid(2933bf85-7b36-11d2-b20e-00c04f983e60),
472 pointer_default(unique)
474 interface IXMLDOMAttribute : IXMLDOMNode
476 [propget,id(DISPID_DOM_ATTRIBUTE_GETNAME)]
477 HRESULT name( [out,retval] BSTR *attributeName );
479 [propget,id(DISPID_DOM_ATTRIBUTE_VALUE)]
480 HRESULT value( [out,retval] VARIANT *attributeValue );
482 [propput,id(DISPID_DOM_ATTRIBUTE_VALUE)]
483 HRESULT value( [in] VARIANT attributeValue );
493 uuid(2933bf86-7b36-11d2-b20e-00c04f983e60),
494 pointer_default(unique)
496 interface IXMLDOMElement : IXMLDOMNode
498 [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)]
499 HRESULT tagName( [out,retval] BSTR *tagName );
501 [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)]
502 HRESULT getAttribute( [in] BSTR name,
503 [out,retval] VARIANT * value );
505 [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)]
506 HRESULT setAttribute( [in] BSTR name,
507 [in] VARIANT value );
509 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)]
510 HRESULT removeAttribute( [in] BSTR name );
512 [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)]
513 HRESULT getAttributeNode( [in] BSTR name,
514 [out, retval] IXMLDOMAttribute ** attributeNode );
516 [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)]
517 HRESULT setAttributeNode( [in] IXMLDOMAttribute *DOMAttribute,
518 [out, retval] IXMLDOMAttribute ** attributeNode );
520 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)]
521 HRESULT removeAttributeNode( [in] IXMLDOMAttribute *DOMAttribute,
522 [out, retval] IXMLDOMAttribute ** attributeNode );
524 [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)]
525 HRESULT getElementsByTagName( [in] BSTR tagName,
526 [out, retval] IXMLDOMNodeList ** resultList );
528 [id(DISPID_DOM_ELEMENT_NORMALIZE)]
539 uuid(2933bf87-7b36-11d2-b20e-00c04f983e60),
540 pointer_default(unique)
542 interface IXMLDOMText : IXMLDOMCharacterData
544 [id(DISPID_DOM_TEXT_SPLITTEXT)]
545 HRESULT splitText( [in] LONG offset,
546 [out,retval] IXMLDOMText **rightHandTextNode );
556 uuid(2933bf88-7b36-11d2-b20e-00c04f983e60),
557 pointer_default(unique)
559 interface IXMLDOMComment : IXMLDOMCharacterData
571 uuid(2933bf89-7b36-11d2-b20e-00c04f983e60),
572 pointer_default(unique)
574 interface IXMLDOMProcessingInstruction : IXMLDOMNode
576 [propget, id(DISPID_DOM_PI_TARGET)]
577 HRESULT target( [out, retval] BSTR *name );
579 [propget, id(DISPID_DOM_PI_DATA)]
580 HRESULT data( [out, retval] BSTR *value );
582 [propput, id(DISPID_DOM_PI_DATA)]
583 HRESULT data( [in] BSTR value );
593 uuid(2933bf8a-7b36-11d2-b20e-00c04f983e60),
594 pointer_default(unique)
596 interface IXMLDOMCDATASection : IXMLDOMText
608 uuid(2933bf8b-7b36-11d2-b20e-00c04f983e60),
609 pointer_default(unique)
611 interface IXMLDOMDocumentType : IXMLDOMNode
613 [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)]
614 HRESULT name( [out,retval] BSTR *rootName );
616 [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)]
617 HRESULT entities( [out,retval] IXMLDOMNamedNodeMap **entityMap );
619 [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)]
620 HRESULT notations( [out,retval] IXMLDOMNamedNodeMap **notationMap );
630 uuid(2933bf8c-7b36-11d2-b20e-00c04f983e60),
631 pointer_default(unique)
633 interface IXMLDOMNotation : IXMLDOMNode
635 [propget, id(DISPID_DOM_NOTATION_PUBLICID)]
636 HRESULT publicId([out, retval] VARIANT *publicId);
638 [propget, id(DISPID_DOM_NOTATION_SYSTEMID)]
639 HRESULT systemId([out, retval] VARIANT *systemId);
649 uuid(2933bf8d-7b36-11d2-b20e-00c04f983e60),
650 pointer_default(unique)
652 interface IXMLDOMEntity : IXMLDOMNode
654 [propget, id(DISPID_DOM_ENTITY_PUBLICID)]
655 HRESULT publicId([out, retval] VARIANT *publicId);
657 [propget, id(DISPID_DOM_ENTITY_SYSTEMID)]
658 HRESULT systemId([out, retval] VARIANT *systemId);
660 [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)]
661 HRESULT notationName([out, retval] BSTR *name);
671 uuid(2933bf8e-7b36-11d2-b20e-00c04f983e60),
672 pointer_default(unique)
674 interface IXMLDOMEntityReference : IXMLDOMNode
685 uuid(2933bf8f-7b36-11d2-b20e-00c04f983e60),
686 pointer_default(unique)
688 interface IXMLDOMImplementation : IDispatch
690 [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)]
691 HRESULT hasFeature([in] BSTR feature, [in] BSTR version, [out, retval] VARIANT_BOOL *pbool);
701 helpstring("structure for reporting parse errors"),
702 pointer_default(unique),
703 uuid (3efaa426-272f-11d2-836f-0000f87a7782)
705 interface IXMLDOMParseError : IDispatch
707 [propget, id(DISPID_VALUE)]
708 HRESULT errorCode([retval, out] LONG *errCode);
710 [propget, id(DISPID_DOM_ERROR_URL)]
711 HRESULT url([retval, out] BSTR *p);
713 [propget, id(DISPID_DOM_ERROR_REASON)]
714 HRESULT reason([retval, out] BSTR *p);
716 [propget, id(DISPID_DOM_ERROR_SRCTEXT)]
717 HRESULT srcText([retval, out] BSTR *p);
719 [propget, id(DISPID_DOM_ERROR_LINE)]
720 HRESULT line([retval, out] LONG *lineNo);
722 [propget, id(DISPID_DOM_ERROR_LINEPOS)]
723 HRESULT linepos([retval, out] LONG * linePos);
725 [propget, id(DISPID_DOM_ERROR_FILEPOS)]
726 HRESULT filepos([retval, out] LONG * filePos);
731 uuid(3efaa427-272f-11d2-836f-0000f87a7782)
733 dispinterface XMLDOMDocumentEvents
737 [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
738 HRESULT ondataavailable();
740 [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
741 HRESULT onreadystatechange();
745 helpstring("XML DOM Document"),
746 progid("Microsoft.XMLDOM.1.0"),
747 vi_progid("Microsoft.XMLDOM"),
750 uuid(2933bf90-7b36-11d2-b20e-00c04f983e60)
754 [default] interface IXMLDOMDocument;
755 [default, source] dispinterface XMLDOMDocumentEvents;
759 helpstring("Free Threaded XML DOM Document"),
760 progid("Microsoft.FreeThreadedXMLDOM.1.0"),
761 vi_progid("Microsoft.FreeThreadedXMLDOM"),
764 uuid(2933bf91-7b36-11d2-b20e-00c04f983e60)
766 coclass DOMFreeThreadedDocument
768 [default] interface IXMLDOMDocument;
769 [default, source] dispinterface XMLDOMDocumentEvents;
774 uuid(ed8c108d-4349-11d2-91a4-00c04f7969e8),
778 pointer_default(unique)
780 interface IXMLHttpRequest : IDispatch
783 HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl,
784 [in, optional] VARIANT varAsync,
785 [in, optional] VARIANT varUser,
786 [in, optional] VARIANT varPassword);
788 HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
791 HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR *pbstrValue);
794 HRESULT getAllResponseHeaders([out, retval] BSTR *pbstrHeaders);
797 HRESULT send([in, optional] VARIANT varBody);
803 HRESULT status([out, retval] LONG *plStatus);
806 HRESULT statusText([out, retval] BSTR *bstrStatus);
809 HRESULT responseXML([out, retval] IDispatch **ppBody);
812 HRESULT responseText([out, retval] BSTR *pbstrBody);
815 HRESULT responseBody([out, retval] VARIANT *pvarBody);
818 HRESULT responseStream([out, retval] VARIANT *pvarBody);
821 HRESULT readyState([out, retval] LONG *plState);
824 HRESULT onreadystatechange([in] IDispatch *pReadyStateSink);
828 helpstring("XML HTTP Request"),
829 progid("Microsoft.XMLHTTP.1.0"),
830 vi_progid("Microsoft.XMLHTTP"),
831 threading(apartment),
833 uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8)
835 coclass XMLHTTPRequest
837 [default] interface IXMLHttpRequest;