Added check for st_blocks in struct stat.
[wine/multimedia.git] / include / unknwn.h
blob643d4940819f890f18ff77be87a0dd43705b9fad
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 #ifndef __IUnknown_FWD_DEFINED__
19 #define __IUnknown_FWD_DEFINED__
20 typedef struct IUnknown IUnknown;
21 #endif
23 typedef IUnknown *LPUNKNOWN;
25 /*****************************************************************************
26 * IUnknown interface
28 #ifndef __IUnknown_INTERFACE_DEFINED__
29 #define __IUnknown_INTERFACE_DEFINED__
31 DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
32 #if defined(__cplusplus) && !defined(CINTERFACE)
33 #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
34 struct __attribute__((com_interface)) IUnknown
35 #else
36 struct IUnknown
37 #endif
39 virtual HRESULT STDMETHODCALLTYPE QueryInterface(
40 REFIID riid,
41 void** ppvObject) = 0;
43 virtual ULONG STDMETHODCALLTYPE AddRef(
44 ) = 0;
46 virtual ULONG STDMETHODCALLTYPE Release(
47 ) = 0;
50 #else
51 typedef struct IUnknownVtbl IUnknownVtbl;
52 struct IUnknown {
53 const IUnknownVtbl* lpVtbl;
55 struct IUnknownVtbl {
56 ICOM_MSVTABLE_COMPAT_FIELDS
58 /*** IUnknown methods ***/
59 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
60 IUnknown* This,
61 REFIID riid,
62 void** ppvObject);
64 ULONG (STDMETHODCALLTYPE *AddRef)(
65 IUnknown* This);
67 ULONG (STDMETHODCALLTYPE *Release)(
68 IUnknown* This);
72 /*** IUnknown methods ***/
73 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
74 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
75 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
77 #endif
79 #define IUnknown_METHODS \
80 ICOM_MSVTABLE_COMPAT_FIELDS \
81 /*** IUnknown methods ***/ \
82 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
83 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
84 STDMETHOD_(ULONG,Release)(THIS) PURE;
86 HRESULT CALLBACK IUnknown_QueryInterface_Proxy(
87 IUnknown* This,
88 REFIID riid,
89 void** ppvObject);
90 void __RPC_STUB IUnknown_QueryInterface_Stub(
91 struct IRpcStubBuffer* This,
92 struct IRpcChannelBuffer* pRpcChannelBuffer,
93 PRPC_MESSAGE pRpcMessage,
94 DWORD* pdwStubPhase);
95 ULONG CALLBACK IUnknown_AddRef_Proxy(
96 IUnknown* This);
97 void __RPC_STUB IUnknown_AddRef_Stub(
98 struct IRpcStubBuffer* This,
99 struct IRpcChannelBuffer* pRpcChannelBuffer,
100 PRPC_MESSAGE pRpcMessage,
101 DWORD* pdwStubPhase);
102 ULONG CALLBACK IUnknown_Release_Proxy(
103 IUnknown* This);
104 void __RPC_STUB IUnknown_Release_Stub(
105 struct IRpcStubBuffer* This,
106 struct IRpcChannelBuffer* pRpcChannelBuffer,
107 PRPC_MESSAGE pRpcMessage,
108 DWORD* pdwStubPhase);
110 #endif /* __IUnknown_INTERFACE_DEFINED__ */
112 #ifndef __IClassFactory_FWD_DEFINED__
113 #define __IClassFactory_FWD_DEFINED__
114 typedef struct IClassFactory IClassFactory;
115 #endif
117 typedef IClassFactory *LPCLASSFACTORY;
119 /*****************************************************************************
120 * IClassFactory interface
122 #ifndef __IClassFactory_INTERFACE_DEFINED__
123 #define __IClassFactory_INTERFACE_DEFINED__
125 DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
126 #if defined(__cplusplus) && !defined(CINTERFACE)
127 struct IClassFactory : public IUnknown
129 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
130 IUnknown* pUnkOuter,
131 REFIID riid,
132 void** ppvObject) = 0;
134 virtual HRESULT STDMETHODCALLTYPE LockServer(
135 BOOL fLock) = 0;
138 #else
139 typedef struct IClassFactoryVtbl IClassFactoryVtbl;
140 struct IClassFactory {
141 const IClassFactoryVtbl* lpVtbl;
143 struct IClassFactoryVtbl {
144 ICOM_MSVTABLE_COMPAT_FIELDS
146 /*** IUnknown methods ***/
147 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
148 IClassFactory* This,
149 REFIID riid,
150 void** ppvObject);
152 ULONG (STDMETHODCALLTYPE *AddRef)(
153 IClassFactory* This);
155 ULONG (STDMETHODCALLTYPE *Release)(
156 IClassFactory* This);
158 /*** IClassFactory methods ***/
159 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
160 IClassFactory* This,
161 IUnknown* pUnkOuter,
162 REFIID riid,
163 void** ppvObject);
165 HRESULT (STDMETHODCALLTYPE *LockServer)(
166 IClassFactory* This,
167 BOOL fLock);
171 /*** IUnknown methods ***/
172 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
173 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
174 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
175 /*** IClassFactory methods ***/
176 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
177 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
179 #endif
181 #define IClassFactory_METHODS \
182 ICOM_MSVTABLE_COMPAT_FIELDS \
183 /*** IUnknown methods ***/ \
184 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
185 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
186 STDMETHOD_(ULONG,Release)(THIS) PURE; \
187 /*** IClassFactory methods ***/ \
188 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, void** ppvObject) PURE; \
189 STDMETHOD_(HRESULT,LockServer)(THIS_ BOOL fLock) PURE;
191 HRESULT CALLBACK IClassFactory_RemoteCreateInstance_Proxy(
192 IClassFactory* This,
193 REFIID riid,
194 IUnknown** ppvObject);
195 void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
196 struct IRpcStubBuffer* This,
197 struct IRpcChannelBuffer* pRpcChannelBuffer,
198 PRPC_MESSAGE pRpcMessage,
199 DWORD* pdwStubPhase);
200 HRESULT CALLBACK IClassFactory_CreateInstance_Proxy(
201 IClassFactory* This,
202 IUnknown* pUnkOuter,
203 REFIID riid,
204 void** ppvObject);
205 HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub(
206 IClassFactory* This,
207 REFIID riid,
208 IUnknown** ppvObject);
209 HRESULT CALLBACK IClassFactory_RemoteLockServer_Proxy(
210 IClassFactory* This,
211 BOOL fLock);
212 void __RPC_STUB IClassFactory_RemoteLockServer_Stub(
213 struct IRpcStubBuffer* This,
214 struct IRpcChannelBuffer* pRpcChannelBuffer,
215 PRPC_MESSAGE pRpcMessage,
216 DWORD* pdwStubPhase);
217 HRESULT CALLBACK IClassFactory_LockServer_Proxy(
218 IClassFactory* This,
219 BOOL fLock);
220 HRESULT __RPC_STUB IClassFactory_LockServer_Stub(
221 IClassFactory* This,
222 BOOL fLock);
224 #endif /* __IClassFactory_INTERFACE_DEFINED__ */
226 #ifdef __cplusplus
228 #endif
229 #endif /* __WIDL_UNKNWN_H */