xmllite.h 38 KB

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