2 * Defines the COM interfaces and APIs related to IServiceProvider
4 * Depends on 'obj_base.h'.
7 #ifndef __WINE_WINE_OBJ_SERVICEPROVIDER_H
8 #define __WINE_WINE_OBJ_SERVICEPROVIDER_H
10 #include "wine/obj_base.h"
15 #endif /* defined(__cplusplus) */
17 /*****************************************************************************
18 * Predeclare the interfaces
20 DEFINE_GUID(IID_IServiceProvider, 0x6d5140c1, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
21 typedef struct IServiceProvider IServiceProvider, *LPSERVICEPROVIDER;
24 /*****************************************************************************
25 * IServiceProvider interface
27 #define ICOM_INTERFACE IServiceProvider
28 #define IServiceProvider_METHODS \
29 ICOM_METHOD3( HRESULT, QueryService, REFGUID, guidService, REFIID, riid, void**, ppv)
30 #define IServiceProvider_IMETHODS \
32 IServiceProvider_METHODS
33 ICOM_DEFINE(IServiceProvider,IUnknown)
36 /*** IUnknown methods ***/
37 #define IServiceProvider_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
38 #define IServiceProvider_AddRef(p) ICOM_CALL (AddRef,p)
39 #define IServiceProvider_Release(p) ICOM_CALL (Release,p)
40 /*** IServiceProvider methods ***/
41 #define IServiceProvider_QueryService(p,a,b,c) ICOM_CALL3(QueryService,p,a,b,c)
45 #endif /* defined(__cplusplus) */
47 #endif /* __WINE_WINE_OBJ_SERVICEPROVIDER_H */