1 /*** Autogenerated by WIDL 0.1 from ddstream.idl - Do not edit ***/
5 #ifndef __WIDL_DDSTREAM_H
6 #define __WIDL_DDSTREAM_H
12 #ifndef __WINE_DDRAW_H
13 typedef void *LPDDSURFACEDESC;
15 typedef struct tDDSURFACEDESC DDSURFACEDESC;
17 #ifndef __IDirectDraw_FWD_DEFINED__
18 #define __IDirectDraw_FWD_DEFINED__
19 typedef struct IDirectDraw IDirectDraw;
22 #ifndef __IDirectDrawSurface_FWD_DEFINED__
23 #define __IDirectDrawSurface_FWD_DEFINED__
24 typedef struct IDirectDrawSurface IDirectDrawSurface;
27 #ifndef __IDirectDrawPalette_FWD_DEFINED__
28 #define __IDirectDrawPalette_FWD_DEFINED__
29 typedef struct IDirectDrawPalette IDirectDrawPalette;
35 DDSFF_PROGRESSIVERENDER = 0x1
38 #ifndef __IDirectDrawMediaStream_FWD_DEFINED__
39 #define __IDirectDrawMediaStream_FWD_DEFINED__
40 typedef struct IDirectDrawMediaStream IDirectDrawMediaStream;
43 #ifndef __IDirectDrawStreamSample_FWD_DEFINED__
44 #define __IDirectDrawStreamSample_FWD_DEFINED__
45 typedef struct IDirectDrawStreamSample IDirectDrawStreamSample;
48 /*****************************************************************************
49 * IDirectDrawMediaStream interface
51 #ifndef __IDirectDrawMediaStream_INTERFACE_DEFINED__
52 #define __IDirectDrawMediaStream_INTERFACE_DEFINED__
54 DEFINE_GUID(IID_IDirectDrawMediaStream, 0xf4104fce, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
55 #if defined(__cplusplus) && !defined(CINTERFACE)
56 struct IDirectDrawMediaStream : public IMediaStream
58 virtual HRESULT STDMETHODCALLTYPE GetFormat(
59 DDSURFACEDESC* pDDSDCurrent,
60 IDirectDrawPalette** ppDirectDrawPalette,
61 DDSURFACEDESC* pDDSDDesired,
64 virtual HRESULT STDMETHODCALLTYPE SetFormat(
65 const DDSURFACEDESC* pDDSurfaceDesc,
66 IDirectDrawPalette* pDirectDrawPalette) = 0;
68 virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
69 IDirectDraw** ppDirectDraw) = 0;
71 virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
72 IDirectDraw* pDirectDraw) = 0;
74 virtual HRESULT STDMETHODCALLTYPE CreateSample(
75 IDirectDrawSurface* pSurface,
78 IDirectDrawStreamSample** ppSample) = 0;
80 virtual HRESULT STDMETHODCALLTYPE GetTimePerFrame(
81 STREAM_TIME* pFrameTime) = 0;
85 typedef struct IDirectDrawMediaStreamVtbl IDirectDrawMediaStreamVtbl;
86 struct IDirectDrawMediaStream {
87 const IDirectDrawMediaStreamVtbl* lpVtbl;
89 struct IDirectDrawMediaStreamVtbl {
92 /*** IUnknown methods ***/
93 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
94 IDirectDrawMediaStream* This,
98 ULONG (STDMETHODCALLTYPE *AddRef)(
99 IDirectDrawMediaStream* This);
101 ULONG (STDMETHODCALLTYPE *Release)(
102 IDirectDrawMediaStream* This);
104 /*** IMediaStream methods ***/
105 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
106 IDirectDrawMediaStream* This,
107 IMultiMediaStream** ppMultiMediaStream);
109 HRESULT (STDMETHODCALLTYPE *GetInformation)(
110 IDirectDrawMediaStream* This,
114 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
115 IDirectDrawMediaStream* This,
116 IMediaStream* pStreamThatHasDesiredFormat,
119 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
120 IDirectDrawMediaStream* This,
122 IStreamSample** ppSample);
124 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
125 IDirectDrawMediaStream* This,
126 IStreamSample* pExistingSample,
128 IStreamSample** ppNewSample);
130 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
131 IDirectDrawMediaStream* This,
134 /*** IDirectDrawMediaStream methods ***/
135 HRESULT (STDMETHODCALLTYPE *GetFormat)(
136 IDirectDrawMediaStream* This,
137 DDSURFACEDESC* pDDSDCurrent,
138 IDirectDrawPalette** ppDirectDrawPalette,
139 DDSURFACEDESC* pDDSDDesired,
142 HRESULT (STDMETHODCALLTYPE *SetFormat)(
143 IDirectDrawMediaStream* This,
144 const DDSURFACEDESC* pDDSurfaceDesc,
145 IDirectDrawPalette* pDirectDrawPalette);
147 HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
148 IDirectDrawMediaStream* This,
149 IDirectDraw** ppDirectDraw);
151 HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
152 IDirectDrawMediaStream* This,
153 IDirectDraw* pDirectDraw);
155 HRESULT (STDMETHODCALLTYPE *CreateSample)(
156 IDirectDrawMediaStream* This,
157 IDirectDrawSurface* pSurface,
160 IDirectDrawStreamSample** ppSample);
162 HRESULT (STDMETHODCALLTYPE *GetTimePerFrame)(
163 IDirectDrawMediaStream* This,
164 STREAM_TIME* pFrameTime);
170 /*** IUnknown methods ***/
171 #define IDirectDrawMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
172 #define IDirectDrawMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p)
173 #define IDirectDrawMediaStream_Release(p) (p)->lpVtbl->Release(p)
174 /*** IMediaStream methods ***/
175 #define IDirectDrawMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a)
176 #define IDirectDrawMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
177 #define IDirectDrawMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b)
178 #define IDirectDrawMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b)
179 #define IDirectDrawMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c)
180 #define IDirectDrawMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a)
181 /*** IDirectDrawMediaStream methods ***/
182 #define IDirectDrawMediaStream_GetFormat(p,a,b,c,d) (p)->lpVtbl->GetFormat(p,a,b,c,d)
183 #define IDirectDrawMediaStream_SetFormat(p,a,b) (p)->lpVtbl->SetFormat(p,a,b)
184 #define IDirectDrawMediaStream_GetDirectDraw(p,a) (p)->lpVtbl->GetDirectDraw(p,a)
185 #define IDirectDrawMediaStream_SetDirectDraw(p,a) (p)->lpVtbl->SetDirectDraw(p,a)
186 #define IDirectDrawMediaStream_CreateSample(p,a,b,c,d) (p)->lpVtbl->CreateSample(p,a,b,c,d)
187 #define IDirectDrawMediaStream_GetTimePerFrame(p,a) (p)->lpVtbl->GetTimePerFrame(p,a)
192 #define IDirectDrawMediaStream_METHODS \
193 ICOM_MSVTABLE_COMPAT_FIELDS \
194 /*** IUnknown methods ***/ \
195 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
196 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
197 STDMETHOD_(ULONG,Release)(THIS) PURE; \
198 /*** IMediaStream methods ***/ \
199 STDMETHOD_(HRESULT,GetMultiMediaStream)(THIS_ IMultiMediaStream** ppMultiMediaStream) PURE; \
200 STDMETHOD_(HRESULT,GetInformation)(THIS_ MSPID* pPurposeId, STREAM_TYPE* pType) PURE; \
201 STDMETHOD_(HRESULT,SetSameFormat)(THIS_ IMediaStream* pStreamThatHasDesiredFormat, DWORD dwFlags) PURE; \
202 STDMETHOD_(HRESULT,AllocateSample)(THIS_ DWORD dwFlags, IStreamSample** ppSample) PURE; \
203 STDMETHOD_(HRESULT,CreateSharedSample)(THIS_ IStreamSample* pExistingSample, DWORD dwFlags, IStreamSample** ppNewSample) PURE; \
204 STDMETHOD_(HRESULT,SendEndOfStream)(THIS_ DWORD dwFlags) PURE; \
205 /*** IDirectDrawMediaStream methods ***/ \
206 STDMETHOD_(HRESULT,GetFormat)(THIS_ DDSURFACEDESC* pDDSDCurrent, IDirectDrawPalette** ppDirectDrawPalette, DDSURFACEDESC* pDDSDDesired, DWORD* pdwFlags) PURE; \
207 STDMETHOD_(HRESULT,SetFormat)(THIS_ const DDSURFACEDESC* pDDSurfaceDesc, IDirectDrawPalette* pDirectDrawPalette) PURE; \
208 STDMETHOD_(HRESULT,GetDirectDraw)(THIS_ IDirectDraw** ppDirectDraw) PURE; \
209 STDMETHOD_(HRESULT,SetDirectDraw)(THIS_ IDirectDraw* pDirectDraw) PURE; \
210 STDMETHOD_(HRESULT,CreateSample)(THIS_ IDirectDrawSurface* pSurface, const RECT* pRect, DWORD dwFlags, IDirectDrawStreamSample** ppSample) PURE; \
211 STDMETHOD_(HRESULT,GetTimePerFrame)(THIS_ STREAM_TIME* pFrameTime) PURE;
213 HRESULT CALLBACK IDirectDrawMediaStream_GetFormat_Proxy(
214 IDirectDrawMediaStream* This,
215 DDSURFACEDESC* pDDSDCurrent,
216 IDirectDrawPalette** ppDirectDrawPalette,
217 DDSURFACEDESC* pDDSDDesired,
219 void __RPC_STUB IDirectDrawMediaStream_GetFormat_Stub(
220 struct IRpcStubBuffer* This,
221 struct IRpcChannelBuffer* pRpcChannelBuffer,
222 PRPC_MESSAGE pRpcMessage,
223 DWORD* pdwStubPhase);
224 HRESULT CALLBACK IDirectDrawMediaStream_SetFormat_Proxy(
225 IDirectDrawMediaStream* This,
226 const DDSURFACEDESC* pDDSurfaceDesc,
227 IDirectDrawPalette* pDirectDrawPalette);
228 void __RPC_STUB IDirectDrawMediaStream_SetFormat_Stub(
229 struct IRpcStubBuffer* This,
230 struct IRpcChannelBuffer* pRpcChannelBuffer,
231 PRPC_MESSAGE pRpcMessage,
232 DWORD* pdwStubPhase);
233 HRESULT CALLBACK IDirectDrawMediaStream_GetDirectDraw_Proxy(
234 IDirectDrawMediaStream* This,
235 IDirectDraw** ppDirectDraw);
236 void __RPC_STUB IDirectDrawMediaStream_GetDirectDraw_Stub(
237 struct IRpcStubBuffer* This,
238 struct IRpcChannelBuffer* pRpcChannelBuffer,
239 PRPC_MESSAGE pRpcMessage,
240 DWORD* pdwStubPhase);
241 HRESULT CALLBACK IDirectDrawMediaStream_SetDirectDraw_Proxy(
242 IDirectDrawMediaStream* This,
243 IDirectDraw* pDirectDraw);
244 void __RPC_STUB IDirectDrawMediaStream_SetDirectDraw_Stub(
245 struct IRpcStubBuffer* This,
246 struct IRpcChannelBuffer* pRpcChannelBuffer,
247 PRPC_MESSAGE pRpcMessage,
248 DWORD* pdwStubPhase);
249 HRESULT CALLBACK IDirectDrawMediaStream_CreateSample_Proxy(
250 IDirectDrawMediaStream* This,
251 IDirectDrawSurface* pSurface,
254 IDirectDrawStreamSample** ppSample);
255 void __RPC_STUB IDirectDrawMediaStream_CreateSample_Stub(
256 struct IRpcStubBuffer* This,
257 struct IRpcChannelBuffer* pRpcChannelBuffer,
258 PRPC_MESSAGE pRpcMessage,
259 DWORD* pdwStubPhase);
260 HRESULT CALLBACK IDirectDrawMediaStream_GetTimePerFrame_Proxy(
261 IDirectDrawMediaStream* This,
262 STREAM_TIME* pFrameTime);
263 void __RPC_STUB IDirectDrawMediaStream_GetTimePerFrame_Stub(
264 struct IRpcStubBuffer* This,
265 struct IRpcChannelBuffer* pRpcChannelBuffer,
266 PRPC_MESSAGE pRpcMessage,
267 DWORD* pdwStubPhase);
269 #endif /* __IDirectDrawMediaStream_INTERFACE_DEFINED__ */
271 /*****************************************************************************
272 * IDirectDrawStreamSample interface
274 #ifndef __IDirectDrawStreamSample_INTERFACE_DEFINED__
275 #define __IDirectDrawStreamSample_INTERFACE_DEFINED__
277 DEFINE_GUID(IID_IDirectDrawStreamSample, 0xf4104fcf, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
278 #if defined(__cplusplus) && !defined(CINTERFACE)
279 struct IDirectDrawStreamSample : public IStreamSample
281 virtual HRESULT STDMETHODCALLTYPE GetSurface(
282 IDirectDrawSurface** ppDirectDrawSurface,
285 virtual HRESULT STDMETHODCALLTYPE SetRect(
286 const RECT* pRect) = 0;
290 typedef struct IDirectDrawStreamSampleVtbl IDirectDrawStreamSampleVtbl;
291 struct IDirectDrawStreamSample {
292 const IDirectDrawStreamSampleVtbl* lpVtbl;
294 struct IDirectDrawStreamSampleVtbl {
297 /*** IUnknown methods ***/
298 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
299 IDirectDrawStreamSample* This,
303 ULONG (STDMETHODCALLTYPE *AddRef)(
304 IDirectDrawStreamSample* This);
306 ULONG (STDMETHODCALLTYPE *Release)(
307 IDirectDrawStreamSample* This);
309 /*** IStreamSample methods ***/
310 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
311 IDirectDrawStreamSample* This,
312 IMediaStream** ppMediaStream);
314 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
315 IDirectDrawStreamSample* This,
316 STREAM_TIME* pStartTime,
317 STREAM_TIME* pEndTime,
318 STREAM_TIME* pCurrentTime);
320 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
321 IDirectDrawStreamSample* This,
322 const STREAM_TIME* pStartTime,
323 const STREAM_TIME* pEndTime);
325 HRESULT (STDMETHODCALLTYPE *Update)(
326 IDirectDrawStreamSample* This,
332 HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
333 IDirectDrawStreamSample* This,
335 DWORD dwMilliseconds);
337 /*** IDirectDrawStreamSample methods ***/
338 HRESULT (STDMETHODCALLTYPE *GetSurface)(
339 IDirectDrawStreamSample* This,
340 IDirectDrawSurface** ppDirectDrawSurface,
343 HRESULT (STDMETHODCALLTYPE *SetRect)(
344 IDirectDrawStreamSample* This,
351 /*** IUnknown methods ***/
352 #define IDirectDrawStreamSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
353 #define IDirectDrawStreamSample_AddRef(p) (p)->lpVtbl->AddRef(p)
354 #define IDirectDrawStreamSample_Release(p) (p)->lpVtbl->Release(p)
355 /*** IStreamSample methods ***/
356 #define IDirectDrawStreamSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a)
357 #define IDirectDrawStreamSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c)
358 #define IDirectDrawStreamSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b)
359 #define IDirectDrawStreamSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d)
360 #define IDirectDrawStreamSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b)
361 /*** IDirectDrawStreamSample methods ***/
362 #define IDirectDrawStreamSample_GetSurface(p,a,b) (p)->lpVtbl->GetSurface(p,a,b)
363 #define IDirectDrawStreamSample_SetRect(p,a) (p)->lpVtbl->SetRect(p,a)
368 #define IDirectDrawStreamSample_METHODS \
369 ICOM_MSVTABLE_COMPAT_FIELDS \
370 /*** IUnknown methods ***/ \
371 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
372 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
373 STDMETHOD_(ULONG,Release)(THIS) PURE; \
374 /*** IStreamSample methods ***/ \
375 STDMETHOD_(HRESULT,GetMediaStream)(THIS_ IMediaStream** ppMediaStream) PURE; \
376 STDMETHOD_(HRESULT,GetSampleTimes)(THIS_ STREAM_TIME* pStartTime, STREAM_TIME* pEndTime, STREAM_TIME* pCurrentTime) PURE; \
377 STDMETHOD_(HRESULT,SetSampleTimes)(THIS_ const STREAM_TIME* pStartTime, const STREAM_TIME* pEndTime) PURE; \
378 STDMETHOD_(HRESULT,Update)(THIS_ DWORD dwFlags, HANDLE hEvent, PAPCFUNC pfnAPC, DWORD dwAPCData) PURE; \
379 STDMETHOD_(HRESULT,CompletionStatus)(THIS_ DWORD dwFlags, DWORD dwMilliseconds) PURE; \
380 /*** IDirectDrawStreamSample methods ***/ \
381 STDMETHOD_(HRESULT,GetSurface)(THIS_ IDirectDrawSurface** ppDirectDrawSurface, RECT* pRect) PURE; \
382 STDMETHOD_(HRESULT,SetRect)(THIS_ const RECT* pRect) PURE;
384 HRESULT CALLBACK IDirectDrawStreamSample_GetSurface_Proxy(
385 IDirectDrawStreamSample* This,
386 IDirectDrawSurface** ppDirectDrawSurface,
388 void __RPC_STUB IDirectDrawStreamSample_GetSurface_Stub(
389 struct IRpcStubBuffer* This,
390 struct IRpcChannelBuffer* pRpcChannelBuffer,
391 PRPC_MESSAGE pRpcMessage,
392 DWORD* pdwStubPhase);
393 HRESULT CALLBACK IDirectDrawStreamSample_SetRect_Proxy(
394 IDirectDrawStreamSample* This,
396 void __RPC_STUB IDirectDrawStreamSample_SetRect_Stub(
397 struct IRpcStubBuffer* This,
398 struct IRpcChannelBuffer* pRpcChannelBuffer,
399 PRPC_MESSAGE pRpcMessage,
400 DWORD* pdwStubPhase);
402 #endif /* __IDirectDrawStreamSample_INTERFACE_DEFINED__ */
407 #endif /* __WIDL_DDSTREAM_H */