Generate BEGIN_INTERFACE,END_INTERFACE macros instead of
[wine] / include / servprov.h
1 /*** Autogenerated by WIDL 0.1 from servprov.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
4
5 #ifndef __WIDL_SERVPROV_H
6 #define __WIDL_SERVPROV_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <objidl.h>
11 #ifndef __IServiceProvider_FWD_DEFINED__
12 #define __IServiceProvider_FWD_DEFINED__
13 typedef struct IServiceProvider IServiceProvider;
14 #endif
15
16 typedef IServiceProvider *LPSERVICEPROVIDER;
17
18 /*****************************************************************************
19  * IServiceProvider interface
20  */
21 #ifndef __IServiceProvider_INTERFACE_DEFINED__
22 #define __IServiceProvider_INTERFACE_DEFINED__
23
24 DEFINE_GUID(IID_IServiceProvider, 0x6d5140c1, 0x7436, 0x11ce, 0x80,0x34, 0x00,0xaa,0x00,0x60,0x09,0xfa);
25 #if defined(__cplusplus) && !defined(CINTERFACE)
26 struct IServiceProvider : public IUnknown
27 {
28     virtual HRESULT STDMETHODCALLTYPE QueryService(
29         REFGUID guidService,
30         REFIID riid,
31         void** ppvObject) = 0;
32
33 };
34 #else
35 typedef struct IServiceProviderVtbl IServiceProviderVtbl;
36 struct IServiceProvider {
37     const IServiceProviderVtbl* lpVtbl;
38 };
39 struct IServiceProviderVtbl {
40     BEGIN_INTERFACE
41
42     /*** IUnknown methods ***/
43     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
44         IServiceProvider* This,
45         REFIID riid,
46         void** ppvObject);
47
48     ULONG (STDMETHODCALLTYPE *AddRef)(
49         IServiceProvider* This);
50
51     ULONG (STDMETHODCALLTYPE *Release)(
52         IServiceProvider* This);
53
54     /*** IServiceProvider methods ***/
55     HRESULT (STDMETHODCALLTYPE *QueryService)(
56         IServiceProvider* This,
57         REFGUID guidService,
58         REFIID riid,
59         void** ppvObject);
60
61     END_INTERFACE
62 };
63
64 #ifdef COBJMACROS
65 /*** IUnknown methods ***/
66 #define IServiceProvider_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
67 #define IServiceProvider_AddRef(p) (p)->lpVtbl->AddRef(p)
68 #define IServiceProvider_Release(p) (p)->lpVtbl->Release(p)
69 /*** IServiceProvider methods ***/
70 #define IServiceProvider_QueryService(p,a,b,c) (p)->lpVtbl->QueryService(p,a,b,c)
71 #endif
72
73 #endif
74
75 #define IServiceProvider_METHODS \
76     ICOM_MSVTABLE_COMPAT_FIELDS \
77     /*** IUnknown methods ***/ \
78     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
79     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
80     STDMETHOD_(ULONG,Release)(THIS) PURE; \
81     /*** IServiceProvider methods ***/ \
82     STDMETHOD_(HRESULT,QueryService)(THIS_ REFGUID guidService, REFIID riid, void** ppvObject) PURE;
83
84 HRESULT CALLBACK IServiceProvider_RemoteQueryService_Proxy(
85     IServiceProvider* This,
86     REFGUID guidService,
87     REFIID riid,
88     IUnknown** ppvObject);
89 void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(
90     struct IRpcStubBuffer* This,
91     struct IRpcChannelBuffer* pRpcChannelBuffer,
92     PRPC_MESSAGE pRpcMessage,
93     DWORD* pdwStubPhase);
94 HRESULT CALLBACK IServiceProvider_QueryService_Proxy(
95     IServiceProvider* This,
96     REFGUID guidService,
97     REFIID riid,
98     void** ppvObject);
99 HRESULT __RPC_STUB IServiceProvider_QueryService_Stub(
100     IServiceProvider* This,
101     REFGUID guidService,
102     REFIID riid,
103     IUnknown** ppvObject);
104
105 #endif  /* __IServiceProvider_INTERFACE_DEFINED__ */
106
107 #ifdef __cplusplus
108 }
109 #endif
110 #endif /* __WIDL_SERVPROV_H */