1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_WSDXML
7#define _INC_WSDXML
8
9#ifndef _INC_WSDAPI
10#error Please include wsdapi.h instead of this header. This header cannot be used directly.
11#endif
12
13#if (_WIN32_WINNT >= 0x0600)
14
15#undef  INTERFACE
16#define INTERFACE IWSDXMLContext
17#ifdef __GNUC__
18#warning COM interfaces layout in this header has not been verified.
19#warning COM interfaces with incorrect layout may not work at all.
20__MINGW_BROKEN_INTERFACE(INTERFACE)
21#endif
22DECLARE_INTERFACE_(IWSDXMLContext,IUnknown)
23{
24    BEGIN_INTERFACE
25
26    /* IUnknown methods */
27    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
28    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
29    STDMETHOD_(ULONG, Release)(THIS) PURE;
30
31    /* IWSDXMLContext methods */
32    STDMETHOD_(HRESULT,SetNamespaces)(THIS_ const PCWSDXML_NAMESPACE *pNamespaces,WORD wNamespacesCount,BYTE bLayerNumber) PURE;
33    STDMETHOD_(HRESULT,SetTypes)(THIS_ const PCWSDXML_TYPE *pTypes,DWORD dwTypesCount,BYTE bLayerNumber) PURE;
34    STDMETHOD_(HRESULT,AddNamespace)(THIS_ const LPCWSTR *pszUri,const LPCWSTR *pszSuggestedPrefix,WSDXML_NAMESPACE **ppNamespace) PURE;
35
36    END_INTERFACE
37};
38#ifdef COBJMACROS
39#define IWSDXMLContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
40#define IWSDXMLContext_AddRef(This) (This)->lpVtbl->AddRef(This)
41#define IWSDXMLContext_Release(This) (This)->lpVtbl->Release(This)
42#define IWSDXMLContext_SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber) (This)->lpVtbl->SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber)
43#define IWSDXMLContext_SetTypes(This,pTypes,dwTypesCount,bLayerNumber) (This)->lpVtbl->SetTypes(This,pTypes,dwTypesCount,bLayerNumber)
44#define IWSDXMLContext_AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace) (This)->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace)
45#endif /*COBJMACROS*/
46
47/* In WsdXml.idl
48HRESULT WINAPI WSDXMLCreateContext(
49  __out  IWSDXMLContext **ppContext
50);
51
52HRESULT WINAPI WSDXMLGetNameFromBuiltinNamespace(
53    LPCWSTR pszNamespace,
54    LPCWSTR pszName,
55    WSDXML_NAME **ppName
56);
57
58*/
59
60#endif /*(_WIN32_WINNT >= 0x0600)*/
61#endif /*_INC_WSDXML*/
62