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