master
  1/*** Autogenerated by WIDL 10.4 from include/ddstream.idl - Do not edit ***/
  2
  3#ifdef _WIN32
  4#ifndef __REQUIRED_RPCNDR_H_VERSION__
  5#define __REQUIRED_RPCNDR_H_VERSION__ 475
  6#endif
  7#include <rpc.h>
  8#include <rpcndr.h>
  9#endif
 10
 11#ifndef COM_NO_WINDOWS_H
 12#include <windows.h>
 13#include <ole2.h>
 14#endif
 15
 16#ifndef __ddstream_h__
 17#define __ddstream_h__
 18
 19/* Forward declarations */
 20
 21#ifndef __IDirectDrawMediaStream_FWD_DEFINED__
 22#define __IDirectDrawMediaStream_FWD_DEFINED__
 23typedef interface IDirectDrawMediaStream IDirectDrawMediaStream;
 24#ifdef __cplusplus
 25interface IDirectDrawMediaStream;
 26#endif /* __cplusplus */
 27#endif
 28
 29#ifndef __IDirectDrawStreamSample_FWD_DEFINED__
 30#define __IDirectDrawStreamSample_FWD_DEFINED__
 31typedef interface IDirectDrawStreamSample IDirectDrawStreamSample;
 32#ifdef __cplusplus
 33interface IDirectDrawStreamSample;
 34#endif /* __cplusplus */
 35#endif
 36
 37/* Headers for imported files */
 38
 39#include <unknwn.h>
 40#include <mmstream.h>
 41
 42#ifdef __cplusplus
 43extern "C" {
 44#endif
 45
 46#ifndef __DDRAW_INCLUDED__
 47typedef void *LPDDSURFACEDESC;
 48typedef struct tDDSURFACEDESC DDSURFACEDESC;
 49#ifndef __IDirectDraw_FWD_DEFINED__
 50#define __IDirectDraw_FWD_DEFINED__
 51typedef interface IDirectDraw IDirectDraw;
 52#ifdef __cplusplus
 53interface IDirectDraw;
 54#endif /* __cplusplus */
 55#endif
 56
 57#ifndef __IDirectDrawSurface_FWD_DEFINED__
 58#define __IDirectDrawSurface_FWD_DEFINED__
 59typedef interface IDirectDrawSurface IDirectDrawSurface;
 60#ifdef __cplusplus
 61interface IDirectDrawSurface;
 62#endif /* __cplusplus */
 63#endif
 64
 65#ifndef __IDirectDrawPalette_FWD_DEFINED__
 66#define __IDirectDrawPalette_FWD_DEFINED__
 67typedef interface IDirectDrawPalette IDirectDrawPalette;
 68#ifdef __cplusplus
 69interface IDirectDrawPalette;
 70#endif /* __cplusplus */
 71#endif
 72
 73#endif
 74#include <ddraw.h>
 75enum {
 76    DDSFF_PROGRESSIVERENDER = 0x1
 77};
 78#ifndef __IDirectDrawMediaStream_FWD_DEFINED__
 79#define __IDirectDrawMediaStream_FWD_DEFINED__
 80typedef interface IDirectDrawMediaStream IDirectDrawMediaStream;
 81#ifdef __cplusplus
 82interface IDirectDrawMediaStream;
 83#endif /* __cplusplus */
 84#endif
 85
 86#ifndef __IDirectDrawStreamSample_FWD_DEFINED__
 87#define __IDirectDrawStreamSample_FWD_DEFINED__
 88typedef interface IDirectDrawStreamSample IDirectDrawStreamSample;
 89#ifdef __cplusplus
 90interface IDirectDrawStreamSample;
 91#endif /* __cplusplus */
 92#endif
 93
 94/*****************************************************************************
 95 * IDirectDrawMediaStream interface
 96 */
 97#ifndef __IDirectDrawMediaStream_INTERFACE_DEFINED__
 98#define __IDirectDrawMediaStream_INTERFACE_DEFINED__
 99
100DEFINE_GUID(IID_IDirectDrawMediaStream, 0xf4104fce, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
101#if defined(__cplusplus) && !defined(CINTERFACE)
102MIDL_INTERFACE("f4104fce-9a70-11d0-8fde-00c04fd9189d")
103IDirectDrawMediaStream : public IMediaStream
104{
105    virtual HRESULT STDMETHODCALLTYPE GetFormat(
106        DDSURFACEDESC *pDDSDCurrent,
107        IDirectDrawPalette **ppDirectDrawPalette,
108        DDSURFACEDESC *pDDSDDesired,
109        DWORD *pdwFlags) = 0;
110
111    virtual HRESULT STDMETHODCALLTYPE SetFormat(
112        const DDSURFACEDESC *pDDSurfaceDesc,
113        IDirectDrawPalette *pDirectDrawPalette) = 0;
114
115    virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
116        IDirectDraw **ppDirectDraw) = 0;
117
118    virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
119        IDirectDraw *pDirectDraw) = 0;
120
121    virtual HRESULT STDMETHODCALLTYPE CreateSample(
122        IDirectDrawSurface *pSurface,
123        const RECT *pRect,
124        DWORD dwFlags,
125        IDirectDrawStreamSample **ppSample) = 0;
126
127    virtual HRESULT STDMETHODCALLTYPE GetTimePerFrame(
128        STREAM_TIME *pFrameTime) = 0;
129
130};
131#ifdef __CRT_UUID_DECL
132__CRT_UUID_DECL(IDirectDrawMediaStream, 0xf4104fce, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
133#endif
134#else
135typedef struct IDirectDrawMediaStreamVtbl {
136    BEGIN_INTERFACE
137
138    /*** IUnknown methods ***/
139    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
140        IDirectDrawMediaStream *This,
141        REFIID riid,
142        void **ppvObject);
143
144    ULONG (STDMETHODCALLTYPE *AddRef)(
145        IDirectDrawMediaStream *This);
146
147    ULONG (STDMETHODCALLTYPE *Release)(
148        IDirectDrawMediaStream *This);
149
150    /*** IMediaStream methods ***/
151    HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
152        IDirectDrawMediaStream *This,
153        IMultiMediaStream **ppMultiMediaStream);
154
155    HRESULT (STDMETHODCALLTYPE *GetInformation)(
156        IDirectDrawMediaStream *This,
157        MSPID *pPurposeId,
158        STREAM_TYPE *pType);
159
160    HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
161        IDirectDrawMediaStream *This,
162        IMediaStream *pStreamThatHasDesiredFormat,
163        DWORD dwFlags);
164
165    HRESULT (STDMETHODCALLTYPE *AllocateSample)(
166        IDirectDrawMediaStream *This,
167        DWORD dwFlags,
168        IStreamSample **ppSample);
169
170    HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
171        IDirectDrawMediaStream *This,
172        IStreamSample *pExistingSample,
173        DWORD dwFlags,
174        IStreamSample **ppNewSample);
175
176    HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
177        IDirectDrawMediaStream *This,
178        DWORD dwFlags);
179
180    /*** IDirectDrawMediaStream methods ***/
181    HRESULT (STDMETHODCALLTYPE *GetFormat)(
182        IDirectDrawMediaStream *This,
183        DDSURFACEDESC *pDDSDCurrent,
184        IDirectDrawPalette **ppDirectDrawPalette,
185        DDSURFACEDESC *pDDSDDesired,
186        DWORD *pdwFlags);
187
188    HRESULT (STDMETHODCALLTYPE *SetFormat)(
189        IDirectDrawMediaStream *This,
190        const DDSURFACEDESC *pDDSurfaceDesc,
191        IDirectDrawPalette *pDirectDrawPalette);
192
193    HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
194        IDirectDrawMediaStream *This,
195        IDirectDraw **ppDirectDraw);
196
197    HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
198        IDirectDrawMediaStream *This,
199        IDirectDraw *pDirectDraw);
200
201    HRESULT (STDMETHODCALLTYPE *CreateSample)(
202        IDirectDrawMediaStream *This,
203        IDirectDrawSurface *pSurface,
204        const RECT *pRect,
205        DWORD dwFlags,
206        IDirectDrawStreamSample **ppSample);
207
208    HRESULT (STDMETHODCALLTYPE *GetTimePerFrame)(
209        IDirectDrawMediaStream *This,
210        STREAM_TIME *pFrameTime);
211
212    END_INTERFACE
213} IDirectDrawMediaStreamVtbl;
214
215interface IDirectDrawMediaStream {
216    CONST_VTBL IDirectDrawMediaStreamVtbl* lpVtbl;
217};
218
219#ifdef COBJMACROS
220#ifndef WIDL_C_INLINE_WRAPPERS
221/*** IUnknown methods ***/
222#define IDirectDrawMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
223#define IDirectDrawMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
224#define IDirectDrawMediaStream_Release(This) (This)->lpVtbl->Release(This)
225/*** IMediaStream methods ***/
226#define IDirectDrawMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
227#define IDirectDrawMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
228#define IDirectDrawMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
229#define IDirectDrawMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
230#define IDirectDrawMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
231#define IDirectDrawMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
232/*** IDirectDrawMediaStream methods ***/
233#define IDirectDrawMediaStream_GetFormat(This,pDDSDCurrent,ppDirectDrawPalette,pDDSDDesired,pdwFlags) (This)->lpVtbl->GetFormat(This,pDDSDCurrent,ppDirectDrawPalette,pDDSDDesired,pdwFlags)
234#define IDirectDrawMediaStream_SetFormat(This,pDDSurfaceDesc,pDirectDrawPalette) (This)->lpVtbl->SetFormat(This,pDDSurfaceDesc,pDirectDrawPalette)
235#define IDirectDrawMediaStream_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw)
236#define IDirectDrawMediaStream_SetDirectDraw(This,pDirectDraw) (This)->lpVtbl->SetDirectDraw(This,pDirectDraw)
237#define IDirectDrawMediaStream_CreateSample(This,pSurface,pRect,dwFlags,ppSample) (This)->lpVtbl->CreateSample(This,pSurface,pRect,dwFlags,ppSample)
238#define IDirectDrawMediaStream_GetTimePerFrame(This,pFrameTime) (This)->lpVtbl->GetTimePerFrame(This,pFrameTime)
239#else
240/*** IUnknown methods ***/
241static inline HRESULT IDirectDrawMediaStream_QueryInterface(IDirectDrawMediaStream* This,REFIID riid,void **ppvObject) {
242    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
243}
244static inline ULONG IDirectDrawMediaStream_AddRef(IDirectDrawMediaStream* This) {
245    return This->lpVtbl->AddRef(This);
246}
247static inline ULONG IDirectDrawMediaStream_Release(IDirectDrawMediaStream* This) {
248    return This->lpVtbl->Release(This);
249}
250/*** IMediaStream methods ***/
251static inline HRESULT IDirectDrawMediaStream_GetMultiMediaStream(IDirectDrawMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
252    return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
253}
254static inline HRESULT IDirectDrawMediaStream_GetInformation(IDirectDrawMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
255    return This->lpVtbl->GetInformation(This,pPurposeId,pType);
256}
257static inline HRESULT IDirectDrawMediaStream_SetSameFormat(IDirectDrawMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
258    return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
259}
260static inline HRESULT IDirectDrawMediaStream_AllocateSample(IDirectDrawMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
261    return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
262}
263static inline HRESULT IDirectDrawMediaStream_CreateSharedSample(IDirectDrawMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
264    return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
265}
266static inline HRESULT IDirectDrawMediaStream_SendEndOfStream(IDirectDrawMediaStream* This,DWORD dwFlags) {
267    return This->lpVtbl->SendEndOfStream(This,dwFlags);
268}
269/*** IDirectDrawMediaStream methods ***/
270static inline HRESULT IDirectDrawMediaStream_GetFormat(IDirectDrawMediaStream* This,DDSURFACEDESC *pDDSDCurrent,IDirectDrawPalette **ppDirectDrawPalette,DDSURFACEDESC *pDDSDDesired,DWORD *pdwFlags) {
271    return This->lpVtbl->GetFormat(This,pDDSDCurrent,ppDirectDrawPalette,pDDSDDesired,pdwFlags);
272}
273static inline HRESULT IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStream* This,const DDSURFACEDESC *pDDSurfaceDesc,IDirectDrawPalette *pDirectDrawPalette) {
274    return This->lpVtbl->SetFormat(This,pDDSurfaceDesc,pDirectDrawPalette);
275}
276static inline HRESULT IDirectDrawMediaStream_GetDirectDraw(IDirectDrawMediaStream* This,IDirectDraw **ppDirectDraw) {
277    return This->lpVtbl->GetDirectDraw(This,ppDirectDraw);
278}
279static inline HRESULT IDirectDrawMediaStream_SetDirectDraw(IDirectDrawMediaStream* This,IDirectDraw *pDirectDraw) {
280    return This->lpVtbl->SetDirectDraw(This,pDirectDraw);
281}
282static inline HRESULT IDirectDrawMediaStream_CreateSample(IDirectDrawMediaStream* This,IDirectDrawSurface *pSurface,const RECT *pRect,DWORD dwFlags,IDirectDrawStreamSample **ppSample) {
283    return This->lpVtbl->CreateSample(This,pSurface,pRect,dwFlags,ppSample);
284}
285static inline HRESULT IDirectDrawMediaStream_GetTimePerFrame(IDirectDrawMediaStream* This,STREAM_TIME *pFrameTime) {
286    return This->lpVtbl->GetTimePerFrame(This,pFrameTime);
287}
288#endif
289#endif
290
291#endif
292
293
294#endif  /* __IDirectDrawMediaStream_INTERFACE_DEFINED__ */
295
296/*****************************************************************************
297 * IDirectDrawStreamSample interface
298 */
299#ifndef __IDirectDrawStreamSample_INTERFACE_DEFINED__
300#define __IDirectDrawStreamSample_INTERFACE_DEFINED__
301
302DEFINE_GUID(IID_IDirectDrawStreamSample, 0xf4104fcf, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
303#if defined(__cplusplus) && !defined(CINTERFACE)
304MIDL_INTERFACE("f4104fcf-9a70-11d0-8fde-00c04fd9189d")
305IDirectDrawStreamSample : public IStreamSample
306{
307    virtual HRESULT STDMETHODCALLTYPE GetSurface(
308        IDirectDrawSurface **ppDirectDrawSurface,
309        RECT *pRect) = 0;
310
311    virtual HRESULT STDMETHODCALLTYPE SetRect(
312        const RECT *pRect) = 0;
313
314};
315#ifdef __CRT_UUID_DECL
316__CRT_UUID_DECL(IDirectDrawStreamSample, 0xf4104fcf, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
317#endif
318#else
319typedef struct IDirectDrawStreamSampleVtbl {
320    BEGIN_INTERFACE
321
322    /*** IUnknown methods ***/
323    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
324        IDirectDrawStreamSample *This,
325        REFIID riid,
326        void **ppvObject);
327
328    ULONG (STDMETHODCALLTYPE *AddRef)(
329        IDirectDrawStreamSample *This);
330
331    ULONG (STDMETHODCALLTYPE *Release)(
332        IDirectDrawStreamSample *This);
333
334    /*** IStreamSample methods ***/
335    HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
336        IDirectDrawStreamSample *This,
337        IMediaStream **ppMediaStream);
338
339    HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
340        IDirectDrawStreamSample *This,
341        STREAM_TIME *pStartTime,
342        STREAM_TIME *pEndTime,
343        STREAM_TIME *pCurrentTime);
344
345    HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
346        IDirectDrawStreamSample *This,
347        const STREAM_TIME *pStartTime,
348        const STREAM_TIME *pEndTime);
349
350    HRESULT (STDMETHODCALLTYPE *Update)(
351        IDirectDrawStreamSample *This,
352        DWORD dwFlags,
353        HANDLE hEvent,
354        PAPCFUNC pfnAPC,
355        DWORD dwAPCData);
356
357    HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
358        IDirectDrawStreamSample *This,
359        DWORD dwFlags,
360        DWORD dwMilliseconds);
361
362    /*** IDirectDrawStreamSample methods ***/
363    HRESULT (STDMETHODCALLTYPE *GetSurface)(
364        IDirectDrawStreamSample *This,
365        IDirectDrawSurface **ppDirectDrawSurface,
366        RECT *pRect);
367
368    HRESULT (STDMETHODCALLTYPE *SetRect)(
369        IDirectDrawStreamSample *This,
370        const RECT *pRect);
371
372    END_INTERFACE
373} IDirectDrawStreamSampleVtbl;
374
375interface IDirectDrawStreamSample {
376    CONST_VTBL IDirectDrawStreamSampleVtbl* lpVtbl;
377};
378
379#ifdef COBJMACROS
380#ifndef WIDL_C_INLINE_WRAPPERS
381/*** IUnknown methods ***/
382#define IDirectDrawStreamSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
383#define IDirectDrawStreamSample_AddRef(This) (This)->lpVtbl->AddRef(This)
384#define IDirectDrawStreamSample_Release(This) (This)->lpVtbl->Release(This)
385/*** IStreamSample methods ***/
386#define IDirectDrawStreamSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream)
387#define IDirectDrawStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
388#define IDirectDrawStreamSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime)
389#define IDirectDrawStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
390#define IDirectDrawStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds)
391/*** IDirectDrawStreamSample methods ***/
392#define IDirectDrawStreamSample_GetSurface(This,ppDirectDrawSurface,pRect) (This)->lpVtbl->GetSurface(This,ppDirectDrawSurface,pRect)
393#define IDirectDrawStreamSample_SetRect(This,pRect) (This)->lpVtbl->SetRect(This,pRect)
394#else
395/*** IUnknown methods ***/
396static inline HRESULT IDirectDrawStreamSample_QueryInterface(IDirectDrawStreamSample* This,REFIID riid,void **ppvObject) {
397    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
398}
399static inline ULONG IDirectDrawStreamSample_AddRef(IDirectDrawStreamSample* This) {
400    return This->lpVtbl->AddRef(This);
401}
402static inline ULONG IDirectDrawStreamSample_Release(IDirectDrawStreamSample* This) {
403    return This->lpVtbl->Release(This);
404}
405/*** IStreamSample methods ***/
406static inline HRESULT IDirectDrawStreamSample_GetMediaStream(IDirectDrawStreamSample* This,IMediaStream **ppMediaStream) {
407    return This->lpVtbl->GetMediaStream(This,ppMediaStream);
408}
409static inline HRESULT IDirectDrawStreamSample_GetSampleTimes(IDirectDrawStreamSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) {
410    return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime);
411}
412static inline HRESULT IDirectDrawStreamSample_SetSampleTimes(IDirectDrawStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
413    return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
414}
415static inline HRESULT IDirectDrawStreamSample_Update(IDirectDrawStreamSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) {
416    return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData);
417}
418static inline HRESULT IDirectDrawStreamSample_CompletionStatus(IDirectDrawStreamSample* This,DWORD dwFlags,DWORD dwMilliseconds) {
419    return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds);
420}
421/*** IDirectDrawStreamSample methods ***/
422static inline HRESULT IDirectDrawStreamSample_GetSurface(IDirectDrawStreamSample* This,IDirectDrawSurface **ppDirectDrawSurface,RECT *pRect) {
423    return This->lpVtbl->GetSurface(This,ppDirectDrawSurface,pRect);
424}
425static inline HRESULT IDirectDrawStreamSample_SetRect(IDirectDrawStreamSample* This,const RECT *pRect) {
426    return This->lpVtbl->SetRect(This,pRect);
427}
428#endif
429#endif
430
431#endif
432
433
434#endif  /* __IDirectDrawStreamSample_INTERFACE_DEFINED__ */
435
436/* Begin additional prototypes for all interfaces */
437
438
439/* End additional prototypes */
440
441#ifdef __cplusplus
442}
443#endif
444
445#endif /* __ddstream_h__ */