Do not pass unnecessary flags to wrc in generated makefiles.
[wine/multimedia.git] / include / unknwn.h
blobc0589c58b9d90e280ef1760fab8cea6e7a2e3856
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(__cplusplus) && !defined(CINTERFACE)
12 #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
13 #define ICOM_COM_INTERFACE_ATTRIBUTE __attribute__((com_interface))
14 #else
15 #define ICOM_COM_INTERFACE_ATTRIBUTE
16 #endif
17 #else
18 #ifdef ICOM_MSVTABLE_COMPAT
19 #define ICOM_MSVTABLE_COMPAT_FIELDS \
20 long dummyRTTI1; \
21 long dummyRTTI2;
22 #define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,
23 #else
24 #define ICOM_MSVTABLE_COMPAT_FIELDS
25 #define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
26 #endif
27 #endif
28 typedef struct IUnknown IUnknown;
29 typedef IUnknown *LPUNKNOWN;
31 /*****************************************************************************
32 * IUnknown interface
34 DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
35 #if defined(__cplusplus) && !defined(CINTERFACE)
36 struct IUnknown {
38 virtual HRESULT CALLBACK QueryInterface(
39 REFIID riid,
40 void** ppvObject) = 0;
42 virtual ULONG CALLBACK AddRef(
43 ) = 0;
45 virtual ULONG CALLBACK Release(
46 ) = 0;
48 } ICOM_COM_INTERFACE_ATTRIBUTE;
49 #else
50 typedef struct IUnknownVtbl IUnknownVtbl;
51 struct IUnknown {
52 const IUnknownVtbl* lpVtbl;
54 struct IUnknownVtbl {
55 ICOM_MSVTABLE_COMPAT_FIELDS
57 /*** IUnknown methods ***/
58 HRESULT (CALLBACK *QueryInterface)(
59 IUnknown* This,
60 REFIID riid,
61 void** ppvObject);
63 ULONG (CALLBACK *AddRef)(
64 IUnknown* This);
66 ULONG (CALLBACK *Release)(
67 IUnknown* This);
71 #define IUnknown_IMETHODS \
72 ICOM_METHOD2 (HRESULT,QueryInterface,REFIID,riid,void**,ppvObject) \
73 ICOM_METHOD (ULONG,AddRef) \
74 ICOM_METHOD (ULONG,Release)
76 /*** IUnknown methods ***/
77 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
78 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
79 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
81 #endif
83 HRESULT CALLBACK IUnknown_QueryInterface_Proxy(
84 IUnknown* This,
85 REFIID riid,
86 void** ppvObject);
87 void __RPC_STUB IUnknown_QueryInterface_Stub(
88 struct IRpcStubBuffer* This,
89 struct IRpcChannelBuffer* pRpcChannelBuffer,
90 PRPC_MESSAGE pRpcMessage,
91 DWORD* pdwStubPhase);
92 ULONG CALLBACK IUnknown_AddRef_Proxy(
93 IUnknown* This);
94 void __RPC_STUB IUnknown_AddRef_Stub(
95 struct IRpcStubBuffer* This,
96 struct IRpcChannelBuffer* pRpcChannelBuffer,
97 PRPC_MESSAGE pRpcMessage,
98 DWORD* pdwStubPhase);
99 ULONG CALLBACK IUnknown_Release_Proxy(
100 IUnknown* This);
101 void __RPC_STUB IUnknown_Release_Stub(
102 struct IRpcStubBuffer* This,
103 struct IRpcChannelBuffer* pRpcChannelBuffer,
104 PRPC_MESSAGE pRpcMessage,
105 DWORD* pdwStubPhase);
107 typedef struct IClassFactory IClassFactory;
108 typedef IClassFactory *LPCLASSFACTORY;
110 /*****************************************************************************
111 * IClassFactory interface
113 DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
114 #if defined(__cplusplus) && !defined(CINTERFACE)
115 struct IClassFactory: IUnknown {
117 virtual HRESULT CALLBACK CreateInstance(
118 IUnknown* pUnkOuter,
119 REFIID riid,
120 void** ppvObject) = 0;
122 virtual HRESULT CALLBACK LockServer(
123 BOOL fLock) = 0;
125 } ICOM_COM_INTERFACE_ATTRIBUTE;
126 #else
127 typedef struct IClassFactoryVtbl IClassFactoryVtbl;
128 struct IClassFactory {
129 const IClassFactoryVtbl* lpVtbl;
131 struct IClassFactoryVtbl {
132 ICOM_MSVTABLE_COMPAT_FIELDS
134 /*** IUnknown methods ***/
135 HRESULT (CALLBACK *QueryInterface)(
136 IClassFactory* This,
137 REFIID riid,
138 void** ppvObject);
140 ULONG (CALLBACK *AddRef)(
141 IClassFactory* This);
143 ULONG (CALLBACK *Release)(
144 IClassFactory* This);
146 /*** IClassFactory methods ***/
147 HRESULT (CALLBACK *CreateInstance)(
148 IClassFactory* This,
149 IUnknown* pUnkOuter,
150 REFIID riid,
151 void** ppvObject);
153 HRESULT (CALLBACK *LockServer)(
154 IClassFactory* This,
155 BOOL fLock);
159 #define IClassFactory_IMETHODS \
160 IUnknown_IMETHODS \
161 ICOM_METHOD3 (HRESULT,CreateInstance,IUnknown*,pUnkOuter,REFIID,riid,void**,ppvObject) \
162 ICOM_METHOD1 (HRESULT,LockServer,BOOL,fLock)
164 /*** IUnknown methods ***/
165 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
166 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
167 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
168 /*** IClassFactory methods ***/
169 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
170 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
172 #endif
174 HRESULT CALLBACK IClassFactory_RemoteCreateInstance_Proxy(
175 IClassFactory* This,
176 REFIID riid,
177 IUnknown** ppvObject);
178 void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
179 struct IRpcStubBuffer* This,
180 struct IRpcChannelBuffer* pRpcChannelBuffer,
181 PRPC_MESSAGE pRpcMessage,
182 DWORD* pdwStubPhase);
183 HRESULT CALLBACK IClassFactory_CreateInstance_Proxy(
184 IClassFactory* This,
185 IUnknown* pUnkOuter,
186 REFIID riid,
187 void** ppvObject);
188 HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub(
189 IClassFactory* This,
190 REFIID riid,
191 IUnknown** ppvObject);
192 HRESULT CALLBACK IClassFactory_RemoteLockServer_Proxy(
193 IClassFactory* This,
194 BOOL fLock);
195 void __RPC_STUB IClassFactory_RemoteLockServer_Stub(
196 struct IRpcStubBuffer* This,
197 struct IRpcChannelBuffer* pRpcChannelBuffer,
198 PRPC_MESSAGE pRpcMessage,
199 DWORD* pdwStubPhase);
200 HRESULT CALLBACK IClassFactory_LockServer_Proxy(
201 IClassFactory* This,
202 BOOL fLock);
203 HRESULT __RPC_STUB IClassFactory_LockServer_Stub(
204 IClassFactory* This,
205 BOOL fLock);
207 #ifdef __cplusplus
209 #endif
210 #endif /* __WIDL_UNKNWN_H */