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