- better support for non-blocking COMM and socket read/writes:
[wine] / include / unknwn.h
1 /*** Autogenerated by WIDL 0.1 from unknwn.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
4
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
22
23 typedef IUnknown *LPUNKNOWN;
24
25 /*****************************************************************************
26  * IUnknown interface
27  */
28 #ifndef __IUnknown_INTERFACE_DEFINED__
29 #define __IUnknown_INTERFACE_DEFINED__
30
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
38 {
39     virtual HRESULT STDMETHODCALLTYPE QueryInterface(
40         REFIID riid,
41         void** ppvObject) = 0;
42
43     virtual ULONG STDMETHODCALLTYPE AddRef(
44         ) = 0;
45
46     virtual ULONG STDMETHODCALLTYPE Release(
47         ) = 0;
48
49 };
50 #else
51 typedef struct IUnknownVtbl IUnknownVtbl;
52 struct IUnknown {
53     const IUnknownVtbl* lpVtbl;
54 };
55 struct IUnknownVtbl {
56     ICOM_MSVTABLE_COMPAT_FIELDS
57
58     /*** IUnknown methods ***/
59     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
60         IUnknown* This,
61         REFIID riid,
62         void** ppvObject);
63
64     ULONG (STDMETHODCALLTYPE *AddRef)(
65         IUnknown* This);
66
67     ULONG (STDMETHODCALLTYPE *Release)(
68         IUnknown* This);
69
70 };
71
72 #ifdef COBJMACROS
73 /*** IUnknown methods ***/
74 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
75 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
76 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
77 #endif
78
79 #endif
80
81 #define IUnknown_METHODS \
82     ICOM_MSVTABLE_COMPAT_FIELDS \
83     /*** IUnknown methods ***/ \
84     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
85     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
86     STDMETHOD_(ULONG,Release)(THIS) PURE;
87
88 HRESULT CALLBACK IUnknown_QueryInterface_Proxy(
89     IUnknown* This,
90     REFIID riid,
91     void** ppvObject);
92 void __RPC_STUB IUnknown_QueryInterface_Stub(
93     struct IRpcStubBuffer* This,
94     struct IRpcChannelBuffer* pRpcChannelBuffer,
95     PRPC_MESSAGE pRpcMessage,
96     DWORD* pdwStubPhase);
97 ULONG CALLBACK IUnknown_AddRef_Proxy(
98     IUnknown* This);
99 void __RPC_STUB IUnknown_AddRef_Stub(
100     struct IRpcStubBuffer* This,
101     struct IRpcChannelBuffer* pRpcChannelBuffer,
102     PRPC_MESSAGE pRpcMessage,
103     DWORD* pdwStubPhase);
104 ULONG CALLBACK IUnknown_Release_Proxy(
105     IUnknown* This);
106 void __RPC_STUB IUnknown_Release_Stub(
107     struct IRpcStubBuffer* This,
108     struct IRpcChannelBuffer* pRpcChannelBuffer,
109     PRPC_MESSAGE pRpcMessage,
110     DWORD* pdwStubPhase);
111
112 #endif  /* __IUnknown_INTERFACE_DEFINED__ */
113
114 #ifndef __IClassFactory_FWD_DEFINED__
115 #define __IClassFactory_FWD_DEFINED__
116 typedef struct IClassFactory IClassFactory;
117 #endif
118
119 typedef IClassFactory *LPCLASSFACTORY;
120
121 /*****************************************************************************
122  * IClassFactory interface
123  */
124 #ifndef __IClassFactory_INTERFACE_DEFINED__
125 #define __IClassFactory_INTERFACE_DEFINED__
126
127 DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
128 #if defined(__cplusplus) && !defined(CINTERFACE)
129 struct IClassFactory : public IUnknown
130 {
131     virtual HRESULT STDMETHODCALLTYPE CreateInstance(
132         IUnknown* pUnkOuter,
133         REFIID riid,
134         void** ppvObject) = 0;
135
136     virtual HRESULT STDMETHODCALLTYPE LockServer(
137         BOOL fLock) = 0;
138
139 };
140 #else
141 typedef struct IClassFactoryVtbl IClassFactoryVtbl;
142 struct IClassFactory {
143     const IClassFactoryVtbl* lpVtbl;
144 };
145 struct IClassFactoryVtbl {
146     ICOM_MSVTABLE_COMPAT_FIELDS
147
148     /*** IUnknown methods ***/
149     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
150         IClassFactory* This,
151         REFIID riid,
152         void** ppvObject);
153
154     ULONG (STDMETHODCALLTYPE *AddRef)(
155         IClassFactory* This);
156
157     ULONG (STDMETHODCALLTYPE *Release)(
158         IClassFactory* This);
159
160     /*** IClassFactory methods ***/
161     HRESULT (STDMETHODCALLTYPE *CreateInstance)(
162         IClassFactory* This,
163         IUnknown* pUnkOuter,
164         REFIID riid,
165         void** ppvObject);
166
167     HRESULT (STDMETHODCALLTYPE *LockServer)(
168         IClassFactory* This,
169         BOOL fLock);
170
171 };
172
173 #ifdef COBJMACROS
174 /*** IUnknown methods ***/
175 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
176 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
177 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
178 /*** IClassFactory methods ***/
179 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
180 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
181 #endif
182
183 #endif
184
185 #define IClassFactory_METHODS \
186     ICOM_MSVTABLE_COMPAT_FIELDS \
187     /*** IUnknown methods ***/ \
188     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
189     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
190     STDMETHOD_(ULONG,Release)(THIS) PURE; \
191     /*** IClassFactory methods ***/ \
192     STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, void** ppvObject) PURE; \
193     STDMETHOD_(HRESULT,LockServer)(THIS_ BOOL fLock) PURE;
194
195 HRESULT CALLBACK IClassFactory_RemoteCreateInstance_Proxy(
196     IClassFactory* This,
197     REFIID riid,
198     IUnknown** ppvObject);
199 void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
200     struct IRpcStubBuffer* This,
201     struct IRpcChannelBuffer* pRpcChannelBuffer,
202     PRPC_MESSAGE pRpcMessage,
203     DWORD* pdwStubPhase);
204 HRESULT CALLBACK IClassFactory_CreateInstance_Proxy(
205     IClassFactory* This,
206     IUnknown* pUnkOuter,
207     REFIID riid,
208     void** ppvObject);
209 HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub(
210     IClassFactory* This,
211     REFIID riid,
212     IUnknown** ppvObject);
213 HRESULT CALLBACK IClassFactory_RemoteLockServer_Proxy(
214     IClassFactory* This,
215     BOOL fLock);
216 void __RPC_STUB IClassFactory_RemoteLockServer_Stub(
217     struct IRpcStubBuffer* This,
218     struct IRpcChannelBuffer* pRpcChannelBuffer,
219     PRPC_MESSAGE pRpcMessage,
220     DWORD* pdwStubPhase);
221 HRESULT CALLBACK IClassFactory_LockServer_Proxy(
222     IClassFactory* This,
223     BOOL fLock);
224 HRESULT __RPC_STUB IClassFactory_LockServer_Stub(
225     IClassFactory* This,
226     BOOL fLock);
227
228 #endif  /* __IClassFactory_INTERFACE_DEFINED__ */
229
230 #ifdef __cplusplus
231 }
232 #endif
233 #endif /* __WIDL_UNKNWN_H */