ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mmstream.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 20751 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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__
23 typedef interface IMultiMediaStream IMultiMediaStream;
24 #ifdef __cplusplus
25 interface IMultiMediaStream;
26 #endif /* __cplusplus */
27 #endif
28
29 #ifndef __IMediaStream_FWD_DEFINED__
30 #define __IMediaStream_FWD_DEFINED__
31 typedef interface IMediaStream IMediaStream;
32 #ifdef __cplusplus
33 interface IMediaStream;
34 #endif /* __cplusplus */
35 #endif
36
37 #ifndef __IStreamSample_FWD_DEFINED__
38 #define __IStreamSample_FWD_DEFINED__
39 typedef interface IStreamSample IStreamSample;
40 #ifdef __cplusplus
41 interface IStreamSample;
42 #endif /* __cplusplus */
43 #endif
44
45 /* Headers for imported files */
46
47 #include <unknwn.h>
48
49 #ifdef __cplusplus
50 extern "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)
68 DEFINE_GUID(MSPID_PrimaryVideo, 0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
69 DEFINE_GUID(MSPID_PrimaryAudio, 0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
70 #if 0
71 typedef void *PAPCFUNC;
72 #endif
73 typedef LONGLONG STREAM_TIME;
74 typedef GUID MSPID;
75 typedef REFGUID REFMSPID;
76 typedef enum __WIDL_mmstream_generated_name_0000000C {
77 STREAMTYPE_READ = 0,
78 STREAMTYPE_WRITE = 1,
79 STREAMTYPE_TRANSFORM = 2
80 } STREAM_TYPE;
81 typedef enum __WIDL_mmstream_generated_name_0000000D {
82 STREAMSTATE_STOP = 0,
83 STREAMSTATE_RUN = 1
84 } STREAM_STATE;
85 typedef enum __WIDL_mmstream_generated_name_0000000E {
86 COMPSTAT_NOUPDATEOK = 0x1,
87 COMPSTAT_WAIT = 0x2,
88 COMPSTAT_ABORT = 0x4
89 } COMPLETION_STATUS_FLAGS;
90 enum {
91 MMSSF_HASCLOCK = 0x1,
92 MMSSF_SUPPORTSEEK = 0x2,
93 MMSSF_ASYNCHRONOUS = 0x4
94 };
95 enum {
96 SSUPDATE_ASYNC = 0x1,
97 SSUPDATE_CONTINUOUS = 0x2
98 };
99 #ifndef __IMultiMediaStream_FWD_DEFINED__
100 #define __IMultiMediaStream_FWD_DEFINED__
101 typedef interface IMultiMediaStream IMultiMediaStream;
102 #ifdef __cplusplus
103 interface IMultiMediaStream;
104 #endif /* __cplusplus */
105 #endif
106
107 #ifndef __IMediaStream_FWD_DEFINED__
108 #define __IMediaStream_FWD_DEFINED__
109 typedef interface IMediaStream IMediaStream;
110 #ifdef __cplusplus
111 interface IMediaStream;
112 #endif /* __cplusplus */
113 #endif
114
115 #ifndef __IStreamSample_FWD_DEFINED__
116 #define __IStreamSample_FWD_DEFINED__
117 typedef interface IStreamSample IStreamSample;
118 #ifdef __cplusplus
119 interface IStreamSample;
120 #endif /* __cplusplus */
121 #endif
122
123 /*****************************************************************************
124 * IMultiMediaStream interface
125 */
126 #ifndef __IMultiMediaStream_INTERFACE_DEFINED__
127 #define __IMultiMediaStream_INTERFACE_DEFINED__
128
129 DEFINE_GUID(IID_IMultiMediaStream, 0xb502d1bc, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
130 #if defined(__cplusplus) && !defined(CINTERFACE)
131 MIDL_INTERFACE("b502d1bc-9a57-11d0-8fde-00c04fd9189d")
132 IMultiMediaStream : 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
169 typedef 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
227 interface 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 ***/
249 static FORCEINLINE HRESULT IMultiMediaStream_QueryInterface(IMultiMediaStream* This,REFIID riid,void **ppvObject) {
250 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
251 }
252 static FORCEINLINE ULONG IMultiMediaStream_AddRef(IMultiMediaStream* This) {
253 return This->lpVtbl->AddRef(This);
254 }
255 static FORCEINLINE ULONG IMultiMediaStream_Release(IMultiMediaStream* This) {
256 return This->lpVtbl->Release(This);
257 }
258 /*** IMultiMediaStream methods ***/
259 static FORCEINLINE HRESULT IMultiMediaStream_GetInformation(IMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) {
260 return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType);
261 }
262 static FORCEINLINE HRESULT IMultiMediaStream_GetMediaStream(IMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) {
263 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream);
264 }
265 static FORCEINLINE HRESULT IMultiMediaStream_EnumMediaStreams(IMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) {
266 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream);
267 }
268 static FORCEINLINE HRESULT IMultiMediaStream_GetState(IMultiMediaStream* This,STREAM_STATE *pCurrentState) {
269 return This->lpVtbl->GetState(This,pCurrentState);
270 }
271 static FORCEINLINE HRESULT IMultiMediaStream_SetState(IMultiMediaStream* This,STREAM_STATE NewState) {
272 return This->lpVtbl->SetState(This,NewState);
273 }
274 static FORCEINLINE HRESULT IMultiMediaStream_GetTime(IMultiMediaStream* This,STREAM_TIME *pCurrentTime) {
275 return This->lpVtbl->GetTime(This,pCurrentTime);
276 }
277 static FORCEINLINE HRESULT IMultiMediaStream_GetDuration(IMultiMediaStream* This,STREAM_TIME *pDuration) {
278 return This->lpVtbl->GetDuration(This,pDuration);
279 }
280 static FORCEINLINE HRESULT IMultiMediaStream_Seek(IMultiMediaStream* This,STREAM_TIME SeekTime) {
281 return This->lpVtbl->Seek(This,SeekTime);
282 }
283 static 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
300 DEFINE_GUID(IID_IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
301 #if defined(__cplusplus) && !defined(CINTERFACE)
302 MIDL_INTERFACE("b502d1bd-9a57-11d0-8fde-00c04fd9189d")
303 IMediaStream : 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
333 typedef 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
381 interface 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 ***/
400 static FORCEINLINE HRESULT IMediaStream_QueryInterface(IMediaStream* This,REFIID riid,void **ppvObject) {
401 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
402 }
403 static FORCEINLINE ULONG IMediaStream_AddRef(IMediaStream* This) {
404 return This->lpVtbl->AddRef(This);
405 }
406 static FORCEINLINE ULONG IMediaStream_Release(IMediaStream* This) {
407 return This->lpVtbl->Release(This);
408 }
409 /*** IMediaStream methods ***/
410 static FORCEINLINE HRESULT IMediaStream_GetMultiMediaStream(IMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
411 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
412 }
413 static FORCEINLINE HRESULT IMediaStream_GetInformation(IMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
414 return This->lpVtbl->GetInformation(This,pPurposeId,pType);
415 }
416 static FORCEINLINE HRESULT IMediaStream_SetSameFormat(IMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
417 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
418 }
419 static FORCEINLINE HRESULT IMediaStream_AllocateSample(IMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
420 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
421 }
422 static FORCEINLINE HRESULT IMediaStream_CreateSharedSample(IMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
423 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
424 }
425 static 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
442 DEFINE_GUID(IID_IStreamSample, 0xb502d1be, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
443 #if defined(__cplusplus) && !defined(CINTERFACE)
444 MIDL_INTERFACE("b502d1be-9a57-11d0-8fde-00c04fd9189d")
445 IStreamSample : 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
474 typedef 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
520 interface 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 ***/
538 static FORCEINLINE HRESULT IStreamSample_QueryInterface(IStreamSample* This,REFIID riid,void **ppvObject) {
539 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
540 }
541 static FORCEINLINE ULONG IStreamSample_AddRef(IStreamSample* This) {
542 return This->lpVtbl->AddRef(This);
543 }
544 static FORCEINLINE ULONG IStreamSample_Release(IStreamSample* This) {
545 return This->lpVtbl->Release(This);
546 }
547 /*** IStreamSample methods ***/
548 static FORCEINLINE HRESULT IStreamSample_GetMediaStream(IStreamSample* This,IMediaStream **ppMediaStream) {
549 return This->lpVtbl->GetMediaStream(This,ppMediaStream);
550 }
551 static 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 }
554 static FORCEINLINE HRESULT IStreamSample_SetSampleTimes(IStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
555 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
556 }
557 static 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 }
560 static 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__ */