source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/amstream.h

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

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

File size: 68.0 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/amstream.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 __amstream_h__
17#define __amstream_h__
18
19/* Forward declarations */
20
21#ifndef __IDirectShowStream_FWD_DEFINED__
22#define __IDirectShowStream_FWD_DEFINED__
23typedef interface IDirectShowStream IDirectShowStream;
24#ifdef __cplusplus
25interface IDirectShowStream;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IAMMultiMediaStream_FWD_DEFINED__
30#define __IAMMultiMediaStream_FWD_DEFINED__
31typedef interface IAMMultiMediaStream IAMMultiMediaStream;
32#ifdef __cplusplus
33interface IAMMultiMediaStream;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IAMMediaStream_FWD_DEFINED__
38#define __IAMMediaStream_FWD_DEFINED__
39typedef interface IAMMediaStream IAMMediaStream;
40#ifdef __cplusplus
41interface IAMMediaStream;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IMediaStreamFilter_FWD_DEFINED__
46#define __IMediaStreamFilter_FWD_DEFINED__
47typedef interface IMediaStreamFilter IMediaStreamFilter;
48#ifdef __cplusplus
49interface IMediaStreamFilter;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
54#define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
55typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator;
56#ifdef __cplusplus
57interface IDirectDrawMediaSampleAllocator;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IDirectDrawMediaSample_FWD_DEFINED__
62#define __IDirectDrawMediaSample_FWD_DEFINED__
63typedef interface IDirectDrawMediaSample IDirectDrawMediaSample;
64#ifdef __cplusplus
65interface IDirectDrawMediaSample;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IAMMediaTypeStream_FWD_DEFINED__
70#define __IAMMediaTypeStream_FWD_DEFINED__
71typedef interface IAMMediaTypeStream IAMMediaTypeStream;
72#ifdef __cplusplus
73interface IAMMediaTypeStream;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IAMMediaTypeSample_FWD_DEFINED__
78#define __IAMMediaTypeSample_FWD_DEFINED__
79typedef interface IAMMediaTypeSample IAMMediaTypeSample;
80#ifdef __cplusplus
81interface IAMMediaTypeSample;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __AMMultiMediaStream_FWD_DEFINED__
86#define __AMMultiMediaStream_FWD_DEFINED__
87#ifdef __cplusplus
88typedef class AMMultiMediaStream AMMultiMediaStream;
89#else
90typedef struct AMMultiMediaStream AMMultiMediaStream;
91#endif /* defined __cplusplus */
92#endif /* defined __AMMultiMediaStream_FWD_DEFINED__ */
93
94/* Headers for imported files */
95
96#include <unknwn.h>
97#include <mmstream.h>
98#include <strmif.h>
99
100#ifdef __cplusplus
101extern "C" {
102#endif
103
104#include <ddraw.h>
105#include <mmsystem.h>
106#include <mmstream.h>
107#include <ddstream.h>
108#include <austream.h>
109#if 0
110#ifndef __IDirectDraw_FWD_DEFINED__
111#define __IDirectDraw_FWD_DEFINED__
112typedef interface IDirectDraw IDirectDraw;
113#ifdef __cplusplus
114interface IDirectDraw;
115#endif /* __cplusplus */
116#endif
117
118#ifndef __IDirectDrawSurface_FWD_DEFINED__
119#define __IDirectDrawSurface_FWD_DEFINED__
120typedef interface IDirectDrawSurface IDirectDrawSurface;
121#ifdef __cplusplus
122interface IDirectDrawSurface;
123#endif /* __cplusplus */
124#endif
125
126#endif
127#ifndef __IAMMultiMediaStream_FWD_DEFINED__
128#define __IAMMultiMediaStream_FWD_DEFINED__
129typedef interface IAMMultiMediaStream IAMMultiMediaStream;
130#ifdef __cplusplus
131interface IAMMultiMediaStream;
132#endif /* __cplusplus */
133#endif
134
135#ifndef __IAMMediaStream_FWD_DEFINED__
136#define __IAMMediaStream_FWD_DEFINED__
137typedef interface IAMMediaStream IAMMediaStream;
138#ifdef __cplusplus
139interface IAMMediaStream;
140#endif /* __cplusplus */
141#endif
142
143#ifndef __IMediaStreamFilter_FWD_DEFINED__
144#define __IMediaStreamFilter_FWD_DEFINED__
145typedef interface IMediaStreamFilter IMediaStreamFilter;
146#ifdef __cplusplus
147interface IMediaStreamFilter;
148#endif /* __cplusplus */
149#endif
150
151#ifndef __IAMMediaTypeStream_FWD_DEFINED__
152#define __IAMMediaTypeStream_FWD_DEFINED__
153typedef interface IAMMediaTypeStream IAMMediaTypeStream;
154#ifdef __cplusplus
155interface IAMMediaTypeStream;
156#endif /* __cplusplus */
157#endif
158
159#ifndef __IAMMediaTypeSample_FWD_DEFINED__
160#define __IAMMediaTypeSample_FWD_DEFINED__
161typedef interface IAMMediaTypeSample IAMMediaTypeSample;
162#ifdef __cplusplus
163interface IAMMediaTypeSample;
164#endif /* __cplusplus */
165#endif
166
167enum {
168 AMMSF_NOGRAPHTHREAD = 0x1
169};
170enum {
171 AMMSF_ADDDEFAULTRENDERER = 0x1,
172 AMMSF_CREATEPEER = 0x2,
173 AMMSF_STOPIFNOSAMPLES = 0x4,
174 AMMSF_NOSTALL = 0x8
175};
176enum {
177 AMMSF_RENDERTYPEMASK = 0x3,
178 AMMSF_RENDERTOEXISTING = 0x0,
179 AMMSF_RENDERALLSTREAMS = 0x1,
180 AMMSF_NORENDER = 0x2,
181 AMMSF_NOCLOCK = 0x4,
182 AMMSF_RUN = 0x8
183};
184typedef enum __WIDL_amstream_generated_name_00000019 {
185 Disabled = 0,
186 ReadData = 1,
187 RenderData = 2
188} OUTPUT_STATE;
189/*****************************************************************************
190 * IDirectShowStream interface
191 */
192#ifndef __IDirectShowStream_INTERFACE_DEFINED__
193#define __IDirectShowStream_INTERFACE_DEFINED__
194
195DEFINE_GUID(IID_IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
196#if defined(__cplusplus) && !defined(CINTERFACE)
197MIDL_INTERFACE("7db01c96-c0c3-11d0-8ff1-00c04fd9189d")
198IDirectShowStream : public IDispatch
199{
200 virtual HRESULT STDMETHODCALLTYPE get_FileName(
201 BSTR *pVal) = 0;
202
203 virtual HRESULT STDMETHODCALLTYPE put_FileName(
204 BSTR newVal) = 0;
205
206 virtual HRESULT STDMETHODCALLTYPE get_Video(
207 OUTPUT_STATE *pVal) = 0;
208
209 virtual HRESULT STDMETHODCALLTYPE put_Video(
210 OUTPUT_STATE newVal) = 0;
211
212 virtual HRESULT STDMETHODCALLTYPE get_Audio(
213 OUTPUT_STATE *pVal) = 0;
214
215 virtual HRESULT STDMETHODCALLTYPE put_Audio(
216 OUTPUT_STATE newVal) = 0;
217
218};
219#ifdef __CRT_UUID_DECL
220__CRT_UUID_DECL(IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
221#endif
222#else
223typedef struct IDirectShowStreamVtbl {
224 BEGIN_INTERFACE
225
226 /*** IUnknown methods ***/
227 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
228 IDirectShowStream *This,
229 REFIID riid,
230 void **ppvObject);
231
232 ULONG (STDMETHODCALLTYPE *AddRef)(
233 IDirectShowStream *This);
234
235 ULONG (STDMETHODCALLTYPE *Release)(
236 IDirectShowStream *This);
237
238 /*** IDispatch methods ***/
239 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
240 IDirectShowStream *This,
241 UINT *pctinfo);
242
243 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
244 IDirectShowStream *This,
245 UINT iTInfo,
246 LCID lcid,
247 ITypeInfo **ppTInfo);
248
249 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
250 IDirectShowStream *This,
251 REFIID riid,
252 LPOLESTR *rgszNames,
253 UINT cNames,
254 LCID lcid,
255 DISPID *rgDispId);
256
257 HRESULT (STDMETHODCALLTYPE *Invoke)(
258 IDirectShowStream *This,
259 DISPID dispIdMember,
260 REFIID riid,
261 LCID lcid,
262 WORD wFlags,
263 DISPPARAMS *pDispParams,
264 VARIANT *pVarResult,
265 EXCEPINFO *pExcepInfo,
266 UINT *puArgErr);
267
268 /*** IDirectShowStream methods ***/
269 HRESULT (STDMETHODCALLTYPE *get_FileName)(
270 IDirectShowStream *This,
271 BSTR *pVal);
272
273 HRESULT (STDMETHODCALLTYPE *put_FileName)(
274 IDirectShowStream *This,
275 BSTR newVal);
276
277 HRESULT (STDMETHODCALLTYPE *get_Video)(
278 IDirectShowStream *This,
279 OUTPUT_STATE *pVal);
280
281 HRESULT (STDMETHODCALLTYPE *put_Video)(
282 IDirectShowStream *This,
283 OUTPUT_STATE newVal);
284
285 HRESULT (STDMETHODCALLTYPE *get_Audio)(
286 IDirectShowStream *This,
287 OUTPUT_STATE *pVal);
288
289 HRESULT (STDMETHODCALLTYPE *put_Audio)(
290 IDirectShowStream *This,
291 OUTPUT_STATE newVal);
292
293 END_INTERFACE
294} IDirectShowStreamVtbl;
295
296interface IDirectShowStream {
297 CONST_VTBL IDirectShowStreamVtbl* lpVtbl;
298};
299
300#ifdef COBJMACROS
301#ifndef WIDL_C_INLINE_WRAPPERS
302/*** IUnknown methods ***/
303#define IDirectShowStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
304#define IDirectShowStream_AddRef(This) (This)->lpVtbl->AddRef(This)
305#define IDirectShowStream_Release(This) (This)->lpVtbl->Release(This)
306/*** IDispatch methods ***/
307#define IDirectShowStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
308#define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
309#define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
310#define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
311/*** IDirectShowStream methods ***/
312#define IDirectShowStream_get_FileName(This,pVal) (This)->lpVtbl->get_FileName(This,pVal)
313#define IDirectShowStream_put_FileName(This,newVal) (This)->lpVtbl->put_FileName(This,newVal)
314#define IDirectShowStream_get_Video(This,pVal) (This)->lpVtbl->get_Video(This,pVal)
315#define IDirectShowStream_put_Video(This,newVal) (This)->lpVtbl->put_Video(This,newVal)
316#define IDirectShowStream_get_Audio(This,pVal) (This)->lpVtbl->get_Audio(This,pVal)
317#define IDirectShowStream_put_Audio(This,newVal) (This)->lpVtbl->put_Audio(This,newVal)
318#else
319/*** IUnknown methods ***/
320static FORCEINLINE HRESULT IDirectShowStream_QueryInterface(IDirectShowStream* This,REFIID riid,void **ppvObject) {
321 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
322}
323static FORCEINLINE ULONG IDirectShowStream_AddRef(IDirectShowStream* This) {
324 return This->lpVtbl->AddRef(This);
325}
326static FORCEINLINE ULONG IDirectShowStream_Release(IDirectShowStream* This) {
327 return This->lpVtbl->Release(This);
328}
329/*** IDispatch methods ***/
330static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfoCount(IDirectShowStream* This,UINT *pctinfo) {
331 return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
332}
333static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfo(IDirectShowStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
334 return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
335}
336static FORCEINLINE HRESULT IDirectShowStream_GetIDsOfNames(IDirectShowStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
337 return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
338}
339static FORCEINLINE HRESULT IDirectShowStream_Invoke(IDirectShowStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
340 return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
341}
342/*** IDirectShowStream methods ***/
343static FORCEINLINE HRESULT IDirectShowStream_get_FileName(IDirectShowStream* This,BSTR *pVal) {
344 return This->lpVtbl->get_FileName(This,pVal);
345}
346static FORCEINLINE HRESULT IDirectShowStream_put_FileName(IDirectShowStream* This,BSTR newVal) {
347 return This->lpVtbl->put_FileName(This,newVal);
348}
349static FORCEINLINE HRESULT IDirectShowStream_get_Video(IDirectShowStream* This,OUTPUT_STATE *pVal) {
350 return This->lpVtbl->get_Video(This,pVal);
351}
352static FORCEINLINE HRESULT IDirectShowStream_put_Video(IDirectShowStream* This,OUTPUT_STATE newVal) {
353 return This->lpVtbl->put_Video(This,newVal);
354}
355static FORCEINLINE HRESULT IDirectShowStream_get_Audio(IDirectShowStream* This,OUTPUT_STATE *pVal) {
356 return This->lpVtbl->get_Audio(This,pVal);
357}
358static FORCEINLINE HRESULT IDirectShowStream_put_Audio(IDirectShowStream* This,OUTPUT_STATE newVal) {
359 return This->lpVtbl->put_Audio(This,newVal);
360}
361#endif
362#endif
363
364#endif
365
366
367#endif /* __IDirectShowStream_INTERFACE_DEFINED__ */
368
369/*****************************************************************************
370 * IAMMultiMediaStream interface
371 */
372#ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__
373#define __IAMMultiMediaStream_INTERFACE_DEFINED__
374
375DEFINE_GUID(IID_IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
376#if defined(__cplusplus) && !defined(CINTERFACE)
377MIDL_INTERFACE("bebe595c-9a6f-11d0-8fde-00c04fd9189d")
378IAMMultiMediaStream : public IMultiMediaStream
379{
380 virtual HRESULT STDMETHODCALLTYPE Initialize(
381 STREAM_TYPE StreamType,
382 DWORD dwFlags,
383 IGraphBuilder *pFilterGraph) = 0;
384
385 virtual HRESULT STDMETHODCALLTYPE GetFilterGraph(
386 IGraphBuilder **ppGraphBuilder) = 0;
387
388 virtual HRESULT STDMETHODCALLTYPE GetFilter(
389 IMediaStreamFilter **ppFilter) = 0;
390
391 virtual HRESULT STDMETHODCALLTYPE AddMediaStream(
392 IUnknown *pStreamObject,
393 const MSPID *PurposeId,
394 DWORD dwFlags,
395 IMediaStream **ppNewStream) = 0;
396
397 virtual HRESULT STDMETHODCALLTYPE OpenFile(
398 LPCWSTR pszFileName,
399 DWORD dwFlags) = 0;
400
401 virtual HRESULT STDMETHODCALLTYPE OpenMoniker(
402 IBindCtx *pCtx,
403 IMoniker *pMoniker,
404 DWORD dwFlags) = 0;
405
406 virtual HRESULT STDMETHODCALLTYPE Render(
407 DWORD dwFlags) = 0;
408
409};
410#ifdef __CRT_UUID_DECL
411__CRT_UUID_DECL(IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
412#endif
413#else
414typedef struct IAMMultiMediaStreamVtbl {
415 BEGIN_INTERFACE
416
417 /*** IUnknown methods ***/
418 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
419 IAMMultiMediaStream *This,
420 REFIID riid,
421 void **ppvObject);
422
423 ULONG (STDMETHODCALLTYPE *AddRef)(
424 IAMMultiMediaStream *This);
425
426 ULONG (STDMETHODCALLTYPE *Release)(
427 IAMMultiMediaStream *This);
428
429 /*** IMultiMediaStream methods ***/
430 HRESULT (STDMETHODCALLTYPE *GetInformation)(
431 IAMMultiMediaStream *This,
432 DWORD *pdwFlags,
433 STREAM_TYPE *pStreamType);
434
435 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
436 IAMMultiMediaStream *This,
437 REFMSPID idPurpose,
438 IMediaStream **ppMediaStream);
439
440 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)(
441 IAMMultiMediaStream *This,
442 LONG Index,
443 IMediaStream **ppMediaStream);
444
445 HRESULT (STDMETHODCALLTYPE *GetState)(
446 IAMMultiMediaStream *This,
447 STREAM_STATE *pCurrentState);
448
449 HRESULT (STDMETHODCALLTYPE *SetState)(
450 IAMMultiMediaStream *This,
451 STREAM_STATE NewState);
452
453 HRESULT (STDMETHODCALLTYPE *GetTime)(
454 IAMMultiMediaStream *This,
455 STREAM_TIME *pCurrentTime);
456
457 HRESULT (STDMETHODCALLTYPE *GetDuration)(
458 IAMMultiMediaStream *This,
459 STREAM_TIME *pDuration);
460
461 HRESULT (STDMETHODCALLTYPE *Seek)(
462 IAMMultiMediaStream *This,
463 STREAM_TIME SeekTime);
464
465 HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)(
466 IAMMultiMediaStream *This,
467 HANDLE *phEOS);
468
469 /*** IAMMultiMediaStream methods ***/
470 HRESULT (STDMETHODCALLTYPE *Initialize)(
471 IAMMultiMediaStream *This,
472 STREAM_TYPE StreamType,
473 DWORD dwFlags,
474 IGraphBuilder *pFilterGraph);
475
476 HRESULT (STDMETHODCALLTYPE *GetFilterGraph)(
477 IAMMultiMediaStream *This,
478 IGraphBuilder **ppGraphBuilder);
479
480 HRESULT (STDMETHODCALLTYPE *GetFilter)(
481 IAMMultiMediaStream *This,
482 IMediaStreamFilter **ppFilter);
483
484 HRESULT (STDMETHODCALLTYPE *AddMediaStream)(
485 IAMMultiMediaStream *This,
486 IUnknown *pStreamObject,
487 const MSPID *PurposeId,
488 DWORD dwFlags,
489 IMediaStream **ppNewStream);
490
491 HRESULT (STDMETHODCALLTYPE *OpenFile)(
492 IAMMultiMediaStream *This,
493 LPCWSTR pszFileName,
494 DWORD dwFlags);
495
496 HRESULT (STDMETHODCALLTYPE *OpenMoniker)(
497 IAMMultiMediaStream *This,
498 IBindCtx *pCtx,
499 IMoniker *pMoniker,
500 DWORD dwFlags);
501
502 HRESULT (STDMETHODCALLTYPE *Render)(
503 IAMMultiMediaStream *This,
504 DWORD dwFlags);
505
506 END_INTERFACE
507} IAMMultiMediaStreamVtbl;
508
509interface IAMMultiMediaStream {
510 CONST_VTBL IAMMultiMediaStreamVtbl* lpVtbl;
511};
512
513#ifdef COBJMACROS
514#ifndef WIDL_C_INLINE_WRAPPERS
515/*** IUnknown methods ***/
516#define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
517#define IAMMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
518#define IAMMultiMediaStream_Release(This) (This)->lpVtbl->Release(This)
519/*** IMultiMediaStream methods ***/
520#define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType)
521#define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream)
522#define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream)
523#define IAMMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState)
524#define IAMMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState)
525#define IAMMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime)
526#define IAMMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
527#define IAMMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime)
528#define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS)
529/*** IAMMultiMediaStream methods ***/
530#define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph) (This)->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph)
531#define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder) (This)->lpVtbl->GetFilterGraph(This,ppGraphBuilder)
532#define IAMMultiMediaStream_GetFilter(This,ppFilter) (This)->lpVtbl->GetFilter(This,ppFilter)
533#define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) (This)->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream)
534#define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags) (This)->lpVtbl->OpenFile(This,pszFileName,dwFlags)
535#define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags) (This)->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags)
536#define IAMMultiMediaStream_Render(This,dwFlags) (This)->lpVtbl->Render(This,dwFlags)
537#else
538/*** IUnknown methods ***/
539static FORCEINLINE HRESULT IAMMultiMediaStream_QueryInterface(IAMMultiMediaStream* This,REFIID riid,void **ppvObject) {
540 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
541}
542static FORCEINLINE ULONG IAMMultiMediaStream_AddRef(IAMMultiMediaStream* This) {
543 return This->lpVtbl->AddRef(This);
544}
545static FORCEINLINE ULONG IAMMultiMediaStream_Release(IAMMultiMediaStream* This) {
546 return This->lpVtbl->Release(This);
547}
548/*** IMultiMediaStream methods ***/
549static FORCEINLINE HRESULT IAMMultiMediaStream_GetInformation(IAMMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) {
550 return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType);
551}
552static FORCEINLINE HRESULT IAMMultiMediaStream_GetMediaStream(IAMMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) {
553 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream);
554}
555static FORCEINLINE HRESULT IAMMultiMediaStream_EnumMediaStreams(IAMMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) {
556 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream);
557}
558static FORCEINLINE HRESULT IAMMultiMediaStream_GetState(IAMMultiMediaStream* This,STREAM_STATE *pCurrentState) {
559 return This->lpVtbl->GetState(This,pCurrentState);
560}
561static FORCEINLINE HRESULT IAMMultiMediaStream_SetState(IAMMultiMediaStream* This,STREAM_STATE NewState) {
562 return This->lpVtbl->SetState(This,NewState);
563}
564static FORCEINLINE HRESULT IAMMultiMediaStream_GetTime(IAMMultiMediaStream* This,STREAM_TIME *pCurrentTime) {
565 return This->lpVtbl->GetTime(This,pCurrentTime);
566}
567static FORCEINLINE HRESULT IAMMultiMediaStream_GetDuration(IAMMultiMediaStream* This,STREAM_TIME *pDuration) {
568 return This->lpVtbl->GetDuration(This,pDuration);
569}
570static FORCEINLINE HRESULT IAMMultiMediaStream_Seek(IAMMultiMediaStream* This,STREAM_TIME SeekTime) {
571 return This->lpVtbl->Seek(This,SeekTime);
572}
573static FORCEINLINE HRESULT IAMMultiMediaStream_GetEndOfStreamEventHandle(IAMMultiMediaStream* This,HANDLE *phEOS) {
574 return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS);
575}
576/*** IAMMultiMediaStream methods ***/
577static FORCEINLINE HRESULT IAMMultiMediaStream_Initialize(IAMMultiMediaStream* This,STREAM_TYPE StreamType,DWORD dwFlags,IGraphBuilder *pFilterGraph) {
578 return This->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph);
579}
580static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilterGraph(IAMMultiMediaStream* This,IGraphBuilder **ppGraphBuilder) {
581 return This->lpVtbl->GetFilterGraph(This,ppGraphBuilder);
582}
583static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilter(IAMMultiMediaStream* This,IMediaStreamFilter **ppFilter) {
584 return This->lpVtbl->GetFilter(This,ppFilter);
585}
586static FORCEINLINE HRESULT IAMMultiMediaStream_AddMediaStream(IAMMultiMediaStream* This,IUnknown *pStreamObject,const MSPID *PurposeId,DWORD dwFlags,IMediaStream **ppNewStream) {
587 return This->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream);
588}
589static FORCEINLINE HRESULT IAMMultiMediaStream_OpenFile(IAMMultiMediaStream* This,LPCWSTR pszFileName,DWORD dwFlags) {
590 return This->lpVtbl->OpenFile(This,pszFileName,dwFlags);
591}
592static FORCEINLINE HRESULT IAMMultiMediaStream_OpenMoniker(IAMMultiMediaStream* This,IBindCtx *pCtx,IMoniker *pMoniker,DWORD dwFlags) {
593 return This->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags);
594}
595static FORCEINLINE HRESULT IAMMultiMediaStream_Render(IAMMultiMediaStream* This,DWORD dwFlags) {
596 return This->lpVtbl->Render(This,dwFlags);
597}
598#endif
599#endif
600
601#endif
602
603
604#endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */
605
606/*****************************************************************************
607 * IAMMediaStream interface
608 */
609#ifndef __IAMMediaStream_INTERFACE_DEFINED__
610#define __IAMMediaStream_INTERFACE_DEFINED__
611
612DEFINE_GUID(IID_IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
613#if defined(__cplusplus) && !defined(CINTERFACE)
614MIDL_INTERFACE("bebe595d-9a6f-11d0-8fde-00c04fd9189d")
615IAMMediaStream : public IMediaStream
616{
617 virtual HRESULT STDMETHODCALLTYPE Initialize(
618 IUnknown *pSourceObject,
619 DWORD dwFlags,
620 REFMSPID PurposeId,
621 const STREAM_TYPE StreamType) = 0;
622
623 virtual HRESULT STDMETHODCALLTYPE SetState(
624 FILTER_STATE State) = 0;
625
626 virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream(
627 IAMMultiMediaStream *pAMMultiMediaStream) = 0;
628
629 virtual HRESULT STDMETHODCALLTYPE JoinFilter(
630 IMediaStreamFilter *pMediaStreamFilter) = 0;
631
632 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
633 IFilterGraph *pFilterGraph) = 0;
634
635};
636#ifdef __CRT_UUID_DECL
637__CRT_UUID_DECL(IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
638#endif
639#else
640typedef struct IAMMediaStreamVtbl {
641 BEGIN_INTERFACE
642
643 /*** IUnknown methods ***/
644 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
645 IAMMediaStream *This,
646 REFIID riid,
647 void **ppvObject);
648
649 ULONG (STDMETHODCALLTYPE *AddRef)(
650 IAMMediaStream *This);
651
652 ULONG (STDMETHODCALLTYPE *Release)(
653 IAMMediaStream *This);
654
655 /*** IMediaStream methods ***/
656 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
657 IAMMediaStream *This,
658 IMultiMediaStream **ppMultiMediaStream);
659
660 HRESULT (STDMETHODCALLTYPE *GetInformation)(
661 IAMMediaStream *This,
662 MSPID *pPurposeId,
663 STREAM_TYPE *pType);
664
665 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
666 IAMMediaStream *This,
667 IMediaStream *pStreamThatHasDesiredFormat,
668 DWORD dwFlags);
669
670 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
671 IAMMediaStream *This,
672 DWORD dwFlags,
673 IStreamSample **ppSample);
674
675 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
676 IAMMediaStream *This,
677 IStreamSample *pExistingSample,
678 DWORD dwFlags,
679 IStreamSample **ppNewSample);
680
681 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
682 IAMMediaStream *This,
683 DWORD dwFlags);
684
685 /*** IAMMediaStream methods ***/
686 HRESULT (STDMETHODCALLTYPE *Initialize)(
687 IAMMediaStream *This,
688 IUnknown *pSourceObject,
689 DWORD dwFlags,
690 REFMSPID PurposeId,
691 const STREAM_TYPE StreamType);
692
693 HRESULT (STDMETHODCALLTYPE *SetState)(
694 IAMMediaStream *This,
695 FILTER_STATE State);
696
697 HRESULT (STDMETHODCALLTYPE *JoinAMMultiMediaStream)(
698 IAMMediaStream *This,
699 IAMMultiMediaStream *pAMMultiMediaStream);
700
701 HRESULT (STDMETHODCALLTYPE *JoinFilter)(
702 IAMMediaStream *This,
703 IMediaStreamFilter *pMediaStreamFilter);
704
705 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)(
706 IAMMediaStream *This,
707 IFilterGraph *pFilterGraph);
708
709 END_INTERFACE
710} IAMMediaStreamVtbl;
711
712interface IAMMediaStream {
713 CONST_VTBL IAMMediaStreamVtbl* lpVtbl;
714};
715
716#ifdef COBJMACROS
717#ifndef WIDL_C_INLINE_WRAPPERS
718/*** IUnknown methods ***/
719#define IAMMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
720#define IAMMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
721#define IAMMediaStream_Release(This) (This)->lpVtbl->Release(This)
722/*** IMediaStream methods ***/
723#define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
724#define IAMMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
725#define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
726#define IAMMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
727#define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
728#define IAMMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
729/*** IAMMediaStream methods ***/
730#define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) (This)->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)
731#define IAMMediaStream_SetState(This,State) (This)->lpVtbl->SetState(This,State)
732#define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream) (This)->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream)
733#define IAMMediaStream_JoinFilter(This,pMediaStreamFilter) (This)->lpVtbl->JoinFilter(This,pMediaStreamFilter)
734#define IAMMediaStream_JoinFilterGraph(This,pFilterGraph) (This)->lpVtbl->JoinFilterGraph(This,pFilterGraph)
735#else
736/*** IUnknown methods ***/
737static FORCEINLINE HRESULT IAMMediaStream_QueryInterface(IAMMediaStream* This,REFIID riid,void **ppvObject) {
738 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
739}
740static FORCEINLINE ULONG IAMMediaStream_AddRef(IAMMediaStream* This) {
741 return This->lpVtbl->AddRef(This);
742}
743static FORCEINLINE ULONG IAMMediaStream_Release(IAMMediaStream* This) {
744 return This->lpVtbl->Release(This);
745}
746/*** IMediaStream methods ***/
747static FORCEINLINE HRESULT IAMMediaStream_GetMultiMediaStream(IAMMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
748 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
749}
750static FORCEINLINE HRESULT IAMMediaStream_GetInformation(IAMMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
751 return This->lpVtbl->GetInformation(This,pPurposeId,pType);
752}
753static FORCEINLINE HRESULT IAMMediaStream_SetSameFormat(IAMMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
754 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
755}
756static FORCEINLINE HRESULT IAMMediaStream_AllocateSample(IAMMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
757 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
758}
759static FORCEINLINE HRESULT IAMMediaStream_CreateSharedSample(IAMMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
760 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
761}
762static FORCEINLINE HRESULT IAMMediaStream_SendEndOfStream(IAMMediaStream* This,DWORD dwFlags) {
763 return This->lpVtbl->SendEndOfStream(This,dwFlags);
764}
765/*** IAMMediaStream methods ***/
766static FORCEINLINE HRESULT IAMMediaStream_Initialize(IAMMediaStream* This,IUnknown *pSourceObject,DWORD dwFlags,REFMSPID PurposeId,const STREAM_TYPE StreamType) {
767 return This->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType);
768}
769static FORCEINLINE HRESULT IAMMediaStream_SetState(IAMMediaStream* This,FILTER_STATE State) {
770 return This->lpVtbl->SetState(This,State);
771}
772static FORCEINLINE HRESULT IAMMediaStream_JoinAMMultiMediaStream(IAMMediaStream* This,IAMMultiMediaStream *pAMMultiMediaStream) {
773 return This->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream);
774}
775static FORCEINLINE HRESULT IAMMediaStream_JoinFilter(IAMMediaStream* This,IMediaStreamFilter *pMediaStreamFilter) {
776 return This->lpVtbl->JoinFilter(This,pMediaStreamFilter);
777}
778static FORCEINLINE HRESULT IAMMediaStream_JoinFilterGraph(IAMMediaStream* This,IFilterGraph *pFilterGraph) {
779 return This->lpVtbl->JoinFilterGraph(This,pFilterGraph);
780}
781#endif
782#endif
783
784#endif
785
786
787#endif /* __IAMMediaStream_INTERFACE_DEFINED__ */
788
789/*****************************************************************************
790 * IMediaStreamFilter interface
791 */
792#ifndef __IMediaStreamFilter_INTERFACE_DEFINED__
793#define __IMediaStreamFilter_INTERFACE_DEFINED__
794
795DEFINE_GUID(IID_IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
796#if defined(__cplusplus) && !defined(CINTERFACE)
797MIDL_INTERFACE("bebe595e-9a6f-11d0-8fde-00c04fd9189d")
798IMediaStreamFilter : public IBaseFilter
799{
800 virtual HRESULT STDMETHODCALLTYPE AddMediaStream(
801 IAMMediaStream *pAMMediaStream) = 0;
802
803 virtual HRESULT STDMETHODCALLTYPE GetMediaStream(
804 REFMSPID idPurpose,
805 IMediaStream **ppMediaStream) = 0;
806
807 virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams(
808 LONG Index,
809 IMediaStream **ppMediaStream) = 0;
810
811 virtual HRESULT STDMETHODCALLTYPE SupportSeeking(
812 WINBOOL bRenderer) = 0;
813
814 virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime(
815 REFERENCE_TIME *pTime) = 0;
816
817 virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime(
818 REFERENCE_TIME *pCurrentStreamTime) = 0;
819
820 virtual HRESULT STDMETHODCALLTYPE WaitUntil(
821 REFERENCE_TIME WaitStreamTime) = 0;
822
823 virtual HRESULT STDMETHODCALLTYPE Flush(
824 WINBOOL bCancelEOS) = 0;
825
826 virtual HRESULT STDMETHODCALLTYPE EndOfStream(
827 ) = 0;
828
829};
830#ifdef __CRT_UUID_DECL
831__CRT_UUID_DECL(IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
832#endif
833#else
834typedef struct IMediaStreamFilterVtbl {
835 BEGIN_INTERFACE
836
837 /*** IUnknown methods ***/
838 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
839 IMediaStreamFilter *This,
840 REFIID riid,
841 void **ppvObject);
842
843 ULONG (STDMETHODCALLTYPE *AddRef)(
844 IMediaStreamFilter *This);
845
846 ULONG (STDMETHODCALLTYPE *Release)(
847 IMediaStreamFilter *This);
848
849 /*** IPersist methods ***/
850 HRESULT (STDMETHODCALLTYPE *GetClassID)(
851 IMediaStreamFilter *This,
852 CLSID *pClassID);
853
854 /*** IMediaFilter methods ***/
855 HRESULT (STDMETHODCALLTYPE *Stop)(
856 IMediaStreamFilter *This);
857
858 HRESULT (STDMETHODCALLTYPE *Pause)(
859 IMediaStreamFilter *This);
860
861 HRESULT (STDMETHODCALLTYPE *Run)(
862 IMediaStreamFilter *This,
863 REFERENCE_TIME tStart);
864
865 HRESULT (STDMETHODCALLTYPE *GetState)(
866 IMediaStreamFilter *This,
867 DWORD dwMilliSecsTimeout,
868 FILTER_STATE *State);
869
870 HRESULT (STDMETHODCALLTYPE *SetSyncSource)(
871 IMediaStreamFilter *This,
872 IReferenceClock *pClock);
873
874 HRESULT (STDMETHODCALLTYPE *GetSyncSource)(
875 IMediaStreamFilter *This,
876 IReferenceClock **pClock);
877
878 /*** IBaseFilter methods ***/
879 HRESULT (STDMETHODCALLTYPE *EnumPins)(
880 IMediaStreamFilter *This,
881 IEnumPins **ppEnum);
882
883 HRESULT (STDMETHODCALLTYPE *FindPin)(
884 IMediaStreamFilter *This,
885 LPCWSTR Id,
886 IPin **ppPin);
887
888 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)(
889 IMediaStreamFilter *This,
890 FILTER_INFO *pInfo);
891
892 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)(
893 IMediaStreamFilter *This,
894 IFilterGraph *pGraph,
895 LPCWSTR pName);
896
897 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)(
898 IMediaStreamFilter *This,
899 LPWSTR *pVendorInfo);
900
901 /*** IMediaStreamFilter methods ***/
902 HRESULT (STDMETHODCALLTYPE *AddMediaStream)(
903 IMediaStreamFilter *This,
904 IAMMediaStream *pAMMediaStream);
905
906 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
907 IMediaStreamFilter *This,
908 REFMSPID idPurpose,
909 IMediaStream **ppMediaStream);
910
911 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)(
912 IMediaStreamFilter *This,
913 LONG Index,
914 IMediaStream **ppMediaStream);
915
916 HRESULT (STDMETHODCALLTYPE *SupportSeeking)(
917 IMediaStreamFilter *This,
918 WINBOOL bRenderer);
919
920 HRESULT (STDMETHODCALLTYPE *ReferenceTimeToStreamTime)(
921 IMediaStreamFilter *This,
922 REFERENCE_TIME *pTime);
923
924 HRESULT (STDMETHODCALLTYPE *GetCurrentStreamTime)(
925 IMediaStreamFilter *This,
926 REFERENCE_TIME *pCurrentStreamTime);
927
928 HRESULT (STDMETHODCALLTYPE *WaitUntil)(
929 IMediaStreamFilter *This,
930 REFERENCE_TIME WaitStreamTime);
931
932 HRESULT (STDMETHODCALLTYPE *Flush)(
933 IMediaStreamFilter *This,
934 WINBOOL bCancelEOS);
935
936 HRESULT (STDMETHODCALLTYPE *EndOfStream)(
937 IMediaStreamFilter *This);
938
939 END_INTERFACE
940} IMediaStreamFilterVtbl;
941
942interface IMediaStreamFilter {
943 CONST_VTBL IMediaStreamFilterVtbl* lpVtbl;
944};
945
946#ifdef COBJMACROS
947#ifndef WIDL_C_INLINE_WRAPPERS
948/*** IUnknown methods ***/
949#define IMediaStreamFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
950#define IMediaStreamFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
951#define IMediaStreamFilter_Release(This) (This)->lpVtbl->Release(This)
952/*** IPersist methods ***/
953#define IMediaStreamFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
954/*** IMediaFilter methods ***/
955#define IMediaStreamFilter_Stop(This) (This)->lpVtbl->Stop(This)
956#define IMediaStreamFilter_Pause(This) (This)->lpVtbl->Pause(This)
957#define IMediaStreamFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
958#define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
959#define IMediaStreamFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
960#define IMediaStreamFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
961/*** IBaseFilter methods ***/
962#define IMediaStreamFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum)
963#define IMediaStreamFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin)
964#define IMediaStreamFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo)
965#define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName)
966#define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo)
967/*** IMediaStreamFilter methods ***/
968#define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream) (This)->lpVtbl->AddMediaStream(This,pAMMediaStream)
969#define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream)
970#define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream)
971#define IMediaStreamFilter_SupportSeeking(This,bRenderer) (This)->lpVtbl->SupportSeeking(This,bRenderer)
972#define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime) (This)->lpVtbl->ReferenceTimeToStreamTime(This,pTime)
973#define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime) (This)->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime)
974#define IMediaStreamFilter_WaitUntil(This,WaitStreamTime) (This)->lpVtbl->WaitUntil(This,WaitStreamTime)
975#define IMediaStreamFilter_Flush(This,bCancelEOS) (This)->lpVtbl->Flush(This,bCancelEOS)
976#define IMediaStreamFilter_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
977#else
978/*** IUnknown methods ***/
979static FORCEINLINE HRESULT IMediaStreamFilter_QueryInterface(IMediaStreamFilter* This,REFIID riid,void **ppvObject) {
980 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
981}
982static FORCEINLINE ULONG IMediaStreamFilter_AddRef(IMediaStreamFilter* This) {
983 return This->lpVtbl->AddRef(This);
984}
985static FORCEINLINE ULONG IMediaStreamFilter_Release(IMediaStreamFilter* This) {
986 return This->lpVtbl->Release(This);
987}
988/*** IPersist methods ***/
989static FORCEINLINE HRESULT IMediaStreamFilter_GetClassID(IMediaStreamFilter* This,CLSID *pClassID) {
990 return This->lpVtbl->GetClassID(This,pClassID);
991}
992/*** IMediaFilter methods ***/
993static FORCEINLINE HRESULT IMediaStreamFilter_Stop(IMediaStreamFilter* This) {
994 return This->lpVtbl->Stop(This);
995}
996static FORCEINLINE HRESULT IMediaStreamFilter_Pause(IMediaStreamFilter* This) {
997 return This->lpVtbl->Pause(This);
998}
999static FORCEINLINE HRESULT IMediaStreamFilter_Run(IMediaStreamFilter* This,REFERENCE_TIME tStart) {
1000 return This->lpVtbl->Run(This,tStart);
1001}
1002static FORCEINLINE HRESULT IMediaStreamFilter_GetState(IMediaStreamFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
1003 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
1004}
1005static FORCEINLINE HRESULT IMediaStreamFilter_SetSyncSource(IMediaStreamFilter* This,IReferenceClock *pClock) {
1006 return This->lpVtbl->SetSyncSource(This,pClock);
1007}
1008static FORCEINLINE HRESULT IMediaStreamFilter_GetSyncSource(IMediaStreamFilter* This,IReferenceClock **pClock) {
1009 return This->lpVtbl->GetSyncSource(This,pClock);
1010}
1011/*** IBaseFilter methods ***/
1012static FORCEINLINE HRESULT IMediaStreamFilter_EnumPins(IMediaStreamFilter* This,IEnumPins **ppEnum) {
1013 return This->lpVtbl->EnumPins(This,ppEnum);
1014}
1015static FORCEINLINE HRESULT IMediaStreamFilter_FindPin(IMediaStreamFilter* This,LPCWSTR Id,IPin **ppPin) {
1016 return This->lpVtbl->FindPin(This,Id,ppPin);
1017}
1018static FORCEINLINE HRESULT IMediaStreamFilter_QueryFilterInfo(IMediaStreamFilter* This,FILTER_INFO *pInfo) {
1019 return This->lpVtbl->QueryFilterInfo(This,pInfo);
1020}
1021static FORCEINLINE HRESULT IMediaStreamFilter_JoinFilterGraph(IMediaStreamFilter* This,IFilterGraph *pGraph,LPCWSTR pName) {
1022 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName);
1023}
1024static FORCEINLINE HRESULT IMediaStreamFilter_QueryVendorInfo(IMediaStreamFilter* This,LPWSTR *pVendorInfo) {
1025 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo);
1026}
1027/*** IMediaStreamFilter methods ***/
1028static FORCEINLINE HRESULT IMediaStreamFilter_AddMediaStream(IMediaStreamFilter* This,IAMMediaStream *pAMMediaStream) {
1029 return This->lpVtbl->AddMediaStream(This,pAMMediaStream);
1030}
1031static FORCEINLINE HRESULT IMediaStreamFilter_GetMediaStream(IMediaStreamFilter* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) {
1032 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream);
1033}
1034static FORCEINLINE HRESULT IMediaStreamFilter_EnumMediaStreams(IMediaStreamFilter* This,LONG Index,IMediaStream **ppMediaStream) {
1035 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream);
1036}
1037static FORCEINLINE HRESULT IMediaStreamFilter_SupportSeeking(IMediaStreamFilter* This,WINBOOL bRenderer) {
1038 return This->lpVtbl->SupportSeeking(This,bRenderer);
1039}
1040static FORCEINLINE HRESULT IMediaStreamFilter_ReferenceTimeToStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pTime) {
1041 return This->lpVtbl->ReferenceTimeToStreamTime(This,pTime);
1042}
1043static FORCEINLINE HRESULT IMediaStreamFilter_GetCurrentStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pCurrentStreamTime) {
1044 return This->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime);
1045}
1046static FORCEINLINE HRESULT IMediaStreamFilter_WaitUntil(IMediaStreamFilter* This,REFERENCE_TIME WaitStreamTime) {
1047 return This->lpVtbl->WaitUntil(This,WaitStreamTime);
1048}
1049static FORCEINLINE HRESULT IMediaStreamFilter_Flush(IMediaStreamFilter* This,WINBOOL bCancelEOS) {
1050 return This->lpVtbl->Flush(This,bCancelEOS);
1051}
1052static FORCEINLINE HRESULT IMediaStreamFilter_EndOfStream(IMediaStreamFilter* This) {
1053 return This->lpVtbl->EndOfStream(This);
1054}
1055#endif
1056#endif
1057
1058#endif
1059
1060
1061#endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */
1062
1063/*****************************************************************************
1064 * IDirectDrawMediaSampleAllocator interface
1065 */
1066#ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
1067#define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
1068
1069DEFINE_GUID(IID_IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1070#if defined(__cplusplus) && !defined(CINTERFACE)
1071MIDL_INTERFACE("ab6b4afc-f6e4-11d0-900d-00c04fd9189d")
1072IDirectDrawMediaSampleAllocator : public IUnknown
1073{
1074 virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
1075 IDirectDraw **ppDirectDraw) = 0;
1076
1077};
1078#ifdef __CRT_UUID_DECL
1079__CRT_UUID_DECL(IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
1080#endif
1081#else
1082typedef struct IDirectDrawMediaSampleAllocatorVtbl {
1083 BEGIN_INTERFACE
1084
1085 /*** IUnknown methods ***/
1086 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1087 IDirectDrawMediaSampleAllocator *This,
1088 REFIID riid,
1089 void **ppvObject);
1090
1091 ULONG (STDMETHODCALLTYPE *AddRef)(
1092 IDirectDrawMediaSampleAllocator *This);
1093
1094 ULONG (STDMETHODCALLTYPE *Release)(
1095 IDirectDrawMediaSampleAllocator *This);
1096
1097 /*** IDirectDrawMediaSampleAllocator methods ***/
1098 HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
1099 IDirectDrawMediaSampleAllocator *This,
1100 IDirectDraw **ppDirectDraw);
1101
1102 END_INTERFACE
1103} IDirectDrawMediaSampleAllocatorVtbl;
1104
1105interface IDirectDrawMediaSampleAllocator {
1106 CONST_VTBL IDirectDrawMediaSampleAllocatorVtbl* lpVtbl;
1107};
1108
1109#ifdef COBJMACROS
1110#ifndef WIDL_C_INLINE_WRAPPERS
1111/*** IUnknown methods ***/
1112#define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1113#define IDirectDrawMediaSampleAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
1114#define IDirectDrawMediaSampleAllocator_Release(This) (This)->lpVtbl->Release(This)
1115/*** IDirectDrawMediaSampleAllocator methods ***/
1116#define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw)
1117#else
1118/*** IUnknown methods ***/
1119static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_QueryInterface(IDirectDrawMediaSampleAllocator* This,REFIID riid,void **ppvObject) {
1120 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1121}
1122static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_AddRef(IDirectDrawMediaSampleAllocator* This) {
1123 return This->lpVtbl->AddRef(This);
1124}
1125static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_Release(IDirectDrawMediaSampleAllocator* This) {
1126 return This->lpVtbl->Release(This);
1127}
1128/*** IDirectDrawMediaSampleAllocator methods ***/
1129static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_GetDirectDraw(IDirectDrawMediaSampleAllocator* This,IDirectDraw **ppDirectDraw) {
1130 return This->lpVtbl->GetDirectDraw(This,ppDirectDraw);
1131}
1132#endif
1133#endif
1134
1135#endif
1136
1137
1138#endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */
1139
1140/*****************************************************************************
1141 * IDirectDrawMediaSample interface
1142 */
1143#ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__
1144#define __IDirectDrawMediaSample_INTERFACE_DEFINED__
1145
1146DEFINE_GUID(IID_IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1147#if defined(__cplusplus) && !defined(CINTERFACE)
1148MIDL_INTERFACE("ab6b4afe-f6e4-11d0-900d-00c04fd9189d")
1149IDirectDrawMediaSample : public IUnknown
1150{
1151 virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock(
1152 IDirectDrawSurface **ppDirectDrawSurface,
1153 RECT *pRect) = 0;
1154
1155 virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer(
1156 ) = 0;
1157
1158};
1159#ifdef __CRT_UUID_DECL
1160__CRT_UUID_DECL(IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
1161#endif
1162#else
1163typedef struct IDirectDrawMediaSampleVtbl {
1164 BEGIN_INTERFACE
1165
1166 /*** IUnknown methods ***/
1167 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1168 IDirectDrawMediaSample *This,
1169 REFIID riid,
1170 void **ppvObject);
1171
1172 ULONG (STDMETHODCALLTYPE *AddRef)(
1173 IDirectDrawMediaSample *This);
1174
1175 ULONG (STDMETHODCALLTYPE *Release)(
1176 IDirectDrawMediaSample *This);
1177
1178 /*** IDirectDrawMediaSample methods ***/
1179 HRESULT (STDMETHODCALLTYPE *GetSurfaceAndReleaseLock)(
1180 IDirectDrawMediaSample *This,
1181 IDirectDrawSurface **ppDirectDrawSurface,
1182 RECT *pRect);
1183
1184 HRESULT (STDMETHODCALLTYPE *LockMediaSamplePointer)(
1185 IDirectDrawMediaSample *This);
1186
1187 END_INTERFACE
1188} IDirectDrawMediaSampleVtbl;
1189
1190interface IDirectDrawMediaSample {
1191 CONST_VTBL IDirectDrawMediaSampleVtbl* lpVtbl;
1192};
1193
1194#ifdef COBJMACROS
1195#ifndef WIDL_C_INLINE_WRAPPERS
1196/*** IUnknown methods ***/
1197#define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1198#define IDirectDrawMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
1199#define IDirectDrawMediaSample_Release(This) (This)->lpVtbl->Release(This)
1200/*** IDirectDrawMediaSample methods ***/
1201#define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) (This)->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)
1202#define IDirectDrawMediaSample_LockMediaSamplePointer(This) (This)->lpVtbl->LockMediaSamplePointer(This)
1203#else
1204/*** IUnknown methods ***/
1205static FORCEINLINE HRESULT IDirectDrawMediaSample_QueryInterface(IDirectDrawMediaSample* This,REFIID riid,void **ppvObject) {
1206 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1207}
1208static FORCEINLINE ULONG IDirectDrawMediaSample_AddRef(IDirectDrawMediaSample* This) {
1209 return This->lpVtbl->AddRef(This);
1210}
1211static FORCEINLINE ULONG IDirectDrawMediaSample_Release(IDirectDrawMediaSample* This) {
1212 return This->lpVtbl->Release(This);
1213}
1214/*** IDirectDrawMediaSample methods ***/
1215static FORCEINLINE HRESULT IDirectDrawMediaSample_GetSurfaceAndReleaseLock(IDirectDrawMediaSample* This,IDirectDrawSurface **ppDirectDrawSurface,RECT *pRect) {
1216 return This->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect);
1217}
1218static FORCEINLINE HRESULT IDirectDrawMediaSample_LockMediaSamplePointer(IDirectDrawMediaSample* This) {
1219 return This->lpVtbl->LockMediaSamplePointer(This);
1220}
1221#endif
1222#endif
1223
1224#endif
1225
1226
1227#endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */
1228
1229/*****************************************************************************
1230 * IAMMediaTypeStream interface
1231 */
1232#ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__
1233#define __IAMMediaTypeStream_INTERFACE_DEFINED__
1234
1235DEFINE_GUID(IID_IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1236#if defined(__cplusplus) && !defined(CINTERFACE)
1237MIDL_INTERFACE("ab6b4afa-f6e4-11d0-900d-00c04fd9189d")
1238IAMMediaTypeStream : public IMediaStream
1239{
1240 virtual HRESULT STDMETHODCALLTYPE GetFormat(
1241 AM_MEDIA_TYPE *pMediaType,
1242 DWORD dwFlags) = 0;
1243
1244 virtual HRESULT STDMETHODCALLTYPE SetFormat(
1245 AM_MEDIA_TYPE *pMediaType,
1246 DWORD dwFlags) = 0;
1247
1248 virtual HRESULT STDMETHODCALLTYPE CreateSample(
1249 LONG lSampleSize,
1250 BYTE *pbBuffer,
1251 DWORD dwFlags,
1252 IUnknown *pUnkOuter,
1253 IAMMediaTypeSample **ppAMMediaTypeSample) = 0;
1254
1255 virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements(
1256 ALLOCATOR_PROPERTIES *pProps) = 0;
1257
1258 virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements(
1259 ALLOCATOR_PROPERTIES *pProps) = 0;
1260
1261};
1262#ifdef __CRT_UUID_DECL
1263__CRT_UUID_DECL(IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
1264#endif
1265#else
1266typedef struct IAMMediaTypeStreamVtbl {
1267 BEGIN_INTERFACE
1268
1269 /*** IUnknown methods ***/
1270 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1271 IAMMediaTypeStream *This,
1272 REFIID riid,
1273 void **ppvObject);
1274
1275 ULONG (STDMETHODCALLTYPE *AddRef)(
1276 IAMMediaTypeStream *This);
1277
1278 ULONG (STDMETHODCALLTYPE *Release)(
1279 IAMMediaTypeStream *This);
1280
1281 /*** IMediaStream methods ***/
1282 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
1283 IAMMediaTypeStream *This,
1284 IMultiMediaStream **ppMultiMediaStream);
1285
1286 HRESULT (STDMETHODCALLTYPE *GetInformation)(
1287 IAMMediaTypeStream *This,
1288 MSPID *pPurposeId,
1289 STREAM_TYPE *pType);
1290
1291 HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
1292 IAMMediaTypeStream *This,
1293 IMediaStream *pStreamThatHasDesiredFormat,
1294 DWORD dwFlags);
1295
1296 HRESULT (STDMETHODCALLTYPE *AllocateSample)(
1297 IAMMediaTypeStream *This,
1298 DWORD dwFlags,
1299 IStreamSample **ppSample);
1300
1301 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
1302 IAMMediaTypeStream *This,
1303 IStreamSample *pExistingSample,
1304 DWORD dwFlags,
1305 IStreamSample **ppNewSample);
1306
1307 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
1308 IAMMediaTypeStream *This,
1309 DWORD dwFlags);
1310
1311 /*** IAMMediaTypeStream methods ***/
1312 HRESULT (STDMETHODCALLTYPE *GetFormat)(
1313 IAMMediaTypeStream *This,
1314 AM_MEDIA_TYPE *pMediaType,
1315 DWORD dwFlags);
1316
1317 HRESULT (STDMETHODCALLTYPE *SetFormat)(
1318 IAMMediaTypeStream *This,
1319 AM_MEDIA_TYPE *pMediaType,
1320 DWORD dwFlags);
1321
1322 HRESULT (STDMETHODCALLTYPE *CreateSample)(
1323 IAMMediaTypeStream *This,
1324 LONG lSampleSize,
1325 BYTE *pbBuffer,
1326 DWORD dwFlags,
1327 IUnknown *pUnkOuter,
1328 IAMMediaTypeSample **ppAMMediaTypeSample);
1329
1330 HRESULT (STDMETHODCALLTYPE *GetStreamAllocatorRequirements)(
1331 IAMMediaTypeStream *This,
1332 ALLOCATOR_PROPERTIES *pProps);
1333
1334 HRESULT (STDMETHODCALLTYPE *SetStreamAllocatorRequirements)(
1335 IAMMediaTypeStream *This,
1336 ALLOCATOR_PROPERTIES *pProps);
1337
1338 END_INTERFACE
1339} IAMMediaTypeStreamVtbl;
1340
1341interface IAMMediaTypeStream {
1342 CONST_VTBL IAMMediaTypeStreamVtbl* lpVtbl;
1343};
1344
1345#ifdef COBJMACROS
1346#ifndef WIDL_C_INLINE_WRAPPERS
1347/*** IUnknown methods ***/
1348#define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1349#define IAMMediaTypeStream_AddRef(This) (This)->lpVtbl->AddRef(This)
1350#define IAMMediaTypeStream_Release(This) (This)->lpVtbl->Release(This)
1351/*** IMediaStream methods ***/
1352#define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
1353#define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
1354#define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
1355#define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
1356#define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
1357#define IAMMediaTypeStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
1358/*** IAMMediaTypeStream methods ***/
1359#define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->GetFormat(This,pMediaType,dwFlags)
1360#define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->SetFormat(This,pMediaType,dwFlags)
1361#define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) (This)->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)
1362#define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->GetStreamAllocatorRequirements(This,pProps)
1363#define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->SetStreamAllocatorRequirements(This,pProps)
1364#else
1365/*** IUnknown methods ***/
1366static FORCEINLINE HRESULT IAMMediaTypeStream_QueryInterface(IAMMediaTypeStream* This,REFIID riid,void **ppvObject) {
1367 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1368}
1369static FORCEINLINE ULONG IAMMediaTypeStream_AddRef(IAMMediaTypeStream* This) {
1370 return This->lpVtbl->AddRef(This);
1371}
1372static FORCEINLINE ULONG IAMMediaTypeStream_Release(IAMMediaTypeStream* This) {
1373 return This->lpVtbl->Release(This);
1374}
1375/*** IMediaStream methods ***/
1376static FORCEINLINE HRESULT IAMMediaTypeStream_GetMultiMediaStream(IAMMediaTypeStream* This,IMultiMediaStream **ppMultiMediaStream) {
1377 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
1378}
1379static FORCEINLINE HRESULT IAMMediaTypeStream_GetInformation(IAMMediaTypeStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
1380 return This->lpVtbl->GetInformation(This,pPurposeId,pType);
1381}
1382static FORCEINLINE HRESULT IAMMediaTypeStream_SetSameFormat(IAMMediaTypeStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
1383 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
1384}
1385static FORCEINLINE HRESULT IAMMediaTypeStream_AllocateSample(IAMMediaTypeStream* This,DWORD dwFlags,IStreamSample **ppSample) {
1386 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
1387}
1388static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSharedSample(IAMMediaTypeStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
1389 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
1390}
1391static FORCEINLINE HRESULT IAMMediaTypeStream_SendEndOfStream(IAMMediaTypeStream* This,DWORD dwFlags) {
1392 return This->lpVtbl->SendEndOfStream(This,dwFlags);
1393}
1394/*** IAMMediaTypeStream methods ***/
1395static FORCEINLINE HRESULT IAMMediaTypeStream_GetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) {
1396 return This->lpVtbl->GetFormat(This,pMediaType,dwFlags);
1397}
1398static FORCEINLINE HRESULT IAMMediaTypeStream_SetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) {
1399 return This->lpVtbl->SetFormat(This,pMediaType,dwFlags);
1400}
1401static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSample(IAMMediaTypeStream* This,LONG lSampleSize,BYTE *pbBuffer,DWORD dwFlags,IUnknown *pUnkOuter,IAMMediaTypeSample **ppAMMediaTypeSample) {
1402 return This->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample);
1403}
1404static FORCEINLINE HRESULT IAMMediaTypeStream_GetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) {
1405 return This->lpVtbl->GetStreamAllocatorRequirements(This,pProps);
1406}
1407static FORCEINLINE HRESULT IAMMediaTypeStream_SetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) {
1408 return This->lpVtbl->SetStreamAllocatorRequirements(This,pProps);
1409}
1410#endif
1411#endif
1412
1413#endif
1414
1415
1416#endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */
1417
1418/*****************************************************************************
1419 * IAMMediaTypeSample interface
1420 */
1421#ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__
1422#define __IAMMediaTypeSample_INTERFACE_DEFINED__
1423
1424DEFINE_GUID(IID_IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
1425#if defined(__cplusplus) && !defined(CINTERFACE)
1426MIDL_INTERFACE("ab6b4afb-f6e4-11d0-900d-00c04fd9189d")
1427IAMMediaTypeSample : public IStreamSample
1428{
1429 virtual HRESULT STDMETHODCALLTYPE SetPointer(
1430 BYTE *pBuffer,
1431 LONG lSize) = 0;
1432
1433 virtual HRESULT STDMETHODCALLTYPE GetPointer(
1434 BYTE **ppBuffer) = 0;
1435
1436 virtual LONG STDMETHODCALLTYPE GetSize(
1437 ) = 0;
1438
1439 virtual HRESULT STDMETHODCALLTYPE GetTime(
1440 REFERENCE_TIME *pTimeStart,
1441 REFERENCE_TIME *pTimeEnd) = 0;
1442
1443 virtual HRESULT STDMETHODCALLTYPE SetTime(
1444 REFERENCE_TIME *pTimeStart,
1445 REFERENCE_TIME *pTimeEnd) = 0;
1446
1447 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint(
1448 ) = 0;
1449
1450 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
1451 WINBOOL bIsSyncPoint) = 0;
1452
1453 virtual HRESULT STDMETHODCALLTYPE IsPreroll(
1454 ) = 0;
1455
1456 virtual HRESULT STDMETHODCALLTYPE SetPreroll(
1457 WINBOOL bIsPreroll) = 0;
1458
1459 virtual LONG STDMETHODCALLTYPE GetActualDataLength(
1460 ) = 0;
1461
1462 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
1463 LONG Len) = 0;
1464
1465 virtual HRESULT STDMETHODCALLTYPE GetMediaType(
1466 AM_MEDIA_TYPE **ppMediaType) = 0;
1467
1468 virtual HRESULT STDMETHODCALLTYPE SetMediaType(
1469 AM_MEDIA_TYPE *pMediaType) = 0;
1470
1471 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity(
1472 ) = 0;
1473
1474 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
1475 WINBOOL bDiscontinuity) = 0;
1476
1477 virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
1478 LONGLONG *pTimeStart,
1479 LONGLONG *pTimeEnd) = 0;
1480
1481 virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
1482 LONGLONG *pTimeStart,
1483 LONGLONG *pTimeEnd) = 0;
1484
1485};
1486#ifdef __CRT_UUID_DECL
1487__CRT_UUID_DECL(IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
1488#endif
1489#else
1490typedef struct IAMMediaTypeSampleVtbl {
1491 BEGIN_INTERFACE
1492
1493 /*** IUnknown methods ***/
1494 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1495 IAMMediaTypeSample *This,
1496 REFIID riid,
1497 void **ppvObject);
1498
1499 ULONG (STDMETHODCALLTYPE *AddRef)(
1500 IAMMediaTypeSample *This);
1501
1502 ULONG (STDMETHODCALLTYPE *Release)(
1503 IAMMediaTypeSample *This);
1504
1505 /*** IStreamSample methods ***/
1506 HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
1507 IAMMediaTypeSample *This,
1508 IMediaStream **ppMediaStream);
1509
1510 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
1511 IAMMediaTypeSample *This,
1512 STREAM_TIME *pStartTime,
1513 STREAM_TIME *pEndTime,
1514 STREAM_TIME *pCurrentTime);
1515
1516 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
1517 IAMMediaTypeSample *This,
1518 const STREAM_TIME *pStartTime,
1519 const STREAM_TIME *pEndTime);
1520
1521 HRESULT (STDMETHODCALLTYPE *Update)(
1522 IAMMediaTypeSample *This,
1523 DWORD dwFlags,
1524 HANDLE hEvent,
1525 PAPCFUNC pfnAPC,
1526 DWORD dwAPCData);
1527
1528 HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
1529 IAMMediaTypeSample *This,
1530 DWORD dwFlags,
1531 DWORD dwMilliseconds);
1532
1533 /*** IAMMediaTypeSample methods ***/
1534 HRESULT (STDMETHODCALLTYPE *SetPointer)(
1535 IAMMediaTypeSample *This,
1536 BYTE *pBuffer,
1537 LONG lSize);
1538
1539 HRESULT (STDMETHODCALLTYPE *GetPointer)(
1540 IAMMediaTypeSample *This,
1541 BYTE **ppBuffer);
1542
1543 LONG (STDMETHODCALLTYPE *GetSize)(
1544 IAMMediaTypeSample *This);
1545
1546 HRESULT (STDMETHODCALLTYPE *GetTime)(
1547 IAMMediaTypeSample *This,
1548 REFERENCE_TIME *pTimeStart,
1549 REFERENCE_TIME *pTimeEnd);
1550
1551 HRESULT (STDMETHODCALLTYPE *SetTime)(
1552 IAMMediaTypeSample *This,
1553 REFERENCE_TIME *pTimeStart,
1554 REFERENCE_TIME *pTimeEnd);
1555
1556 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)(
1557 IAMMediaTypeSample *This);
1558
1559 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)(
1560 IAMMediaTypeSample *This,
1561 WINBOOL bIsSyncPoint);
1562
1563 HRESULT (STDMETHODCALLTYPE *IsPreroll)(
1564 IAMMediaTypeSample *This);
1565
1566 HRESULT (STDMETHODCALLTYPE *SetPreroll)(
1567 IAMMediaTypeSample *This,
1568 WINBOOL bIsPreroll);
1569
1570 LONG (STDMETHODCALLTYPE *GetActualDataLength)(
1571 IAMMediaTypeSample *This);
1572
1573 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)(
1574 IAMMediaTypeSample *This,
1575 LONG Len);
1576
1577 HRESULT (STDMETHODCALLTYPE *GetMediaType)(
1578 IAMMediaTypeSample *This,
1579 AM_MEDIA_TYPE **ppMediaType);
1580
1581 HRESULT (STDMETHODCALLTYPE *SetMediaType)(
1582 IAMMediaTypeSample *This,
1583 AM_MEDIA_TYPE *pMediaType);
1584
1585 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)(
1586 IAMMediaTypeSample *This);
1587
1588 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)(
1589 IAMMediaTypeSample *This,
1590 WINBOOL bDiscontinuity);
1591
1592 HRESULT (STDMETHODCALLTYPE *GetMediaTime)(
1593 IAMMediaTypeSample *This,
1594 LONGLONG *pTimeStart,
1595 LONGLONG *pTimeEnd);
1596
1597 HRESULT (STDMETHODCALLTYPE *SetMediaTime)(
1598 IAMMediaTypeSample *This,
1599 LONGLONG *pTimeStart,
1600 LONGLONG *pTimeEnd);
1601
1602 END_INTERFACE
1603} IAMMediaTypeSampleVtbl;
1604
1605interface IAMMediaTypeSample {
1606 CONST_VTBL IAMMediaTypeSampleVtbl* lpVtbl;
1607};
1608
1609#ifdef COBJMACROS
1610#ifndef WIDL_C_INLINE_WRAPPERS
1611/*** IUnknown methods ***/
1612#define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1613#define IAMMediaTypeSample_AddRef(This) (This)->lpVtbl->AddRef(This)
1614#define IAMMediaTypeSample_Release(This) (This)->lpVtbl->Release(This)
1615/*** IStreamSample methods ***/
1616#define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream)
1617#define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
1618#define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime)
1619#define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
1620#define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds)
1621/*** IAMMediaTypeSample methods ***/
1622#define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize) (This)->lpVtbl->SetPointer(This,pBuffer,lSize)
1623#define IAMMediaTypeSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
1624#define IAMMediaTypeSample_GetSize(This) (This)->lpVtbl->GetSize(This)
1625#define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
1626#define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
1627#define IAMMediaTypeSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
1628#define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
1629#define IAMMediaTypeSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
1630#define IAMMediaTypeSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
1631#define IAMMediaTypeSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
1632#define IAMMediaTypeSample_SetActualDataLength(This,Len) (This)->lpVtbl->SetActualDataLength(This,Len)
1633#define IAMMediaTypeSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
1634#define IAMMediaTypeSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
1635#define IAMMediaTypeSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
1636#define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
1637#define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
1638#define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
1639#else
1640/*** IUnknown methods ***/
1641static FORCEINLINE HRESULT IAMMediaTypeSample_QueryInterface(IAMMediaTypeSample* This,REFIID riid,void **ppvObject) {
1642 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1643}
1644static FORCEINLINE ULONG IAMMediaTypeSample_AddRef(IAMMediaTypeSample* This) {
1645 return This->lpVtbl->AddRef(This);
1646}
1647static FORCEINLINE ULONG IAMMediaTypeSample_Release(IAMMediaTypeSample* This) {
1648 return This->lpVtbl->Release(This);
1649}
1650/*** IStreamSample methods ***/
1651static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaStream(IAMMediaTypeSample* This,IMediaStream **ppMediaStream) {
1652 return This->lpVtbl->GetMediaStream(This,ppMediaStream);
1653}
1654static FORCEINLINE HRESULT IAMMediaTypeSample_GetSampleTimes(IAMMediaTypeSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) {
1655 return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime);
1656}
1657static FORCEINLINE HRESULT IAMMediaTypeSample_SetSampleTimes(IAMMediaTypeSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
1658 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
1659}
1660static FORCEINLINE HRESULT IAMMediaTypeSample_Update(IAMMediaTypeSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) {
1661 return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData);
1662}
1663static FORCEINLINE HRESULT IAMMediaTypeSample_CompletionStatus(IAMMediaTypeSample* This,DWORD dwFlags,DWORD dwMilliseconds) {
1664 return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds);
1665}
1666/*** IAMMediaTypeSample methods ***/
1667static FORCEINLINE HRESULT IAMMediaTypeSample_SetPointer(IAMMediaTypeSample* This,BYTE *pBuffer,LONG lSize) {
1668 return This->lpVtbl->SetPointer(This,pBuffer,lSize);
1669}
1670static FORCEINLINE HRESULT IAMMediaTypeSample_GetPointer(IAMMediaTypeSample* This,BYTE **ppBuffer) {
1671 return This->lpVtbl->GetPointer(This,ppBuffer);
1672}
1673static FORCEINLINE LONG IAMMediaTypeSample_GetSize(IAMMediaTypeSample* This) {
1674 return This->lpVtbl->GetSize(This);
1675}
1676static FORCEINLINE HRESULT IAMMediaTypeSample_GetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
1677 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
1678}
1679static FORCEINLINE HRESULT IAMMediaTypeSample_SetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
1680 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
1681}
1682static FORCEINLINE HRESULT IAMMediaTypeSample_IsSyncPoint(IAMMediaTypeSample* This) {
1683 return This->lpVtbl->IsSyncPoint(This);
1684}
1685static FORCEINLINE HRESULT IAMMediaTypeSample_SetSyncPoint(IAMMediaTypeSample* This,WINBOOL bIsSyncPoint) {
1686 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
1687}
1688static FORCEINLINE HRESULT IAMMediaTypeSample_IsPreroll(IAMMediaTypeSample* This) {
1689 return This->lpVtbl->IsPreroll(This);
1690}
1691static FORCEINLINE HRESULT IAMMediaTypeSample_SetPreroll(IAMMediaTypeSample* This,WINBOOL bIsPreroll) {
1692 return This->lpVtbl->SetPreroll(This,bIsPreroll);
1693}
1694static FORCEINLINE LONG IAMMediaTypeSample_GetActualDataLength(IAMMediaTypeSample* This) {
1695 return This->lpVtbl->GetActualDataLength(This);
1696}
1697static FORCEINLINE HRESULT IAMMediaTypeSample_SetActualDataLength(IAMMediaTypeSample* This,LONG Len) {
1698 return This->lpVtbl->SetActualDataLength(This,Len);
1699}
1700static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE **ppMediaType) {
1701 return This->lpVtbl->GetMediaType(This,ppMediaType);
1702}
1703static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE *pMediaType) {
1704 return This->lpVtbl->SetMediaType(This,pMediaType);
1705}
1706static FORCEINLINE HRESULT IAMMediaTypeSample_IsDiscontinuity(IAMMediaTypeSample* This) {
1707 return This->lpVtbl->IsDiscontinuity(This);
1708}
1709static FORCEINLINE HRESULT IAMMediaTypeSample_SetDiscontinuity(IAMMediaTypeSample* This,WINBOOL bDiscontinuity) {
1710 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
1711}
1712static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
1713 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
1714}
1715static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
1716 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
1717}
1718#endif
1719#endif
1720
1721#endif
1722
1723
1724#endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */
1725
1726/*****************************************************************************
1727 * AMMultiMediaStream coclass
1728 */
1729
1730DEFINE_GUID(CLSID_AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
1731
1732#ifdef __cplusplus
1733class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45") AMMultiMediaStream;
1734#ifdef __CRT_UUID_DECL
1735__CRT_UUID_DECL(AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45)
1736#endif
1737#endif
1738
1739DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1740DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1741DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1742DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
1743DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
1744/* Begin additional prototypes for all interfaces */
1745
1746ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
1747unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
1748unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1749void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
1750
1751/* End additional prototypes */
1752
1753#ifdef __cplusplus
1754}
1755#endif
1756
1757#endif /* __amstream_h__ */
Note: See TracBrowser for help on using the repository browser.