dwrite: Fix invalid read when building zero length text layout (Valgrind).
[wine.git] / include / xmldom.idl
blob8bca78ab7ffb76d496905b557ce55609ef419830
1 /*
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 #if 0
20 #pragma makedep install
21 #endif
23 #include <xmldomdid.h>
24 #include <idispids.h>
26 #if !defined(progid) && !defined(__WIDL__)
27 #define threading(model)
28 #define progid(str)
29 #define vi_progid(str)
30 #endif
32 interface IXMLDOMImplementation;
33 interface IXMLDOMNode;
34 interface IXMLDOMDocumentFragment;
35 interface IXMLDOMDocument;
36 interface IXMLDOMNodeList;
37 interface IXMLDOMNamedNodeMap;
38 interface IXMLDOMCharacterData;
39 interface IXMLDOMAttribute;
40 interface IXMLDOMElement;
41 interface IXMLDOMText;
42 interface IXMLDOMComment;
43 interface IXMLDOMProcessingInstruction;
44 interface IXMLDOMCDATASection;
45 interface IXMLDOMDocumentType;
46 interface IXMLDOMNotation;
47 interface IXMLDOMEntity;
48 interface IXMLDOMEntityReference;
49 interface IXMLDOMParseError;
51 cpp_quote("#ifndef __MSXML_DOMNODETYPE_DEFINED")
52 cpp_quote("#define __MSXML_DOMNODETYPE_DEFINED")
53 typedef enum tagDOMNodeType {
54 NODE_INVALID,
55 NODE_ELEMENT,
56 NODE_ATTRIBUTE,
57 NODE_TEXT,
58 NODE_CDATA_SECTION,
59 NODE_ENTITY_REFERENCE,
60 NODE_ENTITY,
61 NODE_PROCESSING_INSTRUCTION,
62 NODE_COMMENT,
63 NODE_DOCUMENT,
64 NODE_DOCUMENT_TYPE,
65 NODE_DOCUMENT_FRAGMENT,
66 NODE_NOTATION
67 } DOMNodeType;
68 cpp_quote("#endif")
71 local,
72 object,
73 odl,
74 dual,
75 oleautomation,
76 /*nonextensible,*/
77 uuid(2933bf80-7b36-11d2-b20e-00c04f983e60),
78 pointer_default(unique)
80 interface IXMLDOMNode : IDispatch
82 [propget, id(DISPID_DOM_NODE_NODENAME)]
83 HRESULT nodeName( [out,retval] BSTR *name );
85 [propget, id(DISPID_DOM_NODE_NODEVALUE)]
86 HRESULT nodeValue( [out,retval] VARIANT *value );
88 [propput, id(DISPID_DOM_NODE_NODEVALUE)]
89 HRESULT nodeValue( [in] VARIANT value );
91 [propget, id(DISPID_DOM_NODE_NODETYPE)]
92 HRESULT nodeType( [out,retval] DOMNodeType *type );
94 [propget, id(DISPID_DOM_NODE_PARENTNODE)]
95 HRESULT parentNode( [out,retval] IXMLDOMNode **parent );
97 [propget, id(DISPID_DOM_NODE_CHILDNODES)]
98 HRESULT childNodes( [out,retval] IXMLDOMNodeList **childList );
100 [propget, id(DISPID_DOM_NODE_FIRSTCHILD)]
101 HRESULT firstChild( [out,retval] IXMLDOMNode **firstChild );
103 [propget, id(DISPID_DOM_NODE_LASTCHILD)]
104 HRESULT lastChild( [out,retval] IXMLDOMNode **lastChild );
106 [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)]
107 HRESULT previousSibling( [out,retval] IXMLDOMNode **previousSibling );
109 [propget, id(DISPID_DOM_NODE_NEXTSIBLING)]
110 HRESULT nextSibling( [out,retval] IXMLDOMNode **nextSibling );
112 [propget, id(DISPID_DOM_NODE_ATTRIBUTES)]
113 HRESULT attributes( [out,retval] IXMLDOMNamedNodeMap **attributeMap );
115 [id(DISPID_DOM_NODE_INSERTBEFORE)]
116 HRESULT insertBefore( [in] IXMLDOMNode * newChild,
117 [in] VARIANT refChild,
118 [out,retval] IXMLDOMNode **outNewChild );
120 [id(DISPID_DOM_NODE_REPLACECHILD)]
121 HRESULT replaceChild( [in] IXMLDOMNode *newChild,
122 [in] IXMLDOMNode *oldChild,
123 [out,retval] IXMLDOMNode **outOldChild );
125 [id(DISPID_DOM_NODE_REMOVECHILD)]
126 HRESULT removeChild( [in] IXMLDOMNode *childNode,
127 [out,retval] IXMLDOMNode **oldChild );
129 [id(DISPID_DOM_NODE_APPENDCHILD)]
130 HRESULT appendChild( [in] IXMLDOMNode *newChild,
131 [out,retval] IXMLDOMNode **outNewChild );
133 [id(DISPID_DOM_NODE_HASCHILDNODES)]
134 HRESULT hasChildNodes( [out,retval] VARIANT_BOOL *hasChild );
136 [propget, id(DISPID_DOM_NODE_OWNERDOC)]
137 HRESULT ownerDocument( [out,retval] IXMLDOMDocument **DOMDocument );
139 [id(DISPID_DOM_NODE_CLONENODE)]
140 HRESULT cloneNode( [in] VARIANT_BOOL deep,
141 [out,retval] IXMLDOMNode **cloneRoot );
143 [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)]
144 HRESULT nodeTypeString( [out,retval] BSTR *nodeType );
146 [propget, id(DISPID_XMLDOM_NODE_TEXT)]
147 HRESULT text( [out,retval] BSTR *text );
149 [propput, id(DISPID_XMLDOM_NODE_TEXT)]
150 HRESULT text( [in] BSTR text );
152 [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)]
153 HRESULT specified( [out,retval] VARIANT_BOOL *isSpecified );
155 [propget, id(DISPID_XMLDOM_NODE_DEFINITION)]
156 HRESULT definition( [out,retval] IXMLDOMNode **definitionNode );
158 [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
159 HRESULT nodeTypedValue( [out,retval] VARIANT *typedValue );
161 [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
162 HRESULT nodeTypedValue( [in] VARIANT typedValue );
164 [propget, id(DISPID_XMLDOM_NODE_DATATYPE)]
165 HRESULT dataType( [out,retval] VARIANT *dataTypeName );
167 [propput, id(DISPID_XMLDOM_NODE_DATATYPE)]
168 HRESULT dataType( [in] BSTR dataTypeName );
170 [propget, id(DISPID_XMLDOM_NODE_XML)]
171 HRESULT xml( [out,retval] BSTR *xmlString );
173 [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)]
174 HRESULT transformNode( [in] IXMLDOMNode *styleSheet,
175 [out,retval] BSTR *xmlString );
177 [id(DISPID_XMLDOM_NODE_SELECTNODES)]
178 HRESULT selectNodes( [in] BSTR queryString,
179 [out,retval] IXMLDOMNodeList **resultList );
181 [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)]
182 HRESULT selectSingleNode( [in] BSTR queryString,
183 [out,retval] IXMLDOMNode **resultNode );
185 [propget, id(DISPID_XMLDOM_NODE_PARSED)]
186 HRESULT parsed( [out,retval] VARIANT_BOOL *isParsed );
188 [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)]
189 HRESULT namespaceURI( [out,retval] BSTR *namespaceURI );
191 [propget, id(DISPID_XMLDOM_NODE_PREFIX)]
192 HRESULT prefix( [out,retval] BSTR *prefixString );
194 [propget, id(DISPID_XMLDOM_NODE_BASENAME)]
195 HRESULT baseName( [out,retval] BSTR *nameString );
197 [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)]
198 HRESULT transformNodeToObject( [in] IXMLDOMNode *stylesheet,
199 [in] VARIANT outputObject );
203 local,
204 object,
205 odl,
206 dual,
207 /*nonextensible,*/
208 oleautomation,
209 uuid(2933bf81-7b36-11d2-b20e-00c04f983e60),
210 pointer_default(unique)
212 interface IXMLDOMDocument : IXMLDOMNode
214 [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)]
215 HRESULT doctype( [out,retval] IXMLDOMDocumentType **documentType );
217 [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)]
218 HRESULT implementation( [out,retval] IXMLDOMImplementation **impl );
220 [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
221 HRESULT documentElement( [out,retval] IXMLDOMElement **DOMElement );
223 [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
224 HRESULT documentElement( [in] IXMLDOMElement *DOMElement );
226 [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)]
227 HRESULT createElement( [in] BSTR tagname,
228 [out,retval] IXMLDOMElement **element );
230 [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)]
231 HRESULT createDocumentFragment( [out,retval] IXMLDOMDocumentFragment **docFrag );
233 [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)]
234 HRESULT createTextNode( [in] BSTR data,
235 [out,retval] IXMLDOMText **text );
237 [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)]
238 HRESULT createComment( [in] BSTR data,
239 [out,retval] IXMLDOMComment **comment );
241 [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)]
242 HRESULT createCDATASection( [in] BSTR data,
243 [out,retval] IXMLDOMCDATASection **cdata );
245 [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)]
246 HRESULT createProcessingInstruction( [in] BSTR target,
247 [in] BSTR data,
248 [out,retval] IXMLDOMProcessingInstruction **pi );
250 [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)]
251 HRESULT createAttribute( [in] BSTR name,
252 [out,retval] IXMLDOMAttribute **attribute );
254 [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)]
255 HRESULT createEntityReference( [in] BSTR name,
256 [out,retval] IXMLDOMEntityReference **entityRef );
258 [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)]
259 HRESULT getElementsByTagName( [in] BSTR tagName,
260 [out,retval] IXMLDOMNodeList **resultList );
262 [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)]
263 HRESULT createNode( [in] VARIANT Type,
264 [in] BSTR name,
265 [in] BSTR namespaceURI,
266 [out,retval] IXMLDOMNode **node );
268 [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)]
269 HRESULT nodeFromID( [in] BSTR idString,
270 [out,retval] IXMLDOMNode **node );
272 [id(DISPID_XMLDOM_DOCUMENT_LOAD)]
273 HRESULT load( [in] VARIANT xmlSource,
274 [out,retval] VARIANT_BOOL *isSuccessful );
276 [propget, id(DISPID_READYSTATE)]
277 HRESULT readyState( [out,retval] LONG *value );
279 [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)]
280 HRESULT parseError( [out,retval] IXMLDOMParseError **errorObj );
282 [propget, id(DISPID_XMLDOM_DOCUMENT_URL)]
283 HRESULT url( [out,retval] BSTR *urlString );
285 /* FIXME: these is meant to be async, but widl parses that as a keyword */
286 [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
287 HRESULT async( [out,retval] VARIANT_BOOL *isAsync );
289 [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
290 HRESULT async( [in] VARIANT_BOOL isAsync );
292 [id(DISPID_XMLDOM_DOCUMENT_ABORT)]
293 HRESULT abort();
295 [id(DISPID_XMLDOM_DOCUMENT_LOADXML)]
296 HRESULT loadXML( [in] BSTR bstrXML,
297 [out,retval] VARIANT_BOOL *isSuccessful );
299 [id(DISPID_XMLDOM_DOCUMENT_SAVE)]
300 HRESULT save( [in] VARIANT destination );
302 [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
303 HRESULT validateOnParse( [out,retval] VARIANT_BOOL *isValidating );
305 [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
306 HRESULT validateOnParse( [in] VARIANT_BOOL isValidating );
308 [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
309 HRESULT resolveExternals( [out,retval] VARIANT_BOOL *isResolving );
311 [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
312 HRESULT resolveExternals( [in] VARIANT_BOOL isValidating );
314 [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
315 HRESULT preserveWhiteSpace( [out,retval] VARIANT_BOOL *isPreserving );
317 [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
318 HRESULT preserveWhiteSpace( [in] VARIANT_BOOL isPreserving );
320 [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)]
321 HRESULT onreadystatechange( [in] VARIANT readystatechangeSink );
323 [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)]
324 HRESULT ondataavailable( [in] VARIANT ondataavailableSink );
326 [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)]
327 HRESULT ontransformnode( [in] VARIANT ontransformnodeSink );
331 local,
332 object,
333 odl,
334 dual,
335 /*nonextensible,*/
336 oleautomation,
337 uuid(2933bf82-7b36-11d2-b20e-00c04f983e60),
338 pointer_default(unique)
340 interface IXMLDOMNodeList : IDispatch
342 [propget, id(DISPID_VALUE)]
343 HRESULT item( [in] LONG index,
344 [out,retval] IXMLDOMNode **listItem );
346 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
347 HRESULT length( [out,retval] LONG *listLength );
349 [id(DISPID_XMLDOM_NODELIST_NEXTNODE)]
350 HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem );
352 [id(DISPID_XMLDOM_NODELIST_RESET)]
353 HRESULT reset();
355 [id(DISPID_NEWENUM)]
356 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
360 local,
361 object,
362 odl,
363 dual,
364 /*nonextensible,*/
365 oleautomation,
366 uuid(2933bf83-7b36-11d2-b20e-00c04f983e60),
367 pointer_default(unique)
369 interface IXMLDOMNamedNodeMap : IDispatch
371 [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)]
372 HRESULT getNamedItem( [in] BSTR name,
373 [out,retval] IXMLDOMNode **namedItem );
375 [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)]
376 HRESULT setNamedItem( [in] IXMLDOMNode *newItem,
377 [out,retval] IXMLDOMNode **namedItem );
379 [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)]
380 HRESULT removeNamedItem( [in] BSTR name,
381 [out,retval] IXMLDOMNode **namedItem );
383 [propget, id(DISPID_VALUE)]
384 HRESULT item( [in] LONG index,
385 [out,retval] IXMLDOMNode **listItem );
387 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
388 HRESULT length( [out,retval] LONG *listLength );
390 [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)]
391 HRESULT getQualifiedItem( [in] BSTR baseName,
392 [in] BSTR namespaceURI,
393 [out,retval] IXMLDOMNode **qualifiedItem );
395 [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)]
396 HRESULT removeQualifiedItem( [in] BSTR baseName,
397 [in] BSTR namespaceURI,
398 [out,retval] IXMLDOMNode **qualifiedItem );
400 [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)]
401 HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem );
403 [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)]
404 HRESULT reset();
406 [id(DISPID_NEWENUM)]
407 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
411 local,
412 object,
413 odl,
414 dual,
415 /*nonextensible,*/
416 oleautomation,
417 uuid(3efaa413-272f-11d2-836f-0000f87a7782),
418 pointer_default(unique)
420 interface IXMLDOMDocumentFragment : IXMLDOMNode
422 /* empty */
426 local,
427 object,
428 odl,
429 dual,
430 /*nonextensible,*/
431 oleautomation,
432 uuid(2933bf84-7b36-11d2-b20e-00c04f983e60),
433 pointer_default(unique)
435 interface IXMLDOMCharacterData : IXMLDOMNode
437 [propget, id(DISPID_DOM_DATA_DATA)]
438 HRESULT data( [out,retval] BSTR *data );
440 [propput, id(DISPID_DOM_DATA_DATA)]
441 HRESULT data( [in] BSTR data );
443 [propget, id(DISPID_DOM_DATA_LENGTH)]
444 HRESULT length( [out,retval] LONG *dataLength );
446 [id(DISPID_DOM_DATA_SUBSTRING)]
447 HRESULT substringData( [in] LONG offset,
448 [in] LONG count,
449 [out,retval] BSTR *data );
451 [id(DISPID_DOM_DATA_APPEND)]
452 HRESULT appendData( [in] BSTR data );
454 [id(DISPID_DOM_DATA_INSERT)]
455 HRESULT insertData( [in] LONG offset,
456 [in] BSTR data );
458 [id(DISPID_DOM_DATA_DELETE)]
459 HRESULT deleteData( [in] LONG offset,
460 [in] LONG count );
462 [id(DISPID_DOM_DATA_REPLACE)]
463 HRESULT replaceData( [in] LONG offset,
464 [in] LONG count,
465 [in] BSTR data );
469 local,
470 object,
471 odl,
472 dual,
473 /*nonextensible,*/
474 oleautomation,
475 uuid(2933bf85-7b36-11d2-b20e-00c04f983e60),
476 pointer_default(unique)
478 interface IXMLDOMAttribute : IXMLDOMNode
480 [propget,id(DISPID_DOM_ATTRIBUTE_GETNAME)]
481 HRESULT name( [out,retval] BSTR *attributeName );
483 [propget,id(DISPID_DOM_ATTRIBUTE_VALUE)]
484 HRESULT value( [out,retval] VARIANT *attributeValue );
486 [propput,id(DISPID_DOM_ATTRIBUTE_VALUE)]
487 HRESULT value( [in] VARIANT attributeValue );
491 local,
492 object,
493 odl,
494 dual,
495 /*nonextensible,*/
496 oleautomation,
497 uuid(2933bf86-7b36-11d2-b20e-00c04f983e60),
498 pointer_default(unique)
500 interface IXMLDOMElement : IXMLDOMNode
502 [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)]
503 HRESULT tagName( [out,retval] BSTR *tagName );
505 [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)]
506 HRESULT getAttribute( [in] BSTR name,
507 [out,retval] VARIANT * value );
509 [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)]
510 HRESULT setAttribute( [in] BSTR name,
511 [in] VARIANT value );
513 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)]
514 HRESULT removeAttribute( [in] BSTR name );
516 [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)]
517 HRESULT getAttributeNode( [in] BSTR name,
518 [out, retval] IXMLDOMAttribute ** attributeNode );
520 [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)]
521 HRESULT setAttributeNode( [in] IXMLDOMAttribute *DOMAttribute,
522 [out, retval] IXMLDOMAttribute ** attributeNode );
524 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)]
525 HRESULT removeAttributeNode( [in] IXMLDOMAttribute *DOMAttribute,
526 [out, retval] IXMLDOMAttribute ** attributeNode );
528 [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)]
529 HRESULT getElementsByTagName( [in] BSTR tagName,
530 [out, retval] IXMLDOMNodeList ** resultList );
532 [id(DISPID_DOM_ELEMENT_NORMALIZE)]
533 HRESULT normalize();
537 local,
538 object,
539 odl,
540 dual,
541 /*nonextensible,*/
542 oleautomation,
543 uuid(2933bf87-7b36-11d2-b20e-00c04f983e60),
544 pointer_default(unique)
546 interface IXMLDOMText : IXMLDOMCharacterData
548 [id(DISPID_DOM_TEXT_SPLITTEXT)]
549 HRESULT splitText( [in] LONG offset,
550 [out,retval] IXMLDOMText **rightHandTextNode );
554 local,
555 object,
556 odl,
557 dual,
558 /*nonextensible,*/
559 oleautomation,
560 uuid(2933bf88-7b36-11d2-b20e-00c04f983e60),
561 pointer_default(unique)
563 interface IXMLDOMComment : IXMLDOMCharacterData
565 /* empty */
569 local,
570 object,
571 odl,
572 dual,
573 /*nonextensible,*/
574 oleautomation,
575 uuid(2933bf89-7b36-11d2-b20e-00c04f983e60),
576 pointer_default(unique)
578 interface IXMLDOMProcessingInstruction : IXMLDOMNode
580 [propget, id(DISPID_DOM_PI_TARGET)]
581 HRESULT target( [out, retval] BSTR *name );
583 [propget, id(DISPID_DOM_PI_DATA)]
584 HRESULT data( [out, retval] BSTR *value );
586 [propput, id(DISPID_DOM_PI_DATA)]
587 HRESULT data( [in] BSTR value );
591 local,
592 object,
593 odl,
594 dual,
595 /*nonextensible,*/
596 oleautomation,
597 uuid(2933bf8a-7b36-11d2-b20e-00c04f983e60),
598 pointer_default(unique)
600 interface IXMLDOMCDATASection : IXMLDOMText
602 /* empty */
606 local,
607 object,
608 odl,
609 dual,
610 /*nonextensible,*/
611 oleautomation,
612 uuid(2933bf8b-7b36-11d2-b20e-00c04f983e60),
613 pointer_default(unique)
615 interface IXMLDOMDocumentType : IXMLDOMNode
617 [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)]
618 HRESULT name( [out,retval] BSTR *rootName );
620 [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)]
621 HRESULT entities( [out,retval] IXMLDOMNamedNodeMap **entityMap );
623 [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)]
624 HRESULT notations( [out,retval] IXMLDOMNamedNodeMap **notationMap );
628 local,
629 object,
630 odl,
631 dual,
632 nonextensible,
633 oleautomation,
634 uuid(2933bf8c-7b36-11d2-b20e-00c04f983e60),
635 pointer_default(unique)
637 interface IXMLDOMNotation : IXMLDOMNode
639 [propget, id(DISPID_DOM_NOTATION_PUBLICID)]
640 HRESULT publicId([out, retval] VARIANT *publicId);
642 [propget, id(DISPID_DOM_NOTATION_SYSTEMID)]
643 HRESULT systemId([out, retval] VARIANT *systemId);
647 local,
648 object,
649 odl,
650 dual,
651 nonextensible,
652 oleautomation,
653 uuid(2933bf8d-7b36-11d2-b20e-00c04f983e60),
654 pointer_default(unique)
656 interface IXMLDOMEntity : IXMLDOMNode
658 [propget, id(DISPID_DOM_ENTITY_PUBLICID)]
659 HRESULT publicId([out, retval] VARIANT *publicId);
661 [propget, id(DISPID_DOM_ENTITY_SYSTEMID)]
662 HRESULT systemId([out, retval] VARIANT *systemId);
664 [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)]
665 HRESULT notationName([out, retval] BSTR *name);
669 local,
670 object,
671 odl,
672 dual,
673 nonextensible,
674 oleautomation,
675 uuid(2933bf8e-7b36-11d2-b20e-00c04f983e60),
676 pointer_default(unique)
678 interface IXMLDOMEntityReference : IXMLDOMNode
683 local,
684 object,
685 odl,
686 dual,
687 nonextensible,
688 oleautomation,
689 uuid(2933bf8f-7b36-11d2-b20e-00c04f983e60),
690 pointer_default(unique)
692 interface IXMLDOMImplementation : IDispatch
694 [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)]
695 HRESULT hasFeature([in] BSTR feature, [in] BSTR version, [out, retval] VARIANT_BOOL *pbool);
699 local,
700 object,
701 odl,
702 dual,
703 oleautomation,
704 /*nonextensible,*/
705 helpstring("structure for reporting parse errors"),
706 pointer_default(unique),
707 uuid (3efaa426-272f-11d2-836f-0000f87a7782)
709 interface IXMLDOMParseError : IDispatch
711 [propget, id(DISPID_VALUE)]
712 HRESULT errorCode([retval, out] LONG *errCode);
714 [propget, id(DISPID_DOM_ERROR_URL)]
715 HRESULT url([retval, out] BSTR *p);
717 [propget, id(DISPID_DOM_ERROR_REASON)]
718 HRESULT reason([retval, out] BSTR *p);
720 [propget, id(DISPID_DOM_ERROR_SRCTEXT)]
721 HRESULT srcText([retval, out] BSTR *p);
723 [propget, id(DISPID_DOM_ERROR_LINE)]
724 HRESULT line([retval, out] LONG *lineNo);
726 [propget, id(DISPID_DOM_ERROR_LINEPOS)]
727 HRESULT linepos([retval, out] LONG * linePos);
729 [propget, id(DISPID_DOM_ERROR_FILEPOS)]
730 HRESULT filepos([retval, out] LONG * filePos);
734 hidden,
735 uuid(3efaa427-272f-11d2-836f-0000f87a7782)
737 dispinterface XMLDOMDocumentEvents
739 properties:
740 methods:
741 [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
742 HRESULT ondataavailable();
744 [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
745 HRESULT onreadystatechange();
749 helpstring("XML DOM Document"),
750 progid("Microsoft.XMLDOM.1.0"),
751 vi_progid("Microsoft.XMLDOM"),
752 threading(both),
753 version(1.0),
754 uuid(2933bf90-7b36-11d2-b20e-00c04f983e60)
756 coclass DOMDocument
758 [default] interface IXMLDOMDocument;
759 [default, source] dispinterface XMLDOMDocumentEvents;
763 helpstring("Free Threaded XML DOM Document"),
764 progid("Microsoft.FreeThreadedXMLDOM.1.0"),
765 vi_progid("Microsoft.FreeThreadedXMLDOM"),
766 threading(both),
767 version(1.0),
768 uuid(2933bf91-7b36-11d2-b20e-00c04f983e60)
770 coclass DOMFreeThreadedDocument
772 [default] interface IXMLDOMDocument;
773 [default, source] dispinterface XMLDOMDocumentEvents;
777 object,
778 uuid(ed8c108d-4349-11d2-91a4-00c04f7969e8),
779 odl,
780 dual,
781 oleautomation,
782 pointer_default(unique)
784 interface IXMLHttpRequest : IDispatch
786 [id(1)]
787 HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl,
788 [in, optional] VARIANT varAsync,
789 [in, optional] VARIANT varUser,
790 [in, optional] VARIANT varPassword);
791 [id(2)]
792 HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
794 [id(3)]
795 HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR *pbstrValue);
797 [id(4)]
798 HRESULT getAllResponseHeaders([out, retval] BSTR *pbstrHeaders);
800 [id(5)]
801 HRESULT send([in, optional] VARIANT varBody);
803 [id(6)]
804 HRESULT abort();
806 [propget, id(7)]
807 HRESULT status([out, retval] LONG *plStatus);
809 [propget, id(8)]
810 HRESULT statusText([out, retval] BSTR *bstrStatus);
812 [propget, id(9)]
813 HRESULT responseXML([out, retval] IDispatch **ppBody);
815 [propget, id(10)]
816 HRESULT responseText([out, retval] BSTR *pbstrBody);
818 [propget, id(11)]
819 HRESULT responseBody([out, retval] VARIANT *pvarBody);
821 [propget, id(12)]
822 HRESULT responseStream([out, retval] VARIANT *pvarBody);
824 [propget, id(13)]
825 HRESULT readyState([out, retval] LONG *plState);
827 [propput, id(14)]
828 HRESULT onreadystatechange([in] IDispatch *pReadyStateSink);
832 helpstring("XML HTTP Request"),
833 progid("Microsoft.XMLHTTP.1.0"),
834 vi_progid("Microsoft.XMLHTTP"),
835 threading(apartment),
836 version(1.0),
837 uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8)
839 coclass XMLHTTPRequest
841 [default] interface IXMLHttpRequest;