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