wsdxml.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. /*** Autogenerated by WIDL 7.7 from include/wsdxml.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 __wsdxml_h__
  14. #define __wsdxml_h__
  15. /* Forward declarations */
  16. #ifndef __IWSDXMLContext_FWD_DEFINED__
  17. #define __IWSDXMLContext_FWD_DEFINED__
  18. typedef interface IWSDXMLContext IWSDXMLContext;
  19. #ifdef __cplusplus
  20. interface IWSDXMLContext;
  21. #endif /* __cplusplus */
  22. #endif
  23. /* Headers for imported files */
  24. #include <oaidl.h>
  25. #include <ocidl.h>
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. #include <winapifamily.h>
  30. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  31. #ifndef __IWSDXMLContext_FWD_DEFINED__
  32. #define __IWSDXMLContext_FWD_DEFINED__
  33. typedef interface IWSDXMLContext IWSDXMLContext;
  34. #ifdef __cplusplus
  35. interface IWSDXMLContext;
  36. #endif /* __cplusplus */
  37. #endif
  38. enum {
  39. OpNone = 0,
  40. OpEndOfTable = 1,
  41. OpBeginElement_ = 2,
  42. OpBeginAnyElement = 3,
  43. OpEndElement = 4,
  44. OpElement_ = 5,
  45. OpAnyElement = 6,
  46. OpAnyElements = 7,
  47. OpAnyText = 8,
  48. OpAttribute_ = 9,
  49. OpBeginChoice = 10,
  50. OpEndChoice = 11,
  51. OpBeginSequence = 12,
  52. OpEndSequence = 13,
  53. OpBeginAll = 14,
  54. OpEndAll = 15,
  55. OpAnything = 16,
  56. OpAnyNumber = 17,
  57. OpOneOrMore = 18,
  58. OpOptional = 19,
  59. OpFormatBool_ = 20,
  60. OpFormatInt8_ = 21,
  61. OpFormatInt16_ = 22,
  62. OpFormatInt32_ = 23,
  63. OpFormatInt64_ = 24,
  64. OpFormatUInt8_ = 25,
  65. OpFormatUInt16_ = 26,
  66. OpFormatUInt32_ = 27,
  67. OpFormatUInt64_ = 28,
  68. OpFormatUnicodeString_ = 29,
  69. OpFormatDom_ = 30,
  70. OpFormatStruct_ = 31,
  71. OpFormatUri_ = 32,
  72. OpFormatUuidUri_ = 33,
  73. OpFormatName_ = 34,
  74. OpFormatListInsertTail_ = 35,
  75. OpFormatType_ = 36,
  76. OpFormatDynamicType_ = 37,
  77. OpFormatLookupType_ = 38,
  78. OpFormatDuration_ = 39,
  79. OpFormatDateTime_ = 40,
  80. OpFormatFloat_ = 41,
  81. OpFormatDouble_ = 42,
  82. OpProcess_ = 43,
  83. OpQualifiedAttribute_ = 44,
  84. OpFormatXMLDeclaration_ = 45,
  85. OpFormatMax = 46
  86. };
  87. typedef struct _WSDXML_NAMESPACE WSDXML_NAMESPACE;
  88. typedef const WSDXML_NAMESPACE *PCWSDXML_NAMESPACE;
  89. typedef struct _WSDXML_NAME WSDXML_NAME;
  90. typedef struct _WSDXML_TYPE WSDXML_TYPE;
  91. typedef const WSDXML_TYPE *PCWSDXML_TYPE;
  92. typedef struct _WSDXML_PREFIX_MAPPING WSDXML_PREFIX_MAPPING;
  93. typedef struct _WSDXML_ATTRIBUTE WSDXML_ATTRIBUTE;
  94. typedef struct _WSDXML_NODE WSDXML_NODE;
  95. typedef struct _WSDXML_ELEMENT WSDXML_ELEMENT;
  96. typedef struct _WSDXML_TEXT WSDXML_TEXT;
  97. typedef struct _WSDXML_ELEMENT_LIST WSDXML_ELEMENT_LIST;
  98. typedef struct _WSD_DATETIME {
  99. WINBOOL isPositive;
  100. ULONG year;
  101. UCHAR month;
  102. UCHAR day;
  103. UCHAR hour;
  104. UCHAR minute;
  105. UCHAR second;
  106. UINT millisecond;
  107. WINBOOL TZIsLocal;
  108. WINBOOL TZIsPositive;
  109. UCHAR TZHour;
  110. UCHAR TZMinute;
  111. } WSD_DATETIME;
  112. typedef struct _WSD_DURATION {
  113. WINBOOL isPositive;
  114. ULONG year;
  115. ULONG month;
  116. ULONG day;
  117. ULONG hour;
  118. ULONG minute;
  119. ULONG second;
  120. ULONG millisecond;
  121. } WSD_DURATION;
  122. #define WSDXML_TYPE_ENCODING(tidx,lno) ((((DWORD) lno) << 28) | tidx)
  123. #define WSDXML_NAMESPACE_ENCODING(nsidx, lno) ((((WORD) lno) << 12) | nsidx)
  124. #define WSDXML_NAME_ENCODING(nidx, nsenc) ((((DWORD) nsenc) << 16) | nidx)
  125. #define OFFSET(type,field) ((DWORD_PTR) (&((type *)0)->field))
  126. #define BYTE0(n) (BYTE) (((DWORD) n) & 0xff)
  127. #define BYTE1(n) (BYTE) ((((DWORD) n) >> 8) & 0xff)
  128. #define BYTE2(n) (BYTE) ((((DWORD) n) >> 16) & 0xff)
  129. #define BYTE3(n) (BYTE)((((DWORD) n) >> 24) & 0xff)
  130. #define BYTES(n) BYTE0(n), BYTE1(n), BYTE2(n), BYTE3(n)
  131. #define OpAttribute(name) OpAttribute_, BYTES(name)
  132. #define OpBeginElement(name) OpBeginElement_, BYTES(name)
  133. #define OpElement(name) OpElement_, BYTES(name)
  134. #define OpFormatBool(type,field,isptr) OpFormatBool_, BYTES(isptr), BYTES(OFFSET(type,field))
  135. #define OpFormatDateTime(type,field) OpFormatDateTime_, BYTES(OFFSET(type,field))
  136. #define OpFormatDom(type,field) OpFormatDom_, BYTES(OFFSET(type,field))
  137. #define OpFormatDouble(type,field,isptr) OpFormatDouble_, BYTES(isptr),BYTES(OFFSET(type,field))
  138. #define OpFormatDuration(type,field) OpFormatDuration_, BYTES(OFFSET(type,field))
  139. #define OpFormatDynamicType(name,type,field) OpFormatDynamicType_, BYTES(name),BYTES(OFFSET(type,field))
  140. #define OpFormatFloat(type,field,isptr) OpFormatFloat_, BYTES(isptr),BYTES(OFFSET(type,field))
  141. #define OpFormatInt8(type,field,isptr) OpFormatInt8_, BYTES(isptr), BYTES(OFFSET(type,field))
  142. #define OpFormatInt16(type,field,isptr) OpFormatInt16_, BYTES(isptr), BYTES(OFFSET(type,field))
  143. #define OpFormatInt32(type,field,isptr) OpFormatInt32_, BYTES(isptr), BYTES(OFFSET(type,field))
  144. #define OpFormatInt64(type,field,isptr) OpFormatInt64_, BYTES(isptr), BYTES(OFFSET(type,field))
  145. #define OpFormatListInsertTail(s,type,field) OpFormatListInsertTail_,BYTES(sizeof(s)),BYTES(OFFSET(type,field))
  146. #define OpFormatLookupType(uriField,type,field) OpFormatLookupType_, BYTES(OFFSET(type,uriField)),BYTES(OFFSET(type,field))
  147. #define OpFormatName(type,field) OpFormatName_, BYTES(OFFSET(type,field))
  148. #define OpFormatPointerToStruct(sType) OpFormatStruct_, BYTES(sizeof(sType)),BYTES(0)
  149. #define OpFormatStruct(sType,type,field) OpFormatStruct_, BYTES(sizeof(sType)),BYTES(OFFSET(type,field))
  150. #define OpFormatType(table,type,field) OpFormatType_, BYTES(table),BYTES(OFFSET(type,field))
  151. #define OpFormatUInt8(type,field,isptr) OpFormatUInt8_, BYTES(isptr), BYTES(OFFSET(type,field))
  152. #define OpFormatUInt16(type,field,isptr) OpFormatUInt16_, BYTES(isptr), BYTES(OFFSET(type,field))
  153. #define OpFormatUInt32(type,field,isptr) OpFormatUInt32_, BYTES(isptr), BYTES(OFFSET(type,field))
  154. #define OpFormatUInt64(type,field,isptr) OpFormatUInt64_, BYTES(isptr), BYTES(OFFSET(type,field))
  155. #define OpFormatUnicodeString(type,field) OpFormatUnicodeString_, BYTES(OFFSET(type,field))
  156. #define OpFormatUri(type,field) OpFormatUri_, BYTES(OFFSET(type,field))
  157. #define OpFormatUuidUri(type,field,isptr) OpFormatUuidUri_, BYTES(isptr),BYTES(OFFSET(type,field))
  158. #define OpFormatXMLDeclaration(type,field) OpFormatXMLDeclaration_, BYTES(OFFSET(type,field))
  159. #define OpProcess(type,field) OpProcess_, BYTES(OFFSET(type,field))
  160. #define OpQualifiedAttribute(name) OpQualifiedAttribute_, BYTES(name)
  161. /*****************************************************************************
  162. * IWSDXMLContext interface
  163. */
  164. #ifndef __IWSDXMLContext_INTERFACE_DEFINED__
  165. #define __IWSDXMLContext_INTERFACE_DEFINED__
  166. DEFINE_GUID(IID_IWSDXMLContext, 0x75d8f3ee, 0x3e5a, 0x43b4, 0xa1,0x5a, 0xbc,0xf6,0x88,0x74,0x60,0xc0);
  167. #if defined(__cplusplus) && !defined(CINTERFACE)
  168. MIDL_INTERFACE("75d8f3ee-3e5a-43b4-a15a-bcf6887460c0")
  169. IWSDXMLContext : public IUnknown
  170. {
  171. virtual HRESULT STDMETHODCALLTYPE AddNamespace(
  172. LPCWSTR pszUri,
  173. LPCWSTR pszSuggestedPrefix,
  174. WSDXML_NAMESPACE **ppNamespace) = 0;
  175. virtual HRESULT STDMETHODCALLTYPE AddNameToNamespace(
  176. LPCWSTR pszUri,
  177. LPCWSTR pszName,
  178. WSDXML_NAME **ppName) = 0;
  179. virtual HRESULT STDMETHODCALLTYPE SetNamespaces(
  180. const PCWSDXML_NAMESPACE *pNamespaces,
  181. WORD wNamespacesCount,
  182. BYTE bLayerNumber) = 0;
  183. virtual HRESULT STDMETHODCALLTYPE SetTypes(
  184. const PCWSDXML_TYPE *pTypes,
  185. DWORD dwTypesCount,
  186. BYTE bLayerNumber) = 0;
  187. };
  188. #ifdef __CRT_UUID_DECL
  189. __CRT_UUID_DECL(IWSDXMLContext, 0x75d8f3ee, 0x3e5a, 0x43b4, 0xa1,0x5a, 0xbc,0xf6,0x88,0x74,0x60,0xc0)
  190. #endif
  191. #else
  192. typedef struct IWSDXMLContextVtbl {
  193. BEGIN_INTERFACE
  194. /*** IUnknown methods ***/
  195. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  196. IWSDXMLContext *This,
  197. REFIID riid,
  198. void **ppvObject);
  199. ULONG (STDMETHODCALLTYPE *AddRef)(
  200. IWSDXMLContext *This);
  201. ULONG (STDMETHODCALLTYPE *Release)(
  202. IWSDXMLContext *This);
  203. /*** IWSDXMLContext methods ***/
  204. HRESULT (STDMETHODCALLTYPE *AddNamespace)(
  205. IWSDXMLContext *This,
  206. LPCWSTR pszUri,
  207. LPCWSTR pszSuggestedPrefix,
  208. WSDXML_NAMESPACE **ppNamespace);
  209. HRESULT (STDMETHODCALLTYPE *AddNameToNamespace)(
  210. IWSDXMLContext *This,
  211. LPCWSTR pszUri,
  212. LPCWSTR pszName,
  213. WSDXML_NAME **ppName);
  214. HRESULT (STDMETHODCALLTYPE *SetNamespaces)(
  215. IWSDXMLContext *This,
  216. const PCWSDXML_NAMESPACE *pNamespaces,
  217. WORD wNamespacesCount,
  218. BYTE bLayerNumber);
  219. HRESULT (STDMETHODCALLTYPE *SetTypes)(
  220. IWSDXMLContext *This,
  221. const PCWSDXML_TYPE *pTypes,
  222. DWORD dwTypesCount,
  223. BYTE bLayerNumber);
  224. END_INTERFACE
  225. } IWSDXMLContextVtbl;
  226. interface IWSDXMLContext {
  227. CONST_VTBL IWSDXMLContextVtbl* lpVtbl;
  228. };
  229. #ifdef COBJMACROS
  230. #ifndef WIDL_C_INLINE_WRAPPERS
  231. /*** IUnknown methods ***/
  232. #define IWSDXMLContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  233. #define IWSDXMLContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  234. #define IWSDXMLContext_Release(This) (This)->lpVtbl->Release(This)
  235. /*** IWSDXMLContext methods ***/
  236. #define IWSDXMLContext_AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace) (This)->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace)
  237. #define IWSDXMLContext_AddNameToNamespace(This,pszUri,pszName,ppName) (This)->lpVtbl->AddNameToNamespace(This,pszUri,pszName,ppName)
  238. #define IWSDXMLContext_SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber) (This)->lpVtbl->SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber)
  239. #define IWSDXMLContext_SetTypes(This,pTypes,dwTypesCount,bLayerNumber) (This)->lpVtbl->SetTypes(This,pTypes,dwTypesCount,bLayerNumber)
  240. #else
  241. /*** IUnknown methods ***/
  242. static FORCEINLINE HRESULT IWSDXMLContext_QueryInterface(IWSDXMLContext* This,REFIID riid,void **ppvObject) {
  243. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  244. }
  245. static FORCEINLINE ULONG IWSDXMLContext_AddRef(IWSDXMLContext* This) {
  246. return This->lpVtbl->AddRef(This);
  247. }
  248. static FORCEINLINE ULONG IWSDXMLContext_Release(IWSDXMLContext* This) {
  249. return This->lpVtbl->Release(This);
  250. }
  251. /*** IWSDXMLContext methods ***/
  252. static FORCEINLINE HRESULT IWSDXMLContext_AddNamespace(IWSDXMLContext* This,LPCWSTR pszUri,LPCWSTR pszSuggestedPrefix,WSDXML_NAMESPACE **ppNamespace) {
  253. return This->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace);
  254. }
  255. static FORCEINLINE HRESULT IWSDXMLContext_AddNameToNamespace(IWSDXMLContext* This,LPCWSTR pszUri,LPCWSTR pszName,WSDXML_NAME **ppName) {
  256. return This->lpVtbl->AddNameToNamespace(This,pszUri,pszName,ppName);
  257. }
  258. static FORCEINLINE HRESULT IWSDXMLContext_SetNamespaces(IWSDXMLContext* This,const PCWSDXML_NAMESPACE *pNamespaces,WORD wNamespacesCount,BYTE bLayerNumber) {
  259. return This->lpVtbl->SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber);
  260. }
  261. static FORCEINLINE HRESULT IWSDXMLContext_SetTypes(IWSDXMLContext* This,const PCWSDXML_TYPE *pTypes,DWORD dwTypesCount,BYTE bLayerNumber) {
  262. return This->lpVtbl->SetTypes(This,pTypes,dwTypesCount,bLayerNumber);
  263. }
  264. #endif
  265. #endif
  266. #endif
  267. #endif /* __IWSDXMLContext_INTERFACE_DEFINED__ */
  268. HRESULT WINAPI WSDXMLGetNameFromBuiltinNamespace(LPCWSTR pszNamespace, LPCWSTR pszName, WSDXML_NAME **ppName);
  269. HRESULT WINAPI WSDXMLCreateContext(IWSDXMLContext **ppContext);
  270. #endif
  271. /* Begin additional prototypes for all interfaces */
  272. /* End additional prototypes */
  273. #ifdef __cplusplus
  274. }
  275. #endif
  276. #endif /* __wsdxml_h__ */