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