Don't free ALSA device string when the device is closed since it might
[wine.git] / include / servprov.h
blobecb39d55719533052c6edb8bd0665414f615a25c
1 /*** Autogenerated by WIDL 0.1 from servprov.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
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
16 typedef IServiceProvider *LPSERVICEPROVIDER;
18 /*****************************************************************************
19 * IServiceProvider interface
21 #ifndef __IServiceProvider_INTERFACE_DEFINED__
22 #define __IServiceProvider_INTERFACE_DEFINED__
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
28 virtual HRESULT STDMETHODCALLTYPE QueryService(
29 REFGUID guidService,
30 REFIID riid,
31 void** ppvObject) = 0;
34 #else
35 typedef struct IServiceProviderVtbl IServiceProviderVtbl;
36 struct IServiceProvider {
37 const IServiceProviderVtbl* lpVtbl;
39 struct IServiceProviderVtbl {
40 ICOM_MSVTABLE_COMPAT_FIELDS
42 /*** IUnknown methods ***/
43 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
44 IServiceProvider* This,
45 REFIID riid,
46 void** ppvObject);
48 ULONG (STDMETHODCALLTYPE *AddRef)(
49 IServiceProvider* This);
51 ULONG (STDMETHODCALLTYPE *Release)(
52 IServiceProvider* This);
54 /*** IServiceProvider methods ***/
55 HRESULT (STDMETHODCALLTYPE *QueryService)(
56 IServiceProvider* This,
57 REFGUID guidService,
58 REFIID riid,
59 void** ppvObject);
63 /*** IUnknown methods ***/
64 #define IServiceProvider_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
65 #define IServiceProvider_AddRef(p) (p)->lpVtbl->AddRef(p)
66 #define IServiceProvider_Release(p) (p)->lpVtbl->Release(p)
67 /*** IServiceProvider methods ***/
68 #define IServiceProvider_QueryService(p,a,b,c) (p)->lpVtbl->QueryService(p,a,b,c)
70 #endif
72 #define IServiceProvider_METHODS \
73 ICOM_MSVTABLE_COMPAT_FIELDS \
74 /*** IUnknown methods ***/ \
75 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
76 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
77 STDMETHOD_(ULONG,Release)(THIS) PURE; \
78 /*** IServiceProvider methods ***/ \
79 STDMETHOD_(HRESULT,QueryService)(THIS_ REFGUID guidService, REFIID riid, void** ppvObject) PURE;
81 HRESULT CALLBACK IServiceProvider_RemoteQueryService_Proxy(
82 IServiceProvider* This,
83 REFGUID guidService,
84 REFIID riid,
85 IUnknown** ppvObject);
86 void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(
87 struct IRpcStubBuffer* This,
88 struct IRpcChannelBuffer* pRpcChannelBuffer,
89 PRPC_MESSAGE pRpcMessage,
90 DWORD* pdwStubPhase);
91 HRESULT CALLBACK IServiceProvider_QueryService_Proxy(
92 IServiceProvider* This,
93 REFGUID guidService,
94 REFIID riid,
95 void** ppvObject);
96 HRESULT __RPC_STUB IServiceProvider_QueryService_Stub(
97 IServiceProvider* This,
98 REFGUID guidService,
99 REFIID riid,
100 IUnknown** ppvObject);
102 #endif /* __IServiceProvider_INTERFACE_DEFINED__ */
104 #ifdef __cplusplus
106 #endif
107 #endif /* __WIDL_SERVPROV_H */