source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mmstream.h@ 1186

Last change on this file since 1186 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 20.3 KB
RevLine 
[1166]1/*** Autogenerated by WIDL 6.4 from include/mmstream.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 __mmstream_h__
17#define __mmstream_h__
18
19/* Forward declarations */
20
21#ifndef __IMultiMediaStream_FWD_DEFINED__
22#define __IMultiMediaStream_FWD_DEFINED__
23typedef interface IMultiMediaStream IMultiMediaStream;
24#ifdef __cplusplus
25interface IMultiMediaStream;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IMediaStream_FWD_DEFINED__
30#define __IMediaStream_FWD_DEFINED__
31typedef interface IMediaStream IMediaStream;
32#ifdef __cplusplus
33interface IMediaStream;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IStreamSample_FWD_DEFINED__
38#define __IStreamSample_FWD_DEFINED__
39typedef interface IStreamSample IStreamSample;
40#ifdef __cplusplus
41interface IStreamSample;
42#endif /* __cplusplus */
43#endif
44
45/* Headers for imported files */
46
47#include <unknwn.h>
48
49#ifdef __cplusplus
50extern "C" {
51#endif
52
53#define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400)
54#define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x)
55#define MS_S_PENDING MS_SUCCESS_CODE(1)
56#define MS_S_NOUPDATE MS_SUCCESS_CODE(2)
57#define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3)
58#define MS_E_SAMPLEALLOC MS_ERROR_CODE(1)
59#define MS_E_PURPOSEID MS_ERROR_CODE(2)
60#define MS_E_NOSTREAM MS_ERROR_CODE(3)
61#define MS_E_NOSEEKING MS_ERROR_CODE(4)
62#define MS_E_INCOMPATIBLE MS_ERROR_CODE(5)
63#define MS_E_BUSY MS_ERROR_CODE(6)
64#define MS_E_NOTINIT MS_ERROR_CODE(7)
65#define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8)
66#define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9)
67#define MS_E_NOTRUNNING MS_ERROR_CODE(10)
68DEFINE_GUID(MSPID_PrimaryVideo, 0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
69DEFINE_GUID(MSPID_PrimaryAudio, 0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
70#if 0
71typedef void *PAPCFUNC;
72#endif
73typedef LONGLONG STREAM_TIME;
74typedef GUID MSPID;
75typedef REFGUID REFMSPID;
76typedef enum __WIDL_mmstream_generated_name_0000000C {
77 STREAMTYPE_READ = 0,
78 STREAMTYPE_WRITE = 1,
79 STREAMTYPE_TRANSFORM = 2
80} STREAM_TYPE;
81typedef enum __WIDL_mmstream_generated_name_0000000D {
82 STREAMSTATE_STOP = 0,
83 STREAMSTATE_RUN = 1
84} STREAM_STATE;
85typedef enum __WIDL_mmstream_generated_name_0000000E {
86 COMPSTAT_NOUPDATEOK = 0x1,
87 COMPSTAT_WAIT = 0x2,
88 COMPSTAT_ABORT = 0x4
89} COMPLETION_STATUS_FLAGS;
90enum {
91 MMSSF_HASCLOCK = 0x1,
92 MMSSF_SUPPORTSEEK = 0x2,
93 MMSSF_ASYNCHRONOUS = 0x4
94};
95enum {
96 SSUPDATE_ASYNC = 0x1,
97 SSUPDATE_CONTINUOUS = 0x2
98};
99#ifndef __IMultiMediaStream_FWD_DEFINED__
100#define __IMultiMediaStream_FWD_DEFINED__
101typedef interface IMultiMediaStream IMultiMediaStream;
102#ifdef __cplusplus
103interface IMultiMediaStream;
104#endif /* __cplusplus */
105#endif
106
107#ifndef __IMediaStream_FWD_DEFINED__
108#define __IMediaStream_FWD_DEFINED__
109typedef interface IMediaStream IMediaStream;
110#ifdef __cplusplus
111interface IMediaStream;
112#endif /* __cplusplus */
113#endif
114
115#ifndef __IStreamSample_FWD_DEFINED__
116#define __IStreamSample_FWD_DEFINED__
117typedef interface IStreamSample IStreamSample;
118#ifdef __cplusplus
119interface IStreamSample;
120#endif /* __cplusplus */
121#endif
122
123/*****************************************************************************
124 * IMultiMediaStream interface
125 */
126#ifndef __IMultiMediaStream_INTERFACE_DEFINED__
127#define __IMultiMediaStream_INTERFACE_DEFINED__
128
129DEFINE_GUID(IID_IMultiMediaStream, 0xb502d1bc, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
130#if defined(__cplusplus) && !defined(CINTERFACE)
131MIDL_INTERFACE("b502d1bc-9a57-11d0-8fde-00c04fd9189d")
132IMultiMediaStream : public IUnknown
133{
134 virtual HRESULT STDMETHODCALLTYPE GetInformation(
135 DWORD *pdwFlags,
136 STREAM_TYPE *pStreamType) = 0;
137
138 virtual HRESULT STDMETHODCALLTYPE GetMediaStream(
139 REFMSPID idPurpose,
140 IMediaStream **ppMediaStream) = 0;
141
142 virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams(
143 LONG Index,
144 IMediaStream **ppMediaStream) = 0;
145
146 virtual HRESULT STDMETHODCALLTYPE GetState(
147 STREAM_STATE *pCurrentState) = 0;
148
149 virtual HRESULT STDMETHODCALLTYPE SetState(
150 STREAM_STATE NewState) = 0;
151
152 virtual HRESULT STDMETHODCALLTYPE GetTime(
153 STREAM_TIME *pCurrentTime) = 0;
154
155 virtual HRESULT STDMETHODCALLTYPE GetDuration(
156 STREAM_TIME *pDuration) = 0;
157
158 virtual HRESULT STDMETHODCALLTYPE Seek(
159 STREAM_TIME SeekTime) = 0;
160
161 virtual HRESULT STDMETHODCALLTYPE GetEndOfStreamEventHandle(
162 HANDLE *phEOS) = 0;
163
164};
165#ifdef __CRT_UUID_DECL
166__CRT_UUID_DECL(IMultiMediaStream, 0xb502d1bc, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
167#endif
168#else
169typedef struct IMultiMediaStreamVtbl {
170 BEGIN_INTERFACE
171
172 /*** IUnknown methods ***/
173 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
174 IMultiMediaStream *This,
175 REFIID riid,
176 void **ppvObject);
177
178 ULONG (STDMETHODCALLTYPE *AddRef)(
179 IMultiMediaStream *This);
180
181 ULONG (STDMETHODCALLTYPE *Release)(
182 IMultiMediaStream *This);
183
184 /*** IMultiMediaStream methods ***/
185 HRESULT (STDMETHODCALLTYPE *GetInformation)(
186 IMultiMediaStream *This,
187 DWORD *pdwFlags,
188 STREAM_TYPE *pStreamType);
189
190 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
191 IMultiMediaStream *This,
192 REFMSPID idPurpose,
193 IMediaStream **ppMediaStream);
194
195 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)(
196 IMultiMediaStream *This,
197 LONG Index,
198 IMediaStream **ppMediaStream);
199
200 HRESULT (STDMETHODCALLTYPE *GetState)(
201 IMultiMediaStream *This,
202 STREAM_STATE *pCurrentState);
203
204 HRESULT (STDMETHODCALLTYPE *SetState)(
205 IMultiMediaStream *This,
206 STREAM_STATE NewState);
207
208 HRESULT (STDMETHODCALLTYPE *GetTime)(
209 IMultiMediaStream *This,
210 STREAM_TIME *pCurrentTime);
211
212 HRESULT (STDMETHODCALLTYPE *GetDuration)(
213 IMultiMediaStream *This,
214 STREAM_TIME *pDuration);
215
216 HRESULT (STDMETHODCALLTYPE *Seek)(
217 IMultiMediaStream *This,
218 STREAM_TIME SeekTime);
219
220 HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)(
221 IMultiMediaStream *This,
222 HANDLE *phEOS);
223
224 END_INTERFACE
225} IMultiMediaStreamVtbl;
226
227interface IMultiMediaStream {
228 CONST_VTBL IMultiMediaStreamVtbl* lpVtbl;
229};
230
231#ifdef COBJMACROS
232#ifndef WIDL_C_INLINE_WRAPPERS
233/*** IUnknown methods ***/
234#define IMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
235#define IMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
236#define IMultiMediaStream_Release(This) (This)->lpVtbl->Release(This)
237/*** IMultiMediaStream methods ***/
238#define IMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType)
239#define IMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream)
240#define IMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream)
241#define IMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState)
242#define IMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState)
243#define IMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime)
244#define IMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
245#define IMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime)
246#define IMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS)
247#else
248/*** IUnknown methods ***/
249static FORCEINLINE HRESULT IMultiMediaStream_QueryInterface(IMultiMediaStream* This,REFIID riid,void **ppvObject) {
250 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
251}
252static FORCEINLINE ULONG IMultiMediaStream_AddRef(IMultiMediaStream* This) {
253 return This->lpVtbl->AddRef(This);
254}
255static FORCEINLINE ULONG IMultiMediaStream_Release(IMultiMediaStream* This) {
256 return This->lpVtbl->Release(This);
257}
258/*** IMultiMediaStream methods ***/
259static FORCEINLINE HRESULT IMultiMediaStream_GetInformation(IMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) {
260 return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType);
261}
262static FORCEINLINE HRESULT IMultiMediaStream_GetMediaStream(IMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) {
263 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream);
264}
265static FORCEINLINE HRESULT IMultiMediaStream_EnumMediaStreams(IMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) {
266 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream);
267}
268static FORCEINLINE HRESULT IMultiMediaStream_GetState(IMultiMediaStream* This,STREAM_STATE *pCurrentState) {
269 return This->lpVtbl->GetState(This,pCurrentState);
270}
271static FORCEINLINE HRESULT IMultiMediaStream_SetState(IMultiMediaStream* This,STREAM_STATE NewState) {
272 return This->lpVtbl->SetState(This,NewState);
273}
274static FORCEINLINE HRESULT IMultiMediaStream_GetTime(IMultiMediaStream* This,STREAM_TIME *pCurrentTime) {
275 return This->lpVtbl->GetTime(This,pCurrentTime);
276}
277static FORCEINLINE HRESULT IMultiMediaStream_GetDuration(IMultiMediaStream* This,STREAM_TIME *pDuration) {
278 return This->lpVtbl->GetDuration(This,pDuration);
279}
280static FORCEINLINE HRESULT IMultiMediaStream_Seek(IMultiMediaStream* This,STREAM_TIME SeekTime) {
281 return This->lpVtbl->Seek(This,SeekTime);
282}
283static FORCEINLINE HRESULT IMultiMediaStream_GetEndOfStreamEventHandle(IMultiMediaStream* This,HANDLE *phEOS) {
284 return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS);
285}
286#endif
287#endif
288
289#endif
290
291
292#endif /* __IMultiMediaStream_INTERFACE_DEFINED__ */
293
294/*****************************************************************************
295 * IMediaStream interface
296 */
297#ifndef __IMediaStream_INTERFACE_DEFINED__
298#define __IMediaStream_INTERFACE_DEFINED__
299
300DEFINE_GUID(IID_IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
301#if defined(__cplusplus) && !defined(CINTERFACE)
302MIDL_INTERFACE("b502d1bd-9a57-11d0-8fde-00c04fd9189d")
303IMediaStream : public IUnknown
304{
305 virtual HRESULT STDMETHODCALLTYPE GetMultiMediaStream(
306 IMultiMediaStream **ppMultiMediaStream) = 0;
307
308 virtual HRESULT STDMETHODCALLTYPE GetInformation(
309 MSPID *pPurposeId,
310 STREAM_TYPE *pType) = 0;
311
312 virtual HRESULT STDMETHODCALLTYPE SetSameFormat(
313 IMediaStream *pStreamThatHasDesiredFormat,
314 DWORD dwFlags) = 0;
315
316 virtual HRESULT STDMETHODCALLTYPE AllocateSample(
317 DWORD dwFlags,
318 IStreamSample **ppSample) = 0;
319
320 virtual HRESULT STDMETHODCALLTYPE CreateSharedSample(
321 IStreamSample *pExistingSample,
322 DWORD dwFlags,
323 IStreamSample **ppNewSample) = 0;
324
325 virtual HRESULT STDMETHODCALLTYPE SendEndOfStream(
326 DWORD dwFlags) = 0;
327
328};
329#ifdef __CRT_UUID_DECL
330__CRT_UUID_DECL(IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
331#endif
332#else
333typedef struct IMediaStreamVtbl {
334 BEGIN_INTERFACE
335
336 /*** IUnknown methods ***/
337 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
338 IMediaStream *This,
339 REFIID riid,
340 void **ppvObject);
341
342 ULONG (STDMETHODCALLTYPE *AddRef)(
343 IMediaStream *This);
344
345 ULONG (STDMETHODCALLTYPE *Release)(
346 IMediaStream *This);
347
348 /*** IMediaStream methods ***/
349 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
350 IMediaStream *This,
351 IMultiMediaStream **ppMultiMediaStream);
352
353 HRESULT (STDMETHODCALLTYPE *GetInformation)(
354 IMediaStream *This,
355 MSPID *pPurposeId,
356 STREAM_TYPE *pType);
357
358 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
359 IMediaStream *This,
360 IMediaStream *pStreamThatHasDesiredFormat,
361 DWORD dwFlags);
362
363 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
364 IMediaStream *This,
365 DWORD dwFlags,
366 IStreamSample **ppSample);
367
368 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
369 IMediaStream *This,
370 IStreamSample *pExistingSample,
371 DWORD dwFlags,
372 IStreamSample **ppNewSample);
373
374 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
375 IMediaStream *This,
376 DWORD dwFlags);
377
378 END_INTERFACE
379} IMediaStreamVtbl;
380
381interface IMediaStream {
382 CONST_VTBL IMediaStreamVtbl* lpVtbl;
383};
384
385#ifdef COBJMACROS
386#ifndef WIDL_C_INLINE_WRAPPERS
387/*** IUnknown methods ***/
388#define IMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
389#define IMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
390#define IMediaStream_Release(This) (This)->lpVtbl->Release(This)
391/*** IMediaStream methods ***/
392#define IMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
393#define IMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
394#define IMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
395#define IMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
396#define IMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
397#define IMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
398#else
399/*** IUnknown methods ***/
400static FORCEINLINE HRESULT IMediaStream_QueryInterface(IMediaStream* This,REFIID riid,void **ppvObject) {
401 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
402}
403static FORCEINLINE ULONG IMediaStream_AddRef(IMediaStream* This) {
404 return This->lpVtbl->AddRef(This);
405}
406static FORCEINLINE ULONG IMediaStream_Release(IMediaStream* This) {
407 return This->lpVtbl->Release(This);
408}
409/*** IMediaStream methods ***/
410static FORCEINLINE HRESULT IMediaStream_GetMultiMediaStream(IMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
411 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
412}
413static FORCEINLINE HRESULT IMediaStream_GetInformation(IMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
414 return This->lpVtbl->GetInformation(This,pPurposeId,pType);
415}
416static FORCEINLINE HRESULT IMediaStream_SetSameFormat(IMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
417 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
418}
419static FORCEINLINE HRESULT IMediaStream_AllocateSample(IMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
420 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
421}
422static FORCEINLINE HRESULT IMediaStream_CreateSharedSample(IMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
423 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
424}
425static FORCEINLINE HRESULT IMediaStream_SendEndOfStream(IMediaStream* This,DWORD dwFlags) {
426 return This->lpVtbl->SendEndOfStream(This,dwFlags);
427}
428#endif
429#endif
430
431#endif
432
433
434#endif /* __IMediaStream_INTERFACE_DEFINED__ */
435
436/*****************************************************************************
437 * IStreamSample interface
438 */
439#ifndef __IStreamSample_INTERFACE_DEFINED__
440#define __IStreamSample_INTERFACE_DEFINED__
441
442DEFINE_GUID(IID_IStreamSample, 0xb502d1be, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
443#if defined(__cplusplus) && !defined(CINTERFACE)
444MIDL_INTERFACE("b502d1be-9a57-11d0-8fde-00c04fd9189d")
445IStreamSample : public IUnknown
446{
447 virtual HRESULT STDMETHODCALLTYPE GetMediaStream(
448 IMediaStream **ppMediaStream) = 0;
449
450 virtual HRESULT STDMETHODCALLTYPE GetSampleTimes(
451 STREAM_TIME *pStartTime,
452 STREAM_TIME *pEndTime,
453 STREAM_TIME *pCurrentTime) = 0;
454
455 virtual HRESULT STDMETHODCALLTYPE SetSampleTimes(
456 const STREAM_TIME *pStartTime,
457 const STREAM_TIME *pEndTime) = 0;
458
459 virtual HRESULT STDMETHODCALLTYPE Update(
460 DWORD dwFlags,
461 HANDLE hEvent,
462 PAPCFUNC pfnAPC,
463 DWORD dwAPCData) = 0;
464
465 virtual HRESULT STDMETHODCALLTYPE CompletionStatus(
466 DWORD dwFlags,
467 DWORD dwMilliseconds) = 0;
468
469};
470#ifdef __CRT_UUID_DECL
471__CRT_UUID_DECL(IStreamSample, 0xb502d1be, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
472#endif
473#else
474typedef struct IStreamSampleVtbl {
475 BEGIN_INTERFACE
476
477 /*** IUnknown methods ***/
478 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
479 IStreamSample *This,
480 REFIID riid,
481 void **ppvObject);
482
483 ULONG (STDMETHODCALLTYPE *AddRef)(
484 IStreamSample *This);
485
486 ULONG (STDMETHODCALLTYPE *Release)(
487 IStreamSample *This);
488
489 /*** IStreamSample methods ***/
490 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
491 IStreamSample *This,
492 IMediaStream **ppMediaStream);
493
494 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
495 IStreamSample *This,
496 STREAM_TIME *pStartTime,
497 STREAM_TIME *pEndTime,
498 STREAM_TIME *pCurrentTime);
499
500 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
501 IStreamSample *This,
502 const STREAM_TIME *pStartTime,
503 const STREAM_TIME *pEndTime);
504
505 HRESULT (STDMETHODCALLTYPE *Update)(
506 IStreamSample *This,
507 DWORD dwFlags,
508 HANDLE hEvent,
509 PAPCFUNC pfnAPC,
510 DWORD dwAPCData);
511
512 HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
513 IStreamSample *This,
514 DWORD dwFlags,
515 DWORD dwMilliseconds);
516
517 END_INTERFACE
518} IStreamSampleVtbl;
519
520interface IStreamSample {
521 CONST_VTBL IStreamSampleVtbl* lpVtbl;
522};
523
524#ifdef COBJMACROS
525#ifndef WIDL_C_INLINE_WRAPPERS
526/*** IUnknown methods ***/
527#define IStreamSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
528#define IStreamSample_AddRef(This) (This)->lpVtbl->AddRef(This)
529#define IStreamSample_Release(This) (This)->lpVtbl->Release(This)
530/*** IStreamSample methods ***/
531#define IStreamSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream)
532#define IStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
533#define IStreamSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime)
534#define IStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
535#define IStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds)
536#else
537/*** IUnknown methods ***/
538static FORCEINLINE HRESULT IStreamSample_QueryInterface(IStreamSample* This,REFIID riid,void **ppvObject) {
539 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
540}
541static FORCEINLINE ULONG IStreamSample_AddRef(IStreamSample* This) {
542 return This->lpVtbl->AddRef(This);
543}
544static FORCEINLINE ULONG IStreamSample_Release(IStreamSample* This) {
545 return This->lpVtbl->Release(This);
546}
547/*** IStreamSample methods ***/
548static FORCEINLINE HRESULT IStreamSample_GetMediaStream(IStreamSample* This,IMediaStream **ppMediaStream) {
549 return This->lpVtbl->GetMediaStream(This,ppMediaStream);
550}
551static FORCEINLINE HRESULT IStreamSample_GetSampleTimes(IStreamSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) {
552 return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime);
553}
554static FORCEINLINE HRESULT IStreamSample_SetSampleTimes(IStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
555 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
556}
557static FORCEINLINE HRESULT IStreamSample_Update(IStreamSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) {
558 return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData);
559}
560static FORCEINLINE HRESULT IStreamSample_CompletionStatus(IStreamSample* This,DWORD dwFlags,DWORD dwMilliseconds) {
561 return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds);
562}
563#endif
564#endif
565
566#endif
567
568
569#endif /* __IStreamSample_INTERFACE_DEFINED__ */
570
571/* Begin additional prototypes for all interfaces */
572
573
574/* End additional prototypes */
575
576#ifdef __cplusplus
577}
578#endif
579
580#endif /* __mmstream_h__ */
Note: See TracBrowser for help on using the repository browser.