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 interface IXMLDOMImplementation;
23 interface IXMLDOMNode;
24 interface IXMLDOMDocumentFragment;
25 interface IXMLDOMDocument;
26 interface IXMLDOMNodeList;
27 interface IXMLDOMNamedNodeMap;
28 interface IXMLDOMCharacterData;
29 interface IXMLDOMAttribute;
30 interface IXMLDOMElement;
31 interface IXMLDOMText;
32 interface IXMLDOMComment;
33 interface IXMLDOMProcessingInstruction;
34 interface IXMLDOMCDATASection;
35 interface IXMLDOMDocumentType;
36 interface IXMLDOMNotation;
37 interface IXMLDOMEntity;
38 interface IXMLDOMEntityReference;
39 interface IXMLDOMParseError;
41 cpp_quote("#ifndef __MSXML_DOMNODETYPE_DEFINED")
42 cpp_quote("#define __MSXML_DOMNODETYPE_DEFINED")
43 typedef enum tagDOMNodeType {
49 NODE_ENTITY_REFERENCE,
51 NODE_PROCESSING_INSTRUCTION,
55 NODE_DOCUMENT_FRAGMENT,
67 uuid(2933bf80-7b36-11d2-b20e-00c04f983e60),
68 pointer_default(unique)
70 interface IXMLDOMNode : IDispatch
72 [propget, id(DISPID_DOM_NODE_NODENAME)]
73 HRESULT nodeName( [out,retval] BSTR *name );
75 [propget, id(DISPID_DOM_NODE_NODEVALUE)]
76 HRESULT nodeValue( [out,retval] VARIANT *value );
78 [propput, id(DISPID_DOM_NODE_NODEVALUE)]
79 HRESULT nodeValue( [in] VARIANT value );
81 [propget, id(DISPID_DOM_NODE_NODETYPE)]
82 HRESULT nodeType( [out,retval] DOMNodeType *type );
84 [propget, id(DISPID_DOM_NODE_PARENTNODE)]
85 HRESULT parentNode( [out,retval] IXMLDOMNode **parent );
87 [propget, id(DISPID_DOM_NODE_CHILDNODES)]
88 HRESULT childNodes( [out,retval] IXMLDOMNodeList **childList );
90 [propget, id(DISPID_DOM_NODE_FIRSTCHILD)]
91 HRESULT firstChild( [out,retval] IXMLDOMNode **firstChild );
93 [propget, id(DISPID_DOM_NODE_LASTCHILD)]
94 HRESULT lastChild( [out,retval] IXMLDOMNode **lastChild );
96 [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)]
97 HRESULT previousSibling( [out,retval] IXMLDOMNode **previousSibling );
99 [propget, id(DISPID_DOM_NODE_NEXTSIBLING)]
100 HRESULT nextSibling( [out,retval] IXMLDOMNode **nextSibling );
102 [propget, id(DISPID_DOM_NODE_ATTRIBUTES)]
103 HRESULT attributes( [out,retval] IXMLDOMNamedNodeMap **attributeMap );
105 [id(DISPID_DOM_NODE_INSERTBEFORE)]
106 HRESULT insertBefore( [in] IXMLDOMNode * newChild,
107 [in] VARIANT refChild,
108 [out,retval] IXMLDOMNode **outNewChild );
110 [id(DISPID_DOM_NODE_REPLACECHILD)]
111 HRESULT replaceChild( [in] IXMLDOMNode *newChild,
112 [in] IXMLDOMNode *oldChild,
113 [out,retval] IXMLDOMNode **outOldChild );
115 [id(DISPID_DOM_NODE_REMOVECHILD)]
116 HRESULT removeChild( [in] IXMLDOMNode *childNode,
117 [out,retval] IXMLDOMNode **oldChild );
119 [id(DISPID_DOM_NODE_APPENDCHILD)]
120 HRESULT appendChild( [in] IXMLDOMNode *newChild,
121 [out,retval] IXMLDOMNode **outNewChild );
123 [id(DISPID_DOM_NODE_HASCHILDNODES)]
124 HRESULT hasChildNodes( [out,retval] VARIANT_BOOL *hasChild );
126 [propget, id(DISPID_DOM_NODE_OWNERDOC)]
127 HRESULT ownerDocument( [out,retval] IXMLDOMDocument **DOMDocument );
129 [id(DISPID_DOM_NODE_CLONENODE)]
130 HRESULT cloneNode( [in] VARIANT_BOOL deep,
131 [out,retval] IXMLDOMNode **cloneRoot );
133 [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)]
134 HRESULT nodeTypeString( [out,retval] BSTR *nodeType );
136 [propget, id(DISPID_XMLDOM_NODE_TEXT)]
137 HRESULT text( [out,retval] BSTR *text );
139 [propput, id(DISPID_XMLDOM_NODE_TEXT)]
140 HRESULT text( [in] BSTR text );
142 [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)]
143 HRESULT specified( [out,retval] VARIANT_BOOL *isSpecified );
145 [propget, id(DISPID_XMLDOM_NODE_DEFINITION)]
146 HRESULT definition( [out,retval] IXMLDOMNode **definitionNode );
148 [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
149 HRESULT nodeTypedValue( [out,retval] VARIANT *typedValue );
151 [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
152 HRESULT nodeTypedValue( [in] VARIANT typedValue );
154 [propget, id(DISPID_XMLDOM_NODE_DATATYPE)]
155 HRESULT dataType( [out,retval] VARIANT *dataTypeName );
157 [propput, id(DISPID_XMLDOM_NODE_DATATYPE)]
158 HRESULT dataType( [in] BSTR dataTypeName );
160 [propget, id(DISPID_XMLDOM_NODE_XML)]
161 HRESULT xml( [out,retval] BSTR *xmlString );
163 [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)]
164 HRESULT transformNode( [in] IXMLDOMNode *styleSheet,
165 [out,retval] BSTR *xmlString );
167 [id(DISPID_XMLDOM_NODE_SELECTNODES)]
168 HRESULT selectNodes( [in] BSTR queryString,
169 [out,retval] IXMLDOMNodeList **resultList );
171 [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)]
172 HRESULT selectSingleNode( [in] BSTR queryString,
173 [out,retval] IXMLDOMNode **resultNode );
175 [propget, id(DISPID_XMLDOM_NODE_PARSED)]
176 HRESULT parsed( [out,retval] VARIANT_BOOL *isParsed );
178 [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)]
179 HRESULT namespaceURI( [out,retval] BSTR *namespaceURI );
181 [propget, id(DISPID_XMLDOM_NODE_PREFIX)]
182 HRESULT prefix( [out,retval] BSTR *prefixString );
184 [propget, id(DISPID_XMLDOM_NODE_BASENAME)]
185 HRESULT baseName( [out,retval] BSTR *nameString );
187 [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)]
188 HRESULT transformNodeToObject( [in] IXMLDOMNode *stylesheet,
189 [in] VARIANT outputObject );
199 uuid(2933bf81-7b36-11d2-b20e-00c04f983e60),
200 pointer_default(unique)
202 interface IXMLDOMDocument : IXMLDOMNode
204 [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)]
205 HRESULT doctype( [out,retval] IXMLDOMDocumentType **documentType );
207 [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)]
208 HRESULT implementation( [out,retval] IXMLDOMImplementation **impl );
210 [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
211 HRESULT documentElement( [out,retval] IXMLDOMElement **DOMElement );
213 [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
214 HRESULT documentElement( [in] IXMLDOMElement *DOMElement );
216 [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)]
217 HRESULT createElement( [in] BSTR tagname,
218 [out,retval] IXMLDOMElement **element );
220 [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)]
221 HRESULT createDocumentFragment( [out,retval] IXMLDOMDocumentFragment **docFrag );
223 [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)]
224 HRESULT createTextNode( [in] BSTR data,
225 [out,retval] IXMLDOMText **text );
227 [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)]
228 HRESULT createComment( [in] BSTR data,
229 [out,retval] IXMLDOMComment **comment );
231 [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)]
232 HRESULT createCDATASection( [in] BSTR data,
233 [out,retval] IXMLDOMCDATASection **cdata );
235 [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)]
236 HRESULT createProcessingInstruction( [in] BSTR target,
238 [out,retval] IXMLDOMProcessingInstruction **pi );
240 [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)]
241 HRESULT createAttribute( [in] BSTR name,
242 [out,retval] IXMLDOMAttribute **attribute );
244 [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)]
245 HRESULT createEntityReference( [in] BSTR name,
246 [out,retval] IXMLDOMEntityReference **entityRef );
248 [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)]
249 HRESULT getElementsByTagName( [in] BSTR tagName,
250 [out,retval] IXMLDOMNodeList **resultList );
252 [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)]
253 HRESULT createNode( [in] VARIANT Type,
255 [in] BSTR namespaceURI,
256 [out,retval] IXMLDOMNode **node );
258 [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)]
259 HRESULT nodeFromID( [in] BSTR idString,
260 [out,retval] IXMLDOMNode **node );
262 [id(DISPID_XMLDOM_DOCUMENT_LOAD)]
263 HRESULT load( [in] VARIANT xmlSource,
264 [out,retval] VARIANT_BOOL *isSuccessful );
266 [propget, id(DISPID_READYSTATE)]
267 HRESULT readyState( [out,retval] LONG *value );
269 [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)]
270 HRESULT parseError( [out,retval] IXMLDOMParseError **errorObj );
272 [propget, id(DISPID_XMLDOM_DOCUMENT_URL)]
273 HRESULT url( [out,retval] BSTR *urlString );
275 /* FIXME: these is meant to be async, but widl parses that as a keyword */
276 [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
277 HRESULT async( [out,retval] VARIANT_BOOL *isAsync );
279 [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
280 HRESULT async( [in] VARIANT_BOOL isAsync );
282 [id(DISPID_XMLDOM_DOCUMENT_ABORT)]
285 [id(DISPID_XMLDOM_DOCUMENT_LOADXML)]
286 HRESULT loadXML( [in] BSTR bstrXML,
287 [out,retval] VARIANT_BOOL *isSuccessful );
289 [id(DISPID_XMLDOM_DOCUMENT_SAVE)]
290 HRESULT save( [in] VARIANT destination );
292 [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
293 HRESULT validateOnParse( [out,retval] VARIANT_BOOL *isValidating );
295 [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
296 HRESULT validateOnParse( [in] VARIANT_BOOL isValidating );
298 [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
299 HRESULT resolveExternals( [out,retval] VARIANT_BOOL *isResolving );
301 [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
302 HRESULT resolveExternals( [in] VARIANT_BOOL isValidating );
304 [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
305 HRESULT preserveWhiteSpace( [out,retval] VARIANT_BOOL *isPreserving );
307 [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
308 HRESULT preserveWhiteSpace( [in] VARIANT_BOOL isPreserving );
310 [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)]
311 HRESULT onreadystatechange( [in] VARIANT readystatechangeSink );
313 [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)]
314 HRESULT ondataavailable( [in] VARIANT ondataavailableSink );
316 [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)]
317 HRESULT ontransformnode( [in] VARIANT ontransformnodeSink );
327 uuid(2933bf82-7b36-11d2-b20e-00c04f983e60),
328 pointer_default(unique)
330 interface IXMLDOMNodeList : IDispatch
332 [propget, id(DISPID_VALUE)]
333 HRESULT item( [in] LONG index,
334 [out,retval] IXMLDOMNode **listItem );
336 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
337 HRESULT length( [out,retval] LONG *listLength );
339 [id(DISPID_XMLDOM_NODELIST_NEXTNODE)]
340 HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem );
342 [id(DISPID_XMLDOM_NODELIST_RESET)]
346 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
356 uuid(2933bf83-7b36-11d2-b20e-00c04f983e60),
357 pointer_default(unique)
359 interface IXMLDOMNamedNodeMap : IDispatch
361 [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)]
362 HRESULT getNamedItem( [in] BSTR name,
363 [out,retval] IXMLDOMNode **namedItem );
365 [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)]
366 HRESULT setNamedItem( [in] IXMLDOMNode *newItem,
367 [out,retval] IXMLDOMNode **namedItem );
369 [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)]
370 HRESULT removeNamedItem( [in] BSTR name,
371 [out,retval] IXMLDOMNode **namedItem );
373 [propget, id(DISPID_VALUE)]
374 HRESULT item( [in] LONG index,
375 [out,retval] IXMLDOMNode **listItem );
377 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
378 HRESULT length( [out,retval] LONG *listLength );
380 [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)]
381 HRESULT getQualifiedItem( [in] BSTR baseName,
382 [in] BSTR namespaceURI,
383 [out,retval] IXMLDOMNode **qualifiedItem );
385 [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)]
386 HRESULT removeQualifiedItem( [in] BSTR baseName,
387 [in] BSTR namespaceURI,
388 [out,retval] IXMLDOMNode **qualifiedItem );
390 [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)]
391 HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem );
393 [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)]
397 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
407 uuid(3efaa413-272f-11d2-836f-0000f87a7782),
408 pointer_default(unique)
410 interface IXMLDOMDocumentFragment : IXMLDOMNode
422 uuid(2933bf84-7b36-11d2-b20e-00c04f983e60),
423 pointer_default(unique)
425 interface IXMLDOMCharacterData : IXMLDOMNode
427 [propget, id(DISPID_DOM_DATA_DATA)]
428 HRESULT data( [out,retval] BSTR *data );
430 [propput, id(DISPID_DOM_DATA_DATA)]
431 HRESULT data( [in] BSTR data );
433 [propget, id(DISPID_DOM_DATA_LENGTH)]
434 HRESULT length( [out,retval] LONG *dataLength );
436 [id(DISPID_DOM_DATA_SUBSTRING)]
437 HRESULT substringData( [in] LONG offset,
439 [out,retval] BSTR *data );
441 [id(DISPID_DOM_DATA_APPEND)]
442 HRESULT appendData( [in] BSTR data );
444 [id(DISPID_DOM_DATA_INSERT)]
445 HRESULT insertData( [in] LONG offset,
448 [id(DISPID_DOM_DATA_DELETE)]
449 HRESULT deleteData( [in] LONG offset,
452 [id(DISPID_DOM_DATA_REPLACE)]
453 HRESULT replaceData( [in] LONG offset,
465 uuid(2933bf85-7b36-11d2-b20e-00c04f983e60),
466 pointer_default(unique)
468 interface IXMLDOMAttribute : IXMLDOMNode
470 [propget,id(DISPID_DOM_ATTRIBUTE_GETNAME)]
471 HRESULT name( [out,retval] BSTR *attributeName );
473 [propget,id(DISPID_DOM_ATTRIBUTE_VALUE)]
474 HRESULT value( [out,retval] VARIANT *attributeValue );
476 [propput,id(DISPID_DOM_ATTRIBUTE_VALUE)]
477 HRESULT value( [in] VARIANT attributeValue );
487 uuid(2933bf86-7b36-11d2-b20e-00c04f983e60),
488 pointer_default(unique)
490 interface IXMLDOMElement : IXMLDOMNode
492 [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)]
493 HRESULT tagName( [out,retval] BSTR *tagName );
495 [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)]
496 HRESULT getAttribute( [in] BSTR name,
497 [out,retval] VARIANT * value );
499 [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)]
500 HRESULT setAttribute( [in] BSTR name,
501 [in] VARIANT value );
503 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)]
504 HRESULT removeAttribute( [in] BSTR name );
506 [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)]
507 HRESULT getAttributeNode( [in] BSTR name,
508 [out, retval] IXMLDOMAttribute ** attributeNode );
510 [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)]
511 HRESULT setAttributeNode( [in] IXMLDOMAttribute *DOMAttribute,
512 [out, retval] IXMLDOMAttribute ** attributeNode );
514 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)]
515 HRESULT removeAttributeNode( [in] IXMLDOMAttribute *DOMAttribute,
516 [out, retval] IXMLDOMAttribute ** attributeNode );
518 [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)]
519 HRESULT getElementsByTagName( [in] BSTR tagName,
520 [out, retval] IXMLDOMNodeList ** resultList );
522 [id(DISPID_DOM_ELEMENT_NORMALIZE)]
533 uuid(2933bf87-7b36-11d2-b20e-00c04f983e60),
534 pointer_default(unique)
536 interface IXMLDOMText : IXMLDOMCharacterData
538 [id(DISPID_DOM_TEXT_SPLITTEXT)]
539 HRESULT splitText( [in] LONG offset,
540 [out,retval] IXMLDOMText **rightHandTextNode );
550 uuid(2933bf88-7b36-11d2-b20e-00c04f983e60),
551 pointer_default(unique)
553 interface IXMLDOMComment : IXMLDOMCharacterData
565 uuid(2933bf89-7b36-11d2-b20e-00c04f983e60),
566 pointer_default(unique)
568 interface IXMLDOMProcessingInstruction : IXMLDOMNode
570 [propget, id(DISPID_DOM_PI_TARGET)]
571 HRESULT target( [out, retval] BSTR *name );
573 [propget, id(DISPID_DOM_PI_DATA)]
574 HRESULT data( [out, retval] BSTR *value );
576 [propput, id(DISPID_DOM_PI_DATA)]
577 HRESULT data( [in] BSTR value );
587 uuid(2933bf8a-7b36-11d2-b20e-00c04f983e60),
588 pointer_default(unique)
590 interface IXMLDOMCDATASection : IXMLDOMText
602 uuid(2933bf8b-7b36-11d2-b20e-00c04f983e60),
603 pointer_default(unique)
605 interface IXMLDOMDocumentType : IXMLDOMNode
607 [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)]
608 HRESULT name( [out,retval] BSTR *rootName );
610 [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)]
611 HRESULT entities( [out,retval] IXMLDOMNamedNodeMap **entityMap );
613 [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)]
614 HRESULT notations( [out,retval] IXMLDOMNamedNodeMap **notationMap );
624 uuid(2933bf8c-7b36-11d2-b20e-00c04f983e60),
625 pointer_default(unique)
627 interface IXMLDOMNotation : IXMLDOMNode
629 [propget, id(DISPID_DOM_NOTATION_PUBLICID)]
630 HRESULT publicId([out, retval] VARIANT *publicId);
632 [propget, id(DISPID_DOM_NOTATION_SYSTEMID)]
633 HRESULT systemId([out, retval] VARIANT *systemId);
643 uuid(2933bf8d-7b36-11d2-b20e-00c04f983e60),
644 pointer_default(unique)
646 interface IXMLDOMEntity : IXMLDOMNode
648 [propget, id(DISPID_DOM_ENTITY_PUBLICID)]
649 HRESULT publicId([out, retval] VARIANT *publicId);
651 [propget, id(DISPID_DOM_ENTITY_SYSTEMID)]
652 HRESULT systemId([out, retval] VARIANT *systemId);
654 [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)]
655 HRESULT notationName([out, retval] BSTR *name);
665 uuid(2933bf8e-7b36-11d2-b20e-00c04f983e60),
666 pointer_default(unique)
668 interface IXMLDOMEntityReference : IXMLDOMNode
679 uuid(2933bf8f-7b36-11d2-b20e-00c04f983e60),
680 pointer_default(unique)
682 interface IXMLDOMImplementation : IDispatch
684 [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)]
685 HRESULT hasFeature([in] BSTR feature, [in] BSTR version, [out, retval] VARIANT_BOOL *pbool);
695 helpstring("structure for reporting parse errors"),
696 pointer_default(unique),
697 uuid (3efaa426-272f-11d2-836f-0000f87a7782)
699 interface IXMLDOMParseError : IDispatch
701 [propget, id(DISPID_VALUE)]
702 HRESULT errorCode([retval, out] LONG *errCode);
704 [propget, id(DISPID_DOM_ERROR_URL)]
705 HRESULT url([retval, out] BSTR *p);
707 [propget, id(DISPID_DOM_ERROR_REASON)]
708 HRESULT reason([retval, out] BSTR *p);
710 [propget, id(DISPID_DOM_ERROR_SRCTEXT)]
711 HRESULT srcText([retval, out] BSTR *p);
713 [propget, id(DISPID_DOM_ERROR_LINE)]
714 HRESULT line([retval, out] LONG *lineNo);
716 [propget, id(DISPID_DOM_ERROR_LINEPOS)]
717 HRESULT linepos([retval, out] LONG * linePos);
719 [propget, id(DISPID_DOM_ERROR_FILEPOS)]
720 HRESULT filepos([retval, out] LONG * filePos);
725 uuid(3efaa427-272f-11d2-836f-0000f87a7782)
727 dispinterface XMLDOMDocumentEvents
731 [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
732 HRESULT ondataavailable();
734 [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
735 HRESULT onreadystatechange();
739 helpstring("XML DOM Document"),
740 progid("Microsoft.XMLDOM.1.0"),
741 vi_progid("Microsoft.XMLDOM"),
744 uuid(2933bf90-7b36-11d2-b20e-00c04f983e60)
748 [default] interface IXMLDOMDocument;
749 [default, source] dispinterface XMLDOMDocumentEvents;
753 helpstring("Free Threaded XML DOM Document"),
754 progid("Microsoft.FreeThreadedXMLDOM.1.0"),
755 vi_progid("Microsoft.FreeThreadedXMLDOM"),
758 uuid(2933bf91-7b36-11d2-b20e-00c04f983e60)
760 coclass DOMFreeThreadedDocument
762 [default] interface IXMLDOMDocument;
763 [default, source] dispinterface XMLDOMDocumentEvents;
768 uuid(ed8c108d-4349-11d2-91a4-00c04f7969e8),
772 pointer_default(unique)
774 interface IXMLHttpRequest : IDispatch
777 HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl,
778 [in, optional] VARIANT varAsync,
779 [in, optional] VARIANT varUser,
780 [in, optional] VARIANT varPassword);
782 HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
785 HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR *pbstrValue);
788 HRESULT getAllResponseHeaders([out, retval] BSTR *pbstrHeaders);
791 HRESULT send([in, optional] VARIANT varBody);
797 HRESULT status([out, retval] LONG *plStatus);
800 HRESULT statusText([out, retval] BSTR *bstrStatus);
803 HRESULT responseXML([out, retval] IDispatch **ppBody);
806 HRESULT responseText([out, retval] BSTR *pbstrBody);
809 HRESULT responseBody([out, retval] VARIANT *pvarBody);
812 HRESULT responseStream([out, retval] VARIANT *pvarBody);
815 HRESULT readyState([out, retval] LONG *plState);
818 HRESULT onreadystatechange([in] IDispatch *pReadyStateSink);
822 helpstring("XML HTTP Request"),
823 progid("Microsoft.XMLHTTP.1.0"),
824 vi_progid("Microsoft.XMLHTTP"),
825 threading(apartment),
827 uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8)
829 coclass XMLHTTPRequest
831 [default] interface IXMLHttpRequest;