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__
22typedef interface IWSDXMLContext IWSDXMLContext;
23#endif
24
25/* Headers for imported files */
26
27#include <oaidl.h>
28#include <ocidl.h>
29
30#ifdef __cplusplus
31extern "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__
40typedef interface IWSDXMLContext IWSDXMLContext;
41#endif
42
43enum {
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
93typedef struct _WSDXML_NAMESPACE WSDXML_NAMESPACE;
94typedef const WSDXML_NAMESPACE *PCWSDXML_NAMESPACE;
95typedef struct _WSDXML_NAME WSDXML_NAME;
96typedef struct _WSDXML_TYPE WSDXML_TYPE;
97typedef const WSDXML_TYPE *PCWSDXML_TYPE;
98typedef struct _WSDXML_PREFIX_MAPPING WSDXML_PREFIX_MAPPING;
99typedef struct _WSDXML_ATTRIBUTE WSDXML_ATTRIBUTE;
100typedef struct _WSDXML_NODE WSDXML_NODE;
101typedef struct _WSDXML_ELEMENT WSDXML_ELEMENT;
102typedef struct _WSDXML_TEXT WSDXML_TEXT;
103typedef struct _WSDXML_ELEMENT_LIST WSDXML_ELEMENT_LIST;
104typedef 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;
118typedef 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
176DEFINE_GUID(IID_IWSDXMLContext, 0x75d8f3ee, 0x3e5a, 0x43b4, 0xa1,0x5a, 0xbc,0xf6,0x88,0x74,0x60,0xc0);
177#if defined(__cplusplus) && !defined(CINTERFACE)
178MIDL_INTERFACE("75d8f3ee-3e5a-43b4-a15a-bcf6887460c0")
179IWSDXMLContext : 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
206typedef 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;
248interface 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 ***/
265static FORCEINLINE HRESULT IWSDXMLContext_QueryInterface(IWSDXMLContext* This,REFIID riid,void **ppvObject) {
266    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
267}
268static FORCEINLINE ULONG IWSDXMLContext_AddRef(IWSDXMLContext* This) {
269    return This->lpVtbl->AddRef(This);
270}
271static FORCEINLINE ULONG IWSDXMLContext_Release(IWSDXMLContext* This) {
272    return This->lpVtbl->Release(This);
273}
274/*** IWSDXMLContext methods ***/
275static FORCEINLINE HRESULT IWSDXMLContext_AddNamespace(IWSDXMLContext* This,LPCWSTR pszUri,LPCWSTR pszSuggestedPrefix,WSDXML_NAMESPACE **ppNamespace) {
276    return This->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace);
277}
278static FORCEINLINE HRESULT IWSDXMLContext_AddNameToNamespace(IWSDXMLContext* This,LPCWSTR pszUri,LPCWSTR pszName,WSDXML_NAME **ppName) {
279    return This->lpVtbl->AddNameToNamespace(This,pszUri,pszName,ppName);
280}
281static FORCEINLINE HRESULT IWSDXMLContext_SetNamespaces(IWSDXMLContext* This,const PCWSDXML_NAMESPACE *pNamespaces,WORD wNamespacesCount,BYTE bLayerNumber) {
282    return This->lpVtbl->SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber);
283}
284static 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
292HRESULT STDMETHODCALLTYPE IWSDXMLContext_AddNamespace_Proxy(
293    IWSDXMLContext* This,
294    LPCWSTR pszUri,
295    LPCWSTR pszSuggestedPrefix,
296    WSDXML_NAMESPACE **ppNamespace);
297void __RPC_STUB IWSDXMLContext_AddNamespace_Stub(
298    IRpcStubBuffer* This,
299    IRpcChannelBuffer* pRpcChannelBuffer,
300    PRPC_MESSAGE pRpcMessage,
301    DWORD* pdwStubPhase);
302HRESULT STDMETHODCALLTYPE IWSDXMLContext_AddNameToNamespace_Proxy(
303    IWSDXMLContext* This,
304    LPCWSTR pszUri,
305    LPCWSTR pszName,
306    WSDXML_NAME **ppName);
307void __RPC_STUB IWSDXMLContext_AddNameToNamespace_Stub(
308    IRpcStubBuffer* This,
309    IRpcChannelBuffer* pRpcChannelBuffer,
310    PRPC_MESSAGE pRpcMessage,
311    DWORD* pdwStubPhase);
312HRESULT STDMETHODCALLTYPE IWSDXMLContext_SetNamespaces_Proxy(
313    IWSDXMLContext* This,
314    const PCWSDXML_NAMESPACE *pNamespaces,
315    WORD wNamespacesCount,
316    BYTE bLayerNumber);
317void __RPC_STUB IWSDXMLContext_SetNamespaces_Stub(
318    IRpcStubBuffer* This,
319    IRpcChannelBuffer* pRpcChannelBuffer,
320    PRPC_MESSAGE pRpcMessage,
321    DWORD* pdwStubPhase);
322HRESULT STDMETHODCALLTYPE IWSDXMLContext_SetTypes_Proxy(
323    IWSDXMLContext* This,
324    const PCWSDXML_TYPE *pTypes,
325    DWORD dwTypesCount,
326    BYTE bLayerNumber);
327void __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
335HRESULT WINAPI WSDXMLGetNameFromBuiltinNamespace(LPCWSTR pszNamespace, LPCWSTR pszName, WSDXML_NAME **ppName);
336HRESULT 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