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