1 /*** Autogenerated by WIDL 3.19 from include/xmllite.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __xmllite_h__
16 #define __xmllite_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IXmlReader_FWD_DEFINED__
21 #define __IXmlReader_FWD_DEFINED__
22 typedef interface IXmlReader IXmlReader;
23 #ifdef __cplusplus
24 interface IXmlReader;
25 #endif /* __cplusplus */
26 #endif
27 
28 #ifndef __IXmlResolver_FWD_DEFINED__
29 #define __IXmlResolver_FWD_DEFINED__
30 typedef interface IXmlResolver IXmlResolver;
31 #ifdef __cplusplus
32 interface IXmlResolver;
33 #endif /* __cplusplus */
34 #endif
35 
36 #ifndef __IXmlWriter_FWD_DEFINED__
37 #define __IXmlWriter_FWD_DEFINED__
38 typedef interface IXmlWriter IXmlWriter;
39 #ifdef __cplusplus
40 interface IXmlWriter;
41 #endif /* __cplusplus */
42 #endif
43 
44 /* Headers for imported files */
45 
46 #include <unknwn.h>
47 #include <objidl.h>
48 #include <oaidl.h>
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
54 typedef enum XmlNodeType {
55     XmlNodeType_None = 0,
56     XmlNodeType_Element = 1,
57     XmlNodeType_Attribute = 2,
58     XmlNodeType_Text = 3,
59     XmlNodeType_CDATA = 4,
60     XmlNodeType_ProcessingInstruction = 7,
61     XmlNodeType_Comment = 8,
62     XmlNodeType_DocumentType = 10,
63     XmlNodeType_Whitespace = 13,
64     XmlNodeType_EndElement = 15,
65     XmlNodeType_XmlDeclaration = 17,
66     _XmlNodeType_Last = 17
67 } XmlNodeType;
68 /*****************************************************************************
69  * IXmlReader interface
70  */
71 #ifndef __IXmlReader_INTERFACE_DEFINED__
72 #define __IXmlReader_INTERFACE_DEFINED__
73 
74 DEFINE_GUID(IID_IXmlReader, 0x7279fc81, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30);
75 #if defined(__cplusplus) && !defined(CINTERFACE)
76 MIDL_INTERFACE("7279fc81-709d-4095-b63d-69fe4b0d9030")
77 IXmlReader : public IUnknown
78 {
79     virtual HRESULT STDMETHODCALLTYPE SetInput(
80         IUnknown *input) = 0;
81 
82     virtual HRESULT STDMETHODCALLTYPE GetProperty(
83         UINT property,
84         LONG_PTR *value) = 0;
85 
86     virtual HRESULT STDMETHODCALLTYPE SetProperty(
87         UINT property,
88         LONG_PTR value) = 0;
89 
90     virtual HRESULT STDMETHODCALLTYPE Read(
91         XmlNodeType *node_type) = 0;
92 
93     virtual HRESULT STDMETHODCALLTYPE GetNodeType(
94         XmlNodeType *node_type) = 0;
95 
96     virtual HRESULT STDMETHODCALLTYPE MoveToFirstAttribute(
97         ) = 0;
98 
99     virtual HRESULT STDMETHODCALLTYPE MoveToNextAttribute(
100         ) = 0;
101 
102     virtual HRESULT STDMETHODCALLTYPE MoveToAttributeByName(
103         LPCWSTR local_name,
104         LPCWSTR namespaceUri) = 0;
105 
106     virtual HRESULT STDMETHODCALLTYPE MoveToElement(
107         ) = 0;
108 
109     virtual HRESULT STDMETHODCALLTYPE GetQualifiedName(
110         LPCWSTR *qualifiedName,
111         UINT *qualifiedName_length) = 0;
112 
113     virtual HRESULT STDMETHODCALLTYPE GetNamespaceUri(
114         LPCWSTR *namespaceUri,
115         UINT *nnamespaceUri_length) = 0;
116 
117     virtual HRESULT STDMETHODCALLTYPE GetLocalName(
118         LPCWSTR *local_name,
119         UINT *locale_name_length) = 0;
120 
121     virtual HRESULT STDMETHODCALLTYPE GetPrefix(
122         LPCWSTR *prefix,
123         UINT *prefix_length) = 0;
124 
125     virtual HRESULT STDMETHODCALLTYPE GetValue(
126         LPCWSTR *value,
127         UINT *value_length) = 0;
128 
129     virtual HRESULT STDMETHODCALLTYPE ReadValueChunk(
130         WCHAR *buffer,
131         UINT chunk_size,
132         UINT *read) = 0;
133 
134     virtual HRESULT STDMETHODCALLTYPE GetBaseUri(
135         LPCWSTR *baseUri,
136         UINT *baseUri_length) = 0;
137 
138     virtual WINBOOL STDMETHODCALLTYPE IsDefault(
139         ) = 0;
140 
141     virtual WINBOOL STDMETHODCALLTYPE IsEmptyElement(
142         ) = 0;
143 
144     virtual HRESULT STDMETHODCALLTYPE GetLineNumber(
145         UINT *lineNumber) = 0;
146 
147     virtual HRESULT STDMETHODCALLTYPE GetLinePosition(
148         UINT *linePosition) = 0;
149 
150     virtual HRESULT STDMETHODCALLTYPE GetAttributeCount(
151         UINT *attributeCount) = 0;
152 
153     virtual HRESULT STDMETHODCALLTYPE GetDepth(
154         UINT *depth) = 0;
155 
156     virtual WINBOOL STDMETHODCALLTYPE IsEOF(
157         ) = 0;
158 
159 };
160 #ifdef __CRT_UUID_DECL
161 __CRT_UUID_DECL(IXmlReader, 0x7279fc81, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30)
162 #endif
163 #else
164 typedef struct IXmlReaderVtbl {
165     BEGIN_INTERFACE
166 
167     /*** IUnknown methods ***/
168     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
169         IXmlReader *This,
170         REFIID riid,
171         void **ppvObject);
172 
173     ULONG (STDMETHODCALLTYPE *AddRef)(
174         IXmlReader *This);
175 
176     ULONG (STDMETHODCALLTYPE *Release)(
177         IXmlReader *This);
178 
179     /*** IXmlReader methods ***/
180     HRESULT (STDMETHODCALLTYPE *SetInput)(
181         IXmlReader *This,
182         IUnknown *input);
183 
184     HRESULT (STDMETHODCALLTYPE *GetProperty)(
185         IXmlReader *This,
186         UINT property,
187         LONG_PTR *value);
188 
189     HRESULT (STDMETHODCALLTYPE *SetProperty)(
190         IXmlReader *This,
191         UINT property,
192         LONG_PTR value);
193 
194     HRESULT (STDMETHODCALLTYPE *Read)(
195         IXmlReader *This,
196         XmlNodeType *node_type);
197 
198     HRESULT (STDMETHODCALLTYPE *GetNodeType)(
199         IXmlReader *This,
200         XmlNodeType *node_type);
201 
202     HRESULT (STDMETHODCALLTYPE *MoveToFirstAttribute)(
203         IXmlReader *This);
204 
205     HRESULT (STDMETHODCALLTYPE *MoveToNextAttribute)(
206         IXmlReader *This);
207 
208     HRESULT (STDMETHODCALLTYPE *MoveToAttributeByName)(
209         IXmlReader *This,
210         LPCWSTR local_name,
211         LPCWSTR namespaceUri);
212 
213     HRESULT (STDMETHODCALLTYPE *MoveToElement)(
214         IXmlReader *This);
215 
216     HRESULT (STDMETHODCALLTYPE *GetQualifiedName)(
217         IXmlReader *This,
218         LPCWSTR *qualifiedName,
219         UINT *qualifiedName_length);
220 
221     HRESULT (STDMETHODCALLTYPE *GetNamespaceUri)(
222         IXmlReader *This,
223         LPCWSTR *namespaceUri,
224         UINT *nnamespaceUri_length);
225 
226     HRESULT (STDMETHODCALLTYPE *GetLocalName)(
227         IXmlReader *This,
228         LPCWSTR *local_name,
229         UINT *locale_name_length);
230 
231     HRESULT (STDMETHODCALLTYPE *GetPrefix)(
232         IXmlReader *This,
233         LPCWSTR *prefix,
234         UINT *prefix_length);
235 
236     HRESULT (STDMETHODCALLTYPE *GetValue)(
237         IXmlReader *This,
238         LPCWSTR *value,
239         UINT *value_length);
240 
241     HRESULT (STDMETHODCALLTYPE *ReadValueChunk)(
242         IXmlReader *This,
243         WCHAR *buffer,
244         UINT chunk_size,
245         UINT *read);
246 
247     HRESULT (STDMETHODCALLTYPE *GetBaseUri)(
248         IXmlReader *This,
249         LPCWSTR *baseUri,
250         UINT *baseUri_length);
251 
252     WINBOOL (STDMETHODCALLTYPE *IsDefault)(
253         IXmlReader *This);
254 
255     WINBOOL (STDMETHODCALLTYPE *IsEmptyElement)(
256         IXmlReader *This);
257 
258     HRESULT (STDMETHODCALLTYPE *GetLineNumber)(
259         IXmlReader *This,
260         UINT *lineNumber);
261 
262     HRESULT (STDMETHODCALLTYPE *GetLinePosition)(
263         IXmlReader *This,
264         UINT *linePosition);
265 
266     HRESULT (STDMETHODCALLTYPE *GetAttributeCount)(
267         IXmlReader *This,
268         UINT *attributeCount);
269 
270     HRESULT (STDMETHODCALLTYPE *GetDepth)(
271         IXmlReader *This,
272         UINT *depth);
273 
274     WINBOOL (STDMETHODCALLTYPE *IsEOF)(
275         IXmlReader *This);
276 
277     END_INTERFACE
278 } IXmlReaderVtbl;
279 
280 interface IXmlReader {
281     CONST_VTBL IXmlReaderVtbl* lpVtbl;
282 };
283 
284 #ifdef COBJMACROS
285 #ifndef WIDL_C_INLINE_WRAPPERS
286 /*** IUnknown methods ***/
287 #define IXmlReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
288 #define IXmlReader_AddRef(This) (This)->lpVtbl->AddRef(This)
289 #define IXmlReader_Release(This) (This)->lpVtbl->Release(This)
290 /*** IXmlReader methods ***/
291 #define IXmlReader_SetInput(This,input) (This)->lpVtbl->SetInput(This,input)
292 #define IXmlReader_GetProperty(This,property,value) (This)->lpVtbl->GetProperty(This,property,value)
293 #define IXmlReader_SetProperty(This,property,value) (This)->lpVtbl->SetProperty(This,property,value)
294 #define IXmlReader_Read(This,node_type) (This)->lpVtbl->Read(This,node_type)
295 #define IXmlReader_GetNodeType(This,node_type) (This)->lpVtbl->GetNodeType(This,node_type)
296 #define IXmlReader_MoveToFirstAttribute(This) (This)->lpVtbl->MoveToFirstAttribute(This)
297 #define IXmlReader_MoveToNextAttribute(This) (This)->lpVtbl->MoveToNextAttribute(This)
298 #define IXmlReader_MoveToAttributeByName(This,local_name,namespaceUri) (This)->lpVtbl->MoveToAttributeByName(This,local_name,namespaceUri)
299 #define IXmlReader_MoveToElement(This) (This)->lpVtbl->MoveToElement(This)
300 #define IXmlReader_GetQualifiedName(This,qualifiedName,qualifiedName_length) (This)->lpVtbl->GetQualifiedName(This,qualifiedName,qualifiedName_length)
301 #define IXmlReader_GetNamespaceUri(This,namespaceUri,nnamespaceUri_length) (This)->lpVtbl->GetNamespaceUri(This,namespaceUri,nnamespaceUri_length)
302 #define IXmlReader_GetLocalName(This,local_name,locale_name_length) (This)->lpVtbl->GetLocalName(This,local_name,locale_name_length)
303 #define IXmlReader_GetPrefix(This,prefix,prefix_length) (This)->lpVtbl->GetPrefix(This,prefix,prefix_length)
304 #define IXmlReader_GetValue(This,value,value_length) (This)->lpVtbl->GetValue(This,value,value_length)
305 #define IXmlReader_ReadValueChunk(This,buffer,chunk_size,read) (This)->lpVtbl->ReadValueChunk(This,buffer,chunk_size,read)
306 #define IXmlReader_GetBaseUri(This,baseUri,baseUri_length) (This)->lpVtbl->GetBaseUri(This,baseUri,baseUri_length)
307 #define IXmlReader_IsDefault(This) (This)->lpVtbl->IsDefault(This)
308 #define IXmlReader_IsEmptyElement(This) (This)->lpVtbl->IsEmptyElement(This)
309 #define IXmlReader_GetLineNumber(This,lineNumber) (This)->lpVtbl->GetLineNumber(This,lineNumber)
310 #define IXmlReader_GetLinePosition(This,linePosition) (This)->lpVtbl->GetLinePosition(This,linePosition)
311 #define IXmlReader_GetAttributeCount(This,attributeCount) (This)->lpVtbl->GetAttributeCount(This,attributeCount)
312 #define IXmlReader_GetDepth(This,depth) (This)->lpVtbl->GetDepth(This,depth)
313 #define IXmlReader_IsEOF(This) (This)->lpVtbl->IsEOF(This)
314 #else
315 /*** IUnknown methods ***/
316 static FORCEINLINE HRESULT IXmlReader_QueryInterface(IXmlReader* This,REFIID riid,void **ppvObject) {
317     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
318 }
319 static FORCEINLINE ULONG IXmlReader_AddRef(IXmlReader* This) {
320     return This->lpVtbl->AddRef(This);
321 }
322 static FORCEINLINE ULONG IXmlReader_Release(IXmlReader* This) {
323     return This->lpVtbl->Release(This);
324 }
325 /*** IXmlReader methods ***/
326 static FORCEINLINE HRESULT IXmlReader_SetInput(IXmlReader* This,IUnknown *input) {
327     return This->lpVtbl->SetInput(This,input);
328 }
329 static FORCEINLINE HRESULT IXmlReader_GetProperty(IXmlReader* This,UINT property,LONG_PTR *value) {
330     return This->lpVtbl->GetProperty(This,property,value);
331 }
332 static FORCEINLINE HRESULT IXmlReader_SetProperty(IXmlReader* This,UINT property,LONG_PTR value) {
333     return This->lpVtbl->SetProperty(This,property,value);
334 }
335 static FORCEINLINE HRESULT IXmlReader_Read(IXmlReader* This,XmlNodeType *node_type) {
336     return This->lpVtbl->Read(This,node_type);
337 }
338 static FORCEINLINE HRESULT IXmlReader_GetNodeType(IXmlReader* This,XmlNodeType *node_type) {
339     return This->lpVtbl->GetNodeType(This,node_type);
340 }
341 static FORCEINLINE HRESULT IXmlReader_MoveToFirstAttribute(IXmlReader* This) {
342     return This->lpVtbl->MoveToFirstAttribute(This);
343 }
344 static FORCEINLINE HRESULT IXmlReader_MoveToNextAttribute(IXmlReader* This) {
345     return This->lpVtbl->MoveToNextAttribute(This);
346 }
347 static FORCEINLINE HRESULT IXmlReader_MoveToAttributeByName(IXmlReader* This,LPCWSTR local_name,LPCWSTR namespaceUri) {
348     return This->lpVtbl->MoveToAttributeByName(This,local_name,namespaceUri);
349 }
350 static FORCEINLINE HRESULT IXmlReader_MoveToElement(IXmlReader* This) {
351     return This->lpVtbl->MoveToElement(This);
352 }
353 static FORCEINLINE HRESULT IXmlReader_GetQualifiedName(IXmlReader* This,LPCWSTR *qualifiedName,UINT *qualifiedName_length) {
354     return This->lpVtbl->GetQualifiedName(This,qualifiedName,qualifiedName_length);
355 }
356 static FORCEINLINE HRESULT IXmlReader_GetNamespaceUri(IXmlReader* This,LPCWSTR *namespaceUri,UINT *nnamespaceUri_length) {
357     return This->lpVtbl->GetNamespaceUri(This,namespaceUri,nnamespaceUri_length);
358 }
359 static FORCEINLINE HRESULT IXmlReader_GetLocalName(IXmlReader* This,LPCWSTR *local_name,UINT *locale_name_length) {
360     return This->lpVtbl->GetLocalName(This,local_name,locale_name_length);
361 }
362 static FORCEINLINE HRESULT IXmlReader_GetPrefix(IXmlReader* This,LPCWSTR *prefix,UINT *prefix_length) {
363     return This->lpVtbl->GetPrefix(This,prefix,prefix_length);
364 }
365 static FORCEINLINE HRESULT IXmlReader_GetValue(IXmlReader* This,LPCWSTR *value,UINT *value_length) {
366     return This->lpVtbl->GetValue(This,value,value_length);
367 }
368 static FORCEINLINE HRESULT IXmlReader_ReadValueChunk(IXmlReader* This,WCHAR *buffer,UINT chunk_size,UINT *read) {
369     return This->lpVtbl->ReadValueChunk(This,buffer,chunk_size,read);
370 }
371 static FORCEINLINE HRESULT IXmlReader_GetBaseUri(IXmlReader* This,LPCWSTR *baseUri,UINT *baseUri_length) {
372     return This->lpVtbl->GetBaseUri(This,baseUri,baseUri_length);
373 }
374 static FORCEINLINE WINBOOL IXmlReader_IsDefault(IXmlReader* This) {
375     return This->lpVtbl->IsDefault(This);
376 }
377 static FORCEINLINE WINBOOL IXmlReader_IsEmptyElement(IXmlReader* This) {
378     return This->lpVtbl->IsEmptyElement(This);
379 }
380 static FORCEINLINE HRESULT IXmlReader_GetLineNumber(IXmlReader* This,UINT *lineNumber) {
381     return This->lpVtbl->GetLineNumber(This,lineNumber);
382 }
383 static FORCEINLINE HRESULT IXmlReader_GetLinePosition(IXmlReader* This,UINT *linePosition) {
384     return This->lpVtbl->GetLinePosition(This,linePosition);
385 }
386 static FORCEINLINE HRESULT IXmlReader_GetAttributeCount(IXmlReader* This,UINT *attributeCount) {
387     return This->lpVtbl->GetAttributeCount(This,attributeCount);
388 }
389 static FORCEINLINE HRESULT IXmlReader_GetDepth(IXmlReader* This,UINT *depth) {
390     return This->lpVtbl->GetDepth(This,depth);
391 }
392 static FORCEINLINE WINBOOL IXmlReader_IsEOF(IXmlReader* This) {
393     return This->lpVtbl->IsEOF(This);
394 }
395 #endif
396 #endif
397 
398 #endif
399 
400 
401 #endif  /* __IXmlReader_INTERFACE_DEFINED__ */
402 
403 /*****************************************************************************
404  * IXmlResolver interface
405  */
406 #ifndef __IXmlResolver_INTERFACE_DEFINED__
407 #define __IXmlResolver_INTERFACE_DEFINED__
408 
409 DEFINE_GUID(IID_IXmlResolver, 0x7279fc82, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30);
410 #if defined(__cplusplus) && !defined(CINTERFACE)
411 MIDL_INTERFACE("7279fc82-709d-4095-b63d-69fe4b0d9030")
412 IXmlResolver : public IUnknown
413 {
414     virtual HRESULT STDMETHODCALLTYPE ResolveUri(
415         LPCWSTR base_uri,
416         LPCWSTR public_id,
417         LPCWSTR system_id,
418         IUnknown **input) = 0;
419 
420 };
421 #ifdef __CRT_UUID_DECL
422 __CRT_UUID_DECL(IXmlResolver, 0x7279fc82, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30)
423 #endif
424 #else
425 typedef struct IXmlResolverVtbl {
426     BEGIN_INTERFACE
427 
428     /*** IUnknown methods ***/
429     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
430         IXmlResolver *This,
431         REFIID riid,
432         void **ppvObject);
433 
434     ULONG (STDMETHODCALLTYPE *AddRef)(
435         IXmlResolver *This);
436 
437     ULONG (STDMETHODCALLTYPE *Release)(
438         IXmlResolver *This);
439 
440     /*** IXmlResolver methods ***/
441     HRESULT (STDMETHODCALLTYPE *ResolveUri)(
442         IXmlResolver *This,
443         LPCWSTR base_uri,
444         LPCWSTR public_id,
445         LPCWSTR system_id,
446         IUnknown **input);
447 
448     END_INTERFACE
449 } IXmlResolverVtbl;
450 
451 interface IXmlResolver {
452     CONST_VTBL IXmlResolverVtbl* lpVtbl;
453 };
454 
455 #ifdef COBJMACROS
456 #ifndef WIDL_C_INLINE_WRAPPERS
457 /*** IUnknown methods ***/
458 #define IXmlResolver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
459 #define IXmlResolver_AddRef(This) (This)->lpVtbl->AddRef(This)
460 #define IXmlResolver_Release(This) (This)->lpVtbl->Release(This)
461 /*** IXmlResolver methods ***/
462 #define IXmlResolver_ResolveUri(This,base_uri,public_id,system_id,input) (This)->lpVtbl->ResolveUri(This,base_uri,public_id,system_id,input)
463 #else
464 /*** IUnknown methods ***/
465 static FORCEINLINE HRESULT IXmlResolver_QueryInterface(IXmlResolver* This,REFIID riid,void **ppvObject) {
466     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
467 }
468 static FORCEINLINE ULONG IXmlResolver_AddRef(IXmlResolver* This) {
469     return This->lpVtbl->AddRef(This);
470 }
471 static FORCEINLINE ULONG IXmlResolver_Release(IXmlResolver* This) {
472     return This->lpVtbl->Release(This);
473 }
474 /*** IXmlResolver methods ***/
475 static FORCEINLINE HRESULT IXmlResolver_ResolveUri(IXmlResolver* This,LPCWSTR base_uri,LPCWSTR public_id,LPCWSTR system_id,IUnknown **input) {
476     return This->lpVtbl->ResolveUri(This,base_uri,public_id,system_id,input);
477 }
478 #endif
479 #endif
480 
481 #endif
482 
483 
484 #endif  /* __IXmlResolver_INTERFACE_DEFINED__ */
485 
486 typedef enum XmlReadState {
487     XmlReadState_Initial = 0,
488     XmlReadState_Interactive = 1,
489     XmlReadState_Error = 2,
490     XmlReadState_EndOfFile = 3,
491     XmlReadState_Closed = 4
492 } XmlReadState;
493 typedef enum XmlConformanceLevel {
494     XmlConformanceLevel_Auto = 0,
495     XmlConformanceLevel_Fragment = 1,
496     XmlConformanceLevel_Document = 2,
497     _XmlConformanceLevel_Last = XmlConformanceLevel_Document
498 } XmlConformanceLevel;
499 typedef enum DtdProcessing {
500     DtdProcessing_Prohibit = 0,
501     DtdProcessing_Parse = 1,
502     _DtdProcessing_Last = DtdProcessing_Parse
503 } DtdProcessing;
504 typedef enum XmlReaderProperty {
505     XmlReaderProperty_MultiLanguage = 0,
506     XmlReaderProperty_ConformanceLevel = 1,
507     XmlReaderProperty_RandomAccess = 2,
508     XmlReaderProperty_XmlResolver = 3,
509     XmlReaderProperty_DtdProcessing = 4,
510     XmlReaderProperty_ReadState = 5,
511     XmlReaderProperty_MaxElementDepth = 6,
512     XmlReaderProperty_MaxEntityExpansion = 7,
513     _XmlReaderProperty_Last = XmlReaderProperty_MaxEntityExpansion
514 } XmlReaderProperty;
515 typedef enum XmlError {
516     MX_E_MX = 0xc00cee00,
517     MX_E_INPUTEND = 0xc00cee01,
518     MX_E_ENCODING = 0xc00cee02,
519     MX_E_ENCODINGSWITCH = 0xc00cee03,
520     MX_E_ENCODINGSIGNATURE = 0xc00cee04,
521     WC_E_WC = 0xc00cee20,
522     WC_E_WHITESPACE = 0xc00cee21,
523     WC_E_SEMICOLON = 0xc00cee22,
524     WC_E_GREATERTHAN = 0xc00cee23,
525     WC_E_QUOTE = 0xc00cee24,
526     WC_E_EQUAL = 0xc00cee25,
527     WC_E_LESSTHAN = 0xc00cee26,
528     WC_E_HEXDIGIT = 0xc00cee27,
529     WC_E_DIGIT = 0xc00cee28,
530     WC_E_LEFTBRACKET = 0xc00cee29,
531     WC_E_LEFTPAREN = 0xc00cee2a,
532     WC_E_XMLCHARACTER = 0xc00cee2b,
533     WC_E_NAMECHARACTER = 0xc00cee2c,
534     WC_E_SYNTAX = 0xc00cee2d,
535     WC_E_CDSECT = 0xc00cee2e,
536     WC_E_COMMENT = 0xc00cee2f,
537     WC_E_CONDSECT = 0xc00cee30,
538     WC_E_DECLATTLIST = 0xc00cee31,
539     WC_E_DECLDOCTYPE = 0xc00cee32,
540     WC_E_DECLELEMENT = 0xc00cee33,
541     WC_E_DECLENTITY = 0xc00cee34,
542     WC_E_DECLNOTATION = 0xc00cee35,
543     WC_E_NDATA = 0xc00cee36,
544     WC_E_PUBLIC = 0xc00cee37,
545     WC_E_SYSTEM = 0xc00cee38,
546     WC_E_NAME = 0xc00cee39,
547     WC_E_ROOTELEMENT = 0xc00cee3a,
548     WC_E_ELEMENTMATCH = 0xc00cee3b,
549     WC_E_UNIQUEATTRIBUTE = 0xc00cee3c,
550     WC_E_TEXTXMLDECL = 0xc00cee3d,
551     WC_E_LEADINGXML = 0xc00cee3e,
552     WC_E_TEXTDECL = 0xc00cee3f,
553     WC_E_XMLDECL = 0xc00cee40,
554     WC_E_ENCNAME = 0xc00cee41,
555     WC_E_PUBLICID = 0xc00cee42,
556     WC_E_PESINTERNALSUBSET = 0xc00cee43,
557     WC_E_PESBETWEENDECLS = 0xc00cee44,
558     WC_E_NORECURSION = 0xc00cee45,
559     WC_E_ENTITYCONTENT = 0xc00cee46,
560     WC_E_UNDECLAREDENTITY = 0xc00cee47,
561     WC_E_PARSEDENTITY = 0xc00cee48,
562     WC_E_NOEXTERNALENTITYREF = 0xc00cee49,
563     WC_E_PI = 0xc00cee4a,
564     WC_E_SYSTEMID = 0xc00cee4b,
565     WC_E_QUESTIONMARK = 0xc00cee4c,
566     WC_E_CDSECTEND = 0xc00cee4d,
567     WC_E_MOREDATA = 0xc00cee4e,
568     WC_E_DTDPROHIBITED = 0xc00cee4f,
569     WC_E_INVALIDXMLSPACE = 0xc00cee50,
570     NC_E_NC = 0xc00cee60,
571     NC_E_QNAMECHARACTER = 0xc00cee61,
572     NC_E_QNAMECOLON = 0xc00cee62,
573     NC_E_NAMECOLON = 0xc00cee63,
574     NC_E_DECLAREDPREFIX = 0xc00cee64,
575     NC_E_UNDECLAREDPREFIX = 0xc00cee65,
576     NC_E_EMPTYURI = 0xc00cee66,
577     NC_E_XMLPREFIXRESERVED = 0xc00cee67,
578     NC_E_XMLNSPREFIXRESERVED = 0xc00cee68,
579     NC_E_XMLURIRESERVED = 0xc00cee69,
580     NC_E_XMLNSURIRESERVED = 0xc00cee6a,
581     SC_E_SC = 0xc00cee80,
582     SC_E_MAXELEMENTDEPTH = 0xc00cee81,
583     SC_E_MAXENTITYEXPANSION = 0xc00cee82,
584     WR_E_WR = 0xc00cef00,
585     WR_E_NONWHITESPACE = 0xc00cef01,
586     WR_E_NSPREFIXDECLARED = 0xc00cef02,
587     WR_E_NSPREFIXWITHEMPTYNSURI = 0xc00cef03,
588     WR_E_DUPLICATEATTRIBUTE = 0xc00cef04,
589     WR_E_XMLNSPREFIXDECLARATION = 0xc00cef05,
590     WR_E_XMLPREFIXDECLARATION = 0xc00cef06,
591     WR_E_XMLURIDECLARATION = 0xc00cef07,
592     WR_E_XMLNSURIDECLARATION = 0xc00cef08,
593     WR_E_NAMESPACEUNDECLARED = 0xc00cef09,
594     WR_E_INVALIDXMLSPACE = 0xc00cef0a,
595     WR_E_INVALIDACTION = 0xc00cef0b,
596     WR_E_INVALIDSURROGATEPAIR = 0xc00cef0c,
597     XML_E_INVALID_DECIMAL = 0xc00ce01d,
598     XML_E_INVALID_HEXIDECIMAL = 0xc00ce01e,
599     XML_E_INVALID_UNICODE = 0xc00ce01f,
600     XML_E_INVALIDENCODING = 0xc00ce06e
601 } XmlError;
602 STDAPI CreateXmlReader(REFIID riid, void **ppvObject, IMalloc *pMalloc);
603 typedef IUnknown IXmlReaderInput;
604 STDAPI CreateXmlReaderInputWithEncodingName(IUnknown *stream, IMalloc *pMalloc,
605                                             LPCWSTR encoding, WINBOOL hint,
606                                             LPCWSTR base_uri, IXmlReaderInput **ppInput);
607 typedef enum XmlStandalone {
608     XmlStandalone_Omit = 0,
609     XmlStandalone_Yes = 1,
610     XmlStandalone_No = 2,
611     _XmlStandalone_Last = XmlStandalone_No
612 } XmlStandalone;
613 typedef enum XmlWriterProperty {
614     XmlWriterProperty_MultiLanguage = 0,
615     XmlWriterProperty_Indent = 1,
616     XmlWriterProperty_ByteOrderMark = 2,
617     XmlWriterProperty_OmitXmlDeclaration = 3,
618     XmlWriterProperty_ConformanceLevel = 4,
619     _XmlWriterProperty_Last = XmlWriterProperty_OmitXmlDeclaration
620 } XmlWriterProperty;
621 /*****************************************************************************
622  * IXmlWriter interface
623  */
624 #ifndef __IXmlWriter_INTERFACE_DEFINED__
625 #define __IXmlWriter_INTERFACE_DEFINED__
626 
627 DEFINE_GUID(IID_IXmlWriter, 0x7279fc88, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30);
628 #if defined(__cplusplus) && !defined(CINTERFACE)
629 MIDL_INTERFACE("7279fc88-709d-4095-b63d-69fe4b0d9030")
630 IXmlWriter : public IUnknown
631 {
632     virtual HRESULT STDMETHODCALLTYPE SetOutput(
633         IUnknown *pOutput) = 0;
634 
635     virtual HRESULT STDMETHODCALLTYPE GetProperty(
636         UINT nProperty,
637         LONG_PTR *ppValue) = 0;
638 
639     virtual HRESULT STDMETHODCALLTYPE SetProperty(
640         UINT nProperty,
641         LONG_PTR pValue) = 0;
642 
643     virtual HRESULT STDMETHODCALLTYPE WriteAttributes(
644         IXmlReader *pReader,
645         WINBOOL fWriteDefaultAttributes) = 0;
646 
647     virtual HRESULT STDMETHODCALLTYPE WriteAttributeString(
648         LPCWSTR pwszPrefix,
649         LPCWSTR pwszLocalName,
650         LPCWSTR pwszNamespaceUri,
651         LPCWSTR pwszValue) = 0;
652 
653     virtual HRESULT STDMETHODCALLTYPE WriteCData(
654         LPCWSTR pwszText) = 0;
655 
656     virtual HRESULT STDMETHODCALLTYPE WriteCharEntity(
657         WCHAR wch) = 0;
658 
659     virtual HRESULT STDMETHODCALLTYPE WriteChars(
660         const WCHAR *pwch,
661         UINT cwch) = 0;
662 
663     virtual HRESULT STDMETHODCALLTYPE WriteComment(
664         LPCWSTR pwszComment) = 0;
665 
666     virtual HRESULT STDMETHODCALLTYPE WriteDocType(
667         LPCWSTR pwszName,
668         LPCWSTR pwszPublicId,
669         LPCWSTR pwszSystemId,
670         LPCWSTR pwszSubset) = 0;
671 
672     virtual HRESULT STDMETHODCALLTYPE WriteElementString(
673         LPCWSTR pwszPrefix,
674         LPCWSTR pwszLocalName,
675         LPCWSTR pwszNamespaceUri,
676         LPCWSTR pwszValue) = 0;
677 
678     virtual HRESULT STDMETHODCALLTYPE WriteEndDocument(
679         ) = 0;
680 
681     virtual HRESULT STDMETHODCALLTYPE WriteEndElement(
682         ) = 0;
683 
684     virtual HRESULT STDMETHODCALLTYPE WriteEntityRef(
685         LPCWSTR pwszName) = 0;
686 
687     virtual HRESULT STDMETHODCALLTYPE WriteFullEndElement(
688         ) = 0;
689 
690     virtual HRESULT STDMETHODCALLTYPE WriteName(
691         LPCWSTR pwszName) = 0;
692 
693     virtual HRESULT STDMETHODCALLTYPE WriteNmToken(
694         LPCWSTR pwszNmToken) = 0;
695 
696     virtual HRESULT STDMETHODCALLTYPE WriteNode(
697         IXmlReader *pReader,
698         WINBOOL fWriteDefaultAttributes) = 0;
699 
700     virtual HRESULT STDMETHODCALLTYPE WriteNodeShallow(
701         IXmlReader *pReader,
702         WINBOOL fWriteDefaultAttributes) = 0;
703 
704     virtual HRESULT STDMETHODCALLTYPE WriteProcessingInstruction(
705         LPCWSTR pwszName,
706         LPCWSTR pwszText) = 0;
707 
708     virtual HRESULT STDMETHODCALLTYPE WriteQualifiedName(
709         LPCWSTR pwszLocalName,
710         LPCWSTR pwszNamespaceUri) = 0;
711 
712     virtual HRESULT STDMETHODCALLTYPE WriteRaw(
713         LPCWSTR pwszData) = 0;
714 
715     virtual HRESULT STDMETHODCALLTYPE WriteRawChars(
716         const WCHAR *pwch,
717         UINT cwch) = 0;
718 
719     virtual HRESULT STDMETHODCALLTYPE WriteStartDocument(
720         XmlStandalone standalone) = 0;
721 
722     virtual HRESULT STDMETHODCALLTYPE WriteStartElement(
723         LPCWSTR pwszPrefix,
724         LPCWSTR pwszLocalName,
725         LPCWSTR pwszNamespaceUri) = 0;
726 
727     virtual HRESULT STDMETHODCALLTYPE WriteString(
728         LPCWSTR pwszText) = 0;
729 
730     virtual HRESULT STDMETHODCALLTYPE WriteSurrogateCharEntity(
731         WCHAR wchLow,
732         WCHAR wchHigh) = 0;
733 
734     virtual HRESULT STDMETHODCALLTYPE WriteWhitespace(
735         LPCWSTR pwszWhitespace) = 0;
736 
737     virtual HRESULT STDMETHODCALLTYPE Flush(
738         ) = 0;
739 
740 };
741 #ifdef __CRT_UUID_DECL
742 __CRT_UUID_DECL(IXmlWriter, 0x7279fc88, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30)
743 #endif
744 #else
745 typedef struct IXmlWriterVtbl {
746     BEGIN_INTERFACE
747 
748     /*** IUnknown methods ***/
749     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
750         IXmlWriter *This,
751         REFIID riid,
752         void **ppvObject);
753 
754     ULONG (STDMETHODCALLTYPE *AddRef)(
755         IXmlWriter *This);
756 
757     ULONG (STDMETHODCALLTYPE *Release)(
758         IXmlWriter *This);
759 
760     /*** IXmlWriter methods ***/
761     HRESULT (STDMETHODCALLTYPE *SetOutput)(
762         IXmlWriter *This,
763         IUnknown *pOutput);
764 
765     HRESULT (STDMETHODCALLTYPE *GetProperty)(
766         IXmlWriter *This,
767         UINT nProperty,
768         LONG_PTR *ppValue);
769 
770     HRESULT (STDMETHODCALLTYPE *SetProperty)(
771         IXmlWriter *This,
772         UINT nProperty,
773         LONG_PTR pValue);
774 
775     HRESULT (STDMETHODCALLTYPE *WriteAttributes)(
776         IXmlWriter *This,
777         IXmlReader *pReader,
778         WINBOOL fWriteDefaultAttributes);
779 
780     HRESULT (STDMETHODCALLTYPE *WriteAttributeString)(
781         IXmlWriter *This,
782         LPCWSTR pwszPrefix,
783         LPCWSTR pwszLocalName,
784         LPCWSTR pwszNamespaceUri,
785         LPCWSTR pwszValue);
786 
787     HRESULT (STDMETHODCALLTYPE *WriteCData)(
788         IXmlWriter *This,
789         LPCWSTR pwszText);
790 
791     HRESULT (STDMETHODCALLTYPE *WriteCharEntity)(
792         IXmlWriter *This,
793         WCHAR wch);
794 
795     HRESULT (STDMETHODCALLTYPE *WriteChars)(
796         IXmlWriter *This,
797         const WCHAR *pwch,
798         UINT cwch);
799 
800     HRESULT (STDMETHODCALLTYPE *WriteComment)(
801         IXmlWriter *This,
802         LPCWSTR pwszComment);
803 
804     HRESULT (STDMETHODCALLTYPE *WriteDocType)(
805         IXmlWriter *This,
806         LPCWSTR pwszName,
807         LPCWSTR pwszPublicId,
808         LPCWSTR pwszSystemId,
809         LPCWSTR pwszSubset);
810 
811     HRESULT (STDMETHODCALLTYPE *WriteElementString)(
812         IXmlWriter *This,
813         LPCWSTR pwszPrefix,
814         LPCWSTR pwszLocalName,
815         LPCWSTR pwszNamespaceUri,
816         LPCWSTR pwszValue);
817 
818     HRESULT (STDMETHODCALLTYPE *WriteEndDocument)(
819         IXmlWriter *This);
820 
821     HRESULT (STDMETHODCALLTYPE *WriteEndElement)(
822         IXmlWriter *This);
823 
824     HRESULT (STDMETHODCALLTYPE *WriteEntityRef)(
825         IXmlWriter *This,
826         LPCWSTR pwszName);
827 
828     HRESULT (STDMETHODCALLTYPE *WriteFullEndElement)(
829         IXmlWriter *This);
830 
831     HRESULT (STDMETHODCALLTYPE *WriteName)(
832         IXmlWriter *This,
833         LPCWSTR pwszName);
834 
835     HRESULT (STDMETHODCALLTYPE *WriteNmToken)(
836         IXmlWriter *This,
837         LPCWSTR pwszNmToken);
838 
839     HRESULT (STDMETHODCALLTYPE *WriteNode)(
840         IXmlWriter *This,
841         IXmlReader *pReader,
842         WINBOOL fWriteDefaultAttributes);
843 
844     HRESULT (STDMETHODCALLTYPE *WriteNodeShallow)(
845         IXmlWriter *This,
846         IXmlReader *pReader,
847         WINBOOL fWriteDefaultAttributes);
848 
849     HRESULT (STDMETHODCALLTYPE *WriteProcessingInstruction)(
850         IXmlWriter *This,
851         LPCWSTR pwszName,
852         LPCWSTR pwszText);
853 
854     HRESULT (STDMETHODCALLTYPE *WriteQualifiedName)(
855         IXmlWriter *This,
856         LPCWSTR pwszLocalName,
857         LPCWSTR pwszNamespaceUri);
858 
859     HRESULT (STDMETHODCALLTYPE *WriteRaw)(
860         IXmlWriter *This,
861         LPCWSTR pwszData);
862 
863     HRESULT (STDMETHODCALLTYPE *WriteRawChars)(
864         IXmlWriter *This,
865         const WCHAR *pwch,
866         UINT cwch);
867 
868     HRESULT (STDMETHODCALLTYPE *WriteStartDocument)(
869         IXmlWriter *This,
870         XmlStandalone standalone);
871 
872     HRESULT (STDMETHODCALLTYPE *WriteStartElement)(
873         IXmlWriter *This,
874         LPCWSTR pwszPrefix,
875         LPCWSTR pwszLocalName,
876         LPCWSTR pwszNamespaceUri);
877 
878     HRESULT (STDMETHODCALLTYPE *WriteString)(
879         IXmlWriter *This,
880         LPCWSTR pwszText);
881 
882     HRESULT (STDMETHODCALLTYPE *WriteSurrogateCharEntity)(
883         IXmlWriter *This,
884         WCHAR wchLow,
885         WCHAR wchHigh);
886 
887     HRESULT (STDMETHODCALLTYPE *WriteWhitespace)(
888         IXmlWriter *This,
889         LPCWSTR pwszWhitespace);
890 
891     HRESULT (STDMETHODCALLTYPE *Flush)(
892         IXmlWriter *This);
893 
894     END_INTERFACE
895 } IXmlWriterVtbl;
896 
897 interface IXmlWriter {
898     CONST_VTBL IXmlWriterVtbl* lpVtbl;
899 };
900 
901 #ifdef COBJMACROS
902 #ifndef WIDL_C_INLINE_WRAPPERS
903 /*** IUnknown methods ***/
904 #define IXmlWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
905 #define IXmlWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
906 #define IXmlWriter_Release(This) (This)->lpVtbl->Release(This)
907 /*** IXmlWriter methods ***/
908 #define IXmlWriter_SetOutput(This,pOutput) (This)->lpVtbl->SetOutput(This,pOutput)
909 #define IXmlWriter_GetProperty(This,nProperty,ppValue) (This)->lpVtbl->GetProperty(This,nProperty,ppValue)
910 #define IXmlWriter_SetProperty(This,nProperty,pValue) (This)->lpVtbl->SetProperty(This,nProperty,pValue)
911 #define IXmlWriter_WriteAttributes(This,pReader,fWriteDefaultAttributes) (This)->lpVtbl->WriteAttributes(This,pReader,fWriteDefaultAttributes)
912 #define IXmlWriter_WriteAttributeString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue) (This)->lpVtbl->WriteAttributeString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue)
913 #define IXmlWriter_WriteCData(This,pwszText) (This)->lpVtbl->WriteCData(This,pwszText)
914 #define IXmlWriter_WriteCharEntity(This,wch) (This)->lpVtbl->WriteCharEntity(This,wch)
915 #define IXmlWriter_WriteChars(This,pwch,cwch) (This)->lpVtbl->WriteChars(This,pwch,cwch)
916 #define IXmlWriter_WriteComment(This,pwszComment) (This)->lpVtbl->WriteComment(This,pwszComment)
917 #define IXmlWriter_WriteDocType(This,pwszName,pwszPublicId,pwszSystemId,pwszSubset) (This)->lpVtbl->WriteDocType(This,pwszName,pwszPublicId,pwszSystemId,pwszSubset)
918 #define IXmlWriter_WriteElementString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue) (This)->lpVtbl->WriteElementString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue)
919 #define IXmlWriter_WriteEndDocument(This) (This)->lpVtbl->WriteEndDocument(This)
920 #define IXmlWriter_WriteEndElement(This) (This)->lpVtbl->WriteEndElement(This)
921 #define IXmlWriter_WriteEntityRef(This,pwszName) (This)->lpVtbl->WriteEntityRef(This,pwszName)
922 #define IXmlWriter_WriteFullEndElement(This) (This)->lpVtbl->WriteFullEndElement(This)
923 #define IXmlWriter_WriteName(This,pwszName) (This)->lpVtbl->WriteName(This,pwszName)
924 #define IXmlWriter_WriteNmToken(This,pwszNmToken) (This)->lpVtbl->WriteNmToken(This,pwszNmToken)
925 #define IXmlWriter_WriteNode(This,pReader,fWriteDefaultAttributes) (This)->lpVtbl->WriteNode(This,pReader,fWriteDefaultAttributes)
926 #define IXmlWriter_WriteNodeShallow(This,pReader,fWriteDefaultAttributes) (This)->lpVtbl->WriteNodeShallow(This,pReader,fWriteDefaultAttributes)
927 #define IXmlWriter_WriteProcessingInstruction(This,pwszName,pwszText) (This)->lpVtbl->WriteProcessingInstruction(This,pwszName,pwszText)
928 #define IXmlWriter_WriteQualifiedName(This,pwszLocalName,pwszNamespaceUri) (This)->lpVtbl->WriteQualifiedName(This,pwszLocalName,pwszNamespaceUri)
929 #define IXmlWriter_WriteRaw(This,pwszData) (This)->lpVtbl->WriteRaw(This,pwszData)
930 #define IXmlWriter_WriteRawChars(This,pwch,cwch) (This)->lpVtbl->WriteRawChars(This,pwch,cwch)
931 #define IXmlWriter_WriteStartDocument(This,standalone) (This)->lpVtbl->WriteStartDocument(This,standalone)
932 #define IXmlWriter_WriteStartElement(This,pwszPrefix,pwszLocalName,pwszNamespaceUri) (This)->lpVtbl->WriteStartElement(This,pwszPrefix,pwszLocalName,pwszNamespaceUri)
933 #define IXmlWriter_WriteString(This,pwszText) (This)->lpVtbl->WriteString(This,pwszText)
934 #define IXmlWriter_WriteSurrogateCharEntity(This,wchLow,wchHigh) (This)->lpVtbl->WriteSurrogateCharEntity(This,wchLow,wchHigh)
935 #define IXmlWriter_WriteWhitespace(This,pwszWhitespace) (This)->lpVtbl->WriteWhitespace(This,pwszWhitespace)
936 #define IXmlWriter_Flush(This) (This)->lpVtbl->Flush(This)
937 #else
938 /*** IUnknown methods ***/
939 static FORCEINLINE HRESULT IXmlWriter_QueryInterface(IXmlWriter* This,REFIID riid,void **ppvObject) {
940     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
941 }
942 static FORCEINLINE ULONG IXmlWriter_AddRef(IXmlWriter* This) {
943     return This->lpVtbl->AddRef(This);
944 }
945 static FORCEINLINE ULONG IXmlWriter_Release(IXmlWriter* This) {
946     return This->lpVtbl->Release(This);
947 }
948 /*** IXmlWriter methods ***/
949 static FORCEINLINE HRESULT IXmlWriter_SetOutput(IXmlWriter* This,IUnknown *pOutput) {
950     return This->lpVtbl->SetOutput(This,pOutput);
951 }
952 static FORCEINLINE HRESULT IXmlWriter_GetProperty(IXmlWriter* This,UINT nProperty,LONG_PTR *ppValue) {
953     return This->lpVtbl->GetProperty(This,nProperty,ppValue);
954 }
955 static FORCEINLINE HRESULT IXmlWriter_SetProperty(IXmlWriter* This,UINT nProperty,LONG_PTR pValue) {
956     return This->lpVtbl->SetProperty(This,nProperty,pValue);
957 }
958 static FORCEINLINE HRESULT IXmlWriter_WriteAttributes(IXmlWriter* This,IXmlReader *pReader,WINBOOL fWriteDefaultAttributes) {
959     return This->lpVtbl->WriteAttributes(This,pReader,fWriteDefaultAttributes);
960 }
961 static FORCEINLINE HRESULT IXmlWriter_WriteAttributeString(IXmlWriter* This,LPCWSTR pwszPrefix,LPCWSTR pwszLocalName,LPCWSTR pwszNamespaceUri,LPCWSTR pwszValue) {
962     return This->lpVtbl->WriteAttributeString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue);
963 }
964 static FORCEINLINE HRESULT IXmlWriter_WriteCData(IXmlWriter* This,LPCWSTR pwszText) {
965     return This->lpVtbl->WriteCData(This,pwszText);
966 }
967 static FORCEINLINE HRESULT IXmlWriter_WriteCharEntity(IXmlWriter* This,WCHAR wch) {
968     return This->lpVtbl->WriteCharEntity(This,wch);
969 }
970 static FORCEINLINE HRESULT IXmlWriter_WriteChars(IXmlWriter* This,const WCHAR *pwch,UINT cwch) {
971     return This->lpVtbl->WriteChars(This,pwch,cwch);
972 }
973 static FORCEINLINE HRESULT IXmlWriter_WriteComment(IXmlWriter* This,LPCWSTR pwszComment) {
974     return This->lpVtbl->WriteComment(This,pwszComment);
975 }
976 static FORCEINLINE HRESULT IXmlWriter_WriteDocType(IXmlWriter* This,LPCWSTR pwszName,LPCWSTR pwszPublicId,LPCWSTR pwszSystemId,LPCWSTR pwszSubset) {
977     return This->lpVtbl->WriteDocType(This,pwszName,pwszPublicId,pwszSystemId,pwszSubset);
978 }
979 static FORCEINLINE HRESULT IXmlWriter_WriteElementString(IXmlWriter* This,LPCWSTR pwszPrefix,LPCWSTR pwszLocalName,LPCWSTR pwszNamespaceUri,LPCWSTR pwszValue) {
980     return This->lpVtbl->WriteElementString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue);
981 }
982 static FORCEINLINE HRESULT IXmlWriter_WriteEndDocument(IXmlWriter* This) {
983     return This->lpVtbl->WriteEndDocument(This);
984 }
985 static FORCEINLINE HRESULT IXmlWriter_WriteEndElement(IXmlWriter* This) {
986     return This->lpVtbl->WriteEndElement(This);
987 }
988 static FORCEINLINE HRESULT IXmlWriter_WriteEntityRef(IXmlWriter* This,LPCWSTR pwszName) {
989     return This->lpVtbl->WriteEntityRef(This,pwszName);
990 }
991 static FORCEINLINE HRESULT IXmlWriter_WriteFullEndElement(IXmlWriter* This) {
992     return This->lpVtbl->WriteFullEndElement(This);
993 }
994 static FORCEINLINE HRESULT IXmlWriter_WriteName(IXmlWriter* This,LPCWSTR pwszName) {
995     return This->lpVtbl->WriteName(This,pwszName);
996 }
997 static FORCEINLINE HRESULT IXmlWriter_WriteNmToken(IXmlWriter* This,LPCWSTR pwszNmToken) {
998     return This->lpVtbl->WriteNmToken(This,pwszNmToken);
999 }
1000 static FORCEINLINE HRESULT IXmlWriter_WriteNode(IXmlWriter* This,IXmlReader *pReader,WINBOOL fWriteDefaultAttributes) {
1001     return This->lpVtbl->WriteNode(This,pReader,fWriteDefaultAttributes);
1002 }
1003 static FORCEINLINE HRESULT IXmlWriter_WriteNodeShallow(IXmlWriter* This,IXmlReader *pReader,WINBOOL fWriteDefaultAttributes) {
1004     return This->lpVtbl->WriteNodeShallow(This,pReader,fWriteDefaultAttributes);
1005 }
1006 static FORCEINLINE HRESULT IXmlWriter_WriteProcessingInstruction(IXmlWriter* This,LPCWSTR pwszName,LPCWSTR pwszText) {
1007     return This->lpVtbl->WriteProcessingInstruction(This,pwszName,pwszText);
1008 }
1009 static FORCEINLINE HRESULT IXmlWriter_WriteQualifiedName(IXmlWriter* This,LPCWSTR pwszLocalName,LPCWSTR pwszNamespaceUri) {
1010     return This->lpVtbl->WriteQualifiedName(This,pwszLocalName,pwszNamespaceUri);
1011 }
1012 static FORCEINLINE HRESULT IXmlWriter_WriteRaw(IXmlWriter* This,LPCWSTR pwszData) {
1013     return This->lpVtbl->WriteRaw(This,pwszData);
1014 }
1015 static FORCEINLINE HRESULT IXmlWriter_WriteRawChars(IXmlWriter* This,const WCHAR *pwch,UINT cwch) {
1016     return This->lpVtbl->WriteRawChars(This,pwch,cwch);
1017 }
1018 static FORCEINLINE HRESULT IXmlWriter_WriteStartDocument(IXmlWriter* This,XmlStandalone standalone) {
1019     return This->lpVtbl->WriteStartDocument(This,standalone);
1020 }
1021 static FORCEINLINE HRESULT IXmlWriter_WriteStartElement(IXmlWriter* This,LPCWSTR pwszPrefix,LPCWSTR pwszLocalName,LPCWSTR pwszNamespaceUri) {
1022     return This->lpVtbl->WriteStartElement(This,pwszPrefix,pwszLocalName,pwszNamespaceUri);
1023 }
1024 static FORCEINLINE HRESULT IXmlWriter_WriteString(IXmlWriter* This,LPCWSTR pwszText) {
1025     return This->lpVtbl->WriteString(This,pwszText);
1026 }
1027 static FORCEINLINE HRESULT IXmlWriter_WriteSurrogateCharEntity(IXmlWriter* This,WCHAR wchLow,WCHAR wchHigh) {
1028     return This->lpVtbl->WriteSurrogateCharEntity(This,wchLow,wchHigh);
1029 }
1030 static FORCEINLINE HRESULT IXmlWriter_WriteWhitespace(IXmlWriter* This,LPCWSTR pwszWhitespace) {
1031     return This->lpVtbl->WriteWhitespace(This,pwszWhitespace);
1032 }
1033 static FORCEINLINE HRESULT IXmlWriter_Flush(IXmlWriter* This) {
1034     return This->lpVtbl->Flush(This);
1035 }
1036 #endif
1037 #endif
1038 
1039 #endif
1040 
1041 
1042 #endif  /* __IXmlWriter_INTERFACE_DEFINED__ */
1043 
1044 STDAPI CreateXmlWriter(REFIID riid, void **ppvObject, IMalloc *pMalloc);
1045 typedef IUnknown IXmlWriterOutput;
1046 STDAPI CreateXmlWriterOutputWithEncodingName(IUnknown *stream, IMalloc *pMalloc,
1047                                              LPCWSTR encoding, IXmlWriterOutput **output);
1048 STDAPI CreateXmlWriterOutputWithEncodingCodePage(IUnknown *stream, IMalloc *pMalloc,
1049     UINT codepage, IXmlWriterOutput **output);
1050 /* Begin additional prototypes for all interfaces */
1051 
1052 
1053 /* End additional prototypes */
1054 
1055 #ifdef __cplusplus
1056 }
1057 #endif
1058 
1059 #endif /* __xmllite_h__ */
1060