Remove some obsolete and/or redundant info.
[wine/multimedia.git] / include / unknwn.h
blob1760f85a3657dbb7dc6f27378fd249a7741b3cf1
1 /*** Autogenerated by WIDL 0.1 from unknwn.idl - Do not edit ***/
2 #include "rpc.h"
3 #include "rpcndr.h"
5 #ifndef __WIDL_UNKNWN_H
6 #define __WIDL_UNKNWN_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include "wtypes.h"
11 #if defined(ICOM_MSVTABLE_COMPAT) && (!defined(__cplusplus) || defined(CINTERFACE))
12 # define ICOM_MSVTABLE_COMPAT_FIELDS long dummyRTTI1,dummyRTTI2;
13 # define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,
14 #else
15 # define ICOM_MSVTABLE_COMPAT_FIELDS
16 # define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
17 #endif
18 typedef struct IUnknown IUnknown;
19 typedef IUnknown *LPUNKNOWN;
21 /*****************************************************************************
22 * IUnknown interface
24 DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
25 #if defined(__cplusplus) && !defined(CINTERFACE)
26 #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
27 struct __attribute__((com_interface)) IUnknown
28 #else
29 struct IUnknown
30 #endif
32 virtual HRESULT STDMETHODCALLTYPE QueryInterface(
33 REFIID riid,
34 void** ppvObject) = 0;
36 virtual ULONG STDMETHODCALLTYPE AddRef(
37 ) = 0;
39 virtual ULONG STDMETHODCALLTYPE Release(
40 ) = 0;
43 #else
44 typedef struct IUnknownVtbl IUnknownVtbl;
45 struct IUnknown {
46 const IUnknownVtbl* lpVtbl;
48 struct IUnknownVtbl {
49 ICOM_MSVTABLE_COMPAT_FIELDS
51 /*** IUnknown methods ***/
52 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
53 IUnknown* This,
54 REFIID riid,
55 void** ppvObject);
57 ULONG (STDMETHODCALLTYPE *AddRef)(
58 IUnknown* This);
60 ULONG (STDMETHODCALLTYPE *Release)(
61 IUnknown* This);
65 /*** IUnknown methods ***/
66 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
67 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
68 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
70 #endif
72 #define IUnknown_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;
79 HRESULT CALLBACK IUnknown_QueryInterface_Proxy(
80 IUnknown* This,
81 REFIID riid,
82 void** ppvObject);
83 void __RPC_STUB IUnknown_QueryInterface_Stub(
84 struct IRpcStubBuffer* This,
85 struct IRpcChannelBuffer* pRpcChannelBuffer,
86 PRPC_MESSAGE pRpcMessage,
87 DWORD* pdwStubPhase);
88 ULONG CALLBACK IUnknown_AddRef_Proxy(
89 IUnknown* This);
90 void __RPC_STUB IUnknown_AddRef_Stub(
91 struct IRpcStubBuffer* This,
92 struct IRpcChannelBuffer* pRpcChannelBuffer,
93 PRPC_MESSAGE pRpcMessage,
94 DWORD* pdwStubPhase);
95 ULONG CALLBACK IUnknown_Release_Proxy(
96 IUnknown* This);
97 void __RPC_STUB IUnknown_Release_Stub(
98 struct IRpcStubBuffer* This,
99 struct IRpcChannelBuffer* pRpcChannelBuffer,
100 PRPC_MESSAGE pRpcMessage,
101 DWORD* pdwStubPhase);
103 typedef struct IClassFactory IClassFactory;
104 typedef IClassFactory *LPCLASSFACTORY;
106 /*****************************************************************************
107 * IClassFactory interface
109 DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
110 #if defined(__cplusplus) && !defined(CINTERFACE)
111 struct IClassFactory : public IUnknown
113 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
114 IUnknown* pUnkOuter,
115 REFIID riid,
116 void** ppvObject) = 0;
118 virtual HRESULT STDMETHODCALLTYPE LockServer(
119 BOOL fLock) = 0;
122 #else
123 typedef struct IClassFactoryVtbl IClassFactoryVtbl;
124 struct IClassFactory {
125 const IClassFactoryVtbl* lpVtbl;
127 struct IClassFactoryVtbl {
128 ICOM_MSVTABLE_COMPAT_FIELDS
130 /*** IUnknown methods ***/
131 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
132 IClassFactory* This,
133 REFIID riid,
134 void** ppvObject);
136 ULONG (STDMETHODCALLTYPE *AddRef)(
137 IClassFactory* This);
139 ULONG (STDMETHODCALLTYPE *Release)(
140 IClassFactory* This);
142 /*** IClassFactory methods ***/
143 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
144 IClassFactory* This,
145 IUnknown* pUnkOuter,
146 REFIID riid,
147 void** ppvObject);
149 HRESULT (STDMETHODCALLTYPE *LockServer)(
150 IClassFactory* This,
151 BOOL fLock);
155 /*** IUnknown methods ***/
156 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
157 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
158 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
159 /*** IClassFactory methods ***/
160 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
161 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
163 #endif
165 #define IClassFactory_METHODS \
166 ICOM_MSVTABLE_COMPAT_FIELDS \
167 /*** IUnknown methods ***/ \
168 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
169 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
170 STDMETHOD_(ULONG,Release)(THIS) PURE; \
171 /*** IClassFactory methods ***/ \
172 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, void** ppvObject) PURE; \
173 STDMETHOD_(HRESULT,LockServer)(THIS_ BOOL fLock) PURE;
175 HRESULT CALLBACK IClassFactory_RemoteCreateInstance_Proxy(
176 IClassFactory* This,
177 REFIID riid,
178 IUnknown** ppvObject);
179 void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
180 struct IRpcStubBuffer* This,
181 struct IRpcChannelBuffer* pRpcChannelBuffer,
182 PRPC_MESSAGE pRpcMessage,
183 DWORD* pdwStubPhase);
184 HRESULT CALLBACK IClassFactory_CreateInstance_Proxy(
185 IClassFactory* This,
186 IUnknown* pUnkOuter,
187 REFIID riid,
188 void** ppvObject);
189 HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub(
190 IClassFactory* This,
191 REFIID riid,
192 IUnknown** ppvObject);
193 HRESULT CALLBACK IClassFactory_RemoteLockServer_Proxy(
194 IClassFactory* This,
195 BOOL fLock);
196 void __RPC_STUB IClassFactory_RemoteLockServer_Stub(
197 struct IRpcStubBuffer* This,
198 struct IRpcChannelBuffer* pRpcChannelBuffer,
199 PRPC_MESSAGE pRpcMessage,
200 DWORD* pdwStubPhase);
201 HRESULT CALLBACK IClassFactory_LockServer_Proxy(
202 IClassFactory* This,
203 BOOL fLock);
204 HRESULT __RPC_STUB IClassFactory_LockServer_Stub(
205 IClassFactory* This,
206 BOOL fLock);
208 #ifdef __cplusplus
210 #endif
211 #endif /* __WIDL_UNKNWN_H */