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