Copy w32api from trunk
[reactos.git] / reactos / w32api / include / servprov.h
1 #ifndef _SERVPROV_H
2 #define _SERVPROV_H
3 #define _OLEIDL_H
4 #if __GNUC__ >=3
5 #pragma GCC system_header
6 #endif
7
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11
12 EXTERN_C const IID IID_IServiceProvider;
13 #define INTERFACE IServiceProvider
14 DECLARE_INTERFACE_(IServiceProvider,IUnknown)
15 {
16 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
17 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
18 STDMETHOD_(ULONG,Release)(THIS) PURE;
19 STDMETHOD(QueryService)(THIS_ REFGUID,REFIID,void**) PURE;
20 };
21 #undef INTERFACE
22
23 #ifdef COBJMACROS
24 #define IServiceProvider_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
25 #define IServiceProvider_AddRef(T) (T)->lpVtbl->AddRef(T)
26 #define IServiceProvider_Release(T) (T)->lpVtbl->Release(T)
27 #define IServiceProvider_QueryService(T,a,b,c) (T)->lpVtbl->QueryService(T,a,b,c)
28 #endif
29
30 #ifdef __cplusplus
31 }
32 #endif
33 #endif