xmllite/tests: Fix a memory leak (Valgrind).
[wine.git] / include / msxml.idl
blob375bb64cd7c11079adbebe998a4c890c7b4d439a
1 /*
2 * Copyright (C) 2005 Mike McCormack
3 * Copyright (C) 2005 Vijay Kiran Kamuju
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #include <msxmldid.h>
21 #include <msxml2did.h>
22 #include <idispids.h>
24 #ifndef DO_NO_IMPORTS
25 import "unknwn.idl";
26 import "wtypes.idl";
27 import "objidl.idl";
28 import "oaidl.idl";
29 #endif
32 uuid(d63e0ce2-a0a2-11d0-9c02-00c04fc99c8e),
33 version(2.0),
34 helpstring("Microsoft XML, v2.0")
36 library MSXML
39 importlib("stdole2.tlb");
41 #include <xmldom.idl>
42 #include <xmldso.idl>
45 local,
46 object,
47 odl,
48 dual,
49 oleautomation,
50 uuid(65725580-9b5d-11d0-9bfe-00c04fc99c8e)
52 interface IXMLElementCollection : IDispatch
54 [propput, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
55 HRESULT length( [in] LONG v );
57 [propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
58 HRESULT length( [retval, out] LONG *p );
60 [propget, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM)]
61 HRESULT _newEnum( [retval, out] IUnknown ** ppUnk );
63 [id(DISPID_XMLELEMENTCOLLECTION_ITEM)]
64 HRESULT item(
65 [optional, in] VARIANT var1,
66 [optional, in] VARIANT var2,
67 [retval, out] IDispatch ** ppDisp );
71 local,
72 object,
73 uuid(3f7f31ac-e15f-11d0-9c25-00c04fc99c8e)
75 interface IXMLElement : IDispatch
77 [propget, id(DISPID_XMLELEMENT_TAGNAME)]
78 HRESULT tagName( [retval, out] BSTR *p);
80 [propput, id(DISPID_XMLELEMENT_TAGNAME)]
81 HRESULT tagName( [in] BSTR p );
83 [propget, id(DISPID_XMLELEMENT_PARENT)]
84 HRESULT parent( [retval, out] IXMLElement **parent );
86 [id(DISPID_XMLELEMENT_SETATTRIBUTE)]
87 HRESULT setAttribute(
88 [in] BSTR strPropertyName,
89 [in] VARIANT PropertyValue );
91 [id(DISPID_XMLELEMENT_GETATTRIBUTE)]
92 HRESULT getAttribute(
93 [in] BSTR strPropertyName,
94 [retval, out] VARIANT *PropertyValue );
96 [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)]
97 HRESULT removeAttribute(
98 [in] BSTR strPropertyName );
100 [propget, id(DISPID_XMLELEMENT_CHILDREN)]
101 HRESULT children( [retval, out] IXMLElementCollection **p );
103 [propget, id(DISPID_XMLELEMENT_TYPE)]
104 HRESULT type( [retval, out] LONG *p );
106 [propget, id(DISPID_XMLELEMENT_TEXT)]
107 HRESULT text( [retval, out] BSTR *p );
109 [propput, id(DISPID_XMLELEMENT_TEXT)]
110 HRESULT text( [in] BSTR p );
112 [id(DISPID_XMLELEMENT_ADDCHILD)]
113 HRESULT addChild(
114 [in] IXMLElement *pChildElem,
115 [in] LONG lIndex,
116 [in] LONG lreserved );
118 [id(DISPID_XMLELEMENT_REMOVECHILD)]
119 HRESULT removeChild(
120 [in] IXMLElement *pChildElem );
124 local,
125 object,
126 uuid(f52e2b61-18a1-11d1-b105-00805f49916b)
128 interface IXMLDocument : IDispatch
130 [propget, id(DISPID_XMLDOCUMENT_ROOT)]
131 HRESULT root( [retval, out] IXMLElement **p );
133 [propget, id(DISPID_XMLDOCUMENT_FILESIZE)]
134 HRESULT fileSize( [retval, out] BSTR *p );
136 [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)]
137 HRESULT fileModifiedDate( [retval, out] BSTR *p );
139 [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)]
140 HRESULT fileUpdatedDate( [retval, out] BSTR *p );
142 [propget, id(DISPID_XMLDOCUMENT_URL)]
143 HRESULT URL( [retval, out] BSTR *p );
145 [propput, id(DISPID_XMLDOCUMENT_URL)]
146 HRESULT URL( [in] BSTR p );
148 [propget, id(DISPID_XMLDOCUMENT_MIMETYPE)]
149 HRESULT mimeType( [retval, out] BSTR *p );
151 [propget, id(DISPID_XMLDOCUMENT_READYSTATE)]
152 HRESULT readyState( [retval, out] LONG *p );
154 [propget, id(DISPID_XMLDOCUMENT_CHARSET)]
155 HRESULT charset( [retval, out] BSTR *p );
157 [propput, id(DISPID_XMLDOCUMENT_CHARSET)]
158 HRESULT charset( [in] BSTR p );
160 [propget, id(DISPID_XMLDOCUMENT_VERSION)]
161 HRESULT version( [retval, out] BSTR *p );
163 [propget, id(DISPID_XMLDOCUMENT_DOCTYPE)]
164 HRESULT doctype( [retval, out] BSTR *p );
166 [propget, id(DISPID_XMLDOCUMENT_DTDURL)]
167 HRESULT dtdURl( [retval, out] BSTR *p );
169 [id(DISPID_XMLDOCUMENT_CREATEELEMENT)]
170 HRESULT createElement(
171 [in] VARIANT vType,
172 [optional, in] VARIANT var1,
173 [retval, out] IXMLElement **ppElem );
177 local,
178 object,
179 uuid(2B8DE2FF-8D2D-11d1-B2FC-00C04FD915A9)
181 interface IXMLElement2 : IDispatch
183 [propget, id(DISPID_XMLELEMENT_TAGNAME)]
184 HRESULT tagName([retval, out] BSTR *p);
186 [propput, id(DISPID_XMLELEMENT_TAGNAME)]
187 HRESULT tagName([in] BSTR p);
189 [propget, id(DISPID_XMLELEMENT_PARENT)]
190 HRESULT parent([retval, out]IXMLElement2 **ppParent);
192 [id(DISPID_XMLELEMENT_SETATTRIBUTE)]
193 HRESULT setAttribute(
194 [in] BSTR strPropertyName,
195 [in] VARIANT PropertyValue);
197 [id(DISPID_XMLELEMENT_GETATTRIBUTE)]
198 HRESULT getAttribute(
199 [in] BSTR strPropertyName,
200 [retval, out] VARIANT *PropertyValue);
202 [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)]
203 HRESULT removeAttribute([in] BSTR strPropertyName);
205 [propget, id(DISPID_XMLELEMENT_CHILDREN)]
206 HRESULT children([retval, out] IXMLElementCollection **pp);
208 [propget, id(DISPID_XMLELEMENT_TYPE)]
209 HRESULT type([retval, out] LONG *plType);
211 [propget, id(DISPID_XMLELEMENT_TEXT)]
212 HRESULT text([retval, out] BSTR *p);
214 [propput, id(DISPID_XMLELEMENT_TEXT)]
215 HRESULT text([in] BSTR p);
217 [id(DISPID_XMLELEMENT_ADDCHILD)]
218 HRESULT addChild(
219 [in] IXMLElement2 *pChildElem,
220 [in] LONG lIndex,
221 [in] LONG lReserved);
223 [id(DISPID_XMLELEMENT_REMOVECHILD)]
224 HRESULT removeChild([in]IXMLElement2 *pChildElem);
226 [propget, id(DISPID_XMLELEMENT_ATTRIBUTES)]
227 HRESULT attributes([retval, out] IXMLElementCollection **pp);
231 local,
232 object,
233 uuid(2B8DE2FE-8D2D-11d1-B2FC-00C04FD915A9)
235 interface IXMLDocument2 : IDispatch
237 [propget, id(DISPID_XMLDOCUMENT_ROOT)]
238 HRESULT root([retval, out] IXMLElement2 **p);
240 [propget, id(DISPID_XMLDOCUMENT_FILESIZE)]
241 HRESULT fileSize([retval, out] BSTR *p);
243 [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)]
244 HRESULT fileModifiedDate([retval, out] BSTR *p);
246 [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)]
247 HRESULT fileUpdatedDate([retval, out] BSTR *p);
249 [propget, id(DISPID_XMLDOCUMENT_URL)]
250 HRESULT URL([retval, out] BSTR *p);
252 [propput, id(DISPID_XMLDOCUMENT_URL)]
253 HRESULT URL([in] BSTR p);
255 [propget, id(DISPID_XMLDOCUMENT_MIMETYPE)]
256 HRESULT mimeType([retval, out] BSTR *p);
258 [propget, id(DISPID_XMLDOCUMENT_READYSTATE)]
259 HRESULT readyState([retval, out]LONG *pl);
261 [propget, id(DISPID_XMLDOCUMENT_CHARSET)]
262 HRESULT charset([retval, out]BSTR *p);
264 [propput, id(DISPID_XMLDOCUMENT_CHARSET)]
265 HRESULT charset([in]BSTR p);
267 [propget, id(DISPID_XMLDOCUMENT_VERSION)]
268 HRESULT version([retval, out]BSTR *p);
270 [propget, id(DISPID_XMLDOCUMENT_DOCTYPE)]
271 HRESULT doctype([retval, out]BSTR *p);
273 [propget, restricted, id(DISPID_XMLDOCUMENT_DTDURL)]
274 HRESULT dtdURL([retval, out]BSTR *p);
276 [id(DISPID_XMLDOCUMENT_CREATEELEMENT)]
277 HRESULT createElement(
278 [in] VARIANT vType,
279 [optional, in] VARIANT var,
280 [retval, out] IXMLElement2 **ppElem);
282 [propget, id(DISPID_XMLDOCUMENT_ASYNC)]
283 HRESULT async([retval, out] VARIANT_BOOL *pf);
285 [propput, id(DISPID_XMLDOCUMENT_ASYNC)]
286 HRESULT async([in] VARIANT_BOOL f);
289 typedef enum tagXMLEMEM_TYPE {
290 XMLELEMTYPE_ELEMENT = 0,
291 XMLELEMTYPE_TEXT = 1,
292 XMLELEMTYPE_COMMENT = 2,
293 XMLELEMTYPE_DOCUMENT = 3,
294 XMLELEMTYPE_DTD = 4,
295 XMLELEMTYPE_PI = 5,
296 XMLELEMTYPE_OTHER = 6
297 } XMLELEM_TYPE;
299 typedef struct _xml_error {
300 UINT _nLine;
301 BSTR _pchBuf;
302 BSTR _cchBuf;
303 UINT _ich;
304 BSTR _pszFound;
305 BSTR _pszExpected;
306 DWORD _reserved1;
307 DWORD _reserved2;
308 } XML_ERROR;
311 local,
312 object,
313 uuid(d4d4a0fc-3b73-11d1-b2b4-00c04fb92596)
315 interface IXMLAttribute : IDispatch
317 [propget, id(DISPID_XMLATTRIBUTE_NAME)]
318 HRESULT name( [retval, out] BSTR *p );
320 [propget, id(DISPID_XMLATTRIBUTE_VALUE)]
321 HRESULT value( [retval, out] BSTR *p );
325 local,
326 object,
327 uuid(948c5ad3-c58d-11d0-9c0b-00c04fc99c8e)
329 interface IXMLError : IUnknown
331 HRESULT GetErrorInfo([out]XML_ERROR *pErrorReturn);
335 object,
336 local,
337 uuid(D9F1E15A-CCDB-11d0-9C0C-00C04FC99C8E)
339 interface IXMLElementNotificationSink : IDispatch
341 [id(DISPID_XMLNOTIFSINK_CHILDADDED)]
342 HRESULT ChildAdded([in]IDispatch *pChildElem);
346 helpstring("Msxml"),
347 progid("Msxml"),
348 threading(both),
349 version(1.0),
350 uuid(cfc399af-d876-11d0-9c10-00c04fc99c8e)
352 coclass XMLDocument
354 [default] interface IXMLDocument;
357 } /* Library MSXML */