master
1/*** Autogenerated by WIDL 10.4 from include/strmif.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 __strmif_h__
17#define __strmif_h__
18
19/* Forward declarations */
20
21#ifndef __ICreateDevEnum_FWD_DEFINED__
22#define __ICreateDevEnum_FWD_DEFINED__
23typedef interface ICreateDevEnum ICreateDevEnum;
24#ifdef __cplusplus
25interface ICreateDevEnum;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IPin_FWD_DEFINED__
30#define __IPin_FWD_DEFINED__
31typedef interface IPin IPin;
32#ifdef __cplusplus
33interface IPin;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IEnumPins_FWD_DEFINED__
38#define __IEnumPins_FWD_DEFINED__
39typedef interface IEnumPins IEnumPins;
40#ifdef __cplusplus
41interface IEnumPins;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IEnumMediaTypes_FWD_DEFINED__
46#define __IEnumMediaTypes_FWD_DEFINED__
47typedef interface IEnumMediaTypes IEnumMediaTypes;
48#ifdef __cplusplus
49interface IEnumMediaTypes;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IFilterGraph_FWD_DEFINED__
54#define __IFilterGraph_FWD_DEFINED__
55typedef interface IFilterGraph IFilterGraph;
56#ifdef __cplusplus
57interface IFilterGraph;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IEnumFilters_FWD_DEFINED__
62#define __IEnumFilters_FWD_DEFINED__
63typedef interface IEnumFilters IEnumFilters;
64#ifdef __cplusplus
65interface IEnumFilters;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IMediaFilter_FWD_DEFINED__
70#define __IMediaFilter_FWD_DEFINED__
71typedef interface IMediaFilter IMediaFilter;
72#ifdef __cplusplus
73interface IMediaFilter;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IBaseFilter_FWD_DEFINED__
78#define __IBaseFilter_FWD_DEFINED__
79typedef interface IBaseFilter IBaseFilter;
80#ifdef __cplusplus
81interface IBaseFilter;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IReferenceClock_FWD_DEFINED__
86#define __IReferenceClock_FWD_DEFINED__
87typedef interface IReferenceClock IReferenceClock;
88#ifdef __cplusplus
89interface IReferenceClock;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IReferenceClockTimerControl_FWD_DEFINED__
94#define __IReferenceClockTimerControl_FWD_DEFINED__
95typedef interface IReferenceClockTimerControl IReferenceClockTimerControl;
96#ifdef __cplusplus
97interface IReferenceClockTimerControl;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IReferenceClock2_FWD_DEFINED__
102#define __IReferenceClock2_FWD_DEFINED__
103typedef interface IReferenceClock2 IReferenceClock2;
104#ifdef __cplusplus
105interface IReferenceClock2;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __IMediaSample_FWD_DEFINED__
110#define __IMediaSample_FWD_DEFINED__
111typedef interface IMediaSample IMediaSample;
112#ifdef __cplusplus
113interface IMediaSample;
114#endif /* __cplusplus */
115#endif
116
117#ifndef __IMediaSample2_FWD_DEFINED__
118#define __IMediaSample2_FWD_DEFINED__
119typedef interface IMediaSample2 IMediaSample2;
120#ifdef __cplusplus
121interface IMediaSample2;
122#endif /* __cplusplus */
123#endif
124
125#ifndef __IMediaSample2Config_FWD_DEFINED__
126#define __IMediaSample2Config_FWD_DEFINED__
127typedef interface IMediaSample2Config IMediaSample2Config;
128#ifdef __cplusplus
129interface IMediaSample2Config;
130#endif /* __cplusplus */
131#endif
132
133#ifndef __IMemAllocator_FWD_DEFINED__
134#define __IMemAllocator_FWD_DEFINED__
135typedef interface IMemAllocator IMemAllocator;
136#ifdef __cplusplus
137interface IMemAllocator;
138#endif /* __cplusplus */
139#endif
140
141#ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
142#define __IMemAllocatorCallbackTemp_FWD_DEFINED__
143typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
144#ifdef __cplusplus
145interface IMemAllocatorCallbackTemp;
146#endif /* __cplusplus */
147#endif
148
149#ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
150#define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
151typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
152#ifdef __cplusplus
153interface IMemAllocatorNotifyCallbackTemp;
154#endif /* __cplusplus */
155#endif
156
157#ifndef __IMemInputPin_FWD_DEFINED__
158#define __IMemInputPin_FWD_DEFINED__
159typedef interface IMemInputPin IMemInputPin;
160#ifdef __cplusplus
161interface IMemInputPin;
162#endif /* __cplusplus */
163#endif
164
165#ifndef __IAMovieSetup_FWD_DEFINED__
166#define __IAMovieSetup_FWD_DEFINED__
167typedef interface IAMovieSetup IAMovieSetup;
168#ifdef __cplusplus
169interface IAMovieSetup;
170#endif /* __cplusplus */
171#endif
172
173#ifndef __IMediaSeeking_FWD_DEFINED__
174#define __IMediaSeeking_FWD_DEFINED__
175typedef interface IMediaSeeking IMediaSeeking;
176#ifdef __cplusplus
177interface IMediaSeeking;
178#endif /* __cplusplus */
179#endif
180
181#ifndef __IEnumRegFilters_FWD_DEFINED__
182#define __IEnumRegFilters_FWD_DEFINED__
183typedef interface IEnumRegFilters IEnumRegFilters;
184#ifdef __cplusplus
185interface IEnumRegFilters;
186#endif /* __cplusplus */
187#endif
188
189#ifndef __IFilterMapper_FWD_DEFINED__
190#define __IFilterMapper_FWD_DEFINED__
191typedef interface IFilterMapper IFilterMapper;
192#ifdef __cplusplus
193interface IFilterMapper;
194#endif /* __cplusplus */
195#endif
196
197#ifndef __IFilterMapper2_FWD_DEFINED__
198#define __IFilterMapper2_FWD_DEFINED__
199typedef interface IFilterMapper2 IFilterMapper2;
200#ifdef __cplusplus
201interface IFilterMapper2;
202#endif /* __cplusplus */
203#endif
204
205#ifndef __IFilterMapper3_FWD_DEFINED__
206#define __IFilterMapper3_FWD_DEFINED__
207typedef interface IFilterMapper3 IFilterMapper3;
208#ifdef __cplusplus
209interface IFilterMapper3;
210#endif /* __cplusplus */
211#endif
212
213#ifndef __IQualityControl_FWD_DEFINED__
214#define __IQualityControl_FWD_DEFINED__
215typedef interface IQualityControl IQualityControl;
216#ifdef __cplusplus
217interface IQualityControl;
218#endif /* __cplusplus */
219#endif
220
221#ifndef __IOverlayNotify_FWD_DEFINED__
222#define __IOverlayNotify_FWD_DEFINED__
223typedef interface IOverlayNotify IOverlayNotify;
224#ifdef __cplusplus
225interface IOverlayNotify;
226#endif /* __cplusplus */
227#endif
228
229#ifndef __IOverlayNotify2_FWD_DEFINED__
230#define __IOverlayNotify2_FWD_DEFINED__
231typedef interface IOverlayNotify2 IOverlayNotify2;
232#ifdef __cplusplus
233interface IOverlayNotify2;
234#endif /* __cplusplus */
235#endif
236
237#ifndef __IOverlay_FWD_DEFINED__
238#define __IOverlay_FWD_DEFINED__
239typedef interface IOverlay IOverlay;
240#ifdef __cplusplus
241interface IOverlay;
242#endif /* __cplusplus */
243#endif
244
245#ifndef __IMediaEventSink_FWD_DEFINED__
246#define __IMediaEventSink_FWD_DEFINED__
247typedef interface IMediaEventSink IMediaEventSink;
248#ifdef __cplusplus
249interface IMediaEventSink;
250#endif /* __cplusplus */
251#endif
252
253#ifndef __IFileSourceFilter_FWD_DEFINED__
254#define __IFileSourceFilter_FWD_DEFINED__
255typedef interface IFileSourceFilter IFileSourceFilter;
256#ifdef __cplusplus
257interface IFileSourceFilter;
258#endif /* __cplusplus */
259#endif
260
261#ifndef __IFileSinkFilter_FWD_DEFINED__
262#define __IFileSinkFilter_FWD_DEFINED__
263typedef interface IFileSinkFilter IFileSinkFilter;
264#ifdef __cplusplus
265interface IFileSinkFilter;
266#endif /* __cplusplus */
267#endif
268
269#ifndef __IFileSinkFilter2_FWD_DEFINED__
270#define __IFileSinkFilter2_FWD_DEFINED__
271typedef interface IFileSinkFilter2 IFileSinkFilter2;
272#ifdef __cplusplus
273interface IFileSinkFilter2;
274#endif /* __cplusplus */
275#endif
276
277#ifndef __IGraphBuilder_FWD_DEFINED__
278#define __IGraphBuilder_FWD_DEFINED__
279typedef interface IGraphBuilder IGraphBuilder;
280#ifdef __cplusplus
281interface IGraphBuilder;
282#endif /* __cplusplus */
283#endif
284
285#ifndef __ICaptureGraphBuilder_FWD_DEFINED__
286#define __ICaptureGraphBuilder_FWD_DEFINED__
287typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
288#ifdef __cplusplus
289interface ICaptureGraphBuilder;
290#endif /* __cplusplus */
291#endif
292
293#ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
294#define __IAMCopyCaptureFileProgress_FWD_DEFINED__
295typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
296#ifdef __cplusplus
297interface IAMCopyCaptureFileProgress;
298#endif /* __cplusplus */
299#endif
300
301#ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
302#define __ICaptureGraphBuilder2_FWD_DEFINED__
303typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
304#ifdef __cplusplus
305interface ICaptureGraphBuilder2;
306#endif /* __cplusplus */
307#endif
308
309#ifndef __IConfigAviMux_FWD_DEFINED__
310#define __IConfigAviMux_FWD_DEFINED__
311typedef interface IConfigAviMux IConfigAviMux;
312#ifdef __cplusplus
313interface IConfigAviMux;
314#endif /* __cplusplus */
315#endif
316
317#ifndef __IConfigInterleaving_FWD_DEFINED__
318#define __IConfigInterleaving_FWD_DEFINED__
319typedef interface IConfigInterleaving IConfigInterleaving;
320#ifdef __cplusplus
321interface IConfigInterleaving;
322#endif /* __cplusplus */
323#endif
324
325#ifndef __IAMClockSlave_FWD_DEFINED__
326#define __IAMClockSlave_FWD_DEFINED__
327typedef interface IAMClockSlave IAMClockSlave;
328#ifdef __cplusplus
329interface IAMClockSlave;
330#endif /* __cplusplus */
331#endif
332
333#ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__
334#define __IAMCertifiedOutputProtection_FWD_DEFINED__
335typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
336#ifdef __cplusplus
337interface IAMCertifiedOutputProtection;
338#endif /* __cplusplus */
339#endif
340
341#ifndef __IFilterGraph2_FWD_DEFINED__
342#define __IFilterGraph2_FWD_DEFINED__
343typedef interface IFilterGraph2 IFilterGraph2;
344#ifdef __cplusplus
345interface IFilterGraph2;
346#endif /* __cplusplus */
347#endif
348
349#ifndef __IStreamBuilder_FWD_DEFINED__
350#define __IStreamBuilder_FWD_DEFINED__
351typedef interface IStreamBuilder IStreamBuilder;
352#ifdef __cplusplus
353interface IStreamBuilder;
354#endif /* __cplusplus */
355#endif
356
357#ifndef __IAMStreamConfig_FWD_DEFINED__
358#define __IAMStreamConfig_FWD_DEFINED__
359typedef interface IAMStreamConfig IAMStreamConfig;
360#ifdef __cplusplus
361interface IAMStreamConfig;
362#endif /* __cplusplus */
363#endif
364
365#ifndef __IAMVideoProcAmp_FWD_DEFINED__
366#define __IAMVideoProcAmp_FWD_DEFINED__
367typedef interface IAMVideoProcAmp IAMVideoProcAmp;
368#ifdef __cplusplus
369interface IAMVideoProcAmp;
370#endif /* __cplusplus */
371#endif
372
373#ifndef __IAsyncReader_FWD_DEFINED__
374#define __IAsyncReader_FWD_DEFINED__
375typedef interface IAsyncReader IAsyncReader;
376#ifdef __cplusplus
377interface IAsyncReader;
378#endif /* __cplusplus */
379#endif
380
381#ifndef __IGraphVersion_FWD_DEFINED__
382#define __IGraphVersion_FWD_DEFINED__
383typedef interface IGraphVersion IGraphVersion;
384#ifdef __cplusplus
385interface IGraphVersion;
386#endif /* __cplusplus */
387#endif
388
389#ifndef __IResourceConsumer_FWD_DEFINED__
390#define __IResourceConsumer_FWD_DEFINED__
391typedef interface IResourceConsumer IResourceConsumer;
392#ifdef __cplusplus
393interface IResourceConsumer;
394#endif /* __cplusplus */
395#endif
396
397#ifndef __IResourceManager_FWD_DEFINED__
398#define __IResourceManager_FWD_DEFINED__
399typedef interface IResourceManager IResourceManager;
400#ifdef __cplusplus
401interface IResourceManager;
402#endif /* __cplusplus */
403#endif
404
405#ifndef __IAMStreamControl_FWD_DEFINED__
406#define __IAMStreamControl_FWD_DEFINED__
407typedef interface IAMStreamControl IAMStreamControl;
408#ifdef __cplusplus
409interface IAMStreamControl;
410#endif /* __cplusplus */
411#endif
412
413#ifndef __IKsPropertySet_FWD_DEFINED__
414#define __IKsPropertySet_FWD_DEFINED__
415typedef interface IKsPropertySet IKsPropertySet;
416#ifdef __cplusplus
417interface IKsPropertySet;
418#endif /* __cplusplus */
419#endif
420
421#ifndef __IMediaPropertyBag_FWD_DEFINED__
422#define __IMediaPropertyBag_FWD_DEFINED__
423typedef interface IMediaPropertyBag IMediaPropertyBag;
424#ifdef __cplusplus
425interface IMediaPropertyBag;
426#endif /* __cplusplus */
427#endif
428
429#ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
430#define __IPersistMediaPropertyBag_FWD_DEFINED__
431typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
432#ifdef __cplusplus
433interface IPersistMediaPropertyBag;
434#endif /* __cplusplus */
435#endif
436
437#ifndef __ISeekingPassThru_FWD_DEFINED__
438#define __ISeekingPassThru_FWD_DEFINED__
439typedef interface ISeekingPassThru ISeekingPassThru;
440#ifdef __cplusplus
441interface ISeekingPassThru;
442#endif /* __cplusplus */
443#endif
444
445#ifndef __IAMFilterMiscFlags_FWD_DEFINED__
446#define __IAMFilterMiscFlags_FWD_DEFINED__
447typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
448#ifdef __cplusplus
449interface IAMFilterMiscFlags;
450#endif /* __cplusplus */
451#endif
452
453#ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
454#define __IAMGraphBuilderCallback_FWD_DEFINED__
455typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
456#ifdef __cplusplus
457interface IAMGraphBuilderCallback;
458#endif /* __cplusplus */
459#endif
460
461#ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
462#define __IAMVfwCaptureDialogs_FWD_DEFINED__
463typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
464#ifdef __cplusplus
465interface IAMVfwCaptureDialogs;
466#endif /* __cplusplus */
467#endif
468
469#ifndef __IAMCameraControl_FWD_DEFINED__
470#define __IAMCameraControl_FWD_DEFINED__
471typedef interface IAMCameraControl IAMCameraControl;
472#ifdef __cplusplus
473interface IAMCameraControl;
474#endif /* __cplusplus */
475#endif
476
477#ifndef __IAMVideoControl_FWD_DEFINED__
478#define __IAMVideoControl_FWD_DEFINED__
479typedef interface IAMVideoControl IAMVideoControl;
480#ifdef __cplusplus
481interface IAMVideoControl;
482#endif /* __cplusplus */
483#endif
484
485#ifndef __IAMBufferNegotiation_FWD_DEFINED__
486#define __IAMBufferNegotiation_FWD_DEFINED__
487typedef interface IAMBufferNegotiation IAMBufferNegotiation;
488#ifdef __cplusplus
489interface IAMBufferNegotiation;
490#endif /* __cplusplus */
491#endif
492
493#ifndef __IAMDroppedFrames_FWD_DEFINED__
494#define __IAMDroppedFrames_FWD_DEFINED__
495typedef interface IAMDroppedFrames IAMDroppedFrames;
496#ifdef __cplusplus
497interface IAMDroppedFrames;
498#endif /* __cplusplus */
499#endif
500
501#ifndef __IAMLatency_FWD_DEFINED__
502#define __IAMLatency_FWD_DEFINED__
503typedef interface IAMLatency IAMLatency;
504#ifdef __cplusplus
505interface IAMLatency;
506#endif /* __cplusplus */
507#endif
508
509#ifndef __IAMPushSource_FWD_DEFINED__
510#define __IAMPushSource_FWD_DEFINED__
511typedef interface IAMPushSource IAMPushSource;
512#ifdef __cplusplus
513interface IAMPushSource;
514#endif /* __cplusplus */
515#endif
516
517#ifndef __IAMVideoCompression_FWD_DEFINED__
518#define __IAMVideoCompression_FWD_DEFINED__
519typedef interface IAMVideoCompression IAMVideoCompression;
520#ifdef __cplusplus
521interface IAMVideoCompression;
522#endif /* __cplusplus */
523#endif
524
525#ifndef __IAMCrossbar_FWD_DEFINED__
526#define __IAMCrossbar_FWD_DEFINED__
527typedef interface IAMCrossbar IAMCrossbar;
528#ifdef __cplusplus
529interface IAMCrossbar;
530#endif /* __cplusplus */
531#endif
532
533#ifndef __IAMTunerNotification_FWD_DEFINED__
534#define __IAMTunerNotification_FWD_DEFINED__
535typedef interface IAMTunerNotification IAMTunerNotification;
536#ifdef __cplusplus
537interface IAMTunerNotification;
538#endif /* __cplusplus */
539#endif
540
541#ifndef __IAMTuner_FWD_DEFINED__
542#define __IAMTuner_FWD_DEFINED__
543typedef interface IAMTuner IAMTuner;
544#ifdef __cplusplus
545interface IAMTuner;
546#endif /* __cplusplus */
547#endif
548
549#ifndef __IAMTVTuner_FWD_DEFINED__
550#define __IAMTVTuner_FWD_DEFINED__
551typedef interface IAMTVTuner IAMTVTuner;
552#ifdef __cplusplus
553interface IAMTVTuner;
554#endif /* __cplusplus */
555#endif
556
557#ifndef __IVideoFrameStep_FWD_DEFINED__
558#define __IVideoFrameStep_FWD_DEFINED__
559typedef interface IVideoFrameStep IVideoFrameStep;
560#ifdef __cplusplus
561interface IVideoFrameStep;
562#endif /* __cplusplus */
563#endif
564
565#ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
566#define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
567typedef interface IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling;
568#ifdef __cplusplus
569interface IAMAsyncReaderTimestampScaling;
570#endif /* __cplusplus */
571#endif
572
573#ifndef __IAMPluginControl_FWD_DEFINED__
574#define __IAMPluginControl_FWD_DEFINED__
575typedef interface IAMPluginControl IAMPluginControl;
576#ifdef __cplusplus
577interface IAMPluginControl;
578#endif /* __cplusplus */
579#endif
580
581#ifndef __IPinConnection_FWD_DEFINED__
582#define __IPinConnection_FWD_DEFINED__
583typedef interface IPinConnection IPinConnection;
584#ifdef __cplusplus
585interface IPinConnection;
586#endif /* __cplusplus */
587#endif
588
589#ifndef __IPinFlowControl_FWD_DEFINED__
590#define __IPinFlowControl_FWD_DEFINED__
591typedef interface IPinFlowControl IPinFlowControl;
592#ifdef __cplusplus
593interface IPinFlowControl;
594#endif /* __cplusplus */
595#endif
596
597#ifndef __IGraphConfig_FWD_DEFINED__
598#define __IGraphConfig_FWD_DEFINED__
599typedef interface IGraphConfig IGraphConfig;
600#ifdef __cplusplus
601interface IGraphConfig;
602#endif /* __cplusplus */
603#endif
604
605#ifndef __IGraphConfigCallback_FWD_DEFINED__
606#define __IGraphConfigCallback_FWD_DEFINED__
607typedef interface IGraphConfigCallback IGraphConfigCallback;
608#ifdef __cplusplus
609interface IGraphConfigCallback;
610#endif /* __cplusplus */
611#endif
612
613#ifndef __IFilterChain_FWD_DEFINED__
614#define __IFilterChain_FWD_DEFINED__
615typedef interface IFilterChain IFilterChain;
616#ifdef __cplusplus
617interface IFilterChain;
618#endif /* __cplusplus */
619#endif
620
621/* Headers for imported files */
622
623#include <unknwn.h>
624#include <objidl.h>
625#include <oaidl.h>
626
627#ifdef __cplusplus
628extern "C" {
629#endif
630
631/**
632 * This file is part of the mingw-w64 runtime package.
633 * No warranty is given; refer to the file DISCLAIMER within this package.
634 */
635
636#include <winapifamily.h>
637
638#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
639
640#define CDEF_CLASS_DEFAULT 0x1
641#define CDEF_BYPASS_CLASS_MANAGER 0x2
642#define CDEF_MERIT_ABOVE_DO_NOT_USE 0x8
643#define CDEF_DEVMON_CMGR_DEVICE 0x10
644#define CDEF_DEVMON_DMO 0x20
645#define CDEF_DEVMON_PNP_DEVICE 0x40
646#define CDEF_DEVMON_FILTER 0x80
647
648#define CDEF_DEVMON_SELECTIVE_MASK 0xf0
649
650
651/*****************************************************************************
652 * ICreateDevEnum interface
653 */
654#ifndef __ICreateDevEnum_INTERFACE_DEFINED__
655#define __ICreateDevEnum_INTERFACE_DEFINED__
656
657DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86);
658#if defined(__cplusplus) && !defined(CINTERFACE)
659MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86")
660ICreateDevEnum : public IUnknown
661{
662 virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator(
663 REFCLSID clsidDeviceClass,
664 IEnumMoniker **ppEnumMoniker,
665 DWORD dwFlags) = 0;
666
667};
668#ifdef __CRT_UUID_DECL
669__CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86)
670#endif
671#else
672typedef struct ICreateDevEnumVtbl {
673 BEGIN_INTERFACE
674
675 /*** IUnknown methods ***/
676 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
677 ICreateDevEnum *This,
678 REFIID riid,
679 void **ppvObject);
680
681 ULONG (STDMETHODCALLTYPE *AddRef)(
682 ICreateDevEnum *This);
683
684 ULONG (STDMETHODCALLTYPE *Release)(
685 ICreateDevEnum *This);
686
687 /*** ICreateDevEnum methods ***/
688 HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)(
689 ICreateDevEnum *This,
690 REFCLSID clsidDeviceClass,
691 IEnumMoniker **ppEnumMoniker,
692 DWORD dwFlags);
693
694 END_INTERFACE
695} ICreateDevEnumVtbl;
696
697interface ICreateDevEnum {
698 CONST_VTBL ICreateDevEnumVtbl* lpVtbl;
699};
700
701#ifdef COBJMACROS
702#ifndef WIDL_C_INLINE_WRAPPERS
703/*** IUnknown methods ***/
704#define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
705#define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This)
706#define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This)
707/*** ICreateDevEnum methods ***/
708#define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
709#else
710/*** IUnknown methods ***/
711static inline HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) {
712 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
713}
714static inline ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) {
715 return This->lpVtbl->AddRef(This);
716}
717static inline ULONG ICreateDevEnum_Release(ICreateDevEnum* This) {
718 return This->lpVtbl->Release(This);
719}
720/*** ICreateDevEnum methods ***/
721static inline HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) {
722 return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags);
723}
724#endif
725#endif
726
727#endif
728
729
730#endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */
731
732#endif
733/**
734 * This file is part of the mingw-w64 runtime package.
735 * No warranty is given; refer to the file DISCLAIMER within this package.
736 */
737
738#include <winapifamily.h>
739
740#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
741
742#define CHARS_IN_GUID 39
743
744#ifdef WINE_NO_UNICODE_MACROS
745#undef GetTimeFormat
746#endif
747
748typedef struct _AMMediaType {
749 GUID majortype;
750 GUID subtype;
751 WINBOOL bFixedSizeSamples;
752 WINBOOL bTemporalCompression;
753 ULONG lSampleSize;
754 GUID formattype;
755 IUnknown *pUnk;
756 ULONG cbFormat;
757 BYTE *pbFormat;
758} AM_MEDIA_TYPE;
759
760typedef enum _PinDirection {
761 PINDIR_INPUT = 0,
762 PINDIR_OUTPUT = 1
763} PIN_DIRECTION;
764
765#define MAX_PIN_NAME 128
766#define MAX_FILTER_NAME 128
767
768#ifndef REFERENCE_TIME_DEFINED
769#define REFERENCE_TIME_DEFINED
770typedef LONGLONG REFERENCE_TIME;
771#endif
772
773#ifndef REFTIME_DEFINED
774#define REFTIME_DEFINED
775typedef double REFTIME;
776#endif
777
778typedef DWORD_PTR HSEMAPHORE;
779typedef DWORD_PTR HEVENT;
780
781typedef struct _AllocatorProperties {
782 LONG cBuffers;
783 LONG cbBuffer;
784 LONG cbAlign;
785 LONG cbPrefix;
786} ALLOCATOR_PROPERTIES;
787
788#ifndef __IAMovieSetup_FWD_DEFINED__
789#define __IAMovieSetup_FWD_DEFINED__
790typedef interface IAMovieSetup IAMovieSetup;
791#ifdef __cplusplus
792interface IAMovieSetup;
793#endif /* __cplusplus */
794#endif
795
796#ifndef __IEnumFilters_FWD_DEFINED__
797#define __IEnumFilters_FWD_DEFINED__
798typedef interface IEnumFilters IEnumFilters;
799#ifdef __cplusplus
800interface IEnumFilters;
801#endif /* __cplusplus */
802#endif
803
804#ifndef __IEnumMediaTypes_FWD_DEFINED__
805#define __IEnumMediaTypes_FWD_DEFINED__
806typedef interface IEnumMediaTypes IEnumMediaTypes;
807#ifdef __cplusplus
808interface IEnumMediaTypes;
809#endif /* __cplusplus */
810#endif
811
812#ifndef __IEnumPins_FWD_DEFINED__
813#define __IEnumPins_FWD_DEFINED__
814typedef interface IEnumPins IEnumPins;
815#ifdef __cplusplus
816interface IEnumPins;
817#endif /* __cplusplus */
818#endif
819
820#ifndef __IBaseFilter_FWD_DEFINED__
821#define __IBaseFilter_FWD_DEFINED__
822typedef interface IBaseFilter IBaseFilter;
823#ifdef __cplusplus
824interface IBaseFilter;
825#endif /* __cplusplus */
826#endif
827
828#ifndef __IFilterGraph_FWD_DEFINED__
829#define __IFilterGraph_FWD_DEFINED__
830typedef interface IFilterGraph IFilterGraph;
831#ifdef __cplusplus
832interface IFilterGraph;
833#endif /* __cplusplus */
834#endif
835
836#ifndef __IMediaFilter_FWD_DEFINED__
837#define __IMediaFilter_FWD_DEFINED__
838typedef interface IMediaFilter IMediaFilter;
839#ifdef __cplusplus
840interface IMediaFilter;
841#endif /* __cplusplus */
842#endif
843
844#ifndef __IMediaSample_FWD_DEFINED__
845#define __IMediaSample_FWD_DEFINED__
846typedef interface IMediaSample IMediaSample;
847#ifdef __cplusplus
848interface IMediaSample;
849#endif /* __cplusplus */
850#endif
851
852#ifndef __IMemAllocator_FWD_DEFINED__
853#define __IMemAllocator_FWD_DEFINED__
854typedef interface IMemAllocator IMemAllocator;
855#ifdef __cplusplus
856interface IMemAllocator;
857#endif /* __cplusplus */
858#endif
859
860#ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
861#define __IMemAllocatorCallbackTemp_FWD_DEFINED__
862typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
863#ifdef __cplusplus
864interface IMemAllocatorCallbackTemp;
865#endif /* __cplusplus */
866#endif
867
868#ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
869#define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
870typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
871#ifdef __cplusplus
872interface IMemAllocatorNotifyCallbackTemp;
873#endif /* __cplusplus */
874#endif
875
876#ifndef __IMemInputPin_FWD_DEFINED__
877#define __IMemInputPin_FWD_DEFINED__
878typedef interface IMemInputPin IMemInputPin;
879#ifdef __cplusplus
880interface IMemInputPin;
881#endif /* __cplusplus */
882#endif
883
884#ifndef __IPin_FWD_DEFINED__
885#define __IPin_FWD_DEFINED__
886typedef interface IPin IPin;
887#ifdef __cplusplus
888interface IPin;
889#endif /* __cplusplus */
890#endif
891
892#ifndef __IReferenceClock_FWD_DEFINED__
893#define __IReferenceClock_FWD_DEFINED__
894typedef interface IReferenceClock IReferenceClock;
895#ifdef __cplusplus
896interface IReferenceClock;
897#endif /* __cplusplus */
898#endif
899
900
901/*****************************************************************************
902 * IPin interface
903 */
904#ifndef __IPin_INTERFACE_DEFINED__
905#define __IPin_INTERFACE_DEFINED__
906
907typedef struct _PinInfo {
908 IBaseFilter *pFilter;
909 PIN_DIRECTION dir;
910 WCHAR achName[128];
911} PIN_INFO;
912
913DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
914#if defined(__cplusplus) && !defined(CINTERFACE)
915MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
916IPin : public IUnknown
917{
918 virtual HRESULT STDMETHODCALLTYPE Connect(
919 IPin *pReceivePin,
920 const AM_MEDIA_TYPE *pmt) = 0;
921
922 virtual HRESULT STDMETHODCALLTYPE ReceiveConnection(
923 IPin *pConnector,
924 const AM_MEDIA_TYPE *pmt) = 0;
925
926 virtual HRESULT STDMETHODCALLTYPE Disconnect(
927 ) = 0;
928
929 virtual HRESULT STDMETHODCALLTYPE ConnectedTo(
930 IPin **pPin) = 0;
931
932 virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType(
933 AM_MEDIA_TYPE *pmt) = 0;
934
935 virtual HRESULT STDMETHODCALLTYPE QueryPinInfo(
936 PIN_INFO *pInfo) = 0;
937
938 virtual HRESULT STDMETHODCALLTYPE QueryDirection(
939 PIN_DIRECTION *pPinDir) = 0;
940
941 virtual HRESULT STDMETHODCALLTYPE QueryId(
942 LPWSTR *Id) = 0;
943
944 virtual HRESULT STDMETHODCALLTYPE QueryAccept(
945 const AM_MEDIA_TYPE *pmt) = 0;
946
947 virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes(
948 IEnumMediaTypes **ppEnum) = 0;
949
950 virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections(
951 IPin **apPin,
952 ULONG *nPin) = 0;
953
954 virtual HRESULT STDMETHODCALLTYPE EndOfStream(
955 ) = 0;
956
957 virtual HRESULT STDMETHODCALLTYPE BeginFlush(
958 ) = 0;
959
960 virtual HRESULT STDMETHODCALLTYPE EndFlush(
961 ) = 0;
962
963 virtual HRESULT STDMETHODCALLTYPE NewSegment(
964 REFERENCE_TIME tStart,
965 REFERENCE_TIME tStop,
966 double dRate) = 0;
967
968};
969#ifdef __CRT_UUID_DECL
970__CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
971#endif
972#else
973typedef struct IPinVtbl {
974 BEGIN_INTERFACE
975
976 /*** IUnknown methods ***/
977 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
978 IPin *This,
979 REFIID riid,
980 void **ppvObject);
981
982 ULONG (STDMETHODCALLTYPE *AddRef)(
983 IPin *This);
984
985 ULONG (STDMETHODCALLTYPE *Release)(
986 IPin *This);
987
988 /*** IPin methods ***/
989 HRESULT (STDMETHODCALLTYPE *Connect)(
990 IPin *This,
991 IPin *pReceivePin,
992 const AM_MEDIA_TYPE *pmt);
993
994 HRESULT (STDMETHODCALLTYPE *ReceiveConnection)(
995 IPin *This,
996 IPin *pConnector,
997 const AM_MEDIA_TYPE *pmt);
998
999 HRESULT (STDMETHODCALLTYPE *Disconnect)(
1000 IPin *This);
1001
1002 HRESULT (STDMETHODCALLTYPE *ConnectedTo)(
1003 IPin *This,
1004 IPin **pPin);
1005
1006 HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)(
1007 IPin *This,
1008 AM_MEDIA_TYPE *pmt);
1009
1010 HRESULT (STDMETHODCALLTYPE *QueryPinInfo)(
1011 IPin *This,
1012 PIN_INFO *pInfo);
1013
1014 HRESULT (STDMETHODCALLTYPE *QueryDirection)(
1015 IPin *This,
1016 PIN_DIRECTION *pPinDir);
1017
1018 HRESULT (STDMETHODCALLTYPE *QueryId)(
1019 IPin *This,
1020 LPWSTR *Id);
1021
1022 HRESULT (STDMETHODCALLTYPE *QueryAccept)(
1023 IPin *This,
1024 const AM_MEDIA_TYPE *pmt);
1025
1026 HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)(
1027 IPin *This,
1028 IEnumMediaTypes **ppEnum);
1029
1030 HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)(
1031 IPin *This,
1032 IPin **apPin,
1033 ULONG *nPin);
1034
1035 HRESULT (STDMETHODCALLTYPE *EndOfStream)(
1036 IPin *This);
1037
1038 HRESULT (STDMETHODCALLTYPE *BeginFlush)(
1039 IPin *This);
1040
1041 HRESULT (STDMETHODCALLTYPE *EndFlush)(
1042 IPin *This);
1043
1044 HRESULT (STDMETHODCALLTYPE *NewSegment)(
1045 IPin *This,
1046 REFERENCE_TIME tStart,
1047 REFERENCE_TIME tStop,
1048 double dRate);
1049
1050 END_INTERFACE
1051} IPinVtbl;
1052
1053interface IPin {
1054 CONST_VTBL IPinVtbl* lpVtbl;
1055};
1056
1057#ifdef COBJMACROS
1058#ifndef WIDL_C_INLINE_WRAPPERS
1059/*** IUnknown methods ***/
1060#define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1061#define IPin_AddRef(This) (This)->lpVtbl->AddRef(This)
1062#define IPin_Release(This) (This)->lpVtbl->Release(This)
1063/*** IPin methods ***/
1064#define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt)
1065#define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt)
1066#define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This)
1067#define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin)
1068#define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt)
1069#define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo)
1070#define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir)
1071#define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id)
1072#define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt)
1073#define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum)
1074#define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin)
1075#define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
1076#define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
1077#define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This)
1078#define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate)
1079#else
1080/*** IUnknown methods ***/
1081static inline HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) {
1082 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1083}
1084static inline ULONG IPin_AddRef(IPin* This) {
1085 return This->lpVtbl->AddRef(This);
1086}
1087static inline ULONG IPin_Release(IPin* This) {
1088 return This->lpVtbl->Release(This);
1089}
1090/*** IPin methods ***/
1091static inline HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) {
1092 return This->lpVtbl->Connect(This,pReceivePin,pmt);
1093}
1094static inline HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) {
1095 return This->lpVtbl->ReceiveConnection(This,pConnector,pmt);
1096}
1097static inline HRESULT IPin_Disconnect(IPin* This) {
1098 return This->lpVtbl->Disconnect(This);
1099}
1100static inline HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) {
1101 return This->lpVtbl->ConnectedTo(This,pPin);
1102}
1103static inline HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) {
1104 return This->lpVtbl->ConnectionMediaType(This,pmt);
1105}
1106static inline HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) {
1107 return This->lpVtbl->QueryPinInfo(This,pInfo);
1108}
1109static inline HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) {
1110 return This->lpVtbl->QueryDirection(This,pPinDir);
1111}
1112static inline HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) {
1113 return This->lpVtbl->QueryId(This,Id);
1114}
1115static inline HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) {
1116 return This->lpVtbl->QueryAccept(This,pmt);
1117}
1118static inline HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) {
1119 return This->lpVtbl->EnumMediaTypes(This,ppEnum);
1120}
1121static inline HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) {
1122 return This->lpVtbl->QueryInternalConnections(This,apPin,nPin);
1123}
1124static inline HRESULT IPin_EndOfStream(IPin* This) {
1125 return This->lpVtbl->EndOfStream(This);
1126}
1127static inline HRESULT IPin_BeginFlush(IPin* This) {
1128 return This->lpVtbl->BeginFlush(This);
1129}
1130static inline HRESULT IPin_EndFlush(IPin* This) {
1131 return This->lpVtbl->EndFlush(This);
1132}
1133static inline HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) {
1134 return This->lpVtbl->NewSegment(This,tStart,tStop,dRate);
1135}
1136#endif
1137#endif
1138
1139#endif
1140
1141
1142#endif /* __IPin_INTERFACE_DEFINED__ */
1143
1144typedef IPin *PPIN;
1145
1146/*****************************************************************************
1147 * IEnumPins interface
1148 */
1149#ifndef __IEnumPins_INTERFACE_DEFINED__
1150#define __IEnumPins_INTERFACE_DEFINED__
1151
1152DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
1153#if defined(__cplusplus) && !defined(CINTERFACE)
1154MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
1155IEnumPins : public IUnknown
1156{
1157 virtual HRESULT STDMETHODCALLTYPE Next(
1158 ULONG cPins,
1159 IPin **ppPins,
1160 ULONG *pcFetched) = 0;
1161
1162 virtual HRESULT STDMETHODCALLTYPE Skip(
1163 ULONG cPins) = 0;
1164
1165 virtual HRESULT STDMETHODCALLTYPE Reset(
1166 ) = 0;
1167
1168 virtual HRESULT STDMETHODCALLTYPE Clone(
1169 IEnumPins **ppEnum) = 0;
1170
1171};
1172#ifdef __CRT_UUID_DECL
1173__CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
1174#endif
1175#else
1176typedef struct IEnumPinsVtbl {
1177 BEGIN_INTERFACE
1178
1179 /*** IUnknown methods ***/
1180 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1181 IEnumPins *This,
1182 REFIID riid,
1183 void **ppvObject);
1184
1185 ULONG (STDMETHODCALLTYPE *AddRef)(
1186 IEnumPins *This);
1187
1188 ULONG (STDMETHODCALLTYPE *Release)(
1189 IEnumPins *This);
1190
1191 /*** IEnumPins methods ***/
1192 HRESULT (STDMETHODCALLTYPE *Next)(
1193 IEnumPins *This,
1194 ULONG cPins,
1195 IPin **ppPins,
1196 ULONG *pcFetched);
1197
1198 HRESULT (STDMETHODCALLTYPE *Skip)(
1199 IEnumPins *This,
1200 ULONG cPins);
1201
1202 HRESULT (STDMETHODCALLTYPE *Reset)(
1203 IEnumPins *This);
1204
1205 HRESULT (STDMETHODCALLTYPE *Clone)(
1206 IEnumPins *This,
1207 IEnumPins **ppEnum);
1208
1209 END_INTERFACE
1210} IEnumPinsVtbl;
1211
1212interface IEnumPins {
1213 CONST_VTBL IEnumPinsVtbl* lpVtbl;
1214};
1215
1216#ifdef COBJMACROS
1217#ifndef WIDL_C_INLINE_WRAPPERS
1218/*** IUnknown methods ***/
1219#define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1220#define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This)
1221#define IEnumPins_Release(This) (This)->lpVtbl->Release(This)
1222/*** IEnumPins methods ***/
1223#define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched)
1224#define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins)
1225#define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This)
1226#define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
1227#else
1228/*** IUnknown methods ***/
1229static inline HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) {
1230 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1231}
1232static inline ULONG IEnumPins_AddRef(IEnumPins* This) {
1233 return This->lpVtbl->AddRef(This);
1234}
1235static inline ULONG IEnumPins_Release(IEnumPins* This) {
1236 return This->lpVtbl->Release(This);
1237}
1238/*** IEnumPins methods ***/
1239static inline HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) {
1240 return This->lpVtbl->Next(This,cPins,ppPins,pcFetched);
1241}
1242static inline HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) {
1243 return This->lpVtbl->Skip(This,cPins);
1244}
1245static inline HRESULT IEnumPins_Reset(IEnumPins* This) {
1246 return This->lpVtbl->Reset(This);
1247}
1248static inline HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) {
1249 return This->lpVtbl->Clone(This,ppEnum);
1250}
1251#endif
1252#endif
1253
1254#endif
1255
1256
1257#endif /* __IEnumPins_INTERFACE_DEFINED__ */
1258
1259typedef IEnumPins *PENUMPINS;
1260
1261/*****************************************************************************
1262 * IEnumMediaTypes interface
1263 */
1264#ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
1265#define __IEnumMediaTypes_INTERFACE_DEFINED__
1266
1267DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a);
1268#if defined(__cplusplus) && !defined(CINTERFACE)
1269MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
1270IEnumMediaTypes : public IUnknown
1271{
1272 virtual HRESULT STDMETHODCALLTYPE Next(
1273 ULONG cMediaTypes,
1274 AM_MEDIA_TYPE **ppMediaTypes,
1275 ULONG *pcFetched) = 0;
1276
1277 virtual HRESULT STDMETHODCALLTYPE Skip(
1278 ULONG cMediaTypes) = 0;
1279
1280 virtual HRESULT STDMETHODCALLTYPE Reset(
1281 ) = 0;
1282
1283 virtual HRESULT STDMETHODCALLTYPE Clone(
1284 IEnumMediaTypes **ppEnum) = 0;
1285
1286};
1287#ifdef __CRT_UUID_DECL
1288__CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a)
1289#endif
1290#else
1291typedef struct IEnumMediaTypesVtbl {
1292 BEGIN_INTERFACE
1293
1294 /*** IUnknown methods ***/
1295 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1296 IEnumMediaTypes *This,
1297 REFIID riid,
1298 void **ppvObject);
1299
1300 ULONG (STDMETHODCALLTYPE *AddRef)(
1301 IEnumMediaTypes *This);
1302
1303 ULONG (STDMETHODCALLTYPE *Release)(
1304 IEnumMediaTypes *This);
1305
1306 /*** IEnumMediaTypes methods ***/
1307 HRESULT (STDMETHODCALLTYPE *Next)(
1308 IEnumMediaTypes *This,
1309 ULONG cMediaTypes,
1310 AM_MEDIA_TYPE **ppMediaTypes,
1311 ULONG *pcFetched);
1312
1313 HRESULT (STDMETHODCALLTYPE *Skip)(
1314 IEnumMediaTypes *This,
1315 ULONG cMediaTypes);
1316
1317 HRESULT (STDMETHODCALLTYPE *Reset)(
1318 IEnumMediaTypes *This);
1319
1320 HRESULT (STDMETHODCALLTYPE *Clone)(
1321 IEnumMediaTypes *This,
1322 IEnumMediaTypes **ppEnum);
1323
1324 END_INTERFACE
1325} IEnumMediaTypesVtbl;
1326
1327interface IEnumMediaTypes {
1328 CONST_VTBL IEnumMediaTypesVtbl* lpVtbl;
1329};
1330
1331#ifdef COBJMACROS
1332#ifndef WIDL_C_INLINE_WRAPPERS
1333/*** IUnknown methods ***/
1334#define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1335#define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This)
1336#define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This)
1337/*** IEnumMediaTypes methods ***/
1338#define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched)
1339#define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes)
1340#define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This)
1341#define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
1342#else
1343/*** IUnknown methods ***/
1344static inline HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) {
1345 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1346}
1347static inline ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) {
1348 return This->lpVtbl->AddRef(This);
1349}
1350static inline ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) {
1351 return This->lpVtbl->Release(This);
1352}
1353/*** IEnumMediaTypes methods ***/
1354static inline HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) {
1355 return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched);
1356}
1357static inline HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) {
1358 return This->lpVtbl->Skip(This,cMediaTypes);
1359}
1360static inline HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) {
1361 return This->lpVtbl->Reset(This);
1362}
1363static inline HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) {
1364 return This->lpVtbl->Clone(This,ppEnum);
1365}
1366#endif
1367#endif
1368
1369#endif
1370
1371
1372#endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
1373
1374typedef IEnumMediaTypes *PENUMMEDIATYPES;
1375
1376/*****************************************************************************
1377 * IFilterGraph interface
1378 */
1379#ifndef __IFilterGraph_INTERFACE_DEFINED__
1380#define __IFilterGraph_INTERFACE_DEFINED__
1381
1382DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
1383#if defined(__cplusplus) && !defined(CINTERFACE)
1384MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
1385IFilterGraph : public IUnknown
1386{
1387 virtual HRESULT STDMETHODCALLTYPE AddFilter(
1388 IBaseFilter *pFilter,
1389 LPCWSTR pName) = 0;
1390
1391 virtual HRESULT STDMETHODCALLTYPE RemoveFilter(
1392 IBaseFilter *pFilter) = 0;
1393
1394 virtual HRESULT STDMETHODCALLTYPE EnumFilters(
1395 IEnumFilters **ppEnum) = 0;
1396
1397 virtual HRESULT STDMETHODCALLTYPE FindFilterByName(
1398 LPCWSTR pName,
1399 IBaseFilter **ppFilter) = 0;
1400
1401 virtual HRESULT STDMETHODCALLTYPE ConnectDirect(
1402 IPin *ppinOut,
1403 IPin *ppinIn,
1404 const AM_MEDIA_TYPE *pmt) = 0;
1405
1406 virtual HRESULT STDMETHODCALLTYPE Reconnect(
1407 IPin *ppin) = 0;
1408
1409 virtual HRESULT STDMETHODCALLTYPE Disconnect(
1410 IPin *ppin) = 0;
1411
1412 virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource(
1413 ) = 0;
1414
1415};
1416#ifdef __CRT_UUID_DECL
1417__CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
1418#endif
1419#else
1420typedef struct IFilterGraphVtbl {
1421 BEGIN_INTERFACE
1422
1423 /*** IUnknown methods ***/
1424 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1425 IFilterGraph *This,
1426 REFIID riid,
1427 void **ppvObject);
1428
1429 ULONG (STDMETHODCALLTYPE *AddRef)(
1430 IFilterGraph *This);
1431
1432 ULONG (STDMETHODCALLTYPE *Release)(
1433 IFilterGraph *This);
1434
1435 /*** IFilterGraph methods ***/
1436 HRESULT (STDMETHODCALLTYPE *AddFilter)(
1437 IFilterGraph *This,
1438 IBaseFilter *pFilter,
1439 LPCWSTR pName);
1440
1441 HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
1442 IFilterGraph *This,
1443 IBaseFilter *pFilter);
1444
1445 HRESULT (STDMETHODCALLTYPE *EnumFilters)(
1446 IFilterGraph *This,
1447 IEnumFilters **ppEnum);
1448
1449 HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
1450 IFilterGraph *This,
1451 LPCWSTR pName,
1452 IBaseFilter **ppFilter);
1453
1454 HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
1455 IFilterGraph *This,
1456 IPin *ppinOut,
1457 IPin *ppinIn,
1458 const AM_MEDIA_TYPE *pmt);
1459
1460 HRESULT (STDMETHODCALLTYPE *Reconnect)(
1461 IFilterGraph *This,
1462 IPin *ppin);
1463
1464 HRESULT (STDMETHODCALLTYPE *Disconnect)(
1465 IFilterGraph *This,
1466 IPin *ppin);
1467
1468 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
1469 IFilterGraph *This);
1470
1471 END_INTERFACE
1472} IFilterGraphVtbl;
1473
1474interface IFilterGraph {
1475 CONST_VTBL IFilterGraphVtbl* lpVtbl;
1476};
1477
1478#ifdef COBJMACROS
1479#ifndef WIDL_C_INLINE_WRAPPERS
1480/*** IUnknown methods ***/
1481#define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1482#define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This)
1483#define IFilterGraph_Release(This) (This)->lpVtbl->Release(This)
1484/*** IFilterGraph methods ***/
1485#define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
1486#define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
1487#define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
1488#define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
1489#define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
1490#define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
1491#define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
1492#define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
1493#else
1494/*** IUnknown methods ***/
1495static inline HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) {
1496 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1497}
1498static inline ULONG IFilterGraph_AddRef(IFilterGraph* This) {
1499 return This->lpVtbl->AddRef(This);
1500}
1501static inline ULONG IFilterGraph_Release(IFilterGraph* This) {
1502 return This->lpVtbl->Release(This);
1503}
1504/*** IFilterGraph methods ***/
1505static inline HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) {
1506 return This->lpVtbl->AddFilter(This,pFilter,pName);
1507}
1508static inline HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) {
1509 return This->lpVtbl->RemoveFilter(This,pFilter);
1510}
1511static inline HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) {
1512 return This->lpVtbl->EnumFilters(This,ppEnum);
1513}
1514static inline HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) {
1515 return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
1516}
1517static inline HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
1518 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
1519}
1520static inline HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) {
1521 return This->lpVtbl->Reconnect(This,ppin);
1522}
1523static inline HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) {
1524 return This->lpVtbl->Disconnect(This,ppin);
1525}
1526static inline HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) {
1527 return This->lpVtbl->SetDefaultSyncSource(This);
1528}
1529#endif
1530#endif
1531
1532#endif
1533
1534
1535#endif /* __IFilterGraph_INTERFACE_DEFINED__ */
1536
1537typedef IFilterGraph *PFILTERGRAPH;
1538
1539/*****************************************************************************
1540 * IEnumFilters interface
1541 */
1542#ifndef __IEnumFilters_INTERFACE_DEFINED__
1543#define __IEnumFilters_INTERFACE_DEFINED__
1544
1545DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
1546#if defined(__cplusplus) && !defined(CINTERFACE)
1547MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
1548IEnumFilters : public IUnknown
1549{
1550 virtual HRESULT STDMETHODCALLTYPE Next(
1551 ULONG cFilters,
1552 IBaseFilter **ppFilter,
1553 ULONG *pcFetched) = 0;
1554
1555 virtual HRESULT STDMETHODCALLTYPE Skip(
1556 ULONG cFilters) = 0;
1557
1558 virtual HRESULT STDMETHODCALLTYPE Reset(
1559 ) = 0;
1560
1561 virtual HRESULT STDMETHODCALLTYPE Clone(
1562 IEnumFilters **ppEnum) = 0;
1563
1564};
1565#ifdef __CRT_UUID_DECL
1566__CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
1567#endif
1568#else
1569typedef struct IEnumFiltersVtbl {
1570 BEGIN_INTERFACE
1571
1572 /*** IUnknown methods ***/
1573 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1574 IEnumFilters *This,
1575 REFIID riid,
1576 void **ppvObject);
1577
1578 ULONG (STDMETHODCALLTYPE *AddRef)(
1579 IEnumFilters *This);
1580
1581 ULONG (STDMETHODCALLTYPE *Release)(
1582 IEnumFilters *This);
1583
1584 /*** IEnumFilters methods ***/
1585 HRESULT (STDMETHODCALLTYPE *Next)(
1586 IEnumFilters *This,
1587 ULONG cFilters,
1588 IBaseFilter **ppFilter,
1589 ULONG *pcFetched);
1590
1591 HRESULT (STDMETHODCALLTYPE *Skip)(
1592 IEnumFilters *This,
1593 ULONG cFilters);
1594
1595 HRESULT (STDMETHODCALLTYPE *Reset)(
1596 IEnumFilters *This);
1597
1598 HRESULT (STDMETHODCALLTYPE *Clone)(
1599 IEnumFilters *This,
1600 IEnumFilters **ppEnum);
1601
1602 END_INTERFACE
1603} IEnumFiltersVtbl;
1604
1605interface IEnumFilters {
1606 CONST_VTBL IEnumFiltersVtbl* lpVtbl;
1607};
1608
1609#ifdef COBJMACROS
1610#ifndef WIDL_C_INLINE_WRAPPERS
1611/*** IUnknown methods ***/
1612#define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1613#define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
1614#define IEnumFilters_Release(This) (This)->lpVtbl->Release(This)
1615/*** IEnumFilters methods ***/
1616#define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched)
1617#define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
1618#define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This)
1619#define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
1620#else
1621/*** IUnknown methods ***/
1622static inline HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) {
1623 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1624}
1625static inline ULONG IEnumFilters_AddRef(IEnumFilters* This) {
1626 return This->lpVtbl->AddRef(This);
1627}
1628static inline ULONG IEnumFilters_Release(IEnumFilters* This) {
1629 return This->lpVtbl->Release(This);
1630}
1631/*** IEnumFilters methods ***/
1632static inline HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) {
1633 return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched);
1634}
1635static inline HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) {
1636 return This->lpVtbl->Skip(This,cFilters);
1637}
1638static inline HRESULT IEnumFilters_Reset(IEnumFilters* This) {
1639 return This->lpVtbl->Reset(This);
1640}
1641static inline HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) {
1642 return This->lpVtbl->Clone(This,ppEnum);
1643}
1644#endif
1645#endif
1646
1647#endif
1648
1649
1650#endif /* __IEnumFilters_INTERFACE_DEFINED__ */
1651
1652typedef IEnumFilters *PENUMFILTERS;
1653
1654/*****************************************************************************
1655 * IMediaFilter interface
1656 */
1657#ifndef __IMediaFilter_INTERFACE_DEFINED__
1658#define __IMediaFilter_INTERFACE_DEFINED__
1659
1660typedef enum _FilterState {
1661 State_Stopped = 0,
1662 State_Paused = 1,
1663 State_Running = 2
1664} FILTER_STATE;
1665
1666DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
1667#if defined(__cplusplus) && !defined(CINTERFACE)
1668MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
1669IMediaFilter : public IPersist
1670{
1671 virtual HRESULT STDMETHODCALLTYPE Stop(
1672 ) = 0;
1673
1674 virtual HRESULT STDMETHODCALLTYPE Pause(
1675 ) = 0;
1676
1677 virtual HRESULT STDMETHODCALLTYPE Run(
1678 REFERENCE_TIME tStart) = 0;
1679
1680 virtual HRESULT STDMETHODCALLTYPE GetState(
1681 DWORD dwMilliSecsTimeout,
1682 FILTER_STATE *State) = 0;
1683
1684 virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
1685 IReferenceClock *pClock) = 0;
1686
1687 virtual HRESULT STDMETHODCALLTYPE GetSyncSource(
1688 IReferenceClock **pClock) = 0;
1689
1690};
1691#ifdef __CRT_UUID_DECL
1692__CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
1693#endif
1694#else
1695typedef struct IMediaFilterVtbl {
1696 BEGIN_INTERFACE
1697
1698 /*** IUnknown methods ***/
1699 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1700 IMediaFilter *This,
1701 REFIID riid,
1702 void **ppvObject);
1703
1704 ULONG (STDMETHODCALLTYPE *AddRef)(
1705 IMediaFilter *This);
1706
1707 ULONG (STDMETHODCALLTYPE *Release)(
1708 IMediaFilter *This);
1709
1710 /*** IPersist methods ***/
1711 HRESULT (STDMETHODCALLTYPE *GetClassID)(
1712 IMediaFilter *This,
1713 CLSID *pClassID);
1714
1715 /*** IMediaFilter methods ***/
1716 HRESULT (STDMETHODCALLTYPE *Stop)(
1717 IMediaFilter *This);
1718
1719 HRESULT (STDMETHODCALLTYPE *Pause)(
1720 IMediaFilter *This);
1721
1722 HRESULT (STDMETHODCALLTYPE *Run)(
1723 IMediaFilter *This,
1724 REFERENCE_TIME tStart);
1725
1726 HRESULT (STDMETHODCALLTYPE *GetState)(
1727 IMediaFilter *This,
1728 DWORD dwMilliSecsTimeout,
1729 FILTER_STATE *State);
1730
1731 HRESULT (STDMETHODCALLTYPE *SetSyncSource)(
1732 IMediaFilter *This,
1733 IReferenceClock *pClock);
1734
1735 HRESULT (STDMETHODCALLTYPE *GetSyncSource)(
1736 IMediaFilter *This,
1737 IReferenceClock **pClock);
1738
1739 END_INTERFACE
1740} IMediaFilterVtbl;
1741
1742interface IMediaFilter {
1743 CONST_VTBL IMediaFilterVtbl* lpVtbl;
1744};
1745
1746#ifdef COBJMACROS
1747#ifndef WIDL_C_INLINE_WRAPPERS
1748/*** IUnknown methods ***/
1749#define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1750#define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
1751#define IMediaFilter_Release(This) (This)->lpVtbl->Release(This)
1752/*** IPersist methods ***/
1753#define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
1754/*** IMediaFilter methods ***/
1755#define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This)
1756#define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This)
1757#define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
1758#define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
1759#define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
1760#define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
1761#else
1762/*** IUnknown methods ***/
1763static inline HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) {
1764 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1765}
1766static inline ULONG IMediaFilter_AddRef(IMediaFilter* This) {
1767 return This->lpVtbl->AddRef(This);
1768}
1769static inline ULONG IMediaFilter_Release(IMediaFilter* This) {
1770 return This->lpVtbl->Release(This);
1771}
1772/*** IPersist methods ***/
1773static inline HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) {
1774 return This->lpVtbl->GetClassID(This,pClassID);
1775}
1776/*** IMediaFilter methods ***/
1777static inline HRESULT IMediaFilter_Stop(IMediaFilter* This) {
1778 return This->lpVtbl->Stop(This);
1779}
1780static inline HRESULT IMediaFilter_Pause(IMediaFilter* This) {
1781 return This->lpVtbl->Pause(This);
1782}
1783static inline HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) {
1784 return This->lpVtbl->Run(This,tStart);
1785}
1786static inline HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
1787 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
1788}
1789static inline HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) {
1790 return This->lpVtbl->SetSyncSource(This,pClock);
1791}
1792static inline HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) {
1793 return This->lpVtbl->GetSyncSource(This,pClock);
1794}
1795#endif
1796#endif
1797
1798#endif
1799
1800
1801#endif /* __IMediaFilter_INTERFACE_DEFINED__ */
1802
1803typedef IMediaFilter *PMEDIAFILTER;
1804
1805/*****************************************************************************
1806 * IBaseFilter interface
1807 */
1808#ifndef __IBaseFilter_INTERFACE_DEFINED__
1809#define __IBaseFilter_INTERFACE_DEFINED__
1810
1811typedef struct _FilterInfo {
1812 WCHAR achName[128];
1813 IFilterGraph *pGraph;
1814} FILTER_INFO;
1815
1816DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
1817#if defined(__cplusplus) && !defined(CINTERFACE)
1818MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
1819IBaseFilter : public IMediaFilter
1820{
1821 virtual HRESULT STDMETHODCALLTYPE EnumPins(
1822 IEnumPins **ppEnum) = 0;
1823
1824 virtual HRESULT STDMETHODCALLTYPE FindPin(
1825 LPCWSTR Id,
1826 IPin **ppPin) = 0;
1827
1828 virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo(
1829 FILTER_INFO *pInfo) = 0;
1830
1831 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
1832 IFilterGraph *pGraph,
1833 LPCWSTR pName) = 0;
1834
1835 virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo(
1836 LPWSTR *pVendorInfo) = 0;
1837
1838};
1839#ifdef __CRT_UUID_DECL
1840__CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
1841#endif
1842#else
1843typedef struct IBaseFilterVtbl {
1844 BEGIN_INTERFACE
1845
1846 /*** IUnknown methods ***/
1847 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1848 IBaseFilter *This,
1849 REFIID riid,
1850 void **ppvObject);
1851
1852 ULONG (STDMETHODCALLTYPE *AddRef)(
1853 IBaseFilter *This);
1854
1855 ULONG (STDMETHODCALLTYPE *Release)(
1856 IBaseFilter *This);
1857
1858 /*** IPersist methods ***/
1859 HRESULT (STDMETHODCALLTYPE *GetClassID)(
1860 IBaseFilter *This,
1861 CLSID *pClassID);
1862
1863 /*** IMediaFilter methods ***/
1864 HRESULT (STDMETHODCALLTYPE *Stop)(
1865 IBaseFilter *This);
1866
1867 HRESULT (STDMETHODCALLTYPE *Pause)(
1868 IBaseFilter *This);
1869
1870 HRESULT (STDMETHODCALLTYPE *Run)(
1871 IBaseFilter *This,
1872 REFERENCE_TIME tStart);
1873
1874 HRESULT (STDMETHODCALLTYPE *GetState)(
1875 IBaseFilter *This,
1876 DWORD dwMilliSecsTimeout,
1877 FILTER_STATE *State);
1878
1879 HRESULT (STDMETHODCALLTYPE *SetSyncSource)(
1880 IBaseFilter *This,
1881 IReferenceClock *pClock);
1882
1883 HRESULT (STDMETHODCALLTYPE *GetSyncSource)(
1884 IBaseFilter *This,
1885 IReferenceClock **pClock);
1886
1887 /*** IBaseFilter methods ***/
1888 HRESULT (STDMETHODCALLTYPE *EnumPins)(
1889 IBaseFilter *This,
1890 IEnumPins **ppEnum);
1891
1892 HRESULT (STDMETHODCALLTYPE *FindPin)(
1893 IBaseFilter *This,
1894 LPCWSTR Id,
1895 IPin **ppPin);
1896
1897 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)(
1898 IBaseFilter *This,
1899 FILTER_INFO *pInfo);
1900
1901 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)(
1902 IBaseFilter *This,
1903 IFilterGraph *pGraph,
1904 LPCWSTR pName);
1905
1906 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)(
1907 IBaseFilter *This,
1908 LPWSTR *pVendorInfo);
1909
1910 END_INTERFACE
1911} IBaseFilterVtbl;
1912
1913interface IBaseFilter {
1914 CONST_VTBL IBaseFilterVtbl* lpVtbl;
1915};
1916
1917#ifdef COBJMACROS
1918#ifndef WIDL_C_INLINE_WRAPPERS
1919/*** IUnknown methods ***/
1920#define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1921#define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
1922#define IBaseFilter_Release(This) (This)->lpVtbl->Release(This)
1923/*** IPersist methods ***/
1924#define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
1925/*** IMediaFilter methods ***/
1926#define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This)
1927#define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This)
1928#define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
1929#define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
1930#define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
1931#define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
1932/*** IBaseFilter methods ***/
1933#define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum)
1934#define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin)
1935#define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo)
1936#define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName)
1937#define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo)
1938#else
1939/*** IUnknown methods ***/
1940static inline HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) {
1941 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1942}
1943static inline ULONG IBaseFilter_AddRef(IBaseFilter* This) {
1944 return This->lpVtbl->AddRef(This);
1945}
1946static inline ULONG IBaseFilter_Release(IBaseFilter* This) {
1947 return This->lpVtbl->Release(This);
1948}
1949/*** IPersist methods ***/
1950static inline HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) {
1951 return This->lpVtbl->GetClassID(This,pClassID);
1952}
1953/*** IMediaFilter methods ***/
1954static inline HRESULT IBaseFilter_Stop(IBaseFilter* This) {
1955 return This->lpVtbl->Stop(This);
1956}
1957static inline HRESULT IBaseFilter_Pause(IBaseFilter* This) {
1958 return This->lpVtbl->Pause(This);
1959}
1960static inline HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) {
1961 return This->lpVtbl->Run(This,tStart);
1962}
1963static inline HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
1964 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
1965}
1966static inline HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) {
1967 return This->lpVtbl->SetSyncSource(This,pClock);
1968}
1969static inline HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) {
1970 return This->lpVtbl->GetSyncSource(This,pClock);
1971}
1972/*** IBaseFilter methods ***/
1973static inline HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) {
1974 return This->lpVtbl->EnumPins(This,ppEnum);
1975}
1976static inline HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) {
1977 return This->lpVtbl->FindPin(This,Id,ppPin);
1978}
1979static inline HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) {
1980 return This->lpVtbl->QueryFilterInfo(This,pInfo);
1981}
1982static inline HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) {
1983 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName);
1984}
1985static inline HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) {
1986 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo);
1987}
1988#endif
1989#endif
1990
1991#endif
1992
1993
1994#endif /* __IBaseFilter_INTERFACE_DEFINED__ */
1995
1996typedef IBaseFilter *PFILTER;
1997
1998/*****************************************************************************
1999 * IReferenceClock interface
2000 */
2001#ifndef __IReferenceClock_INTERFACE_DEFINED__
2002#define __IReferenceClock_INTERFACE_DEFINED__
2003
2004DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
2005#if defined(__cplusplus) && !defined(CINTERFACE)
2006MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
2007IReferenceClock : public IUnknown
2008{
2009 virtual HRESULT STDMETHODCALLTYPE GetTime(
2010 REFERENCE_TIME *pTime) = 0;
2011
2012 virtual HRESULT STDMETHODCALLTYPE AdviseTime(
2013 REFERENCE_TIME baseTime,
2014 REFERENCE_TIME streamTime,
2015 HEVENT hEvent,
2016 DWORD_PTR *pdwAdviseCookie) = 0;
2017
2018 virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic(
2019 REFERENCE_TIME startTime,
2020 REFERENCE_TIME periodTime,
2021 HSEMAPHORE hSemaphore,
2022 DWORD_PTR *pdwAdviseCookie) = 0;
2023
2024 virtual HRESULT STDMETHODCALLTYPE Unadvise(
2025 DWORD_PTR dwAdviseCookie) = 0;
2026
2027};
2028#ifdef __CRT_UUID_DECL
2029__CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
2030#endif
2031#else
2032typedef struct IReferenceClockVtbl {
2033 BEGIN_INTERFACE
2034
2035 /*** IUnknown methods ***/
2036 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2037 IReferenceClock *This,
2038 REFIID riid,
2039 void **ppvObject);
2040
2041 ULONG (STDMETHODCALLTYPE *AddRef)(
2042 IReferenceClock *This);
2043
2044 ULONG (STDMETHODCALLTYPE *Release)(
2045 IReferenceClock *This);
2046
2047 /*** IReferenceClock methods ***/
2048 HRESULT (STDMETHODCALLTYPE *GetTime)(
2049 IReferenceClock *This,
2050 REFERENCE_TIME *pTime);
2051
2052 HRESULT (STDMETHODCALLTYPE *AdviseTime)(
2053 IReferenceClock *This,
2054 REFERENCE_TIME baseTime,
2055 REFERENCE_TIME streamTime,
2056 HEVENT hEvent,
2057 DWORD_PTR *pdwAdviseCookie);
2058
2059 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)(
2060 IReferenceClock *This,
2061 REFERENCE_TIME startTime,
2062 REFERENCE_TIME periodTime,
2063 HSEMAPHORE hSemaphore,
2064 DWORD_PTR *pdwAdviseCookie);
2065
2066 HRESULT (STDMETHODCALLTYPE *Unadvise)(
2067 IReferenceClock *This,
2068 DWORD_PTR dwAdviseCookie);
2069
2070 END_INTERFACE
2071} IReferenceClockVtbl;
2072
2073interface IReferenceClock {
2074 CONST_VTBL IReferenceClockVtbl* lpVtbl;
2075};
2076
2077#ifdef COBJMACROS
2078#ifndef WIDL_C_INLINE_WRAPPERS
2079/*** IUnknown methods ***/
2080#define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2081#define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This)
2082#define IReferenceClock_Release(This) (This)->lpVtbl->Release(This)
2083/*** IReferenceClock methods ***/
2084#define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
2085#define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
2086#define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
2087#define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
2088#else
2089/*** IUnknown methods ***/
2090static inline HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) {
2091 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2092}
2093static inline ULONG IReferenceClock_AddRef(IReferenceClock* This) {
2094 return This->lpVtbl->AddRef(This);
2095}
2096static inline ULONG IReferenceClock_Release(IReferenceClock* This) {
2097 return This->lpVtbl->Release(This);
2098}
2099/*** IReferenceClock methods ***/
2100static inline HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) {
2101 return This->lpVtbl->GetTime(This,pTime);
2102}
2103static inline HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) {
2104 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie);
2105}
2106static inline HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) {
2107 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie);
2108}
2109static inline HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) {
2110 return This->lpVtbl->Unadvise(This,dwAdviseCookie);
2111}
2112#endif
2113#endif
2114
2115#endif
2116
2117
2118#endif /* __IReferenceClock_INTERFACE_DEFINED__ */
2119
2120typedef IReferenceClock *PREFERENCECLOCK;
2121
2122/*****************************************************************************
2123 * IReferenceClockTimerControl interface
2124 */
2125#ifndef __IReferenceClockTimerControl_INTERFACE_DEFINED__
2126#define __IReferenceClockTimerControl_INTERFACE_DEFINED__
2127
2128DEFINE_GUID(IID_IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8);
2129#if defined(__cplusplus) && !defined(CINTERFACE)
2130MIDL_INTERFACE("ebec459c-2eca-4d42-a8af-30df557614b8")
2131IReferenceClockTimerControl : public IUnknown
2132{
2133 virtual HRESULT STDMETHODCALLTYPE SetDefaultTimerResolution(
2134 REFERENCE_TIME timerResolution) = 0;
2135
2136 virtual HRESULT STDMETHODCALLTYPE GetDefaultTimerResolution(
2137 REFERENCE_TIME *pTimerResolution) = 0;
2138
2139};
2140#ifdef __CRT_UUID_DECL
2141__CRT_UUID_DECL(IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8)
2142#endif
2143#else
2144typedef struct IReferenceClockTimerControlVtbl {
2145 BEGIN_INTERFACE
2146
2147 /*** IUnknown methods ***/
2148 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2149 IReferenceClockTimerControl *This,
2150 REFIID riid,
2151 void **ppvObject);
2152
2153 ULONG (STDMETHODCALLTYPE *AddRef)(
2154 IReferenceClockTimerControl *This);
2155
2156 ULONG (STDMETHODCALLTYPE *Release)(
2157 IReferenceClockTimerControl *This);
2158
2159 /*** IReferenceClockTimerControl methods ***/
2160 HRESULT (STDMETHODCALLTYPE *SetDefaultTimerResolution)(
2161 IReferenceClockTimerControl *This,
2162 REFERENCE_TIME timerResolution);
2163
2164 HRESULT (STDMETHODCALLTYPE *GetDefaultTimerResolution)(
2165 IReferenceClockTimerControl *This,
2166 REFERENCE_TIME *pTimerResolution);
2167
2168 END_INTERFACE
2169} IReferenceClockTimerControlVtbl;
2170
2171interface IReferenceClockTimerControl {
2172 CONST_VTBL IReferenceClockTimerControlVtbl* lpVtbl;
2173};
2174
2175#ifdef COBJMACROS
2176#ifndef WIDL_C_INLINE_WRAPPERS
2177/*** IUnknown methods ***/
2178#define IReferenceClockTimerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2179#define IReferenceClockTimerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
2180#define IReferenceClockTimerControl_Release(This) (This)->lpVtbl->Release(This)
2181/*** IReferenceClockTimerControl methods ***/
2182#define IReferenceClockTimerControl_SetDefaultTimerResolution(This,timerResolution) (This)->lpVtbl->SetDefaultTimerResolution(This,timerResolution)
2183#define IReferenceClockTimerControl_GetDefaultTimerResolution(This,pTimerResolution) (This)->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution)
2184#else
2185/*** IUnknown methods ***/
2186static inline HRESULT IReferenceClockTimerControl_QueryInterface(IReferenceClockTimerControl* This,REFIID riid,void **ppvObject) {
2187 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2188}
2189static inline ULONG IReferenceClockTimerControl_AddRef(IReferenceClockTimerControl* This) {
2190 return This->lpVtbl->AddRef(This);
2191}
2192static inline ULONG IReferenceClockTimerControl_Release(IReferenceClockTimerControl* This) {
2193 return This->lpVtbl->Release(This);
2194}
2195/*** IReferenceClockTimerControl methods ***/
2196static inline HRESULT IReferenceClockTimerControl_SetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME timerResolution) {
2197 return This->lpVtbl->SetDefaultTimerResolution(This,timerResolution);
2198}
2199static inline HRESULT IReferenceClockTimerControl_GetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME *pTimerResolution) {
2200 return This->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution);
2201}
2202#endif
2203#endif
2204
2205#endif
2206
2207
2208#endif /* __IReferenceClockTimerControl_INTERFACE_DEFINED__ */
2209
2210
2211/*****************************************************************************
2212 * IReferenceClock2 interface
2213 */
2214#ifndef __IReferenceClock2_INTERFACE_DEFINED__
2215#define __IReferenceClock2_INTERFACE_DEFINED__
2216
2217DEFINE_GUID(IID_IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
2218#if defined(__cplusplus) && !defined(CINTERFACE)
2219MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
2220IReferenceClock2 : public IReferenceClock
2221{
2222};
2223#ifdef __CRT_UUID_DECL
2224__CRT_UUID_DECL(IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
2225#endif
2226#else
2227typedef struct IReferenceClock2Vtbl {
2228 BEGIN_INTERFACE
2229
2230 /*** IUnknown methods ***/
2231 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2232 IReferenceClock2 *This,
2233 REFIID riid,
2234 void **ppvObject);
2235
2236 ULONG (STDMETHODCALLTYPE *AddRef)(
2237 IReferenceClock2 *This);
2238
2239 ULONG (STDMETHODCALLTYPE *Release)(
2240 IReferenceClock2 *This);
2241
2242 /*** IReferenceClock methods ***/
2243 HRESULT (STDMETHODCALLTYPE *GetTime)(
2244 IReferenceClock2 *This,
2245 REFERENCE_TIME *pTime);
2246
2247 HRESULT (STDMETHODCALLTYPE *AdviseTime)(
2248 IReferenceClock2 *This,
2249 REFERENCE_TIME baseTime,
2250 REFERENCE_TIME streamTime,
2251 HEVENT hEvent,
2252 DWORD_PTR *pdwAdviseCookie);
2253
2254 HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)(
2255 IReferenceClock2 *This,
2256 REFERENCE_TIME startTime,
2257 REFERENCE_TIME periodTime,
2258 HSEMAPHORE hSemaphore,
2259 DWORD_PTR *pdwAdviseCookie);
2260
2261 HRESULT (STDMETHODCALLTYPE *Unadvise)(
2262 IReferenceClock2 *This,
2263 DWORD_PTR dwAdviseCookie);
2264
2265 END_INTERFACE
2266} IReferenceClock2Vtbl;
2267
2268interface IReferenceClock2 {
2269 CONST_VTBL IReferenceClock2Vtbl* lpVtbl;
2270};
2271
2272#ifdef COBJMACROS
2273#ifndef WIDL_C_INLINE_WRAPPERS
2274/*** IUnknown methods ***/
2275#define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2276#define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This)
2277#define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This)
2278/*** IReferenceClock methods ***/
2279#define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
2280#define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
2281#define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
2282#define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
2283#else
2284/*** IUnknown methods ***/
2285static inline HRESULT IReferenceClock2_QueryInterface(IReferenceClock2* This,REFIID riid,void **ppvObject) {
2286 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2287}
2288static inline ULONG IReferenceClock2_AddRef(IReferenceClock2* This) {
2289 return This->lpVtbl->AddRef(This);
2290}
2291static inline ULONG IReferenceClock2_Release(IReferenceClock2* This) {
2292 return This->lpVtbl->Release(This);
2293}
2294/*** IReferenceClock methods ***/
2295static inline HRESULT IReferenceClock2_GetTime(IReferenceClock2* This,REFERENCE_TIME *pTime) {
2296 return This->lpVtbl->GetTime(This,pTime);
2297}
2298static inline HRESULT IReferenceClock2_AdviseTime(IReferenceClock2* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) {
2299 return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie);
2300}
2301static inline HRESULT IReferenceClock2_AdvisePeriodic(IReferenceClock2* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) {
2302 return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie);
2303}
2304static inline HRESULT IReferenceClock2_Unadvise(IReferenceClock2* This,DWORD_PTR dwAdviseCookie) {
2305 return This->lpVtbl->Unadvise(This,dwAdviseCookie);
2306}
2307#endif
2308#endif
2309
2310#endif
2311
2312
2313#endif /* __IReferenceClock2_INTERFACE_DEFINED__ */
2314
2315typedef IReferenceClock2 *PREFERENCECLOCK2;
2316
2317/*****************************************************************************
2318 * IMediaSample interface
2319 */
2320#ifndef __IMediaSample_INTERFACE_DEFINED__
2321#define __IMediaSample_INTERFACE_DEFINED__
2322
2323DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
2324#if defined(__cplusplus) && !defined(CINTERFACE)
2325MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
2326IMediaSample : public IUnknown
2327{
2328 virtual HRESULT STDMETHODCALLTYPE GetPointer(
2329 BYTE **ppBuffer) = 0;
2330
2331 virtual LONG STDMETHODCALLTYPE GetSize(
2332 ) = 0;
2333
2334 virtual HRESULT STDMETHODCALLTYPE GetTime(
2335 REFERENCE_TIME *pTimeStart,
2336 REFERENCE_TIME *pTimeEnd) = 0;
2337
2338 virtual HRESULT STDMETHODCALLTYPE SetTime(
2339 REFERENCE_TIME *pTimeStart,
2340 REFERENCE_TIME *pTimeEnd) = 0;
2341
2342 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint(
2343 ) = 0;
2344
2345 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
2346 WINBOOL bIsSyncPoint) = 0;
2347
2348 virtual HRESULT STDMETHODCALLTYPE IsPreroll(
2349 ) = 0;
2350
2351 virtual HRESULT STDMETHODCALLTYPE SetPreroll(
2352 WINBOOL bIsPreroll) = 0;
2353
2354 virtual LONG STDMETHODCALLTYPE GetActualDataLength(
2355 ) = 0;
2356
2357 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
2358 LONG a) = 0;
2359
2360 virtual HRESULT STDMETHODCALLTYPE GetMediaType(
2361 AM_MEDIA_TYPE **ppMediaType) = 0;
2362
2363 virtual HRESULT STDMETHODCALLTYPE SetMediaType(
2364 AM_MEDIA_TYPE *pMediaType) = 0;
2365
2366 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity(
2367 ) = 0;
2368
2369 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
2370 WINBOOL bDiscontinuity) = 0;
2371
2372 virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
2373 LONGLONG *pTimeStart,
2374 LONGLONG *pTimeEnd) = 0;
2375
2376 virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
2377 LONGLONG *pTimeStart,
2378 LONGLONG *pTimeEnd) = 0;
2379
2380};
2381#ifdef __CRT_UUID_DECL
2382__CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
2383#endif
2384#else
2385typedef struct IMediaSampleVtbl {
2386 BEGIN_INTERFACE
2387
2388 /*** IUnknown methods ***/
2389 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2390 IMediaSample *This,
2391 REFIID riid,
2392 void **ppvObject);
2393
2394 ULONG (STDMETHODCALLTYPE *AddRef)(
2395 IMediaSample *This);
2396
2397 ULONG (STDMETHODCALLTYPE *Release)(
2398 IMediaSample *This);
2399
2400 /*** IMediaSample methods ***/
2401 HRESULT (STDMETHODCALLTYPE *GetPointer)(
2402 IMediaSample *This,
2403 BYTE **ppBuffer);
2404
2405 LONG (STDMETHODCALLTYPE *GetSize)(
2406 IMediaSample *This);
2407
2408 HRESULT (STDMETHODCALLTYPE *GetTime)(
2409 IMediaSample *This,
2410 REFERENCE_TIME *pTimeStart,
2411 REFERENCE_TIME *pTimeEnd);
2412
2413 HRESULT (STDMETHODCALLTYPE *SetTime)(
2414 IMediaSample *This,
2415 REFERENCE_TIME *pTimeStart,
2416 REFERENCE_TIME *pTimeEnd);
2417
2418 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)(
2419 IMediaSample *This);
2420
2421 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)(
2422 IMediaSample *This,
2423 WINBOOL bIsSyncPoint);
2424
2425 HRESULT (STDMETHODCALLTYPE *IsPreroll)(
2426 IMediaSample *This);
2427
2428 HRESULT (STDMETHODCALLTYPE *SetPreroll)(
2429 IMediaSample *This,
2430 WINBOOL bIsPreroll);
2431
2432 LONG (STDMETHODCALLTYPE *GetActualDataLength)(
2433 IMediaSample *This);
2434
2435 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)(
2436 IMediaSample *This,
2437 LONG a);
2438
2439 HRESULT (STDMETHODCALLTYPE *GetMediaType)(
2440 IMediaSample *This,
2441 AM_MEDIA_TYPE **ppMediaType);
2442
2443 HRESULT (STDMETHODCALLTYPE *SetMediaType)(
2444 IMediaSample *This,
2445 AM_MEDIA_TYPE *pMediaType);
2446
2447 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)(
2448 IMediaSample *This);
2449
2450 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)(
2451 IMediaSample *This,
2452 WINBOOL bDiscontinuity);
2453
2454 HRESULT (STDMETHODCALLTYPE *GetMediaTime)(
2455 IMediaSample *This,
2456 LONGLONG *pTimeStart,
2457 LONGLONG *pTimeEnd);
2458
2459 HRESULT (STDMETHODCALLTYPE *SetMediaTime)(
2460 IMediaSample *This,
2461 LONGLONG *pTimeStart,
2462 LONGLONG *pTimeEnd);
2463
2464 END_INTERFACE
2465} IMediaSampleVtbl;
2466
2467interface IMediaSample {
2468 CONST_VTBL IMediaSampleVtbl* lpVtbl;
2469};
2470
2471#ifdef COBJMACROS
2472#ifndef WIDL_C_INLINE_WRAPPERS
2473/*** IUnknown methods ***/
2474#define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2475#define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
2476#define IMediaSample_Release(This) (This)->lpVtbl->Release(This)
2477/*** IMediaSample methods ***/
2478#define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
2479#define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This)
2480#define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
2481#define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
2482#define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
2483#define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
2484#define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
2485#define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
2486#define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
2487#define IMediaSample_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a)
2488#define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
2489#define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
2490#define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
2491#define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
2492#define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
2493#define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
2494#else
2495/*** IUnknown methods ***/
2496static inline HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) {
2497 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2498}
2499static inline ULONG IMediaSample_AddRef(IMediaSample* This) {
2500 return This->lpVtbl->AddRef(This);
2501}
2502static inline ULONG IMediaSample_Release(IMediaSample* This) {
2503 return This->lpVtbl->Release(This);
2504}
2505/*** IMediaSample methods ***/
2506static inline HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) {
2507 return This->lpVtbl->GetPointer(This,ppBuffer);
2508}
2509static inline LONG IMediaSample_GetSize(IMediaSample* This) {
2510 return This->lpVtbl->GetSize(This);
2511}
2512static inline HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
2513 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
2514}
2515static inline HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
2516 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
2517}
2518static inline HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) {
2519 return This->lpVtbl->IsSyncPoint(This);
2520}
2521static inline HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) {
2522 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
2523}
2524static inline HRESULT IMediaSample_IsPreroll(IMediaSample* This) {
2525 return This->lpVtbl->IsPreroll(This);
2526}
2527static inline HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) {
2528 return This->lpVtbl->SetPreroll(This,bIsPreroll);
2529}
2530static inline LONG IMediaSample_GetActualDataLength(IMediaSample* This) {
2531 return This->lpVtbl->GetActualDataLength(This);
2532}
2533static inline HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG a) {
2534 return This->lpVtbl->SetActualDataLength(This,a);
2535}
2536static inline HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) {
2537 return This->lpVtbl->GetMediaType(This,ppMediaType);
2538}
2539static inline HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) {
2540 return This->lpVtbl->SetMediaType(This,pMediaType);
2541}
2542static inline HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) {
2543 return This->lpVtbl->IsDiscontinuity(This);
2544}
2545static inline HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) {
2546 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
2547}
2548static inline HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
2549 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
2550}
2551static inline HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
2552 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
2553}
2554#endif
2555#endif
2556
2557#endif
2558
2559
2560#endif /* __IMediaSample_INTERFACE_DEFINED__ */
2561
2562typedef IMediaSample *PMEDIASAMPLE;
2563
2564enum tagAM_SAMPLE_PROPERTY_FLAGS {
2565 AM_SAMPLE_SPLICEPOINT = 0x1,
2566 AM_SAMPLE_PREROLL = 0x2,
2567 AM_SAMPLE_DATADISCONTINUITY = 0x4,
2568 AM_SAMPLE_TYPECHANGED = 0x8,
2569 AM_SAMPLE_TIMEVALID = 0x10,
2570 AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
2571 AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
2572 AM_SAMPLE_STOPVALID = 0x100,
2573 AM_SAMPLE_ENDOFSTREAM = 0x200,
2574 AM_STREAM_MEDIA = 0,
2575 AM_STREAM_CONTROL = 1
2576};
2577
2578typedef struct tagAM_SAMPLE2_PROPERTIES {
2579 DWORD cbData;
2580 DWORD dwTypeSpecificFlags;
2581 DWORD dwSampleFlags;
2582 LONG lActual;
2583 REFERENCE_TIME tStart;
2584 REFERENCE_TIME tStop;
2585 DWORD dwStreamId;
2586 AM_MEDIA_TYPE *pMediaType;
2587 BYTE *pbBuffer;
2588 LONG cbBuffer;
2589} AM_SAMPLE2_PROPERTIES;
2590
2591/*****************************************************************************
2592 * IMediaSample2 interface
2593 */
2594#ifndef __IMediaSample2_INTERFACE_DEFINED__
2595#define __IMediaSample2_INTERFACE_DEFINED__
2596
2597DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
2598#if defined(__cplusplus) && !defined(CINTERFACE)
2599MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
2600IMediaSample2 : public IMediaSample
2601{
2602 virtual HRESULT STDMETHODCALLTYPE GetProperties(
2603 DWORD cbProperties,
2604 BYTE *pbProperties) = 0;
2605
2606 virtual HRESULT STDMETHODCALLTYPE SetProperties(
2607 DWORD cbProperties,
2608 const BYTE *pbProperties) = 0;
2609
2610};
2611#ifdef __CRT_UUID_DECL
2612__CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
2613#endif
2614#else
2615typedef struct IMediaSample2Vtbl {
2616 BEGIN_INTERFACE
2617
2618 /*** IUnknown methods ***/
2619 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2620 IMediaSample2 *This,
2621 REFIID riid,
2622 void **ppvObject);
2623
2624 ULONG (STDMETHODCALLTYPE *AddRef)(
2625 IMediaSample2 *This);
2626
2627 ULONG (STDMETHODCALLTYPE *Release)(
2628 IMediaSample2 *This);
2629
2630 /*** IMediaSample methods ***/
2631 HRESULT (STDMETHODCALLTYPE *GetPointer)(
2632 IMediaSample2 *This,
2633 BYTE **ppBuffer);
2634
2635 LONG (STDMETHODCALLTYPE *GetSize)(
2636 IMediaSample2 *This);
2637
2638 HRESULT (STDMETHODCALLTYPE *GetTime)(
2639 IMediaSample2 *This,
2640 REFERENCE_TIME *pTimeStart,
2641 REFERENCE_TIME *pTimeEnd);
2642
2643 HRESULT (STDMETHODCALLTYPE *SetTime)(
2644 IMediaSample2 *This,
2645 REFERENCE_TIME *pTimeStart,
2646 REFERENCE_TIME *pTimeEnd);
2647
2648 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)(
2649 IMediaSample2 *This);
2650
2651 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)(
2652 IMediaSample2 *This,
2653 WINBOOL bIsSyncPoint);
2654
2655 HRESULT (STDMETHODCALLTYPE *IsPreroll)(
2656 IMediaSample2 *This);
2657
2658 HRESULT (STDMETHODCALLTYPE *SetPreroll)(
2659 IMediaSample2 *This,
2660 WINBOOL bIsPreroll);
2661
2662 LONG (STDMETHODCALLTYPE *GetActualDataLength)(
2663 IMediaSample2 *This);
2664
2665 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)(
2666 IMediaSample2 *This,
2667 LONG a);
2668
2669 HRESULT (STDMETHODCALLTYPE *GetMediaType)(
2670 IMediaSample2 *This,
2671 AM_MEDIA_TYPE **ppMediaType);
2672
2673 HRESULT (STDMETHODCALLTYPE *SetMediaType)(
2674 IMediaSample2 *This,
2675 AM_MEDIA_TYPE *pMediaType);
2676
2677 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)(
2678 IMediaSample2 *This);
2679
2680 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)(
2681 IMediaSample2 *This,
2682 WINBOOL bDiscontinuity);
2683
2684 HRESULT (STDMETHODCALLTYPE *GetMediaTime)(
2685 IMediaSample2 *This,
2686 LONGLONG *pTimeStart,
2687 LONGLONG *pTimeEnd);
2688
2689 HRESULT (STDMETHODCALLTYPE *SetMediaTime)(
2690 IMediaSample2 *This,
2691 LONGLONG *pTimeStart,
2692 LONGLONG *pTimeEnd);
2693
2694 /*** IMediaSample2 methods ***/
2695 HRESULT (STDMETHODCALLTYPE *GetProperties)(
2696 IMediaSample2 *This,
2697 DWORD cbProperties,
2698 BYTE *pbProperties);
2699
2700 HRESULT (STDMETHODCALLTYPE *SetProperties)(
2701 IMediaSample2 *This,
2702 DWORD cbProperties,
2703 const BYTE *pbProperties);
2704
2705 END_INTERFACE
2706} IMediaSample2Vtbl;
2707
2708interface IMediaSample2 {
2709 CONST_VTBL IMediaSample2Vtbl* lpVtbl;
2710};
2711
2712#ifdef COBJMACROS
2713#ifndef WIDL_C_INLINE_WRAPPERS
2714/*** IUnknown methods ***/
2715#define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2716#define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This)
2717#define IMediaSample2_Release(This) (This)->lpVtbl->Release(This)
2718/*** IMediaSample methods ***/
2719#define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
2720#define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This)
2721#define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
2722#define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
2723#define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
2724#define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
2725#define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
2726#define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
2727#define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
2728#define IMediaSample2_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a)
2729#define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
2730#define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
2731#define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
2732#define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
2733#define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
2734#define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
2735/*** IMediaSample2 methods ***/
2736#define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties)
2737#define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties)
2738#else
2739/*** IUnknown methods ***/
2740static inline HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) {
2741 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2742}
2743static inline ULONG IMediaSample2_AddRef(IMediaSample2* This) {
2744 return This->lpVtbl->AddRef(This);
2745}
2746static inline ULONG IMediaSample2_Release(IMediaSample2* This) {
2747 return This->lpVtbl->Release(This);
2748}
2749/*** IMediaSample methods ***/
2750static inline HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) {
2751 return This->lpVtbl->GetPointer(This,ppBuffer);
2752}
2753static inline LONG IMediaSample2_GetSize(IMediaSample2* This) {
2754 return This->lpVtbl->GetSize(This);
2755}
2756static inline HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
2757 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
2758}
2759static inline HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
2760 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
2761}
2762static inline HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) {
2763 return This->lpVtbl->IsSyncPoint(This);
2764}
2765static inline HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) {
2766 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
2767}
2768static inline HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) {
2769 return This->lpVtbl->IsPreroll(This);
2770}
2771static inline HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) {
2772 return This->lpVtbl->SetPreroll(This,bIsPreroll);
2773}
2774static inline LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) {
2775 return This->lpVtbl->GetActualDataLength(This);
2776}
2777static inline HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG a) {
2778 return This->lpVtbl->SetActualDataLength(This,a);
2779}
2780static inline HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) {
2781 return This->lpVtbl->GetMediaType(This,ppMediaType);
2782}
2783static inline HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) {
2784 return This->lpVtbl->SetMediaType(This,pMediaType);
2785}
2786static inline HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) {
2787 return This->lpVtbl->IsDiscontinuity(This);
2788}
2789static inline HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) {
2790 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
2791}
2792static inline HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
2793 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
2794}
2795static inline HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
2796 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
2797}
2798/*** IMediaSample2 methods ***/
2799static inline HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) {
2800 return This->lpVtbl->GetProperties(This,cbProperties,pbProperties);
2801}
2802static inline HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) {
2803 return This->lpVtbl->SetProperties(This,cbProperties,pbProperties);
2804}
2805#endif
2806#endif
2807
2808#endif
2809
2810
2811#endif /* __IMediaSample2_INTERFACE_DEFINED__ */
2812
2813typedef IMediaSample2 *PMEDIASAMPLE2;
2814
2815/*****************************************************************************
2816 * IMediaSample2Config interface
2817 */
2818#ifndef __IMediaSample2Config_INTERFACE_DEFINED__
2819#define __IMediaSample2Config_INTERFACE_DEFINED__
2820
2821DEFINE_GUID(IID_IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3);
2822#if defined(__cplusplus) && !defined(CINTERFACE)
2823MIDL_INTERFACE("68961e68-832b-41ea-bc91-63593f3e70e3")
2824IMediaSample2Config : public IUnknown
2825{
2826 virtual HRESULT STDMETHODCALLTYPE GetSurface(
2827 IUnknown **ppDirect3DSurface9) = 0;
2828
2829};
2830#ifdef __CRT_UUID_DECL
2831__CRT_UUID_DECL(IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3)
2832#endif
2833#else
2834typedef struct IMediaSample2ConfigVtbl {
2835 BEGIN_INTERFACE
2836
2837 /*** IUnknown methods ***/
2838 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2839 IMediaSample2Config *This,
2840 REFIID riid,
2841 void **ppvObject);
2842
2843 ULONG (STDMETHODCALLTYPE *AddRef)(
2844 IMediaSample2Config *This);
2845
2846 ULONG (STDMETHODCALLTYPE *Release)(
2847 IMediaSample2Config *This);
2848
2849 /*** IMediaSample2Config methods ***/
2850 HRESULT (STDMETHODCALLTYPE *GetSurface)(
2851 IMediaSample2Config *This,
2852 IUnknown **ppDirect3DSurface9);
2853
2854 END_INTERFACE
2855} IMediaSample2ConfigVtbl;
2856
2857interface IMediaSample2Config {
2858 CONST_VTBL IMediaSample2ConfigVtbl* lpVtbl;
2859};
2860
2861#ifdef COBJMACROS
2862#ifndef WIDL_C_INLINE_WRAPPERS
2863/*** IUnknown methods ***/
2864#define IMediaSample2Config_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2865#define IMediaSample2Config_AddRef(This) (This)->lpVtbl->AddRef(This)
2866#define IMediaSample2Config_Release(This) (This)->lpVtbl->Release(This)
2867/*** IMediaSample2Config methods ***/
2868#define IMediaSample2Config_GetSurface(This,ppDirect3DSurface9) (This)->lpVtbl->GetSurface(This,ppDirect3DSurface9)
2869#else
2870/*** IUnknown methods ***/
2871static inline HRESULT IMediaSample2Config_QueryInterface(IMediaSample2Config* This,REFIID riid,void **ppvObject) {
2872 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2873}
2874static inline ULONG IMediaSample2Config_AddRef(IMediaSample2Config* This) {
2875 return This->lpVtbl->AddRef(This);
2876}
2877static inline ULONG IMediaSample2Config_Release(IMediaSample2Config* This) {
2878 return This->lpVtbl->Release(This);
2879}
2880/*** IMediaSample2Config methods ***/
2881static inline HRESULT IMediaSample2Config_GetSurface(IMediaSample2Config* This,IUnknown **ppDirect3DSurface9) {
2882 return This->lpVtbl->GetSurface(This,ppDirect3DSurface9);
2883}
2884#endif
2885#endif
2886
2887#endif
2888
2889
2890#endif /* __IMediaSample2Config_INTERFACE_DEFINED__ */
2891
2892
2893#define AM_GBF_PREVFRAMESKIPPED 1
2894#define AM_GBF_NOTASYNCPOINT 2
2895#define AM_GBF_NOWAIT 4
2896#define AM_GBF_NODDSURFACELOCK 8
2897
2898/*****************************************************************************
2899 * IMemAllocator interface
2900 */
2901#ifndef __IMemAllocator_INTERFACE_DEFINED__
2902#define __IMemAllocator_INTERFACE_DEFINED__
2903
2904DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
2905#if defined(__cplusplus) && !defined(CINTERFACE)
2906MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
2907IMemAllocator : public IUnknown
2908{
2909 virtual HRESULT STDMETHODCALLTYPE SetProperties(
2910 ALLOCATOR_PROPERTIES *pRequest,
2911 ALLOCATOR_PROPERTIES *pActual) = 0;
2912
2913 virtual HRESULT STDMETHODCALLTYPE GetProperties(
2914 ALLOCATOR_PROPERTIES *pProps) = 0;
2915
2916 virtual HRESULT STDMETHODCALLTYPE Commit(
2917 ) = 0;
2918
2919 virtual HRESULT STDMETHODCALLTYPE Decommit(
2920 ) = 0;
2921
2922 virtual HRESULT STDMETHODCALLTYPE GetBuffer(
2923 IMediaSample **ppBuffer,
2924 REFERENCE_TIME *pStartTime,
2925 REFERENCE_TIME *pEndTime,
2926 DWORD dwFlags) = 0;
2927
2928 virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
2929 IMediaSample *pBuffer) = 0;
2930
2931};
2932#ifdef __CRT_UUID_DECL
2933__CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
2934#endif
2935#else
2936typedef struct IMemAllocatorVtbl {
2937 BEGIN_INTERFACE
2938
2939 /*** IUnknown methods ***/
2940 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2941 IMemAllocator *This,
2942 REFIID riid,
2943 void **ppvObject);
2944
2945 ULONG (STDMETHODCALLTYPE *AddRef)(
2946 IMemAllocator *This);
2947
2948 ULONG (STDMETHODCALLTYPE *Release)(
2949 IMemAllocator *This);
2950
2951 /*** IMemAllocator methods ***/
2952 HRESULT (STDMETHODCALLTYPE *SetProperties)(
2953 IMemAllocator *This,
2954 ALLOCATOR_PROPERTIES *pRequest,
2955 ALLOCATOR_PROPERTIES *pActual);
2956
2957 HRESULT (STDMETHODCALLTYPE *GetProperties)(
2958 IMemAllocator *This,
2959 ALLOCATOR_PROPERTIES *pProps);
2960
2961 HRESULT (STDMETHODCALLTYPE *Commit)(
2962 IMemAllocator *This);
2963
2964 HRESULT (STDMETHODCALLTYPE *Decommit)(
2965 IMemAllocator *This);
2966
2967 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
2968 IMemAllocator *This,
2969 IMediaSample **ppBuffer,
2970 REFERENCE_TIME *pStartTime,
2971 REFERENCE_TIME *pEndTime,
2972 DWORD dwFlags);
2973
2974 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)(
2975 IMemAllocator *This,
2976 IMediaSample *pBuffer);
2977
2978 END_INTERFACE
2979} IMemAllocatorVtbl;
2980
2981interface IMemAllocator {
2982 CONST_VTBL IMemAllocatorVtbl* lpVtbl;
2983};
2984
2985#ifdef COBJMACROS
2986#ifndef WIDL_C_INLINE_WRAPPERS
2987/*** IUnknown methods ***/
2988#define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2989#define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
2990#define IMemAllocator_Release(This) (This)->lpVtbl->Release(This)
2991/*** IMemAllocator methods ***/
2992#define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
2993#define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
2994#define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This)
2995#define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This)
2996#define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
2997#define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
2998#else
2999/*** IUnknown methods ***/
3000static inline HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) {
3001 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3002}
3003static inline ULONG IMemAllocator_AddRef(IMemAllocator* This) {
3004 return This->lpVtbl->AddRef(This);
3005}
3006static inline ULONG IMemAllocator_Release(IMemAllocator* This) {
3007 return This->lpVtbl->Release(This);
3008}
3009/*** IMemAllocator methods ***/
3010static inline HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) {
3011 return This->lpVtbl->SetProperties(This,pRequest,pActual);
3012}
3013static inline HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) {
3014 return This->lpVtbl->GetProperties(This,pProps);
3015}
3016static inline HRESULT IMemAllocator_Commit(IMemAllocator* This) {
3017 return This->lpVtbl->Commit(This);
3018}
3019static inline HRESULT IMemAllocator_Decommit(IMemAllocator* This) {
3020 return This->lpVtbl->Decommit(This);
3021}
3022static inline HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) {
3023 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags);
3024}
3025static inline HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) {
3026 return This->lpVtbl->ReleaseBuffer(This,pBuffer);
3027}
3028#endif
3029#endif
3030
3031#endif
3032
3033
3034#endif /* __IMemAllocator_INTERFACE_DEFINED__ */
3035
3036typedef IMemAllocator *PMEMALLOCATOR;
3037
3038/*****************************************************************************
3039 * IMemAllocatorCallbackTemp interface
3040 */
3041#ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
3042#define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
3043
3044DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
3045#if defined(__cplusplus) && !defined(CINTERFACE)
3046MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
3047IMemAllocatorCallbackTemp : public IMemAllocator
3048{
3049 virtual HRESULT STDMETHODCALLTYPE SetNotify(
3050 IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
3051
3052 virtual HRESULT STDMETHODCALLTYPE GetFreeCount(
3053 LONG *plBuffersFree) = 0;
3054
3055};
3056#ifdef __CRT_UUID_DECL
3057__CRT_UUID_DECL(IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
3058#endif
3059#else
3060typedef struct IMemAllocatorCallbackTempVtbl {
3061 BEGIN_INTERFACE
3062
3063 /*** IUnknown methods ***/
3064 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3065 IMemAllocatorCallbackTemp *This,
3066 REFIID riid,
3067 void **ppvObject);
3068
3069 ULONG (STDMETHODCALLTYPE *AddRef)(
3070 IMemAllocatorCallbackTemp *This);
3071
3072 ULONG (STDMETHODCALLTYPE *Release)(
3073 IMemAllocatorCallbackTemp *This);
3074
3075 /*** IMemAllocator methods ***/
3076 HRESULT (STDMETHODCALLTYPE *SetProperties)(
3077 IMemAllocatorCallbackTemp *This,
3078 ALLOCATOR_PROPERTIES *pRequest,
3079 ALLOCATOR_PROPERTIES *pActual);
3080
3081 HRESULT (STDMETHODCALLTYPE *GetProperties)(
3082 IMemAllocatorCallbackTemp *This,
3083 ALLOCATOR_PROPERTIES *pProps);
3084
3085 HRESULT (STDMETHODCALLTYPE *Commit)(
3086 IMemAllocatorCallbackTemp *This);
3087
3088 HRESULT (STDMETHODCALLTYPE *Decommit)(
3089 IMemAllocatorCallbackTemp *This);
3090
3091 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
3092 IMemAllocatorCallbackTemp *This,
3093 IMediaSample **ppBuffer,
3094 REFERENCE_TIME *pStartTime,
3095 REFERENCE_TIME *pEndTime,
3096 DWORD dwFlags);
3097
3098 HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)(
3099 IMemAllocatorCallbackTemp *This,
3100 IMediaSample *pBuffer);
3101
3102 /*** IMemAllocatorCallbackTemp methods ***/
3103 HRESULT (STDMETHODCALLTYPE *SetNotify)(
3104 IMemAllocatorCallbackTemp *This,
3105 IMemAllocatorNotifyCallbackTemp *pNotify);
3106
3107 HRESULT (STDMETHODCALLTYPE *GetFreeCount)(
3108 IMemAllocatorCallbackTemp *This,
3109 LONG *plBuffersFree);
3110
3111 END_INTERFACE
3112} IMemAllocatorCallbackTempVtbl;
3113
3114interface IMemAllocatorCallbackTemp {
3115 CONST_VTBL IMemAllocatorCallbackTempVtbl* lpVtbl;
3116};
3117
3118#ifdef COBJMACROS
3119#ifndef WIDL_C_INLINE_WRAPPERS
3120/*** IUnknown methods ***/
3121#define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3122#define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
3123#define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
3124/*** IMemAllocator methods ***/
3125#define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
3126#define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
3127#define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This)
3128#define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This)
3129#define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
3130#define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
3131/*** IMemAllocatorCallbackTemp methods ***/
3132#define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify)
3133#define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree)
3134#else
3135/*** IUnknown methods ***/
3136static inline HRESULT IMemAllocatorCallbackTemp_QueryInterface(IMemAllocatorCallbackTemp* This,REFIID riid,void **ppvObject) {
3137 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3138}
3139static inline ULONG IMemAllocatorCallbackTemp_AddRef(IMemAllocatorCallbackTemp* This) {
3140 return This->lpVtbl->AddRef(This);
3141}
3142static inline ULONG IMemAllocatorCallbackTemp_Release(IMemAllocatorCallbackTemp* This) {
3143 return This->lpVtbl->Release(This);
3144}
3145/*** IMemAllocator methods ***/
3146static inline HRESULT IMemAllocatorCallbackTemp_SetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) {
3147 return This->lpVtbl->SetProperties(This,pRequest,pActual);
3148}
3149static inline HRESULT IMemAllocatorCallbackTemp_GetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pProps) {
3150 return This->lpVtbl->GetProperties(This,pProps);
3151}
3152static inline HRESULT IMemAllocatorCallbackTemp_Commit(IMemAllocatorCallbackTemp* This) {
3153 return This->lpVtbl->Commit(This);
3154}
3155static inline HRESULT IMemAllocatorCallbackTemp_Decommit(IMemAllocatorCallbackTemp* This) {
3156 return This->lpVtbl->Decommit(This);
3157}
3158static inline HRESULT IMemAllocatorCallbackTemp_GetBuffer(IMemAllocatorCallbackTemp* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) {
3159 return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags);
3160}
3161static inline HRESULT IMemAllocatorCallbackTemp_ReleaseBuffer(IMemAllocatorCallbackTemp* This,IMediaSample *pBuffer) {
3162 return This->lpVtbl->ReleaseBuffer(This,pBuffer);
3163}
3164/*** IMemAllocatorCallbackTemp methods ***/
3165static inline HRESULT IMemAllocatorCallbackTemp_SetNotify(IMemAllocatorCallbackTemp* This,IMemAllocatorNotifyCallbackTemp *pNotify) {
3166 return This->lpVtbl->SetNotify(This,pNotify);
3167}
3168static inline HRESULT IMemAllocatorCallbackTemp_GetFreeCount(IMemAllocatorCallbackTemp* This,LONG *plBuffersFree) {
3169 return This->lpVtbl->GetFreeCount(This,plBuffersFree);
3170}
3171#endif
3172#endif
3173
3174#endif
3175
3176
3177#endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
3178
3179
3180/*****************************************************************************
3181 * IMemAllocatorNotifyCallbackTemp interface
3182 */
3183#ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
3184#define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
3185
3186DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
3187#if defined(__cplusplus) && !defined(CINTERFACE)
3188MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
3189IMemAllocatorNotifyCallbackTemp : public IUnknown
3190{
3191 virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
3192 ) = 0;
3193
3194};
3195#ifdef __CRT_UUID_DECL
3196__CRT_UUID_DECL(IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
3197#endif
3198#else
3199typedef struct IMemAllocatorNotifyCallbackTempVtbl {
3200 BEGIN_INTERFACE
3201
3202 /*** IUnknown methods ***/
3203 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3204 IMemAllocatorNotifyCallbackTemp *This,
3205 REFIID riid,
3206 void **ppvObject);
3207
3208 ULONG (STDMETHODCALLTYPE *AddRef)(
3209 IMemAllocatorNotifyCallbackTemp *This);
3210
3211 ULONG (STDMETHODCALLTYPE *Release)(
3212 IMemAllocatorNotifyCallbackTemp *This);
3213
3214 /*** IMemAllocatorNotifyCallbackTemp methods ***/
3215 HRESULT (STDMETHODCALLTYPE *NotifyRelease)(
3216 IMemAllocatorNotifyCallbackTemp *This);
3217
3218 END_INTERFACE
3219} IMemAllocatorNotifyCallbackTempVtbl;
3220
3221interface IMemAllocatorNotifyCallbackTemp {
3222 CONST_VTBL IMemAllocatorNotifyCallbackTempVtbl* lpVtbl;
3223};
3224
3225#ifdef COBJMACROS
3226#ifndef WIDL_C_INLINE_WRAPPERS
3227/*** IUnknown methods ***/
3228#define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3229#define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
3230#define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
3231/*** IMemAllocatorNotifyCallbackTemp methods ***/
3232#define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This)
3233#else
3234/*** IUnknown methods ***/
3235static inline HRESULT IMemAllocatorNotifyCallbackTemp_QueryInterface(IMemAllocatorNotifyCallbackTemp* This,REFIID riid,void **ppvObject) {
3236 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3237}
3238static inline ULONG IMemAllocatorNotifyCallbackTemp_AddRef(IMemAllocatorNotifyCallbackTemp* This) {
3239 return This->lpVtbl->AddRef(This);
3240}
3241static inline ULONG IMemAllocatorNotifyCallbackTemp_Release(IMemAllocatorNotifyCallbackTemp* This) {
3242 return This->lpVtbl->Release(This);
3243}
3244/*** IMemAllocatorNotifyCallbackTemp methods ***/
3245static inline HRESULT IMemAllocatorNotifyCallbackTemp_NotifyRelease(IMemAllocatorNotifyCallbackTemp* This) {
3246 return This->lpVtbl->NotifyRelease(This);
3247}
3248#endif
3249#endif
3250
3251#endif
3252
3253
3254#endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
3255
3256
3257/*****************************************************************************
3258 * IMemInputPin interface
3259 */
3260#ifndef __IMemInputPin_INTERFACE_DEFINED__
3261#define __IMemInputPin_INTERFACE_DEFINED__
3262
3263DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
3264#if defined(__cplusplus) && !defined(CINTERFACE)
3265MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
3266IMemInputPin : public IUnknown
3267{
3268 virtual HRESULT STDMETHODCALLTYPE GetAllocator(
3269 IMemAllocator **ppAllocator) = 0;
3270
3271 virtual HRESULT STDMETHODCALLTYPE NotifyAllocator(
3272 IMemAllocator *pAllocator,
3273 WINBOOL bReadOnly) = 0;
3274
3275 virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(
3276 ALLOCATOR_PROPERTIES *pProps) = 0;
3277
3278 virtual HRESULT STDMETHODCALLTYPE Receive(
3279 IMediaSample *pSample) = 0;
3280
3281 virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple(
3282 IMediaSample **pSamples,
3283 LONG nSamples,
3284 LONG *nSamplesProcessed) = 0;
3285
3286 virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock(
3287 ) = 0;
3288
3289};
3290#ifdef __CRT_UUID_DECL
3291__CRT_UUID_DECL(IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
3292#endif
3293#else
3294typedef struct IMemInputPinVtbl {
3295 BEGIN_INTERFACE
3296
3297 /*** IUnknown methods ***/
3298 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3299 IMemInputPin *This,
3300 REFIID riid,
3301 void **ppvObject);
3302
3303 ULONG (STDMETHODCALLTYPE *AddRef)(
3304 IMemInputPin *This);
3305
3306 ULONG (STDMETHODCALLTYPE *Release)(
3307 IMemInputPin *This);
3308
3309 /*** IMemInputPin methods ***/
3310 HRESULT (STDMETHODCALLTYPE *GetAllocator)(
3311 IMemInputPin *This,
3312 IMemAllocator **ppAllocator);
3313
3314 HRESULT (STDMETHODCALLTYPE *NotifyAllocator)(
3315 IMemInputPin *This,
3316 IMemAllocator *pAllocator,
3317 WINBOOL bReadOnly);
3318
3319 HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)(
3320 IMemInputPin *This,
3321 ALLOCATOR_PROPERTIES *pProps);
3322
3323 HRESULT (STDMETHODCALLTYPE *Receive)(
3324 IMemInputPin *This,
3325 IMediaSample *pSample);
3326
3327 HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)(
3328 IMemInputPin *This,
3329 IMediaSample **pSamples,
3330 LONG nSamples,
3331 LONG *nSamplesProcessed);
3332
3333 HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)(
3334 IMemInputPin *This);
3335
3336 END_INTERFACE
3337} IMemInputPinVtbl;
3338
3339interface IMemInputPin {
3340 CONST_VTBL IMemInputPinVtbl* lpVtbl;
3341};
3342
3343#ifdef COBJMACROS
3344#ifndef WIDL_C_INLINE_WRAPPERS
3345/*** IUnknown methods ***/
3346#define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3347#define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This)
3348#define IMemInputPin_Release(This) (This)->lpVtbl->Release(This)
3349/*** IMemInputPin methods ***/
3350#define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator)
3351#define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly)
3352#define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps)
3353#define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample)
3354#define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
3355#define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This)
3356#else
3357/*** IUnknown methods ***/
3358static inline HRESULT IMemInputPin_QueryInterface(IMemInputPin* This,REFIID riid,void **ppvObject) {
3359 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3360}
3361static inline ULONG IMemInputPin_AddRef(IMemInputPin* This) {
3362 return This->lpVtbl->AddRef(This);
3363}
3364static inline ULONG IMemInputPin_Release(IMemInputPin* This) {
3365 return This->lpVtbl->Release(This);
3366}
3367/*** IMemInputPin methods ***/
3368static inline HRESULT IMemInputPin_GetAllocator(IMemInputPin* This,IMemAllocator **ppAllocator) {
3369 return This->lpVtbl->GetAllocator(This,ppAllocator);
3370}
3371static inline HRESULT IMemInputPin_NotifyAllocator(IMemInputPin* This,IMemAllocator *pAllocator,WINBOOL bReadOnly) {
3372 return This->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly);
3373}
3374static inline HRESULT IMemInputPin_GetAllocatorRequirements(IMemInputPin* This,ALLOCATOR_PROPERTIES *pProps) {
3375 return This->lpVtbl->GetAllocatorRequirements(This,pProps);
3376}
3377static inline HRESULT IMemInputPin_Receive(IMemInputPin* This,IMediaSample *pSample) {
3378 return This->lpVtbl->Receive(This,pSample);
3379}
3380static inline HRESULT IMemInputPin_ReceiveMultiple(IMemInputPin* This,IMediaSample **pSamples,LONG nSamples,LONG *nSamplesProcessed) {
3381 return This->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed);
3382}
3383static inline HRESULT IMemInputPin_ReceiveCanBlock(IMemInputPin* This) {
3384 return This->lpVtbl->ReceiveCanBlock(This);
3385}
3386#endif
3387#endif
3388
3389#endif
3390
3391
3392#endif /* __IMemInputPin_INTERFACE_DEFINED__ */
3393
3394typedef IMemInputPin *PMEMINPUTPIN;
3395
3396/*****************************************************************************
3397 * IAMovieSetup interface
3398 */
3399#ifndef __IAMovieSetup_INTERFACE_DEFINED__
3400#define __IAMovieSetup_INTERFACE_DEFINED__
3401
3402DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20);
3403#if defined(__cplusplus) && !defined(CINTERFACE)
3404MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
3405IAMovieSetup : public IUnknown
3406{
3407 virtual HRESULT STDMETHODCALLTYPE Register(
3408 ) = 0;
3409
3410 virtual HRESULT STDMETHODCALLTYPE Unregister(
3411 ) = 0;
3412
3413};
3414#ifdef __CRT_UUID_DECL
3415__CRT_UUID_DECL(IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20)
3416#endif
3417#else
3418typedef struct IAMovieSetupVtbl {
3419 BEGIN_INTERFACE
3420
3421 /*** IUnknown methods ***/
3422 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3423 IAMovieSetup *This,
3424 REFIID riid,
3425 void **ppvObject);
3426
3427 ULONG (STDMETHODCALLTYPE *AddRef)(
3428 IAMovieSetup *This);
3429
3430 ULONG (STDMETHODCALLTYPE *Release)(
3431 IAMovieSetup *This);
3432
3433 /*** IAMovieSetup methods ***/
3434 HRESULT (STDMETHODCALLTYPE *Register)(
3435 IAMovieSetup *This);
3436
3437 HRESULT (STDMETHODCALLTYPE *Unregister)(
3438 IAMovieSetup *This);
3439
3440 END_INTERFACE
3441} IAMovieSetupVtbl;
3442
3443interface IAMovieSetup {
3444 CONST_VTBL IAMovieSetupVtbl* lpVtbl;
3445};
3446
3447#ifdef COBJMACROS
3448#ifndef WIDL_C_INLINE_WRAPPERS
3449/*** IUnknown methods ***/
3450#define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3451#define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This)
3452#define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This)
3453/*** IAMovieSetup methods ***/
3454#define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This)
3455#define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This)
3456#else
3457/*** IUnknown methods ***/
3458static inline HRESULT IAMovieSetup_QueryInterface(IAMovieSetup* This,REFIID riid,void **ppvObject) {
3459 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3460}
3461static inline ULONG IAMovieSetup_AddRef(IAMovieSetup* This) {
3462 return This->lpVtbl->AddRef(This);
3463}
3464static inline ULONG IAMovieSetup_Release(IAMovieSetup* This) {
3465 return This->lpVtbl->Release(This);
3466}
3467/*** IAMovieSetup methods ***/
3468static inline HRESULT IAMovieSetup_Register(IAMovieSetup* This) {
3469 return This->lpVtbl->Register(This);
3470}
3471static inline HRESULT IAMovieSetup_Unregister(IAMovieSetup* This) {
3472 return This->lpVtbl->Unregister(This);
3473}
3474#endif
3475#endif
3476
3477#endif
3478
3479
3480#endif /* __IAMovieSetup_INTERFACE_DEFINED__ */
3481
3482typedef IAMovieSetup *PAMOVIESETUP;
3483
3484typedef enum AM_SEEKING_SeekingFlags {
3485 AM_SEEKING_NoPositioning = 0x0,
3486 AM_SEEKING_AbsolutePositioning = 0x1,
3487 AM_SEEKING_RelativePositioning = 0x2,
3488 AM_SEEKING_IncrementalPositioning = 0x3,
3489 AM_SEEKING_PositioningBitsMask = 0x3,
3490 AM_SEEKING_SeekToKeyFrame = 0x4,
3491 AM_SEEKING_ReturnTime = 0x8,
3492 AM_SEEKING_Segment = 0x10,
3493 AM_SEEKING_NoFlush = 0x20
3494} AM_SEEKING_SEEKING_FLAGS;
3495
3496typedef enum AM_SEEKING_SeekingCapabilities {
3497 AM_SEEKING_CanSeekAbsolute = 0x1,
3498 AM_SEEKING_CanSeekForwards = 0x2,
3499 AM_SEEKING_CanSeekBackwards = 0x4,
3500 AM_SEEKING_CanGetCurrentPos = 0x8,
3501 AM_SEEKING_CanGetStopPos = 0x10,
3502 AM_SEEKING_CanGetDuration = 0x20,
3503 AM_SEEKING_CanPlayBackwards = 0x40,
3504 AM_SEEKING_CanDoSegments = 0x80,
3505 AM_SEEKING_Source = 0x100
3506} AM_SEEKING_SEEKING_CAPABILITIES;
3507
3508/*****************************************************************************
3509 * IMediaSeeking interface
3510 */
3511#ifndef __IMediaSeeking_INTERFACE_DEFINED__
3512#define __IMediaSeeking_INTERFACE_DEFINED__
3513
3514DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
3515#if defined(__cplusplus) && !defined(CINTERFACE)
3516MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
3517IMediaSeeking : public IUnknown
3518{
3519 virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
3520 DWORD *pCapabilities) = 0;
3521
3522 virtual HRESULT STDMETHODCALLTYPE CheckCapabilities(
3523 DWORD *pCapabilities) = 0;
3524
3525 virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
3526 const GUID *pFormat) = 0;
3527
3528 virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat(
3529 GUID *pFormat) = 0;
3530
3531 virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
3532 GUID *pFormat) = 0;
3533
3534 virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat(
3535 const GUID *pFormat) = 0;
3536
3537 virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(
3538 const GUID *pFormat) = 0;
3539
3540 virtual HRESULT STDMETHODCALLTYPE GetDuration(
3541 LONGLONG *pDuration) = 0;
3542
3543 virtual HRESULT STDMETHODCALLTYPE GetStopPosition(
3544 LONGLONG *pStop) = 0;
3545
3546 virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
3547 LONGLONG *pCurrent) = 0;
3548
3549 virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat(
3550 LONGLONG *pTarget,
3551 const GUID *pTargetFormat,
3552 LONGLONG Source,
3553 const GUID *pSourceFormat) = 0;
3554
3555 virtual HRESULT STDMETHODCALLTYPE SetPositions(
3556 LONGLONG *pCurrent,
3557 DWORD dwCurrentFlags,
3558 LONGLONG *pStop,
3559 DWORD dwStopFlags) = 0;
3560
3561 virtual HRESULT STDMETHODCALLTYPE GetPositions(
3562 LONGLONG *pCurrent,
3563 LONGLONG *pStop) = 0;
3564
3565 virtual HRESULT STDMETHODCALLTYPE GetAvailable(
3566 LONGLONG *pEarliest,
3567 LONGLONG *pLatest) = 0;
3568
3569 virtual HRESULT STDMETHODCALLTYPE SetRate(
3570 double dRate) = 0;
3571
3572 virtual HRESULT STDMETHODCALLTYPE GetRate(
3573 double *pdRate) = 0;
3574
3575 virtual HRESULT STDMETHODCALLTYPE GetPreroll(
3576 LONGLONG *pllPreroll) = 0;
3577
3578};
3579#ifdef __CRT_UUID_DECL
3580__CRT_UUID_DECL(IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
3581#endif
3582#else
3583typedef struct IMediaSeekingVtbl {
3584 BEGIN_INTERFACE
3585
3586 /*** IUnknown methods ***/
3587 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3588 IMediaSeeking *This,
3589 REFIID riid,
3590 void **ppvObject);
3591
3592 ULONG (STDMETHODCALLTYPE *AddRef)(
3593 IMediaSeeking *This);
3594
3595 ULONG (STDMETHODCALLTYPE *Release)(
3596 IMediaSeeking *This);
3597
3598 /*** IMediaSeeking methods ***/
3599 HRESULT (STDMETHODCALLTYPE *GetCapabilities)(
3600 IMediaSeeking *This,
3601 DWORD *pCapabilities);
3602
3603 HRESULT (STDMETHODCALLTYPE *CheckCapabilities)(
3604 IMediaSeeking *This,
3605 DWORD *pCapabilities);
3606
3607 HRESULT (STDMETHODCALLTYPE *IsFormatSupported)(
3608 IMediaSeeking *This,
3609 const GUID *pFormat);
3610
3611 HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)(
3612 IMediaSeeking *This,
3613 GUID *pFormat);
3614
3615 HRESULT (STDMETHODCALLTYPE *GetTimeFormat)(
3616 IMediaSeeking *This,
3617 GUID *pFormat);
3618
3619 HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)(
3620 IMediaSeeking *This,
3621 const GUID *pFormat);
3622
3623 HRESULT (STDMETHODCALLTYPE *SetTimeFormat)(
3624 IMediaSeeking *This,
3625 const GUID *pFormat);
3626
3627 HRESULT (STDMETHODCALLTYPE *GetDuration)(
3628 IMediaSeeking *This,
3629 LONGLONG *pDuration);
3630
3631 HRESULT (STDMETHODCALLTYPE *GetStopPosition)(
3632 IMediaSeeking *This,
3633 LONGLONG *pStop);
3634
3635 HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)(
3636 IMediaSeeking *This,
3637 LONGLONG *pCurrent);
3638
3639 HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)(
3640 IMediaSeeking *This,
3641 LONGLONG *pTarget,
3642 const GUID *pTargetFormat,
3643 LONGLONG Source,
3644 const GUID *pSourceFormat);
3645
3646 HRESULT (STDMETHODCALLTYPE *SetPositions)(
3647 IMediaSeeking *This,
3648 LONGLONG *pCurrent,
3649 DWORD dwCurrentFlags,
3650 LONGLONG *pStop,
3651 DWORD dwStopFlags);
3652
3653 HRESULT (STDMETHODCALLTYPE *GetPositions)(
3654 IMediaSeeking *This,
3655 LONGLONG *pCurrent,
3656 LONGLONG *pStop);
3657
3658 HRESULT (STDMETHODCALLTYPE *GetAvailable)(
3659 IMediaSeeking *This,
3660 LONGLONG *pEarliest,
3661 LONGLONG *pLatest);
3662
3663 HRESULT (STDMETHODCALLTYPE *SetRate)(
3664 IMediaSeeking *This,
3665 double dRate);
3666
3667 HRESULT (STDMETHODCALLTYPE *GetRate)(
3668 IMediaSeeking *This,
3669 double *pdRate);
3670
3671 HRESULT (STDMETHODCALLTYPE *GetPreroll)(
3672 IMediaSeeking *This,
3673 LONGLONG *pllPreroll);
3674
3675 END_INTERFACE
3676} IMediaSeekingVtbl;
3677
3678interface IMediaSeeking {
3679 CONST_VTBL IMediaSeekingVtbl* lpVtbl;
3680};
3681
3682#ifdef COBJMACROS
3683#ifndef WIDL_C_INLINE_WRAPPERS
3684/*** IUnknown methods ***/
3685#define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3686#define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This)
3687#define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This)
3688/*** IMediaSeeking methods ***/
3689#define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities)
3690#define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities)
3691#define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat)
3692#define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat)
3693#define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat)
3694#define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat)
3695#define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat)
3696#define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
3697#define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop)
3698#define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent)
3699#define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
3700#define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
3701#define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop)
3702#define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest)
3703#define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate)
3704#define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate)
3705#define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll)
3706#else
3707/*** IUnknown methods ***/
3708static inline HRESULT IMediaSeeking_QueryInterface(IMediaSeeking* This,REFIID riid,void **ppvObject) {
3709 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3710}
3711static inline ULONG IMediaSeeking_AddRef(IMediaSeeking* This) {
3712 return This->lpVtbl->AddRef(This);
3713}
3714static inline ULONG IMediaSeeking_Release(IMediaSeeking* This) {
3715 return This->lpVtbl->Release(This);
3716}
3717/*** IMediaSeeking methods ***/
3718static inline HRESULT IMediaSeeking_GetCapabilities(IMediaSeeking* This,DWORD *pCapabilities) {
3719 return This->lpVtbl->GetCapabilities(This,pCapabilities);
3720}
3721static inline HRESULT IMediaSeeking_CheckCapabilities(IMediaSeeking* This,DWORD *pCapabilities) {
3722 return This->lpVtbl->CheckCapabilities(This,pCapabilities);
3723}
3724static inline HRESULT IMediaSeeking_IsFormatSupported(IMediaSeeking* This,const GUID *pFormat) {
3725 return This->lpVtbl->IsFormatSupported(This,pFormat);
3726}
3727static inline HRESULT IMediaSeeking_QueryPreferredFormat(IMediaSeeking* This,GUID *pFormat) {
3728 return This->lpVtbl->QueryPreferredFormat(This,pFormat);
3729}
3730static inline HRESULT IMediaSeeking_GetTimeFormat(IMediaSeeking* This,GUID *pFormat) {
3731 return This->lpVtbl->GetTimeFormat(This,pFormat);
3732}
3733static inline HRESULT IMediaSeeking_IsUsingTimeFormat(IMediaSeeking* This,const GUID *pFormat) {
3734 return This->lpVtbl->IsUsingTimeFormat(This,pFormat);
3735}
3736static inline HRESULT IMediaSeeking_SetTimeFormat(IMediaSeeking* This,const GUID *pFormat) {
3737 return This->lpVtbl->SetTimeFormat(This,pFormat);
3738}
3739static inline HRESULT IMediaSeeking_GetDuration(IMediaSeeking* This,LONGLONG *pDuration) {
3740 return This->lpVtbl->GetDuration(This,pDuration);
3741}
3742static inline HRESULT IMediaSeeking_GetStopPosition(IMediaSeeking* This,LONGLONG *pStop) {
3743 return This->lpVtbl->GetStopPosition(This,pStop);
3744}
3745static inline HRESULT IMediaSeeking_GetCurrentPosition(IMediaSeeking* This,LONGLONG *pCurrent) {
3746 return This->lpVtbl->GetCurrentPosition(This,pCurrent);
3747}
3748static inline HRESULT IMediaSeeking_ConvertTimeFormat(IMediaSeeking* This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) {
3749 return This->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat);
3750}
3751static inline HRESULT IMediaSeeking_SetPositions(IMediaSeeking* This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) {
3752 return This->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags);
3753}
3754static inline HRESULT IMediaSeeking_GetPositions(IMediaSeeking* This,LONGLONG *pCurrent,LONGLONG *pStop) {
3755 return This->lpVtbl->GetPositions(This,pCurrent,pStop);
3756}
3757static inline HRESULT IMediaSeeking_GetAvailable(IMediaSeeking* This,LONGLONG *pEarliest,LONGLONG *pLatest) {
3758 return This->lpVtbl->GetAvailable(This,pEarliest,pLatest);
3759}
3760static inline HRESULT IMediaSeeking_SetRate(IMediaSeeking* This,double dRate) {
3761 return This->lpVtbl->SetRate(This,dRate);
3762}
3763static inline HRESULT IMediaSeeking_GetRate(IMediaSeeking* This,double *pdRate) {
3764 return This->lpVtbl->GetRate(This,pdRate);
3765}
3766static inline HRESULT IMediaSeeking_GetPreroll(IMediaSeeking* This,LONGLONG *pllPreroll) {
3767 return This->lpVtbl->GetPreroll(This,pllPreroll);
3768}
3769#endif
3770#endif
3771
3772#endif
3773
3774
3775#endif /* __IMediaSeeking_INTERFACE_DEFINED__ */
3776
3777typedef IMediaSeeking *PMEDIASEEKING;
3778
3779enum tagAM_MEDIAEVENT_FLAGS {
3780 AM_MEDIAEVENT_NONOTIFY = 0x1
3781};
3782
3783#endif
3784#ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
3785#define __IAMAnalogVideoDecoder_FWD_DEFINED__
3786typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
3787#ifdef __cplusplus
3788interface IAMAnalogVideoDecoder;
3789#endif /* __cplusplus */
3790#endif
3791
3792#ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
3793#define __IAMAnalogVideoEncoder_FWD_DEFINED__
3794typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
3795#ifdef __cplusplus
3796interface IAMAnalogVideoEncoder;
3797#endif /* __cplusplus */
3798#endif
3799
3800#ifndef __IAMAudioInputMixer_FWD_DEFINED__
3801#define __IAMAudioInputMixer_FWD_DEFINED__
3802typedef interface IAMAudioInputMixer IAMAudioInputMixer;
3803#ifdef __cplusplus
3804interface IAMAudioInputMixer;
3805#endif /* __cplusplus */
3806#endif
3807
3808#ifndef __IAMAudioRendererStats_FWD_DEFINED__
3809#define __IAMAudioRendererStats_FWD_DEFINED__
3810typedef interface IAMAudioRendererStats IAMAudioRendererStats;
3811#ifdef __cplusplus
3812interface IAMAudioRendererStats;
3813#endif /* __cplusplus */
3814#endif
3815
3816#ifndef __IAMBufferNegotiation_FWD_DEFINED__
3817#define __IAMBufferNegotiation_FWD_DEFINED__
3818typedef interface IAMBufferNegotiation IAMBufferNegotiation;
3819#ifdef __cplusplus
3820interface IAMBufferNegotiation;
3821#endif /* __cplusplus */
3822#endif
3823
3824#ifndef __IAMCameraControl_FWD_DEFINED__
3825#define __IAMCameraControl_FWD_DEFINED__
3826typedef interface IAMCameraControl IAMCameraControl;
3827#ifdef __cplusplus
3828interface IAMCameraControl;
3829#endif /* __cplusplus */
3830#endif
3831
3832#ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__
3833#define __IAMCertifiedOutputProtection_FWD_DEFINED__
3834typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
3835#ifdef __cplusplus
3836interface IAMCertifiedOutputProtection;
3837#endif /* __cplusplus */
3838#endif
3839
3840#ifndef __IAMClockSlave_FWD_DEFINED__
3841#define __IAMClockSlave_FWD_DEFINED__
3842typedef interface IAMClockSlave IAMClockSlave;
3843#ifdef __cplusplus
3844interface IAMClockSlave;
3845#endif /* __cplusplus */
3846#endif
3847
3848#ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
3849#define __IAMCopyCaptureFileProgress_FWD_DEFINED__
3850typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
3851#ifdef __cplusplus
3852interface IAMCopyCaptureFileProgress;
3853#endif /* __cplusplus */
3854#endif
3855
3856#ifndef __IAMCrossbar_FWD_DEFINED__
3857#define __IAMCrossbar_FWD_DEFINED__
3858typedef interface IAMCrossbar IAMCrossbar;
3859#ifdef __cplusplus
3860interface IAMCrossbar;
3861#endif /* __cplusplus */
3862#endif
3863
3864#ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
3865#define __IAMDevMemoryAllocator_FWD_DEFINED__
3866typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
3867#ifdef __cplusplus
3868interface IAMDevMemoryAllocator;
3869#endif /* __cplusplus */
3870#endif
3871
3872#ifndef __IAMDevMemoryControl_FWD_DEFINED__
3873#define __IAMDevMemoryControl_FWD_DEFINED__
3874typedef interface IAMDevMemoryControl IAMDevMemoryControl;
3875#ifdef __cplusplus
3876interface IAMDevMemoryControl;
3877#endif /* __cplusplus */
3878#endif
3879
3880#ifndef __IAMDroppedFrames_FWD_DEFINED__
3881#define __IAMDroppedFrames_FWD_DEFINED__
3882typedef interface IAMDroppedFrames IAMDroppedFrames;
3883#ifdef __cplusplus
3884interface IAMDroppedFrames;
3885#endif /* __cplusplus */
3886#endif
3887
3888#ifndef __IAMExtDevice_FWD_DEFINED__
3889#define __IAMExtDevice_FWD_DEFINED__
3890typedef interface IAMExtDevice IAMExtDevice;
3891#ifdef __cplusplus
3892interface IAMExtDevice;
3893#endif /* __cplusplus */
3894#endif
3895
3896#ifndef __IAMExtTransport_FWD_DEFINED__
3897#define __IAMExtTransport_FWD_DEFINED__
3898typedef interface IAMExtTransport IAMExtTransport;
3899#ifdef __cplusplus
3900interface IAMExtTransport;
3901#endif /* __cplusplus */
3902#endif
3903
3904#ifndef __IAMGraphStreams_FWD_DEFINED__
3905#define __IAMGraphStreams_FWD_DEFINED__
3906typedef interface IAMGraphStreams IAMGraphStreams;
3907#ifdef __cplusplus
3908interface IAMGraphStreams;
3909#endif /* __cplusplus */
3910#endif
3911
3912#ifndef __IAMLatency_FWD_DEFINED__
3913#define __IAMLatency_FWD_DEFINED__
3914typedef interface IAMLatency IAMLatency;
3915#ifdef __cplusplus
3916interface IAMLatency;
3917#endif /* __cplusplus */
3918#endif
3919
3920#ifndef __IAMOpenProgress_FWD_DEFINED__
3921#define __IAMOpenProgress_FWD_DEFINED__
3922typedef interface IAMOpenProgress IAMOpenProgress;
3923#ifdef __cplusplus
3924interface IAMOpenProgress;
3925#endif /* __cplusplus */
3926#endif
3927
3928#ifndef __IAMOverlayFX_FWD_DEFINED__
3929#define __IAMOverlayFX_FWD_DEFINED__
3930typedef interface IAMOverlayFX IAMOverlayFX;
3931#ifdef __cplusplus
3932interface IAMOverlayFX;
3933#endif /* __cplusplus */
3934#endif
3935
3936#ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
3937#define __IAMPhysicalPinInfo_FWD_DEFINED__
3938typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
3939#ifdef __cplusplus
3940interface IAMPhysicalPinInfo;
3941#endif /* __cplusplus */
3942#endif
3943
3944#ifndef __IAMPushSource_FWD_DEFINED__
3945#define __IAMPushSource_FWD_DEFINED__
3946typedef interface IAMPushSource IAMPushSource;
3947#ifdef __cplusplus
3948interface IAMPushSource;
3949#endif /* __cplusplus */
3950#endif
3951
3952#ifndef __IAMStreamConfig_FWD_DEFINED__
3953#define __IAMStreamConfig_FWD_DEFINED__
3954typedef interface IAMStreamConfig IAMStreamConfig;
3955#ifdef __cplusplus
3956interface IAMStreamConfig;
3957#endif /* __cplusplus */
3958#endif
3959
3960#ifndef __IAMTimecodeDisplay_FWD_DEFINED__
3961#define __IAMTimecodeDisplay_FWD_DEFINED__
3962typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
3963#ifdef __cplusplus
3964interface IAMTimecodeDisplay;
3965#endif /* __cplusplus */
3966#endif
3967
3968#ifndef __IAMTimecodeGenerator_FWD_DEFINED__
3969#define __IAMTimecodeGenerator_FWD_DEFINED__
3970typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
3971#ifdef __cplusplus
3972interface IAMTimecodeGenerator;
3973#endif /* __cplusplus */
3974#endif
3975
3976#ifndef __IAMTimecodeReader_FWD_DEFINED__
3977#define __IAMTimecodeReader_FWD_DEFINED__
3978typedef interface IAMTimecodeReader IAMTimecodeReader;
3979#ifdef __cplusplus
3980interface IAMTimecodeReader;
3981#endif /* __cplusplus */
3982#endif
3983
3984#ifndef __IAMTVTuner_FWD_DEFINED__
3985#define __IAMTVTuner_FWD_DEFINED__
3986typedef interface IAMTVTuner IAMTVTuner;
3987#ifdef __cplusplus
3988interface IAMTVTuner;
3989#endif /* __cplusplus */
3990#endif
3991
3992#ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
3993#define __IAMVfwCaptureDialogs_FWD_DEFINED__
3994typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
3995#ifdef __cplusplus
3996interface IAMVfwCaptureDialogs;
3997#endif /* __cplusplus */
3998#endif
3999
4000#ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
4001#define __IAMVfwCompressDialogs_FWD_DEFINED__
4002typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
4003#ifdef __cplusplus
4004interface IAMVfwCompressDialogs;
4005#endif /* __cplusplus */
4006#endif
4007
4008#ifndef __IAMVideoCompression_FWD_DEFINED__
4009#define __IAMVideoCompression_FWD_DEFINED__
4010typedef interface IAMVideoCompression IAMVideoCompression;
4011#ifdef __cplusplus
4012interface IAMVideoCompression;
4013#endif /* __cplusplus */
4014#endif
4015
4016#ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
4017#define __IAMVideoDecimationProperties_FWD_DEFINED__
4018typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
4019#ifdef __cplusplus
4020interface IAMVideoDecimationProperties;
4021#endif /* __cplusplus */
4022#endif
4023
4024#ifndef __IAMVideoProcAmp_FWD_DEFINED__
4025#define __IAMVideoProcAmp_FWD_DEFINED__
4026typedef interface IAMVideoProcAmp IAMVideoProcAmp;
4027#ifdef __cplusplus
4028interface IAMVideoProcAmp;
4029#endif /* __cplusplus */
4030#endif
4031
4032#ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
4033#define __IAMGraphBuilderCallback_FWD_DEFINED__
4034typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
4035#ifdef __cplusplus
4036interface IAMGraphBuilderCallback;
4037#endif /* __cplusplus */
4038#endif
4039
4040#ifndef __ICaptureGraphBuilder_FWD_DEFINED__
4041#define __ICaptureGraphBuilder_FWD_DEFINED__
4042typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
4043#ifdef __cplusplus
4044interface ICaptureGraphBuilder;
4045#endif /* __cplusplus */
4046#endif
4047
4048#ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
4049#define __ICaptureGraphBuilder2_FWD_DEFINED__
4050typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
4051#ifdef __cplusplus
4052interface ICaptureGraphBuilder2;
4053#endif /* __cplusplus */
4054#endif
4055
4056#ifndef __IConfigAviMux_FWD_DEFINED__
4057#define __IConfigAviMux_FWD_DEFINED__
4058typedef interface IConfigAviMux IConfigAviMux;
4059#ifdef __cplusplus
4060interface IConfigAviMux;
4061#endif /* __cplusplus */
4062#endif
4063
4064#ifndef __IConfigInterleaving_FWD_DEFINED__
4065#define __IConfigInterleaving_FWD_DEFINED__
4066typedef interface IConfigInterleaving IConfigInterleaving;
4067#ifdef __cplusplus
4068interface IConfigInterleaving;
4069#endif /* __cplusplus */
4070#endif
4071
4072#ifndef __IDecimateVideoImage_FWD_DEFINED__
4073#define __IDecimateVideoImage_FWD_DEFINED__
4074typedef interface IDecimateVideoImage IDecimateVideoImage;
4075#ifdef __cplusplus
4076interface IDecimateVideoImage;
4077#endif /* __cplusplus */
4078#endif
4079
4080#ifndef __IDrawVideoImage_FWD_DEFINED__
4081#define __IDrawVideoImage_FWD_DEFINED__
4082typedef interface IDrawVideoImage IDrawVideoImage;
4083#ifdef __cplusplus
4084interface IDrawVideoImage;
4085#endif /* __cplusplus */
4086#endif
4087
4088#ifndef __IEnumRegFilters_FWD_DEFINED__
4089#define __IEnumRegFilters_FWD_DEFINED__
4090typedef interface IEnumRegFilters IEnumRegFilters;
4091#ifdef __cplusplus
4092interface IEnumRegFilters;
4093#endif /* __cplusplus */
4094#endif
4095
4096#ifndef __IEnumStreamIdMap_FWD_DEFINED__
4097#define __IEnumStreamIdMap_FWD_DEFINED__
4098typedef interface IEnumStreamIdMap IEnumStreamIdMap;
4099#ifdef __cplusplus
4100interface IEnumStreamIdMap;
4101#endif /* __cplusplus */
4102#endif
4103
4104#ifndef __IFileSourceFilter_FWD_DEFINED__
4105#define __IFileSourceFilter_FWD_DEFINED__
4106typedef interface IFileSourceFilter IFileSourceFilter;
4107#ifdef __cplusplus
4108interface IFileSourceFilter;
4109#endif /* __cplusplus */
4110#endif
4111
4112#ifndef __IFileSinkFilter_FWD_DEFINED__
4113#define __IFileSinkFilter_FWD_DEFINED__
4114typedef interface IFileSinkFilter IFileSinkFilter;
4115#ifdef __cplusplus
4116interface IFileSinkFilter;
4117#endif /* __cplusplus */
4118#endif
4119
4120#ifndef __IFileSinkFilter2_FWD_DEFINED__
4121#define __IFileSinkFilter2_FWD_DEFINED__
4122typedef interface IFileSinkFilter2 IFileSinkFilter2;
4123#ifdef __cplusplus
4124interface IFileSinkFilter2;
4125#endif /* __cplusplus */
4126#endif
4127
4128#ifndef __IFilterMapper_FWD_DEFINED__
4129#define __IFilterMapper_FWD_DEFINED__
4130typedef interface IFilterMapper IFilterMapper;
4131#ifdef __cplusplus
4132interface IFilterMapper;
4133#endif /* __cplusplus */
4134#endif
4135
4136#ifndef __IFilterMapper2_FWD_DEFINED__
4137#define __IFilterMapper2_FWD_DEFINED__
4138typedef interface IFilterMapper2 IFilterMapper2;
4139#ifdef __cplusplus
4140interface IFilterMapper2;
4141#endif /* __cplusplus */
4142#endif
4143
4144#ifndef __IGraphBuilder_FWD_DEFINED__
4145#define __IGraphBuilder_FWD_DEFINED__
4146typedef interface IGraphBuilder IGraphBuilder;
4147#ifdef __cplusplus
4148interface IGraphBuilder;
4149#endif /* __cplusplus */
4150#endif
4151
4152#ifndef __IKsPropertySet_FWD_DEFINED__
4153#define __IKsPropertySet_FWD_DEFINED__
4154typedef interface IKsPropertySet IKsPropertySet;
4155#ifdef __cplusplus
4156interface IKsPropertySet;
4157#endif /* __cplusplus */
4158#endif
4159
4160#ifndef __IMediaEventSink_FWD_DEFINED__
4161#define __IMediaEventSink_FWD_DEFINED__
4162typedef interface IMediaEventSink IMediaEventSink;
4163#ifdef __cplusplus
4164interface IMediaEventSink;
4165#endif /* __cplusplus */
4166#endif
4167
4168#ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
4169#define __IMpeg2Demultiplexer_FWD_DEFINED__
4170typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
4171#ifdef __cplusplus
4172interface IMpeg2Demultiplexer;
4173#endif /* __cplusplus */
4174#endif
4175
4176#ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
4177#define __IMPEG2StreamIdMap_FWD_DEFINED__
4178typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
4179#ifdef __cplusplus
4180interface IMPEG2StreamIdMap;
4181#endif /* __cplusplus */
4182#endif
4183
4184#ifndef __IOverlay_FWD_DEFINED__
4185#define __IOverlay_FWD_DEFINED__
4186typedef interface IOverlay IOverlay;
4187#ifdef __cplusplus
4188interface IOverlay;
4189#endif /* __cplusplus */
4190#endif
4191
4192#ifndef __IOverlayNotify_FWD_DEFINED__
4193#define __IOverlayNotify_FWD_DEFINED__
4194typedef interface IOverlayNotify IOverlayNotify;
4195#ifdef __cplusplus
4196interface IOverlayNotify;
4197#endif /* __cplusplus */
4198#endif
4199
4200#ifndef __IOverlayNotify2_FWD_DEFINED__
4201#define __IOverlayNotify2_FWD_DEFINED__
4202typedef interface IOverlayNotify2 IOverlayNotify2;
4203#ifdef __cplusplus
4204interface IOverlayNotify2;
4205#endif /* __cplusplus */
4206#endif
4207
4208#ifndef __IQualityControl_FWD_DEFINED__
4209#define __IQualityControl_FWD_DEFINED__
4210typedef interface IQualityControl IQualityControl;
4211#ifdef __cplusplus
4212interface IQualityControl;
4213#endif /* __cplusplus */
4214#endif
4215
4216#ifndef __ISeekingPassThru_FWD_DEFINED__
4217#define __ISeekingPassThru_FWD_DEFINED__
4218typedef interface ISeekingPassThru ISeekingPassThru;
4219#ifdef __cplusplus
4220interface ISeekingPassThru;
4221#endif /* __cplusplus */
4222#endif
4223
4224typedef enum tagAnalogVideoStandard {
4225 AnalogVideo_None = 0x0,
4226 AnalogVideo_NTSC_M = 0x1,
4227 AnalogVideo_NTSC_M_J = 0x2,
4228 AnalogVideo_NTSC_433 = 0x4,
4229 AnalogVideo_PAL_B = 0x10,
4230 AnalogVideo_PAL_D = 0x20,
4231 AnalogVideo_PAL_G = 0x40,
4232 AnalogVideo_PAL_H = 0x80,
4233 AnalogVideo_PAL_I = 0x100,
4234 AnalogVideo_PAL_M = 0x200,
4235 AnalogVideo_PAL_N = 0x400,
4236 AnalogVideo_PAL_60 = 0x800,
4237 AnalogVideo_SECAM_B = 0x1000,
4238 AnalogVideo_SECAM_D = 0x2000,
4239 AnalogVideo_SECAM_G = 0x4000,
4240 AnalogVideo_SECAM_H = 0x8000,
4241 AnalogVideo_SECAM_K = 0x10000,
4242 AnalogVideo_SECAM_K1 = 0x20000,
4243 AnalogVideo_SECAM_L = 0x40000,
4244 AnalogVideo_SECAM_L1 = 0x80000,
4245 AnalogVideo_PAL_N_COMBO = 0x100000,
4246 AnalogVideoMask_MCE_NTSC = (((((AnalogVideo_NTSC_M | AnalogVideo_NTSC_M_J) | AnalogVideo_NTSC_433) | AnalogVideo_PAL_M) | AnalogVideo_PAL_N) | AnalogVideo_PAL_60) | AnalogVideo_PAL_N_COMBO,
4247 AnalogVideoMask_MCE_PAL = (((AnalogVideo_PAL_B | AnalogVideo_PAL_D) | AnalogVideo_PAL_G) | AnalogVideo_PAL_H) | AnalogVideo_PAL_I,
4248 AnalogVideoMask_MCE_SECAM = ((((((AnalogVideo_SECAM_B | AnalogVideo_SECAM_D) | AnalogVideo_SECAM_G) | AnalogVideo_SECAM_H) | AnalogVideo_SECAM_K) | AnalogVideo_SECAM_K1) | AnalogVideo_SECAM_L) | AnalogVideo_SECAM_L1
4249} AnalogVideoStandard;
4250typedef enum tagTunerInputType {
4251 TunerInputCable = 0,
4252 TunerInputAntenna = 1
4253} TunerInputType;
4254typedef struct __WIDL_strmif_generated_name_0000000F {
4255 CLSID Clsid;
4256 LPWSTR Name;
4257} REGFILTER;
4258typedef enum tagTVAudioMode {
4259 AMTVAUDIO_MODE_MONO = 0x1,
4260 AMTVAUDIO_MODE_STEREO = 0x2,
4261 AMTVAUDIO_MODE_LANG_A = 0x10,
4262 AMTVAUDIO_MODE_LANG_B = 0x20,
4263 AMTVAUDIO_MODE_LANG_C = 0x40,
4264 AMTVAUDIO_PRESET_STEREO = 0x200,
4265 AMTVAUDIO_PRESET_LANG_A = 0x1000,
4266 AMTVAUDIO_PRESET_LANG_B = 0x2000,
4267 AMTVAUDIO_PRESET_LANG_C = 0x4000
4268} TVAudioMode;
4269/*****************************************************************************
4270 * IEnumRegFilters interface
4271 */
4272#ifndef __IEnumRegFilters_INTERFACE_DEFINED__
4273#define __IEnumRegFilters_INTERFACE_DEFINED__
4274
4275DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
4276#if defined(__cplusplus) && !defined(CINTERFACE)
4277MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
4278IEnumRegFilters : public IUnknown
4279{
4280 virtual HRESULT STDMETHODCALLTYPE Next(
4281 ULONG cFilters,
4282 REGFILTER **apRegFilter,
4283 ULONG *pcFetched) = 0;
4284
4285 virtual HRESULT STDMETHODCALLTYPE Skip(
4286 ULONG cFilters) = 0;
4287
4288 virtual HRESULT STDMETHODCALLTYPE Reset(
4289 ) = 0;
4290
4291 virtual HRESULT STDMETHODCALLTYPE Clone(
4292 IEnumRegFilters **ppEnum) = 0;
4293
4294};
4295#ifdef __CRT_UUID_DECL
4296__CRT_UUID_DECL(IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
4297#endif
4298#else
4299typedef struct IEnumRegFiltersVtbl {
4300 BEGIN_INTERFACE
4301
4302 /*** IUnknown methods ***/
4303 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4304 IEnumRegFilters *This,
4305 REFIID riid,
4306 void **ppvObject);
4307
4308 ULONG (STDMETHODCALLTYPE *AddRef)(
4309 IEnumRegFilters *This);
4310
4311 ULONG (STDMETHODCALLTYPE *Release)(
4312 IEnumRegFilters *This);
4313
4314 /*** IEnumRegFilters methods ***/
4315 HRESULT (STDMETHODCALLTYPE *Next)(
4316 IEnumRegFilters *This,
4317 ULONG cFilters,
4318 REGFILTER **apRegFilter,
4319 ULONG *pcFetched);
4320
4321 HRESULT (STDMETHODCALLTYPE *Skip)(
4322 IEnumRegFilters *This,
4323 ULONG cFilters);
4324
4325 HRESULT (STDMETHODCALLTYPE *Reset)(
4326 IEnumRegFilters *This);
4327
4328 HRESULT (STDMETHODCALLTYPE *Clone)(
4329 IEnumRegFilters *This,
4330 IEnumRegFilters **ppEnum);
4331
4332 END_INTERFACE
4333} IEnumRegFiltersVtbl;
4334
4335interface IEnumRegFilters {
4336 CONST_VTBL IEnumRegFiltersVtbl* lpVtbl;
4337};
4338
4339#ifdef COBJMACROS
4340#ifndef WIDL_C_INLINE_WRAPPERS
4341/*** IUnknown methods ***/
4342#define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4343#define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
4344#define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This)
4345/*** IEnumRegFilters methods ***/
4346#define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched)
4347#define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
4348#define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This)
4349#define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
4350#else
4351/*** IUnknown methods ***/
4352static inline HRESULT IEnumRegFilters_QueryInterface(IEnumRegFilters* This,REFIID riid,void **ppvObject) {
4353 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4354}
4355static inline ULONG IEnumRegFilters_AddRef(IEnumRegFilters* This) {
4356 return This->lpVtbl->AddRef(This);
4357}
4358static inline ULONG IEnumRegFilters_Release(IEnumRegFilters* This) {
4359 return This->lpVtbl->Release(This);
4360}
4361/*** IEnumRegFilters methods ***/
4362static inline HRESULT IEnumRegFilters_Next(IEnumRegFilters* This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) {
4363 return This->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched);
4364}
4365static inline HRESULT IEnumRegFilters_Skip(IEnumRegFilters* This,ULONG cFilters) {
4366 return This->lpVtbl->Skip(This,cFilters);
4367}
4368static inline HRESULT IEnumRegFilters_Reset(IEnumRegFilters* This) {
4369 return This->lpVtbl->Reset(This);
4370}
4371static inline HRESULT IEnumRegFilters_Clone(IEnumRegFilters* This,IEnumRegFilters **ppEnum) {
4372 return This->lpVtbl->Clone(This,ppEnum);
4373}
4374#endif
4375#endif
4376
4377#endif
4378
4379
4380#endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */
4381
4382typedef IEnumRegFilters *PENUMREGFILTERS;
4383/*****************************************************************************
4384 * IFilterMapper interface
4385 */
4386#ifndef __IFilterMapper_INTERFACE_DEFINED__
4387#define __IFilterMapper_INTERFACE_DEFINED__
4388
4389enum {
4390 MERIT_PREFERRED = 0x800000,
4391 MERIT_NORMAL = 0x600000,
4392 MERIT_UNLIKELY = 0x400000,
4393 MERIT_DO_NOT_USE = 0x200000,
4394 MERIT_SW_COMPRESSOR = 0x100000,
4395 MERIT_HW_COMPRESSOR = 0x100050
4396};
4397DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
4398#if defined(__cplusplus) && !defined(CINTERFACE)
4399MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
4400IFilterMapper : public IUnknown
4401{
4402 virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
4403 CLSID clsid,
4404 LPCWSTR Name,
4405 DWORD dwMerit) = 0;
4406
4407 virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance(
4408 CLSID clsid,
4409 LPCWSTR Name,
4410 CLSID *MRId) = 0;
4411
4412 virtual HRESULT STDMETHODCALLTYPE RegisterPin(
4413 CLSID Filter,
4414 LPCWSTR Name,
4415 WINBOOL bRendered,
4416 WINBOOL bOutput,
4417 WINBOOL bZero,
4418 WINBOOL bMany,
4419 CLSID ConnectsToFilter,
4420 LPCWSTR ConnectsToPin) = 0;
4421
4422 virtual HRESULT STDMETHODCALLTYPE RegisterPinType(
4423 CLSID clsFilter,
4424 LPCWSTR strName,
4425 CLSID clsMajorType,
4426 CLSID clsSubType) = 0;
4427
4428 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
4429 CLSID Filter) = 0;
4430
4431 virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance(
4432 CLSID MRId) = 0;
4433
4434 virtual HRESULT STDMETHODCALLTYPE UnregisterPin(
4435 CLSID Filter,
4436 LPCWSTR Name) = 0;
4437
4438 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
4439 IEnumRegFilters **ppEnum,
4440 DWORD dwMerit,
4441 WINBOOL bInputNeeded,
4442 CLSID clsInMaj,
4443 CLSID clsInSub,
4444 WINBOOL bRender,
4445 WINBOOL bOutputNeeded,
4446 CLSID clsOutMaj,
4447 CLSID clsOutSub) = 0;
4448
4449};
4450#ifdef __CRT_UUID_DECL
4451__CRT_UUID_DECL(IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
4452#endif
4453#else
4454typedef struct IFilterMapperVtbl {
4455 BEGIN_INTERFACE
4456
4457 /*** IUnknown methods ***/
4458 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4459 IFilterMapper *This,
4460 REFIID riid,
4461 void **ppvObject);
4462
4463 ULONG (STDMETHODCALLTYPE *AddRef)(
4464 IFilterMapper *This);
4465
4466 ULONG (STDMETHODCALLTYPE *Release)(
4467 IFilterMapper *This);
4468
4469 /*** IFilterMapper methods ***/
4470 HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
4471 IFilterMapper *This,
4472 CLSID clsid,
4473 LPCWSTR Name,
4474 DWORD dwMerit);
4475
4476 HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)(
4477 IFilterMapper *This,
4478 CLSID clsid,
4479 LPCWSTR Name,
4480 CLSID *MRId);
4481
4482 HRESULT (STDMETHODCALLTYPE *RegisterPin)(
4483 IFilterMapper *This,
4484 CLSID Filter,
4485 LPCWSTR Name,
4486 WINBOOL bRendered,
4487 WINBOOL bOutput,
4488 WINBOOL bZero,
4489 WINBOOL bMany,
4490 CLSID ConnectsToFilter,
4491 LPCWSTR ConnectsToPin);
4492
4493 HRESULT (STDMETHODCALLTYPE *RegisterPinType)(
4494 IFilterMapper *This,
4495 CLSID clsFilter,
4496 LPCWSTR strName,
4497 CLSID clsMajorType,
4498 CLSID clsSubType);
4499
4500 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
4501 IFilterMapper *This,
4502 CLSID Filter);
4503
4504 HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)(
4505 IFilterMapper *This,
4506 CLSID MRId);
4507
4508 HRESULT (STDMETHODCALLTYPE *UnregisterPin)(
4509 IFilterMapper *This,
4510 CLSID Filter,
4511 LPCWSTR Name);
4512
4513 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
4514 IFilterMapper *This,
4515 IEnumRegFilters **ppEnum,
4516 DWORD dwMerit,
4517 WINBOOL bInputNeeded,
4518 CLSID clsInMaj,
4519 CLSID clsInSub,
4520 WINBOOL bRender,
4521 WINBOOL bOutputNeeded,
4522 CLSID clsOutMaj,
4523 CLSID clsOutSub);
4524
4525 END_INTERFACE
4526} IFilterMapperVtbl;
4527
4528interface IFilterMapper {
4529 CONST_VTBL IFilterMapperVtbl* lpVtbl;
4530};
4531
4532#ifdef COBJMACROS
4533#ifndef WIDL_C_INLINE_WRAPPERS
4534/*** IUnknown methods ***/
4535#define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4536#define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This)
4537#define IFilterMapper_Release(This) (This)->lpVtbl->Release(This)
4538/*** IFilterMapper methods ***/
4539#define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit)
4540#define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId)
4541#define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
4542#define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
4543#define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter)
4544#define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId)
4545#define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name)
4546#define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOutputNeeded,clsOutMaj,clsOutSub) (This)->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOutputNeeded,clsOutMaj,clsOutSub)
4547#else
4548/*** IUnknown methods ***/
4549static inline HRESULT IFilterMapper_QueryInterface(IFilterMapper* This,REFIID riid,void **ppvObject) {
4550 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4551}
4552static inline ULONG IFilterMapper_AddRef(IFilterMapper* This) {
4553 return This->lpVtbl->AddRef(This);
4554}
4555static inline ULONG IFilterMapper_Release(IFilterMapper* This) {
4556 return This->lpVtbl->Release(This);
4557}
4558/*** IFilterMapper methods ***/
4559static inline HRESULT IFilterMapper_RegisterFilter(IFilterMapper* This,CLSID clsid,LPCWSTR Name,DWORD dwMerit) {
4560 return This->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit);
4561}
4562static inline HRESULT IFilterMapper_RegisterFilterInstance(IFilterMapper* This,CLSID clsid,LPCWSTR Name,CLSID *MRId) {
4563 return This->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId);
4564}
4565static inline HRESULT IFilterMapper_RegisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) {
4566 return This->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin);
4567}
4568static inline HRESULT IFilterMapper_RegisterPinType(IFilterMapper* This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) {
4569 return This->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType);
4570}
4571static inline HRESULT IFilterMapper_UnregisterFilter(IFilterMapper* This,CLSID Filter) {
4572 return This->lpVtbl->UnregisterFilter(This,Filter);
4573}
4574static inline HRESULT IFilterMapper_UnregisterFilterInstance(IFilterMapper* This,CLSID MRId) {
4575 return This->lpVtbl->UnregisterFilterInstance(This,MRId);
4576}
4577static inline HRESULT IFilterMapper_UnregisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name) {
4578 return This->lpVtbl->UnregisterPin(This,Filter,Name);
4579}
4580static inline HRESULT IFilterMapper_EnumMatchingFilters(IFilterMapper* This,IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOutputNeeded,CLSID clsOutMaj,CLSID clsOutSub) {
4581 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOutputNeeded,clsOutMaj,clsOutSub);
4582}
4583#endif
4584#endif
4585
4586#endif
4587
4588
4589#endif /* __IFilterMapper_INTERFACE_DEFINED__ */
4590
4591typedef struct __WIDL_strmif_generated_name_00000010 {
4592 const CLSID *clsMajorType;
4593 const CLSID *clsMinorType;
4594} REGPINTYPES;
4595typedef struct __WIDL_strmif_generated_name_00000011 {
4596 LPWSTR strName;
4597 WINBOOL bRendered;
4598 WINBOOL bOutput;
4599 WINBOOL bZero;
4600 WINBOOL bMany;
4601 const CLSID *clsConnectsToFilter;
4602 const WCHAR *strConnectsToPin;
4603 UINT nMediaTypes;
4604 const REGPINTYPES *lpMediaType;
4605} REGFILTERPINS;
4606typedef struct __WIDL_strmif_generated_name_00000012 {
4607 CLSID clsMedium;
4608 DWORD dw1;
4609 DWORD dw2;
4610} REGPINMEDIUM;
4611enum {
4612 REG_PINFLAG_B_ZERO = 0x1,
4613 REG_PINFLAG_B_RENDERER = 0x2,
4614 REG_PINFLAG_B_MANY = 0x4,
4615 REG_PINFLAG_B_OUTPUT = 0x8
4616};
4617typedef struct __WIDL_strmif_generated_name_00000013 {
4618 DWORD dwFlags;
4619 UINT cInstances;
4620 UINT nMediaTypes;
4621 const REGPINTYPES *lpMediaType;
4622 UINT nMediums;
4623 const REGPINMEDIUM *lpMedium;
4624 const CLSID *clsPinCategory;
4625} REGFILTERPINS2;
4626typedef struct __WIDL_strmif_generated_name_00000014 {
4627 DWORD dwVersion;
4628 DWORD dwMerit;
4629 __C89_NAMELESS union {
4630 __C89_NAMELESS struct {
4631 ULONG cPins;
4632 const REGFILTERPINS *rgPins;
4633 } __C89_NAMELESSSTRUCTNAME1;
4634 __C89_NAMELESS struct {
4635 ULONG cPins2;
4636 const REGFILTERPINS2 *rgPins2;
4637 } __C89_NAMELESSSTRUCTNAME2;
4638 } __C89_NAMELESSUNIONNAME;
4639} REGFILTER2;
4640/*****************************************************************************
4641 * IFilterMapper2 interface
4642 */
4643#ifndef __IFilterMapper2_INTERFACE_DEFINED__
4644#define __IFilterMapper2_INTERFACE_DEFINED__
4645
4646DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
4647#if defined(__cplusplus) && !defined(CINTERFACE)
4648MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
4649IFilterMapper2 : public IUnknown
4650{
4651 virtual HRESULT STDMETHODCALLTYPE CreateCategory(
4652 REFCLSID clsidCategory,
4653 DWORD dwCategoryMerit,
4654 LPCWSTR Description) = 0;
4655
4656 virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
4657 const CLSID *pclsidCategory,
4658 LPCOLESTR szInstance,
4659 REFCLSID Filter) = 0;
4660
4661 virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
4662 REFCLSID clsidFilter,
4663 LPCWSTR Name,
4664 IMoniker **ppMoniker,
4665 const CLSID *pclsidCategory,
4666 LPCOLESTR szInstance,
4667 const REGFILTER2 *prf2) = 0;
4668
4669 virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
4670 IEnumMoniker **ppEnum,
4671 DWORD dwFlags,
4672 WINBOOL bExactMatch,
4673 DWORD dwMerit,
4674 WINBOOL bInputNeeded,
4675 DWORD cInputTypes,
4676 const GUID *pInputTypes,
4677 const REGPINMEDIUM *pMedIn,
4678 const CLSID *pPinCategoryIn,
4679 WINBOOL bRender,
4680 WINBOOL bOutputNeeded,
4681 DWORD cOutputTypes,
4682 const GUID *pOutputTypes,
4683 const REGPINMEDIUM *pMedOut,
4684 const CLSID *pPinCategoryOut) = 0;
4685
4686};
4687#ifdef __CRT_UUID_DECL
4688__CRT_UUID_DECL(IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
4689#endif
4690#else
4691typedef struct IFilterMapper2Vtbl {
4692 BEGIN_INTERFACE
4693
4694 /*** IUnknown methods ***/
4695 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4696 IFilterMapper2 *This,
4697 REFIID riid,
4698 void **ppvObject);
4699
4700 ULONG (STDMETHODCALLTYPE *AddRef)(
4701 IFilterMapper2 *This);
4702
4703 ULONG (STDMETHODCALLTYPE *Release)(
4704 IFilterMapper2 *This);
4705
4706 /*** IFilterMapper2 methods ***/
4707 HRESULT (STDMETHODCALLTYPE *CreateCategory)(
4708 IFilterMapper2 *This,
4709 REFCLSID clsidCategory,
4710 DWORD dwCategoryMerit,
4711 LPCWSTR Description);
4712
4713 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
4714 IFilterMapper2 *This,
4715 const CLSID *pclsidCategory,
4716 LPCOLESTR szInstance,
4717 REFCLSID Filter);
4718
4719 HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
4720 IFilterMapper2 *This,
4721 REFCLSID clsidFilter,
4722 LPCWSTR Name,
4723 IMoniker **ppMoniker,
4724 const CLSID *pclsidCategory,
4725 LPCOLESTR szInstance,
4726 const REGFILTER2 *prf2);
4727
4728 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
4729 IFilterMapper2 *This,
4730 IEnumMoniker **ppEnum,
4731 DWORD dwFlags,
4732 WINBOOL bExactMatch,
4733 DWORD dwMerit,
4734 WINBOOL bInputNeeded,
4735 DWORD cInputTypes,
4736 const GUID *pInputTypes,
4737 const REGPINMEDIUM *pMedIn,
4738 const CLSID *pPinCategoryIn,
4739 WINBOOL bRender,
4740 WINBOOL bOutputNeeded,
4741 DWORD cOutputTypes,
4742 const GUID *pOutputTypes,
4743 const REGPINMEDIUM *pMedOut,
4744 const CLSID *pPinCategoryOut);
4745
4746 END_INTERFACE
4747} IFilterMapper2Vtbl;
4748
4749interface IFilterMapper2 {
4750 CONST_VTBL IFilterMapper2Vtbl* lpVtbl;
4751};
4752
4753#ifdef COBJMACROS
4754#ifndef WIDL_C_INLINE_WRAPPERS
4755/*** IUnknown methods ***/
4756#define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4757#define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This)
4758#define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This)
4759/*** IFilterMapper2 methods ***/
4760#define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
4761#define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
4762#define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
4763#define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut) (This)->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
4764#else
4765/*** IUnknown methods ***/
4766static inline HRESULT IFilterMapper2_QueryInterface(IFilterMapper2* This,REFIID riid,void **ppvObject) {
4767 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4768}
4769static inline ULONG IFilterMapper2_AddRef(IFilterMapper2* This) {
4770 return This->lpVtbl->AddRef(This);
4771}
4772static inline ULONG IFilterMapper2_Release(IFilterMapper2* This) {
4773 return This->lpVtbl->Release(This);
4774}
4775/*** IFilterMapper2 methods ***/
4776static inline HRESULT IFilterMapper2_CreateCategory(IFilterMapper2* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) {
4777 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description);
4778}
4779static inline HRESULT IFilterMapper2_UnregisterFilter(IFilterMapper2* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) {
4780 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter);
4781}
4782static inline HRESULT IFilterMapper2_RegisterFilter(IFilterMapper2* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) {
4783 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2);
4784}
4785static inline HRESULT IFilterMapper2_EnumMatchingFilters(IFilterMapper2* This,IEnumMoniker **ppEnum,DWORD dwFlags,WINBOOL bExactMatch,DWORD dwMerit,WINBOOL bInputNeeded,DWORD cInputTypes,const GUID *pInputTypes,const REGPINMEDIUM *pMedIn,const CLSID *pPinCategoryIn,WINBOOL bRender,WINBOOL bOutputNeeded,DWORD cOutputTypes,const GUID *pOutputTypes,const REGPINMEDIUM *pMedOut,const CLSID *pPinCategoryOut) {
4786 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut);
4787}
4788#endif
4789#endif
4790
4791#endif
4792
4793
4794#endif /* __IFilterMapper2_INTERFACE_DEFINED__ */
4795
4796/*****************************************************************************
4797 * IFilterMapper3 interface
4798 */
4799#ifndef __IFilterMapper3_INTERFACE_DEFINED__
4800#define __IFilterMapper3_INTERFACE_DEFINED__
4801
4802DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
4803#if defined(__cplusplus) && !defined(CINTERFACE)
4804MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
4805IFilterMapper3 : public IFilterMapper2
4806{
4807 virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum(
4808 ICreateDevEnum **ppEnum) = 0;
4809
4810};
4811#ifdef __CRT_UUID_DECL
4812__CRT_UUID_DECL(IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
4813#endif
4814#else
4815typedef struct IFilterMapper3Vtbl {
4816 BEGIN_INTERFACE
4817
4818 /*** IUnknown methods ***/
4819 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4820 IFilterMapper3 *This,
4821 REFIID riid,
4822 void **ppvObject);
4823
4824 ULONG (STDMETHODCALLTYPE *AddRef)(
4825 IFilterMapper3 *This);
4826
4827 ULONG (STDMETHODCALLTYPE *Release)(
4828 IFilterMapper3 *This);
4829
4830 /*** IFilterMapper2 methods ***/
4831 HRESULT (STDMETHODCALLTYPE *CreateCategory)(
4832 IFilterMapper3 *This,
4833 REFCLSID clsidCategory,
4834 DWORD dwCategoryMerit,
4835 LPCWSTR Description);
4836
4837 HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
4838 IFilterMapper3 *This,
4839 const CLSID *pclsidCategory,
4840 LPCOLESTR szInstance,
4841 REFCLSID Filter);
4842
4843 HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
4844 IFilterMapper3 *This,
4845 REFCLSID clsidFilter,
4846 LPCWSTR Name,
4847 IMoniker **ppMoniker,
4848 const CLSID *pclsidCategory,
4849 LPCOLESTR szInstance,
4850 const REGFILTER2 *prf2);
4851
4852 HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
4853 IFilterMapper3 *This,
4854 IEnumMoniker **ppEnum,
4855 DWORD dwFlags,
4856 WINBOOL bExactMatch,
4857 DWORD dwMerit,
4858 WINBOOL bInputNeeded,
4859 DWORD cInputTypes,
4860 const GUID *pInputTypes,
4861 const REGPINMEDIUM *pMedIn,
4862 const CLSID *pPinCategoryIn,
4863 WINBOOL bRender,
4864 WINBOOL bOutputNeeded,
4865 DWORD cOutputTypes,
4866 const GUID *pOutputTypes,
4867 const REGPINMEDIUM *pMedOut,
4868 const CLSID *pPinCategoryOut);
4869
4870 /*** IFilterMapper3 methods ***/
4871 HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)(
4872 IFilterMapper3 *This,
4873 ICreateDevEnum **ppEnum);
4874
4875 END_INTERFACE
4876} IFilterMapper3Vtbl;
4877
4878interface IFilterMapper3 {
4879 CONST_VTBL IFilterMapper3Vtbl* lpVtbl;
4880};
4881
4882#ifdef COBJMACROS
4883#ifndef WIDL_C_INLINE_WRAPPERS
4884/*** IUnknown methods ***/
4885#define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4886#define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This)
4887#define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This)
4888/*** IFilterMapper2 methods ***/
4889#define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
4890#define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
4891#define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
4892#define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut) (This)->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
4893/*** IFilterMapper3 methods ***/
4894#define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum)
4895#else
4896/*** IUnknown methods ***/
4897static inline HRESULT IFilterMapper3_QueryInterface(IFilterMapper3* This,REFIID riid,void **ppvObject) {
4898 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4899}
4900static inline ULONG IFilterMapper3_AddRef(IFilterMapper3* This) {
4901 return This->lpVtbl->AddRef(This);
4902}
4903static inline ULONG IFilterMapper3_Release(IFilterMapper3* This) {
4904 return This->lpVtbl->Release(This);
4905}
4906/*** IFilterMapper2 methods ***/
4907static inline HRESULT IFilterMapper3_CreateCategory(IFilterMapper3* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) {
4908 return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description);
4909}
4910static inline HRESULT IFilterMapper3_UnregisterFilter(IFilterMapper3* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) {
4911 return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter);
4912}
4913static inline HRESULT IFilterMapper3_RegisterFilter(IFilterMapper3* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) {
4914 return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2);
4915}
4916static inline HRESULT IFilterMapper3_EnumMatchingFilters(IFilterMapper3* This,IEnumMoniker **ppEnum,DWORD dwFlags,WINBOOL bExactMatch,DWORD dwMerit,WINBOOL bInputNeeded,DWORD cInputTypes,const GUID *pInputTypes,const REGPINMEDIUM *pMedIn,const CLSID *pPinCategoryIn,WINBOOL bRender,WINBOOL bOutputNeeded,DWORD cOutputTypes,const GUID *pOutputTypes,const REGPINMEDIUM *pMedOut,const CLSID *pPinCategoryOut) {
4917 return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut);
4918}
4919/*** IFilterMapper3 methods ***/
4920static inline HRESULT IFilterMapper3_GetICreateDevEnum(IFilterMapper3* This,ICreateDevEnum **ppEnum) {
4921 return This->lpVtbl->GetICreateDevEnum(This,ppEnum);
4922}
4923#endif
4924#endif
4925
4926#endif
4927
4928
4929#endif /* __IFilterMapper3_INTERFACE_DEFINED__ */
4930
4931typedef enum tagQualityMessageType {
4932 Famine = 0,
4933 Flood = 1
4934} QualityMessageType;
4935typedef struct tagQuality {
4936 QualityMessageType Type;
4937 LONG Proportion;
4938 REFERENCE_TIME Late;
4939 REFERENCE_TIME TimeStamp;
4940} Quality;
4941typedef IQualityControl *PQUALITYCONTROL;
4942/*****************************************************************************
4943 * IQualityControl interface
4944 */
4945#ifndef __IQualityControl_INTERFACE_DEFINED__
4946#define __IQualityControl_INTERFACE_DEFINED__
4947
4948DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
4949#if defined(__cplusplus) && !defined(CINTERFACE)
4950MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
4951IQualityControl : public IUnknown
4952{
4953 virtual HRESULT STDMETHODCALLTYPE Notify(
4954 IBaseFilter *pSelf,
4955 Quality q) = 0;
4956
4957 virtual HRESULT STDMETHODCALLTYPE SetSink(
4958 IQualityControl *piqc) = 0;
4959
4960};
4961#ifdef __CRT_UUID_DECL
4962__CRT_UUID_DECL(IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
4963#endif
4964#else
4965typedef struct IQualityControlVtbl {
4966 BEGIN_INTERFACE
4967
4968 /*** IUnknown methods ***/
4969 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4970 IQualityControl *This,
4971 REFIID riid,
4972 void **ppvObject);
4973
4974 ULONG (STDMETHODCALLTYPE *AddRef)(
4975 IQualityControl *This);
4976
4977 ULONG (STDMETHODCALLTYPE *Release)(
4978 IQualityControl *This);
4979
4980 /*** IQualityControl methods ***/
4981 HRESULT (STDMETHODCALLTYPE *Notify)(
4982 IQualityControl *This,
4983 IBaseFilter *pSelf,
4984 Quality q);
4985
4986 HRESULT (STDMETHODCALLTYPE *SetSink)(
4987 IQualityControl *This,
4988 IQualityControl *piqc);
4989
4990 END_INTERFACE
4991} IQualityControlVtbl;
4992
4993interface IQualityControl {
4994 CONST_VTBL IQualityControlVtbl* lpVtbl;
4995};
4996
4997#ifdef COBJMACROS
4998#ifndef WIDL_C_INLINE_WRAPPERS
4999/*** IUnknown methods ***/
5000#define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5001#define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
5002#define IQualityControl_Release(This) (This)->lpVtbl->Release(This)
5003/*** IQualityControl methods ***/
5004#define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q)
5005#define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc)
5006#else
5007/*** IUnknown methods ***/
5008static inline HRESULT IQualityControl_QueryInterface(IQualityControl* This,REFIID riid,void **ppvObject) {
5009 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5010}
5011static inline ULONG IQualityControl_AddRef(IQualityControl* This) {
5012 return This->lpVtbl->AddRef(This);
5013}
5014static inline ULONG IQualityControl_Release(IQualityControl* This) {
5015 return This->lpVtbl->Release(This);
5016}
5017/*** IQualityControl methods ***/
5018static inline HRESULT IQualityControl_Notify(IQualityControl* This,IBaseFilter *pSelf,Quality q) {
5019 return This->lpVtbl->Notify(This,pSelf,q);
5020}
5021static inline HRESULT IQualityControl_SetSink(IQualityControl* This,IQualityControl *piqc) {
5022 return This->lpVtbl->SetSink(This,piqc);
5023}
5024#endif
5025#endif
5026
5027#endif
5028
5029
5030#endif /* __IQualityControl_INTERFACE_DEFINED__ */
5031
5032enum {
5033 CK_NOCOLORKEY = 0x0,
5034 CK_INDEX = 0x1,
5035 CK_RGB = 0x2
5036};
5037typedef struct tagCOLORKEY {
5038 DWORD KeyType;
5039 DWORD PaletteIndex;
5040 COLORREF LowColorValue;
5041 COLORREF HighColorValue;
5042} COLORKEY;
5043enum {
5044 ADVISE_NONE = 0x0,
5045 ADVISE_CLIPPING = 0x1,
5046 ADVISE_PALETTE = 0x2,
5047 ADVISE_COLORKEY = 0x4,
5048 ADVISE_POSITION = 0x8,
5049 ADVISE_DISPLAY_CHANGE = 0x10
5050};
5051#define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION)
5052
5053#define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE)
5054
5055#ifndef _WINGDI_
5056typedef struct _RGNDATAHEADER {
5057 DWORD dwSize;
5058 DWORD iType;
5059 DWORD nCount;
5060 DWORD nRgnSize;
5061 RECT rcBound;
5062} RGNDATAHEADER;
5063typedef struct _RGNDATA {
5064 RGNDATAHEADER rdh;
5065 char Buffer[1];
5066} RGNDATA;
5067#endif /* _WINGDI_ */
5068/*****************************************************************************
5069 * IOverlayNotify interface
5070 */
5071#ifndef __IOverlayNotify_INTERFACE_DEFINED__
5072#define __IOverlayNotify_INTERFACE_DEFINED__
5073
5074DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
5075#if defined(__cplusplus) && !defined(CINTERFACE)
5076MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
5077IOverlayNotify : public IUnknown
5078{
5079 virtual HRESULT STDMETHODCALLTYPE OnPaletteChange(
5080 DWORD dwColors,
5081 const PALETTEENTRY *pPalette) = 0;
5082
5083 virtual HRESULT STDMETHODCALLTYPE OnClipChange(
5084 const RECT *pSourceRect,
5085 const RECT *pDestinationRect,
5086 const RGNDATA *pRgnData) = 0;
5087
5088 virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange(
5089 const COLORKEY *pColorKey) = 0;
5090
5091 virtual HRESULT STDMETHODCALLTYPE OnPositionChange(
5092 const RECT *pSourceRect,
5093 const RECT *pDestinationRect) = 0;
5094
5095};
5096#ifdef __CRT_UUID_DECL
5097__CRT_UUID_DECL(IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
5098#endif
5099#else
5100typedef struct IOverlayNotifyVtbl {
5101 BEGIN_INTERFACE
5102
5103 /*** IUnknown methods ***/
5104 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5105 IOverlayNotify *This,
5106 REFIID riid,
5107 void **ppvObject);
5108
5109 ULONG (STDMETHODCALLTYPE *AddRef)(
5110 IOverlayNotify *This);
5111
5112 ULONG (STDMETHODCALLTYPE *Release)(
5113 IOverlayNotify *This);
5114
5115 /*** IOverlayNotify methods ***/
5116 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)(
5117 IOverlayNotify *This,
5118 DWORD dwColors,
5119 const PALETTEENTRY *pPalette);
5120
5121 HRESULT (STDMETHODCALLTYPE *OnClipChange)(
5122 IOverlayNotify *This,
5123 const RECT *pSourceRect,
5124 const RECT *pDestinationRect,
5125 const RGNDATA *pRgnData);
5126
5127 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)(
5128 IOverlayNotify *This,
5129 const COLORKEY *pColorKey);
5130
5131 HRESULT (STDMETHODCALLTYPE *OnPositionChange)(
5132 IOverlayNotify *This,
5133 const RECT *pSourceRect,
5134 const RECT *pDestinationRect);
5135
5136 END_INTERFACE
5137} IOverlayNotifyVtbl;
5138
5139interface IOverlayNotify {
5140 CONST_VTBL IOverlayNotifyVtbl* lpVtbl;
5141};
5142
5143#ifdef COBJMACROS
5144#ifndef WIDL_C_INLINE_WRAPPERS
5145/*** IUnknown methods ***/
5146#define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5147#define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
5148#define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This)
5149/*** IOverlayNotify methods ***/
5150#define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
5151#define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
5152#define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
5153#define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
5154#else
5155/*** IUnknown methods ***/
5156static inline HRESULT IOverlayNotify_QueryInterface(IOverlayNotify* This,REFIID riid,void **ppvObject) {
5157 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5158}
5159static inline ULONG IOverlayNotify_AddRef(IOverlayNotify* This) {
5160 return This->lpVtbl->AddRef(This);
5161}
5162static inline ULONG IOverlayNotify_Release(IOverlayNotify* This) {
5163 return This->lpVtbl->Release(This);
5164}
5165/*** IOverlayNotify methods ***/
5166static inline HRESULT IOverlayNotify_OnPaletteChange(IOverlayNotify* This,DWORD dwColors,const PALETTEENTRY *pPalette) {
5167 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette);
5168}
5169static inline HRESULT IOverlayNotify_OnClipChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) {
5170 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData);
5171}
5172static inline HRESULT IOverlayNotify_OnColorKeyChange(IOverlayNotify* This,const COLORKEY *pColorKey) {
5173 return This->lpVtbl->OnColorKeyChange(This,pColorKey);
5174}
5175static inline HRESULT IOverlayNotify_OnPositionChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect) {
5176 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect);
5177}
5178#endif
5179#endif
5180
5181#endif
5182
5183
5184#endif /* __IOverlayNotify_INTERFACE_DEFINED__ */
5185
5186typedef IOverlayNotify *POVERLAYNOTIFY;
5187#if 0
5188typedef HANDLE HMONITOR;
5189#endif /* 0 */
5190/*****************************************************************************
5191 * IOverlayNotify2 interface
5192 */
5193#ifndef __IOverlayNotify2_INTERFACE_DEFINED__
5194#define __IOverlayNotify2_INTERFACE_DEFINED__
5195
5196DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96);
5197#if defined(__cplusplus) && !defined(CINTERFACE)
5198MIDL_INTERFACE("680efa10-d535-11d1-87c8-00a0c9223196")
5199IOverlayNotify2 : public IOverlayNotify
5200{
5201 virtual HRESULT STDMETHODCALLTYPE OnDisplayChange(
5202 HMONITOR hMonitor) = 0;
5203
5204};
5205#ifdef __CRT_UUID_DECL
5206__CRT_UUID_DECL(IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96)
5207#endif
5208#else
5209typedef struct IOverlayNotify2Vtbl {
5210 BEGIN_INTERFACE
5211
5212 /*** IUnknown methods ***/
5213 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5214 IOverlayNotify2 *This,
5215 REFIID riid,
5216 void **ppvObject);
5217
5218 ULONG (STDMETHODCALLTYPE *AddRef)(
5219 IOverlayNotify2 *This);
5220
5221 ULONG (STDMETHODCALLTYPE *Release)(
5222 IOverlayNotify2 *This);
5223
5224 /*** IOverlayNotify methods ***/
5225 HRESULT (STDMETHODCALLTYPE *OnPaletteChange)(
5226 IOverlayNotify2 *This,
5227 DWORD dwColors,
5228 const PALETTEENTRY *pPalette);
5229
5230 HRESULT (STDMETHODCALLTYPE *OnClipChange)(
5231 IOverlayNotify2 *This,
5232 const RECT *pSourceRect,
5233 const RECT *pDestinationRect,
5234 const RGNDATA *pRgnData);
5235
5236 HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)(
5237 IOverlayNotify2 *This,
5238 const COLORKEY *pColorKey);
5239
5240 HRESULT (STDMETHODCALLTYPE *OnPositionChange)(
5241 IOverlayNotify2 *This,
5242 const RECT *pSourceRect,
5243 const RECT *pDestinationRect);
5244
5245 /*** IOverlayNotify2 methods ***/
5246 HRESULT (STDMETHODCALLTYPE *OnDisplayChange)(
5247 IOverlayNotify2 *This,
5248 HMONITOR hMonitor);
5249
5250 END_INTERFACE
5251} IOverlayNotify2Vtbl;
5252
5253interface IOverlayNotify2 {
5254 CONST_VTBL IOverlayNotify2Vtbl* lpVtbl;
5255};
5256
5257#ifdef COBJMACROS
5258#ifndef WIDL_C_INLINE_WRAPPERS
5259/*** IUnknown methods ***/
5260#define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5261#define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This)
5262#define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This)
5263/*** IOverlayNotify methods ***/
5264#define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
5265#define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
5266#define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
5267#define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
5268/*** IOverlayNotify2 methods ***/
5269#define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor)
5270#else
5271/*** IUnknown methods ***/
5272static inline HRESULT IOverlayNotify2_QueryInterface(IOverlayNotify2* This,REFIID riid,void **ppvObject) {
5273 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5274}
5275static inline ULONG IOverlayNotify2_AddRef(IOverlayNotify2* This) {
5276 return This->lpVtbl->AddRef(This);
5277}
5278static inline ULONG IOverlayNotify2_Release(IOverlayNotify2* This) {
5279 return This->lpVtbl->Release(This);
5280}
5281/*** IOverlayNotify methods ***/
5282static inline HRESULT IOverlayNotify2_OnPaletteChange(IOverlayNotify2* This,DWORD dwColors,const PALETTEENTRY *pPalette) {
5283 return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette);
5284}
5285static inline HRESULT IOverlayNotify2_OnClipChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) {
5286 return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData);
5287}
5288static inline HRESULT IOverlayNotify2_OnColorKeyChange(IOverlayNotify2* This,const COLORKEY *pColorKey) {
5289 return This->lpVtbl->OnColorKeyChange(This,pColorKey);
5290}
5291static inline HRESULT IOverlayNotify2_OnPositionChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect) {
5292 return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect);
5293}
5294/*** IOverlayNotify2 methods ***/
5295static inline HRESULT IOverlayNotify2_OnDisplayChange(IOverlayNotify2* This,HMONITOR hMonitor) {
5296 return This->lpVtbl->OnDisplayChange(This,hMonitor);
5297}
5298#endif
5299#endif
5300
5301#endif
5302
5303
5304#endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */
5305
5306typedef IOverlayNotify2 *POVERLAYNOTIFY2;
5307/*****************************************************************************
5308 * IOverlay interface
5309 */
5310#ifndef __IOverlay_INTERFACE_DEFINED__
5311#define __IOverlay_INTERFACE_DEFINED__
5312
5313DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
5314#if defined(__cplusplus) && !defined(CINTERFACE)
5315MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
5316IOverlay : public IUnknown
5317{
5318 virtual HRESULT STDMETHODCALLTYPE GetPalette(
5319 DWORD *pdwColors,
5320 PALETTEENTRY **ppPalette) = 0;
5321
5322 virtual HRESULT STDMETHODCALLTYPE SetPalette(
5323 DWORD dwColors,
5324 PALETTEENTRY *pPalette) = 0;
5325
5326 virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey(
5327 COLORKEY *pColorKey) = 0;
5328
5329 virtual HRESULT STDMETHODCALLTYPE GetColorKey(
5330 COLORKEY *pColorKey) = 0;
5331
5332 virtual HRESULT STDMETHODCALLTYPE SetColorKey(
5333 COLORKEY *pColorKey) = 0;
5334
5335 virtual HRESULT STDMETHODCALLTYPE GetWindowHandle(
5336 HWND *pHwnd) = 0;
5337
5338 virtual HRESULT STDMETHODCALLTYPE GetClipList(
5339 RECT *pSourceRect,
5340 RECT *pDestinationRect,
5341 RGNDATA **ppRgnData) = 0;
5342
5343 virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
5344 RECT *pSourceRect,
5345 RECT *pDestinationRect) = 0;
5346
5347 virtual HRESULT STDMETHODCALLTYPE Advise(
5348 IOverlayNotify *pOverlayNotify,
5349 DWORD dwInterests) = 0;
5350
5351 virtual HRESULT STDMETHODCALLTYPE Unadvise(
5352 ) = 0;
5353
5354};
5355#ifdef __CRT_UUID_DECL
5356__CRT_UUID_DECL(IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
5357#endif
5358#else
5359typedef struct IOverlayVtbl {
5360 BEGIN_INTERFACE
5361
5362 /*** IUnknown methods ***/
5363 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5364 IOverlay *This,
5365 REFIID riid,
5366 void **ppvObject);
5367
5368 ULONG (STDMETHODCALLTYPE *AddRef)(
5369 IOverlay *This);
5370
5371 ULONG (STDMETHODCALLTYPE *Release)(
5372 IOverlay *This);
5373
5374 /*** IOverlay methods ***/
5375 HRESULT (STDMETHODCALLTYPE *GetPalette)(
5376 IOverlay *This,
5377 DWORD *pdwColors,
5378 PALETTEENTRY **ppPalette);
5379
5380 HRESULT (STDMETHODCALLTYPE *SetPalette)(
5381 IOverlay *This,
5382 DWORD dwColors,
5383 PALETTEENTRY *pPalette);
5384
5385 HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)(
5386 IOverlay *This,
5387 COLORKEY *pColorKey);
5388
5389 HRESULT (STDMETHODCALLTYPE *GetColorKey)(
5390 IOverlay *This,
5391 COLORKEY *pColorKey);
5392
5393 HRESULT (STDMETHODCALLTYPE *SetColorKey)(
5394 IOverlay *This,
5395 COLORKEY *pColorKey);
5396
5397 HRESULT (STDMETHODCALLTYPE *GetWindowHandle)(
5398 IOverlay *This,
5399 HWND *pHwnd);
5400
5401 HRESULT (STDMETHODCALLTYPE *GetClipList)(
5402 IOverlay *This,
5403 RECT *pSourceRect,
5404 RECT *pDestinationRect,
5405 RGNDATA **ppRgnData);
5406
5407 HRESULT (STDMETHODCALLTYPE *GetVideoPosition)(
5408 IOverlay *This,
5409 RECT *pSourceRect,
5410 RECT *pDestinationRect);
5411
5412 HRESULT (STDMETHODCALLTYPE *Advise)(
5413 IOverlay *This,
5414 IOverlayNotify *pOverlayNotify,
5415 DWORD dwInterests);
5416
5417 HRESULT (STDMETHODCALLTYPE *Unadvise)(
5418 IOverlay *This);
5419
5420 END_INTERFACE
5421} IOverlayVtbl;
5422
5423interface IOverlay {
5424 CONST_VTBL IOverlayVtbl* lpVtbl;
5425};
5426
5427#ifdef COBJMACROS
5428#ifndef WIDL_C_INLINE_WRAPPERS
5429/*** IUnknown methods ***/
5430#define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5431#define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This)
5432#define IOverlay_Release(This) (This)->lpVtbl->Release(This)
5433/*** IOverlay methods ***/
5434#define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette)
5435#define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette)
5436#define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey)
5437#define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey)
5438#define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey)
5439#define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd)
5440#define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
5441#define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect)
5442#define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests)
5443#define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This)
5444#else
5445/*** IUnknown methods ***/
5446static inline HRESULT IOverlay_QueryInterface(IOverlay* This,REFIID riid,void **ppvObject) {
5447 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5448}
5449static inline ULONG IOverlay_AddRef(IOverlay* This) {
5450 return This->lpVtbl->AddRef(This);
5451}
5452static inline ULONG IOverlay_Release(IOverlay* This) {
5453 return This->lpVtbl->Release(This);
5454}
5455/*** IOverlay methods ***/
5456static inline HRESULT IOverlay_GetPalette(IOverlay* This,DWORD *pdwColors,PALETTEENTRY **ppPalette) {
5457 return This->lpVtbl->GetPalette(This,pdwColors,ppPalette);
5458}
5459static inline HRESULT IOverlay_SetPalette(IOverlay* This,DWORD dwColors,PALETTEENTRY *pPalette) {
5460 return This->lpVtbl->SetPalette(This,dwColors,pPalette);
5461}
5462static inline HRESULT IOverlay_GetDefaultColorKey(IOverlay* This,COLORKEY *pColorKey) {
5463 return This->lpVtbl->GetDefaultColorKey(This,pColorKey);
5464}
5465static inline HRESULT IOverlay_GetColorKey(IOverlay* This,COLORKEY *pColorKey) {
5466 return This->lpVtbl->GetColorKey(This,pColorKey);
5467}
5468static inline HRESULT IOverlay_SetColorKey(IOverlay* This,COLORKEY *pColorKey) {
5469 return This->lpVtbl->SetColorKey(This,pColorKey);
5470}
5471static inline HRESULT IOverlay_GetWindowHandle(IOverlay* This,HWND *pHwnd) {
5472 return This->lpVtbl->GetWindowHandle(This,pHwnd);
5473}
5474static inline HRESULT IOverlay_GetClipList(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) {
5475 return This->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData);
5476}
5477static inline HRESULT IOverlay_GetVideoPosition(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect) {
5478 return This->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect);
5479}
5480static inline HRESULT IOverlay_Advise(IOverlay* This,IOverlayNotify *pOverlayNotify,DWORD dwInterests) {
5481 return This->lpVtbl->Advise(This,pOverlayNotify,dwInterests);
5482}
5483static inline HRESULT IOverlay_Unadvise(IOverlay* This) {
5484 return This->lpVtbl->Unadvise(This);
5485}
5486#endif
5487#endif
5488
5489#endif
5490
5491
5492#endif /* __IOverlay_INTERFACE_DEFINED__ */
5493
5494typedef IOverlay *POVERLAY;
5495/*****************************************************************************
5496 * IMediaEventSink interface
5497 */
5498#ifndef __IMediaEventSink_INTERFACE_DEFINED__
5499#define __IMediaEventSink_INTERFACE_DEFINED__
5500
5501DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
5502#if defined(__cplusplus) && !defined(CINTERFACE)
5503MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
5504IMediaEventSink : public IUnknown
5505{
5506 virtual HRESULT STDMETHODCALLTYPE Notify(
5507 LONG EventCode,
5508 LONG_PTR EventParam1,
5509 LONG_PTR EventParam2) = 0;
5510
5511};
5512#ifdef __CRT_UUID_DECL
5513__CRT_UUID_DECL(IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
5514#endif
5515#else
5516typedef struct IMediaEventSinkVtbl {
5517 BEGIN_INTERFACE
5518
5519 /*** IUnknown methods ***/
5520 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5521 IMediaEventSink *This,
5522 REFIID riid,
5523 void **ppvObject);
5524
5525 ULONG (STDMETHODCALLTYPE *AddRef)(
5526 IMediaEventSink *This);
5527
5528 ULONG (STDMETHODCALLTYPE *Release)(
5529 IMediaEventSink *This);
5530
5531 /*** IMediaEventSink methods ***/
5532 HRESULT (STDMETHODCALLTYPE *Notify)(
5533 IMediaEventSink *This,
5534 LONG EventCode,
5535 LONG_PTR EventParam1,
5536 LONG_PTR EventParam2);
5537
5538 END_INTERFACE
5539} IMediaEventSinkVtbl;
5540
5541interface IMediaEventSink {
5542 CONST_VTBL IMediaEventSinkVtbl* lpVtbl;
5543};
5544
5545#ifdef COBJMACROS
5546#ifndef WIDL_C_INLINE_WRAPPERS
5547/*** IUnknown methods ***/
5548#define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5549#define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
5550#define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This)
5551/*** IMediaEventSink methods ***/
5552#define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2)
5553#else
5554/*** IUnknown methods ***/
5555static inline HRESULT IMediaEventSink_QueryInterface(IMediaEventSink* This,REFIID riid,void **ppvObject) {
5556 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5557}
5558static inline ULONG IMediaEventSink_AddRef(IMediaEventSink* This) {
5559 return This->lpVtbl->AddRef(This);
5560}
5561static inline ULONG IMediaEventSink_Release(IMediaEventSink* This) {
5562 return This->lpVtbl->Release(This);
5563}
5564/*** IMediaEventSink methods ***/
5565static inline HRESULT IMediaEventSink_Notify(IMediaEventSink* This,LONG EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) {
5566 return This->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2);
5567}
5568#endif
5569#endif
5570
5571#endif
5572
5573
5574#endif /* __IMediaEventSink_INTERFACE_DEFINED__ */
5575
5576typedef IMediaEventSink *PMEDIAEVENTSINK;
5577/*****************************************************************************
5578 * IFileSourceFilter interface
5579 */
5580#ifndef __IFileSourceFilter_INTERFACE_DEFINED__
5581#define __IFileSourceFilter_INTERFACE_DEFINED__
5582
5583DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
5584#if defined(__cplusplus) && !defined(CINTERFACE)
5585MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
5586IFileSourceFilter : public IUnknown
5587{
5588 virtual HRESULT STDMETHODCALLTYPE Load(
5589 LPCOLESTR pszFileName,
5590 const AM_MEDIA_TYPE *pmt) = 0;
5591
5592 virtual HRESULT STDMETHODCALLTYPE GetCurFile(
5593 LPOLESTR *ppszFileName,
5594 AM_MEDIA_TYPE *pmt) = 0;
5595
5596};
5597#ifdef __CRT_UUID_DECL
5598__CRT_UUID_DECL(IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
5599#endif
5600#else
5601typedef struct IFileSourceFilterVtbl {
5602 BEGIN_INTERFACE
5603
5604 /*** IUnknown methods ***/
5605 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5606 IFileSourceFilter *This,
5607 REFIID riid,
5608 void **ppvObject);
5609
5610 ULONG (STDMETHODCALLTYPE *AddRef)(
5611 IFileSourceFilter *This);
5612
5613 ULONG (STDMETHODCALLTYPE *Release)(
5614 IFileSourceFilter *This);
5615
5616 /*** IFileSourceFilter methods ***/
5617 HRESULT (STDMETHODCALLTYPE *Load)(
5618 IFileSourceFilter *This,
5619 LPCOLESTR pszFileName,
5620 const AM_MEDIA_TYPE *pmt);
5621
5622 HRESULT (STDMETHODCALLTYPE *GetCurFile)(
5623 IFileSourceFilter *This,
5624 LPOLESTR *ppszFileName,
5625 AM_MEDIA_TYPE *pmt);
5626
5627 END_INTERFACE
5628} IFileSourceFilterVtbl;
5629
5630interface IFileSourceFilter {
5631 CONST_VTBL IFileSourceFilterVtbl* lpVtbl;
5632};
5633
5634#ifdef COBJMACROS
5635#ifndef WIDL_C_INLINE_WRAPPERS
5636/*** IUnknown methods ***/
5637#define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5638#define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
5639#define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This)
5640/*** IFileSourceFilter methods ***/
5641#define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt)
5642#define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
5643#else
5644/*** IUnknown methods ***/
5645static inline HRESULT IFileSourceFilter_QueryInterface(IFileSourceFilter* This,REFIID riid,void **ppvObject) {
5646 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5647}
5648static inline ULONG IFileSourceFilter_AddRef(IFileSourceFilter* This) {
5649 return This->lpVtbl->AddRef(This);
5650}
5651static inline ULONG IFileSourceFilter_Release(IFileSourceFilter* This) {
5652 return This->lpVtbl->Release(This);
5653}
5654/*** IFileSourceFilter methods ***/
5655static inline HRESULT IFileSourceFilter_Load(IFileSourceFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
5656 return This->lpVtbl->Load(This,pszFileName,pmt);
5657}
5658static inline HRESULT IFileSourceFilter_GetCurFile(IFileSourceFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
5659 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
5660}
5661#endif
5662#endif
5663
5664#endif
5665
5666
5667#endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */
5668
5669typedef IFileSourceFilter *PFILTERFILESOURCE;
5670/*****************************************************************************
5671 * IFileSinkFilter interface
5672 */
5673#ifndef __IFileSinkFilter_INTERFACE_DEFINED__
5674#define __IFileSinkFilter_INTERFACE_DEFINED__
5675
5676DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6);
5677#if defined(__cplusplus) && !defined(CINTERFACE)
5678MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
5679IFileSinkFilter : public IUnknown
5680{
5681 virtual HRESULT STDMETHODCALLTYPE SetFileName(
5682 LPCOLESTR pszFileName,
5683 const AM_MEDIA_TYPE *pmt) = 0;
5684
5685 virtual HRESULT STDMETHODCALLTYPE GetCurFile(
5686 LPOLESTR *ppszFileName,
5687 AM_MEDIA_TYPE *pmt) = 0;
5688
5689};
5690#ifdef __CRT_UUID_DECL
5691__CRT_UUID_DECL(IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6)
5692#endif
5693#else
5694typedef struct IFileSinkFilterVtbl {
5695 BEGIN_INTERFACE
5696
5697 /*** IUnknown methods ***/
5698 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5699 IFileSinkFilter *This,
5700 REFIID riid,
5701 void **ppvObject);
5702
5703 ULONG (STDMETHODCALLTYPE *AddRef)(
5704 IFileSinkFilter *This);
5705
5706 ULONG (STDMETHODCALLTYPE *Release)(
5707 IFileSinkFilter *This);
5708
5709 /*** IFileSinkFilter methods ***/
5710 HRESULT (STDMETHODCALLTYPE *SetFileName)(
5711 IFileSinkFilter *This,
5712 LPCOLESTR pszFileName,
5713 const AM_MEDIA_TYPE *pmt);
5714
5715 HRESULT (STDMETHODCALLTYPE *GetCurFile)(
5716 IFileSinkFilter *This,
5717 LPOLESTR *ppszFileName,
5718 AM_MEDIA_TYPE *pmt);
5719
5720 END_INTERFACE
5721} IFileSinkFilterVtbl;
5722
5723interface IFileSinkFilter {
5724 CONST_VTBL IFileSinkFilterVtbl* lpVtbl;
5725};
5726
5727#ifdef COBJMACROS
5728#ifndef WIDL_C_INLINE_WRAPPERS
5729/*** IUnknown methods ***/
5730#define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5731#define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
5732#define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This)
5733/*** IFileSinkFilter methods ***/
5734#define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
5735#define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
5736#else
5737/*** IUnknown methods ***/
5738static inline HRESULT IFileSinkFilter_QueryInterface(IFileSinkFilter* This,REFIID riid,void **ppvObject) {
5739 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5740}
5741static inline ULONG IFileSinkFilter_AddRef(IFileSinkFilter* This) {
5742 return This->lpVtbl->AddRef(This);
5743}
5744static inline ULONG IFileSinkFilter_Release(IFileSinkFilter* This) {
5745 return This->lpVtbl->Release(This);
5746}
5747/*** IFileSinkFilter methods ***/
5748static inline HRESULT IFileSinkFilter_SetFileName(IFileSinkFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
5749 return This->lpVtbl->SetFileName(This,pszFileName,pmt);
5750}
5751static inline HRESULT IFileSinkFilter_GetCurFile(IFileSinkFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
5752 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
5753}
5754#endif
5755#endif
5756
5757#endif
5758
5759
5760#endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */
5761
5762typedef IFileSinkFilter *PFILTERFILESINK;
5763/*****************************************************************************
5764 * IFileSinkFilter2 interface
5765 */
5766#ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
5767#define __IFileSinkFilter2_INTERFACE_DEFINED__
5768
5769DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86);
5770#if defined(__cplusplus) && !defined(CINTERFACE)
5771MIDL_INTERFACE("00855b90-ce1b-11d0-bd4f-00a0c911ce86")
5772IFileSinkFilter2 : public IFileSinkFilter
5773{
5774 virtual HRESULT STDMETHODCALLTYPE SetMode(
5775 DWORD dwFlags) = 0;
5776
5777 virtual HRESULT STDMETHODCALLTYPE GetMode(
5778 DWORD *pdwFlags) = 0;
5779
5780};
5781#ifdef __CRT_UUID_DECL
5782__CRT_UUID_DECL(IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86)
5783#endif
5784#else
5785typedef struct IFileSinkFilter2Vtbl {
5786 BEGIN_INTERFACE
5787
5788 /*** IUnknown methods ***/
5789 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5790 IFileSinkFilter2 *This,
5791 REFIID riid,
5792 void **ppvObject);
5793
5794 ULONG (STDMETHODCALLTYPE *AddRef)(
5795 IFileSinkFilter2 *This);
5796
5797 ULONG (STDMETHODCALLTYPE *Release)(
5798 IFileSinkFilter2 *This);
5799
5800 /*** IFileSinkFilter methods ***/
5801 HRESULT (STDMETHODCALLTYPE *SetFileName)(
5802 IFileSinkFilter2 *This,
5803 LPCOLESTR pszFileName,
5804 const AM_MEDIA_TYPE *pmt);
5805
5806 HRESULT (STDMETHODCALLTYPE *GetCurFile)(
5807 IFileSinkFilter2 *This,
5808 LPOLESTR *ppszFileName,
5809 AM_MEDIA_TYPE *pmt);
5810
5811 /*** IFileSinkFilter2 methods ***/
5812 HRESULT (STDMETHODCALLTYPE *SetMode)(
5813 IFileSinkFilter2 *This,
5814 DWORD dwFlags);
5815
5816 HRESULT (STDMETHODCALLTYPE *GetMode)(
5817 IFileSinkFilter2 *This,
5818 DWORD *pdwFlags);
5819
5820 END_INTERFACE
5821} IFileSinkFilter2Vtbl;
5822
5823interface IFileSinkFilter2 {
5824 CONST_VTBL IFileSinkFilter2Vtbl* lpVtbl;
5825};
5826
5827#ifdef COBJMACROS
5828#ifndef WIDL_C_INLINE_WRAPPERS
5829/*** IUnknown methods ***/
5830#define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5831#define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This)
5832#define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This)
5833/*** IFileSinkFilter methods ***/
5834#define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
5835#define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
5836/*** IFileSinkFilter2 methods ***/
5837#define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags)
5838#define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags)
5839#else
5840/*** IUnknown methods ***/
5841static inline HRESULT IFileSinkFilter2_QueryInterface(IFileSinkFilter2* This,REFIID riid,void **ppvObject) {
5842 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5843}
5844static inline ULONG IFileSinkFilter2_AddRef(IFileSinkFilter2* This) {
5845 return This->lpVtbl->AddRef(This);
5846}
5847static inline ULONG IFileSinkFilter2_Release(IFileSinkFilter2* This) {
5848 return This->lpVtbl->Release(This);
5849}
5850/*** IFileSinkFilter methods ***/
5851static inline HRESULT IFileSinkFilter2_SetFileName(IFileSinkFilter2* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
5852 return This->lpVtbl->SetFileName(This,pszFileName,pmt);
5853}
5854static inline HRESULT IFileSinkFilter2_GetCurFile(IFileSinkFilter2* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
5855 return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
5856}
5857/*** IFileSinkFilter2 methods ***/
5858static inline HRESULT IFileSinkFilter2_SetMode(IFileSinkFilter2* This,DWORD dwFlags) {
5859 return This->lpVtbl->SetMode(This,dwFlags);
5860}
5861static inline HRESULT IFileSinkFilter2_GetMode(IFileSinkFilter2* This,DWORD *pdwFlags) {
5862 return This->lpVtbl->GetMode(This,pdwFlags);
5863}
5864#endif
5865#endif
5866
5867#endif
5868
5869
5870#endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
5871
5872typedef IFileSinkFilter2 *PFILESINKFILTER2;
5873typedef enum __WIDL_strmif_generated_name_00000015 {
5874 AM_FILE_OVERWRITE = 0x1
5875} AM_FILESINK_FLAGS;
5876/*****************************************************************************
5877 * IGraphBuilder interface
5878 */
5879#ifndef __IGraphBuilder_INTERFACE_DEFINED__
5880#define __IGraphBuilder_INTERFACE_DEFINED__
5881
5882DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
5883#if defined(__cplusplus) && !defined(CINTERFACE)
5884MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
5885IGraphBuilder : public IFilterGraph
5886{
5887 virtual HRESULT STDMETHODCALLTYPE Connect(
5888 IPin *ppinOut,
5889 IPin *ppinIn) = 0;
5890
5891 virtual HRESULT STDMETHODCALLTYPE Render(
5892 IPin *ppinOut) = 0;
5893
5894 virtual HRESULT STDMETHODCALLTYPE RenderFile(
5895 LPCWSTR lpcwstrFile,
5896 LPCWSTR lpcwstrPlayList) = 0;
5897
5898 virtual HRESULT STDMETHODCALLTYPE AddSourceFilter(
5899 LPCWSTR lpcwstrFileName,
5900 LPCWSTR lpcwstrFilterName,
5901 IBaseFilter **ppFilter) = 0;
5902
5903 virtual HRESULT STDMETHODCALLTYPE SetLogFile(
5904 DWORD_PTR hFile) = 0;
5905
5906 virtual HRESULT STDMETHODCALLTYPE Abort(
5907 ) = 0;
5908
5909 virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue(
5910 ) = 0;
5911
5912};
5913#ifdef __CRT_UUID_DECL
5914__CRT_UUID_DECL(IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
5915#endif
5916#else
5917typedef struct IGraphBuilderVtbl {
5918 BEGIN_INTERFACE
5919
5920 /*** IUnknown methods ***/
5921 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5922 IGraphBuilder *This,
5923 REFIID riid,
5924 void **ppvObject);
5925
5926 ULONG (STDMETHODCALLTYPE *AddRef)(
5927 IGraphBuilder *This);
5928
5929 ULONG (STDMETHODCALLTYPE *Release)(
5930 IGraphBuilder *This);
5931
5932 /*** IFilterGraph methods ***/
5933 HRESULT (STDMETHODCALLTYPE *AddFilter)(
5934 IGraphBuilder *This,
5935 IBaseFilter *pFilter,
5936 LPCWSTR pName);
5937
5938 HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
5939 IGraphBuilder *This,
5940 IBaseFilter *pFilter);
5941
5942 HRESULT (STDMETHODCALLTYPE *EnumFilters)(
5943 IGraphBuilder *This,
5944 IEnumFilters **ppEnum);
5945
5946 HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
5947 IGraphBuilder *This,
5948 LPCWSTR pName,
5949 IBaseFilter **ppFilter);
5950
5951 HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
5952 IGraphBuilder *This,
5953 IPin *ppinOut,
5954 IPin *ppinIn,
5955 const AM_MEDIA_TYPE *pmt);
5956
5957 HRESULT (STDMETHODCALLTYPE *Reconnect)(
5958 IGraphBuilder *This,
5959 IPin *ppin);
5960
5961 HRESULT (STDMETHODCALLTYPE *Disconnect)(
5962 IGraphBuilder *This,
5963 IPin *ppin);
5964
5965 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
5966 IGraphBuilder *This);
5967
5968 /*** IGraphBuilder methods ***/
5969 HRESULT (STDMETHODCALLTYPE *Connect)(
5970 IGraphBuilder *This,
5971 IPin *ppinOut,
5972 IPin *ppinIn);
5973
5974 HRESULT (STDMETHODCALLTYPE *Render)(
5975 IGraphBuilder *This,
5976 IPin *ppinOut);
5977
5978 HRESULT (STDMETHODCALLTYPE *RenderFile)(
5979 IGraphBuilder *This,
5980 LPCWSTR lpcwstrFile,
5981 LPCWSTR lpcwstrPlayList);
5982
5983 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)(
5984 IGraphBuilder *This,
5985 LPCWSTR lpcwstrFileName,
5986 LPCWSTR lpcwstrFilterName,
5987 IBaseFilter **ppFilter);
5988
5989 HRESULT (STDMETHODCALLTYPE *SetLogFile)(
5990 IGraphBuilder *This,
5991 DWORD_PTR hFile);
5992
5993 HRESULT (STDMETHODCALLTYPE *Abort)(
5994 IGraphBuilder *This);
5995
5996 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)(
5997 IGraphBuilder *This);
5998
5999 END_INTERFACE
6000} IGraphBuilderVtbl;
6001
6002interface IGraphBuilder {
6003 CONST_VTBL IGraphBuilderVtbl* lpVtbl;
6004};
6005
6006#ifdef COBJMACROS
6007#ifndef WIDL_C_INLINE_WRAPPERS
6008/*** IUnknown methods ***/
6009#define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6010#define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
6011#define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
6012/*** IFilterGraph methods ***/
6013#define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
6014#define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
6015#define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
6016#define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
6017#define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
6018#define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
6019#define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
6020#define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
6021/*** IGraphBuilder methods ***/
6022#define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
6023#define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
6024#define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
6025#define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
6026#define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
6027#define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This)
6028#define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
6029#else
6030/*** IUnknown methods ***/
6031static inline HRESULT IGraphBuilder_QueryInterface(IGraphBuilder* This,REFIID riid,void **ppvObject) {
6032 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6033}
6034static inline ULONG IGraphBuilder_AddRef(IGraphBuilder* This) {
6035 return This->lpVtbl->AddRef(This);
6036}
6037static inline ULONG IGraphBuilder_Release(IGraphBuilder* This) {
6038 return This->lpVtbl->Release(This);
6039}
6040/*** IFilterGraph methods ***/
6041static inline HRESULT IGraphBuilder_AddFilter(IGraphBuilder* This,IBaseFilter *pFilter,LPCWSTR pName) {
6042 return This->lpVtbl->AddFilter(This,pFilter,pName);
6043}
6044static inline HRESULT IGraphBuilder_RemoveFilter(IGraphBuilder* This,IBaseFilter *pFilter) {
6045 return This->lpVtbl->RemoveFilter(This,pFilter);
6046}
6047static inline HRESULT IGraphBuilder_EnumFilters(IGraphBuilder* This,IEnumFilters **ppEnum) {
6048 return This->lpVtbl->EnumFilters(This,ppEnum);
6049}
6050static inline HRESULT IGraphBuilder_FindFilterByName(IGraphBuilder* This,LPCWSTR pName,IBaseFilter **ppFilter) {
6051 return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
6052}
6053static inline HRESULT IGraphBuilder_ConnectDirect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
6054 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
6055}
6056static inline HRESULT IGraphBuilder_Reconnect(IGraphBuilder* This,IPin *ppin) {
6057 return This->lpVtbl->Reconnect(This,ppin);
6058}
6059static inline HRESULT IGraphBuilder_Disconnect(IGraphBuilder* This,IPin *ppin) {
6060 return This->lpVtbl->Disconnect(This,ppin);
6061}
6062static inline HRESULT IGraphBuilder_SetDefaultSyncSource(IGraphBuilder* This) {
6063 return This->lpVtbl->SetDefaultSyncSource(This);
6064}
6065/*** IGraphBuilder methods ***/
6066static inline HRESULT IGraphBuilder_Connect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn) {
6067 return This->lpVtbl->Connect(This,ppinOut,ppinIn);
6068}
6069static inline HRESULT IGraphBuilder_Render(IGraphBuilder* This,IPin *ppinOut) {
6070 return This->lpVtbl->Render(This,ppinOut);
6071}
6072static inline HRESULT IGraphBuilder_RenderFile(IGraphBuilder* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) {
6073 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList);
6074}
6075static inline HRESULT IGraphBuilder_AddSourceFilter(IGraphBuilder* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
6076 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter);
6077}
6078static inline HRESULT IGraphBuilder_SetLogFile(IGraphBuilder* This,DWORD_PTR hFile) {
6079 return This->lpVtbl->SetLogFile(This,hFile);
6080}
6081static inline HRESULT IGraphBuilder_Abort(IGraphBuilder* This) {
6082 return This->lpVtbl->Abort(This);
6083}
6084static inline HRESULT IGraphBuilder_ShouldOperationContinue(IGraphBuilder* This) {
6085 return This->lpVtbl->ShouldOperationContinue(This);
6086}
6087#endif
6088#endif
6089
6090#endif
6091
6092
6093#endif /* __IGraphBuilder_INTERFACE_DEFINED__ */
6094
6095/*****************************************************************************
6096 * ICaptureGraphBuilder interface
6097 */
6098#ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
6099#define __ICaptureGraphBuilder_INTERFACE_DEFINED__
6100
6101DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
6102#if defined(__cplusplus) && !defined(CINTERFACE)
6103MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
6104ICaptureGraphBuilder : public IUnknown
6105{
6106 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
6107 IGraphBuilder *pfg) = 0;
6108
6109 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
6110 IGraphBuilder **ppfg) = 0;
6111
6112 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
6113 const GUID *pType,
6114 LPCOLESTR lpstrFile,
6115 IBaseFilter **ppf,
6116 IFileSinkFilter **ppSink) = 0;
6117
6118 virtual HRESULT STDMETHODCALLTYPE FindInterface(
6119 const GUID *pCategory,
6120 IBaseFilter *pf,
6121 REFIID riid,
6122 void **ppint) = 0;
6123
6124 virtual HRESULT STDMETHODCALLTYPE RenderStream(
6125 const GUID *pCategory,
6126 IUnknown *pSource,
6127 IBaseFilter *pfCompressor,
6128 IBaseFilter *pfRenderer) = 0;
6129
6130 virtual HRESULT STDMETHODCALLTYPE ControlStream(
6131 const GUID *pCategory,
6132 IBaseFilter *pFilter,
6133 REFERENCE_TIME *pstart,
6134 REFERENCE_TIME *pstop,
6135 WORD wStartCookie,
6136 WORD wStopCookie) = 0;
6137
6138 virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
6139 LPCOLESTR lpstr,
6140 DWORDLONG dwlSize) = 0;
6141
6142 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
6143 LPOLESTR lpwstrOld,
6144 LPOLESTR lpwstrNew,
6145 int fAllowEscAbort,
6146 IAMCopyCaptureFileProgress *pCallback) = 0;
6147
6148};
6149#ifdef __CRT_UUID_DECL
6150__CRT_UUID_DECL(ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
6151#endif
6152#else
6153typedef struct ICaptureGraphBuilderVtbl {
6154 BEGIN_INTERFACE
6155
6156 /*** IUnknown methods ***/
6157 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6158 ICaptureGraphBuilder *This,
6159 REFIID riid,
6160 void **ppvObject);
6161
6162 ULONG (STDMETHODCALLTYPE *AddRef)(
6163 ICaptureGraphBuilder *This);
6164
6165 ULONG (STDMETHODCALLTYPE *Release)(
6166 ICaptureGraphBuilder *This);
6167
6168 /*** ICaptureGraphBuilder methods ***/
6169 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)(
6170 ICaptureGraphBuilder *This,
6171 IGraphBuilder *pfg);
6172
6173 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)(
6174 ICaptureGraphBuilder *This,
6175 IGraphBuilder **ppfg);
6176
6177 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)(
6178 ICaptureGraphBuilder *This,
6179 const GUID *pType,
6180 LPCOLESTR lpstrFile,
6181 IBaseFilter **ppf,
6182 IFileSinkFilter **ppSink);
6183
6184 HRESULT (STDMETHODCALLTYPE *FindInterface)(
6185 ICaptureGraphBuilder *This,
6186 const GUID *pCategory,
6187 IBaseFilter *pf,
6188 REFIID riid,
6189 void **ppint);
6190
6191 HRESULT (STDMETHODCALLTYPE *RenderStream)(
6192 ICaptureGraphBuilder *This,
6193 const GUID *pCategory,
6194 IUnknown *pSource,
6195 IBaseFilter *pfCompressor,
6196 IBaseFilter *pfRenderer);
6197
6198 HRESULT (STDMETHODCALLTYPE *ControlStream)(
6199 ICaptureGraphBuilder *This,
6200 const GUID *pCategory,
6201 IBaseFilter *pFilter,
6202 REFERENCE_TIME *pstart,
6203 REFERENCE_TIME *pstop,
6204 WORD wStartCookie,
6205 WORD wStopCookie);
6206
6207 HRESULT (STDMETHODCALLTYPE *AllocCapFile)(
6208 ICaptureGraphBuilder *This,
6209 LPCOLESTR lpstr,
6210 DWORDLONG dwlSize);
6211
6212 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)(
6213 ICaptureGraphBuilder *This,
6214 LPOLESTR lpwstrOld,
6215 LPOLESTR lpwstrNew,
6216 int fAllowEscAbort,
6217 IAMCopyCaptureFileProgress *pCallback);
6218
6219 END_INTERFACE
6220} ICaptureGraphBuilderVtbl;
6221
6222interface ICaptureGraphBuilder {
6223 CONST_VTBL ICaptureGraphBuilderVtbl* lpVtbl;
6224};
6225
6226#ifdef COBJMACROS
6227#ifndef WIDL_C_INLINE_WRAPPERS
6228/*** IUnknown methods ***/
6229#define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6230#define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
6231#define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
6232/*** ICaptureGraphBuilder methods ***/
6233#define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
6234#define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
6235#define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
6236#define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint)
6237#define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
6238#define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
6239#define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
6240#define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
6241#else
6242/*** IUnknown methods ***/
6243static inline HRESULT ICaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder* This,REFIID riid,void **ppvObject) {
6244 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6245}
6246static inline ULONG ICaptureGraphBuilder_AddRef(ICaptureGraphBuilder* This) {
6247 return This->lpVtbl->AddRef(This);
6248}
6249static inline ULONG ICaptureGraphBuilder_Release(ICaptureGraphBuilder* This) {
6250 return This->lpVtbl->Release(This);
6251}
6252/*** ICaptureGraphBuilder methods ***/
6253static inline HRESULT ICaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder *pfg) {
6254 return This->lpVtbl->SetFiltergraph(This,pfg);
6255}
6256static inline HRESULT ICaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder **ppfg) {
6257 return This->lpVtbl->GetFiltergraph(This,ppfg);
6258}
6259static inline HRESULT ICaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) {
6260 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink);
6261}
6262static inline HRESULT ICaptureGraphBuilder_FindInterface(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) {
6263 return This->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint);
6264}
6265static inline HRESULT ICaptureGraphBuilder_RenderStream(ICaptureGraphBuilder* This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) {
6266 return This->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer);
6267}
6268static inline HRESULT ICaptureGraphBuilder_ControlStream(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) {
6269 return This->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie);
6270}
6271static inline HRESULT ICaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder* This,LPCOLESTR lpstr,DWORDLONG dwlSize) {
6272 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize);
6273}
6274static inline HRESULT ICaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) {
6275 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback);
6276}
6277#endif
6278#endif
6279
6280#endif
6281
6282HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy(
6283 ICaptureGraphBuilder* This,
6284 const GUID *pCategory,
6285 IBaseFilter *pf,
6286 REFIID riid,
6287 IUnknown **ppint);
6288void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
6289 IRpcStubBuffer* This,
6290 IRpcChannelBuffer* pRpcChannelBuffer,
6291 PRPC_MESSAGE pRpcMessage,
6292 DWORD* pdwStubPhase);
6293HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy(
6294 ICaptureGraphBuilder* This,
6295 const GUID *pCategory,
6296 IBaseFilter *pf,
6297 REFIID riid,
6298 void **ppint);
6299HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub(
6300 ICaptureGraphBuilder* This,
6301 const GUID *pCategory,
6302 IBaseFilter *pf,
6303 REFIID riid,
6304 IUnknown **ppint);
6305
6306#endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
6307
6308/*****************************************************************************
6309 * IAMCopyCaptureFileProgress interface
6310 */
6311#ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
6312#define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
6313
6314DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
6315#if defined(__cplusplus) && !defined(CINTERFACE)
6316MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
6317IAMCopyCaptureFileProgress : public IUnknown
6318{
6319 virtual HRESULT STDMETHODCALLTYPE Progress(
6320 int iProgress) = 0;
6321
6322};
6323#ifdef __CRT_UUID_DECL
6324__CRT_UUID_DECL(IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
6325#endif
6326#else
6327typedef struct IAMCopyCaptureFileProgressVtbl {
6328 BEGIN_INTERFACE
6329
6330 /*** IUnknown methods ***/
6331 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6332 IAMCopyCaptureFileProgress *This,
6333 REFIID riid,
6334 void **ppvObject);
6335
6336 ULONG (STDMETHODCALLTYPE *AddRef)(
6337 IAMCopyCaptureFileProgress *This);
6338
6339 ULONG (STDMETHODCALLTYPE *Release)(
6340 IAMCopyCaptureFileProgress *This);
6341
6342 /*** IAMCopyCaptureFileProgress methods ***/
6343 HRESULT (STDMETHODCALLTYPE *Progress)(
6344 IAMCopyCaptureFileProgress *This,
6345 int iProgress);
6346
6347 END_INTERFACE
6348} IAMCopyCaptureFileProgressVtbl;
6349
6350interface IAMCopyCaptureFileProgress {
6351 CONST_VTBL IAMCopyCaptureFileProgressVtbl* lpVtbl;
6352};
6353
6354#ifdef COBJMACROS
6355#ifndef WIDL_C_INLINE_WRAPPERS
6356/*** IUnknown methods ***/
6357#define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6358#define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
6359#define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This)
6360/*** IAMCopyCaptureFileProgress methods ***/
6361#define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress)
6362#else
6363/*** IUnknown methods ***/
6364static inline HRESULT IAMCopyCaptureFileProgress_QueryInterface(IAMCopyCaptureFileProgress* This,REFIID riid,void **ppvObject) {
6365 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6366}
6367static inline ULONG IAMCopyCaptureFileProgress_AddRef(IAMCopyCaptureFileProgress* This) {
6368 return This->lpVtbl->AddRef(This);
6369}
6370static inline ULONG IAMCopyCaptureFileProgress_Release(IAMCopyCaptureFileProgress* This) {
6371 return This->lpVtbl->Release(This);
6372}
6373/*** IAMCopyCaptureFileProgress methods ***/
6374static inline HRESULT IAMCopyCaptureFileProgress_Progress(IAMCopyCaptureFileProgress* This,int iProgress) {
6375 return This->lpVtbl->Progress(This,iProgress);
6376}
6377#endif
6378#endif
6379
6380#endif
6381
6382
6383#endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
6384
6385/*****************************************************************************
6386 * ICaptureGraphBuilder2 interface
6387 */
6388#ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
6389#define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
6390
6391DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d);
6392#if defined(__cplusplus) && !defined(CINTERFACE)
6393MIDL_INTERFACE("93e5a4e0-2d50-11d2-abfa-00a0c9c6e38d")
6394ICaptureGraphBuilder2 : public IUnknown
6395{
6396 virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
6397 IGraphBuilder *pfg) = 0;
6398
6399 virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
6400 IGraphBuilder **ppfg) = 0;
6401
6402 virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
6403 const GUID *pType,
6404 LPCOLESTR lpstrFile,
6405 IBaseFilter **ppf,
6406 IFileSinkFilter **ppSink) = 0;
6407
6408 virtual HRESULT STDMETHODCALLTYPE FindInterface(
6409 const GUID *pCategory,
6410 const GUID *pType,
6411 IBaseFilter *pf,
6412 REFIID riid,
6413 void **ppint) = 0;
6414
6415 virtual HRESULT STDMETHODCALLTYPE RenderStream(
6416 const GUID *pCategory,
6417 const GUID *pType,
6418 IUnknown *pSource,
6419 IBaseFilter *pfCompressor,
6420 IBaseFilter *pfRenderer) = 0;
6421
6422 virtual HRESULT STDMETHODCALLTYPE ControlStream(
6423 const GUID *pCategory,
6424 const GUID *pType,
6425 IBaseFilter *pFilter,
6426 REFERENCE_TIME *pstart,
6427 REFERENCE_TIME *pstop,
6428 WORD wStartCookie,
6429 WORD wStopCookie) = 0;
6430
6431 virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
6432 LPCOLESTR lpstr,
6433 DWORDLONG dwlSize) = 0;
6434
6435 virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
6436 LPOLESTR lpwstrOld,
6437 LPOLESTR lpwstrNew,
6438 int fAllowEscAbort,
6439 IAMCopyCaptureFileProgress *pCallback) = 0;
6440
6441 virtual HRESULT STDMETHODCALLTYPE FindPin(
6442 IUnknown *pSource,
6443 PIN_DIRECTION pindir,
6444 const GUID *pCategory,
6445 const GUID *pType,
6446 WINBOOL fUnconnected,
6447 int num,
6448 IPin **ppPin) = 0;
6449
6450};
6451#ifdef __CRT_UUID_DECL
6452__CRT_UUID_DECL(ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d)
6453#endif
6454#else
6455typedef struct ICaptureGraphBuilder2Vtbl {
6456 BEGIN_INTERFACE
6457
6458 /*** IUnknown methods ***/
6459 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6460 ICaptureGraphBuilder2 *This,
6461 REFIID riid,
6462 void **ppvObject);
6463
6464 ULONG (STDMETHODCALLTYPE *AddRef)(
6465 ICaptureGraphBuilder2 *This);
6466
6467 ULONG (STDMETHODCALLTYPE *Release)(
6468 ICaptureGraphBuilder2 *This);
6469
6470 /*** ICaptureGraphBuilder2 methods ***/
6471 HRESULT (STDMETHODCALLTYPE *SetFiltergraph)(
6472 ICaptureGraphBuilder2 *This,
6473 IGraphBuilder *pfg);
6474
6475 HRESULT (STDMETHODCALLTYPE *GetFiltergraph)(
6476 ICaptureGraphBuilder2 *This,
6477 IGraphBuilder **ppfg);
6478
6479 HRESULT (STDMETHODCALLTYPE *SetOutputFileName)(
6480 ICaptureGraphBuilder2 *This,
6481 const GUID *pType,
6482 LPCOLESTR lpstrFile,
6483 IBaseFilter **ppf,
6484 IFileSinkFilter **ppSink);
6485
6486 HRESULT (STDMETHODCALLTYPE *FindInterface)(
6487 ICaptureGraphBuilder2 *This,
6488 const GUID *pCategory,
6489 const GUID *pType,
6490 IBaseFilter *pf,
6491 REFIID riid,
6492 void **ppint);
6493
6494 HRESULT (STDMETHODCALLTYPE *RenderStream)(
6495 ICaptureGraphBuilder2 *This,
6496 const GUID *pCategory,
6497 const GUID *pType,
6498 IUnknown *pSource,
6499 IBaseFilter *pfCompressor,
6500 IBaseFilter *pfRenderer);
6501
6502 HRESULT (STDMETHODCALLTYPE *ControlStream)(
6503 ICaptureGraphBuilder2 *This,
6504 const GUID *pCategory,
6505 const GUID *pType,
6506 IBaseFilter *pFilter,
6507 REFERENCE_TIME *pstart,
6508 REFERENCE_TIME *pstop,
6509 WORD wStartCookie,
6510 WORD wStopCookie);
6511
6512 HRESULT (STDMETHODCALLTYPE *AllocCapFile)(
6513 ICaptureGraphBuilder2 *This,
6514 LPCOLESTR lpstr,
6515 DWORDLONG dwlSize);
6516
6517 HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)(
6518 ICaptureGraphBuilder2 *This,
6519 LPOLESTR lpwstrOld,
6520 LPOLESTR lpwstrNew,
6521 int fAllowEscAbort,
6522 IAMCopyCaptureFileProgress *pCallback);
6523
6524 HRESULT (STDMETHODCALLTYPE *FindPin)(
6525 ICaptureGraphBuilder2 *This,
6526 IUnknown *pSource,
6527 PIN_DIRECTION pindir,
6528 const GUID *pCategory,
6529 const GUID *pType,
6530 WINBOOL fUnconnected,
6531 int num,
6532 IPin **ppPin);
6533
6534 END_INTERFACE
6535} ICaptureGraphBuilder2Vtbl;
6536
6537interface ICaptureGraphBuilder2 {
6538 CONST_VTBL ICaptureGraphBuilder2Vtbl* lpVtbl;
6539};
6540
6541#ifdef COBJMACROS
6542#ifndef WIDL_C_INLINE_WRAPPERS
6543/*** IUnknown methods ***/
6544#define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6545#define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This)
6546#define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This)
6547/*** ICaptureGraphBuilder2 methods ***/
6548#define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
6549#define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
6550#define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
6551#define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint)
6552#define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
6553#define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
6554#define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
6555#define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
6556#define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
6557#else
6558/*** IUnknown methods ***/
6559static inline HRESULT ICaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2* This,REFIID riid,void **ppvObject) {
6560 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6561}
6562static inline ULONG ICaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2* This) {
6563 return This->lpVtbl->AddRef(This);
6564}
6565static inline ULONG ICaptureGraphBuilder2_Release(ICaptureGraphBuilder2* This) {
6566 return This->lpVtbl->Release(This);
6567}
6568/*** ICaptureGraphBuilder2 methods ***/
6569static inline HRESULT ICaptureGraphBuilder2_SetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder *pfg) {
6570 return This->lpVtbl->SetFiltergraph(This,pfg);
6571}
6572static inline HRESULT ICaptureGraphBuilder2_GetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder **ppfg) {
6573 return This->lpVtbl->GetFiltergraph(This,ppfg);
6574}
6575static inline HRESULT ICaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) {
6576 return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink);
6577}
6578static inline HRESULT ICaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) {
6579 return This->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint);
6580}
6581static inline HRESULT ICaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) {
6582 return This->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer);
6583}
6584static inline HRESULT ICaptureGraphBuilder2_ControlStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) {
6585 return This->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie);
6586}
6587static inline HRESULT ICaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2* This,LPCOLESTR lpstr,DWORDLONG dwlSize) {
6588 return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize);
6589}
6590static inline HRESULT ICaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) {
6591 return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback);
6592}
6593static inline HRESULT ICaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2* This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) {
6594 return This->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin);
6595}
6596#endif
6597#endif
6598
6599#endif
6600
6601HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy(
6602 ICaptureGraphBuilder2* This,
6603 const GUID *pCategory,
6604 const GUID *pType,
6605 IBaseFilter *pf,
6606 REFIID riid,
6607 IUnknown **ppint);
6608void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
6609 IRpcStubBuffer* This,
6610 IRpcChannelBuffer* pRpcChannelBuffer,
6611 PRPC_MESSAGE pRpcMessage,
6612 DWORD* pdwStubPhase);
6613HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy(
6614 ICaptureGraphBuilder2* This,
6615 const GUID *pCategory,
6616 const GUID *pType,
6617 IBaseFilter *pf,
6618 REFIID riid,
6619 void **ppint);
6620HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub(
6621 ICaptureGraphBuilder2* This,
6622 const GUID *pCategory,
6623 const GUID *pType,
6624 IBaseFilter *pf,
6625 REFIID riid,
6626 IUnknown **ppint);
6627
6628#endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
6629
6630/*****************************************************************************
6631 * IConfigAviMux interface
6632 */
6633#ifndef __IConfigAviMux_INTERFACE_DEFINED__
6634#define __IConfigAviMux_INTERFACE_DEFINED__
6635
6636DEFINE_GUID(IID_IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6);
6637#if defined(__cplusplus) && !defined(CINTERFACE)
6638MIDL_INTERFACE("5acd6aa0-f482-11ce-8b67-00aa00a3f1a6")
6639IConfigAviMux : public IUnknown
6640{
6641 virtual HRESULT STDMETHODCALLTYPE SetMasterStream(
6642 LONG iStream) = 0;
6643
6644 virtual HRESULT STDMETHODCALLTYPE GetMasterStream(
6645 LONG *pStream) = 0;
6646
6647 virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex(
6648 WINBOOL fOldIndex) = 0;
6649
6650 virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex(
6651 WINBOOL *pfOldIndex) = 0;
6652
6653};
6654#ifdef __CRT_UUID_DECL
6655__CRT_UUID_DECL(IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6)
6656#endif
6657#else
6658typedef struct IConfigAviMuxVtbl {
6659 BEGIN_INTERFACE
6660
6661 /*** IUnknown methods ***/
6662 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6663 IConfigAviMux *This,
6664 REFIID riid,
6665 void **ppvObject);
6666
6667 ULONG (STDMETHODCALLTYPE *AddRef)(
6668 IConfigAviMux *This);
6669
6670 ULONG (STDMETHODCALLTYPE *Release)(
6671 IConfigAviMux *This);
6672
6673 /*** IConfigAviMux methods ***/
6674 HRESULT (STDMETHODCALLTYPE *SetMasterStream)(
6675 IConfigAviMux *This,
6676 LONG iStream);
6677
6678 HRESULT (STDMETHODCALLTYPE *GetMasterStream)(
6679 IConfigAviMux *This,
6680 LONG *pStream);
6681
6682 HRESULT (STDMETHODCALLTYPE *SetOutputCompatibilityIndex)(
6683 IConfigAviMux *This,
6684 WINBOOL fOldIndex);
6685
6686 HRESULT (STDMETHODCALLTYPE *GetOutputCompatibilityIndex)(
6687 IConfigAviMux *This,
6688 WINBOOL *pfOldIndex);
6689
6690 END_INTERFACE
6691} IConfigAviMuxVtbl;
6692
6693interface IConfigAviMux {
6694 CONST_VTBL IConfigAviMuxVtbl* lpVtbl;
6695};
6696
6697#ifdef COBJMACROS
6698#ifndef WIDL_C_INLINE_WRAPPERS
6699/*** IUnknown methods ***/
6700#define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6701#define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This)
6702#define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This)
6703/*** IConfigAviMux methods ***/
6704#define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream)
6705#define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream)
6706#define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex)
6707#define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex)
6708#else
6709/*** IUnknown methods ***/
6710static inline HRESULT IConfigAviMux_QueryInterface(IConfigAviMux* This,REFIID riid,void **ppvObject) {
6711 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6712}
6713static inline ULONG IConfigAviMux_AddRef(IConfigAviMux* This) {
6714 return This->lpVtbl->AddRef(This);
6715}
6716static inline ULONG IConfigAviMux_Release(IConfigAviMux* This) {
6717 return This->lpVtbl->Release(This);
6718}
6719/*** IConfigAviMux methods ***/
6720static inline HRESULT IConfigAviMux_SetMasterStream(IConfigAviMux* This,LONG iStream) {
6721 return This->lpVtbl->SetMasterStream(This,iStream);
6722}
6723static inline HRESULT IConfigAviMux_GetMasterStream(IConfigAviMux* This,LONG *pStream) {
6724 return This->lpVtbl->GetMasterStream(This,pStream);
6725}
6726static inline HRESULT IConfigAviMux_SetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL fOldIndex) {
6727 return This->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex);
6728}
6729static inline HRESULT IConfigAviMux_GetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL *pfOldIndex) {
6730 return This->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex);
6731}
6732#endif
6733#endif
6734
6735#endif
6736
6737
6738#endif /* __IConfigAviMux_INTERFACE_DEFINED__ */
6739
6740/*****************************************************************************
6741 * IConfigInterleaving interface
6742 */
6743#ifndef __IConfigInterleaving_INTERFACE_DEFINED__
6744#define __IConfigInterleaving_INTERFACE_DEFINED__
6745
6746typedef enum InterleavingMode {
6747 INTERLEAVE_NONE = 0,
6748 INTERLEAVE_CAPTURE = 1,
6749 INTERLEAVE_FULL = 2,
6750 INTERLEAVE_NONE_BUFFERED = 3
6751} InterleavingMode;
6752DEFINE_GUID(IID_IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86);
6753#if defined(__cplusplus) && !defined(CINTERFACE)
6754MIDL_INTERFACE("bee3d220-157b-11d0-bd23-00a0c911ce86")
6755IConfigInterleaving : public IUnknown
6756{
6757 virtual HRESULT STDMETHODCALLTYPE put_Mode(
6758 InterleavingMode mode) = 0;
6759
6760 virtual HRESULT STDMETHODCALLTYPE get_Mode(
6761 InterleavingMode *pMode) = 0;
6762
6763 virtual HRESULT STDMETHODCALLTYPE put_Interleaving(
6764 const REFERENCE_TIME *prtInterleave,
6765 const REFERENCE_TIME *prtPreroll) = 0;
6766
6767 virtual HRESULT STDMETHODCALLTYPE get_Interleaving(
6768 REFERENCE_TIME *prtInterleave,
6769 REFERENCE_TIME *prtPreroll) = 0;
6770
6771};
6772#ifdef __CRT_UUID_DECL
6773__CRT_UUID_DECL(IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86)
6774#endif
6775#else
6776typedef struct IConfigInterleavingVtbl {
6777 BEGIN_INTERFACE
6778
6779 /*** IUnknown methods ***/
6780 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6781 IConfigInterleaving *This,
6782 REFIID riid,
6783 void **ppvObject);
6784
6785 ULONG (STDMETHODCALLTYPE *AddRef)(
6786 IConfigInterleaving *This);
6787
6788 ULONG (STDMETHODCALLTYPE *Release)(
6789 IConfigInterleaving *This);
6790
6791 /*** IConfigInterleaving methods ***/
6792 HRESULT (STDMETHODCALLTYPE *put_Mode)(
6793 IConfigInterleaving *This,
6794 InterleavingMode mode);
6795
6796 HRESULT (STDMETHODCALLTYPE *get_Mode)(
6797 IConfigInterleaving *This,
6798 InterleavingMode *pMode);
6799
6800 HRESULT (STDMETHODCALLTYPE *put_Interleaving)(
6801 IConfigInterleaving *This,
6802 const REFERENCE_TIME *prtInterleave,
6803 const REFERENCE_TIME *prtPreroll);
6804
6805 HRESULT (STDMETHODCALLTYPE *get_Interleaving)(
6806 IConfigInterleaving *This,
6807 REFERENCE_TIME *prtInterleave,
6808 REFERENCE_TIME *prtPreroll);
6809
6810 END_INTERFACE
6811} IConfigInterleavingVtbl;
6812
6813interface IConfigInterleaving {
6814 CONST_VTBL IConfigInterleavingVtbl* lpVtbl;
6815};
6816
6817#ifdef COBJMACROS
6818#ifndef WIDL_C_INLINE_WRAPPERS
6819/*** IUnknown methods ***/
6820#define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6821#define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This)
6822#define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This)
6823/*** IConfigInterleaving methods ***/
6824#define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
6825#define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
6826#define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll)
6827#define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll)
6828#else
6829/*** IUnknown methods ***/
6830static inline HRESULT IConfigInterleaving_QueryInterface(IConfigInterleaving* This,REFIID riid,void **ppvObject) {
6831 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6832}
6833static inline ULONG IConfigInterleaving_AddRef(IConfigInterleaving* This) {
6834 return This->lpVtbl->AddRef(This);
6835}
6836static inline ULONG IConfigInterleaving_Release(IConfigInterleaving* This) {
6837 return This->lpVtbl->Release(This);
6838}
6839/*** IConfigInterleaving methods ***/
6840static inline HRESULT IConfigInterleaving_put_Mode(IConfigInterleaving* This,InterleavingMode mode) {
6841 return This->lpVtbl->put_Mode(This,mode);
6842}
6843static inline HRESULT IConfigInterleaving_get_Mode(IConfigInterleaving* This,InterleavingMode *pMode) {
6844 return This->lpVtbl->get_Mode(This,pMode);
6845}
6846static inline HRESULT IConfigInterleaving_put_Interleaving(IConfigInterleaving* This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) {
6847 return This->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll);
6848}
6849static inline HRESULT IConfigInterleaving_get_Interleaving(IConfigInterleaving* This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) {
6850 return This->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll);
6851}
6852#endif
6853#endif
6854
6855#endif
6856
6857
6858#endif /* __IConfigInterleaving_INTERFACE_DEFINED__ */
6859
6860/*****************************************************************************
6861 * IAMClockSlave interface
6862 */
6863#ifndef __IAMClockSlave_INTERFACE_DEFINED__
6864#define __IAMClockSlave_INTERFACE_DEFINED__
6865
6866DEFINE_GUID(IID_IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe);
6867#if defined(__cplusplus) && !defined(CINTERFACE)
6868MIDL_INTERFACE("9fd52741-176d-4b36-8f51-ca8f933223be")
6869IAMClockSlave : public IUnknown
6870{
6871 virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance(
6872 DWORD dwTolerance) = 0;
6873
6874 virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance(
6875 DWORD *pdwTolerance) = 0;
6876
6877};
6878#ifdef __CRT_UUID_DECL
6879__CRT_UUID_DECL(IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe)
6880#endif
6881#else
6882typedef struct IAMClockSlaveVtbl {
6883 BEGIN_INTERFACE
6884
6885 /*** IUnknown methods ***/
6886 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6887 IAMClockSlave *This,
6888 REFIID riid,
6889 void **ppvObject);
6890
6891 ULONG (STDMETHODCALLTYPE *AddRef)(
6892 IAMClockSlave *This);
6893
6894 ULONG (STDMETHODCALLTYPE *Release)(
6895 IAMClockSlave *This);
6896
6897 /*** IAMClockSlave methods ***/
6898 HRESULT (STDMETHODCALLTYPE *SetErrorTolerance)(
6899 IAMClockSlave *This,
6900 DWORD dwTolerance);
6901
6902 HRESULT (STDMETHODCALLTYPE *GetErrorTolerance)(
6903 IAMClockSlave *This,
6904 DWORD *pdwTolerance);
6905
6906 END_INTERFACE
6907} IAMClockSlaveVtbl;
6908
6909interface IAMClockSlave {
6910 CONST_VTBL IAMClockSlaveVtbl* lpVtbl;
6911};
6912
6913#ifdef COBJMACROS
6914#ifndef WIDL_C_INLINE_WRAPPERS
6915/*** IUnknown methods ***/
6916#define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6917#define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This)
6918#define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This)
6919/*** IAMClockSlave methods ***/
6920#define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance)
6921#define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance)
6922#else
6923/*** IUnknown methods ***/
6924static inline HRESULT IAMClockSlave_QueryInterface(IAMClockSlave* This,REFIID riid,void **ppvObject) {
6925 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6926}
6927static inline ULONG IAMClockSlave_AddRef(IAMClockSlave* This) {
6928 return This->lpVtbl->AddRef(This);
6929}
6930static inline ULONG IAMClockSlave_Release(IAMClockSlave* This) {
6931 return This->lpVtbl->Release(This);
6932}
6933/*** IAMClockSlave methods ***/
6934static inline HRESULT IAMClockSlave_SetErrorTolerance(IAMClockSlave* This,DWORD dwTolerance) {
6935 return This->lpVtbl->SetErrorTolerance(This,dwTolerance);
6936}
6937static inline HRESULT IAMClockSlave_GetErrorTolerance(IAMClockSlave* This,DWORD *pdwTolerance) {
6938 return This->lpVtbl->GetErrorTolerance(This,pdwTolerance);
6939}
6940#endif
6941#endif
6942
6943#endif
6944
6945
6946#endif /* __IAMClockSlave_INTERFACE_DEFINED__ */
6947
6948typedef struct _AMCOPPSignature {
6949 BYTE Signature[256];
6950} AMCOPPSignature;
6951typedef struct _AMCOPPCommand {
6952 GUID macKDI;
6953 GUID guidCommandID;
6954 DWORD dwSequence;
6955 DWORD bSizeData;
6956 BYTE CommandData[4056];
6957} AMCOPPCommand;
6958typedef struct _AMCOPPCommand *LPAMCOPPCommand;
6959typedef struct _AMCOPPStatusInput {
6960 GUID rApp;
6961 GUID guidStatusRequestID;
6962 DWORD dwSequence;
6963 DWORD cbSizeData;
6964 BYTE StatusData[4056];
6965} AMCOPPStatusInput;
6966typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput;
6967typedef struct _AMCOPPStatusOutput {
6968 GUID macKDI;
6969 DWORD cbSizeData;
6970 BYTE COPPStatus[4076];
6971} AMCOPPStatusOutput;
6972typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput;
6973/*****************************************************************************
6974 * IAMCertifiedOutputProtection interface
6975 */
6976#ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
6977#define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
6978
6979DEFINE_GUID(IID_IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15);
6980#if defined(__cplusplus) && !defined(CINTERFACE)
6981MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515")
6982IAMCertifiedOutputProtection : public IUnknown
6983{
6984 virtual HRESULT STDMETHODCALLTYPE KeyExchange(
6985 GUID *pRandom,
6986 BYTE **VarLenCertGH,
6987 DWORD *pdwLengthCertGH) = 0;
6988
6989 virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart(
6990 AMCOPPSignature *pSig) = 0;
6991
6992 virtual HRESULT STDMETHODCALLTYPE ProtectionCommand(
6993 const AMCOPPCommand *cmd) = 0;
6994
6995 virtual HRESULT STDMETHODCALLTYPE ProtectionStatus(
6996 const AMCOPPStatusInput *pStatusInput,
6997 AMCOPPStatusOutput *pStatusOutput) = 0;
6998
6999};
7000#ifdef __CRT_UUID_DECL
7001__CRT_UUID_DECL(IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15)
7002#endif
7003#else
7004typedef struct IAMCertifiedOutputProtectionVtbl {
7005 BEGIN_INTERFACE
7006
7007 /*** IUnknown methods ***/
7008 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7009 IAMCertifiedOutputProtection *This,
7010 REFIID riid,
7011 void **ppvObject);
7012
7013 ULONG (STDMETHODCALLTYPE *AddRef)(
7014 IAMCertifiedOutputProtection *This);
7015
7016 ULONG (STDMETHODCALLTYPE *Release)(
7017 IAMCertifiedOutputProtection *This);
7018
7019 /*** IAMCertifiedOutputProtection methods ***/
7020 HRESULT (STDMETHODCALLTYPE *KeyExchange)(
7021 IAMCertifiedOutputProtection *This,
7022 GUID *pRandom,
7023 BYTE **VarLenCertGH,
7024 DWORD *pdwLengthCertGH);
7025
7026 HRESULT (STDMETHODCALLTYPE *SessionSequenceStart)(
7027 IAMCertifiedOutputProtection *This,
7028 AMCOPPSignature *pSig);
7029
7030 HRESULT (STDMETHODCALLTYPE *ProtectionCommand)(
7031 IAMCertifiedOutputProtection *This,
7032 const AMCOPPCommand *cmd);
7033
7034 HRESULT (STDMETHODCALLTYPE *ProtectionStatus)(
7035 IAMCertifiedOutputProtection *This,
7036 const AMCOPPStatusInput *pStatusInput,
7037 AMCOPPStatusOutput *pStatusOutput);
7038
7039 END_INTERFACE
7040} IAMCertifiedOutputProtectionVtbl;
7041
7042interface IAMCertifiedOutputProtection {
7043 CONST_VTBL IAMCertifiedOutputProtectionVtbl* lpVtbl;
7044};
7045
7046#ifdef COBJMACROS
7047#ifndef WIDL_C_INLINE_WRAPPERS
7048/*** IUnknown methods ***/
7049#define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7050#define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This)
7051#define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This)
7052/*** IAMCertifiedOutputProtection methods ***/
7053#define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH)
7054#define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig)
7055#define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd)
7056#define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput)
7057#else
7058/*** IUnknown methods ***/
7059static inline HRESULT IAMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection* This,REFIID riid,void **ppvObject) {
7060 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7061}
7062static inline ULONG IAMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection* This) {
7063 return This->lpVtbl->AddRef(This);
7064}
7065static inline ULONG IAMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection* This) {
7066 return This->lpVtbl->Release(This);
7067}
7068/*** IAMCertifiedOutputProtection methods ***/
7069static inline HRESULT IAMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection* This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) {
7070 return This->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH);
7071}
7072static inline HRESULT IAMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection* This,AMCOPPSignature *pSig) {
7073 return This->lpVtbl->SessionSequenceStart(This,pSig);
7074}
7075static inline HRESULT IAMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection* This,const AMCOPPCommand *cmd) {
7076 return This->lpVtbl->ProtectionCommand(This,cmd);
7077}
7078static inline HRESULT IAMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection* This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) {
7079 return This->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput);
7080}
7081#endif
7082#endif
7083
7084#endif
7085
7086
7087#endif /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */
7088
7089enum _AM_RENSDEREXFLAGS {
7090 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
7091};
7092/*****************************************************************************
7093 * IFilterGraph2 interface
7094 */
7095#ifndef __IFilterGraph2_INTERFACE_DEFINED__
7096#define __IFilterGraph2_INTERFACE_DEFINED__
7097
7098DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
7099#if defined(__cplusplus) && !defined(CINTERFACE)
7100MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
7101IFilterGraph2 : public IGraphBuilder
7102{
7103 virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker(
7104 IMoniker *pMoniker,
7105 IBindCtx *pCtx,
7106 LPCWSTR lpcwstrFilterName,
7107 IBaseFilter **ppFilter) = 0;
7108
7109 virtual HRESULT STDMETHODCALLTYPE ReconnectEx(
7110 IPin *ppin,
7111 const AM_MEDIA_TYPE *pmt) = 0;
7112
7113 virtual HRESULT STDMETHODCALLTYPE RenderEx(
7114 IPin *pPinOut,
7115 DWORD dwFlags,
7116 DWORD *pvContext) = 0;
7117
7118};
7119#ifdef __CRT_UUID_DECL
7120__CRT_UUID_DECL(IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
7121#endif
7122#else
7123typedef struct IFilterGraph2Vtbl {
7124 BEGIN_INTERFACE
7125
7126 /*** IUnknown methods ***/
7127 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7128 IFilterGraph2 *This,
7129 REFIID riid,
7130 void **ppvObject);
7131
7132 ULONG (STDMETHODCALLTYPE *AddRef)(
7133 IFilterGraph2 *This);
7134
7135 ULONG (STDMETHODCALLTYPE *Release)(
7136 IFilterGraph2 *This);
7137
7138 /*** IFilterGraph methods ***/
7139 HRESULT (STDMETHODCALLTYPE *AddFilter)(
7140 IFilterGraph2 *This,
7141 IBaseFilter *pFilter,
7142 LPCWSTR pName);
7143
7144 HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
7145 IFilterGraph2 *This,
7146 IBaseFilter *pFilter);
7147
7148 HRESULT (STDMETHODCALLTYPE *EnumFilters)(
7149 IFilterGraph2 *This,
7150 IEnumFilters **ppEnum);
7151
7152 HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
7153 IFilterGraph2 *This,
7154 LPCWSTR pName,
7155 IBaseFilter **ppFilter);
7156
7157 HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
7158 IFilterGraph2 *This,
7159 IPin *ppinOut,
7160 IPin *ppinIn,
7161 const AM_MEDIA_TYPE *pmt);
7162
7163 HRESULT (STDMETHODCALLTYPE *Reconnect)(
7164 IFilterGraph2 *This,
7165 IPin *ppin);
7166
7167 HRESULT (STDMETHODCALLTYPE *Disconnect)(
7168 IFilterGraph2 *This,
7169 IPin *ppin);
7170
7171 HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
7172 IFilterGraph2 *This);
7173
7174 /*** IGraphBuilder methods ***/
7175 HRESULT (STDMETHODCALLTYPE *Connect)(
7176 IFilterGraph2 *This,
7177 IPin *ppinOut,
7178 IPin *ppinIn);
7179
7180 HRESULT (STDMETHODCALLTYPE *Render)(
7181 IFilterGraph2 *This,
7182 IPin *ppinOut);
7183
7184 HRESULT (STDMETHODCALLTYPE *RenderFile)(
7185 IFilterGraph2 *This,
7186 LPCWSTR lpcwstrFile,
7187 LPCWSTR lpcwstrPlayList);
7188
7189 HRESULT (STDMETHODCALLTYPE *AddSourceFilter)(
7190 IFilterGraph2 *This,
7191 LPCWSTR lpcwstrFileName,
7192 LPCWSTR lpcwstrFilterName,
7193 IBaseFilter **ppFilter);
7194
7195 HRESULT (STDMETHODCALLTYPE *SetLogFile)(
7196 IFilterGraph2 *This,
7197 DWORD_PTR hFile);
7198
7199 HRESULT (STDMETHODCALLTYPE *Abort)(
7200 IFilterGraph2 *This);
7201
7202 HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)(
7203 IFilterGraph2 *This);
7204
7205 /*** IFilterGraph2 methods ***/
7206 HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)(
7207 IFilterGraph2 *This,
7208 IMoniker *pMoniker,
7209 IBindCtx *pCtx,
7210 LPCWSTR lpcwstrFilterName,
7211 IBaseFilter **ppFilter);
7212
7213 HRESULT (STDMETHODCALLTYPE *ReconnectEx)(
7214 IFilterGraph2 *This,
7215 IPin *ppin,
7216 const AM_MEDIA_TYPE *pmt);
7217
7218 HRESULT (STDMETHODCALLTYPE *RenderEx)(
7219 IFilterGraph2 *This,
7220 IPin *pPinOut,
7221 DWORD dwFlags,
7222 DWORD *pvContext);
7223
7224 END_INTERFACE
7225} IFilterGraph2Vtbl;
7226
7227interface IFilterGraph2 {
7228 CONST_VTBL IFilterGraph2Vtbl* lpVtbl;
7229};
7230
7231#ifdef COBJMACROS
7232#ifndef WIDL_C_INLINE_WRAPPERS
7233/*** IUnknown methods ***/
7234#define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7235#define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This)
7236#define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This)
7237/*** IFilterGraph methods ***/
7238#define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
7239#define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
7240#define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
7241#define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
7242#define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
7243#define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
7244#define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
7245#define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
7246/*** IGraphBuilder methods ***/
7247#define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
7248#define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
7249#define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
7250#define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
7251#define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
7252#define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This)
7253#define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
7254/*** IFilterGraph2 methods ***/
7255#define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
7256#define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt)
7257#define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext)
7258#else
7259/*** IUnknown methods ***/
7260static inline HRESULT IFilterGraph2_QueryInterface(IFilterGraph2* This,REFIID riid,void **ppvObject) {
7261 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7262}
7263static inline ULONG IFilterGraph2_AddRef(IFilterGraph2* This) {
7264 return This->lpVtbl->AddRef(This);
7265}
7266static inline ULONG IFilterGraph2_Release(IFilterGraph2* This) {
7267 return This->lpVtbl->Release(This);
7268}
7269/*** IFilterGraph methods ***/
7270static inline HRESULT IFilterGraph2_AddFilter(IFilterGraph2* This,IBaseFilter *pFilter,LPCWSTR pName) {
7271 return This->lpVtbl->AddFilter(This,pFilter,pName);
7272}
7273static inline HRESULT IFilterGraph2_RemoveFilter(IFilterGraph2* This,IBaseFilter *pFilter) {
7274 return This->lpVtbl->RemoveFilter(This,pFilter);
7275}
7276static inline HRESULT IFilterGraph2_EnumFilters(IFilterGraph2* This,IEnumFilters **ppEnum) {
7277 return This->lpVtbl->EnumFilters(This,ppEnum);
7278}
7279static inline HRESULT IFilterGraph2_FindFilterByName(IFilterGraph2* This,LPCWSTR pName,IBaseFilter **ppFilter) {
7280 return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
7281}
7282static inline HRESULT IFilterGraph2_ConnectDirect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
7283 return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
7284}
7285static inline HRESULT IFilterGraph2_Reconnect(IFilterGraph2* This,IPin *ppin) {
7286 return This->lpVtbl->Reconnect(This,ppin);
7287}
7288static inline HRESULT IFilterGraph2_Disconnect(IFilterGraph2* This,IPin *ppin) {
7289 return This->lpVtbl->Disconnect(This,ppin);
7290}
7291static inline HRESULT IFilterGraph2_SetDefaultSyncSource(IFilterGraph2* This) {
7292 return This->lpVtbl->SetDefaultSyncSource(This);
7293}
7294/*** IGraphBuilder methods ***/
7295static inline HRESULT IFilterGraph2_Connect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn) {
7296 return This->lpVtbl->Connect(This,ppinOut,ppinIn);
7297}
7298static inline HRESULT IFilterGraph2_Render(IFilterGraph2* This,IPin *ppinOut) {
7299 return This->lpVtbl->Render(This,ppinOut);
7300}
7301static inline HRESULT IFilterGraph2_RenderFile(IFilterGraph2* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) {
7302 return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList);
7303}
7304static inline HRESULT IFilterGraph2_AddSourceFilter(IFilterGraph2* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
7305 return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter);
7306}
7307static inline HRESULT IFilterGraph2_SetLogFile(IFilterGraph2* This,DWORD_PTR hFile) {
7308 return This->lpVtbl->SetLogFile(This,hFile);
7309}
7310static inline HRESULT IFilterGraph2_Abort(IFilterGraph2* This) {
7311 return This->lpVtbl->Abort(This);
7312}
7313static inline HRESULT IFilterGraph2_ShouldOperationContinue(IFilterGraph2* This) {
7314 return This->lpVtbl->ShouldOperationContinue(This);
7315}
7316/*** IFilterGraph2 methods ***/
7317static inline HRESULT IFilterGraph2_AddSourceFilterForMoniker(IFilterGraph2* This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
7318 return This->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter);
7319}
7320static inline HRESULT IFilterGraph2_ReconnectEx(IFilterGraph2* This,IPin *ppin,const AM_MEDIA_TYPE *pmt) {
7321 return This->lpVtbl->ReconnectEx(This,ppin,pmt);
7322}
7323static inline HRESULT IFilterGraph2_RenderEx(IFilterGraph2* This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) {
7324 return This->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext);
7325}
7326#endif
7327#endif
7328
7329#endif
7330
7331
7332#endif /* __IFilterGraph2_INTERFACE_DEFINED__ */
7333
7334/*****************************************************************************
7335 * IStreamBuilder interface
7336 */
7337#ifndef __IStreamBuilder_INTERFACE_DEFINED__
7338#define __IStreamBuilder_INTERFACE_DEFINED__
7339
7340DEFINE_GUID(IID_IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
7341#if defined(__cplusplus) && !defined(CINTERFACE)
7342MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
7343IStreamBuilder : public IUnknown
7344{
7345 virtual HRESULT STDMETHODCALLTYPE Render(
7346 IPin *ppinOut,
7347 IGraphBuilder *pGraph) = 0;
7348
7349 virtual HRESULT STDMETHODCALLTYPE Backout(
7350 IPin *ppinOut,
7351 IGraphBuilder *pGraph) = 0;
7352
7353};
7354#ifdef __CRT_UUID_DECL
7355__CRT_UUID_DECL(IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
7356#endif
7357#else
7358typedef struct IStreamBuilderVtbl {
7359 BEGIN_INTERFACE
7360
7361 /*** IUnknown methods ***/
7362 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7363 IStreamBuilder *This,
7364 REFIID riid,
7365 void **ppvObject);
7366
7367 ULONG (STDMETHODCALLTYPE *AddRef)(
7368 IStreamBuilder *This);
7369
7370 ULONG (STDMETHODCALLTYPE *Release)(
7371 IStreamBuilder *This);
7372
7373 /*** IStreamBuilder methods ***/
7374 HRESULT (STDMETHODCALLTYPE *Render)(
7375 IStreamBuilder *This,
7376 IPin *ppinOut,
7377 IGraphBuilder *pGraph);
7378
7379 HRESULT (STDMETHODCALLTYPE *Backout)(
7380 IStreamBuilder *This,
7381 IPin *ppinOut,
7382 IGraphBuilder *pGraph);
7383
7384 END_INTERFACE
7385} IStreamBuilderVtbl;
7386
7387interface IStreamBuilder {
7388 CONST_VTBL IStreamBuilderVtbl* lpVtbl;
7389};
7390
7391#ifdef COBJMACROS
7392#ifndef WIDL_C_INLINE_WRAPPERS
7393/*** IUnknown methods ***/
7394#define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7395#define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
7396#define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This)
7397/*** IStreamBuilder methods ***/
7398#define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph)
7399#define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph)
7400#else
7401/*** IUnknown methods ***/
7402static inline HRESULT IStreamBuilder_QueryInterface(IStreamBuilder* This,REFIID riid,void **ppvObject) {
7403 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7404}
7405static inline ULONG IStreamBuilder_AddRef(IStreamBuilder* This) {
7406 return This->lpVtbl->AddRef(This);
7407}
7408static inline ULONG IStreamBuilder_Release(IStreamBuilder* This) {
7409 return This->lpVtbl->Release(This);
7410}
7411/*** IStreamBuilder methods ***/
7412static inline HRESULT IStreamBuilder_Render(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) {
7413 return This->lpVtbl->Render(This,ppinOut,pGraph);
7414}
7415static inline HRESULT IStreamBuilder_Backout(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) {
7416 return This->lpVtbl->Backout(This,ppinOut,pGraph);
7417}
7418#endif
7419#endif
7420
7421#endif
7422
7423
7424#endif /* __IStreamBuilder_INTERFACE_DEFINED__ */
7425
7426/*****************************************************************************
7427 * IAMStreamConfig interface
7428 */
7429#ifndef __IAMStreamConfig_INTERFACE_DEFINED__
7430#define __IAMStreamConfig_INTERFACE_DEFINED__
7431
7432typedef struct _VIDEO_STREAM_CONFIG_CAPS {
7433 GUID guid;
7434 ULONG VideoStandard;
7435 SIZE InputSize;
7436 SIZE MinCroppingSize;
7437 SIZE MaxCroppingSize;
7438 int CropGranularityX;
7439 int CropGranularityY;
7440 int CropAlignX;
7441 int CropAlignY;
7442 SIZE MinOutputSize;
7443 SIZE MaxOutputSize;
7444 int OutputGranularityX;
7445 int OutputGranularityY;
7446 int StretchTapsX;
7447 int StretchTapsY;
7448 int ShrinkTapsX;
7449 int ShrinkTapsY;
7450 LONGLONG MinFrameInterval;
7451 LONGLONG MaxFrameInterval;
7452 LONG MinBitsPerSecond;
7453 LONG MaxBitsPerSecond;
7454} VIDEO_STREAM_CONFIG_CAPS;
7455typedef struct _AUDIO_STREAM_CONFIG_CAPS {
7456 GUID guid;
7457 ULONG MinimumChannels;
7458 ULONG MaximumChannels;
7459 ULONG ChannelsGranularity;
7460 ULONG MinimumBitsPerSample;
7461 ULONG MaximumBitsPerSample;
7462 ULONG BitsPerSampleGranularity;
7463 ULONG MinimumSampleFrequency;
7464 ULONG MaximumSampleFrequency;
7465 ULONG SampleFrequencyGranularity;
7466} AUDIO_STREAM_CONFIG_CAPS;
7467DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
7468#if defined(__cplusplus) && !defined(CINTERFACE)
7469MIDL_INTERFACE("c6e13340-30ac-11d0-a18c-00a0c9118956")
7470IAMStreamConfig : public IUnknown
7471{
7472 virtual HRESULT STDMETHODCALLTYPE SetFormat(
7473 AM_MEDIA_TYPE *pmt) = 0;
7474
7475 virtual HRESULT STDMETHODCALLTYPE GetFormat(
7476 AM_MEDIA_TYPE **pmt) = 0;
7477
7478 virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(
7479 int *piCount,
7480 int *piSize) = 0;
7481
7482 virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(
7483 int iIndex,
7484 AM_MEDIA_TYPE **pmt,
7485 BYTE *pSCC) = 0;
7486
7487};
7488#ifdef __CRT_UUID_DECL
7489__CRT_UUID_DECL(IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
7490#endif
7491#else
7492typedef struct IAMStreamConfigVtbl {
7493 BEGIN_INTERFACE
7494
7495 /*** IUnknown methods ***/
7496 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7497 IAMStreamConfig *This,
7498 REFIID riid,
7499 void **ppvObject);
7500
7501 ULONG (STDMETHODCALLTYPE *AddRef)(
7502 IAMStreamConfig *This);
7503
7504 ULONG (STDMETHODCALLTYPE *Release)(
7505 IAMStreamConfig *This);
7506
7507 /*** IAMStreamConfig methods ***/
7508 HRESULT (STDMETHODCALLTYPE *SetFormat)(
7509 IAMStreamConfig *This,
7510 AM_MEDIA_TYPE *pmt);
7511
7512 HRESULT (STDMETHODCALLTYPE *GetFormat)(
7513 IAMStreamConfig *This,
7514 AM_MEDIA_TYPE **pmt);
7515
7516 HRESULT (STDMETHODCALLTYPE *GetNumberOfCapabilities)(
7517 IAMStreamConfig *This,
7518 int *piCount,
7519 int *piSize);
7520
7521 HRESULT (STDMETHODCALLTYPE *GetStreamCaps)(
7522 IAMStreamConfig *This,
7523 int iIndex,
7524 AM_MEDIA_TYPE **pmt,
7525 BYTE *pSCC);
7526
7527 END_INTERFACE
7528} IAMStreamConfigVtbl;
7529
7530interface IAMStreamConfig {
7531 CONST_VTBL IAMStreamConfigVtbl* lpVtbl;
7532};
7533
7534#ifdef COBJMACROS
7535#ifndef WIDL_C_INLINE_WRAPPERS
7536/*** IUnknown methods ***/
7537#define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7538#define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
7539#define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This)
7540/*** IAMStreamConfig methods ***/
7541#define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt)
7542#define IAMStreamConfig_GetFormat(This,pmt) (This)->lpVtbl->GetFormat(This,pmt)
7543#define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize)
7544#define IAMStreamConfig_GetStreamCaps(This,iIndex,pmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC)
7545#else
7546/*** IUnknown methods ***/
7547static inline HRESULT IAMStreamConfig_QueryInterface(IAMStreamConfig* This,REFIID riid,void **ppvObject) {
7548 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7549}
7550static inline ULONG IAMStreamConfig_AddRef(IAMStreamConfig* This) {
7551 return This->lpVtbl->AddRef(This);
7552}
7553static inline ULONG IAMStreamConfig_Release(IAMStreamConfig* This) {
7554 return This->lpVtbl->Release(This);
7555}
7556/*** IAMStreamConfig methods ***/
7557static inline HRESULT IAMStreamConfig_SetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE *pmt) {
7558 return This->lpVtbl->SetFormat(This,pmt);
7559}
7560static inline HRESULT IAMStreamConfig_GetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE **pmt) {
7561 return This->lpVtbl->GetFormat(This,pmt);
7562}
7563static inline HRESULT IAMStreamConfig_GetNumberOfCapabilities(IAMStreamConfig* This,int *piCount,int *piSize) {
7564 return This->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize);
7565}
7566static inline HRESULT IAMStreamConfig_GetStreamCaps(IAMStreamConfig* This,int iIndex,AM_MEDIA_TYPE **pmt,BYTE *pSCC) {
7567 return This->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC);
7568}
7569#endif
7570#endif
7571
7572#endif
7573
7574
7575#endif /* __IAMStreamConfig_INTERFACE_DEFINED__ */
7576
7577typedef enum tagVideoProcAmpProperty {
7578 VideoProcAmp_Brightness = 0,
7579 VideoProcAmp_Contrast = 1,
7580 VideoProcAmp_Hue = 2,
7581 VideoProcAmp_Saturation = 3,
7582 VideoProcAmp_Sharpness = 4,
7583 VideoProcAmp_Gamma = 5,
7584 VideoProcAmp_ColorEnable = 6,
7585 VideoProcAmp_WhiteBalance = 7,
7586 VideoProcAmp_BacklightCompensation = 8,
7587 VideoProcAmp_Gain = 9
7588} VideoProcAmpProperty;
7589typedef enum tagVideoProcAmpFlags {
7590 VideoProcAmp_Flags_Auto = 0x1,
7591 VideoProcAmp_Flags_Manual = 0x2
7592} VideoProcAmpFlags;
7593/*****************************************************************************
7594 * IAMVideoProcAmp interface
7595 */
7596#ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
7597#define __IAMVideoProcAmp_INTERFACE_DEFINED__
7598
7599DEFINE_GUID(IID_IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
7600#if defined(__cplusplus) && !defined(CINTERFACE)
7601MIDL_INTERFACE("c6e13360-30ac-11d0-a18c-00a0c9118956")
7602IAMVideoProcAmp : public IUnknown
7603{
7604 virtual HRESULT STDMETHODCALLTYPE GetRange(
7605 LONG Property,
7606 LONG *pMin,
7607 LONG *pMax,
7608 LONG *pSteppingDelta,
7609 LONG *pDefault,
7610 LONG *pCapsFlags) = 0;
7611
7612 virtual HRESULT STDMETHODCALLTYPE Set(
7613 LONG Property,
7614 LONG lValue,
7615 LONG Flags) = 0;
7616
7617 virtual HRESULT STDMETHODCALLTYPE Get(
7618 LONG Property,
7619 LONG *lValue,
7620 LONG *Flags) = 0;
7621
7622};
7623#ifdef __CRT_UUID_DECL
7624__CRT_UUID_DECL(IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
7625#endif
7626#else
7627typedef struct IAMVideoProcAmpVtbl {
7628 BEGIN_INTERFACE
7629
7630 /*** IUnknown methods ***/
7631 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7632 IAMVideoProcAmp *This,
7633 REFIID riid,
7634 void **ppvObject);
7635
7636 ULONG (STDMETHODCALLTYPE *AddRef)(
7637 IAMVideoProcAmp *This);
7638
7639 ULONG (STDMETHODCALLTYPE *Release)(
7640 IAMVideoProcAmp *This);
7641
7642 /*** IAMVideoProcAmp methods ***/
7643 HRESULT (STDMETHODCALLTYPE *GetRange)(
7644 IAMVideoProcAmp *This,
7645 LONG Property,
7646 LONG *pMin,
7647 LONG *pMax,
7648 LONG *pSteppingDelta,
7649 LONG *pDefault,
7650 LONG *pCapsFlags);
7651
7652 HRESULT (STDMETHODCALLTYPE *Set)(
7653 IAMVideoProcAmp *This,
7654 LONG Property,
7655 LONG lValue,
7656 LONG Flags);
7657
7658 HRESULT (STDMETHODCALLTYPE *Get)(
7659 IAMVideoProcAmp *This,
7660 LONG Property,
7661 LONG *lValue,
7662 LONG *Flags);
7663
7664 END_INTERFACE
7665} IAMVideoProcAmpVtbl;
7666
7667interface IAMVideoProcAmp {
7668 CONST_VTBL IAMVideoProcAmpVtbl* lpVtbl;
7669};
7670
7671#ifdef COBJMACROS
7672#ifndef WIDL_C_INLINE_WRAPPERS
7673/*** IUnknown methods ***/
7674#define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7675#define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This)
7676#define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This)
7677/*** IAMVideoProcAmp methods ***/
7678#define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
7679#define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
7680#define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
7681#else
7682/*** IUnknown methods ***/
7683static inline HRESULT IAMVideoProcAmp_QueryInterface(IAMVideoProcAmp* This,REFIID riid,void **ppvObject) {
7684 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7685}
7686static inline ULONG IAMVideoProcAmp_AddRef(IAMVideoProcAmp* This) {
7687 return This->lpVtbl->AddRef(This);
7688}
7689static inline ULONG IAMVideoProcAmp_Release(IAMVideoProcAmp* This) {
7690 return This->lpVtbl->Release(This);
7691}
7692/*** IAMVideoProcAmp methods ***/
7693static inline HRESULT IAMVideoProcAmp_GetRange(IAMVideoProcAmp* This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) {
7694 return This->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags);
7695}
7696static inline HRESULT IAMVideoProcAmp_Set(IAMVideoProcAmp* This,LONG Property,LONG lValue,LONG Flags) {
7697 return This->lpVtbl->Set(This,Property,lValue,Flags);
7698}
7699static inline HRESULT IAMVideoProcAmp_Get(IAMVideoProcAmp* This,LONG Property,LONG *lValue,LONG *Flags) {
7700 return This->lpVtbl->Get(This,Property,lValue,Flags);
7701}
7702#endif
7703#endif
7704
7705#endif
7706
7707
7708#endif /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
7709
7710/*****************************************************************************
7711 * IAsyncReader interface
7712 */
7713#ifndef __IAsyncReader_INTERFACE_DEFINED__
7714#define __IAsyncReader_INTERFACE_DEFINED__
7715
7716DEFINE_GUID(IID_IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
7717#if defined(__cplusplus) && !defined(CINTERFACE)
7718MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
7719IAsyncReader : public IUnknown
7720{
7721 virtual HRESULT STDMETHODCALLTYPE RequestAllocator(
7722 IMemAllocator *pPreferred,
7723 ALLOCATOR_PROPERTIES *pProps,
7724 IMemAllocator **ppActual) = 0;
7725
7726 virtual HRESULT STDMETHODCALLTYPE Request(
7727 IMediaSample *pSample,
7728 DWORD_PTR dwUser) = 0;
7729
7730 virtual HRESULT STDMETHODCALLTYPE WaitForNext(
7731 DWORD dwTimeout,
7732 IMediaSample **ppSample,
7733 DWORD_PTR *pdwUser) = 0;
7734
7735 virtual HRESULT STDMETHODCALLTYPE SyncReadAligned(
7736 IMediaSample *pSample) = 0;
7737
7738 virtual HRESULT STDMETHODCALLTYPE SyncRead(
7739 LONGLONG llPosition,
7740 LONG lLength,
7741 BYTE *pBuffer) = 0;
7742
7743 virtual HRESULT STDMETHODCALLTYPE Length(
7744 LONGLONG *pTotal,
7745 LONGLONG *pAvailable) = 0;
7746
7747 virtual HRESULT STDMETHODCALLTYPE BeginFlush(
7748 ) = 0;
7749
7750 virtual HRESULT STDMETHODCALLTYPE EndFlush(
7751 ) = 0;
7752
7753};
7754#ifdef __CRT_UUID_DECL
7755__CRT_UUID_DECL(IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
7756#endif
7757#else
7758typedef struct IAsyncReaderVtbl {
7759 BEGIN_INTERFACE
7760
7761 /*** IUnknown methods ***/
7762 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7763 IAsyncReader *This,
7764 REFIID riid,
7765 void **ppvObject);
7766
7767 ULONG (STDMETHODCALLTYPE *AddRef)(
7768 IAsyncReader *This);
7769
7770 ULONG (STDMETHODCALLTYPE *Release)(
7771 IAsyncReader *This);
7772
7773 /*** IAsyncReader methods ***/
7774 HRESULT (STDMETHODCALLTYPE *RequestAllocator)(
7775 IAsyncReader *This,
7776 IMemAllocator *pPreferred,
7777 ALLOCATOR_PROPERTIES *pProps,
7778 IMemAllocator **ppActual);
7779
7780 HRESULT (STDMETHODCALLTYPE *Request)(
7781 IAsyncReader *This,
7782 IMediaSample *pSample,
7783 DWORD_PTR dwUser);
7784
7785 HRESULT (STDMETHODCALLTYPE *WaitForNext)(
7786 IAsyncReader *This,
7787 DWORD dwTimeout,
7788 IMediaSample **ppSample,
7789 DWORD_PTR *pdwUser);
7790
7791 HRESULT (STDMETHODCALLTYPE *SyncReadAligned)(
7792 IAsyncReader *This,
7793 IMediaSample *pSample);
7794
7795 HRESULT (STDMETHODCALLTYPE *SyncRead)(
7796 IAsyncReader *This,
7797 LONGLONG llPosition,
7798 LONG lLength,
7799 BYTE *pBuffer);
7800
7801 HRESULT (STDMETHODCALLTYPE *Length)(
7802 IAsyncReader *This,
7803 LONGLONG *pTotal,
7804 LONGLONG *pAvailable);
7805
7806 HRESULT (STDMETHODCALLTYPE *BeginFlush)(
7807 IAsyncReader *This);
7808
7809 HRESULT (STDMETHODCALLTYPE *EndFlush)(
7810 IAsyncReader *This);
7811
7812 END_INTERFACE
7813} IAsyncReaderVtbl;
7814
7815interface IAsyncReader {
7816 CONST_VTBL IAsyncReaderVtbl* lpVtbl;
7817};
7818
7819#ifdef COBJMACROS
7820#ifndef WIDL_C_INLINE_WRAPPERS
7821/*** IUnknown methods ***/
7822#define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7823#define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This)
7824#define IAsyncReader_Release(This) (This)->lpVtbl->Release(This)
7825/*** IAsyncReader methods ***/
7826#define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual)
7827#define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser)
7828#define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser)
7829#define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample)
7830#define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer)
7831#define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable)
7832#define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
7833#define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This)
7834#else
7835/*** IUnknown methods ***/
7836static inline HRESULT IAsyncReader_QueryInterface(IAsyncReader* This,REFIID riid,void **ppvObject) {
7837 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7838}
7839static inline ULONG IAsyncReader_AddRef(IAsyncReader* This) {
7840 return This->lpVtbl->AddRef(This);
7841}
7842static inline ULONG IAsyncReader_Release(IAsyncReader* This) {
7843 return This->lpVtbl->Release(This);
7844}
7845/*** IAsyncReader methods ***/
7846static inline HRESULT IAsyncReader_RequestAllocator(IAsyncReader* This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) {
7847 return This->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual);
7848}
7849static inline HRESULT IAsyncReader_Request(IAsyncReader* This,IMediaSample *pSample,DWORD_PTR dwUser) {
7850 return This->lpVtbl->Request(This,pSample,dwUser);
7851}
7852static inline HRESULT IAsyncReader_WaitForNext(IAsyncReader* This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) {
7853 return This->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser);
7854}
7855static inline HRESULT IAsyncReader_SyncReadAligned(IAsyncReader* This,IMediaSample *pSample) {
7856 return This->lpVtbl->SyncReadAligned(This,pSample);
7857}
7858static inline HRESULT IAsyncReader_SyncRead(IAsyncReader* This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer) {
7859 return This->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer);
7860}
7861static inline HRESULT IAsyncReader_Length(IAsyncReader* This,LONGLONG *pTotal,LONGLONG *pAvailable) {
7862 return This->lpVtbl->Length(This,pTotal,pAvailable);
7863}
7864static inline HRESULT IAsyncReader_BeginFlush(IAsyncReader* This) {
7865 return This->lpVtbl->BeginFlush(This);
7866}
7867static inline HRESULT IAsyncReader_EndFlush(IAsyncReader* This) {
7868 return This->lpVtbl->EndFlush(This);
7869}
7870#endif
7871#endif
7872
7873#endif
7874
7875
7876#endif /* __IAsyncReader_INTERFACE_DEFINED__ */
7877
7878/*****************************************************************************
7879 * IGraphVersion interface
7880 */
7881#ifndef __IGraphVersion_INTERFACE_DEFINED__
7882#define __IGraphVersion_INTERFACE_DEFINED__
7883
7884DEFINE_GUID(IID_IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
7885#if defined(__cplusplus) && !defined(CINTERFACE)
7886MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
7887IGraphVersion : public IUnknown
7888{
7889 virtual HRESULT STDMETHODCALLTYPE QueryVersion(
7890 LONG *pVersion) = 0;
7891
7892};
7893#ifdef __CRT_UUID_DECL
7894__CRT_UUID_DECL(IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
7895#endif
7896#else
7897typedef struct IGraphVersionVtbl {
7898 BEGIN_INTERFACE
7899
7900 /*** IUnknown methods ***/
7901 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7902 IGraphVersion *This,
7903 REFIID riid,
7904 void **ppvObject);
7905
7906 ULONG (STDMETHODCALLTYPE *AddRef)(
7907 IGraphVersion *This);
7908
7909 ULONG (STDMETHODCALLTYPE *Release)(
7910 IGraphVersion *This);
7911
7912 /*** IGraphVersion methods ***/
7913 HRESULT (STDMETHODCALLTYPE *QueryVersion)(
7914 IGraphVersion *This,
7915 LONG *pVersion);
7916
7917 END_INTERFACE
7918} IGraphVersionVtbl;
7919
7920interface IGraphVersion {
7921 CONST_VTBL IGraphVersionVtbl* lpVtbl;
7922};
7923
7924#ifdef COBJMACROS
7925#ifndef WIDL_C_INLINE_WRAPPERS
7926/*** IUnknown methods ***/
7927#define IGraphVersion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7928#define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This)
7929#define IGraphVersion_Release(This) (This)->lpVtbl->Release(This)
7930/*** IGraphVersion methods ***/
7931#define IGraphVersion_QueryVersion(This,pVersion) (This)->lpVtbl->QueryVersion(This,pVersion)
7932#else
7933/*** IUnknown methods ***/
7934static inline HRESULT IGraphVersion_QueryInterface(IGraphVersion* This,REFIID riid,void **ppvObject) {
7935 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7936}
7937static inline ULONG IGraphVersion_AddRef(IGraphVersion* This) {
7938 return This->lpVtbl->AddRef(This);
7939}
7940static inline ULONG IGraphVersion_Release(IGraphVersion* This) {
7941 return This->lpVtbl->Release(This);
7942}
7943/*** IGraphVersion methods ***/
7944static inline HRESULT IGraphVersion_QueryVersion(IGraphVersion* This,LONG *pVersion) {
7945 return This->lpVtbl->QueryVersion(This,pVersion);
7946}
7947#endif
7948#endif
7949
7950#endif
7951
7952
7953#endif /* __IGraphVersion_INTERFACE_DEFINED__ */
7954
7955/*****************************************************************************
7956 * IResourceConsumer interface
7957 */
7958#ifndef __IResourceConsumer_INTERFACE_DEFINED__
7959#define __IResourceConsumer_INTERFACE_DEFINED__
7960
7961DEFINE_GUID(IID_IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
7962#if defined(__cplusplus) && !defined(CINTERFACE)
7963MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
7964IResourceConsumer : public IUnknown
7965{
7966 virtual HRESULT STDMETHODCALLTYPE AcquireResource(
7967 LONG idResource) = 0;
7968
7969 virtual HRESULT STDMETHODCALLTYPE ReleaseResource(
7970 LONG idResource) = 0;
7971
7972};
7973#ifdef __CRT_UUID_DECL
7974__CRT_UUID_DECL(IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
7975#endif
7976#else
7977typedef struct IResourceConsumerVtbl {
7978 BEGIN_INTERFACE
7979
7980 /*** IUnknown methods ***/
7981 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7982 IResourceConsumer *This,
7983 REFIID riid,
7984 void **ppvObject);
7985
7986 ULONG (STDMETHODCALLTYPE *AddRef)(
7987 IResourceConsumer *This);
7988
7989 ULONG (STDMETHODCALLTYPE *Release)(
7990 IResourceConsumer *This);
7991
7992 /*** IResourceConsumer methods ***/
7993 HRESULT (STDMETHODCALLTYPE *AcquireResource)(
7994 IResourceConsumer *This,
7995 LONG idResource);
7996
7997 HRESULT (STDMETHODCALLTYPE *ReleaseResource)(
7998 IResourceConsumer *This,
7999 LONG idResource);
8000
8001 END_INTERFACE
8002} IResourceConsumerVtbl;
8003
8004interface IResourceConsumer {
8005 CONST_VTBL IResourceConsumerVtbl* lpVtbl;
8006};
8007
8008#ifdef COBJMACROS
8009#ifndef WIDL_C_INLINE_WRAPPERS
8010/*** IUnknown methods ***/
8011#define IResourceConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8012#define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This)
8013#define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This)
8014/*** IResourceConsumer methods ***/
8015#define IResourceConsumer_AcquireResource(This,idResource) (This)->lpVtbl->AcquireResource(This,idResource)
8016#define IResourceConsumer_ReleaseResource(This,idResource) (This)->lpVtbl->ReleaseResource(This,idResource)
8017#else
8018/*** IUnknown methods ***/
8019static inline HRESULT IResourceConsumer_QueryInterface(IResourceConsumer* This,REFIID riid,void **ppvObject) {
8020 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8021}
8022static inline ULONG IResourceConsumer_AddRef(IResourceConsumer* This) {
8023 return This->lpVtbl->AddRef(This);
8024}
8025static inline ULONG IResourceConsumer_Release(IResourceConsumer* This) {
8026 return This->lpVtbl->Release(This);
8027}
8028/*** IResourceConsumer methods ***/
8029static inline HRESULT IResourceConsumer_AcquireResource(IResourceConsumer* This,LONG idResource) {
8030 return This->lpVtbl->AcquireResource(This,idResource);
8031}
8032static inline HRESULT IResourceConsumer_ReleaseResource(IResourceConsumer* This,LONG idResource) {
8033 return This->lpVtbl->ReleaseResource(This,idResource);
8034}
8035#endif
8036#endif
8037
8038#endif
8039
8040
8041#endif /* __IResourceConsumer_INTERFACE_DEFINED__ */
8042
8043/*****************************************************************************
8044 * IResourceManager interface
8045 */
8046#ifndef __IResourceManager_INTERFACE_DEFINED__
8047#define __IResourceManager_INTERFACE_DEFINED__
8048
8049DEFINE_GUID(IID_IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
8050#if defined(__cplusplus) && !defined(CINTERFACE)
8051MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
8052IResourceManager : public IUnknown
8053{
8054 virtual HRESULT STDMETHODCALLTYPE Register(
8055 LPCWSTR pName,
8056 LONG cResource,
8057 LONG *plToken) = 0;
8058
8059 virtual HRESULT STDMETHODCALLTYPE RegisterGroup(
8060 LPCWSTR pName,
8061 LONG cResource,
8062 LONG *palTokens,
8063 LONG *plToken) = 0;
8064
8065 virtual HRESULT STDMETHODCALLTYPE RequestResource(
8066 LONG idResource,
8067 IUnknown *pFocusObject,
8068 IResourceConsumer *pConsumer) = 0;
8069
8070 virtual HRESULT STDMETHODCALLTYPE NotifyAcquire(
8071 LONG idResource,
8072 IResourceConsumer *pConsumer,
8073 HRESULT hr) = 0;
8074
8075 virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
8076 LONG idResource,
8077 IResourceConsumer *pConsumer,
8078 WINBOOL bStillWant) = 0;
8079
8080 virtual HRESULT STDMETHODCALLTYPE CancelRequest(
8081 LONG idResource,
8082 IResourceConsumer *pConsumer) = 0;
8083
8084 virtual HRESULT STDMETHODCALLTYPE SetFocus(
8085 IUnknown *pFocusObject) = 0;
8086
8087 virtual HRESULT STDMETHODCALLTYPE ReleaseFocus(
8088 IUnknown *pFocusObject) = 0;
8089
8090};
8091#ifdef __CRT_UUID_DECL
8092__CRT_UUID_DECL(IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
8093#endif
8094#else
8095typedef struct IResourceManagerVtbl {
8096 BEGIN_INTERFACE
8097
8098 /*** IUnknown methods ***/
8099 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8100 IResourceManager *This,
8101 REFIID riid,
8102 void **ppvObject);
8103
8104 ULONG (STDMETHODCALLTYPE *AddRef)(
8105 IResourceManager *This);
8106
8107 ULONG (STDMETHODCALLTYPE *Release)(
8108 IResourceManager *This);
8109
8110 /*** IResourceManager methods ***/
8111 HRESULT (STDMETHODCALLTYPE *Register)(
8112 IResourceManager *This,
8113 LPCWSTR pName,
8114 LONG cResource,
8115 LONG *plToken);
8116
8117 HRESULT (STDMETHODCALLTYPE *RegisterGroup)(
8118 IResourceManager *This,
8119 LPCWSTR pName,
8120 LONG cResource,
8121 LONG *palTokens,
8122 LONG *plToken);
8123
8124 HRESULT (STDMETHODCALLTYPE *RequestResource)(
8125 IResourceManager *This,
8126 LONG idResource,
8127 IUnknown *pFocusObject,
8128 IResourceConsumer *pConsumer);
8129
8130 HRESULT (STDMETHODCALLTYPE *NotifyAcquire)(
8131 IResourceManager *This,
8132 LONG idResource,
8133 IResourceConsumer *pConsumer,
8134 HRESULT hr);
8135
8136 HRESULT (STDMETHODCALLTYPE *NotifyRelease)(
8137 IResourceManager *This,
8138 LONG idResource,
8139 IResourceConsumer *pConsumer,
8140 WINBOOL bStillWant);
8141
8142 HRESULT (STDMETHODCALLTYPE *CancelRequest)(
8143 IResourceManager *This,
8144 LONG idResource,
8145 IResourceConsumer *pConsumer);
8146
8147 HRESULT (STDMETHODCALLTYPE *SetFocus)(
8148 IResourceManager *This,
8149 IUnknown *pFocusObject);
8150
8151 HRESULT (STDMETHODCALLTYPE *ReleaseFocus)(
8152 IResourceManager *This,
8153 IUnknown *pFocusObject);
8154
8155 END_INTERFACE
8156} IResourceManagerVtbl;
8157
8158interface IResourceManager {
8159 CONST_VTBL IResourceManagerVtbl* lpVtbl;
8160};
8161
8162#ifdef COBJMACROS
8163#ifndef WIDL_C_INLINE_WRAPPERS
8164/*** IUnknown methods ***/
8165#define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8166#define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
8167#define IResourceManager_Release(This) (This)->lpVtbl->Release(This)
8168/*** IResourceManager methods ***/
8169#define IResourceManager_Register(This,pName,cResource,plToken) (This)->lpVtbl->Register(This,pName,cResource,plToken)
8170#define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) (This)->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken)
8171#define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) (This)->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer)
8172#define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) (This)->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr)
8173#define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) (This)->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant)
8174#define IResourceManager_CancelRequest(This,idResource,pConsumer) (This)->lpVtbl->CancelRequest(This,idResource,pConsumer)
8175#define IResourceManager_SetFocus(This,pFocusObject) (This)->lpVtbl->SetFocus(This,pFocusObject)
8176#define IResourceManager_ReleaseFocus(This,pFocusObject) (This)->lpVtbl->ReleaseFocus(This,pFocusObject)
8177#else
8178/*** IUnknown methods ***/
8179static inline HRESULT IResourceManager_QueryInterface(IResourceManager* This,REFIID riid,void **ppvObject) {
8180 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8181}
8182static inline ULONG IResourceManager_AddRef(IResourceManager* This) {
8183 return This->lpVtbl->AddRef(This);
8184}
8185static inline ULONG IResourceManager_Release(IResourceManager* This) {
8186 return This->lpVtbl->Release(This);
8187}
8188/*** IResourceManager methods ***/
8189static inline HRESULT IResourceManager_Register(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *plToken) {
8190 return This->lpVtbl->Register(This,pName,cResource,plToken);
8191}
8192static inline HRESULT IResourceManager_RegisterGroup(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken) {
8193 return This->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken);
8194}
8195static inline HRESULT IResourceManager_RequestResource(IResourceManager* This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer) {
8196 return This->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer);
8197}
8198static inline HRESULT IResourceManager_NotifyAcquire(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr) {
8199 return This->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr);
8200}
8201static inline HRESULT IResourceManager_NotifyRelease(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant) {
8202 return This->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant);
8203}
8204static inline HRESULT IResourceManager_CancelRequest(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer) {
8205 return This->lpVtbl->CancelRequest(This,idResource,pConsumer);
8206}
8207static inline HRESULT IResourceManager_SetFocus(IResourceManager* This,IUnknown *pFocusObject) {
8208 return This->lpVtbl->SetFocus(This,pFocusObject);
8209}
8210static inline HRESULT IResourceManager_ReleaseFocus(IResourceManager* This,IUnknown *pFocusObject) {
8211 return This->lpVtbl->ReleaseFocus(This,pFocusObject);
8212}
8213#endif
8214#endif
8215
8216#endif
8217
8218
8219#endif /* __IResourceManager_INTERFACE_DEFINED__ */
8220
8221typedef enum AM_STREAM_INFO_FLAGS {
8222 AM_STREAM_INFO_START_DEFINED = 0x1,
8223 AM_STREAM_INFO_STOP_DEFINED = 0x2,
8224 AM_STREAM_INFO_DISCARDING = 0x4,
8225 AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
8226} AM_STREAM_INFO_FLAGS;
8227typedef struct AM_STREAM_INFO {
8228 REFERENCE_TIME tStart;
8229 REFERENCE_TIME tStop;
8230 DWORD dwStartCookie;
8231 DWORD dwStopCookie;
8232 DWORD dwFlags;
8233} AM_STREAM_INFO;
8234/*****************************************************************************
8235 * IAMStreamControl interface
8236 */
8237#ifndef __IAMStreamControl_INTERFACE_DEFINED__
8238#define __IAMStreamControl_INTERFACE_DEFINED__
8239
8240DEFINE_GUID(IID_IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
8241#if defined(__cplusplus) && !defined(CINTERFACE)
8242MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
8243IAMStreamControl : public IUnknown
8244{
8245 virtual HRESULT STDMETHODCALLTYPE StartAt(
8246 const REFERENCE_TIME *ptStart,
8247 DWORD dwCookie) = 0;
8248
8249 virtual HRESULT STDMETHODCALLTYPE StopAt(
8250 const REFERENCE_TIME *ptStop,
8251 WINBOOL bSendExtra,
8252 DWORD dwCookie) = 0;
8253
8254 virtual HRESULT STDMETHODCALLTYPE GetInfo(
8255 AM_STREAM_INFO *pInfo) = 0;
8256
8257};
8258#ifdef __CRT_UUID_DECL
8259__CRT_UUID_DECL(IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
8260#endif
8261#else
8262typedef struct IAMStreamControlVtbl {
8263 BEGIN_INTERFACE
8264
8265 /*** IUnknown methods ***/
8266 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8267 IAMStreamControl *This,
8268 REFIID riid,
8269 void **ppvObject);
8270
8271 ULONG (STDMETHODCALLTYPE *AddRef)(
8272 IAMStreamControl *This);
8273
8274 ULONG (STDMETHODCALLTYPE *Release)(
8275 IAMStreamControl *This);
8276
8277 /*** IAMStreamControl methods ***/
8278 HRESULT (STDMETHODCALLTYPE *StartAt)(
8279 IAMStreamControl *This,
8280 const REFERENCE_TIME *ptStart,
8281 DWORD dwCookie);
8282
8283 HRESULT (STDMETHODCALLTYPE *StopAt)(
8284 IAMStreamControl *This,
8285 const REFERENCE_TIME *ptStop,
8286 WINBOOL bSendExtra,
8287 DWORD dwCookie);
8288
8289 HRESULT (STDMETHODCALLTYPE *GetInfo)(
8290 IAMStreamControl *This,
8291 AM_STREAM_INFO *pInfo);
8292
8293 END_INTERFACE
8294} IAMStreamControlVtbl;
8295
8296interface IAMStreamControl {
8297 CONST_VTBL IAMStreamControlVtbl* lpVtbl;
8298};
8299
8300#ifdef COBJMACROS
8301#ifndef WIDL_C_INLINE_WRAPPERS
8302/*** IUnknown methods ***/
8303#define IAMStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8304#define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
8305#define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This)
8306/*** IAMStreamControl methods ***/
8307#define IAMStreamControl_StartAt(This,ptStart,dwCookie) (This)->lpVtbl->StartAt(This,ptStart,dwCookie)
8308#define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) (This)->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie)
8309#define IAMStreamControl_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
8310#else
8311/*** IUnknown methods ***/
8312static inline HRESULT IAMStreamControl_QueryInterface(IAMStreamControl* This,REFIID riid,void **ppvObject) {
8313 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8314}
8315static inline ULONG IAMStreamControl_AddRef(IAMStreamControl* This) {
8316 return This->lpVtbl->AddRef(This);
8317}
8318static inline ULONG IAMStreamControl_Release(IAMStreamControl* This) {
8319 return This->lpVtbl->Release(This);
8320}
8321/*** IAMStreamControl methods ***/
8322static inline HRESULT IAMStreamControl_StartAt(IAMStreamControl* This,const REFERENCE_TIME *ptStart,DWORD dwCookie) {
8323 return This->lpVtbl->StartAt(This,ptStart,dwCookie);
8324}
8325static inline HRESULT IAMStreamControl_StopAt(IAMStreamControl* This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie) {
8326 return This->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie);
8327}
8328static inline HRESULT IAMStreamControl_GetInfo(IAMStreamControl* This,AM_STREAM_INFO *pInfo) {
8329 return This->lpVtbl->GetInfo(This,pInfo);
8330}
8331#endif
8332#endif
8333
8334#endif
8335
8336
8337#endif /* __IAMStreamControl_INTERFACE_DEFINED__ */
8338
8339#ifndef _IKsPropertySet_
8340#define _IKsPropertySet_
8341#define KSPROPERTY_SUPPORT_GET 1
8342#define KSPROPERTY_SUPPORT_SET 2
8343typedef enum AMPROPERTY_PIN {
8344 AMPROPERTY_PIN_CATEGORY = 0,
8345 AMPROPERTY_PIN_MEDIUM = 1
8346} AMPROPERTY_PIN;
8347/*****************************************************************************
8348 * IKsPropertySet interface
8349 */
8350#ifndef __IKsPropertySet_INTERFACE_DEFINED__
8351#define __IKsPropertySet_INTERFACE_DEFINED__
8352
8353DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93);
8354#if defined(__cplusplus) && !defined(CINTERFACE)
8355MIDL_INTERFACE("31efac30-515c-11d0-a9aa-00aa0061be93")
8356IKsPropertySet : public IUnknown
8357{
8358 virtual HRESULT STDMETHODCALLTYPE Set(
8359 REFGUID guidPropSet,
8360 DWORD dwPropID,
8361 LPVOID pInstanceData,
8362 DWORD cbInstanceData,
8363 LPVOID pPropData,
8364 DWORD cbPropData) = 0;
8365
8366 virtual HRESULT STDMETHODCALLTYPE Get(
8367 REFGUID guidPropSet,
8368 DWORD dwPropID,
8369 LPVOID pInstanceData,
8370 DWORD cbInstanceData,
8371 LPVOID pPropData,
8372 DWORD cbPropData,
8373 DWORD *pcbReturned) = 0;
8374
8375 virtual HRESULT STDMETHODCALLTYPE QuerySupported(
8376 REFGUID guidPropSet,
8377 DWORD dwPropID,
8378 DWORD *pTypeSupport) = 0;
8379
8380};
8381#ifdef __CRT_UUID_DECL
8382__CRT_UUID_DECL(IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93)
8383#endif
8384#else
8385typedef struct IKsPropertySetVtbl {
8386 BEGIN_INTERFACE
8387
8388 /*** IUnknown methods ***/
8389 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8390 IKsPropertySet *This,
8391 REFIID riid,
8392 void **ppvObject);
8393
8394 ULONG (STDMETHODCALLTYPE *AddRef)(
8395 IKsPropertySet *This);
8396
8397 ULONG (STDMETHODCALLTYPE *Release)(
8398 IKsPropertySet *This);
8399
8400 /*** IKsPropertySet methods ***/
8401 HRESULT (STDMETHODCALLTYPE *Set)(
8402 IKsPropertySet *This,
8403 REFGUID guidPropSet,
8404 DWORD dwPropID,
8405 LPVOID pInstanceData,
8406 DWORD cbInstanceData,
8407 LPVOID pPropData,
8408 DWORD cbPropData);
8409
8410 HRESULT (STDMETHODCALLTYPE *Get)(
8411 IKsPropertySet *This,
8412 REFGUID guidPropSet,
8413 DWORD dwPropID,
8414 LPVOID pInstanceData,
8415 DWORD cbInstanceData,
8416 LPVOID pPropData,
8417 DWORD cbPropData,
8418 DWORD *pcbReturned);
8419
8420 HRESULT (STDMETHODCALLTYPE *QuerySupported)(
8421 IKsPropertySet *This,
8422 REFGUID guidPropSet,
8423 DWORD dwPropID,
8424 DWORD *pTypeSupport);
8425
8426 END_INTERFACE
8427} IKsPropertySetVtbl;
8428
8429interface IKsPropertySet {
8430 CONST_VTBL IKsPropertySetVtbl* lpVtbl;
8431};
8432
8433#ifdef COBJMACROS
8434#ifndef WIDL_C_INLINE_WRAPPERS
8435/*** IUnknown methods ***/
8436#define IKsPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8437#define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
8438#define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This)
8439/*** IKsPropertySet methods ***/
8440#define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) (This)->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
8441#define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) (This)->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
8442#define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) (This)->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
8443#else
8444/*** IUnknown methods ***/
8445static inline HRESULT IKsPropertySet_QueryInterface(IKsPropertySet* This,REFIID riid,void **ppvObject) {
8446 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8447}
8448static inline ULONG IKsPropertySet_AddRef(IKsPropertySet* This) {
8449 return This->lpVtbl->AddRef(This);
8450}
8451static inline ULONG IKsPropertySet_Release(IKsPropertySet* This) {
8452 return This->lpVtbl->Release(This);
8453}
8454/*** IKsPropertySet methods ***/
8455static inline HRESULT IKsPropertySet_Set(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData) {
8456 return This->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
8457}
8458static inline HRESULT IKsPropertySet_Get(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned) {
8459 return This->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned);
8460}
8461static inline HRESULT IKsPropertySet_QuerySupported(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport) {
8462 return This->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport);
8463}
8464#endif
8465#endif
8466
8467#endif
8468
8469
8470#endif /* __IKsPropertySet_INTERFACE_DEFINED__ */
8471
8472#endif /* _IKsPropertySet_ */
8473/*****************************************************************************
8474 * IMediaPropertyBag interface
8475 */
8476#ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
8477#define __IMediaPropertyBag_INTERFACE_DEFINED__
8478
8479typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
8480DEFINE_GUID(IID_IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86);
8481#if defined(__cplusplus) && !defined(CINTERFACE)
8482MIDL_INTERFACE("6025a880-c0d5-11d0-bd4e-00a0c911ce86")
8483IMediaPropertyBag : public IPropertyBag
8484{
8485 virtual HRESULT STDMETHODCALLTYPE EnumProperty(
8486 ULONG iProperty,
8487 VARIANT *pvarPropertyName,
8488 VARIANT *pvarPropertyValue) = 0;
8489
8490};
8491#ifdef __CRT_UUID_DECL
8492__CRT_UUID_DECL(IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86)
8493#endif
8494#else
8495typedef struct IMediaPropertyBagVtbl {
8496 BEGIN_INTERFACE
8497
8498 /*** IUnknown methods ***/
8499 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8500 IMediaPropertyBag *This,
8501 REFIID riid,
8502 void **ppvObject);
8503
8504 ULONG (STDMETHODCALLTYPE *AddRef)(
8505 IMediaPropertyBag *This);
8506
8507 ULONG (STDMETHODCALLTYPE *Release)(
8508 IMediaPropertyBag *This);
8509
8510 /*** IPropertyBag methods ***/
8511 HRESULT (STDMETHODCALLTYPE *Read)(
8512 IMediaPropertyBag *This,
8513 LPCOLESTR pszPropName,
8514 VARIANT *pVar,
8515 IErrorLog *pErrorLog);
8516
8517 HRESULT (STDMETHODCALLTYPE *Write)(
8518 IMediaPropertyBag *This,
8519 LPCOLESTR pszPropName,
8520 VARIANT *pVar);
8521
8522 /*** IMediaPropertyBag methods ***/
8523 HRESULT (STDMETHODCALLTYPE *EnumProperty)(
8524 IMediaPropertyBag *This,
8525 ULONG iProperty,
8526 VARIANT *pvarPropertyName,
8527 VARIANT *pvarPropertyValue);
8528
8529 END_INTERFACE
8530} IMediaPropertyBagVtbl;
8531
8532interface IMediaPropertyBag {
8533 CONST_VTBL IMediaPropertyBagVtbl* lpVtbl;
8534};
8535
8536#ifdef COBJMACROS
8537#ifndef WIDL_C_INLINE_WRAPPERS
8538/*** IUnknown methods ***/
8539#define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8540#define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
8541#define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
8542/*** IPropertyBag methods ***/
8543#define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog)
8544#define IMediaPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar)
8545/*** IMediaPropertyBag methods ***/
8546#define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) (This)->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
8547#else
8548/*** IUnknown methods ***/
8549static inline HRESULT IMediaPropertyBag_QueryInterface(IMediaPropertyBag* This,REFIID riid,void **ppvObject) {
8550 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8551}
8552static inline ULONG IMediaPropertyBag_AddRef(IMediaPropertyBag* This) {
8553 return This->lpVtbl->AddRef(This);
8554}
8555static inline ULONG IMediaPropertyBag_Release(IMediaPropertyBag* This) {
8556 return This->lpVtbl->Release(This);
8557}
8558/*** IPropertyBag methods ***/
8559static inline HRESULT IMediaPropertyBag_Read(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) {
8560 return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog);
8561}
8562static inline HRESULT IMediaPropertyBag_Write(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar) {
8563 return This->lpVtbl->Write(This,pszPropName,pVar);
8564}
8565/*** IMediaPropertyBag methods ***/
8566static inline HRESULT IMediaPropertyBag_EnumProperty(IMediaPropertyBag* This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue) {
8567 return This->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue);
8568}
8569#endif
8570#endif
8571
8572#endif
8573
8574
8575#endif /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
8576
8577/*****************************************************************************
8578 * IPersistMediaPropertyBag interface
8579 */
8580#ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
8581#define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
8582
8583typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
8584DEFINE_GUID(IID_IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86);
8585#if defined(__cplusplus) && !defined(CINTERFACE)
8586MIDL_INTERFACE("5738e040-b67f-11d0-bd4d-00a0c911ce86")
8587IPersistMediaPropertyBag : public IPersist
8588{
8589 virtual HRESULT STDMETHODCALLTYPE InitNew(
8590 ) = 0;
8591
8592 virtual HRESULT STDMETHODCALLTYPE Load(
8593 IMediaPropertyBag *pPropBag,
8594 IErrorLog *pErrorLog) = 0;
8595
8596 virtual HRESULT STDMETHODCALLTYPE Save(
8597 IMediaPropertyBag *pPropBag,
8598 WINBOOL fClearDirty,
8599 WINBOOL fSaveAllProperties) = 0;
8600
8601};
8602#ifdef __CRT_UUID_DECL
8603__CRT_UUID_DECL(IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86)
8604#endif
8605#else
8606typedef struct IPersistMediaPropertyBagVtbl {
8607 BEGIN_INTERFACE
8608
8609 /*** IUnknown methods ***/
8610 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8611 IPersistMediaPropertyBag *This,
8612 REFIID riid,
8613 void **ppvObject);
8614
8615 ULONG (STDMETHODCALLTYPE *AddRef)(
8616 IPersistMediaPropertyBag *This);
8617
8618 ULONG (STDMETHODCALLTYPE *Release)(
8619 IPersistMediaPropertyBag *This);
8620
8621 /*** IPersist methods ***/
8622 HRESULT (STDMETHODCALLTYPE *GetClassID)(
8623 IPersistMediaPropertyBag *This,
8624 CLSID *pClassID);
8625
8626 /*** IPersistMediaPropertyBag methods ***/
8627 HRESULT (STDMETHODCALLTYPE *InitNew)(
8628 IPersistMediaPropertyBag *This);
8629
8630 HRESULT (STDMETHODCALLTYPE *Load)(
8631 IPersistMediaPropertyBag *This,
8632 IMediaPropertyBag *pPropBag,
8633 IErrorLog *pErrorLog);
8634
8635 HRESULT (STDMETHODCALLTYPE *Save)(
8636 IPersistMediaPropertyBag *This,
8637 IMediaPropertyBag *pPropBag,
8638 WINBOOL fClearDirty,
8639 WINBOOL fSaveAllProperties);
8640
8641 END_INTERFACE
8642} IPersistMediaPropertyBagVtbl;
8643
8644interface IPersistMediaPropertyBag {
8645 CONST_VTBL IPersistMediaPropertyBagVtbl* lpVtbl;
8646};
8647
8648#ifdef COBJMACROS
8649#ifndef WIDL_C_INLINE_WRAPPERS
8650/*** IUnknown methods ***/
8651#define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8652#define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
8653#define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
8654/*** IPersist methods ***/
8655#define IPersistMediaPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
8656/*** IPersistMediaPropertyBag methods ***/
8657#define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This)
8658#define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog)
8659#define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
8660#else
8661/*** IUnknown methods ***/
8662static inline HRESULT IPersistMediaPropertyBag_QueryInterface(IPersistMediaPropertyBag* This,REFIID riid,void **ppvObject) {
8663 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8664}
8665static inline ULONG IPersistMediaPropertyBag_AddRef(IPersistMediaPropertyBag* This) {
8666 return This->lpVtbl->AddRef(This);
8667}
8668static inline ULONG IPersistMediaPropertyBag_Release(IPersistMediaPropertyBag* This) {
8669 return This->lpVtbl->Release(This);
8670}
8671/*** IPersist methods ***/
8672static inline HRESULT IPersistMediaPropertyBag_GetClassID(IPersistMediaPropertyBag* This,CLSID *pClassID) {
8673 return This->lpVtbl->GetClassID(This,pClassID);
8674}
8675/*** IPersistMediaPropertyBag methods ***/
8676static inline HRESULT IPersistMediaPropertyBag_InitNew(IPersistMediaPropertyBag* This) {
8677 return This->lpVtbl->InitNew(This);
8678}
8679static inline HRESULT IPersistMediaPropertyBag_Load(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog) {
8680 return This->lpVtbl->Load(This,pPropBag,pErrorLog);
8681}
8682static inline HRESULT IPersistMediaPropertyBag_Save(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) {
8683 return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties);
8684}
8685#endif
8686#endif
8687
8688#endif
8689
8690
8691#endif /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
8692
8693/*****************************************************************************
8694 * ISeekingPassThru interface
8695 */
8696#ifndef __ISeekingPassThru_INTERFACE_DEFINED__
8697#define __ISeekingPassThru_INTERFACE_DEFINED__
8698
8699DEFINE_GUID(IID_ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
8700#if defined(__cplusplus) && !defined(CINTERFACE)
8701MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
8702ISeekingPassThru : public IUnknown
8703{
8704 virtual HRESULT STDMETHODCALLTYPE Init(
8705 WINBOOL bSupportRendering,
8706 IPin *pPin) = 0;
8707
8708};
8709#ifdef __CRT_UUID_DECL
8710__CRT_UUID_DECL(ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
8711#endif
8712#else
8713typedef struct ISeekingPassThruVtbl {
8714 BEGIN_INTERFACE
8715
8716 /*** IUnknown methods ***/
8717 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8718 ISeekingPassThru *This,
8719 REFIID riid,
8720 void **ppvObject);
8721
8722 ULONG (STDMETHODCALLTYPE *AddRef)(
8723 ISeekingPassThru *This);
8724
8725 ULONG (STDMETHODCALLTYPE *Release)(
8726 ISeekingPassThru *This);
8727
8728 /*** ISeekingPassThru methods ***/
8729 HRESULT (STDMETHODCALLTYPE *Init)(
8730 ISeekingPassThru *This,
8731 WINBOOL bSupportRendering,
8732 IPin *pPin);
8733
8734 END_INTERFACE
8735} ISeekingPassThruVtbl;
8736
8737interface ISeekingPassThru {
8738 CONST_VTBL ISeekingPassThruVtbl* lpVtbl;
8739};
8740
8741#ifdef COBJMACROS
8742#ifndef WIDL_C_INLINE_WRAPPERS
8743/*** IUnknown methods ***/
8744#define ISeekingPassThru_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8745#define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This)
8746#define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This)
8747/*** ISeekingPassThru methods ***/
8748#define ISeekingPassThru_Init(This,bSupportRendering,pPin) (This)->lpVtbl->Init(This,bSupportRendering,pPin)
8749#else
8750/*** IUnknown methods ***/
8751static inline HRESULT ISeekingPassThru_QueryInterface(ISeekingPassThru* This,REFIID riid,void **ppvObject) {
8752 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8753}
8754static inline ULONG ISeekingPassThru_AddRef(ISeekingPassThru* This) {
8755 return This->lpVtbl->AddRef(This);
8756}
8757static inline ULONG ISeekingPassThru_Release(ISeekingPassThru* This) {
8758 return This->lpVtbl->Release(This);
8759}
8760/*** ISeekingPassThru methods ***/
8761static inline HRESULT ISeekingPassThru_Init(ISeekingPassThru* This,WINBOOL bSupportRendering,IPin *pPin) {
8762 return This->lpVtbl->Init(This,bSupportRendering,pPin);
8763}
8764#endif
8765#endif
8766
8767#endif
8768
8769
8770#endif /* __ISeekingPassThru_INTERFACE_DEFINED__ */
8771
8772enum _AM_FILTER_MISC_FLAGS {
8773 AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
8774 AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
8775};
8776/*****************************************************************************
8777 * IAMFilterMiscFlags interface
8778 */
8779#ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
8780#define __IAMFilterMiscFlags_INTERFACE_DEFINED__
8781
8782DEFINE_GUID(IID_IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
8783#if defined(__cplusplus) && !defined(CINTERFACE)
8784MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
8785IAMFilterMiscFlags : public IUnknown
8786{
8787 virtual ULONG STDMETHODCALLTYPE GetMiscFlags(
8788 ) = 0;
8789
8790};
8791#ifdef __CRT_UUID_DECL
8792__CRT_UUID_DECL(IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
8793#endif
8794#else
8795typedef struct IAMFilterMiscFlagsVtbl {
8796 BEGIN_INTERFACE
8797
8798 /*** IUnknown methods ***/
8799 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8800 IAMFilterMiscFlags *This,
8801 REFIID riid,
8802 void **ppvObject);
8803
8804 ULONG (STDMETHODCALLTYPE *AddRef)(
8805 IAMFilterMiscFlags *This);
8806
8807 ULONG (STDMETHODCALLTYPE *Release)(
8808 IAMFilterMiscFlags *This);
8809
8810 /*** IAMFilterMiscFlags methods ***/
8811 ULONG (STDMETHODCALLTYPE *GetMiscFlags)(
8812 IAMFilterMiscFlags *This);
8813
8814 END_INTERFACE
8815} IAMFilterMiscFlagsVtbl;
8816
8817interface IAMFilterMiscFlags {
8818 CONST_VTBL IAMFilterMiscFlagsVtbl* lpVtbl;
8819};
8820
8821#ifdef COBJMACROS
8822#ifndef WIDL_C_INLINE_WRAPPERS
8823/*** IUnknown methods ***/
8824#define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8825#define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This)
8826#define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This)
8827/*** IAMFilterMiscFlags methods ***/
8828#define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This)
8829#else
8830/*** IUnknown methods ***/
8831static inline HRESULT IAMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags* This,REFIID riid,void **ppvObject) {
8832 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8833}
8834static inline ULONG IAMFilterMiscFlags_AddRef(IAMFilterMiscFlags* This) {
8835 return This->lpVtbl->AddRef(This);
8836}
8837static inline ULONG IAMFilterMiscFlags_Release(IAMFilterMiscFlags* This) {
8838 return This->lpVtbl->Release(This);
8839}
8840/*** IAMFilterMiscFlags methods ***/
8841static inline ULONG IAMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags* This) {
8842 return This->lpVtbl->GetMiscFlags(This);
8843}
8844#endif
8845#endif
8846
8847#endif
8848
8849
8850#endif /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
8851
8852/*****************************************************************************
8853 * IAMGraphBuilderCallback interface
8854 */
8855#ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
8856#define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
8857
8858DEFINE_GUID(IID_IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79);
8859#if defined(__cplusplus) && !defined(CINTERFACE)
8860MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79")
8861IAMGraphBuilderCallback : public IUnknown
8862{
8863 virtual HRESULT STDMETHODCALLTYPE SelectedFilter(
8864 IMoniker *pMon) = 0;
8865
8866 virtual HRESULT STDMETHODCALLTYPE CreatedFilter(
8867 IBaseFilter *pFil) = 0;
8868
8869};
8870#ifdef __CRT_UUID_DECL
8871__CRT_UUID_DECL(IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79)
8872#endif
8873#else
8874typedef struct IAMGraphBuilderCallbackVtbl {
8875 BEGIN_INTERFACE
8876
8877 /*** IUnknown methods ***/
8878 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8879 IAMGraphBuilderCallback *This,
8880 REFIID riid,
8881 void **ppvObject);
8882
8883 ULONG (STDMETHODCALLTYPE *AddRef)(
8884 IAMGraphBuilderCallback *This);
8885
8886 ULONG (STDMETHODCALLTYPE *Release)(
8887 IAMGraphBuilderCallback *This);
8888
8889 /*** IAMGraphBuilderCallback methods ***/
8890 HRESULT (STDMETHODCALLTYPE *SelectedFilter)(
8891 IAMGraphBuilderCallback *This,
8892 IMoniker *pMon);
8893
8894 HRESULT (STDMETHODCALLTYPE *CreatedFilter)(
8895 IAMGraphBuilderCallback *This,
8896 IBaseFilter *pFil);
8897
8898 END_INTERFACE
8899} IAMGraphBuilderCallbackVtbl;
8900
8901interface IAMGraphBuilderCallback {
8902 CONST_VTBL IAMGraphBuilderCallbackVtbl* lpVtbl;
8903};
8904
8905#ifdef COBJMACROS
8906#ifndef WIDL_C_INLINE_WRAPPERS
8907/*** IUnknown methods ***/
8908#define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8909#define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
8910#define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This)
8911/*** IAMGraphBuilderCallback methods ***/
8912#define IAMGraphBuilderCallback_SelectedFilter(This,pMon) (This)->lpVtbl->SelectedFilter(This,pMon)
8913#define IAMGraphBuilderCallback_CreatedFilter(This,pFil) (This)->lpVtbl->CreatedFilter(This,pFil)
8914#else
8915/*** IUnknown methods ***/
8916static inline HRESULT IAMGraphBuilderCallback_QueryInterface(IAMGraphBuilderCallback* This,REFIID riid,void **ppvObject) {
8917 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8918}
8919static inline ULONG IAMGraphBuilderCallback_AddRef(IAMGraphBuilderCallback* This) {
8920 return This->lpVtbl->AddRef(This);
8921}
8922static inline ULONG IAMGraphBuilderCallback_Release(IAMGraphBuilderCallback* This) {
8923 return This->lpVtbl->Release(This);
8924}
8925/*** IAMGraphBuilderCallback methods ***/
8926static inline HRESULT IAMGraphBuilderCallback_SelectedFilter(IAMGraphBuilderCallback* This,IMoniker *pMon) {
8927 return This->lpVtbl->SelectedFilter(This,pMon);
8928}
8929static inline HRESULT IAMGraphBuilderCallback_CreatedFilter(IAMGraphBuilderCallback* This,IBaseFilter *pFil) {
8930 return This->lpVtbl->CreatedFilter(This,pFil);
8931}
8932#endif
8933#endif
8934
8935#endif
8936
8937
8938#endif /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
8939
8940/*****************************************************************************
8941 * IAMVfwCaptureDialogs interface
8942 */
8943#ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
8944#define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
8945
8946DEFINE_GUID(IID_IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
8947#if defined(__cplusplus) && !defined(CINTERFACE)
8948MIDL_INTERFACE("d8d715a0-6e5e-11d0-b3f0-00aa003761c5")
8949IAMVfwCaptureDialogs : public IUnknown
8950{
8951 virtual HRESULT STDMETHODCALLTYPE HasDialog(
8952 int dialog) = 0;
8953
8954 virtual HRESULT STDMETHODCALLTYPE ShowDialog(
8955 int dialog,
8956 HWND hwnd) = 0;
8957
8958 virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(
8959 int dialog,
8960 int msg,
8961 LONG data1,
8962 LONG data2) = 0;
8963
8964};
8965#ifdef __CRT_UUID_DECL
8966__CRT_UUID_DECL(IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
8967#endif
8968#else
8969typedef struct IAMVfwCaptureDialogsVtbl {
8970 BEGIN_INTERFACE
8971
8972 /*** IUnknown methods ***/
8973 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8974 IAMVfwCaptureDialogs *This,
8975 REFIID riid,
8976 void **ppvObject);
8977
8978 ULONG (STDMETHODCALLTYPE *AddRef)(
8979 IAMVfwCaptureDialogs *This);
8980
8981 ULONG (STDMETHODCALLTYPE *Release)(
8982 IAMVfwCaptureDialogs *This);
8983
8984 /*** IAMVfwCaptureDialogs methods ***/
8985 HRESULT (STDMETHODCALLTYPE *HasDialog)(
8986 IAMVfwCaptureDialogs *This,
8987 int dialog);
8988
8989 HRESULT (STDMETHODCALLTYPE *ShowDialog)(
8990 IAMVfwCaptureDialogs *This,
8991 int dialog,
8992 HWND hwnd);
8993
8994 HRESULT (STDMETHODCALLTYPE *SendDriverMessage)(
8995 IAMVfwCaptureDialogs *This,
8996 int dialog,
8997 int msg,
8998 LONG data1,
8999 LONG data2);
9000
9001 END_INTERFACE
9002} IAMVfwCaptureDialogsVtbl;
9003
9004interface IAMVfwCaptureDialogs {
9005 CONST_VTBL IAMVfwCaptureDialogsVtbl* lpVtbl;
9006};
9007
9008#ifdef COBJMACROS
9009#ifndef WIDL_C_INLINE_WRAPPERS
9010/*** IUnknown methods ***/
9011#define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9012#define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
9013#define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This)
9014/*** IAMVfwCaptureDialogs methods ***/
9015#define IAMVfwCaptureDialogs_HasDialog(This,dialog) (This)->lpVtbl->HasDialog(This,dialog)
9016#define IAMVfwCaptureDialogs_ShowDialog(This,dialog,hwnd) (This)->lpVtbl->ShowDialog(This,dialog,hwnd)
9017#define IAMVfwCaptureDialogs_SendDriverMessage(This,dialog,msg,data1,data2) (This)->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2)
9018#else
9019/*** IUnknown methods ***/
9020static inline HRESULT IAMVfwCaptureDialogs_QueryInterface(IAMVfwCaptureDialogs* This,REFIID riid,void **ppvObject) {
9021 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9022}
9023static inline ULONG IAMVfwCaptureDialogs_AddRef(IAMVfwCaptureDialogs* This) {
9024 return This->lpVtbl->AddRef(This);
9025}
9026static inline ULONG IAMVfwCaptureDialogs_Release(IAMVfwCaptureDialogs* This) {
9027 return This->lpVtbl->Release(This);
9028}
9029/*** IAMVfwCaptureDialogs methods ***/
9030static inline HRESULT IAMVfwCaptureDialogs_HasDialog(IAMVfwCaptureDialogs* This,int dialog) {
9031 return This->lpVtbl->HasDialog(This,dialog);
9032}
9033static inline HRESULT IAMVfwCaptureDialogs_ShowDialog(IAMVfwCaptureDialogs* This,int dialog,HWND hwnd) {
9034 return This->lpVtbl->ShowDialog(This,dialog,hwnd);
9035}
9036static inline HRESULT IAMVfwCaptureDialogs_SendDriverMessage(IAMVfwCaptureDialogs* This,int dialog,int msg,LONG data1,LONG data2) {
9037 return This->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2);
9038}
9039#endif
9040#endif
9041
9042#endif
9043
9044
9045#endif /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
9046
9047/*****************************************************************************
9048 * IAMCameraControl interface
9049 */
9050#ifndef __IAMCameraControl_INTERFACE_DEFINED__
9051#define __IAMCameraControl_INTERFACE_DEFINED__
9052
9053DEFINE_GUID(IID_IAMCameraControl, 0xc6e13370, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
9054#if defined(__cplusplus) && !defined(CINTERFACE)
9055MIDL_INTERFACE("c6e13370-30ac-11d0-a18c-00a0c9118956")
9056IAMCameraControl : public IUnknown
9057{
9058 virtual HRESULT STDMETHODCALLTYPE GetRange(
9059 LONG property,
9060 LONG *min,
9061 LONG *max,
9062 LONG *stepping_delta,
9063 LONG *default_value,
9064 LONG *flags) = 0;
9065
9066 virtual HRESULT STDMETHODCALLTYPE Set(
9067 LONG property,
9068 LONG property_value,
9069 LONG flags) = 0;
9070
9071 virtual HRESULT STDMETHODCALLTYPE Get(
9072 LONG property,
9073 LONG *property_value,
9074 LONG *flags) = 0;
9075
9076};
9077#ifdef __CRT_UUID_DECL
9078__CRT_UUID_DECL(IAMCameraControl, 0xc6e13370, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
9079#endif
9080#else
9081typedef struct IAMCameraControlVtbl {
9082 BEGIN_INTERFACE
9083
9084 /*** IUnknown methods ***/
9085 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9086 IAMCameraControl *This,
9087 REFIID riid,
9088 void **ppvObject);
9089
9090 ULONG (STDMETHODCALLTYPE *AddRef)(
9091 IAMCameraControl *This);
9092
9093 ULONG (STDMETHODCALLTYPE *Release)(
9094 IAMCameraControl *This);
9095
9096 /*** IAMCameraControl methods ***/
9097 HRESULT (STDMETHODCALLTYPE *GetRange)(
9098 IAMCameraControl *This,
9099 LONG property,
9100 LONG *min,
9101 LONG *max,
9102 LONG *stepping_delta,
9103 LONG *default_value,
9104 LONG *flags);
9105
9106 HRESULT (STDMETHODCALLTYPE *Set)(
9107 IAMCameraControl *This,
9108 LONG property,
9109 LONG property_value,
9110 LONG flags);
9111
9112 HRESULT (STDMETHODCALLTYPE *Get)(
9113 IAMCameraControl *This,
9114 LONG property,
9115 LONG *property_value,
9116 LONG *flags);
9117
9118 END_INTERFACE
9119} IAMCameraControlVtbl;
9120
9121interface IAMCameraControl {
9122 CONST_VTBL IAMCameraControlVtbl* lpVtbl;
9123};
9124
9125#ifdef COBJMACROS
9126#ifndef WIDL_C_INLINE_WRAPPERS
9127/*** IUnknown methods ***/
9128#define IAMCameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9129#define IAMCameraControl_AddRef(This) (This)->lpVtbl->AddRef(This)
9130#define IAMCameraControl_Release(This) (This)->lpVtbl->Release(This)
9131/*** IAMCameraControl methods ***/
9132#define IAMCameraControl_GetRange(This,property,min,max,stepping_delta,default_value,flags) (This)->lpVtbl->GetRange(This,property,min,max,stepping_delta,default_value,flags)
9133#define IAMCameraControl_Set(This,property,property_value,flags) (This)->lpVtbl->Set(This,property,property_value,flags)
9134#define IAMCameraControl_Get(This,property,property_value,flags) (This)->lpVtbl->Get(This,property,property_value,flags)
9135#else
9136/*** IUnknown methods ***/
9137static inline HRESULT IAMCameraControl_QueryInterface(IAMCameraControl* This,REFIID riid,void **ppvObject) {
9138 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9139}
9140static inline ULONG IAMCameraControl_AddRef(IAMCameraControl* This) {
9141 return This->lpVtbl->AddRef(This);
9142}
9143static inline ULONG IAMCameraControl_Release(IAMCameraControl* This) {
9144 return This->lpVtbl->Release(This);
9145}
9146/*** IAMCameraControl methods ***/
9147static inline HRESULT IAMCameraControl_GetRange(IAMCameraControl* This,LONG property,LONG *min,LONG *max,LONG *stepping_delta,LONG *default_value,LONG *flags) {
9148 return This->lpVtbl->GetRange(This,property,min,max,stepping_delta,default_value,flags);
9149}
9150static inline HRESULT IAMCameraControl_Set(IAMCameraControl* This,LONG property,LONG property_value,LONG flags) {
9151 return This->lpVtbl->Set(This,property,property_value,flags);
9152}
9153static inline HRESULT IAMCameraControl_Get(IAMCameraControl* This,LONG property,LONG *property_value,LONG *flags) {
9154 return This->lpVtbl->Get(This,property,property_value,flags);
9155}
9156#endif
9157#endif
9158
9159#endif
9160
9161
9162#endif /* __IAMCameraControl_INTERFACE_DEFINED__ */
9163
9164/*****************************************************************************
9165 * IAMVideoControl interface
9166 */
9167#ifndef __IAMVideoControl_INTERFACE_DEFINED__
9168#define __IAMVideoControl_INTERFACE_DEFINED__
9169
9170DEFINE_GUID(IID_IAMVideoControl, 0x6a2e0670, 0x28e4, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
9171#if defined(__cplusplus) && !defined(CINTERFACE)
9172MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
9173IAMVideoControl : public IUnknown
9174{
9175 virtual HRESULT STDMETHODCALLTYPE GetCaps(
9176 IPin *pin,
9177 LONG *flags) = 0;
9178
9179 virtual HRESULT STDMETHODCALLTYPE SetMode(
9180 IPin *pin,
9181 LONG mode) = 0;
9182
9183 virtual HRESULT STDMETHODCALLTYPE GetMode(
9184 IPin *pin,
9185 LONG *mode) = 0;
9186
9187 virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate(
9188 IPin *pin,
9189 LONGLONG *frame_rate) = 0;
9190
9191 virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate(
9192 IPin *pin,
9193 LONG index,
9194 SIZE dimensions,
9195 LONGLONG *frame_rate) = 0;
9196
9197 virtual HRESULT STDMETHODCALLTYPE GetFrameRateList(
9198 IPin *pin,
9199 LONG index,
9200 SIZE dimensions,
9201 LONG *list_size,
9202 LONGLONG **frame_rate) = 0;
9203
9204};
9205#ifdef __CRT_UUID_DECL
9206__CRT_UUID_DECL(IAMVideoControl, 0x6a2e0670, 0x28e4, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
9207#endif
9208#else
9209typedef struct IAMVideoControlVtbl {
9210 BEGIN_INTERFACE
9211
9212 /*** IUnknown methods ***/
9213 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9214 IAMVideoControl *This,
9215 REFIID riid,
9216 void **ppvObject);
9217
9218 ULONG (STDMETHODCALLTYPE *AddRef)(
9219 IAMVideoControl *This);
9220
9221 ULONG (STDMETHODCALLTYPE *Release)(
9222 IAMVideoControl *This);
9223
9224 /*** IAMVideoControl methods ***/
9225 HRESULT (STDMETHODCALLTYPE *GetCaps)(
9226 IAMVideoControl *This,
9227 IPin *pin,
9228 LONG *flags);
9229
9230 HRESULT (STDMETHODCALLTYPE *SetMode)(
9231 IAMVideoControl *This,
9232 IPin *pin,
9233 LONG mode);
9234
9235 HRESULT (STDMETHODCALLTYPE *GetMode)(
9236 IAMVideoControl *This,
9237 IPin *pin,
9238 LONG *mode);
9239
9240 HRESULT (STDMETHODCALLTYPE *GetCurrentActualFrameRate)(
9241 IAMVideoControl *This,
9242 IPin *pin,
9243 LONGLONG *frame_rate);
9244
9245 HRESULT (STDMETHODCALLTYPE *GetMaxAvailableFrameRate)(
9246 IAMVideoControl *This,
9247 IPin *pin,
9248 LONG index,
9249 SIZE dimensions,
9250 LONGLONG *frame_rate);
9251
9252 HRESULT (STDMETHODCALLTYPE *GetFrameRateList)(
9253 IAMVideoControl *This,
9254 IPin *pin,
9255 LONG index,
9256 SIZE dimensions,
9257 LONG *list_size,
9258 LONGLONG **frame_rate);
9259
9260 END_INTERFACE
9261} IAMVideoControlVtbl;
9262
9263interface IAMVideoControl {
9264 CONST_VTBL IAMVideoControlVtbl* lpVtbl;
9265};
9266
9267#ifdef COBJMACROS
9268#ifndef WIDL_C_INLINE_WRAPPERS
9269/*** IUnknown methods ***/
9270#define IAMVideoControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9271#define IAMVideoControl_AddRef(This) (This)->lpVtbl->AddRef(This)
9272#define IAMVideoControl_Release(This) (This)->lpVtbl->Release(This)
9273/*** IAMVideoControl methods ***/
9274#define IAMVideoControl_GetCaps(This,pin,flags) (This)->lpVtbl->GetCaps(This,pin,flags)
9275#define IAMVideoControl_SetMode(This,pin,mode) (This)->lpVtbl->SetMode(This,pin,mode)
9276#define IAMVideoControl_GetMode(This,pin,mode) (This)->lpVtbl->GetMode(This,pin,mode)
9277#define IAMVideoControl_GetCurrentActualFrameRate(This,pin,frame_rate) (This)->lpVtbl->GetCurrentActualFrameRate(This,pin,frame_rate)
9278#define IAMVideoControl_GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate) (This)->lpVtbl->GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate)
9279#define IAMVideoControl_GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate) (This)->lpVtbl->GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate)
9280#else
9281/*** IUnknown methods ***/
9282static inline HRESULT IAMVideoControl_QueryInterface(IAMVideoControl* This,REFIID riid,void **ppvObject) {
9283 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9284}
9285static inline ULONG IAMVideoControl_AddRef(IAMVideoControl* This) {
9286 return This->lpVtbl->AddRef(This);
9287}
9288static inline ULONG IAMVideoControl_Release(IAMVideoControl* This) {
9289 return This->lpVtbl->Release(This);
9290}
9291/*** IAMVideoControl methods ***/
9292static inline HRESULT IAMVideoControl_GetCaps(IAMVideoControl* This,IPin *pin,LONG *flags) {
9293 return This->lpVtbl->GetCaps(This,pin,flags);
9294}
9295static inline HRESULT IAMVideoControl_SetMode(IAMVideoControl* This,IPin *pin,LONG mode) {
9296 return This->lpVtbl->SetMode(This,pin,mode);
9297}
9298static inline HRESULT IAMVideoControl_GetMode(IAMVideoControl* This,IPin *pin,LONG *mode) {
9299 return This->lpVtbl->GetMode(This,pin,mode);
9300}
9301static inline HRESULT IAMVideoControl_GetCurrentActualFrameRate(IAMVideoControl* This,IPin *pin,LONGLONG *frame_rate) {
9302 return This->lpVtbl->GetCurrentActualFrameRate(This,pin,frame_rate);
9303}
9304static inline HRESULT IAMVideoControl_GetMaxAvailableFrameRate(IAMVideoControl* This,IPin *pin,LONG index,SIZE dimensions,LONGLONG *frame_rate) {
9305 return This->lpVtbl->GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate);
9306}
9307static inline HRESULT IAMVideoControl_GetFrameRateList(IAMVideoControl* This,IPin *pin,LONG index,SIZE dimensions,LONG *list_size,LONGLONG **frame_rate) {
9308 return This->lpVtbl->GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate);
9309}
9310#endif
9311#endif
9312
9313#endif
9314
9315
9316#endif /* __IAMVideoControl_INTERFACE_DEFINED__ */
9317
9318/*****************************************************************************
9319 * IAMBufferNegotiation interface
9320 */
9321#ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
9322#define __IAMBufferNegotiation_INTERFACE_DEFINED__
9323
9324DEFINE_GUID(IID_IAMBufferNegotiation, 0x56ed71a0, 0xaf5f, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
9325#if defined(__cplusplus) && !defined(CINTERFACE)
9326MIDL_INTERFACE("56ed71a0-af5f-11d0-b3f0-00aa003761c5")
9327IAMBufferNegotiation : public IUnknown
9328{
9329 virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties(
9330 const ALLOCATOR_PROPERTIES *prop) = 0;
9331
9332 virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties(
9333 ALLOCATOR_PROPERTIES *prop) = 0;
9334
9335};
9336#ifdef __CRT_UUID_DECL
9337__CRT_UUID_DECL(IAMBufferNegotiation, 0x56ed71a0, 0xaf5f, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
9338#endif
9339#else
9340typedef struct IAMBufferNegotiationVtbl {
9341 BEGIN_INTERFACE
9342
9343 /*** IUnknown methods ***/
9344 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9345 IAMBufferNegotiation *This,
9346 REFIID riid,
9347 void **ppvObject);
9348
9349 ULONG (STDMETHODCALLTYPE *AddRef)(
9350 IAMBufferNegotiation *This);
9351
9352 ULONG (STDMETHODCALLTYPE *Release)(
9353 IAMBufferNegotiation *This);
9354
9355 /*** IAMBufferNegotiation methods ***/
9356 HRESULT (STDMETHODCALLTYPE *SuggestAllocatorProperties)(
9357 IAMBufferNegotiation *This,
9358 const ALLOCATOR_PROPERTIES *prop);
9359
9360 HRESULT (STDMETHODCALLTYPE *GetAllocatorProperties)(
9361 IAMBufferNegotiation *This,
9362 ALLOCATOR_PROPERTIES *prop);
9363
9364 END_INTERFACE
9365} IAMBufferNegotiationVtbl;
9366
9367interface IAMBufferNegotiation {
9368 CONST_VTBL IAMBufferNegotiationVtbl* lpVtbl;
9369};
9370
9371#ifdef COBJMACROS
9372#ifndef WIDL_C_INLINE_WRAPPERS
9373/*** IUnknown methods ***/
9374#define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9375#define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This)
9376#define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This)
9377/*** IAMBufferNegotiation methods ***/
9378#define IAMBufferNegotiation_SuggestAllocatorProperties(This,prop) (This)->lpVtbl->SuggestAllocatorProperties(This,prop)
9379#define IAMBufferNegotiation_GetAllocatorProperties(This,prop) (This)->lpVtbl->GetAllocatorProperties(This,prop)
9380#else
9381/*** IUnknown methods ***/
9382static inline HRESULT IAMBufferNegotiation_QueryInterface(IAMBufferNegotiation* This,REFIID riid,void **ppvObject) {
9383 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9384}
9385static inline ULONG IAMBufferNegotiation_AddRef(IAMBufferNegotiation* This) {
9386 return This->lpVtbl->AddRef(This);
9387}
9388static inline ULONG IAMBufferNegotiation_Release(IAMBufferNegotiation* This) {
9389 return This->lpVtbl->Release(This);
9390}
9391/*** IAMBufferNegotiation methods ***/
9392static inline HRESULT IAMBufferNegotiation_SuggestAllocatorProperties(IAMBufferNegotiation* This,const ALLOCATOR_PROPERTIES *prop) {
9393 return This->lpVtbl->SuggestAllocatorProperties(This,prop);
9394}
9395static inline HRESULT IAMBufferNegotiation_GetAllocatorProperties(IAMBufferNegotiation* This,ALLOCATOR_PROPERTIES *prop) {
9396 return This->lpVtbl->GetAllocatorProperties(This,prop);
9397}
9398#endif
9399#endif
9400
9401#endif
9402
9403
9404#endif /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
9405
9406/*****************************************************************************
9407 * IAMDroppedFrames interface
9408 */
9409#ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
9410#define __IAMDroppedFrames_INTERFACE_DEFINED__
9411
9412DEFINE_GUID(IID_IAMDroppedFrames, 0xc6e13344, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
9413#if defined(__cplusplus) && !defined(CINTERFACE)
9414MIDL_INTERFACE("c6e13344-30ac-11d0-a18c-00a0c9118956")
9415IAMDroppedFrames : public IUnknown
9416{
9417 virtual HRESULT STDMETHODCALLTYPE GetNumDropped(
9418 LONG *number) = 0;
9419
9420 virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped(
9421 LONG *number) = 0;
9422
9423 virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo(
9424 LONG size,
9425 LONG *array,
9426 LONG *copied) = 0;
9427
9428 virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize(
9429 LONG *size) = 0;
9430
9431};
9432#ifdef __CRT_UUID_DECL
9433__CRT_UUID_DECL(IAMDroppedFrames, 0xc6e13344, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
9434#endif
9435#else
9436typedef struct IAMDroppedFramesVtbl {
9437 BEGIN_INTERFACE
9438
9439 /*** IUnknown methods ***/
9440 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9441 IAMDroppedFrames *This,
9442 REFIID riid,
9443 void **ppvObject);
9444
9445 ULONG (STDMETHODCALLTYPE *AddRef)(
9446 IAMDroppedFrames *This);
9447
9448 ULONG (STDMETHODCALLTYPE *Release)(
9449 IAMDroppedFrames *This);
9450
9451 /*** IAMDroppedFrames methods ***/
9452 HRESULT (STDMETHODCALLTYPE *GetNumDropped)(
9453 IAMDroppedFrames *This,
9454 LONG *number);
9455
9456 HRESULT (STDMETHODCALLTYPE *GetNumNotDropped)(
9457 IAMDroppedFrames *This,
9458 LONG *number);
9459
9460 HRESULT (STDMETHODCALLTYPE *GetDroppedInfo)(
9461 IAMDroppedFrames *This,
9462 LONG size,
9463 LONG *array,
9464 LONG *copied);
9465
9466 HRESULT (STDMETHODCALLTYPE *GetAverageFrameSize)(
9467 IAMDroppedFrames *This,
9468 LONG *size);
9469
9470 END_INTERFACE
9471} IAMDroppedFramesVtbl;
9472
9473interface IAMDroppedFrames {
9474 CONST_VTBL IAMDroppedFramesVtbl* lpVtbl;
9475};
9476
9477#ifdef COBJMACROS
9478#ifndef WIDL_C_INLINE_WRAPPERS
9479/*** IUnknown methods ***/
9480#define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9481#define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This)
9482#define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This)
9483/*** IAMDroppedFrames methods ***/
9484#define IAMDroppedFrames_GetNumDropped(This,number) (This)->lpVtbl->GetNumDropped(This,number)
9485#define IAMDroppedFrames_GetNumNotDropped(This,number) (This)->lpVtbl->GetNumNotDropped(This,number)
9486#define IAMDroppedFrames_GetDroppedInfo(This,size,array,copied) (This)->lpVtbl->GetDroppedInfo(This,size,array,copied)
9487#define IAMDroppedFrames_GetAverageFrameSize(This,size) (This)->lpVtbl->GetAverageFrameSize(This,size)
9488#else
9489/*** IUnknown methods ***/
9490static inline HRESULT IAMDroppedFrames_QueryInterface(IAMDroppedFrames* This,REFIID riid,void **ppvObject) {
9491 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9492}
9493static inline ULONG IAMDroppedFrames_AddRef(IAMDroppedFrames* This) {
9494 return This->lpVtbl->AddRef(This);
9495}
9496static inline ULONG IAMDroppedFrames_Release(IAMDroppedFrames* This) {
9497 return This->lpVtbl->Release(This);
9498}
9499/*** IAMDroppedFrames methods ***/
9500static inline HRESULT IAMDroppedFrames_GetNumDropped(IAMDroppedFrames* This,LONG *number) {
9501 return This->lpVtbl->GetNumDropped(This,number);
9502}
9503static inline HRESULT IAMDroppedFrames_GetNumNotDropped(IAMDroppedFrames* This,LONG *number) {
9504 return This->lpVtbl->GetNumNotDropped(This,number);
9505}
9506static inline HRESULT IAMDroppedFrames_GetDroppedInfo(IAMDroppedFrames* This,LONG size,LONG *array,LONG *copied) {
9507 return This->lpVtbl->GetDroppedInfo(This,size,array,copied);
9508}
9509static inline HRESULT IAMDroppedFrames_GetAverageFrameSize(IAMDroppedFrames* This,LONG *size) {
9510 return This->lpVtbl->GetAverageFrameSize(This,size);
9511}
9512#endif
9513#endif
9514
9515#endif
9516
9517
9518#endif /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
9519
9520/*****************************************************************************
9521 * IAMLatency interface
9522 */
9523#ifndef __IAMLatency_INTERFACE_DEFINED__
9524#define __IAMLatency_INTERFACE_DEFINED__
9525
9526DEFINE_GUID(IID_IAMLatency, 0x62ea93ba, 0xec62, 0x11d2, 0xb7,0x70, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
9527#if defined(__cplusplus) && !defined(CINTERFACE)
9528MIDL_INTERFACE("62ea93ba-ec62-11d2-b770-00c04fb6bd3d")
9529IAMLatency : public IUnknown
9530{
9531 virtual HRESULT STDMETHODCALLTYPE GetLatency(
9532 REFERENCE_TIME *latency) = 0;
9533
9534};
9535#ifdef __CRT_UUID_DECL
9536__CRT_UUID_DECL(IAMLatency, 0x62ea93ba, 0xec62, 0x11d2, 0xb7,0x70, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d)
9537#endif
9538#else
9539typedef struct IAMLatencyVtbl {
9540 BEGIN_INTERFACE
9541
9542 /*** IUnknown methods ***/
9543 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9544 IAMLatency *This,
9545 REFIID riid,
9546 void **ppvObject);
9547
9548 ULONG (STDMETHODCALLTYPE *AddRef)(
9549 IAMLatency *This);
9550
9551 ULONG (STDMETHODCALLTYPE *Release)(
9552 IAMLatency *This);
9553
9554 /*** IAMLatency methods ***/
9555 HRESULT (STDMETHODCALLTYPE *GetLatency)(
9556 IAMLatency *This,
9557 REFERENCE_TIME *latency);
9558
9559 END_INTERFACE
9560} IAMLatencyVtbl;
9561
9562interface IAMLatency {
9563 CONST_VTBL IAMLatencyVtbl* lpVtbl;
9564};
9565
9566#ifdef COBJMACROS
9567#ifndef WIDL_C_INLINE_WRAPPERS
9568/*** IUnknown methods ***/
9569#define IAMLatency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9570#define IAMLatency_AddRef(This) (This)->lpVtbl->AddRef(This)
9571#define IAMLatency_Release(This) (This)->lpVtbl->Release(This)
9572/*** IAMLatency methods ***/
9573#define IAMLatency_GetLatency(This,latency) (This)->lpVtbl->GetLatency(This,latency)
9574#else
9575/*** IUnknown methods ***/
9576static inline HRESULT IAMLatency_QueryInterface(IAMLatency* This,REFIID riid,void **ppvObject) {
9577 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9578}
9579static inline ULONG IAMLatency_AddRef(IAMLatency* This) {
9580 return This->lpVtbl->AddRef(This);
9581}
9582static inline ULONG IAMLatency_Release(IAMLatency* This) {
9583 return This->lpVtbl->Release(This);
9584}
9585/*** IAMLatency methods ***/
9586static inline HRESULT IAMLatency_GetLatency(IAMLatency* This,REFERENCE_TIME *latency) {
9587 return This->lpVtbl->GetLatency(This,latency);
9588}
9589#endif
9590#endif
9591
9592#endif
9593
9594
9595#endif /* __IAMLatency_INTERFACE_DEFINED__ */
9596
9597/*****************************************************************************
9598 * IAMPushSource interface
9599 */
9600#ifndef __IAMPushSource_INTERFACE_DEFINED__
9601#define __IAMPushSource_INTERFACE_DEFINED__
9602
9603DEFINE_GUID(IID_IAMPushSource, 0xf185fe76, 0xe64e, 0x11d2, 0xb7,0x6e, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
9604#if defined(__cplusplus) && !defined(CINTERFACE)
9605MIDL_INTERFACE("f185fe76-e64e-11d2-b76e-00c04fb6bd3d")
9606IAMPushSource : public IAMLatency
9607{
9608 virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags(
9609 ULONG *flags) = 0;
9610
9611 virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags(
9612 ULONG flags) = 0;
9613
9614 virtual HRESULT STDMETHODCALLTYPE SetStreamOffset(
9615 REFERENCE_TIME offset) = 0;
9616
9617 virtual HRESULT STDMETHODCALLTYPE GetStreamOffset(
9618 REFERENCE_TIME *offset) = 0;
9619
9620 virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset(
9621 REFERENCE_TIME *offset) = 0;
9622
9623 virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset(
9624 REFERENCE_TIME offset) = 0;
9625
9626};
9627#ifdef __CRT_UUID_DECL
9628__CRT_UUID_DECL(IAMPushSource, 0xf185fe76, 0xe64e, 0x11d2, 0xb7,0x6e, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d)
9629#endif
9630#else
9631typedef struct IAMPushSourceVtbl {
9632 BEGIN_INTERFACE
9633
9634 /*** IUnknown methods ***/
9635 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9636 IAMPushSource *This,
9637 REFIID riid,
9638 void **ppvObject);
9639
9640 ULONG (STDMETHODCALLTYPE *AddRef)(
9641 IAMPushSource *This);
9642
9643 ULONG (STDMETHODCALLTYPE *Release)(
9644 IAMPushSource *This);
9645
9646 /*** IAMLatency methods ***/
9647 HRESULT (STDMETHODCALLTYPE *GetLatency)(
9648 IAMPushSource *This,
9649 REFERENCE_TIME *latency);
9650
9651 /*** IAMPushSource methods ***/
9652 HRESULT (STDMETHODCALLTYPE *GetPushSourceFlags)(
9653 IAMPushSource *This,
9654 ULONG *flags);
9655
9656 HRESULT (STDMETHODCALLTYPE *SetPushSourceFlags)(
9657 IAMPushSource *This,
9658 ULONG flags);
9659
9660 HRESULT (STDMETHODCALLTYPE *SetStreamOffset)(
9661 IAMPushSource *This,
9662 REFERENCE_TIME offset);
9663
9664 HRESULT (STDMETHODCALLTYPE *GetStreamOffset)(
9665 IAMPushSource *This,
9666 REFERENCE_TIME *offset);
9667
9668 HRESULT (STDMETHODCALLTYPE *GetMaxStreamOffset)(
9669 IAMPushSource *This,
9670 REFERENCE_TIME *offset);
9671
9672 HRESULT (STDMETHODCALLTYPE *SetMaxStreamOffset)(
9673 IAMPushSource *This,
9674 REFERENCE_TIME offset);
9675
9676 END_INTERFACE
9677} IAMPushSourceVtbl;
9678
9679interface IAMPushSource {
9680 CONST_VTBL IAMPushSourceVtbl* lpVtbl;
9681};
9682
9683#ifdef COBJMACROS
9684#ifndef WIDL_C_INLINE_WRAPPERS
9685/*** IUnknown methods ***/
9686#define IAMPushSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9687#define IAMPushSource_AddRef(This) (This)->lpVtbl->AddRef(This)
9688#define IAMPushSource_Release(This) (This)->lpVtbl->Release(This)
9689/*** IAMLatency methods ***/
9690#define IAMPushSource_GetLatency(This,latency) (This)->lpVtbl->GetLatency(This,latency)
9691/*** IAMPushSource methods ***/
9692#define IAMPushSource_GetPushSourceFlags(This,flags) (This)->lpVtbl->GetPushSourceFlags(This,flags)
9693#define IAMPushSource_SetPushSourceFlags(This,flags) (This)->lpVtbl->SetPushSourceFlags(This,flags)
9694#define IAMPushSource_SetStreamOffset(This,offset) (This)->lpVtbl->SetStreamOffset(This,offset)
9695#define IAMPushSource_GetStreamOffset(This,offset) (This)->lpVtbl->GetStreamOffset(This,offset)
9696#define IAMPushSource_GetMaxStreamOffset(This,offset) (This)->lpVtbl->GetMaxStreamOffset(This,offset)
9697#define IAMPushSource_SetMaxStreamOffset(This,offset) (This)->lpVtbl->SetMaxStreamOffset(This,offset)
9698#else
9699/*** IUnknown methods ***/
9700static inline HRESULT IAMPushSource_QueryInterface(IAMPushSource* This,REFIID riid,void **ppvObject) {
9701 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9702}
9703static inline ULONG IAMPushSource_AddRef(IAMPushSource* This) {
9704 return This->lpVtbl->AddRef(This);
9705}
9706static inline ULONG IAMPushSource_Release(IAMPushSource* This) {
9707 return This->lpVtbl->Release(This);
9708}
9709/*** IAMLatency methods ***/
9710static inline HRESULT IAMPushSource_GetLatency(IAMPushSource* This,REFERENCE_TIME *latency) {
9711 return This->lpVtbl->GetLatency(This,latency);
9712}
9713/*** IAMPushSource methods ***/
9714static inline HRESULT IAMPushSource_GetPushSourceFlags(IAMPushSource* This,ULONG *flags) {
9715 return This->lpVtbl->GetPushSourceFlags(This,flags);
9716}
9717static inline HRESULT IAMPushSource_SetPushSourceFlags(IAMPushSource* This,ULONG flags) {
9718 return This->lpVtbl->SetPushSourceFlags(This,flags);
9719}
9720static inline HRESULT IAMPushSource_SetStreamOffset(IAMPushSource* This,REFERENCE_TIME offset) {
9721 return This->lpVtbl->SetStreamOffset(This,offset);
9722}
9723static inline HRESULT IAMPushSource_GetStreamOffset(IAMPushSource* This,REFERENCE_TIME *offset) {
9724 return This->lpVtbl->GetStreamOffset(This,offset);
9725}
9726static inline HRESULT IAMPushSource_GetMaxStreamOffset(IAMPushSource* This,REFERENCE_TIME *offset) {
9727 return This->lpVtbl->GetMaxStreamOffset(This,offset);
9728}
9729static inline HRESULT IAMPushSource_SetMaxStreamOffset(IAMPushSource* This,REFERENCE_TIME offset) {
9730 return This->lpVtbl->SetMaxStreamOffset(This,offset);
9731}
9732#endif
9733#endif
9734
9735#endif
9736
9737
9738#endif /* __IAMPushSource_INTERFACE_DEFINED__ */
9739
9740/*****************************************************************************
9741 * IAMVideoCompression interface
9742 */
9743#ifndef __IAMVideoCompression_INTERFACE_DEFINED__
9744#define __IAMVideoCompression_INTERFACE_DEFINED__
9745
9746DEFINE_GUID(IID_IAMVideoCompression, 0xc6e13343, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
9747#if defined(__cplusplus) && !defined(CINTERFACE)
9748MIDL_INTERFACE("c6e13343-30ac-11d0-a18c-00a0c9118956")
9749IAMVideoCompression : public IUnknown
9750{
9751 virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate(
9752 LONG frame_rate) = 0;
9753
9754 virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate(
9755 LONG *frame_rate) = 0;
9756
9757 virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame(
9758 LONG frame) = 0;
9759
9760 virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame(
9761 LONG *frame) = 0;
9762
9763 virtual HRESULT STDMETHODCALLTYPE put_Quality(
9764 double quality) = 0;
9765
9766 virtual HRESULT STDMETHODCALLTYPE get_Quality(
9767 double *quality) = 0;
9768
9769 virtual HRESULT STDMETHODCALLTYPE put_WindowSize(
9770 DWORDLONG size) = 0;
9771
9772 virtual HRESULT STDMETHODCALLTYPE get_WindowSize(
9773 DWORDLONG *size) = 0;
9774
9775 virtual HRESULT STDMETHODCALLTYPE GetInfo(
9776 LPWSTR version,
9777 int *version_size,
9778 LPWSTR description,
9779 int *description_size,
9780 LONG *frame_rate,
9781 LONG *key,
9782 double *quality,
9783 LONG *capabilities) = 0;
9784
9785 virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame(
9786 LONG number) = 0;
9787
9788 virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize(
9789 LONG number,
9790 LONG size) = 0;
9791
9792};
9793#ifdef __CRT_UUID_DECL
9794__CRT_UUID_DECL(IAMVideoCompression, 0xc6e13343, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
9795#endif
9796#else
9797typedef struct IAMVideoCompressionVtbl {
9798 BEGIN_INTERFACE
9799
9800 /*** IUnknown methods ***/
9801 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9802 IAMVideoCompression *This,
9803 REFIID riid,
9804 void **ppvObject);
9805
9806 ULONG (STDMETHODCALLTYPE *AddRef)(
9807 IAMVideoCompression *This);
9808
9809 ULONG (STDMETHODCALLTYPE *Release)(
9810 IAMVideoCompression *This);
9811
9812 /*** IAMVideoCompression methods ***/
9813 HRESULT (STDMETHODCALLTYPE *put_KeyFrameRate)(
9814 IAMVideoCompression *This,
9815 LONG frame_rate);
9816
9817 HRESULT (STDMETHODCALLTYPE *get_KeyFrameRate)(
9818 IAMVideoCompression *This,
9819 LONG *frame_rate);
9820
9821 HRESULT (STDMETHODCALLTYPE *put_PFramesPerKeyFrame)(
9822 IAMVideoCompression *This,
9823 LONG frame);
9824
9825 HRESULT (STDMETHODCALLTYPE *get_PFramesPerKeyFrame)(
9826 IAMVideoCompression *This,
9827 LONG *frame);
9828
9829 HRESULT (STDMETHODCALLTYPE *put_Quality)(
9830 IAMVideoCompression *This,
9831 double quality);
9832
9833 HRESULT (STDMETHODCALLTYPE *get_Quality)(
9834 IAMVideoCompression *This,
9835 double *quality);
9836
9837 HRESULT (STDMETHODCALLTYPE *put_WindowSize)(
9838 IAMVideoCompression *This,
9839 DWORDLONG size);
9840
9841 HRESULT (STDMETHODCALLTYPE *get_WindowSize)(
9842 IAMVideoCompression *This,
9843 DWORDLONG *size);
9844
9845 HRESULT (STDMETHODCALLTYPE *GetInfo)(
9846 IAMVideoCompression *This,
9847 LPWSTR version,
9848 int *version_size,
9849 LPWSTR description,
9850 int *description_size,
9851 LONG *frame_rate,
9852 LONG *key,
9853 double *quality,
9854 LONG *capabilities);
9855
9856 HRESULT (STDMETHODCALLTYPE *OverrideKeyFrame)(
9857 IAMVideoCompression *This,
9858 LONG number);
9859
9860 HRESULT (STDMETHODCALLTYPE *OverrideFrameSize)(
9861 IAMVideoCompression *This,
9862 LONG number,
9863 LONG size);
9864
9865 END_INTERFACE
9866} IAMVideoCompressionVtbl;
9867
9868interface IAMVideoCompression {
9869 CONST_VTBL IAMVideoCompressionVtbl* lpVtbl;
9870};
9871
9872#ifdef COBJMACROS
9873#ifndef WIDL_C_INLINE_WRAPPERS
9874/*** IUnknown methods ***/
9875#define IAMVideoCompression_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9876#define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This)
9877#define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This)
9878/*** IAMVideoCompression methods ***/
9879#define IAMVideoCompression_put_KeyFrameRate(This,frame_rate) (This)->lpVtbl->put_KeyFrameRate(This,frame_rate)
9880#define IAMVideoCompression_get_KeyFrameRate(This,frame_rate) (This)->lpVtbl->get_KeyFrameRate(This,frame_rate)
9881#define IAMVideoCompression_put_PFramesPerKeyFrame(This,frame) (This)->lpVtbl->put_PFramesPerKeyFrame(This,frame)
9882#define IAMVideoCompression_get_PFramesPerKeyFrame(This,frame) (This)->lpVtbl->get_PFramesPerKeyFrame(This,frame)
9883#define IAMVideoCompression_put_Quality(This,quality) (This)->lpVtbl->put_Quality(This,quality)
9884#define IAMVideoCompression_get_Quality(This,quality) (This)->lpVtbl->get_Quality(This,quality)
9885#define IAMVideoCompression_put_WindowSize(This,size) (This)->lpVtbl->put_WindowSize(This,size)
9886#define IAMVideoCompression_get_WindowSize(This,size) (This)->lpVtbl->get_WindowSize(This,size)
9887#define IAMVideoCompression_GetInfo(This,version,version_size,description,description_size,frame_rate,key,quality,capabilities) (This)->lpVtbl->GetInfo(This,version,version_size,description,description_size,frame_rate,key,quality,capabilities)
9888#define IAMVideoCompression_OverrideKeyFrame(This,number) (This)->lpVtbl->OverrideKeyFrame(This,number)
9889#define IAMVideoCompression_OverrideFrameSize(This,number,size) (This)->lpVtbl->OverrideFrameSize(This,number,size)
9890#else
9891/*** IUnknown methods ***/
9892static inline HRESULT IAMVideoCompression_QueryInterface(IAMVideoCompression* This,REFIID riid,void **ppvObject) {
9893 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9894}
9895static inline ULONG IAMVideoCompression_AddRef(IAMVideoCompression* This) {
9896 return This->lpVtbl->AddRef(This);
9897}
9898static inline ULONG IAMVideoCompression_Release(IAMVideoCompression* This) {
9899 return This->lpVtbl->Release(This);
9900}
9901/*** IAMVideoCompression methods ***/
9902static inline HRESULT IAMVideoCompression_put_KeyFrameRate(IAMVideoCompression* This,LONG frame_rate) {
9903 return This->lpVtbl->put_KeyFrameRate(This,frame_rate);
9904}
9905static inline HRESULT IAMVideoCompression_get_KeyFrameRate(IAMVideoCompression* This,LONG *frame_rate) {
9906 return This->lpVtbl->get_KeyFrameRate(This,frame_rate);
9907}
9908static inline HRESULT IAMVideoCompression_put_PFramesPerKeyFrame(IAMVideoCompression* This,LONG frame) {
9909 return This->lpVtbl->put_PFramesPerKeyFrame(This,frame);
9910}
9911static inline HRESULT IAMVideoCompression_get_PFramesPerKeyFrame(IAMVideoCompression* This,LONG *frame) {
9912 return This->lpVtbl->get_PFramesPerKeyFrame(This,frame);
9913}
9914static inline HRESULT IAMVideoCompression_put_Quality(IAMVideoCompression* This,double quality) {
9915 return This->lpVtbl->put_Quality(This,quality);
9916}
9917static inline HRESULT IAMVideoCompression_get_Quality(IAMVideoCompression* This,double *quality) {
9918 return This->lpVtbl->get_Quality(This,quality);
9919}
9920static inline HRESULT IAMVideoCompression_put_WindowSize(IAMVideoCompression* This,DWORDLONG size) {
9921 return This->lpVtbl->put_WindowSize(This,size);
9922}
9923static inline HRESULT IAMVideoCompression_get_WindowSize(IAMVideoCompression* This,DWORDLONG *size) {
9924 return This->lpVtbl->get_WindowSize(This,size);
9925}
9926static inline HRESULT IAMVideoCompression_GetInfo(IAMVideoCompression* This,LPWSTR version,int *version_size,LPWSTR description,int *description_size,LONG *frame_rate,LONG *key,double *quality,LONG *capabilities) {
9927 return This->lpVtbl->GetInfo(This,version,version_size,description,description_size,frame_rate,key,quality,capabilities);
9928}
9929static inline HRESULT IAMVideoCompression_OverrideKeyFrame(IAMVideoCompression* This,LONG number) {
9930 return This->lpVtbl->OverrideKeyFrame(This,number);
9931}
9932static inline HRESULT IAMVideoCompression_OverrideFrameSize(IAMVideoCompression* This,LONG number,LONG size) {
9933 return This->lpVtbl->OverrideFrameSize(This,number,size);
9934}
9935#endif
9936#endif
9937
9938#endif
9939
9940
9941#endif /* __IAMVideoCompression_INTERFACE_DEFINED__ */
9942
9943/*****************************************************************************
9944 * IAMCrossbar interface
9945 */
9946#ifndef __IAMCrossbar_INTERFACE_DEFINED__
9947#define __IAMCrossbar_INTERFACE_DEFINED__
9948
9949DEFINE_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
9950#if defined(__cplusplus) && !defined(CINTERFACE)
9951MIDL_INTERFACE("c6e13380-30ac-11d0-a18c-00a0c9118956")
9952IAMCrossbar : public IUnknown
9953{
9954 virtual HRESULT STDMETHODCALLTYPE get_PinCounts(
9955 LONG *output,
9956 LONG *intput) = 0;
9957
9958 virtual HRESULT STDMETHODCALLTYPE CanRoute(
9959 LONG output,
9960 LONG input) = 0;
9961
9962 virtual HRESULT STDMETHODCALLTYPE Route(
9963 LONG output,
9964 LONG input) = 0;
9965
9966 virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo(
9967 LONG output,
9968 LONG *input) = 0;
9969
9970 virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo(
9971 WINBOOL is_input,
9972 LONG index,
9973 LONG *related,
9974 LONG *type) = 0;
9975
9976};
9977#ifdef __CRT_UUID_DECL
9978__CRT_UUID_DECL(IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
9979#endif
9980#else
9981typedef struct IAMCrossbarVtbl {
9982 BEGIN_INTERFACE
9983
9984 /*** IUnknown methods ***/
9985 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9986 IAMCrossbar *This,
9987 REFIID riid,
9988 void **ppvObject);
9989
9990 ULONG (STDMETHODCALLTYPE *AddRef)(
9991 IAMCrossbar *This);
9992
9993 ULONG (STDMETHODCALLTYPE *Release)(
9994 IAMCrossbar *This);
9995
9996 /*** IAMCrossbar methods ***/
9997 HRESULT (STDMETHODCALLTYPE *get_PinCounts)(
9998 IAMCrossbar *This,
9999 LONG *output,
10000 LONG *intput);
10001
10002 HRESULT (STDMETHODCALLTYPE *CanRoute)(
10003 IAMCrossbar *This,
10004 LONG output,
10005 LONG input);
10006
10007 HRESULT (STDMETHODCALLTYPE *Route)(
10008 IAMCrossbar *This,
10009 LONG output,
10010 LONG input);
10011
10012 HRESULT (STDMETHODCALLTYPE *get_IsRoutedTo)(
10013 IAMCrossbar *This,
10014 LONG output,
10015 LONG *input);
10016
10017 HRESULT (STDMETHODCALLTYPE *get_CrossbarPinInfo)(
10018 IAMCrossbar *This,
10019 WINBOOL is_input,
10020 LONG index,
10021 LONG *related,
10022 LONG *type);
10023
10024 END_INTERFACE
10025} IAMCrossbarVtbl;
10026
10027interface IAMCrossbar {
10028 CONST_VTBL IAMCrossbarVtbl* lpVtbl;
10029};
10030
10031#ifdef COBJMACROS
10032#ifndef WIDL_C_INLINE_WRAPPERS
10033/*** IUnknown methods ***/
10034#define IAMCrossbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10035#define IAMCrossbar_AddRef(This) (This)->lpVtbl->AddRef(This)
10036#define IAMCrossbar_Release(This) (This)->lpVtbl->Release(This)
10037/*** IAMCrossbar methods ***/
10038#define IAMCrossbar_get_PinCounts(This,output,intput) (This)->lpVtbl->get_PinCounts(This,output,intput)
10039#define IAMCrossbar_CanRoute(This,output,input) (This)->lpVtbl->CanRoute(This,output,input)
10040#define IAMCrossbar_Route(This,output,input) (This)->lpVtbl->Route(This,output,input)
10041#define IAMCrossbar_get_IsRoutedTo(This,output,input) (This)->lpVtbl->get_IsRoutedTo(This,output,input)
10042#define IAMCrossbar_get_CrossbarPinInfo(This,is_input,index,related,type) (This)->lpVtbl->get_CrossbarPinInfo(This,is_input,index,related,type)
10043#else
10044/*** IUnknown methods ***/
10045static inline HRESULT IAMCrossbar_QueryInterface(IAMCrossbar* This,REFIID riid,void **ppvObject) {
10046 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10047}
10048static inline ULONG IAMCrossbar_AddRef(IAMCrossbar* This) {
10049 return This->lpVtbl->AddRef(This);
10050}
10051static inline ULONG IAMCrossbar_Release(IAMCrossbar* This) {
10052 return This->lpVtbl->Release(This);
10053}
10054/*** IAMCrossbar methods ***/
10055static inline HRESULT IAMCrossbar_get_PinCounts(IAMCrossbar* This,LONG *output,LONG *intput) {
10056 return This->lpVtbl->get_PinCounts(This,output,intput);
10057}
10058static inline HRESULT IAMCrossbar_CanRoute(IAMCrossbar* This,LONG output,LONG input) {
10059 return This->lpVtbl->CanRoute(This,output,input);
10060}
10061static inline HRESULT IAMCrossbar_Route(IAMCrossbar* This,LONG output,LONG input) {
10062 return This->lpVtbl->Route(This,output,input);
10063}
10064static inline HRESULT IAMCrossbar_get_IsRoutedTo(IAMCrossbar* This,LONG output,LONG *input) {
10065 return This->lpVtbl->get_IsRoutedTo(This,output,input);
10066}
10067static inline HRESULT IAMCrossbar_get_CrossbarPinInfo(IAMCrossbar* This,WINBOOL is_input,LONG index,LONG *related,LONG *type) {
10068 return This->lpVtbl->get_CrossbarPinInfo(This,is_input,index,related,type);
10069}
10070#endif
10071#endif
10072
10073#endif
10074
10075
10076#endif /* __IAMCrossbar_INTERFACE_DEFINED__ */
10077
10078typedef enum tagAMTunerEventType {
10079 AMTUNER_EVENT_CHANGED = 0x1
10080} AMTunerEventType;
10081/*****************************************************************************
10082 * IAMTunerNotification interface
10083 */
10084#ifndef __IAMTunerNotification_INTERFACE_DEFINED__
10085#define __IAMTunerNotification_INTERFACE_DEFINED__
10086
10087DEFINE_GUID(IID_IAMTunerNotification, 0x211a8760, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39);
10088#if defined(__cplusplus) && !defined(CINTERFACE)
10089MIDL_INTERFACE("211a8760-03ac-11d1-8d13-00aa00bd8339")
10090IAMTunerNotification : public IUnknown
10091{
10092 virtual HRESULT STDMETHODCALLTYPE OnEvent(
10093 AMTunerEventType event) = 0;
10094
10095};
10096#ifdef __CRT_UUID_DECL
10097__CRT_UUID_DECL(IAMTunerNotification, 0x211a8760, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39)
10098#endif
10099#else
10100typedef struct IAMTunerNotificationVtbl {
10101 BEGIN_INTERFACE
10102
10103 /*** IUnknown methods ***/
10104 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10105 IAMTunerNotification *This,
10106 REFIID riid,
10107 void **ppvObject);
10108
10109 ULONG (STDMETHODCALLTYPE *AddRef)(
10110 IAMTunerNotification *This);
10111
10112 ULONG (STDMETHODCALLTYPE *Release)(
10113 IAMTunerNotification *This);
10114
10115 /*** IAMTunerNotification methods ***/
10116 HRESULT (STDMETHODCALLTYPE *OnEvent)(
10117 IAMTunerNotification *This,
10118 AMTunerEventType event);
10119
10120 END_INTERFACE
10121} IAMTunerNotificationVtbl;
10122
10123interface IAMTunerNotification {
10124 CONST_VTBL IAMTunerNotificationVtbl* lpVtbl;
10125};
10126
10127#ifdef COBJMACROS
10128#ifndef WIDL_C_INLINE_WRAPPERS
10129/*** IUnknown methods ***/
10130#define IAMTunerNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10131#define IAMTunerNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
10132#define IAMTunerNotification_Release(This) (This)->lpVtbl->Release(This)
10133/*** IAMTunerNotification methods ***/
10134#define IAMTunerNotification_OnEvent(This,event) (This)->lpVtbl->OnEvent(This,event)
10135#else
10136/*** IUnknown methods ***/
10137static inline HRESULT IAMTunerNotification_QueryInterface(IAMTunerNotification* This,REFIID riid,void **ppvObject) {
10138 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10139}
10140static inline ULONG IAMTunerNotification_AddRef(IAMTunerNotification* This) {
10141 return This->lpVtbl->AddRef(This);
10142}
10143static inline ULONG IAMTunerNotification_Release(IAMTunerNotification* This) {
10144 return This->lpVtbl->Release(This);
10145}
10146/*** IAMTunerNotification methods ***/
10147static inline HRESULT IAMTunerNotification_OnEvent(IAMTunerNotification* This,AMTunerEventType event) {
10148 return This->lpVtbl->OnEvent(This,event);
10149}
10150#endif
10151#endif
10152
10153#endif
10154
10155
10156#endif /* __IAMTunerNotification_INTERFACE_DEFINED__ */
10157
10158typedef enum tagAMTunerModeType {
10159 AMTUNER_MODE_DEFAULT = 0x0,
10160 AMTUNER_MODE_TV = 0x1,
10161 AMTUNER_MODE_FM_RADIO = 0x2,
10162 AMTUNER_MODE_AM_RADIO = 0x4,
10163 AMTUNER_MODE_DSS = 0x8
10164} AMTunerModeType;
10165/*****************************************************************************
10166 * IAMTuner interface
10167 */
10168#ifndef __IAMTuner_INTERFACE_DEFINED__
10169#define __IAMTuner_INTERFACE_DEFINED__
10170
10171DEFINE_GUID(IID_IAMTuner, 0x211a8761, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39);
10172#if defined(__cplusplus) && !defined(CINTERFACE)
10173MIDL_INTERFACE("211a8761-03ac-11d1-8d13-00aa00bd8339")
10174IAMTuner : public IUnknown
10175{
10176 virtual HRESULT STDMETHODCALLTYPE put_Channel(
10177 LONG channel,
10178 LONG video,
10179 LONG audio) = 0;
10180
10181 virtual HRESULT STDMETHODCALLTYPE get_Channel(
10182 LONG *channel,
10183 LONG *video,
10184 LONG *audio) = 0;
10185
10186 virtual HRESULT STDMETHODCALLTYPE ChannelMinMax(
10187 LONG *min,
10188 LONG *max) = 0;
10189
10190 virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
10191 LONG country) = 0;
10192
10193 virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
10194 LONG *country) = 0;
10195
10196 virtual HRESULT STDMETHODCALLTYPE put_TuningSpace(
10197 LONG tuning_space) = 0;
10198
10199 virtual HRESULT STDMETHODCALLTYPE get_TuningSpace(
10200 LONG *tuning_space) = 0;
10201
10202 virtual HRESULT STDMETHODCALLTYPE Logon(
10203 HANDLE user) = 0;
10204
10205 virtual HRESULT STDMETHODCALLTYPE Logout(
10206 ) = 0;
10207
10208 virtual HRESULT STDMETHODCALLTYPE SignalPresent(
10209 LONG *signal_strength) = 0;
10210
10211 virtual HRESULT STDMETHODCALLTYPE put_Mode(
10212 AMTunerModeType mode) = 0;
10213
10214 virtual HRESULT STDMETHODCALLTYPE get_Mode(
10215 AMTunerModeType *mode) = 0;
10216
10217 virtual HRESULT STDMETHODCALLTYPE GetAvailableModes(
10218 LONG *modes) = 0;
10219
10220 virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(
10221 IAMTunerNotification *notify,
10222 LONG events) = 0;
10223
10224 virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(
10225 IAMTunerNotification *notify) = 0;
10226
10227};
10228#ifdef __CRT_UUID_DECL
10229__CRT_UUID_DECL(IAMTuner, 0x211a8761, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39)
10230#endif
10231#else
10232typedef struct IAMTunerVtbl {
10233 BEGIN_INTERFACE
10234
10235 /*** IUnknown methods ***/
10236 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10237 IAMTuner *This,
10238 REFIID riid,
10239 void **ppvObject);
10240
10241 ULONG (STDMETHODCALLTYPE *AddRef)(
10242 IAMTuner *This);
10243
10244 ULONG (STDMETHODCALLTYPE *Release)(
10245 IAMTuner *This);
10246
10247 /*** IAMTuner methods ***/
10248 HRESULT (STDMETHODCALLTYPE *put_Channel)(
10249 IAMTuner *This,
10250 LONG channel,
10251 LONG video,
10252 LONG audio);
10253
10254 HRESULT (STDMETHODCALLTYPE *get_Channel)(
10255 IAMTuner *This,
10256 LONG *channel,
10257 LONG *video,
10258 LONG *audio);
10259
10260 HRESULT (STDMETHODCALLTYPE *ChannelMinMax)(
10261 IAMTuner *This,
10262 LONG *min,
10263 LONG *max);
10264
10265 HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
10266 IAMTuner *This,
10267 LONG country);
10268
10269 HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
10270 IAMTuner *This,
10271 LONG *country);
10272
10273 HRESULT (STDMETHODCALLTYPE *put_TuningSpace)(
10274 IAMTuner *This,
10275 LONG tuning_space);
10276
10277 HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
10278 IAMTuner *This,
10279 LONG *tuning_space);
10280
10281 HRESULT (STDMETHODCALLTYPE *Logon)(
10282 IAMTuner *This,
10283 HANDLE user);
10284
10285 HRESULT (STDMETHODCALLTYPE *Logout)(
10286 IAMTuner *This);
10287
10288 HRESULT (STDMETHODCALLTYPE *SignalPresent)(
10289 IAMTuner *This,
10290 LONG *signal_strength);
10291
10292 HRESULT (STDMETHODCALLTYPE *put_Mode)(
10293 IAMTuner *This,
10294 AMTunerModeType mode);
10295
10296 HRESULT (STDMETHODCALLTYPE *get_Mode)(
10297 IAMTuner *This,
10298 AMTunerModeType *mode);
10299
10300 HRESULT (STDMETHODCALLTYPE *GetAvailableModes)(
10301 IAMTuner *This,
10302 LONG *modes);
10303
10304 HRESULT (STDMETHODCALLTYPE *RegisterNotificationCallBack)(
10305 IAMTuner *This,
10306 IAMTunerNotification *notify,
10307 LONG events);
10308
10309 HRESULT (STDMETHODCALLTYPE *UnRegisterNotificationCallBack)(
10310 IAMTuner *This,
10311 IAMTunerNotification *notify);
10312
10313 END_INTERFACE
10314} IAMTunerVtbl;
10315
10316interface IAMTuner {
10317 CONST_VTBL IAMTunerVtbl* lpVtbl;
10318};
10319
10320#ifdef COBJMACROS
10321#ifndef WIDL_C_INLINE_WRAPPERS
10322/*** IUnknown methods ***/
10323#define IAMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10324#define IAMTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
10325#define IAMTuner_Release(This) (This)->lpVtbl->Release(This)
10326/*** IAMTuner methods ***/
10327#define IAMTuner_put_Channel(This,channel,video,audio) (This)->lpVtbl->put_Channel(This,channel,video,audio)
10328#define IAMTuner_get_Channel(This,channel,video,audio) (This)->lpVtbl->get_Channel(This,channel,video,audio)
10329#define IAMTuner_ChannelMinMax(This,min,max) (This)->lpVtbl->ChannelMinMax(This,min,max)
10330#define IAMTuner_put_CountryCode(This,country) (This)->lpVtbl->put_CountryCode(This,country)
10331#define IAMTuner_get_CountryCode(This,country) (This)->lpVtbl->get_CountryCode(This,country)
10332#define IAMTuner_put_TuningSpace(This,tuning_space) (This)->lpVtbl->put_TuningSpace(This,tuning_space)
10333#define IAMTuner_get_TuningSpace(This,tuning_space) (This)->lpVtbl->get_TuningSpace(This,tuning_space)
10334#define IAMTuner_Logon(This,user) (This)->lpVtbl->Logon(This,user)
10335#define IAMTuner_Logout(This) (This)->lpVtbl->Logout(This)
10336#define IAMTuner_SignalPresent(This,signal_strength) (This)->lpVtbl->SignalPresent(This,signal_strength)
10337#define IAMTuner_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
10338#define IAMTuner_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode)
10339#define IAMTuner_GetAvailableModes(This,modes) (This)->lpVtbl->GetAvailableModes(This,modes)
10340#define IAMTuner_RegisterNotificationCallBack(This,notify,events) (This)->lpVtbl->RegisterNotificationCallBack(This,notify,events)
10341#define IAMTuner_UnRegisterNotificationCallBack(This,notify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,notify)
10342#else
10343/*** IUnknown methods ***/
10344static inline HRESULT IAMTuner_QueryInterface(IAMTuner* This,REFIID riid,void **ppvObject) {
10345 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10346}
10347static inline ULONG IAMTuner_AddRef(IAMTuner* This) {
10348 return This->lpVtbl->AddRef(This);
10349}
10350static inline ULONG IAMTuner_Release(IAMTuner* This) {
10351 return This->lpVtbl->Release(This);
10352}
10353/*** IAMTuner methods ***/
10354static inline HRESULT IAMTuner_put_Channel(IAMTuner* This,LONG channel,LONG video,LONG audio) {
10355 return This->lpVtbl->put_Channel(This,channel,video,audio);
10356}
10357static inline HRESULT IAMTuner_get_Channel(IAMTuner* This,LONG *channel,LONG *video,LONG *audio) {
10358 return This->lpVtbl->get_Channel(This,channel,video,audio);
10359}
10360static inline HRESULT IAMTuner_ChannelMinMax(IAMTuner* This,LONG *min,LONG *max) {
10361 return This->lpVtbl->ChannelMinMax(This,min,max);
10362}
10363static inline HRESULT IAMTuner_put_CountryCode(IAMTuner* This,LONG country) {
10364 return This->lpVtbl->put_CountryCode(This,country);
10365}
10366static inline HRESULT IAMTuner_get_CountryCode(IAMTuner* This,LONG *country) {
10367 return This->lpVtbl->get_CountryCode(This,country);
10368}
10369static inline HRESULT IAMTuner_put_TuningSpace(IAMTuner* This,LONG tuning_space) {
10370 return This->lpVtbl->put_TuningSpace(This,tuning_space);
10371}
10372static inline HRESULT IAMTuner_get_TuningSpace(IAMTuner* This,LONG *tuning_space) {
10373 return This->lpVtbl->get_TuningSpace(This,tuning_space);
10374}
10375static inline HRESULT IAMTuner_Logon(IAMTuner* This,HANDLE user) {
10376 return This->lpVtbl->Logon(This,user);
10377}
10378static inline HRESULT IAMTuner_Logout(IAMTuner* This) {
10379 return This->lpVtbl->Logout(This);
10380}
10381static inline HRESULT IAMTuner_SignalPresent(IAMTuner* This,LONG *signal_strength) {
10382 return This->lpVtbl->SignalPresent(This,signal_strength);
10383}
10384static inline HRESULT IAMTuner_put_Mode(IAMTuner* This,AMTunerModeType mode) {
10385 return This->lpVtbl->put_Mode(This,mode);
10386}
10387static inline HRESULT IAMTuner_get_Mode(IAMTuner* This,AMTunerModeType *mode) {
10388 return This->lpVtbl->get_Mode(This,mode);
10389}
10390static inline HRESULT IAMTuner_GetAvailableModes(IAMTuner* This,LONG *modes) {
10391 return This->lpVtbl->GetAvailableModes(This,modes);
10392}
10393static inline HRESULT IAMTuner_RegisterNotificationCallBack(IAMTuner* This,IAMTunerNotification *notify,LONG events) {
10394 return This->lpVtbl->RegisterNotificationCallBack(This,notify,events);
10395}
10396static inline HRESULT IAMTuner_UnRegisterNotificationCallBack(IAMTuner* This,IAMTunerNotification *notify) {
10397 return This->lpVtbl->UnRegisterNotificationCallBack(This,notify);
10398}
10399#endif
10400#endif
10401
10402#endif
10403
10404
10405#endif /* __IAMTuner_INTERFACE_DEFINED__ */
10406
10407/*****************************************************************************
10408 * IAMTVTuner interface
10409 */
10410#ifndef __IAMTVTuner_INTERFACE_DEFINED__
10411#define __IAMTVTuner_INTERFACE_DEFINED__
10412
10413DEFINE_GUID(IID_IAMTVTuner, 0x211a8766, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39);
10414#if defined(__cplusplus) && !defined(CINTERFACE)
10415MIDL_INTERFACE("211a8766-03ac-11d1-8d13-00aa00bd8339")
10416IAMTVTuner : public IAMTuner
10417{
10418 virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
10419 LONG *standard) = 0;
10420
10421 virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
10422 LONG *standard) = 0;
10423
10424 virtual HRESULT STDMETHODCALLTYPE AutoTune(
10425 LONG channel,
10426 LONG *signal) = 0;
10427
10428 virtual HRESULT STDMETHODCALLTYPE StoreAutoTune(
10429 ) = 0;
10430
10431 virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections(
10432 LONG *number) = 0;
10433
10434 virtual HRESULT STDMETHODCALLTYPE put_InputType(
10435 LONG index,
10436 TunerInputType type) = 0;
10437
10438 virtual HRESULT STDMETHODCALLTYPE get_InputType(
10439 LONG index,
10440 TunerInputType *type) = 0;
10441
10442 virtual HRESULT STDMETHODCALLTYPE put_ConnectInput(
10443 LONG index) = 0;
10444
10445 virtual HRESULT STDMETHODCALLTYPE get_ConnectInput(
10446 LONG *index) = 0;
10447
10448 virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency(
10449 LONG *freq) = 0;
10450
10451 virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency(
10452 LONG *freq) = 0;
10453
10454};
10455#ifdef __CRT_UUID_DECL
10456__CRT_UUID_DECL(IAMTVTuner, 0x211a8766, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39)
10457#endif
10458#else
10459typedef struct IAMTVTunerVtbl {
10460 BEGIN_INTERFACE
10461
10462 /*** IUnknown methods ***/
10463 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10464 IAMTVTuner *This,
10465 REFIID riid,
10466 void **ppvObject);
10467
10468 ULONG (STDMETHODCALLTYPE *AddRef)(
10469 IAMTVTuner *This);
10470
10471 ULONG (STDMETHODCALLTYPE *Release)(
10472 IAMTVTuner *This);
10473
10474 /*** IAMTuner methods ***/
10475 HRESULT (STDMETHODCALLTYPE *put_Channel)(
10476 IAMTVTuner *This,
10477 LONG channel,
10478 LONG video,
10479 LONG audio);
10480
10481 HRESULT (STDMETHODCALLTYPE *get_Channel)(
10482 IAMTVTuner *This,
10483 LONG *channel,
10484 LONG *video,
10485 LONG *audio);
10486
10487 HRESULT (STDMETHODCALLTYPE *ChannelMinMax)(
10488 IAMTVTuner *This,
10489 LONG *min,
10490 LONG *max);
10491
10492 HRESULT (STDMETHODCALLTYPE *put_CountryCode)(
10493 IAMTVTuner *This,
10494 LONG country);
10495
10496 HRESULT (STDMETHODCALLTYPE *get_CountryCode)(
10497 IAMTVTuner *This,
10498 LONG *country);
10499
10500 HRESULT (STDMETHODCALLTYPE *put_TuningSpace)(
10501 IAMTVTuner *This,
10502 LONG tuning_space);
10503
10504 HRESULT (STDMETHODCALLTYPE *get_TuningSpace)(
10505 IAMTVTuner *This,
10506 LONG *tuning_space);
10507
10508 HRESULT (STDMETHODCALLTYPE *Logon)(
10509 IAMTVTuner *This,
10510 HANDLE user);
10511
10512 HRESULT (STDMETHODCALLTYPE *Logout)(
10513 IAMTVTuner *This);
10514
10515 HRESULT (STDMETHODCALLTYPE *SignalPresent)(
10516 IAMTVTuner *This,
10517 LONG *signal_strength);
10518
10519 HRESULT (STDMETHODCALLTYPE *put_Mode)(
10520 IAMTVTuner *This,
10521 AMTunerModeType mode);
10522
10523 HRESULT (STDMETHODCALLTYPE *get_Mode)(
10524 IAMTVTuner *This,
10525 AMTunerModeType *mode);
10526
10527 HRESULT (STDMETHODCALLTYPE *GetAvailableModes)(
10528 IAMTVTuner *This,
10529 LONG *modes);
10530
10531 HRESULT (STDMETHODCALLTYPE *RegisterNotificationCallBack)(
10532 IAMTVTuner *This,
10533 IAMTunerNotification *notify,
10534 LONG events);
10535
10536 HRESULT (STDMETHODCALLTYPE *UnRegisterNotificationCallBack)(
10537 IAMTVTuner *This,
10538 IAMTunerNotification *notify);
10539
10540 /*** IAMTVTuner methods ***/
10541 HRESULT (STDMETHODCALLTYPE *get_AvailableTVFormats)(
10542 IAMTVTuner *This,
10543 LONG *standard);
10544
10545 HRESULT (STDMETHODCALLTYPE *get_TVFormat)(
10546 IAMTVTuner *This,
10547 LONG *standard);
10548
10549 HRESULT (STDMETHODCALLTYPE *AutoTune)(
10550 IAMTVTuner *This,
10551 LONG channel,
10552 LONG *signal);
10553
10554 HRESULT (STDMETHODCALLTYPE *StoreAutoTune)(
10555 IAMTVTuner *This);
10556
10557 HRESULT (STDMETHODCALLTYPE *get_NumInputConnections)(
10558 IAMTVTuner *This,
10559 LONG *number);
10560
10561 HRESULT (STDMETHODCALLTYPE *put_InputType)(
10562 IAMTVTuner *This,
10563 LONG index,
10564 TunerInputType type);
10565
10566 HRESULT (STDMETHODCALLTYPE *get_InputType)(
10567 IAMTVTuner *This,
10568 LONG index,
10569 TunerInputType *type);
10570
10571 HRESULT (STDMETHODCALLTYPE *put_ConnectInput)(
10572 IAMTVTuner *This,
10573 LONG index);
10574
10575 HRESULT (STDMETHODCALLTYPE *get_ConnectInput)(
10576 IAMTVTuner *This,
10577 LONG *index);
10578
10579 HRESULT (STDMETHODCALLTYPE *get_VideoFrequency)(
10580 IAMTVTuner *This,
10581 LONG *freq);
10582
10583 HRESULT (STDMETHODCALLTYPE *get_AudioFrequency)(
10584 IAMTVTuner *This,
10585 LONG *freq);
10586
10587 END_INTERFACE
10588} IAMTVTunerVtbl;
10589
10590interface IAMTVTuner {
10591 CONST_VTBL IAMTVTunerVtbl* lpVtbl;
10592};
10593
10594#ifdef COBJMACROS
10595#ifndef WIDL_C_INLINE_WRAPPERS
10596/*** IUnknown methods ***/
10597#define IAMTVTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10598#define IAMTVTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
10599#define IAMTVTuner_Release(This) (This)->lpVtbl->Release(This)
10600/*** IAMTuner methods ***/
10601#define IAMTVTuner_put_Channel(This,channel,video,audio) (This)->lpVtbl->put_Channel(This,channel,video,audio)
10602#define IAMTVTuner_get_Channel(This,channel,video,audio) (This)->lpVtbl->get_Channel(This,channel,video,audio)
10603#define IAMTVTuner_ChannelMinMax(This,min,max) (This)->lpVtbl->ChannelMinMax(This,min,max)
10604#define IAMTVTuner_put_CountryCode(This,country) (This)->lpVtbl->put_CountryCode(This,country)
10605#define IAMTVTuner_get_CountryCode(This,country) (This)->lpVtbl->get_CountryCode(This,country)
10606#define IAMTVTuner_put_TuningSpace(This,tuning_space) (This)->lpVtbl->put_TuningSpace(This,tuning_space)
10607#define IAMTVTuner_get_TuningSpace(This,tuning_space) (This)->lpVtbl->get_TuningSpace(This,tuning_space)
10608#define IAMTVTuner_Logon(This,user) (This)->lpVtbl->Logon(This,user)
10609#define IAMTVTuner_Logout(This) (This)->lpVtbl->Logout(This)
10610#define IAMTVTuner_SignalPresent(This,signal_strength) (This)->lpVtbl->SignalPresent(This,signal_strength)
10611#define IAMTVTuner_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
10612#define IAMTVTuner_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode)
10613#define IAMTVTuner_GetAvailableModes(This,modes) (This)->lpVtbl->GetAvailableModes(This,modes)
10614#define IAMTVTuner_RegisterNotificationCallBack(This,notify,events) (This)->lpVtbl->RegisterNotificationCallBack(This,notify,events)
10615#define IAMTVTuner_UnRegisterNotificationCallBack(This,notify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,notify)
10616/*** IAMTVTuner methods ***/
10617#define IAMTVTuner_get_AvailableTVFormats(This,standard) (This)->lpVtbl->get_AvailableTVFormats(This,standard)
10618#define IAMTVTuner_get_TVFormat(This,standard) (This)->lpVtbl->get_TVFormat(This,standard)
10619#define IAMTVTuner_AutoTune(This,channel,signal) (This)->lpVtbl->AutoTune(This,channel,signal)
10620#define IAMTVTuner_StoreAutoTune(This) (This)->lpVtbl->StoreAutoTune(This)
10621#define IAMTVTuner_get_NumInputConnections(This,number) (This)->lpVtbl->get_NumInputConnections(This,number)
10622#define IAMTVTuner_put_InputType(This,index,type) (This)->lpVtbl->put_InputType(This,index,type)
10623#define IAMTVTuner_get_InputType(This,index,type) (This)->lpVtbl->get_InputType(This,index,type)
10624#define IAMTVTuner_put_ConnectInput(This,index) (This)->lpVtbl->put_ConnectInput(This,index)
10625#define IAMTVTuner_get_ConnectInput(This,index) (This)->lpVtbl->get_ConnectInput(This,index)
10626#define IAMTVTuner_get_VideoFrequency(This,freq) (This)->lpVtbl->get_VideoFrequency(This,freq)
10627#define IAMTVTuner_get_AudioFrequency(This,freq) (This)->lpVtbl->get_AudioFrequency(This,freq)
10628#else
10629/*** IUnknown methods ***/
10630static inline HRESULT IAMTVTuner_QueryInterface(IAMTVTuner* This,REFIID riid,void **ppvObject) {
10631 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10632}
10633static inline ULONG IAMTVTuner_AddRef(IAMTVTuner* This) {
10634 return This->lpVtbl->AddRef(This);
10635}
10636static inline ULONG IAMTVTuner_Release(IAMTVTuner* This) {
10637 return This->lpVtbl->Release(This);
10638}
10639/*** IAMTuner methods ***/
10640static inline HRESULT IAMTVTuner_put_Channel(IAMTVTuner* This,LONG channel,LONG video,LONG audio) {
10641 return This->lpVtbl->put_Channel(This,channel,video,audio);
10642}
10643static inline HRESULT IAMTVTuner_get_Channel(IAMTVTuner* This,LONG *channel,LONG *video,LONG *audio) {
10644 return This->lpVtbl->get_Channel(This,channel,video,audio);
10645}
10646static inline HRESULT IAMTVTuner_ChannelMinMax(IAMTVTuner* This,LONG *min,LONG *max) {
10647 return This->lpVtbl->ChannelMinMax(This,min,max);
10648}
10649static inline HRESULT IAMTVTuner_put_CountryCode(IAMTVTuner* This,LONG country) {
10650 return This->lpVtbl->put_CountryCode(This,country);
10651}
10652static inline HRESULT IAMTVTuner_get_CountryCode(IAMTVTuner* This,LONG *country) {
10653 return This->lpVtbl->get_CountryCode(This,country);
10654}
10655static inline HRESULT IAMTVTuner_put_TuningSpace(IAMTVTuner* This,LONG tuning_space) {
10656 return This->lpVtbl->put_TuningSpace(This,tuning_space);
10657}
10658static inline HRESULT IAMTVTuner_get_TuningSpace(IAMTVTuner* This,LONG *tuning_space) {
10659 return This->lpVtbl->get_TuningSpace(This,tuning_space);
10660}
10661static inline HRESULT IAMTVTuner_Logon(IAMTVTuner* This,HANDLE user) {
10662 return This->lpVtbl->Logon(This,user);
10663}
10664static inline HRESULT IAMTVTuner_Logout(IAMTVTuner* This) {
10665 return This->lpVtbl->Logout(This);
10666}
10667static inline HRESULT IAMTVTuner_SignalPresent(IAMTVTuner* This,LONG *signal_strength) {
10668 return This->lpVtbl->SignalPresent(This,signal_strength);
10669}
10670static inline HRESULT IAMTVTuner_put_Mode(IAMTVTuner* This,AMTunerModeType mode) {
10671 return This->lpVtbl->put_Mode(This,mode);
10672}
10673static inline HRESULT IAMTVTuner_get_Mode(IAMTVTuner* This,AMTunerModeType *mode) {
10674 return This->lpVtbl->get_Mode(This,mode);
10675}
10676static inline HRESULT IAMTVTuner_GetAvailableModes(IAMTVTuner* This,LONG *modes) {
10677 return This->lpVtbl->GetAvailableModes(This,modes);
10678}
10679static inline HRESULT IAMTVTuner_RegisterNotificationCallBack(IAMTVTuner* This,IAMTunerNotification *notify,LONG events) {
10680 return This->lpVtbl->RegisterNotificationCallBack(This,notify,events);
10681}
10682static inline HRESULT IAMTVTuner_UnRegisterNotificationCallBack(IAMTVTuner* This,IAMTunerNotification *notify) {
10683 return This->lpVtbl->UnRegisterNotificationCallBack(This,notify);
10684}
10685/*** IAMTVTuner methods ***/
10686static inline HRESULT IAMTVTuner_get_AvailableTVFormats(IAMTVTuner* This,LONG *standard) {
10687 return This->lpVtbl->get_AvailableTVFormats(This,standard);
10688}
10689static inline HRESULT IAMTVTuner_get_TVFormat(IAMTVTuner* This,LONG *standard) {
10690 return This->lpVtbl->get_TVFormat(This,standard);
10691}
10692static inline HRESULT IAMTVTuner_AutoTune(IAMTVTuner* This,LONG channel,LONG *signal) {
10693 return This->lpVtbl->AutoTune(This,channel,signal);
10694}
10695static inline HRESULT IAMTVTuner_StoreAutoTune(IAMTVTuner* This) {
10696 return This->lpVtbl->StoreAutoTune(This);
10697}
10698static inline HRESULT IAMTVTuner_get_NumInputConnections(IAMTVTuner* This,LONG *number) {
10699 return This->lpVtbl->get_NumInputConnections(This,number);
10700}
10701static inline HRESULT IAMTVTuner_put_InputType(IAMTVTuner* This,LONG index,TunerInputType type) {
10702 return This->lpVtbl->put_InputType(This,index,type);
10703}
10704static inline HRESULT IAMTVTuner_get_InputType(IAMTVTuner* This,LONG index,TunerInputType *type) {
10705 return This->lpVtbl->get_InputType(This,index,type);
10706}
10707static inline HRESULT IAMTVTuner_put_ConnectInput(IAMTVTuner* This,LONG index) {
10708 return This->lpVtbl->put_ConnectInput(This,index);
10709}
10710static inline HRESULT IAMTVTuner_get_ConnectInput(IAMTVTuner* This,LONG *index) {
10711 return This->lpVtbl->get_ConnectInput(This,index);
10712}
10713static inline HRESULT IAMTVTuner_get_VideoFrequency(IAMTVTuner* This,LONG *freq) {
10714 return This->lpVtbl->get_VideoFrequency(This,freq);
10715}
10716static inline HRESULT IAMTVTuner_get_AudioFrequency(IAMTVTuner* This,LONG *freq) {
10717 return This->lpVtbl->get_AudioFrequency(This,freq);
10718}
10719#endif
10720#endif
10721
10722#endif
10723
10724
10725#endif /* __IAMTVTuner_INTERFACE_DEFINED__ */
10726
10727/*****************************************************************************
10728 * IVideoFrameStep interface
10729 */
10730#ifndef __IVideoFrameStep_INTERFACE_DEFINED__
10731#define __IVideoFrameStep_INTERFACE_DEFINED__
10732
10733DEFINE_GUID(IID_IVideoFrameStep, 0xe46a9787, 0x2b71, 0x444d, 0xa4,0xb5, 0x1f,0xab,0x7b,0x70,0x8d,0x6a);
10734#if defined(__cplusplus) && !defined(CINTERFACE)
10735MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
10736IVideoFrameStep : public IUnknown
10737{
10738 virtual HRESULT STDMETHODCALLTYPE Step(
10739 DWORD frame_count,
10740 IUnknown *filter) = 0;
10741
10742 virtual HRESULT STDMETHODCALLTYPE CanStep(
10743 LONG multiple,
10744 IUnknown *filter) = 0;
10745
10746 virtual HRESULT STDMETHODCALLTYPE CancelStep(
10747 ) = 0;
10748
10749};
10750#ifdef __CRT_UUID_DECL
10751__CRT_UUID_DECL(IVideoFrameStep, 0xe46a9787, 0x2b71, 0x444d, 0xa4,0xb5, 0x1f,0xab,0x7b,0x70,0x8d,0x6a)
10752#endif
10753#else
10754typedef struct IVideoFrameStepVtbl {
10755 BEGIN_INTERFACE
10756
10757 /*** IUnknown methods ***/
10758 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10759 IVideoFrameStep *This,
10760 REFIID riid,
10761 void **ppvObject);
10762
10763 ULONG (STDMETHODCALLTYPE *AddRef)(
10764 IVideoFrameStep *This);
10765
10766 ULONG (STDMETHODCALLTYPE *Release)(
10767 IVideoFrameStep *This);
10768
10769 /*** IVideoFrameStep methods ***/
10770 HRESULT (STDMETHODCALLTYPE *Step)(
10771 IVideoFrameStep *This,
10772 DWORD frame_count,
10773 IUnknown *filter);
10774
10775 HRESULT (STDMETHODCALLTYPE *CanStep)(
10776 IVideoFrameStep *This,
10777 LONG multiple,
10778 IUnknown *filter);
10779
10780 HRESULT (STDMETHODCALLTYPE *CancelStep)(
10781 IVideoFrameStep *This);
10782
10783 END_INTERFACE
10784} IVideoFrameStepVtbl;
10785
10786interface IVideoFrameStep {
10787 CONST_VTBL IVideoFrameStepVtbl* lpVtbl;
10788};
10789
10790#ifdef COBJMACROS
10791#ifndef WIDL_C_INLINE_WRAPPERS
10792/*** IUnknown methods ***/
10793#define IVideoFrameStep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10794#define IVideoFrameStep_AddRef(This) (This)->lpVtbl->AddRef(This)
10795#define IVideoFrameStep_Release(This) (This)->lpVtbl->Release(This)
10796/*** IVideoFrameStep methods ***/
10797#define IVideoFrameStep_Step(This,frame_count,filter) (This)->lpVtbl->Step(This,frame_count,filter)
10798#define IVideoFrameStep_CanStep(This,multiple,filter) (This)->lpVtbl->CanStep(This,multiple,filter)
10799#define IVideoFrameStep_CancelStep(This) (This)->lpVtbl->CancelStep(This)
10800#else
10801/*** IUnknown methods ***/
10802static inline HRESULT IVideoFrameStep_QueryInterface(IVideoFrameStep* This,REFIID riid,void **ppvObject) {
10803 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10804}
10805static inline ULONG IVideoFrameStep_AddRef(IVideoFrameStep* This) {
10806 return This->lpVtbl->AddRef(This);
10807}
10808static inline ULONG IVideoFrameStep_Release(IVideoFrameStep* This) {
10809 return This->lpVtbl->Release(This);
10810}
10811/*** IVideoFrameStep methods ***/
10812static inline HRESULT IVideoFrameStep_Step(IVideoFrameStep* This,DWORD frame_count,IUnknown *filter) {
10813 return This->lpVtbl->Step(This,frame_count,filter);
10814}
10815static inline HRESULT IVideoFrameStep_CanStep(IVideoFrameStep* This,LONG multiple,IUnknown *filter) {
10816 return This->lpVtbl->CanStep(This,multiple,filter);
10817}
10818static inline HRESULT IVideoFrameStep_CancelStep(IVideoFrameStep* This) {
10819 return This->lpVtbl->CancelStep(This);
10820}
10821#endif
10822#endif
10823
10824#endif
10825
10826
10827#endif /* __IVideoFrameStep_INTERFACE_DEFINED__ */
10828
10829#if (_WIN32_WINNT >= 0x0601)
10830/*****************************************************************************
10831 * IAMAsyncReaderTimestampScaling interface
10832 */
10833#ifndef __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__
10834#define __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__
10835
10836DEFINE_GUID(IID_IAMAsyncReaderTimestampScaling, 0xcf7b26fc, 0x9a00, 0x485b, 0x81,0x47, 0x3e,0x78,0x9d,0x5e,0x8f,0x67);
10837#if defined(__cplusplus) && !defined(CINTERFACE)
10838MIDL_INTERFACE("cf7b26fc-9a00-485b-8147-3e789d5e8f67")
10839IAMAsyncReaderTimestampScaling : public IUnknown
10840{
10841 virtual HRESULT STDMETHODCALLTYPE GetTimestampMode(
10842 WINBOOL *pfRaw) = 0;
10843
10844 virtual HRESULT STDMETHODCALLTYPE SetTimestampMode(
10845 WINBOOL fRaw) = 0;
10846
10847};
10848#ifdef __CRT_UUID_DECL
10849__CRT_UUID_DECL(IAMAsyncReaderTimestampScaling, 0xcf7b26fc, 0x9a00, 0x485b, 0x81,0x47, 0x3e,0x78,0x9d,0x5e,0x8f,0x67)
10850#endif
10851#else
10852typedef struct IAMAsyncReaderTimestampScalingVtbl {
10853 BEGIN_INTERFACE
10854
10855 /*** IUnknown methods ***/
10856 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10857 IAMAsyncReaderTimestampScaling *This,
10858 REFIID riid,
10859 void **ppvObject);
10860
10861 ULONG (STDMETHODCALLTYPE *AddRef)(
10862 IAMAsyncReaderTimestampScaling *This);
10863
10864 ULONG (STDMETHODCALLTYPE *Release)(
10865 IAMAsyncReaderTimestampScaling *This);
10866
10867 /*** IAMAsyncReaderTimestampScaling methods ***/
10868 HRESULT (STDMETHODCALLTYPE *GetTimestampMode)(
10869 IAMAsyncReaderTimestampScaling *This,
10870 WINBOOL *pfRaw);
10871
10872 HRESULT (STDMETHODCALLTYPE *SetTimestampMode)(
10873 IAMAsyncReaderTimestampScaling *This,
10874 WINBOOL fRaw);
10875
10876 END_INTERFACE
10877} IAMAsyncReaderTimestampScalingVtbl;
10878
10879interface IAMAsyncReaderTimestampScaling {
10880 CONST_VTBL IAMAsyncReaderTimestampScalingVtbl* lpVtbl;
10881};
10882
10883#ifdef COBJMACROS
10884#ifndef WIDL_C_INLINE_WRAPPERS
10885/*** IUnknown methods ***/
10886#define IAMAsyncReaderTimestampScaling_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10887#define IAMAsyncReaderTimestampScaling_AddRef(This) (This)->lpVtbl->AddRef(This)
10888#define IAMAsyncReaderTimestampScaling_Release(This) (This)->lpVtbl->Release(This)
10889/*** IAMAsyncReaderTimestampScaling methods ***/
10890#define IAMAsyncReaderTimestampScaling_GetTimestampMode(This,pfRaw) (This)->lpVtbl->GetTimestampMode(This,pfRaw)
10891#define IAMAsyncReaderTimestampScaling_SetTimestampMode(This,fRaw) (This)->lpVtbl->SetTimestampMode(This,fRaw)
10892#else
10893/*** IUnknown methods ***/
10894static inline HRESULT IAMAsyncReaderTimestampScaling_QueryInterface(IAMAsyncReaderTimestampScaling* This,REFIID riid,void **ppvObject) {
10895 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10896}
10897static inline ULONG IAMAsyncReaderTimestampScaling_AddRef(IAMAsyncReaderTimestampScaling* This) {
10898 return This->lpVtbl->AddRef(This);
10899}
10900static inline ULONG IAMAsyncReaderTimestampScaling_Release(IAMAsyncReaderTimestampScaling* This) {
10901 return This->lpVtbl->Release(This);
10902}
10903/*** IAMAsyncReaderTimestampScaling methods ***/
10904static inline HRESULT IAMAsyncReaderTimestampScaling_GetTimestampMode(IAMAsyncReaderTimestampScaling* This,WINBOOL *pfRaw) {
10905 return This->lpVtbl->GetTimestampMode(This,pfRaw);
10906}
10907static inline HRESULT IAMAsyncReaderTimestampScaling_SetTimestampMode(IAMAsyncReaderTimestampScaling* This,WINBOOL fRaw) {
10908 return This->lpVtbl->SetTimestampMode(This,fRaw);
10909}
10910#endif
10911#endif
10912
10913#endif
10914
10915
10916#endif /* __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ */
10917
10918/*****************************************************************************
10919 * IAMPluginControl interface
10920 */
10921#ifndef __IAMPluginControl_INTERFACE_DEFINED__
10922#define __IAMPluginControl_INTERFACE_DEFINED__
10923
10924DEFINE_GUID(IID_IAMPluginControl, 0x0e26a181, 0xf40c, 0x4635, 0x87,0x86, 0x97,0x62,0x84,0xb5,0x29,0x81);
10925#if defined(__cplusplus) && !defined(CINTERFACE)
10926MIDL_INTERFACE("0e26a181-f40c-4635-8786-976284b52981")
10927IAMPluginControl : public IUnknown
10928{
10929 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid(
10930 REFGUID subType,
10931 CLSID *clsid) = 0;
10932
10933 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex(
10934 DWORD index,
10935 GUID *subType,
10936 CLSID *clsid) = 0;
10937
10938 virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid(
10939 REFGUID subType,
10940 const CLSID *clsid) = 0;
10941
10942 virtual HRESULT STDMETHODCALLTYPE IsDisabled(
10943 REFCLSID clsid) = 0;
10944
10945 virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex(
10946 DWORD index,
10947 CLSID *clsid) = 0;
10948
10949 virtual HRESULT STDMETHODCALLTYPE SetDisabled(
10950 REFCLSID clsid,
10951 WINBOOL disabled) = 0;
10952
10953 virtual HRESULT STDMETHODCALLTYPE IsLegacyDisabled(
10954 LPCWSTR dllName) = 0;
10955
10956};
10957#ifdef __CRT_UUID_DECL
10958__CRT_UUID_DECL(IAMPluginControl, 0x0e26a181, 0xf40c, 0x4635, 0x87,0x86, 0x97,0x62,0x84,0xb5,0x29,0x81)
10959#endif
10960#else
10961typedef struct IAMPluginControlVtbl {
10962 BEGIN_INTERFACE
10963
10964 /*** IUnknown methods ***/
10965 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10966 IAMPluginControl *This,
10967 REFIID riid,
10968 void **ppvObject);
10969
10970 ULONG (STDMETHODCALLTYPE *AddRef)(
10971 IAMPluginControl *This);
10972
10973 ULONG (STDMETHODCALLTYPE *Release)(
10974 IAMPluginControl *This);
10975
10976 /*** IAMPluginControl methods ***/
10977 HRESULT (STDMETHODCALLTYPE *GetPreferredClsid)(
10978 IAMPluginControl *This,
10979 REFGUID subType,
10980 CLSID *clsid);
10981
10982 HRESULT (STDMETHODCALLTYPE *GetPreferredClsidByIndex)(
10983 IAMPluginControl *This,
10984 DWORD index,
10985 GUID *subType,
10986 CLSID *clsid);
10987
10988 HRESULT (STDMETHODCALLTYPE *SetPreferredClsid)(
10989 IAMPluginControl *This,
10990 REFGUID subType,
10991 const CLSID *clsid);
10992
10993 HRESULT (STDMETHODCALLTYPE *IsDisabled)(
10994 IAMPluginControl *This,
10995 REFCLSID clsid);
10996
10997 HRESULT (STDMETHODCALLTYPE *GetDisabledByIndex)(
10998 IAMPluginControl *This,
10999 DWORD index,
11000 CLSID *clsid);
11001
11002 HRESULT (STDMETHODCALLTYPE *SetDisabled)(
11003 IAMPluginControl *This,
11004 REFCLSID clsid,
11005 WINBOOL disabled);
11006
11007 HRESULT (STDMETHODCALLTYPE *IsLegacyDisabled)(
11008 IAMPluginControl *This,
11009 LPCWSTR dllName);
11010
11011 END_INTERFACE
11012} IAMPluginControlVtbl;
11013
11014interface IAMPluginControl {
11015 CONST_VTBL IAMPluginControlVtbl* lpVtbl;
11016};
11017
11018#ifdef COBJMACROS
11019#ifndef WIDL_C_INLINE_WRAPPERS
11020/*** IUnknown methods ***/
11021#define IAMPluginControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11022#define IAMPluginControl_AddRef(This) (This)->lpVtbl->AddRef(This)
11023#define IAMPluginControl_Release(This) (This)->lpVtbl->Release(This)
11024/*** IAMPluginControl methods ***/
11025#define IAMPluginControl_GetPreferredClsid(This,subType,clsid) (This)->lpVtbl->GetPreferredClsid(This,subType,clsid)
11026#define IAMPluginControl_GetPreferredClsidByIndex(This,index,subType,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid)
11027#define IAMPluginControl_SetPreferredClsid(This,subType,clsid) (This)->lpVtbl->SetPreferredClsid(This,subType,clsid)
11028#define IAMPluginControl_IsDisabled(This,clsid) (This)->lpVtbl->IsDisabled(This,clsid)
11029#define IAMPluginControl_GetDisabledByIndex(This,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,index,clsid)
11030#define IAMPluginControl_SetDisabled(This,clsid,disabled) (This)->lpVtbl->SetDisabled(This,clsid,disabled)
11031#define IAMPluginControl_IsLegacyDisabled(This,dllName) (This)->lpVtbl->IsLegacyDisabled(This,dllName)
11032#else
11033/*** IUnknown methods ***/
11034static inline HRESULT IAMPluginControl_QueryInterface(IAMPluginControl* This,REFIID riid,void **ppvObject) {
11035 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11036}
11037static inline ULONG IAMPluginControl_AddRef(IAMPluginControl* This) {
11038 return This->lpVtbl->AddRef(This);
11039}
11040static inline ULONG IAMPluginControl_Release(IAMPluginControl* This) {
11041 return This->lpVtbl->Release(This);
11042}
11043/*** IAMPluginControl methods ***/
11044static inline HRESULT IAMPluginControl_GetPreferredClsid(IAMPluginControl* This,REFGUID subType,CLSID *clsid) {
11045 return This->lpVtbl->GetPreferredClsid(This,subType,clsid);
11046}
11047static inline HRESULT IAMPluginControl_GetPreferredClsidByIndex(IAMPluginControl* This,DWORD index,GUID *subType,CLSID *clsid) {
11048 return This->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid);
11049}
11050static inline HRESULT IAMPluginControl_SetPreferredClsid(IAMPluginControl* This,REFGUID subType,const CLSID *clsid) {
11051 return This->lpVtbl->SetPreferredClsid(This,subType,clsid);
11052}
11053static inline HRESULT IAMPluginControl_IsDisabled(IAMPluginControl* This,REFCLSID clsid) {
11054 return This->lpVtbl->IsDisabled(This,clsid);
11055}
11056static inline HRESULT IAMPluginControl_GetDisabledByIndex(IAMPluginControl* This,DWORD index,CLSID *clsid) {
11057 return This->lpVtbl->GetDisabledByIndex(This,index,clsid);
11058}
11059static inline HRESULT IAMPluginControl_SetDisabled(IAMPluginControl* This,REFCLSID clsid,WINBOOL disabled) {
11060 return This->lpVtbl->SetDisabled(This,clsid,disabled);
11061}
11062static inline HRESULT IAMPluginControl_IsLegacyDisabled(IAMPluginControl* This,LPCWSTR dllName) {
11063 return This->lpVtbl->IsLegacyDisabled(This,dllName);
11064}
11065#endif
11066#endif
11067
11068#endif
11069
11070
11071#endif /* __IAMPluginControl_INTERFACE_DEFINED__ */
11072
11073#endif /*(_WIN32_WINNT >= 0x0601)*/
11074#ifndef __IPinConnection_FWD_DEFINED__
11075#define __IPinConnection_FWD_DEFINED__
11076typedef interface IPinConnection IPinConnection;
11077#ifdef __cplusplus
11078interface IPinConnection;
11079#endif /* __cplusplus */
11080#endif
11081
11082#ifndef __IPinFlowControl_FWD_DEFINED__
11083#define __IPinFlowControl_FWD_DEFINED__
11084typedef interface IPinFlowControl IPinFlowControl;
11085#ifdef __cplusplus
11086interface IPinFlowControl;
11087#endif /* __cplusplus */
11088#endif
11089
11090#ifndef __IGraphConfig_FWD_DEFINED__
11091#define __IGraphConfig_FWD_DEFINED__
11092typedef interface IGraphConfig IGraphConfig;
11093#ifdef __cplusplus
11094interface IGraphConfig;
11095#endif /* __cplusplus */
11096#endif
11097
11098#ifndef __IGraphConfigCallback_FWD_DEFINED__
11099#define __IGraphConfigCallback_FWD_DEFINED__
11100typedef interface IGraphConfigCallback IGraphConfigCallback;
11101#ifdef __cplusplus
11102interface IGraphConfigCallback;
11103#endif /* __cplusplus */
11104#endif
11105
11106/*****************************************************************************
11107 * IPinConnection interface
11108 */
11109#ifndef __IPinConnection_INTERFACE_DEFINED__
11110#define __IPinConnection_INTERFACE_DEFINED__
11111
11112DEFINE_GUID(IID_IPinConnection, 0x4a9a62d3, 0x27d4, 0x403d, 0x91,0xe9, 0x89,0xf5,0x40,0xe5,0x55,0x34);
11113#if defined(__cplusplus) && !defined(CINTERFACE)
11114MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")
11115IPinConnection : public IUnknown
11116{
11117 virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept(
11118 const AM_MEDIA_TYPE *pmt) = 0;
11119
11120 virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream(
11121 HANDLE hNotifyEvent) = 0;
11122
11123 virtual HRESULT STDMETHODCALLTYPE IsEndPin(
11124 ) = 0;
11125
11126 virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect(
11127 ) = 0;
11128
11129};
11130#ifdef __CRT_UUID_DECL
11131__CRT_UUID_DECL(IPinConnection, 0x4a9a62d3, 0x27d4, 0x403d, 0x91,0xe9, 0x89,0xf5,0x40,0xe5,0x55,0x34)
11132#endif
11133#else
11134typedef struct IPinConnectionVtbl {
11135 BEGIN_INTERFACE
11136
11137 /*** IUnknown methods ***/
11138 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11139 IPinConnection *This,
11140 REFIID riid,
11141 void **ppvObject);
11142
11143 ULONG (STDMETHODCALLTYPE *AddRef)(
11144 IPinConnection *This);
11145
11146 ULONG (STDMETHODCALLTYPE *Release)(
11147 IPinConnection *This);
11148
11149 /*** IPinConnection methods ***/
11150 HRESULT (STDMETHODCALLTYPE *DynamicQueryAccept)(
11151 IPinConnection *This,
11152 const AM_MEDIA_TYPE *pmt);
11153
11154 HRESULT (STDMETHODCALLTYPE *NotifyEndOfStream)(
11155 IPinConnection *This,
11156 HANDLE hNotifyEvent);
11157
11158 HRESULT (STDMETHODCALLTYPE *IsEndPin)(
11159 IPinConnection *This);
11160
11161 HRESULT (STDMETHODCALLTYPE *DynamicDisconnect)(
11162 IPinConnection *This);
11163
11164 END_INTERFACE
11165} IPinConnectionVtbl;
11166
11167interface IPinConnection {
11168 CONST_VTBL IPinConnectionVtbl* lpVtbl;
11169};
11170
11171#ifdef COBJMACROS
11172#ifndef WIDL_C_INLINE_WRAPPERS
11173/*** IUnknown methods ***/
11174#define IPinConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11175#define IPinConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
11176#define IPinConnection_Release(This) (This)->lpVtbl->Release(This)
11177/*** IPinConnection methods ***/
11178#define IPinConnection_DynamicQueryAccept(This,pmt) (This)->lpVtbl->DynamicQueryAccept(This,pmt)
11179#define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) (This)->lpVtbl->NotifyEndOfStream(This,hNotifyEvent)
11180#define IPinConnection_IsEndPin(This) (This)->lpVtbl->IsEndPin(This)
11181#define IPinConnection_DynamicDisconnect(This) (This)->lpVtbl->DynamicDisconnect(This)
11182#else
11183/*** IUnknown methods ***/
11184static inline HRESULT IPinConnection_QueryInterface(IPinConnection* This,REFIID riid,void **ppvObject) {
11185 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11186}
11187static inline ULONG IPinConnection_AddRef(IPinConnection* This) {
11188 return This->lpVtbl->AddRef(This);
11189}
11190static inline ULONG IPinConnection_Release(IPinConnection* This) {
11191 return This->lpVtbl->Release(This);
11192}
11193/*** IPinConnection methods ***/
11194static inline HRESULT IPinConnection_DynamicQueryAccept(IPinConnection* This,const AM_MEDIA_TYPE *pmt) {
11195 return This->lpVtbl->DynamicQueryAccept(This,pmt);
11196}
11197static inline HRESULT IPinConnection_NotifyEndOfStream(IPinConnection* This,HANDLE hNotifyEvent) {
11198 return This->lpVtbl->NotifyEndOfStream(This,hNotifyEvent);
11199}
11200static inline HRESULT IPinConnection_IsEndPin(IPinConnection* This) {
11201 return This->lpVtbl->IsEndPin(This);
11202}
11203static inline HRESULT IPinConnection_DynamicDisconnect(IPinConnection* This) {
11204 return This->lpVtbl->DynamicDisconnect(This);
11205}
11206#endif
11207#endif
11208
11209#endif
11210
11211
11212#endif /* __IPinConnection_INTERFACE_DEFINED__ */
11213
11214/*****************************************************************************
11215 * IPinFlowControl interface
11216 */
11217#ifndef __IPinFlowControl_INTERFACE_DEFINED__
11218#define __IPinFlowControl_INTERFACE_DEFINED__
11219
11220DEFINE_GUID(IID_IPinFlowControl, 0xc56e9858, 0xdbf3, 0x4f6b, 0x81,0x19, 0x38,0x4a,0xf2,0x06,0x0d,0xeb);
11221#if defined(__cplusplus) && !defined(CINTERFACE)
11222MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")
11223IPinFlowControl : public IUnknown
11224{
11225 virtual HRESULT STDMETHODCALLTYPE Block(
11226 DWORD dwBlockFlags,
11227 HANDLE hEvent) = 0;
11228
11229};
11230#ifdef __CRT_UUID_DECL
11231__CRT_UUID_DECL(IPinFlowControl, 0xc56e9858, 0xdbf3, 0x4f6b, 0x81,0x19, 0x38,0x4a,0xf2,0x06,0x0d,0xeb)
11232#endif
11233#else
11234typedef struct IPinFlowControlVtbl {
11235 BEGIN_INTERFACE
11236
11237 /*** IUnknown methods ***/
11238 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11239 IPinFlowControl *This,
11240 REFIID riid,
11241 void **ppvObject);
11242
11243 ULONG (STDMETHODCALLTYPE *AddRef)(
11244 IPinFlowControl *This);
11245
11246 ULONG (STDMETHODCALLTYPE *Release)(
11247 IPinFlowControl *This);
11248
11249 /*** IPinFlowControl methods ***/
11250 HRESULT (STDMETHODCALLTYPE *Block)(
11251 IPinFlowControl *This,
11252 DWORD dwBlockFlags,
11253 HANDLE hEvent);
11254
11255 END_INTERFACE
11256} IPinFlowControlVtbl;
11257
11258interface IPinFlowControl {
11259 CONST_VTBL IPinFlowControlVtbl* lpVtbl;
11260};
11261
11262#ifdef COBJMACROS
11263#ifndef WIDL_C_INLINE_WRAPPERS
11264/*** IUnknown methods ***/
11265#define IPinFlowControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11266#define IPinFlowControl_AddRef(This) (This)->lpVtbl->AddRef(This)
11267#define IPinFlowControl_Release(This) (This)->lpVtbl->Release(This)
11268/*** IPinFlowControl methods ***/
11269#define IPinFlowControl_Block(This,dwBlockFlags,hEvent) (This)->lpVtbl->Block(This,dwBlockFlags,hEvent)
11270#else
11271/*** IUnknown methods ***/
11272static inline HRESULT IPinFlowControl_QueryInterface(IPinFlowControl* This,REFIID riid,void **ppvObject) {
11273 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11274}
11275static inline ULONG IPinFlowControl_AddRef(IPinFlowControl* This) {
11276 return This->lpVtbl->AddRef(This);
11277}
11278static inline ULONG IPinFlowControl_Release(IPinFlowControl* This) {
11279 return This->lpVtbl->Release(This);
11280}
11281/*** IPinFlowControl methods ***/
11282static inline HRESULT IPinFlowControl_Block(IPinFlowControl* This,DWORD dwBlockFlags,HANDLE hEvent) {
11283 return This->lpVtbl->Block(This,dwBlockFlags,hEvent);
11284}
11285#endif
11286#endif
11287
11288#endif
11289
11290
11291#endif /* __IPinFlowControl_INTERFACE_DEFINED__ */
11292
11293enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
11294 AM_PIN_FLOW_CONTROL_BLOCK = 0x1
11295};
11296typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
11297 AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,
11298 AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2,
11299 AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4
11300} AM_GRAPH_CONFIG_RECONNECT_FLAGS;
11301enum _REM_FILTER_FLAGS {
11302 REMFILTERF_LEAVECONNECTED = 0x1
11303};
11304typedef enum _AM_FILTER_FLAGS {
11305 AM_FILTER_FLAGS_REMOVABLE = 0x1
11306} AM_FILTER_FLAGS;
11307/*****************************************************************************
11308 * IGraphConfig interface
11309 */
11310#ifndef __IGraphConfig_INTERFACE_DEFINED__
11311#define __IGraphConfig_INTERFACE_DEFINED__
11312
11313DEFINE_GUID(IID_IGraphConfig, 0x03a1eb8e, 0x32bf, 0x4245, 0x85,0x02, 0x11,0x4d,0x08,0xa9,0xcb,0x88);
11314#if defined(__cplusplus) && !defined(CINTERFACE)
11315MIDL_INTERFACE("03a1eb8e-32bf-4245-8502-114d08a9cb88")
11316IGraphConfig : public IUnknown
11317{
11318 virtual HRESULT STDMETHODCALLTYPE Reconnect(
11319 IPin *pOutputPin,
11320 IPin *pInputPin,
11321 const AM_MEDIA_TYPE *pmtFirstConnection,
11322 IBaseFilter *pUsingFilter,
11323 HANDLE hAbortEvent,
11324 DWORD dwFlags) = 0;
11325
11326 virtual HRESULT STDMETHODCALLTYPE Reconfigure(
11327 IGraphConfigCallback *pCallback,
11328 PVOID pvContext,
11329 DWORD dwFlags,
11330 HANDLE hAbortEvent) = 0;
11331
11332 virtual HRESULT STDMETHODCALLTYPE AddFilterToCache(
11333 IBaseFilter *pFilter) = 0;
11334
11335 virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter(
11336 IEnumFilters **pEnum) = 0;
11337
11338 virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache(
11339 IBaseFilter *pFilter) = 0;
11340
11341 virtual HRESULT STDMETHODCALLTYPE GetStartTime(
11342 REFERENCE_TIME *prtStart) = 0;
11343
11344 virtual HRESULT STDMETHODCALLTYPE PushThroughData(
11345 IPin *pOutputPin,
11346 IPinConnection *pConnection,
11347 HANDLE hEventAbort) = 0;
11348
11349 virtual HRESULT STDMETHODCALLTYPE SetFilterFlags(
11350 IBaseFilter *pFilter,
11351 DWORD dwFlags) = 0;
11352
11353 virtual HRESULT STDMETHODCALLTYPE GetFilterFlags(
11354 IBaseFilter *pFilter,
11355 DWORD *pdwFlags) = 0;
11356
11357 virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx(
11358 IBaseFilter *pFilter,
11359 DWORD Flags) = 0;
11360
11361};
11362#ifdef __CRT_UUID_DECL
11363__CRT_UUID_DECL(IGraphConfig, 0x03a1eb8e, 0x32bf, 0x4245, 0x85,0x02, 0x11,0x4d,0x08,0xa9,0xcb,0x88)
11364#endif
11365#else
11366typedef struct IGraphConfigVtbl {
11367 BEGIN_INTERFACE
11368
11369 /*** IUnknown methods ***/
11370 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11371 IGraphConfig *This,
11372 REFIID riid,
11373 void **ppvObject);
11374
11375 ULONG (STDMETHODCALLTYPE *AddRef)(
11376 IGraphConfig *This);
11377
11378 ULONG (STDMETHODCALLTYPE *Release)(
11379 IGraphConfig *This);
11380
11381 /*** IGraphConfig methods ***/
11382 HRESULT (STDMETHODCALLTYPE *Reconnect)(
11383 IGraphConfig *This,
11384 IPin *pOutputPin,
11385 IPin *pInputPin,
11386 const AM_MEDIA_TYPE *pmtFirstConnection,
11387 IBaseFilter *pUsingFilter,
11388 HANDLE hAbortEvent,
11389 DWORD dwFlags);
11390
11391 HRESULT (STDMETHODCALLTYPE *Reconfigure)(
11392 IGraphConfig *This,
11393 IGraphConfigCallback *pCallback,
11394 PVOID pvContext,
11395 DWORD dwFlags,
11396 HANDLE hAbortEvent);
11397
11398 HRESULT (STDMETHODCALLTYPE *AddFilterToCache)(
11399 IGraphConfig *This,
11400 IBaseFilter *pFilter);
11401
11402 HRESULT (STDMETHODCALLTYPE *EnumCacheFilter)(
11403 IGraphConfig *This,
11404 IEnumFilters **pEnum);
11405
11406 HRESULT (STDMETHODCALLTYPE *RemoveFilterFromCache)(
11407 IGraphConfig *This,
11408 IBaseFilter *pFilter);
11409
11410 HRESULT (STDMETHODCALLTYPE *GetStartTime)(
11411 IGraphConfig *This,
11412 REFERENCE_TIME *prtStart);
11413
11414 HRESULT (STDMETHODCALLTYPE *PushThroughData)(
11415 IGraphConfig *This,
11416 IPin *pOutputPin,
11417 IPinConnection *pConnection,
11418 HANDLE hEventAbort);
11419
11420 HRESULT (STDMETHODCALLTYPE *SetFilterFlags)(
11421 IGraphConfig *This,
11422 IBaseFilter *pFilter,
11423 DWORD dwFlags);
11424
11425 HRESULT (STDMETHODCALLTYPE *GetFilterFlags)(
11426 IGraphConfig *This,
11427 IBaseFilter *pFilter,
11428 DWORD *pdwFlags);
11429
11430 HRESULT (STDMETHODCALLTYPE *RemoveFilterEx)(
11431 IGraphConfig *This,
11432 IBaseFilter *pFilter,
11433 DWORD Flags);
11434
11435 END_INTERFACE
11436} IGraphConfigVtbl;
11437
11438interface IGraphConfig {
11439 CONST_VTBL IGraphConfigVtbl* lpVtbl;
11440};
11441
11442#ifdef COBJMACROS
11443#ifndef WIDL_C_INLINE_WRAPPERS
11444/*** IUnknown methods ***/
11445#define IGraphConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11446#define IGraphConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
11447#define IGraphConfig_Release(This) (This)->lpVtbl->Release(This)
11448/*** IGraphConfig methods ***/
11449#define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) (This)->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
11450#define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) (This)->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
11451#define IGraphConfig_AddFilterToCache(This,pFilter) (This)->lpVtbl->AddFilterToCache(This,pFilter)
11452#define IGraphConfig_EnumCacheFilter(This,pEnum) (This)->lpVtbl->EnumCacheFilter(This,pEnum)
11453#define IGraphConfig_RemoveFilterFromCache(This,pFilter) (This)->lpVtbl->RemoveFilterFromCache(This,pFilter)
11454#define IGraphConfig_GetStartTime(This,prtStart) (This)->lpVtbl->GetStartTime(This,prtStart)
11455#define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) (This)->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort)
11456#define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) (This)->lpVtbl->SetFilterFlags(This,pFilter,dwFlags)
11457#define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) (This)->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags)
11458#define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) (This)->lpVtbl->RemoveFilterEx(This,pFilter,Flags)
11459#else
11460/*** IUnknown methods ***/
11461static inline HRESULT IGraphConfig_QueryInterface(IGraphConfig* This,REFIID riid,void **ppvObject) {
11462 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11463}
11464static inline ULONG IGraphConfig_AddRef(IGraphConfig* This) {
11465 return This->lpVtbl->AddRef(This);
11466}
11467static inline ULONG IGraphConfig_Release(IGraphConfig* This) {
11468 return This->lpVtbl->Release(This);
11469}
11470/*** IGraphConfig methods ***/
11471static inline HRESULT IGraphConfig_Reconnect(IGraphConfig* This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags) {
11472 return This->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags);
11473}
11474static inline HRESULT IGraphConfig_Reconfigure(IGraphConfig* This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent) {
11475 return This->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent);
11476}
11477static inline HRESULT IGraphConfig_AddFilterToCache(IGraphConfig* This,IBaseFilter *pFilter) {
11478 return This->lpVtbl->AddFilterToCache(This,pFilter);
11479}
11480static inline HRESULT IGraphConfig_EnumCacheFilter(IGraphConfig* This,IEnumFilters **pEnum) {
11481 return This->lpVtbl->EnumCacheFilter(This,pEnum);
11482}
11483static inline HRESULT IGraphConfig_RemoveFilterFromCache(IGraphConfig* This,IBaseFilter *pFilter) {
11484 return This->lpVtbl->RemoveFilterFromCache(This,pFilter);
11485}
11486static inline HRESULT IGraphConfig_GetStartTime(IGraphConfig* This,REFERENCE_TIME *prtStart) {
11487 return This->lpVtbl->GetStartTime(This,prtStart);
11488}
11489static inline HRESULT IGraphConfig_PushThroughData(IGraphConfig* This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort) {
11490 return This->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort);
11491}
11492static inline HRESULT IGraphConfig_SetFilterFlags(IGraphConfig* This,IBaseFilter *pFilter,DWORD dwFlags) {
11493 return This->lpVtbl->SetFilterFlags(This,pFilter,dwFlags);
11494}
11495static inline HRESULT IGraphConfig_GetFilterFlags(IGraphConfig* This,IBaseFilter *pFilter,DWORD *pdwFlags) {
11496 return This->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags);
11497}
11498static inline HRESULT IGraphConfig_RemoveFilterEx(IGraphConfig* This,IBaseFilter *pFilter,DWORD Flags) {
11499 return This->lpVtbl->RemoveFilterEx(This,pFilter,Flags);
11500}
11501#endif
11502#endif
11503
11504#endif
11505
11506
11507#endif /* __IGraphConfig_INTERFACE_DEFINED__ */
11508
11509/*****************************************************************************
11510 * IGraphConfigCallback interface
11511 */
11512#ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
11513#define __IGraphConfigCallback_INTERFACE_DEFINED__
11514
11515DEFINE_GUID(IID_IGraphConfigCallback, 0xade0fd60, 0xd19d, 0x11d2, 0xab,0xf6, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
11516#if defined(__cplusplus) && !defined(CINTERFACE)
11517MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")
11518IGraphConfigCallback : public IUnknown
11519{
11520 virtual HRESULT STDMETHODCALLTYPE Reconfigure(
11521 PVOID pvContext,
11522 DWORD dwFlags) = 0;
11523
11524};
11525#ifdef __CRT_UUID_DECL
11526__CRT_UUID_DECL(IGraphConfigCallback, 0xade0fd60, 0xd19d, 0x11d2, 0xab,0xf6, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
11527#endif
11528#else
11529typedef struct IGraphConfigCallbackVtbl {
11530 BEGIN_INTERFACE
11531
11532 /*** IUnknown methods ***/
11533 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11534 IGraphConfigCallback *This,
11535 REFIID riid,
11536 void **ppvObject);
11537
11538 ULONG (STDMETHODCALLTYPE *AddRef)(
11539 IGraphConfigCallback *This);
11540
11541 ULONG (STDMETHODCALLTYPE *Release)(
11542 IGraphConfigCallback *This);
11543
11544 /*** IGraphConfigCallback methods ***/
11545 HRESULT (STDMETHODCALLTYPE *Reconfigure)(
11546 IGraphConfigCallback *This,
11547 PVOID pvContext,
11548 DWORD dwFlags);
11549
11550 END_INTERFACE
11551} IGraphConfigCallbackVtbl;
11552
11553interface IGraphConfigCallback {
11554 CONST_VTBL IGraphConfigCallbackVtbl* lpVtbl;
11555};
11556
11557#ifdef COBJMACROS
11558#ifndef WIDL_C_INLINE_WRAPPERS
11559/*** IUnknown methods ***/
11560#define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11561#define IGraphConfigCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
11562#define IGraphConfigCallback_Release(This) (This)->lpVtbl->Release(This)
11563/*** IGraphConfigCallback methods ***/
11564#define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) (This)->lpVtbl->Reconfigure(This,pvContext,dwFlags)
11565#else
11566/*** IUnknown methods ***/
11567static inline HRESULT IGraphConfigCallback_QueryInterface(IGraphConfigCallback* This,REFIID riid,void **ppvObject) {
11568 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11569}
11570static inline ULONG IGraphConfigCallback_AddRef(IGraphConfigCallback* This) {
11571 return This->lpVtbl->AddRef(This);
11572}
11573static inline ULONG IGraphConfigCallback_Release(IGraphConfigCallback* This) {
11574 return This->lpVtbl->Release(This);
11575}
11576/*** IGraphConfigCallback methods ***/
11577static inline HRESULT IGraphConfigCallback_Reconfigure(IGraphConfigCallback* This,PVOID pvContext,DWORD dwFlags) {
11578 return This->lpVtbl->Reconfigure(This,pvContext,dwFlags);
11579}
11580#endif
11581#endif
11582
11583#endif
11584
11585
11586#endif /* __IGraphConfigCallback_INTERFACE_DEFINED__ */
11587
11588/*****************************************************************************
11589 * IFilterChain interface
11590 */
11591#ifndef __IFilterChain_INTERFACE_DEFINED__
11592#define __IFilterChain_INTERFACE_DEFINED__
11593
11594DEFINE_GUID(IID_IFilterChain, 0xdcfbdcf6, 0x0dc2, 0x45f5, 0x9a,0xb2, 0x7c,0x33,0x0e,0xa0,0x9c,0x29);
11595#if defined(__cplusplus) && !defined(CINTERFACE)
11596MIDL_INTERFACE("dcfbdcf6-0dc2-45f5-9ab2-7c330ea09c29")
11597IFilterChain : public IUnknown
11598{
11599 virtual HRESULT STDMETHODCALLTYPE StartChain(
11600 IBaseFilter *pStartFilter,
11601 IBaseFilter *pEndFilter) = 0;
11602
11603 virtual HRESULT STDMETHODCALLTYPE PauseChain(
11604 IBaseFilter *pStartFilter,
11605 IBaseFilter *pEndFilter) = 0;
11606
11607 virtual HRESULT STDMETHODCALLTYPE StopChain(
11608 IBaseFilter *pStartFilter,
11609 IBaseFilter *pEndFilter) = 0;
11610
11611 virtual HRESULT STDMETHODCALLTYPE RemoveChain(
11612 IBaseFilter *pStartFilter,
11613 IBaseFilter *pEndFilter) = 0;
11614
11615};
11616#ifdef __CRT_UUID_DECL
11617__CRT_UUID_DECL(IFilterChain, 0xdcfbdcf6, 0x0dc2, 0x45f5, 0x9a,0xb2, 0x7c,0x33,0x0e,0xa0,0x9c,0x29)
11618#endif
11619#else
11620typedef struct IFilterChainVtbl {
11621 BEGIN_INTERFACE
11622
11623 /*** IUnknown methods ***/
11624 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11625 IFilterChain *This,
11626 REFIID riid,
11627 void **ppvObject);
11628
11629 ULONG (STDMETHODCALLTYPE *AddRef)(
11630 IFilterChain *This);
11631
11632 ULONG (STDMETHODCALLTYPE *Release)(
11633 IFilterChain *This);
11634
11635 /*** IFilterChain methods ***/
11636 HRESULT (STDMETHODCALLTYPE *StartChain)(
11637 IFilterChain *This,
11638 IBaseFilter *pStartFilter,
11639 IBaseFilter *pEndFilter);
11640
11641 HRESULT (STDMETHODCALLTYPE *PauseChain)(
11642 IFilterChain *This,
11643 IBaseFilter *pStartFilter,
11644 IBaseFilter *pEndFilter);
11645
11646 HRESULT (STDMETHODCALLTYPE *StopChain)(
11647 IFilterChain *This,
11648 IBaseFilter *pStartFilter,
11649 IBaseFilter *pEndFilter);
11650
11651 HRESULT (STDMETHODCALLTYPE *RemoveChain)(
11652 IFilterChain *This,
11653 IBaseFilter *pStartFilter,
11654 IBaseFilter *pEndFilter);
11655
11656 END_INTERFACE
11657} IFilterChainVtbl;
11658
11659interface IFilterChain {
11660 CONST_VTBL IFilterChainVtbl* lpVtbl;
11661};
11662
11663#ifdef COBJMACROS
11664#ifndef WIDL_C_INLINE_WRAPPERS
11665/*** IUnknown methods ***/
11666#define IFilterChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11667#define IFilterChain_AddRef(This) (This)->lpVtbl->AddRef(This)
11668#define IFilterChain_Release(This) (This)->lpVtbl->Release(This)
11669/*** IFilterChain methods ***/
11670#define IFilterChain_StartChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StartChain(This,pStartFilter,pEndFilter)
11671#define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->PauseChain(This,pStartFilter,pEndFilter)
11672#define IFilterChain_StopChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StopChain(This,pStartFilter,pEndFilter)
11673#define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter)
11674#else
11675/*** IUnknown methods ***/
11676static inline HRESULT IFilterChain_QueryInterface(IFilterChain* This,REFIID riid,void **ppvObject) {
11677 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11678}
11679static inline ULONG IFilterChain_AddRef(IFilterChain* This) {
11680 return This->lpVtbl->AddRef(This);
11681}
11682static inline ULONG IFilterChain_Release(IFilterChain* This) {
11683 return This->lpVtbl->Release(This);
11684}
11685/*** IFilterChain methods ***/
11686static inline HRESULT IFilterChain_StartChain(IFilterChain* This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) {
11687 return This->lpVtbl->StartChain(This,pStartFilter,pEndFilter);
11688}
11689static inline HRESULT IFilterChain_PauseChain(IFilterChain* This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) {
11690 return This->lpVtbl->PauseChain(This,pStartFilter,pEndFilter);
11691}
11692static inline HRESULT IFilterChain_StopChain(IFilterChain* This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) {
11693 return This->lpVtbl->StopChain(This,pStartFilter,pEndFilter);
11694}
11695static inline HRESULT IFilterChain_RemoveChain(IFilterChain* This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) {
11696 return This->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter);
11697}
11698#endif
11699#endif
11700
11701#endif
11702
11703
11704#endif /* __IFilterChain_INTERFACE_DEFINED__ */
11705
11706#ifndef __IReferenceClock2_FWD_DEFINED__
11707#define __IReferenceClock2_FWD_DEFINED__
11708typedef struct IReferenceClock2 IReferenceClock2;
11709#endif
11710#ifndef __IDistributorNotify_FWD_DEFINED__
11711#define __IDistributorNotify_FWD_DEFINED__
11712typedef struct IDistributorNotify IDistributorNotify;
11713#endif
11714
11715#ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
11716#define __IAMVfwCompressDialogs_FWD_DEFINED__
11717typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs;
11718#endif
11719
11720#ifndef __IAMAudioInputMixer_FWD_DEFINED__
11721#define __IAMAudioInputMixer_FWD_DEFINED__
11722typedef struct IAMAudioInputMixer IAMAudioInputMixer;
11723#endif
11724
11725#ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
11726#define __IAMAnalogVideoDecoder_FWD_DEFINED__
11727typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
11728#endif
11729
11730#ifndef __IBPCSatelliteTuner_FWD_DEFINED__
11731#define __IBPCSatelliteTuner_FWD_DEFINED__
11732typedef struct IBPCSatelliteTuner IBPCSatelliteTuner;
11733#endif
11734
11735#ifndef __IAMTVAudio_FWD_DEFINED__
11736#define __IAMTVAudio_FWD_DEFINED__
11737typedef struct IAMTVAudio IAMTVAudio;
11738#endif
11739
11740#ifndef __IAMTVAudioNotification_FWD_DEFINED__
11741#define __IAMTVAudioNotification_FWD_DEFINED__
11742typedef struct IAMTVAudioNotification IAMTVAudioNotification;
11743#endif
11744
11745#ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
11746#define __IAMAnalogVideoEncoder_FWD_DEFINED__
11747typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
11748#endif
11749
11750#ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
11751#define __IAMPhysicalPinInfo_FWD_DEFINED__
11752typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo;
11753#endif
11754
11755#ifndef __IAMExtDevice_FWD_DEFINED__
11756#define __IAMExtDevice_FWD_DEFINED__
11757typedef struct IAMExtDevice IAMExtDevice;
11758#endif
11759
11760#ifndef __IAMExtTransport_FWD_DEFINED__
11761#define __IAMExtTransport_FWD_DEFINED__
11762typedef struct IAMExtTransport IAMExtTransport;
11763#endif
11764
11765#ifndef __IAMTimecodeReader_FWD_DEFINED__
11766#define __IAMTimecodeReader_FWD_DEFINED__
11767typedef struct IAMTimecodeReader IAMTimecodeReader;
11768#endif
11769
11770#ifndef __IAMTimecodeGenerator_FWD_DEFINED__
11771#define __IAMTimecodeGenerator_FWD_DEFINED__
11772typedef struct IAMTimecodeGenerator IAMTimecodeGenerator;
11773#endif
11774
11775#ifndef __IAMTimecodeDisplay_FWD_DEFINED__
11776#define __IAMTimecodeDisplay_FWD_DEFINED__
11777typedef struct IAMTimecodeDisplay IAMTimecodeDisplay;
11778#endif
11779
11780#ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
11781#define __IAMDevMemoryAllocator_FWD_DEFINED__
11782typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator;
11783#endif
11784
11785#ifndef __IAMDevMemoryControl_FWD_DEFINED__
11786#define __IAMDevMemoryControl_FWD_DEFINED__
11787typedef struct IAMDevMemoryControl IAMDevMemoryControl;
11788#endif
11789
11790#ifndef __IAMStreamSelect_FWD_DEFINED__
11791#define __IAMStreamSelect_FWD_DEFINED__
11792typedef struct IAMStreamSelect IAMStreamSelect;
11793#endif
11794
11795#ifndef __IAMResourceControl_FWD_DEFINED__
11796#define __IAMResourceControl_FWD_DEFINED__
11797typedef struct IAMResourceControl IAMResourceControl;
11798#endif
11799
11800#ifndef __IAMClockAdjust_FWD_DEFINED__
11801#define __IAMClockAdjust_FWD_DEFINED__
11802typedef struct IAMClockAdjust IAMClockAdjust;
11803#endif
11804
11805#ifndef __IDrawVideoImage_FWD_DEFINED__
11806#define __IDrawVideoImage_FWD_DEFINED__
11807typedef struct IDrawVideoImage IDrawVideoImage;
11808#endif
11809
11810#ifndef __IDecimateVideoImage_FWD_DEFINED__
11811#define __IDecimateVideoImage_FWD_DEFINED__
11812typedef struct IDecimateVideoImage IDecimateVideoImage;
11813#endif
11814
11815#ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
11816#define __IAMVideoDecimationProperties_FWD_DEFINED__
11817typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties;
11818#endif
11819
11820#ifndef __IAMDeviceRemoval_FWD_DEFINED__
11821#define __IAMDeviceRemoval_FWD_DEFINED__
11822typedef struct IAMDeviceRemoval IAMDeviceRemoval;
11823#endif
11824
11825#ifndef __IDVEnc_FWD_DEFINED__
11826#define __IDVEnc_FWD_DEFINED__
11827typedef struct IDVEnc IDVEnc;
11828#endif
11829
11830#ifndef __IIPDVDec_FWD_DEFINED__
11831#define __IIPDVDec_FWD_DEFINED__
11832typedef struct IIPDVDec IIPDVDec;
11833#endif
11834
11835#ifndef __IDVRGB219_FWD_DEFINED__
11836#define __IDVRGB219_FWD_DEFINED__
11837typedef struct IDVRGB219 IDVRGB219;
11838#endif
11839
11840#ifndef __IDVSplitter_FWD_DEFINED__
11841#define __IDVSplitter_FWD_DEFINED__
11842typedef struct IDVSplitter IDVSplitter;
11843#endif
11844
11845#ifndef __IAMAudioRendererStats_FWD_DEFINED__
11846#define __IAMAudioRendererStats_FWD_DEFINED__
11847typedef struct IAMAudioRendererStats IAMAudioRendererStats;
11848#endif
11849
11850#ifndef __IAMGraphStreams_FWD_DEFINED__
11851#define __IAMGraphStreams_FWD_DEFINED__
11852typedef struct IAMGraphStreams IAMGraphStreams;
11853#endif
11854
11855#ifndef __IAMOverlayFX_FWD_DEFINED__
11856#define __IAMOverlayFX_FWD_DEFINED__
11857typedef struct IAMOverlayFX IAMOverlayFX;
11858#endif
11859
11860#ifndef __IAMOpenProgress_FWD_DEFINED__
11861#define __IAMOpenProgress_FWD_DEFINED__
11862typedef struct IAMOpenProgress IAMOpenProgress;
11863#endif
11864
11865#ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
11866#define __IMpeg2Demultiplexer_FWD_DEFINED__
11867typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer;
11868#endif
11869
11870#ifndef __IEnumStreamIdMap_FWD_DEFINED__
11871#define __IEnumStreamIdMap_FWD_DEFINED__
11872typedef struct IEnumStreamIdMap IEnumStreamIdMap;
11873#endif
11874
11875#ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
11876#define __IMPEG2StreamIdMap_FWD_DEFINED__
11877typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap;
11878#endif
11879
11880#ifndef __IRegisterServiceProvider_FWD_DEFINED__
11881#define __IRegisterServiceProvider_FWD_DEFINED__
11882typedef struct IRegisterServiceProvider IRegisterServiceProvider;
11883#endif
11884
11885#ifndef __ICodecAPI_FWD_DEFINED__
11886#define __ICodecAPI_FWD_DEFINED__
11887typedef struct ICodecAPI ICodecAPI;
11888#endif
11889
11890#ifndef __IGetCapabilitiesKey_FWD_DEFINED__
11891#define __IGetCapabilitiesKey_FWD_DEFINED__
11892typedef struct IGetCapabilitiesKey IGetCapabilitiesKey;
11893#endif
11894
11895#ifndef __IEncoderAPI_FWD_DEFINED__
11896#define __IEncoderAPI_FWD_DEFINED__
11897typedef struct IEncoderAPI IEncoderAPI;
11898#endif
11899
11900#ifndef __IVideoEncoder_FWD_DEFINED__
11901#define __IVideoEncoder_FWD_DEFINED__
11902typedef struct IVideoEncoder IVideoEncoder;
11903#endif
11904
11905#ifndef __IAMDecoderCaps_FWD_DEFINED__
11906#define __IAMDecoderCaps_FWD_DEFINED__
11907typedef struct IAMDecoderCaps IAMDecoderCaps;
11908#endif
11909
11910#ifndef __IDvdControl_FWD_DEFINED__
11911#define __IDvdControl_FWD_DEFINED__
11912typedef struct IDvdControl IDvdControl;
11913#endif
11914
11915#ifndef __IDvdInfo_FWD_DEFINED__
11916#define __IDvdInfo_FWD_DEFINED__
11917typedef struct IDvdInfo IDvdInfo;
11918#endif
11919
11920#ifndef __IDvdCmd_FWD_DEFINED__
11921#define __IDvdCmd_FWD_DEFINED__
11922typedef struct IDvdCmd IDvdCmd;
11923#endif
11924
11925#ifndef __IDvdState_FWD_DEFINED__
11926#define __IDvdState_FWD_DEFINED__
11927typedef struct IDvdState IDvdState;
11928#endif
11929
11930#ifndef __IDvdControl2_FWD_DEFINED__
11931#define __IDvdControl2_FWD_DEFINED__
11932typedef struct IDvdControl2 IDvdControl2;
11933#endif
11934
11935#ifndef __IDvdInfo2_FWD_DEFINED__
11936#define __IDvdInfo2_FWD_DEFINED__
11937typedef struct IDvdInfo2 IDvdInfo2;
11938#endif
11939
11940#ifndef __IDvdGraphBuilder_FWD_DEFINED__
11941#define __IDvdGraphBuilder_FWD_DEFINED__
11942typedef struct IDvdGraphBuilder IDvdGraphBuilder;
11943#endif
11944
11945#ifndef __IDDrawExclModeVideo_FWD_DEFINED__
11946#define __IDDrawExclModeVideo_FWD_DEFINED__
11947typedef struct IDDrawExclModeVideo IDDrawExclModeVideo;
11948#endif
11949
11950#ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
11951#define __IDDrawExclModeVideoCallback_FWD_DEFINED__
11952typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
11953#endif
11954
11955#ifndef __IVMRImagePresenter_FWD_DEFINED__
11956#define __IVMRImagePresenter_FWD_DEFINED__
11957typedef struct IVMRImagePresenter IVMRImagePresenter;
11958#endif
11959
11960#ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
11961#define __IVMRSurfaceAllocator_FWD_DEFINED__
11962typedef struct IVMRSurfaceAllocator IVMRSurfaceAllocator;
11963#endif
11964
11965#ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
11966#define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
11967typedef struct IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
11968#endif
11969
11970#ifndef __IVMRWindowlessControl_FWD_DEFINED__
11971#define __IVMRWindowlessControl_FWD_DEFINED__
11972typedef struct IVMRWindowlessControl IVMRWindowlessControl;
11973#endif
11974
11975#ifndef __IVMRMixerControl_FWD_DEFINED__
11976#define __IVMRMixerControl_FWD_DEFINED__
11977typedef struct IVMRMixerControl IVMRMixerControl;
11978#endif
11979
11980#ifndef __IVMRMonitorConfig_FWD_DEFINED__
11981#define __IVMRMonitorConfig_FWD_DEFINED__
11982typedef struct IVMRMonitorConfig IVMRMonitorConfig;
11983#endif
11984
11985#ifndef __IVMRFilterConfig_FWD_DEFINED__
11986#define __IVMRFilterConfig_FWD_DEFINED__
11987typedef struct IVMRFilterConfig IVMRFilterConfig;
11988#endif
11989
11990#ifndef __IVMRAspectRatioControl_FWD_DEFINED__
11991#define __IVMRAspectRatioControl_FWD_DEFINED__
11992typedef struct IVMRAspectRatioControl IVMRAspectRatioControl;
11993#endif
11994
11995#ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
11996#define __IVMRDeinterlaceControl_FWD_DEFINED__
11997typedef struct IVMRDeinterlaceControl IVMRDeinterlaceControl;
11998#endif
11999
12000#ifndef __IVMRMixerBitmap_FWD_DEFINED__
12001#define __IVMRMixerBitmap_FWD_DEFINED__
12002typedef struct IVMRMixerBitmap IVMRMixerBitmap;
12003#endif
12004
12005#ifndef __IVMRImageCompositor_FWD_DEFINED__
12006#define __IVMRImageCompositor_FWD_DEFINED__
12007typedef struct IVMRImageCompositor IVMRImageCompositor;
12008#endif
12009
12010#ifndef __IVMRVideoStreamControl_FWD_DEFINED__
12011#define __IVMRVideoStreamControl_FWD_DEFINED__
12012typedef struct IVMRVideoStreamControl IVMRVideoStreamControl;
12013#endif
12014
12015#ifndef __IVMRSurface_FWD_DEFINED__
12016#define __IVMRSurface_FWD_DEFINED__
12017typedef struct IVMRSurface IVMRSurface;
12018#endif
12019
12020#ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
12021#define __IVMRImagePresenterConfig_FWD_DEFINED__
12022typedef struct IVMRImagePresenterConfig IVMRImagePresenterConfig;
12023#endif
12024
12025#ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
12026#define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
12027typedef struct IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
12028#endif
12029
12030#ifndef __IVPManager_FWD_DEFINED__
12031#define __IVPManager_FWD_DEFINED__
12032typedef struct IVPManager IVPManager;
12033#endif
12034
12035#ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
12036#define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
12037typedef struct IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling;
12038#endif
12039
12040#ifndef __IAMPluginControl_FWD_DEFINED__
12041#define __IAMPluginControl_FWD_DEFINED__
12042typedef struct IAMPluginControl IAMPluginControl;
12043#endif
12044
12045#include "ocidl.h"
12046
12047 extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
12048 extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
12049#ifndef __IReferenceClock2_INTERFACE_DEFINED__
12050#define __IReferenceClock2_INTERFACE_DEFINED__
12051 EXTERN_C const IID IID_IReferenceClock2;
12052#if defined(__cplusplus) && !defined(CINTERFACE)
12053 struct IReferenceClock2 : public IReferenceClock {
12054 };
12055#else
12056 typedef struct IReferenceClock2Vtbl {
12057 BEGIN_INTERFACE
12058 HRESULT (WINAPI *QueryInterface)(IReferenceClock2 *This,REFIID riid,void **ppvObject);
12059 ULONG (WINAPI *AddRef)(IReferenceClock2 *This);
12060 ULONG (WINAPI *Release)(IReferenceClock2 *This);
12061 HRESULT (WINAPI *GetTime)(IReferenceClock2 *This,REFERENCE_TIME *pTime);
12062 HRESULT (WINAPI *AdviseTime)(IReferenceClock2 *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
12063 HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock2 *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
12064 HRESULT (WINAPI *Unadvise)(IReferenceClock2 *This,DWORD_PTR dwAdviseCookie);
12065 END_INTERFACE
12066 } IReferenceClock2Vtbl;
12067 struct IReferenceClock2 {
12068 CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
12069 };
12070#ifdef COBJMACROS
12071#define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12072#define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This)
12073#define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This)
12074#define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
12075#define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
12076#define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
12077#define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
12078#endif
12079#endif
12080#endif
12081
12082 typedef IReferenceClock2 *PREFERENCECLOCK2;
12083
12084#ifndef __IDistributorNotify_INTERFACE_DEFINED__
12085#define __IDistributorNotify_INTERFACE_DEFINED__
12086 EXTERN_C const IID IID_IDistributorNotify;
12087#if defined(__cplusplus) && !defined(CINTERFACE)
12088 struct IDistributorNotify : public IUnknown {
12089 public:
12090 virtual HRESULT WINAPI Stop(void) = 0;
12091 virtual HRESULT WINAPI Pause(void) = 0;
12092 virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0;
12093 virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0;
12094 virtual HRESULT WINAPI NotifyGraphChange(void) = 0;
12095 };
12096#else
12097 typedef struct IDistributorNotifyVtbl {
12098 BEGIN_INTERFACE
12099 HRESULT (WINAPI *QueryInterface)(IDistributorNotify *This,REFIID riid,void **ppvObject);
12100 ULONG (WINAPI *AddRef)(IDistributorNotify *This);
12101 ULONG (WINAPI *Release)(IDistributorNotify *This);
12102 HRESULT (WINAPI *Stop)(IDistributorNotify *This);
12103 HRESULT (WINAPI *Pause)(IDistributorNotify *This);
12104 HRESULT (WINAPI *Run)(IDistributorNotify *This,REFERENCE_TIME tStart);
12105 HRESULT (WINAPI *SetSyncSource)(IDistributorNotify *This,IReferenceClock *pClock);
12106 HRESULT (WINAPI *NotifyGraphChange)(IDistributorNotify *This);
12107 END_INTERFACE
12108 } IDistributorNotifyVtbl;
12109 struct IDistributorNotify {
12110 CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
12111 };
12112#ifdef COBJMACROS
12113#define IDistributorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12114#define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
12115#define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This)
12116#define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This)
12117#define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This)
12118#define IDistributorNotify_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
12119#define IDistributorNotify_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
12120#define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This)
12121#endif
12122#endif
12123 HRESULT WINAPI IDistributorNotify_Stop_Proxy(IDistributorNotify *This);
12124 void __RPC_STUB IDistributorNotify_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12125 HRESULT WINAPI IDistributorNotify_Pause_Proxy(IDistributorNotify *This);
12126 void __RPC_STUB IDistributorNotify_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12127 HRESULT WINAPI IDistributorNotify_Run_Proxy(IDistributorNotify *This,REFERENCE_TIME tStart);
12128 void __RPC_STUB IDistributorNotify_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12129 HRESULT WINAPI IDistributorNotify_SetSyncSource_Proxy(IDistributorNotify *This,IReferenceClock *pClock);
12130 void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12131 HRESULT WINAPI IDistributorNotify_NotifyGraphChange_Proxy(IDistributorNotify *This);
12132 void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12133#endif
12134
12135 typedef enum __MIDL___MIDL_itf_strmif_0167_0001 {
12136 CompressionCaps_CanQuality = 0x1,CompressionCaps_CanCrunch = 0x2,CompressionCaps_CanKeyFrame = 0x4,CompressionCaps_CanBFrame = 0x8,
12137 CompressionCaps_CanWindow = 0x10
12138 } CompressionCaps;
12139
12140 extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
12141 extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
12142
12143 typedef enum __MIDL___MIDL_itf_strmif_0168_0001 {
12144 VfwCaptureDialog_Source = 0x1,VfwCaptureDialog_Format = 0x2,VfwCaptureDialog_Display = 0x4
12145 } VfwCaptureDialogs;
12146
12147 typedef enum __MIDL___MIDL_itf_strmif_0168_0002 {
12148 VfwCompressDialog_Config = 0x1,VfwCompressDialog_About = 0x2,VfwCompressDialog_QueryConfig = 0x4,VfwCompressDialog_QueryAbout = 0x8
12149 } VfwCompressDialogs;
12150
12151#ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
12152#define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
12153 EXTERN_C const IID IID_IAMVfwCompressDialogs;
12154#if defined(__cplusplus) && !defined(CINTERFACE)
12155 struct IAMVfwCompressDialogs : public IUnknown {
12156 public:
12157 virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0;
12158 virtual HRESULT WINAPI GetState(LPVOID pState,int *pcbState) = 0;
12159 virtual HRESULT WINAPI SetState(LPVOID pState,int cbState) = 0;
12160 virtual HRESULT WINAPI SendDriverMessage(int uMsg,LONG dw1,LONG dw2) = 0;
12161 };
12162#else
12163 typedef struct IAMVfwCompressDialogsVtbl {
12164 BEGIN_INTERFACE
12165 HRESULT (WINAPI *QueryInterface)(IAMVfwCompressDialogs *This,REFIID riid,void **ppvObject);
12166 ULONG (WINAPI *AddRef)(IAMVfwCompressDialogs *This);
12167 ULONG (WINAPI *Release)(IAMVfwCompressDialogs *This);
12168 HRESULT (WINAPI *ShowDialog)(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
12169 HRESULT (WINAPI *GetState)(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
12170 HRESULT (WINAPI *SetState)(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
12171 HRESULT (WINAPI *SendDriverMessage)(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2);
12172 END_INTERFACE
12173 } IAMVfwCompressDialogsVtbl;
12174 struct IAMVfwCompressDialogs {
12175 CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
12176 };
12177#ifdef COBJMACROS
12178#define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12179#define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
12180#define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This)
12181#define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd)
12182#define IAMVfwCompressDialogs_GetState(This,pState,pcbState) (This)->lpVtbl->GetState(This,pState,pcbState)
12183#define IAMVfwCompressDialogs_SetState(This,pState,cbState) (This)->lpVtbl->SetState(This,pState,cbState)
12184#define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,uMsg,dw1,dw2)
12185#endif
12186#endif
12187 HRESULT WINAPI IAMVfwCompressDialogs_ShowDialog_Proxy(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
12188 void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12189 HRESULT WINAPI IAMVfwCompressDialogs_GetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
12190 void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12191 HRESULT WINAPI IAMVfwCompressDialogs_SetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
12192 void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12193 HRESULT WINAPI IAMVfwCompressDialogs_SendDriverMessage_Proxy(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2);
12194 void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12195#endif
12196
12197#define AMF_AUTOMATICGAIN -1.0
12198
12199 extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
12200 extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
12201#ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
12202#define __IAMAudioInputMixer_INTERFACE_DEFINED__
12203 EXTERN_C const IID IID_IAMAudioInputMixer;
12204#if defined(__cplusplus) && !defined(CINTERFACE)
12205 struct IAMAudioInputMixer : public IUnknown {
12206 public:
12207 virtual HRESULT WINAPI put_Enable(WINBOOL fEnable) = 0;
12208 virtual HRESULT WINAPI get_Enable(WINBOOL *pfEnable) = 0;
12209 virtual HRESULT WINAPI put_Mono(WINBOOL fMono) = 0;
12210 virtual HRESULT WINAPI get_Mono(WINBOOL *pfMono) = 0;
12211 virtual HRESULT WINAPI put_MixLevel(double Level) = 0;
12212 virtual HRESULT WINAPI get_MixLevel(double *pLevel) = 0;
12213 virtual HRESULT WINAPI put_Pan(double Pan) = 0;
12214 virtual HRESULT WINAPI get_Pan(double *pPan) = 0;
12215 virtual HRESULT WINAPI put_Loudness(WINBOOL fLoudness) = 0;
12216 virtual HRESULT WINAPI get_Loudness(WINBOOL *pfLoudness) = 0;
12217 virtual HRESULT WINAPI put_Treble(double Treble) = 0;
12218 virtual HRESULT WINAPI get_Treble(double *pTreble) = 0;
12219 virtual HRESULT WINAPI get_TrebleRange(double *pRange) = 0;
12220 virtual HRESULT WINAPI put_Bass(double Bass) = 0;
12221 virtual HRESULT WINAPI get_Bass(double *pBass) = 0;
12222 virtual HRESULT WINAPI get_BassRange(double *pRange) = 0;
12223 };
12224#else
12225 typedef struct IAMAudioInputMixerVtbl {
12226 BEGIN_INTERFACE
12227 HRESULT (WINAPI *QueryInterface)(IAMAudioInputMixer *This,REFIID riid,void **ppvObject);
12228 ULONG (WINAPI *AddRef)(IAMAudioInputMixer *This);
12229 ULONG (WINAPI *Release)(IAMAudioInputMixer *This);
12230 HRESULT (WINAPI *put_Enable)(IAMAudioInputMixer *This,WINBOOL fEnable);
12231 HRESULT (WINAPI *get_Enable)(IAMAudioInputMixer *This,WINBOOL *pfEnable);
12232 HRESULT (WINAPI *put_Mono)(IAMAudioInputMixer *This,WINBOOL fMono);
12233 HRESULT (WINAPI *get_Mono)(IAMAudioInputMixer *This,WINBOOL *pfMono);
12234 HRESULT (WINAPI *put_MixLevel)(IAMAudioInputMixer *This,double Level);
12235 HRESULT (WINAPI *get_MixLevel)(IAMAudioInputMixer *This,double *pLevel);
12236 HRESULT (WINAPI *put_Pan)(IAMAudioInputMixer *This,double Pan);
12237 HRESULT (WINAPI *get_Pan)(IAMAudioInputMixer *This,double *pPan);
12238 HRESULT (WINAPI *put_Loudness)(IAMAudioInputMixer *This,WINBOOL fLoudness);
12239 HRESULT (WINAPI *get_Loudness)(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
12240 HRESULT (WINAPI *put_Treble)(IAMAudioInputMixer *This,double Treble);
12241 HRESULT (WINAPI *get_Treble)(IAMAudioInputMixer *This,double *pTreble);
12242 HRESULT (WINAPI *get_TrebleRange)(IAMAudioInputMixer *This,double *pRange);
12243 HRESULT (WINAPI *put_Bass)(IAMAudioInputMixer *This,double Bass);
12244 HRESULT (WINAPI *get_Bass)(IAMAudioInputMixer *This,double *pBass);
12245 HRESULT (WINAPI *get_BassRange)(IAMAudioInputMixer *This,double *pRange);
12246 END_INTERFACE
12247 } IAMAudioInputMixerVtbl;
12248 struct IAMAudioInputMixer {
12249 CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
12250 };
12251#ifdef COBJMACROS
12252#define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12253#define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
12254#define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This)
12255#define IAMAudioInputMixer_put_Enable(This,fEnable) (This)->lpVtbl->put_Enable(This,fEnable)
12256#define IAMAudioInputMixer_get_Enable(This,pfEnable) (This)->lpVtbl->get_Enable(This,pfEnable)
12257#define IAMAudioInputMixer_put_Mono(This,fMono) (This)->lpVtbl->put_Mono(This,fMono)
12258#define IAMAudioInputMixer_get_Mono(This,pfMono) (This)->lpVtbl->get_Mono(This,pfMono)
12259#define IAMAudioInputMixer_put_MixLevel(This,Level) (This)->lpVtbl->put_MixLevel(This,Level)
12260#define IAMAudioInputMixer_get_MixLevel(This,pLevel) (This)->lpVtbl->get_MixLevel(This,pLevel)
12261#define IAMAudioInputMixer_put_Pan(This,Pan) (This)->lpVtbl->put_Pan(This,Pan)
12262#define IAMAudioInputMixer_get_Pan(This,pPan) (This)->lpVtbl->get_Pan(This,pPan)
12263#define IAMAudioInputMixer_put_Loudness(This,fLoudness) (This)->lpVtbl->put_Loudness(This,fLoudness)
12264#define IAMAudioInputMixer_get_Loudness(This,pfLoudness) (This)->lpVtbl->get_Loudness(This,pfLoudness)
12265#define IAMAudioInputMixer_put_Treble(This,Treble) (This)->lpVtbl->put_Treble(This,Treble)
12266#define IAMAudioInputMixer_get_Treble(This,pTreble) (This)->lpVtbl->get_Treble(This,pTreble)
12267#define IAMAudioInputMixer_get_TrebleRange(This,pRange) (This)->lpVtbl->get_TrebleRange(This,pRange)
12268#define IAMAudioInputMixer_put_Bass(This,Bass) (This)->lpVtbl->put_Bass(This,Bass)
12269#define IAMAudioInputMixer_get_Bass(This,pBass) (This)->lpVtbl->get_Bass(This,pBass)
12270#define IAMAudioInputMixer_get_BassRange(This,pRange) (This)->lpVtbl->get_BassRange(This,pRange)
12271#endif
12272#endif
12273 HRESULT WINAPI IAMAudioInputMixer_put_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL fEnable);
12274 void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12275 HRESULT WINAPI IAMAudioInputMixer_get_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL *pfEnable);
12276 void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12277 HRESULT WINAPI IAMAudioInputMixer_put_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL fMono);
12278 void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12279 HRESULT WINAPI IAMAudioInputMixer_get_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL *pfMono);
12280 void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12281 HRESULT WINAPI IAMAudioInputMixer_put_MixLevel_Proxy(IAMAudioInputMixer *This,double Level);
12282 void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12283 HRESULT WINAPI IAMAudioInputMixer_get_MixLevel_Proxy(IAMAudioInputMixer *This,double *pLevel);
12284 void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12285 HRESULT WINAPI IAMAudioInputMixer_put_Pan_Proxy(IAMAudioInputMixer *This,double Pan);
12286 void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12287 HRESULT WINAPI IAMAudioInputMixer_get_Pan_Proxy(IAMAudioInputMixer *This,double *pPan);
12288 void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12289 HRESULT WINAPI IAMAudioInputMixer_put_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL fLoudness);
12290 void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12291 HRESULT WINAPI IAMAudioInputMixer_get_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
12292 void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12293 HRESULT WINAPI IAMAudioInputMixer_put_Treble_Proxy(IAMAudioInputMixer *This,double Treble);
12294 void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12295 HRESULT WINAPI IAMAudioInputMixer_get_Treble_Proxy(IAMAudioInputMixer *This,double *pTreble);
12296 void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12297 HRESULT WINAPI IAMAudioInputMixer_get_TrebleRange_Proxy(IAMAudioInputMixer *This,double *pRange);
12298 void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12299 HRESULT WINAPI IAMAudioInputMixer_put_Bass_Proxy(IAMAudioInputMixer *This,double Bass);
12300 void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12301 HRESULT WINAPI IAMAudioInputMixer_get_Bass_Proxy(IAMAudioInputMixer *This,double *pBass);
12302 void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12303 HRESULT WINAPI IAMAudioInputMixer_get_BassRange_Proxy(IAMAudioInputMixer *This,double *pRange);
12304 void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12305#endif
12306
12307#define AnalogVideo_NTSC_Mask 0x00000007
12308#define AnalogVideo_PAL_Mask 0x00100FF0
12309#define AnalogVideo_SECAM_Mask 0x000FF000
12310
12311 typedef enum __MIDL___MIDL_itf_strmif_0173_0001 {
12312 VideoCopyProtectionMacrovisionBasic = 0,VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
12313 } VideoCopyProtectionType;
12314
12315 typedef enum tagPhysicalConnectorType {
12316 PhysConn_Video_Tuner = 1,
12317 PhysConn_Video_Composite,PhysConn_Video_SVideo,PhysConn_Video_RGB,
12318 PhysConn_Video_YRYBY,PhysConn_Video_SerialDigital,PhysConn_Video_ParallelDigital,
12319 PhysConn_Video_SCSI,PhysConn_Video_AUX,PhysConn_Video_1394,PhysConn_Video_USB,
12320 PhysConn_Video_VideoDecoder,PhysConn_Video_VideoEncoder,PhysConn_Video_SCART,PhysConn_Video_Black,
12321 PhysConn_Audio_Tuner = 0x1000,PhysConn_Audio_Line = 0x1001,PhysConn_Audio_Mic = 0x1002,
12322 PhysConn_Audio_AESDigital = 0x1003,PhysConn_Audio_SPDIFDigital = 0x1004,
12323 PhysConn_Audio_SCSI = 0x1005,PhysConn_Audio_AUX = 0x1006,PhysConn_Audio_1394 = 0x1007,
12324 PhysConn_Audio_USB = 0x1008,PhysConn_Audio_AudioDecoder = 0x1009
12325 } PhysicalConnectorType;
12326
12327 extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;
12328 extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;
12329#ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
12330#define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
12331 EXTERN_C const IID IID_IAMAnalogVideoDecoder;
12332#if defined(__cplusplus) && !defined(CINTERFACE)
12333 struct IAMAnalogVideoDecoder : public IUnknown {
12334 public:
12335 virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0;
12336 virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0;
12337 virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0;
12338 virtual HRESULT WINAPI get_HorizontalLocked(LONG *plLocked) = 0;
12339 virtual HRESULT WINAPI put_VCRHorizontalLocking(LONG lVCRHorizontalLocking) = 0;
12340 virtual HRESULT WINAPI get_VCRHorizontalLocking(LONG *plVCRHorizontalLocking) = 0;
12341 virtual HRESULT WINAPI get_NumberOfLines(LONG *plNumberOfLines) = 0;
12342 virtual HRESULT WINAPI put_OutputEnable(LONG lOutputEnable) = 0;
12343 virtual HRESULT WINAPI get_OutputEnable(LONG *plOutputEnable) = 0;
12344 };
12345#else
12346 typedef struct IAMAnalogVideoDecoderVtbl {
12347 BEGIN_INTERFACE
12348 HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoDecoder *This,REFIID riid,void **ppvObject);
12349 ULONG (WINAPI *AddRef)(IAMAnalogVideoDecoder *This);
12350 ULONG (WINAPI *Release)(IAMAnalogVideoDecoder *This);
12351 HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard);
12352 HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard);
12353 HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard);
12354 HRESULT (WINAPI *get_HorizontalLocked)(IAMAnalogVideoDecoder *This,LONG *plLocked);
12355 HRESULT (WINAPI *put_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking);
12356 HRESULT (WINAPI *get_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking);
12357 HRESULT (WINAPI *get_NumberOfLines)(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines);
12358 HRESULT (WINAPI *put_OutputEnable)(IAMAnalogVideoDecoder *This,LONG lOutputEnable);
12359 HRESULT (WINAPI *get_OutputEnable)(IAMAnalogVideoDecoder *This,LONG *plOutputEnable);
12360 END_INTERFACE
12361 } IAMAnalogVideoDecoderVtbl;
12362 struct IAMAnalogVideoDecoder {
12363 CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
12364 };
12365#ifdef COBJMACROS
12366#define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12367#define IAMAnalogVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
12368#define IAMAnalogVideoDecoder_Release(This) (This)->lpVtbl->Release(This)
12369#define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
12370#define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
12371#define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
12372#define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) (This)->lpVtbl->get_HorizontalLocked(This,plLocked)
12373#define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) (This)->lpVtbl->put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
12374#define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) (This)->lpVtbl->get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
12375#define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) (This)->lpVtbl->get_NumberOfLines(This,plNumberOfLines)
12376#define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) (This)->lpVtbl->put_OutputEnable(This,lOutputEnable)
12377#define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) (This)->lpVtbl->get_OutputEnable(This,plOutputEnable)
12378#endif
12379#endif
12380 HRESULT WINAPI IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard);
12381 void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12382 HRESULT WINAPI IAMAnalogVideoDecoder_put_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard);
12383 void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12384 HRESULT WINAPI IAMAnalogVideoDecoder_get_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard);
12385 void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12386 HRESULT WINAPI IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(IAMAnalogVideoDecoder *This,LONG *plLocked);
12387 void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12388 HRESULT WINAPI IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking);
12389 void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12390 HRESULT WINAPI IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking);
12391 void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12392 HRESULT WINAPI IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines);
12393 void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12394 HRESULT WINAPI IAMAnalogVideoDecoder_put_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG lOutputEnable);
12395 void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12396 HRESULT WINAPI IAMAnalogVideoDecoder_get_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG *plOutputEnable);
12397 void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12398#endif
12399
12400 typedef enum tagCameraControlProperty {
12401 CameraControl_Pan = 0,
12402 CameraControl_Tilt,CameraControl_Roll,CameraControl_Zoom,CameraControl_Exposure,
12403 CameraControl_Iris,CameraControl_Focus
12404 } CameraControlProperty;
12405
12406 typedef enum tagCameraControlFlags {
12407 CameraControl_Flags_Auto = 0x1,CameraControl_Flags_Manual = 0x2
12408 } CameraControlFlags;
12409
12410 extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec;
12411 extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec;
12412
12413 typedef enum tagVideoControlFlags {
12414 VideoControlFlag_FlipHorizontal = 0x1,VideoControlFlag_FlipVertical = 0x2,VideoControlFlag_ExternalTriggerEnable = 0x4,VideoControlFlag_Trigger = 0x8
12415 } VideoControlFlags;
12416
12417 extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec;
12418 extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec;
12419
12420 typedef enum tagAMTunerSubChannel {
12421 AMTUNER_SUBCHAN_NO_TUNE = -2,AMTUNER_SUBCHAN_DEFAULT = -1
12422 } AMTunerSubChannel;
12423
12424 typedef enum tagAMTunerSignalStrength {
12425 AMTUNER_HASNOSIGNALSTRENGTH = -1,AMTUNER_NOSIGNAL = 0,AMTUNER_SIGNALPRESENT = 1
12426 } AMTunerSignalStrength;
12427
12428 extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
12429 extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
12430
12431#ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
12432#define __IBPCSatelliteTuner_INTERFACE_DEFINED__
12433 EXTERN_C const IID IID_IBPCSatelliteTuner;
12434#if defined(__cplusplus) && !defined(CINTERFACE)
12435 struct IBPCSatelliteTuner : public IAMTuner {
12436 public:
12437 virtual HRESULT WINAPI get_DefaultSubChannelTypes(LONG *plDefaultVideoType,LONG *plDefaultAudioType) = 0;
12438 virtual HRESULT WINAPI put_DefaultSubChannelTypes(LONG lDefaultVideoType,LONG lDefaultAudioType) = 0;
12439 virtual HRESULT WINAPI IsTapingPermitted(void) = 0;
12440 };
12441#else
12442 typedef struct IBPCSatelliteTunerVtbl {
12443 BEGIN_INTERFACE
12444 HRESULT (WINAPI *QueryInterface)(IBPCSatelliteTuner *This,REFIID riid,void **ppvObject);
12445 ULONG (WINAPI *AddRef)(IBPCSatelliteTuner *This);
12446 ULONG (WINAPI *Release)(IBPCSatelliteTuner *This);
12447 HRESULT (WINAPI *put_Channel)(IBPCSatelliteTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
12448 HRESULT (WINAPI *get_Channel)(IBPCSatelliteTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
12449 HRESULT (WINAPI *ChannelMinMax)(IBPCSatelliteTuner *This,LONG *lChannelMin,LONG *lChannelMax);
12450 HRESULT (WINAPI *put_CountryCode)(IBPCSatelliteTuner *This,LONG lCountryCode);
12451 HRESULT (WINAPI *get_CountryCode)(IBPCSatelliteTuner *This,LONG *plCountryCode);
12452 HRESULT (WINAPI *put_TuningSpace)(IBPCSatelliteTuner *This,LONG lTuningSpace);
12453 HRESULT (WINAPI *get_TuningSpace)(IBPCSatelliteTuner *This,LONG *plTuningSpace);
12454 HRESULT (WINAPI *Logon)(IBPCSatelliteTuner *This,HANDLE hCurrentUser);
12455 HRESULT (WINAPI *Logout)(IBPCSatelliteTuner *This);
12456 HRESULT (WINAPI *SignalPresent)(IBPCSatelliteTuner *This,LONG *plSignalStrength);
12457 HRESULT (WINAPI *put_Mode)(IBPCSatelliteTuner *This,AMTunerModeType lMode);
12458 HRESULT (WINAPI *get_Mode)(IBPCSatelliteTuner *This,AMTunerModeType *plMode);
12459 HRESULT (WINAPI *GetAvailableModes)(IBPCSatelliteTuner *This,LONG *plModes);
12460 HRESULT (WINAPI *RegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
12461 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify);
12462 HRESULT (WINAPI *get_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType);
12463 HRESULT (WINAPI *put_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType);
12464 HRESULT (WINAPI *IsTapingPermitted)(IBPCSatelliteTuner *This);
12465 END_INTERFACE
12466 } IBPCSatelliteTunerVtbl;
12467 struct IBPCSatelliteTuner {
12468 CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
12469 };
12470#ifdef COBJMACROS
12471#define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12472#define IBPCSatelliteTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
12473#define IBPCSatelliteTuner_Release(This) (This)->lpVtbl->Release(This)
12474#define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
12475#define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
12476#define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
12477#define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
12478#define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
12479#define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
12480#define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
12481#define IBPCSatelliteTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
12482#define IBPCSatelliteTuner_Logout(This) (This)->lpVtbl->Logout(This)
12483#define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
12484#define IBPCSatelliteTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
12485#define IBPCSatelliteTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
12486#define IBPCSatelliteTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
12487#define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
12488#define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
12489#define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) (This)->lpVtbl->get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
12490#define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) (This)->lpVtbl->put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
12491#define IBPCSatelliteTuner_IsTapingPermitted(This) (This)->lpVtbl->IsTapingPermitted(This)
12492#endif
12493#endif
12494 HRESULT WINAPI IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType);
12495 void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12496 HRESULT WINAPI IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType);
12497 void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12498 HRESULT WINAPI IBPCSatelliteTuner_IsTapingPermitted_Proxy(IBPCSatelliteTuner *This);
12499 void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12500#endif
12501
12502 typedef enum tagAMTVAudioEventType {
12503 AMTVAUDIO_EVENT_CHANGED = 0x1
12504 } AMTVAudioEventType;
12505
12506 extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
12507 extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
12508#ifndef __IAMTVAudio_INTERFACE_DEFINED__
12509#define __IAMTVAudio_INTERFACE_DEFINED__
12510 EXTERN_C const IID IID_IAMTVAudio;
12511#if defined(__cplusplus) && !defined(CINTERFACE)
12512 struct IAMTVAudio : public IUnknown {
12513 public:
12514 virtual HRESULT WINAPI GetHardwareSupportedTVAudioModes(LONG *plModes) = 0;
12515 virtual HRESULT WINAPI GetAvailableTVAudioModes(LONG *plModes) = 0;
12516 virtual HRESULT WINAPI get_TVAudioMode(LONG *plMode) = 0;
12517 virtual HRESULT WINAPI put_TVAudioMode(LONG lMode) = 0;
12518 virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0;
12519 virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
12520 };
12521#else
12522 typedef struct IAMTVAudioVtbl {
12523 BEGIN_INTERFACE
12524 HRESULT (WINAPI *QueryInterface)(IAMTVAudio *This,REFIID riid,void **ppvObject);
12525 ULONG (WINAPI *AddRef)(IAMTVAudio *This);
12526 ULONG (WINAPI *Release)(IAMTVAudio *This);
12527 HRESULT (WINAPI *GetHardwareSupportedTVAudioModes)(IAMTVAudio *This,LONG *plModes);
12528 HRESULT (WINAPI *GetAvailableTVAudioModes)(IAMTVAudio *This,LONG *plModes);
12529 HRESULT (WINAPI *get_TVAudioMode)(IAMTVAudio *This,LONG *plMode);
12530 HRESULT (WINAPI *put_TVAudioMode)(IAMTVAudio *This,LONG lMode);
12531 HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents);
12532 HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify);
12533 END_INTERFACE
12534 } IAMTVAudioVtbl;
12535 struct IAMTVAudio {
12536 CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
12537 };
12538#ifdef COBJMACROS
12539#define IAMTVAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12540#define IAMTVAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
12541#define IAMTVAudio_Release(This) (This)->lpVtbl->Release(This)
12542#define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) (This)->lpVtbl->GetHardwareSupportedTVAudioModes(This,plModes)
12543#define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) (This)->lpVtbl->GetAvailableTVAudioModes(This,plModes)
12544#define IAMTVAudio_get_TVAudioMode(This,plMode) (This)->lpVtbl->get_TVAudioMode(This,plMode)
12545#define IAMTVAudio_put_TVAudioMode(This,lMode) (This)->lpVtbl->put_TVAudioMode(This,lMode)
12546#define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
12547#define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
12548#endif
12549#endif
12550 HRESULT WINAPI IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes);
12551 void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12552 HRESULT WINAPI IAMTVAudio_GetAvailableTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes);
12553 void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12554 HRESULT WINAPI IAMTVAudio_get_TVAudioMode_Proxy(IAMTVAudio *This,LONG *plMode);
12555 void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12556 HRESULT WINAPI IAMTVAudio_put_TVAudioMode_Proxy(IAMTVAudio *This,LONG lMode);
12557 void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12558 HRESULT WINAPI IAMTVAudio_RegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents);
12559 void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12560 HRESULT WINAPI IAMTVAudio_UnRegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify);
12561 void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12562#endif
12563
12564#ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
12565#define __IAMTVAudioNotification_INTERFACE_DEFINED__
12566 EXTERN_C const IID IID_IAMTVAudioNotification;
12567#if defined(__cplusplus) && !defined(CINTERFACE)
12568 struct IAMTVAudioNotification : public IUnknown {
12569 public:
12570 virtual HRESULT WINAPI OnEvent(AMTVAudioEventType Event) = 0;
12571 };
12572#else
12573 typedef struct IAMTVAudioNotificationVtbl {
12574 BEGIN_INTERFACE
12575 HRESULT (WINAPI *QueryInterface)(IAMTVAudioNotification *This,REFIID riid,void **ppvObject);
12576 ULONG (WINAPI *AddRef)(IAMTVAudioNotification *This);
12577 ULONG (WINAPI *Release)(IAMTVAudioNotification *This);
12578 HRESULT (WINAPI *OnEvent)(IAMTVAudioNotification *This,AMTVAudioEventType Event);
12579 END_INTERFACE
12580 } IAMTVAudioNotificationVtbl;
12581 struct IAMTVAudioNotification {
12582 CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
12583 };
12584#ifdef COBJMACROS
12585#define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12586#define IAMTVAudioNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
12587#define IAMTVAudioNotification_Release(This) (This)->lpVtbl->Release(This)
12588#define IAMTVAudioNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
12589#endif
12590#endif
12591 HRESULT WINAPI IAMTVAudioNotification_OnEvent_Proxy(IAMTVAudioNotification *This,AMTVAudioEventType Event);
12592 void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12593#endif
12594
12595#ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
12596#define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
12597 EXTERN_C const IID IID_IAMAnalogVideoEncoder;
12598#if defined(__cplusplus) && !defined(CINTERFACE)
12599 struct IAMAnalogVideoEncoder : public IUnknown {
12600 public:
12601 virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0;
12602 virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0;
12603 virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0;
12604 virtual HRESULT WINAPI put_CopyProtection(LONG lVideoCopyProtection) = 0;
12605 virtual HRESULT WINAPI get_CopyProtection(LONG *lVideoCopyProtection) = 0;
12606 virtual HRESULT WINAPI put_CCEnable(LONG lCCEnable) = 0;
12607 virtual HRESULT WINAPI get_CCEnable(LONG *lCCEnable) = 0;
12608 };
12609#else
12610 typedef struct IAMAnalogVideoEncoderVtbl {
12611 BEGIN_INTERFACE
12612 HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoEncoder *This,REFIID riid,void **ppvObject);
12613 ULONG (WINAPI *AddRef)(IAMAnalogVideoEncoder *This);
12614 ULONG (WINAPI *Release)(IAMAnalogVideoEncoder *This);
12615 HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard);
12616 HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard);
12617 HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard);
12618 HRESULT (WINAPI *put_CopyProtection)(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection);
12619 HRESULT (WINAPI *get_CopyProtection)(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection);
12620 HRESULT (WINAPI *put_CCEnable)(IAMAnalogVideoEncoder *This,LONG lCCEnable);
12621 HRESULT (WINAPI *get_CCEnable)(IAMAnalogVideoEncoder *This,LONG *lCCEnable);
12622 END_INTERFACE
12623 } IAMAnalogVideoEncoderVtbl;
12624 struct IAMAnalogVideoEncoder {
12625 CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
12626 };
12627#ifdef COBJMACROS
12628#define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12629#define IAMAnalogVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
12630#define IAMAnalogVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
12631#define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
12632#define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
12633#define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
12634#define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->put_CopyProtection(This,lVideoCopyProtection)
12635#define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->get_CopyProtection(This,lVideoCopyProtection)
12636#define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) (This)->lpVtbl->put_CCEnable(This,lCCEnable)
12637#define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) (This)->lpVtbl->get_CCEnable(This,lCCEnable)
12638#endif
12639#endif
12640 HRESULT WINAPI IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard);
12641 void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12642 HRESULT WINAPI IAMAnalogVideoEncoder_put_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard);
12643 void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12644 HRESULT WINAPI IAMAnalogVideoEncoder_get_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard);
12645 void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12646 HRESULT WINAPI IAMAnalogVideoEncoder_put_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection);
12647 void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12648 HRESULT WINAPI IAMAnalogVideoEncoder_get_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection);
12649 void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12650 HRESULT WINAPI IAMAnalogVideoEncoder_put_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG lCCEnable);
12651 void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12652 HRESULT WINAPI IAMAnalogVideoEncoder_get_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG *lCCEnable);
12653 void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12654#endif
12655
12656#ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
12657#define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
12658 EXTERN_C const IID IID_IAMPhysicalPinInfo;
12659#if defined(__cplusplus) && !defined(CINTERFACE)
12660 struct IAMPhysicalPinInfo : public IUnknown {
12661 public:
12662 virtual HRESULT WINAPI GetPhysicalType(LONG *pType,LPOLESTR *ppszType) = 0;
12663 };
12664#else
12665 typedef struct IAMPhysicalPinInfoVtbl {
12666 BEGIN_INTERFACE
12667 HRESULT (WINAPI *QueryInterface)(IAMPhysicalPinInfo *This,REFIID riid,void **ppvObject);
12668 ULONG (WINAPI *AddRef)(IAMPhysicalPinInfo *This);
12669 ULONG (WINAPI *Release)(IAMPhysicalPinInfo *This);
12670 HRESULT (WINAPI *GetPhysicalType)(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType);
12671 END_INTERFACE
12672 } IAMPhysicalPinInfoVtbl;
12673 struct IAMPhysicalPinInfo {
12674 CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
12675 };
12676#ifdef COBJMACROS
12677#define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12678#define IAMPhysicalPinInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
12679#define IAMPhysicalPinInfo_Release(This) (This)->lpVtbl->Release(This)
12680#define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) (This)->lpVtbl->GetPhysicalType(This,pType,ppszType)
12681#endif
12682#endif
12683 HRESULT WINAPI IAMPhysicalPinInfo_GetPhysicalType_Proxy(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType);
12684 void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12685#endif
12686
12687 typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
12688
12689 extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
12690 extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
12691#ifndef __IAMExtDevice_INTERFACE_DEFINED__
12692#define __IAMExtDevice_INTERFACE_DEFINED__
12693 EXTERN_C const IID IID_IAMExtDevice;
12694#if defined(__cplusplus) && !defined(CINTERFACE)
12695 struct IAMExtDevice : public IUnknown {
12696 public:
12697 virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0;
12698 virtual HRESULT WINAPI get_ExternalDeviceID(LPOLESTR *ppszData) = 0;
12699 virtual HRESULT WINAPI get_ExternalDeviceVersion(LPOLESTR *ppszData) = 0;
12700 virtual HRESULT WINAPI put_DevicePower(LONG PowerMode) = 0;
12701 virtual HRESULT WINAPI get_DevicePower(LONG *pPowerMode) = 0;
12702 virtual HRESULT WINAPI Calibrate(HEVENT hEvent,LONG Mode,LONG *pStatus) = 0;
12703 virtual HRESULT WINAPI put_DevicePort(LONG DevicePort) = 0;
12704 virtual HRESULT WINAPI get_DevicePort(LONG *pDevicePort) = 0;
12705 };
12706#else
12707 typedef struct IAMExtDeviceVtbl {
12708 BEGIN_INTERFACE
12709 HRESULT (WINAPI *QueryInterface)(IAMExtDevice *This,REFIID riid,void **ppvObject);
12710 ULONG (WINAPI *AddRef)(IAMExtDevice *This);
12711 ULONG (WINAPI *Release)(IAMExtDevice *This);
12712 HRESULT (WINAPI *GetCapability)(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue);
12713 HRESULT (WINAPI *get_ExternalDeviceID)(IAMExtDevice *This,LPOLESTR *ppszData);
12714 HRESULT (WINAPI *get_ExternalDeviceVersion)(IAMExtDevice *This,LPOLESTR *ppszData);
12715 HRESULT (WINAPI *put_DevicePower)(IAMExtDevice *This,LONG PowerMode);
12716 HRESULT (WINAPI *get_DevicePower)(IAMExtDevice *This,LONG *pPowerMode);
12717 HRESULT (WINAPI *Calibrate)(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus);
12718 HRESULT (WINAPI *put_DevicePort)(IAMExtDevice *This,LONG DevicePort);
12719 HRESULT (WINAPI *get_DevicePort)(IAMExtDevice *This,LONG *pDevicePort);
12720 END_INTERFACE
12721 } IAMExtDeviceVtbl;
12722 struct IAMExtDevice {
12723 CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
12724 };
12725#ifdef COBJMACROS
12726#define IAMExtDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12727#define IAMExtDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
12728#define IAMExtDevice_Release(This) (This)->lpVtbl->Release(This)
12729#define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
12730#define IAMExtDevice_get_ExternalDeviceID(This,ppszData) (This)->lpVtbl->get_ExternalDeviceID(This,ppszData)
12731#define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) (This)->lpVtbl->get_ExternalDeviceVersion(This,ppszData)
12732#define IAMExtDevice_put_DevicePower(This,PowerMode) (This)->lpVtbl->put_DevicePower(This,PowerMode)
12733#define IAMExtDevice_get_DevicePower(This,pPowerMode) (This)->lpVtbl->get_DevicePower(This,pPowerMode)
12734#define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) (This)->lpVtbl->Calibrate(This,hEvent,Mode,pStatus)
12735#define IAMExtDevice_put_DevicePort(This,DevicePort) (This)->lpVtbl->put_DevicePort(This,DevicePort)
12736#define IAMExtDevice_get_DevicePort(This,pDevicePort) (This)->lpVtbl->get_DevicePort(This,pDevicePort)
12737#endif
12738#endif
12739 HRESULT WINAPI IAMExtDevice_GetCapability_Proxy(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue);
12740 void __RPC_STUB IAMExtDevice_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12741 HRESULT WINAPI IAMExtDevice_get_ExternalDeviceID_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
12742 void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12743 HRESULT WINAPI IAMExtDevice_get_ExternalDeviceVersion_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
12744 void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12745 HRESULT WINAPI IAMExtDevice_put_DevicePower_Proxy(IAMExtDevice *This,LONG PowerMode);
12746 void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12747 HRESULT WINAPI IAMExtDevice_get_DevicePower_Proxy(IAMExtDevice *This,LONG *pPowerMode);
12748 void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12749 HRESULT WINAPI IAMExtDevice_Calibrate_Proxy(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus);
12750 void __RPC_STUB IAMExtDevice_Calibrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12751 HRESULT WINAPI IAMExtDevice_put_DevicePort_Proxy(IAMExtDevice *This,LONG DevicePort);
12752 void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12753 HRESULT WINAPI IAMExtDevice_get_DevicePort_Proxy(IAMExtDevice *This,LONG *pDevicePort);
12754 void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12755#endif
12756
12757 typedef IAMExtDevice *PEXTDEVICE;
12758
12759 extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
12760 extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
12761#ifndef __IAMExtTransport_INTERFACE_DEFINED__
12762#define __IAMExtTransport_INTERFACE_DEFINED__
12763 EXTERN_C const IID IID_IAMExtTransport;
12764#if defined(__cplusplus) && !defined(CINTERFACE)
12765 struct IAMExtTransport : public IUnknown {
12766 public:
12767 virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0;
12768 virtual HRESULT WINAPI put_MediaState(LONG State) = 0;
12769 virtual HRESULT WINAPI get_MediaState(LONG *pState) = 0;
12770 virtual HRESULT WINAPI put_LocalControl(LONG State) = 0;
12771 virtual HRESULT WINAPI get_LocalControl(LONG *pState) = 0;
12772 virtual HRESULT WINAPI GetStatus(LONG StatusItem,LONG *pValue) = 0;
12773 virtual HRESULT WINAPI GetTransportBasicParameters(LONG Param,LONG *pValue,LPOLESTR *ppszData) = 0;
12774 virtual HRESULT WINAPI SetTransportBasicParameters(LONG Param,LONG Value,LPCOLESTR pszData) = 0;
12775 virtual HRESULT WINAPI GetTransportVideoParameters(LONG Param,LONG *pValue) = 0;
12776 virtual HRESULT WINAPI SetTransportVideoParameters(LONG Param,LONG Value) = 0;
12777 virtual HRESULT WINAPI GetTransportAudioParameters(LONG Param,LONG *pValue) = 0;
12778 virtual HRESULT WINAPI SetTransportAudioParameters(LONG Param,LONG Value) = 0;
12779 virtual HRESULT WINAPI put_Mode(LONG Mode) = 0;
12780 virtual HRESULT WINAPI get_Mode(LONG *pMode) = 0;
12781 virtual HRESULT WINAPI put_Rate(double dblRate) = 0;
12782 virtual HRESULT WINAPI get_Rate(double *pdblRate) = 0;
12783 virtual HRESULT WINAPI GetChase(LONG *pEnabled,LONG *pOffset,HEVENT *phEvent) = 0;
12784 virtual HRESULT WINAPI SetChase(LONG Enable,LONG Offset,HEVENT hEvent) = 0;
12785 virtual HRESULT WINAPI GetBump(LONG *pSpeed,LONG *pDuration) = 0;
12786 virtual HRESULT WINAPI SetBump(LONG Speed,LONG Duration) = 0;
12787 virtual HRESULT WINAPI get_AntiClogControl(LONG *pEnabled) = 0;
12788 virtual HRESULT WINAPI put_AntiClogControl(LONG Enable) = 0;
12789 virtual HRESULT WINAPI GetEditPropertySet(LONG EditID,LONG *pState) = 0;
12790 virtual HRESULT WINAPI SetEditPropertySet(LONG *pEditID,LONG State) = 0;
12791 virtual HRESULT WINAPI GetEditProperty(LONG EditID,LONG Param,LONG *pValue) = 0;
12792 virtual HRESULT WINAPI SetEditProperty(LONG EditID,LONG Param,LONG Value) = 0;
12793 virtual HRESULT WINAPI get_EditStart(LONG *pValue) = 0;
12794 virtual HRESULT WINAPI put_EditStart(LONG Value) = 0;
12795 };
12796#else
12797 typedef struct IAMExtTransportVtbl {
12798 BEGIN_INTERFACE
12799 HRESULT (WINAPI *QueryInterface)(IAMExtTransport *This,REFIID riid,void **ppvObject);
12800 ULONG (WINAPI *AddRef)(IAMExtTransport *This);
12801 ULONG (WINAPI *Release)(IAMExtTransport *This);
12802 HRESULT (WINAPI *GetCapability)(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue);
12803 HRESULT (WINAPI *put_MediaState)(IAMExtTransport *This,LONG State);
12804 HRESULT (WINAPI *get_MediaState)(IAMExtTransport *This,LONG *pState);
12805 HRESULT (WINAPI *put_LocalControl)(IAMExtTransport *This,LONG State);
12806 HRESULT (WINAPI *get_LocalControl)(IAMExtTransport *This,LONG *pState);
12807 HRESULT (WINAPI *GetStatus)(IAMExtTransport *This,LONG StatusItem,LONG *pValue);
12808 HRESULT (WINAPI *GetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData);
12809 HRESULT (WINAPI *SetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData);
12810 HRESULT (WINAPI *GetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG *pValue);
12811 HRESULT (WINAPI *SetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG Value);
12812 HRESULT (WINAPI *GetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG *pValue);
12813 HRESULT (WINAPI *SetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG Value);
12814 HRESULT (WINAPI *put_Mode)(IAMExtTransport *This,LONG Mode);
12815 HRESULT (WINAPI *get_Mode)(IAMExtTransport *This,LONG *pMode);
12816 HRESULT (WINAPI *put_Rate)(IAMExtTransport *This,double dblRate);
12817 HRESULT (WINAPI *get_Rate)(IAMExtTransport *This,double *pdblRate);
12818 HRESULT (WINAPI *GetChase)(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent);
12819 HRESULT (WINAPI *SetChase)(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent);
12820 HRESULT (WINAPI *GetBump)(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration);
12821 HRESULT (WINAPI *SetBump)(IAMExtTransport *This,LONG Speed,LONG Duration);
12822 HRESULT (WINAPI *get_AntiClogControl)(IAMExtTransport *This,LONG *pEnabled);
12823 HRESULT (WINAPI *put_AntiClogControl)(IAMExtTransport *This,LONG Enable);
12824 HRESULT (WINAPI *GetEditPropertySet)(IAMExtTransport *This,LONG EditID,LONG *pState);
12825 HRESULT (WINAPI *SetEditPropertySet)(IAMExtTransport *This,LONG *pEditID,LONG State);
12826 HRESULT (WINAPI *GetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue);
12827 HRESULT (WINAPI *SetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value);
12828 HRESULT (WINAPI *get_EditStart)(IAMExtTransport *This,LONG *pValue);
12829 HRESULT (WINAPI *put_EditStart)(IAMExtTransport *This,LONG Value);
12830 END_INTERFACE
12831 } IAMExtTransportVtbl;
12832 struct IAMExtTransport {
12833 CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
12834 };
12835#ifdef COBJMACROS
12836#define IAMExtTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12837#define IAMExtTransport_AddRef(This) (This)->lpVtbl->AddRef(This)
12838#define IAMExtTransport_Release(This) (This)->lpVtbl->Release(This)
12839#define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
12840#define IAMExtTransport_put_MediaState(This,State) (This)->lpVtbl->put_MediaState(This,State)
12841#define IAMExtTransport_get_MediaState(This,pState) (This)->lpVtbl->get_MediaState(This,pState)
12842#define IAMExtTransport_put_LocalControl(This,State) (This)->lpVtbl->put_LocalControl(This,State)
12843#define IAMExtTransport_get_LocalControl(This,pState) (This)->lpVtbl->get_LocalControl(This,pState)
12844#define IAMExtTransport_GetStatus(This,StatusItem,pValue) (This)->lpVtbl->GetStatus(This,StatusItem,pValue)
12845#define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) (This)->lpVtbl->GetTransportBasicParameters(This,Param,pValue,ppszData)
12846#define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) (This)->lpVtbl->SetTransportBasicParameters(This,Param,Value,pszData)
12847#define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) (This)->lpVtbl->GetTransportVideoParameters(This,Param,pValue)
12848#define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) (This)->lpVtbl->SetTransportVideoParameters(This,Param,Value)
12849#define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) (This)->lpVtbl->GetTransportAudioParameters(This,Param,pValue)
12850#define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) (This)->lpVtbl->SetTransportAudioParameters(This,Param,Value)
12851#define IAMExtTransport_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode)
12852#define IAMExtTransport_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
12853#define IAMExtTransport_put_Rate(This,dblRate) (This)->lpVtbl->put_Rate(This,dblRate)
12854#define IAMExtTransport_get_Rate(This,pdblRate) (This)->lpVtbl->get_Rate(This,pdblRate)
12855#define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) (This)->lpVtbl->GetChase(This,pEnabled,pOffset,phEvent)
12856#define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) (This)->lpVtbl->SetChase(This,Enable,Offset,hEvent)
12857#define IAMExtTransport_GetBump(This,pSpeed,pDuration) (This)->lpVtbl->GetBump(This,pSpeed,pDuration)
12858#define IAMExtTransport_SetBump(This,Speed,Duration) (This)->lpVtbl->SetBump(This,Speed,Duration)
12859#define IAMExtTransport_get_AntiClogControl(This,pEnabled) (This)->lpVtbl->get_AntiClogControl(This,pEnabled)
12860#define IAMExtTransport_put_AntiClogControl(This,Enable) (This)->lpVtbl->put_AntiClogControl(This,Enable)
12861#define IAMExtTransport_GetEditPropertySet(This,EditID,pState) (This)->lpVtbl->GetEditPropertySet(This,EditID,pState)
12862#define IAMExtTransport_SetEditPropertySet(This,pEditID,State) (This)->lpVtbl->SetEditPropertySet(This,pEditID,State)
12863#define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) (This)->lpVtbl->GetEditProperty(This,EditID,Param,pValue)
12864#define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) (This)->lpVtbl->SetEditProperty(This,EditID,Param,Value)
12865#define IAMExtTransport_get_EditStart(This,pValue) (This)->lpVtbl->get_EditStart(This,pValue)
12866#define IAMExtTransport_put_EditStart(This,Value) (This)->lpVtbl->put_EditStart(This,Value)
12867#endif
12868#endif
12869 HRESULT WINAPI IAMExtTransport_GetCapability_Proxy(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue);
12870 void __RPC_STUB IAMExtTransport_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12871 HRESULT WINAPI IAMExtTransport_put_MediaState_Proxy(IAMExtTransport *This,LONG State);
12872 void __RPC_STUB IAMExtTransport_put_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12873 HRESULT WINAPI IAMExtTransport_get_MediaState_Proxy(IAMExtTransport *This,LONG *pState);
12874 void __RPC_STUB IAMExtTransport_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12875 HRESULT WINAPI IAMExtTransport_put_LocalControl_Proxy(IAMExtTransport *This,LONG State);
12876 void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12877 HRESULT WINAPI IAMExtTransport_get_LocalControl_Proxy(IAMExtTransport *This,LONG *pState);
12878 void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12879 HRESULT WINAPI IAMExtTransport_GetStatus_Proxy(IAMExtTransport *This,LONG StatusItem,LONG *pValue);
12880 void __RPC_STUB IAMExtTransport_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12881 HRESULT WINAPI IAMExtTransport_GetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData);
12882 void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12883 HRESULT WINAPI IAMExtTransport_SetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData);
12884 void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12885 HRESULT WINAPI IAMExtTransport_GetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue);
12886 void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12887 HRESULT WINAPI IAMExtTransport_SetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value);
12888 void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12889 HRESULT WINAPI IAMExtTransport_GetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue);
12890 void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12891 HRESULT WINAPI IAMExtTransport_SetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value);
12892 void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12893 HRESULT WINAPI IAMExtTransport_put_Mode_Proxy(IAMExtTransport *This,LONG Mode);
12894 void __RPC_STUB IAMExtTransport_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12895 HRESULT WINAPI IAMExtTransport_get_Mode_Proxy(IAMExtTransport *This,LONG *pMode);
12896 void __RPC_STUB IAMExtTransport_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12897 HRESULT WINAPI IAMExtTransport_put_Rate_Proxy(IAMExtTransport *This,double dblRate);
12898 void __RPC_STUB IAMExtTransport_put_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12899 HRESULT WINAPI IAMExtTransport_get_Rate_Proxy(IAMExtTransport *This,double *pdblRate);
12900 void __RPC_STUB IAMExtTransport_get_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12901 HRESULT WINAPI IAMExtTransport_GetChase_Proxy(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent);
12902 void __RPC_STUB IAMExtTransport_GetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12903 HRESULT WINAPI IAMExtTransport_SetChase_Proxy(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent);
12904 void __RPC_STUB IAMExtTransport_SetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12905 HRESULT WINAPI IAMExtTransport_GetBump_Proxy(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration);
12906 void __RPC_STUB IAMExtTransport_GetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12907 HRESULT WINAPI IAMExtTransport_SetBump_Proxy(IAMExtTransport *This,LONG Speed,LONG Duration);
12908 void __RPC_STUB IAMExtTransport_SetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12909 HRESULT WINAPI IAMExtTransport_get_AntiClogControl_Proxy(IAMExtTransport *This,LONG *pEnabled);
12910 void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12911 HRESULT WINAPI IAMExtTransport_put_AntiClogControl_Proxy(IAMExtTransport *This,LONG Enable);
12912 void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12913 HRESULT WINAPI IAMExtTransport_GetEditPropertySet_Proxy(IAMExtTransport *This,LONG EditID,LONG *pState);
12914 void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12915 HRESULT WINAPI IAMExtTransport_SetEditPropertySet_Proxy(IAMExtTransport *This,LONG *pEditID,LONG State);
12916 void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12917 HRESULT WINAPI IAMExtTransport_GetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue);
12918 void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12919 HRESULT WINAPI IAMExtTransport_SetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value);
12920 void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12921 HRESULT WINAPI IAMExtTransport_get_EditStart_Proxy(IAMExtTransport *This,LONG *pValue);
12922 void __RPC_STUB IAMExtTransport_get_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12923 HRESULT WINAPI IAMExtTransport_put_EditStart_Proxy(IAMExtTransport *This,LONG Value);
12924 void __RPC_STUB IAMExtTransport_put_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12925#endif
12926
12927 typedef IAMExtTransport *PIAMEXTTRANSPORT;
12928
12929#ifndef TIMECODE_DEFINED
12930#define TIMECODE_DEFINED
12931 typedef union _timecode {
12932 __C89_NAMELESS struct {
12933 WORD wFrameRate;
12934 WORD wFrameFract;
12935 DWORD dwFrames;
12936 };
12937 DWORDLONG qw;
12938 } TIMECODE;
12939
12940 typedef TIMECODE *PTIMECODE;
12941
12942 typedef struct tagTIMECODE_SAMPLE {
12943 LONGLONG qwTick;
12944 TIMECODE timecode;
12945 DWORD dwUser;
12946 DWORD dwFlags;
12947 } TIMECODE_SAMPLE;
12948
12949 typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
12950#endif /* TIMECODE_DEFINED */
12951
12952 extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec;
12953 extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec;
12954#ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
12955#define __IAMTimecodeReader_INTERFACE_DEFINED__
12956 EXTERN_C const IID IID_IAMTimecodeReader;
12957#if defined(__cplusplus) && !defined(CINTERFACE)
12958 struct IAMTimecodeReader : public IUnknown {
12959 public:
12960 virtual HRESULT WINAPI GetTCRMode(LONG Param,LONG *pValue) = 0;
12961 virtual HRESULT WINAPI SetTCRMode(LONG Param,LONG Value) = 0;
12962 virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0;
12963 virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0;
12964 virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
12965 };
12966#else
12967 typedef struct IAMTimecodeReaderVtbl {
12968 BEGIN_INTERFACE
12969 HRESULT (WINAPI *QueryInterface)(IAMTimecodeReader *This,REFIID riid,void **ppvObject);
12970 ULONG (WINAPI *AddRef)(IAMTimecodeReader *This);
12971 ULONG (WINAPI *Release)(IAMTimecodeReader *This);
12972 HRESULT (WINAPI *GetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG *pValue);
12973 HRESULT (WINAPI *SetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG Value);
12974 HRESULT (WINAPI *put_VITCLine)(IAMTimecodeReader *This,LONG Line);
12975 HRESULT (WINAPI *get_VITCLine)(IAMTimecodeReader *This,LONG *pLine);
12976 HRESULT (WINAPI *GetTimecode)(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
12977 END_INTERFACE
12978 } IAMTimecodeReaderVtbl;
12979 struct IAMTimecodeReader {
12980 CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
12981 };
12982#ifdef COBJMACROS
12983#define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12984#define IAMTimecodeReader_AddRef(This) (This)->lpVtbl->AddRef(This)
12985#define IAMTimecodeReader_Release(This) (This)->lpVtbl->Release(This)
12986#define IAMTimecodeReader_GetTCRMode(This,Param,pValue) (This)->lpVtbl->GetTCRMode(This,Param,pValue)
12987#define IAMTimecodeReader_SetTCRMode(This,Param,Value) (This)->lpVtbl->SetTCRMode(This,Param,Value)
12988#define IAMTimecodeReader_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
12989#define IAMTimecodeReader_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
12990#define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
12991#endif
12992#endif
12993 HRESULT WINAPI IAMTimecodeReader_GetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG *pValue);
12994 void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12995 HRESULT WINAPI IAMTimecodeReader_SetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG Value);
12996 void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12997 HRESULT WINAPI IAMTimecodeReader_put_VITCLine_Proxy(IAMTimecodeReader *This,LONG Line);
12998 void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
12999 HRESULT WINAPI IAMTimecodeReader_get_VITCLine_Proxy(IAMTimecodeReader *This,LONG *pLine);
13000 void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13001 HRESULT WINAPI IAMTimecodeReader_GetTimecode_Proxy(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
13002 void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13003#endif
13004
13005 typedef IAMTimecodeReader *PIAMTIMECODEREADER;
13006
13007 extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
13008 extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
13009#ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
13010#define __IAMTimecodeGenerator_INTERFACE_DEFINED__
13011 EXTERN_C const IID IID_IAMTimecodeGenerator;
13012#if defined(__cplusplus) && !defined(CINTERFACE)
13013 struct IAMTimecodeGenerator : public IUnknown {
13014 public:
13015 virtual HRESULT WINAPI GetTCGMode(LONG Param,LONG *pValue) = 0;
13016 virtual HRESULT WINAPI SetTCGMode(LONG Param,LONG Value) = 0;
13017 virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0;
13018 virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0;
13019 virtual HRESULT WINAPI SetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
13020 virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
13021 };
13022#else
13023 typedef struct IAMTimecodeGeneratorVtbl {
13024 BEGIN_INTERFACE
13025 HRESULT (WINAPI *QueryInterface)(IAMTimecodeGenerator *This,REFIID riid,void **ppvObject);
13026 ULONG (WINAPI *AddRef)(IAMTimecodeGenerator *This);
13027 ULONG (WINAPI *Release)(IAMTimecodeGenerator *This);
13028 HRESULT (WINAPI *GetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG *pValue);
13029 HRESULT (WINAPI *SetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG Value);
13030 HRESULT (WINAPI *put_VITCLine)(IAMTimecodeGenerator *This,LONG Line);
13031 HRESULT (WINAPI *get_VITCLine)(IAMTimecodeGenerator *This,LONG *pLine);
13032 HRESULT (WINAPI *SetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
13033 HRESULT (WINAPI *GetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
13034 END_INTERFACE
13035 } IAMTimecodeGeneratorVtbl;
13036 struct IAMTimecodeGenerator {
13037 CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
13038 };
13039#ifdef COBJMACROS
13040#define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13041#define IAMTimecodeGenerator_AddRef(This) (This)->lpVtbl->AddRef(This)
13042#define IAMTimecodeGenerator_Release(This) (This)->lpVtbl->Release(This)
13043#define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) (This)->lpVtbl->GetTCGMode(This,Param,pValue)
13044#define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) (This)->lpVtbl->SetTCGMode(This,Param,Value)
13045#define IAMTimecodeGenerator_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
13046#define IAMTimecodeGenerator_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
13047#define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) (This)->lpVtbl->SetTimecode(This,pTimecodeSample)
13048#define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
13049#endif
13050#endif
13051 HRESULT WINAPI IAMTimecodeGenerator_GetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG *pValue);
13052 void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13053 HRESULT WINAPI IAMTimecodeGenerator_SetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG Value);
13054 void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13055 HRESULT WINAPI IAMTimecodeGenerator_put_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG Line);
13056 void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13057 HRESULT WINAPI IAMTimecodeGenerator_get_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG *pLine);
13058 void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13059 HRESULT WINAPI IAMTimecodeGenerator_SetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
13060 void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13061 HRESULT WINAPI IAMTimecodeGenerator_GetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
13062 void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13063#endif
13064
13065 typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
13066
13067 extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
13068 extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
13069#ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
13070#define __IAMTimecodeDisplay_INTERFACE_DEFINED__
13071 EXTERN_C const IID IID_IAMTimecodeDisplay;
13072#if defined(__cplusplus) && !defined(CINTERFACE)
13073 struct IAMTimecodeDisplay : public IUnknown {
13074 public:
13075 virtual HRESULT WINAPI GetTCDisplayEnable(LONG *pState) = 0;
13076 virtual HRESULT WINAPI SetTCDisplayEnable(LONG State) = 0;
13077 virtual HRESULT WINAPI GetTCDisplay(LONG Param,LONG *pValue) = 0;
13078 virtual HRESULT WINAPI SetTCDisplay(LONG Param,LONG Value) = 0;
13079 };
13080#else
13081 typedef struct IAMTimecodeDisplayVtbl {
13082 BEGIN_INTERFACE
13083 HRESULT (WINAPI *QueryInterface)(IAMTimecodeDisplay *This,REFIID riid,void **ppvObject);
13084 ULONG (WINAPI *AddRef)(IAMTimecodeDisplay *This);
13085 ULONG (WINAPI *Release)(IAMTimecodeDisplay *This);
13086 HRESULT (WINAPI *GetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG *pState);
13087 HRESULT (WINAPI *SetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG State);
13088 HRESULT (WINAPI *GetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG *pValue);
13089 HRESULT (WINAPI *SetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG Value);
13090 END_INTERFACE
13091 } IAMTimecodeDisplayVtbl;
13092 struct IAMTimecodeDisplay {
13093 CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
13094 };
13095#ifdef COBJMACROS
13096#define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13097#define IAMTimecodeDisplay_AddRef(This) (This)->lpVtbl->AddRef(This)
13098#define IAMTimecodeDisplay_Release(This) (This)->lpVtbl->Release(This)
13099#define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) (This)->lpVtbl->GetTCDisplayEnable(This,pState)
13100#define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) (This)->lpVtbl->SetTCDisplayEnable(This,State)
13101#define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) (This)->lpVtbl->GetTCDisplay(This,Param,pValue)
13102#define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) (This)->lpVtbl->SetTCDisplay(This,Param,Value)
13103#endif
13104#endif
13105 HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG *pState);
13106 void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13107 HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG State);
13108 void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13109 HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG *pValue);
13110 void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13111 HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG Value);
13112 void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13113#endif
13114
13115 typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
13116
13117 extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec;
13118 extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec;
13119#ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
13120#define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
13121 EXTERN_C const IID IID_IAMDevMemoryAllocator;
13122#if defined(__cplusplus) && !defined(CINTERFACE)
13123 struct IAMDevMemoryAllocator : public IUnknown {
13124 public:
13125 virtual HRESULT WINAPI GetInfo(DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk) = 0;
13126 virtual HRESULT WINAPI CheckMemory(const BYTE *pBuffer) = 0;
13127 virtual HRESULT WINAPI Alloc(BYTE **ppBuffer,DWORD *pdwcbBuffer) = 0;
13128 virtual HRESULT WINAPI Free(BYTE *pBuffer) = 0;
13129 virtual HRESULT WINAPI GetDevMemoryObject(IUnknown **ppUnkInnner,IUnknown *pUnkOuter) = 0;
13130 };
13131#else
13132 typedef struct IAMDevMemoryAllocatorVtbl {
13133 BEGIN_INTERFACE
13134 HRESULT (WINAPI *QueryInterface)(IAMDevMemoryAllocator *This,REFIID riid,void **ppvObject);
13135 ULONG (WINAPI *AddRef)(IAMDevMemoryAllocator *This);
13136 ULONG (WINAPI *Release)(IAMDevMemoryAllocator *This);
13137 HRESULT (WINAPI *GetInfo)(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
13138 HRESULT (WINAPI *CheckMemory)(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
13139 HRESULT (WINAPI *Alloc)(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
13140 HRESULT (WINAPI *Free)(IAMDevMemoryAllocator *This,BYTE *pBuffer);
13141 HRESULT (WINAPI *GetDevMemoryObject)(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
13142 END_INTERFACE
13143 } IAMDevMemoryAllocatorVtbl;
13144 struct IAMDevMemoryAllocator {
13145 CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
13146 };
13147#ifdef COBJMACROS
13148#define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13149#define IAMDevMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
13150#define IAMDevMemoryAllocator_Release(This) (This)->lpVtbl->Release(This)
13151#define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) (This)->lpVtbl->GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
13152#define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) (This)->lpVtbl->CheckMemory(This,pBuffer)
13153#define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) (This)->lpVtbl->Alloc(This,ppBuffer,pdwcbBuffer)
13154#define IAMDevMemoryAllocator_Free(This,pBuffer) (This)->lpVtbl->Free(This,pBuffer)
13155#define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) (This)->lpVtbl->GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
13156#endif
13157#endif
13158 HRESULT WINAPI IAMDevMemoryAllocator_GetInfo_Proxy(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
13159 void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13160 HRESULT WINAPI IAMDevMemoryAllocator_CheckMemory_Proxy(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
13161 void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13162 HRESULT WINAPI IAMDevMemoryAllocator_Alloc_Proxy(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
13163 void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13164 HRESULT WINAPI IAMDevMemoryAllocator_Free_Proxy(IAMDevMemoryAllocator *This,BYTE *pBuffer);
13165 void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13166 HRESULT WINAPI IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
13167 void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13168#endif
13169
13170 typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
13171
13172 extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
13173 extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
13174#ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
13175#define __IAMDevMemoryControl_INTERFACE_DEFINED__
13176 EXTERN_C const IID IID_IAMDevMemoryControl;
13177#if defined(__cplusplus) && !defined(CINTERFACE)
13178 struct IAMDevMemoryControl : public IUnknown {
13179 public:
13180 virtual HRESULT WINAPI QueryWriteSync(void) = 0;
13181 virtual HRESULT WINAPI WriteSync(void) = 0;
13182 virtual HRESULT WINAPI GetDevId(DWORD *pdwDevId) = 0;
13183 };
13184#else
13185 typedef struct IAMDevMemoryControlVtbl {
13186 BEGIN_INTERFACE
13187 HRESULT (WINAPI *QueryInterface)(IAMDevMemoryControl *This,REFIID riid,void **ppvObject);
13188 ULONG (WINAPI *AddRef)(IAMDevMemoryControl *This);
13189 ULONG (WINAPI *Release)(IAMDevMemoryControl *This);
13190 HRESULT (WINAPI *QueryWriteSync)(IAMDevMemoryControl *This);
13191 HRESULT (WINAPI *WriteSync)(IAMDevMemoryControl *This);
13192 HRESULT (WINAPI *GetDevId)(IAMDevMemoryControl *This,DWORD *pdwDevId);
13193 END_INTERFACE
13194 } IAMDevMemoryControlVtbl;
13195 struct IAMDevMemoryControl {
13196 CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
13197 };
13198#ifdef COBJMACROS
13199#define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13200#define IAMDevMemoryControl_AddRef(This) (This)->lpVtbl->AddRef(This)
13201#define IAMDevMemoryControl_Release(This) (This)->lpVtbl->Release(This)
13202#define IAMDevMemoryControl_QueryWriteSync(This) (This)->lpVtbl->QueryWriteSync(This)
13203#define IAMDevMemoryControl_WriteSync(This) (This)->lpVtbl->WriteSync(This)
13204#define IAMDevMemoryControl_GetDevId(This,pdwDevId) (This)->lpVtbl->GetDevId(This,pdwDevId)
13205#endif
13206#endif
13207 HRESULT WINAPI IAMDevMemoryControl_QueryWriteSync_Proxy(IAMDevMemoryControl *This);
13208 void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13209 HRESULT WINAPI IAMDevMemoryControl_WriteSync_Proxy(IAMDevMemoryControl *This);
13210 void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13211 HRESULT WINAPI IAMDevMemoryControl_GetDevId_Proxy(IAMDevMemoryControl *This,DWORD *pdwDevId);
13212 void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13213#endif
13214
13215 typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
13216
13217 enum _AMSTREAMSELECTINFOFLAGS {
13218 AMSTREAMSELECTINFO_ENABLED = 0x1,AMSTREAMSELECTINFO_EXCLUSIVE = 0x2
13219 };
13220
13221 enum _AMSTREAMSELECTENABLEFLAGS {
13222 AMSTREAMSELECTENABLE_ENABLE = 0x1,AMSTREAMSELECTENABLE_ENABLEALL = 0x2
13223 };
13224
13225 extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;
13226 extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;
13227#ifndef __IAMStreamSelect_INTERFACE_DEFINED__
13228#define __IAMStreamSelect_INTERFACE_DEFINED__
13229 EXTERN_C const IID IID_IAMStreamSelect;
13230#if defined(__cplusplus) && !defined(CINTERFACE)
13231 struct IAMStreamSelect : public IUnknown {
13232 public:
13233 virtual HRESULT WINAPI Count(DWORD *pcStreams) = 0;
13234 virtual HRESULT WINAPI Info(LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk) = 0;
13235 virtual HRESULT WINAPI Enable(LONG lIndex,DWORD dwFlags) = 0;
13236 };
13237#else
13238 typedef struct IAMStreamSelectVtbl {
13239 BEGIN_INTERFACE
13240 HRESULT (WINAPI *QueryInterface)(IAMStreamSelect *This,REFIID riid,void **ppvObject);
13241 ULONG (WINAPI *AddRef)(IAMStreamSelect *This);
13242 ULONG (WINAPI *Release)(IAMStreamSelect *This);
13243 HRESULT (WINAPI *Count)(IAMStreamSelect *This,DWORD *pcStreams);
13244 HRESULT (WINAPI *Info)(IAMStreamSelect *This,LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk);
13245 HRESULT (WINAPI *Enable)(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags);
13246 END_INTERFACE
13247 } IAMStreamSelectVtbl;
13248 struct IAMStreamSelect {
13249 CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
13250 };
13251#ifdef COBJMACROS
13252#define IAMStreamSelect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13253#define IAMStreamSelect_AddRef(This) (This)->lpVtbl->AddRef(This)
13254#define IAMStreamSelect_Release(This) (This)->lpVtbl->Release(This)
13255#define IAMStreamSelect_Count(This,pcStreams) (This)->lpVtbl->Count(This,pcStreams)
13256#define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) (This)->lpVtbl->Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
13257#define IAMStreamSelect_Enable(This,lIndex,dwFlags) (This)->lpVtbl->Enable(This,lIndex,dwFlags)
13258#endif
13259#endif
13260 HRESULT WINAPI IAMStreamSelect_Count_Proxy(IAMStreamSelect *This,DWORD *pcStreams);
13261 void __RPC_STUB IAMStreamSelect_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13262 HRESULT WINAPI IAMStreamSelect_Info_Proxy(IAMStreamSelect *This,LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk);
13263 void __RPC_STUB IAMStreamSelect_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13264 HRESULT WINAPI IAMStreamSelect_Enable_Proxy(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags);
13265 void __RPC_STUB IAMStreamSelect_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13266#endif
13267
13268 typedef IAMStreamSelect *PAMSTREAMSELECT;
13269
13270 enum _AMRESCTL_RESERVEFLAGS {
13271 AMRESCTL_RESERVEFLAGS_RESERVE = 0,AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
13272 };
13273
13274 extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
13275 extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
13276#ifndef __IAMResourceControl_INTERFACE_DEFINED__
13277#define __IAMResourceControl_INTERFACE_DEFINED__
13278 EXTERN_C const IID IID_IAMResourceControl;
13279#if defined(__cplusplus) && !defined(CINTERFACE)
13280 struct IAMResourceControl : public IUnknown {
13281 public:
13282 virtual HRESULT WINAPI Reserve(DWORD dwFlags,PVOID pvReserved) = 0;
13283 };
13284#else
13285 typedef struct IAMResourceControlVtbl {
13286 BEGIN_INTERFACE
13287 HRESULT (WINAPI *QueryInterface)(IAMResourceControl *This,REFIID riid,void **ppvObject);
13288 ULONG (WINAPI *AddRef)(IAMResourceControl *This);
13289 ULONG (WINAPI *Release)(IAMResourceControl *This);
13290 HRESULT (WINAPI *Reserve)(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
13291 END_INTERFACE
13292 } IAMResourceControlVtbl;
13293 struct IAMResourceControl {
13294 CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
13295 };
13296#ifdef COBJMACROS
13297#define IAMResourceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13298#define IAMResourceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
13299#define IAMResourceControl_Release(This) (This)->lpVtbl->Release(This)
13300#define IAMResourceControl_Reserve(This,dwFlags,pvReserved) (This)->lpVtbl->Reserve(This,dwFlags,pvReserved)
13301#endif
13302#endif
13303 HRESULT WINAPI IAMResourceControl_Reserve_Proxy(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
13304 void __RPC_STUB IAMResourceControl_Reserve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13305#endif
13306
13307#ifndef __IAMClockAdjust_INTERFACE_DEFINED__
13308#define __IAMClockAdjust_INTERFACE_DEFINED__
13309 EXTERN_C const IID IID_IAMClockAdjust;
13310#if defined(__cplusplus) && !defined(CINTERFACE)
13311 struct IAMClockAdjust : public IUnknown {
13312 public:
13313 virtual HRESULT WINAPI SetClockDelta(REFERENCE_TIME rtDelta) = 0;
13314 };
13315#else
13316 typedef struct IAMClockAdjustVtbl {
13317 BEGIN_INTERFACE
13318 HRESULT (WINAPI *QueryInterface)(IAMClockAdjust *This,REFIID riid,void **ppvObject);
13319 ULONG (WINAPI *AddRef)(IAMClockAdjust *This);
13320 ULONG (WINAPI *Release)(IAMClockAdjust *This);
13321 HRESULT (WINAPI *SetClockDelta)(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
13322 END_INTERFACE
13323 } IAMClockAdjustVtbl;
13324 struct IAMClockAdjust {
13325 CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
13326 };
13327#ifdef COBJMACROS
13328#define IAMClockAdjust_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13329#define IAMClockAdjust_AddRef(This) (This)->lpVtbl->AddRef(This)
13330#define IAMClockAdjust_Release(This) (This)->lpVtbl->Release(This)
13331#define IAMClockAdjust_SetClockDelta(This,rtDelta) (This)->lpVtbl->SetClockDelta(This,rtDelta)
13332#endif
13333#endif
13334 HRESULT WINAPI IAMClockAdjust_SetClockDelta_Proxy(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
13335 void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13336#endif
13337
13338#ifndef __IDrawVideoImage_INTERFACE_DEFINED__
13339#define __IDrawVideoImage_INTERFACE_DEFINED__
13340 EXTERN_C const IID IID_IDrawVideoImage;
13341#if defined(__cplusplus) && !defined(CINTERFACE)
13342 struct IDrawVideoImage : public IUnknown {
13343 public:
13344 virtual HRESULT WINAPI DrawVideoImageBegin(void) = 0;
13345 virtual HRESULT WINAPI DrawVideoImageEnd(void) = 0;
13346 virtual HRESULT WINAPI DrawVideoImageDraw(HDC hdc,LPRECT lprcSrc,LPRECT lprcDst) = 0;
13347 };
13348#else
13349 typedef struct IDrawVideoImageVtbl {
13350 BEGIN_INTERFACE
13351 HRESULT (WINAPI *QueryInterface)(IDrawVideoImage *This,REFIID riid,void **ppvObject);
13352 ULONG (WINAPI *AddRef)(IDrawVideoImage *This);
13353 ULONG (WINAPI *Release)(IDrawVideoImage *This);
13354 HRESULT (WINAPI *DrawVideoImageBegin)(IDrawVideoImage *This);
13355 HRESULT (WINAPI *DrawVideoImageEnd)(IDrawVideoImage *This);
13356 HRESULT (WINAPI *DrawVideoImageDraw)(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
13357 END_INTERFACE
13358 } IDrawVideoImageVtbl;
13359 struct IDrawVideoImage {
13360 CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
13361 };
13362#ifdef COBJMACROS
13363#define IDrawVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13364#define IDrawVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
13365#define IDrawVideoImage_Release(This) (This)->lpVtbl->Release(This)
13366#define IDrawVideoImage_DrawVideoImageBegin(This) (This)->lpVtbl->DrawVideoImageBegin(This)
13367#define IDrawVideoImage_DrawVideoImageEnd(This) (This)->lpVtbl->DrawVideoImageEnd(This)
13368#define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) (This)->lpVtbl->DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
13369#endif
13370#endif
13371 HRESULT WINAPI IDrawVideoImage_DrawVideoImageBegin_Proxy(IDrawVideoImage *This);
13372 void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13373 HRESULT WINAPI IDrawVideoImage_DrawVideoImageEnd_Proxy(IDrawVideoImage *This);
13374 void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13375 HRESULT WINAPI IDrawVideoImage_DrawVideoImageDraw_Proxy(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
13376 void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13377#endif
13378
13379#ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
13380#define __IDecimateVideoImage_INTERFACE_DEFINED__
13381 EXTERN_C const IID IID_IDecimateVideoImage;
13382#if defined(__cplusplus) && !defined(CINTERFACE)
13383 struct IDecimateVideoImage : public IUnknown {
13384 public:
13385 virtual HRESULT WINAPI SetDecimationImageSize(LONG lWidth,LONG lHeight) = 0;
13386 virtual HRESULT WINAPI ResetDecimationImageSize(void) = 0;
13387 };
13388#else
13389 typedef struct IDecimateVideoImageVtbl {
13390 BEGIN_INTERFACE
13391 HRESULT (WINAPI *QueryInterface)(IDecimateVideoImage *This,REFIID riid,void **ppvObject);
13392 ULONG (WINAPI *AddRef)(IDecimateVideoImage *This);
13393 ULONG (WINAPI *Release)(IDecimateVideoImage *This);
13394 HRESULT (WINAPI *SetDecimationImageSize)(IDecimateVideoImage *This,LONG lWidth,LONG lHeight);
13395 HRESULT (WINAPI *ResetDecimationImageSize)(IDecimateVideoImage *This);
13396 END_INTERFACE
13397 } IDecimateVideoImageVtbl;
13398 struct IDecimateVideoImage {
13399 CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
13400 };
13401#ifdef COBJMACROS
13402#define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13403#define IDecimateVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
13404#define IDecimateVideoImage_Release(This) (This)->lpVtbl->Release(This)
13405#define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) (This)->lpVtbl->SetDecimationImageSize(This,lWidth,lHeight)
13406#define IDecimateVideoImage_ResetDecimationImageSize(This) (This)->lpVtbl->ResetDecimationImageSize(This)
13407#endif
13408#endif
13409 HRESULT WINAPI IDecimateVideoImage_SetDecimationImageSize_Proxy(IDecimateVideoImage *This,LONG lWidth,LONG lHeight);
13410 void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13411 HRESULT WINAPI IDecimateVideoImage_ResetDecimationImageSize_Proxy(IDecimateVideoImage *This);
13412 void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13413#endif
13414
13415 typedef enum _DECIMATION_USAGE {
13416 DECIMATION_LEGACY = 0,
13417 DECIMATION_USE_DECODER_ONLY,DECIMATION_USE_VIDEOPORT_ONLY,DECIMATION_USE_OVERLAY_ONLY,
13418 DECIMATION_DEFAULT
13419 } DECIMATION_USAGE;
13420
13421 extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
13422 extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
13423#ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
13424#define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
13425 EXTERN_C const IID IID_IAMVideoDecimationProperties;
13426#if defined(__cplusplus) && !defined(CINTERFACE)
13427 struct IAMVideoDecimationProperties : public IUnknown {
13428 public:
13429 virtual HRESULT WINAPI QueryDecimationUsage(DECIMATION_USAGE *lpUsage) = 0;
13430 virtual HRESULT WINAPI SetDecimationUsage(DECIMATION_USAGE Usage) = 0;
13431 };
13432#else
13433 typedef struct IAMVideoDecimationPropertiesVtbl {
13434 BEGIN_INTERFACE
13435 HRESULT (WINAPI *QueryInterface)(IAMVideoDecimationProperties *This,REFIID riid,void **ppvObject);
13436 ULONG (WINAPI *AddRef)(IAMVideoDecimationProperties *This);
13437 ULONG (WINAPI *Release)(IAMVideoDecimationProperties *This);
13438 HRESULT (WINAPI *QueryDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
13439 HRESULT (WINAPI *SetDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
13440 END_INTERFACE
13441 } IAMVideoDecimationPropertiesVtbl;
13442 struct IAMVideoDecimationProperties {
13443 CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
13444 };
13445#ifdef COBJMACROS
13446#define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13447#define IAMVideoDecimationProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
13448#define IAMVideoDecimationProperties_Release(This) (This)->lpVtbl->Release(This)
13449#define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) (This)->lpVtbl->QueryDecimationUsage(This,lpUsage)
13450#define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) (This)->lpVtbl->SetDecimationUsage(This,Usage)
13451#endif
13452#endif
13453 HRESULT WINAPI IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
13454 void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13455 HRESULT WINAPI IAMVideoDecimationProperties_SetDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
13456 void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13457#endif
13458
13459 enum _AM_PUSHSOURCE_FLAGS {
13460 AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4,
13461 AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000
13462 };
13463
13464 extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec;
13465 extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec;
13466
13467#ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
13468#define __IAMDeviceRemoval_INTERFACE_DEFINED__
13469 EXTERN_C const IID IID_IAMDeviceRemoval;
13470#if defined(__cplusplus) && !defined(CINTERFACE)
13471 struct IAMDeviceRemoval : public IUnknown {
13472 public:
13473 virtual HRESULT WINAPI DeviceInfo(CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink) = 0;
13474 virtual HRESULT WINAPI Reassociate(void) = 0;
13475 virtual HRESULT WINAPI Disassociate(void) = 0;
13476 };
13477#else
13478 typedef struct IAMDeviceRemovalVtbl {
13479 BEGIN_INTERFACE
13480 HRESULT (WINAPI *QueryInterface)(IAMDeviceRemoval *This,REFIID riid,void **ppvObject);
13481 ULONG (WINAPI *AddRef)(IAMDeviceRemoval *This);
13482 ULONG (WINAPI *Release)(IAMDeviceRemoval *This);
13483 HRESULT (WINAPI *DeviceInfo)(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
13484 HRESULT (WINAPI *Reassociate)(IAMDeviceRemoval *This);
13485 HRESULT (WINAPI *Disassociate)(IAMDeviceRemoval *This);
13486 END_INTERFACE
13487 } IAMDeviceRemovalVtbl;
13488 struct IAMDeviceRemoval {
13489 CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
13490 };
13491#ifdef COBJMACROS
13492#define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13493#define IAMDeviceRemoval_AddRef(This) (This)->lpVtbl->AddRef(This)
13494#define IAMDeviceRemoval_Release(This) (This)->lpVtbl->Release(This)
13495#define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) (This)->lpVtbl->DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
13496#define IAMDeviceRemoval_Reassociate(This) (This)->lpVtbl->Reassociate(This)
13497#define IAMDeviceRemoval_Disassociate(This) (This)->lpVtbl->Disassociate(This)
13498#endif
13499#endif
13500 HRESULT WINAPI IAMDeviceRemoval_DeviceInfo_Proxy(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
13501 void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13502 HRESULT WINAPI IAMDeviceRemoval_Reassociate_Proxy(IAMDeviceRemoval *This);
13503 void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13504 HRESULT WINAPI IAMDeviceRemoval_Disassociate_Proxy(IAMDeviceRemoval *This);
13505 void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13506#endif
13507
13508 typedef struct __MIDL___MIDL_itf_strmif_0355_0001 {
13509 DWORD dwDVAAuxSrc;
13510 DWORD dwDVAAuxCtl;
13511 DWORD dwDVAAuxSrc1;
13512 DWORD dwDVAAuxCtl1;
13513 DWORD dwDVVAuxSrc;
13514 DWORD dwDVVAuxCtl;
13515 DWORD dwDVReserved[2];
13516 } DVINFO;
13517
13518 typedef struct __MIDL___MIDL_itf_strmif_0355_0001 *PDVINFO;
13519
13520 enum _DVENCODERRESOLUTION {
13521 DVENCODERRESOLUTION_720x480 = 2012,DVENCODERRESOLUTION_360x240 = 2013,DVENCODERRESOLUTION_180x120 = 2014,DVENCODERRESOLUTION_88x60 = 2015
13522 };
13523
13524 enum _DVENCODERVIDEOFORMAT {
13525 DVENCODERVIDEOFORMAT_NTSC = 2000,DVENCODERVIDEOFORMAT_PAL = 2001
13526 };
13527
13528 enum _DVENCODERFORMAT {
13529 DVENCODERFORMAT_DVSD = 2007,DVENCODERFORMAT_DVHD = 2008,DVENCODERFORMAT_DVSL = 2009
13530 };
13531
13532 extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
13533 extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
13534#ifndef __IDVEnc_INTERFACE_DEFINED__
13535#define __IDVEnc_INTERFACE_DEFINED__
13536 EXTERN_C const IID IID_IDVEnc;
13537#if defined(__cplusplus) && !defined(CINTERFACE)
13538 struct IDVEnc : public IUnknown {
13539 public:
13540 virtual HRESULT WINAPI get_IFormatResolution(int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
13541 virtual HRESULT WINAPI put_IFormatResolution(int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
13542 };
13543#else
13544 typedef struct IDVEncVtbl {
13545 BEGIN_INTERFACE
13546 HRESULT (WINAPI *QueryInterface)(IDVEnc *This,REFIID riid,void **ppvObject);
13547 ULONG (WINAPI *AddRef)(IDVEnc *This);
13548 ULONG (WINAPI *Release)(IDVEnc *This);
13549 HRESULT (WINAPI *get_IFormatResolution)(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
13550 HRESULT (WINAPI *put_IFormatResolution)(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
13551 END_INTERFACE
13552 } IDVEncVtbl;
13553 struct IDVEnc {
13554 CONST_VTBL struct IDVEncVtbl *lpVtbl;
13555 };
13556#ifdef COBJMACROS
13557#define IDVEnc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13558#define IDVEnc_AddRef(This) (This)->lpVtbl->AddRef(This)
13559#define IDVEnc_Release(This) (This)->lpVtbl->Release(This)
13560#define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
13561#define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
13562#endif
13563#endif
13564 HRESULT WINAPI IDVEnc_get_IFormatResolution_Proxy(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
13565 void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13566 HRESULT WINAPI IDVEnc_put_IFormatResolution_Proxy(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
13567 void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13568#endif
13569
13570 enum _DVDECODERRESOLUTION {
13571 DVDECODERRESOLUTION_720x480 = 1000,DVDECODERRESOLUTION_360x240 = 1001,DVDECODERRESOLUTION_180x120 = 1002,DVDECODERRESOLUTION_88x60 = 1003
13572 };
13573
13574 enum _DVRESOLUTION {
13575 DVRESOLUTION_FULL = 1000,DVRESOLUTION_HALF = 1001,DVRESOLUTION_QUARTER = 1002,DVRESOLUTION_DC = 1003
13576 };
13577
13578 extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec;
13579 extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec;
13580#ifndef __IIPDVDec_INTERFACE_DEFINED__
13581#define __IIPDVDec_INTERFACE_DEFINED__
13582 EXTERN_C const IID IID_IIPDVDec;
13583#if defined(__cplusplus) && !defined(CINTERFACE)
13584 struct IIPDVDec : public IUnknown {
13585 public:
13586 virtual HRESULT WINAPI get_IPDisplay(int *displayPix) = 0;
13587 virtual HRESULT WINAPI put_IPDisplay(int displayPix) = 0;
13588 };
13589#else
13590 typedef struct IIPDVDecVtbl {
13591 BEGIN_INTERFACE
13592 HRESULT (WINAPI *QueryInterface)(IIPDVDec *This,REFIID riid,void **ppvObject);
13593 ULONG (WINAPI *AddRef)(IIPDVDec *This);
13594 ULONG (WINAPI *Release)(IIPDVDec *This);
13595 HRESULT (WINAPI *get_IPDisplay)(IIPDVDec *This,int *displayPix);
13596 HRESULT (WINAPI *put_IPDisplay)(IIPDVDec *This,int displayPix);
13597 END_INTERFACE
13598 } IIPDVDecVtbl;
13599 struct IIPDVDec {
13600 CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
13601 };
13602#ifdef COBJMACROS
13603#define IIPDVDec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13604#define IIPDVDec_AddRef(This) (This)->lpVtbl->AddRef(This)
13605#define IIPDVDec_Release(This) (This)->lpVtbl->Release(This)
13606#define IIPDVDec_get_IPDisplay(This,displayPix) (This)->lpVtbl->get_IPDisplay(This,displayPix)
13607#define IIPDVDec_put_IPDisplay(This,displayPix) (This)->lpVtbl->put_IPDisplay(This,displayPix)
13608#endif
13609#endif
13610 HRESULT WINAPI IIPDVDec_get_IPDisplay_Proxy(IIPDVDec *This,int *displayPix);
13611 void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13612 HRESULT WINAPI IIPDVDec_put_IPDisplay_Proxy(IIPDVDec *This,int displayPix);
13613 void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13614#endif
13615
13616#ifndef __IDVRGB219_INTERFACE_DEFINED__
13617#define __IDVRGB219_INTERFACE_DEFINED__
13618 EXTERN_C const IID IID_IDVRGB219;
13619#if defined(__cplusplus) && !defined(CINTERFACE)
13620 struct IDVRGB219 : public IUnknown {
13621 public:
13622 virtual HRESULT WINAPI SetRGB219(WINBOOL bState) = 0;
13623 };
13624#else
13625 typedef struct IDVRGB219Vtbl {
13626 BEGIN_INTERFACE
13627 HRESULT (WINAPI *QueryInterface)(IDVRGB219 *This,REFIID riid,void **ppvObject);
13628 ULONG (WINAPI *AddRef)(IDVRGB219 *This);
13629 ULONG (WINAPI *Release)(IDVRGB219 *This);
13630 HRESULT (WINAPI *SetRGB219)(IDVRGB219 *This,WINBOOL bState);
13631 END_INTERFACE
13632 } IDVRGB219Vtbl;
13633 struct IDVRGB219 {
13634 CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
13635 };
13636#ifdef COBJMACROS
13637#define IDVRGB219_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13638#define IDVRGB219_AddRef(This) (This)->lpVtbl->AddRef(This)
13639#define IDVRGB219_Release(This) (This)->lpVtbl->Release(This)
13640#define IDVRGB219_SetRGB219(This,bState) (This)->lpVtbl->SetRGB219(This,bState)
13641#endif
13642#endif
13643 HRESULT WINAPI IDVRGB219_SetRGB219_Proxy(IDVRGB219 *This,WINBOOL bState);
13644 void __RPC_STUB IDVRGB219_SetRGB219_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13645#endif
13646
13647#ifndef __IDVSplitter_INTERFACE_DEFINED__
13648#define __IDVSplitter_INTERFACE_DEFINED__
13649 EXTERN_C const IID IID_IDVSplitter;
13650#if defined(__cplusplus) && !defined(CINTERFACE)
13651 struct IDVSplitter : public IUnknown {
13652 public:
13653 virtual HRESULT WINAPI DiscardAlternateVideoFrames(int nDiscard) = 0;
13654 };
13655#else
13656 typedef struct IDVSplitterVtbl {
13657 BEGIN_INTERFACE
13658 HRESULT (WINAPI *QueryInterface)(IDVSplitter *This,REFIID riid,void **ppvObject);
13659 ULONG (WINAPI *AddRef)(IDVSplitter *This);
13660 ULONG (WINAPI *Release)(IDVSplitter *This);
13661 HRESULT (WINAPI *DiscardAlternateVideoFrames)(IDVSplitter *This,int nDiscard);
13662 END_INTERFACE
13663 } IDVSplitterVtbl;
13664 struct IDVSplitter {
13665 CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
13666 };
13667#ifdef COBJMACROS
13668#define IDVSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13669#define IDVSplitter_AddRef(This) (This)->lpVtbl->AddRef(This)
13670#define IDVSplitter_Release(This) (This)->lpVtbl->Release(This)
13671#define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) (This)->lpVtbl->DiscardAlternateVideoFrames(This,nDiscard)
13672#endif
13673#endif
13674 HRESULT WINAPI IDVSplitter_DiscardAlternateVideoFrames_Proxy(IDVSplitter *This,int nDiscard);
13675 void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13676#endif
13677
13678 enum _AM_AUDIO_RENDERER_STAT_PARAM {
13679 AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
13680 AM_AUDREND_STAT_PARAM_SLAVE_MODE,AM_AUDREND_STAT_PARAM_SILENCE_DUR,
13681 AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,AM_AUDREND_STAT_PARAM_DISCONTINUITIES,
13682 AM_AUDREND_STAT_PARAM_SLAVE_RATE,AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR,
13683 AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR,
13684 AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,AM_AUDREND_STAT_PARAM_BUFFERFULLNESS,
13685 AM_AUDREND_STAT_PARAM_JITTER
13686 };
13687
13688 extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_c_ifspec;
13689 extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_s_ifspec;
13690#ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
13691#define __IAMAudioRendererStats_INTERFACE_DEFINED__
13692 EXTERN_C const IID IID_IAMAudioRendererStats;
13693#if defined(__cplusplus) && !defined(CINTERFACE)
13694 struct IAMAudioRendererStats : public IUnknown {
13695 public:
13696 virtual HRESULT WINAPI GetStatParam(DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2) = 0;
13697 };
13698#else
13699 typedef struct IAMAudioRendererStatsVtbl {
13700 BEGIN_INTERFACE
13701 HRESULT (WINAPI *QueryInterface)(IAMAudioRendererStats *This,REFIID riid,void **ppvObject);
13702 ULONG (WINAPI *AddRef)(IAMAudioRendererStats *This);
13703 ULONG (WINAPI *Release)(IAMAudioRendererStats *This);
13704 HRESULT (WINAPI *GetStatParam)(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
13705 END_INTERFACE
13706 } IAMAudioRendererStatsVtbl;
13707 struct IAMAudioRendererStats {
13708 CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
13709 };
13710#ifdef COBJMACROS
13711#define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13712#define IAMAudioRendererStats_AddRef(This) (This)->lpVtbl->AddRef(This)
13713#define IAMAudioRendererStats_Release(This) (This)->lpVtbl->Release(This)
13714#define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) (This)->lpVtbl->GetStatParam(This,dwParam,pdwParam1,pdwParam2)
13715#endif
13716#endif
13717 HRESULT WINAPI IAMAudioRendererStats_GetStatParam_Proxy(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
13718 void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13719#endif
13720
13721 enum _AM_INTF_SEARCH_FLAGS {
13722 AM_INTF_SEARCH_INPUT_PIN = 0x1,AM_INTF_SEARCH_OUTPUT_PIN = 0x2,AM_INTF_SEARCH_FILTER = 0x4
13723 };
13724
13725 extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec;
13726 extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec;
13727#ifndef __IAMGraphStreams_INTERFACE_DEFINED__
13728#define __IAMGraphStreams_INTERFACE_DEFINED__
13729 EXTERN_C const IID IID_IAMGraphStreams;
13730#if defined(__cplusplus) && !defined(CINTERFACE)
13731 struct IAMGraphStreams : public IUnknown {
13732 public:
13733 virtual HRESULT WINAPI FindUpstreamInterface(IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags) = 0;
13734 virtual HRESULT WINAPI SyncUsingStreamOffset(WINBOOL bUseStreamOffset) = 0;
13735 virtual HRESULT WINAPI SetMaxGraphLatency(REFERENCE_TIME rtMaxGraphLatency) = 0;
13736 };
13737#else
13738 typedef struct IAMGraphStreamsVtbl {
13739 BEGIN_INTERFACE
13740 HRESULT (WINAPI *QueryInterface)(IAMGraphStreams *This,REFIID riid,void **ppvObject);
13741 ULONG (WINAPI *AddRef)(IAMGraphStreams *This);
13742 ULONG (WINAPI *Release)(IAMGraphStreams *This);
13743 HRESULT (WINAPI *FindUpstreamInterface)(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
13744 HRESULT (WINAPI *SyncUsingStreamOffset)(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
13745 HRESULT (WINAPI *SetMaxGraphLatency)(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
13746 END_INTERFACE
13747 } IAMGraphStreamsVtbl;
13748 struct IAMGraphStreams {
13749 CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
13750 };
13751#ifdef COBJMACROS
13752#define IAMGraphStreams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13753#define IAMGraphStreams_AddRef(This) (This)->lpVtbl->AddRef(This)
13754#define IAMGraphStreams_Release(This) (This)->lpVtbl->Release(This)
13755#define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) (This)->lpVtbl->FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
13756#define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) (This)->lpVtbl->SyncUsingStreamOffset(This,bUseStreamOffset)
13757#define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) (This)->lpVtbl->SetMaxGraphLatency(This,rtMaxGraphLatency)
13758#endif
13759#endif
13760 HRESULT WINAPI IAMGraphStreams_FindUpstreamInterface_Proxy(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
13761 void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13762 HRESULT WINAPI IAMGraphStreams_SyncUsingStreamOffset_Proxy(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
13763 void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13764 HRESULT WINAPI IAMGraphStreams_SetMaxGraphLatency_Proxy(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
13765 void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13766#endif
13767
13768 enum AMOVERLAYFX {
13769 AMOVERFX_NOFX = 0,AMOVERFX_MIRRORLEFTRIGHT = 0x2,AMOVERFX_MIRRORUPDOWN = 0x4,AMOVERFX_DEINTERLACE = 0x8
13770 };
13771
13772 extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec;
13773 extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec;
13774#ifndef __IAMOverlayFX_INTERFACE_DEFINED__
13775#define __IAMOverlayFX_INTERFACE_DEFINED__
13776 EXTERN_C const IID IID_IAMOverlayFX;
13777#if defined(__cplusplus) && !defined(CINTERFACE)
13778 struct IAMOverlayFX : public IUnknown {
13779 public:
13780 virtual HRESULT WINAPI QueryOverlayFXCaps(DWORD *lpdwOverlayFXCaps) = 0;
13781 virtual HRESULT WINAPI SetOverlayFX(DWORD dwOverlayFX) = 0;
13782 virtual HRESULT WINAPI GetOverlayFX(DWORD *lpdwOverlayFX) = 0;
13783 };
13784#else
13785 typedef struct IAMOverlayFXVtbl {
13786 BEGIN_INTERFACE
13787 HRESULT (WINAPI *QueryInterface)(IAMOverlayFX *This,REFIID riid,void **ppvObject);
13788 ULONG (WINAPI *AddRef)(IAMOverlayFX *This);
13789 ULONG (WINAPI *Release)(IAMOverlayFX *This);
13790 HRESULT (WINAPI *QueryOverlayFXCaps)(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
13791 HRESULT (WINAPI *SetOverlayFX)(IAMOverlayFX *This,DWORD dwOverlayFX);
13792 HRESULT (WINAPI *GetOverlayFX)(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
13793 END_INTERFACE
13794 } IAMOverlayFXVtbl;
13795 struct IAMOverlayFX {
13796 CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
13797 };
13798#ifdef COBJMACROS
13799#define IAMOverlayFX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13800#define IAMOverlayFX_AddRef(This) (This)->lpVtbl->AddRef(This)
13801#define IAMOverlayFX_Release(This) (This)->lpVtbl->Release(This)
13802#define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) (This)->lpVtbl->QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
13803#define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) (This)->lpVtbl->SetOverlayFX(This,dwOverlayFX)
13804#define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) (This)->lpVtbl->GetOverlayFX(This,lpdwOverlayFX)
13805#endif
13806#endif
13807 HRESULT WINAPI IAMOverlayFX_QueryOverlayFXCaps_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
13808 void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13809 HRESULT WINAPI IAMOverlayFX_SetOverlayFX_Proxy(IAMOverlayFX *This,DWORD dwOverlayFX);
13810 void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13811 HRESULT WINAPI IAMOverlayFX_GetOverlayFX_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
13812 void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13813#endif
13814
13815#ifndef __IAMOpenProgress_INTERFACE_DEFINED__
13816#define __IAMOpenProgress_INTERFACE_DEFINED__
13817 EXTERN_C const IID IID_IAMOpenProgress;
13818#if defined(__cplusplus) && !defined(CINTERFACE)
13819 struct IAMOpenProgress : public IUnknown {
13820 public:
13821 virtual HRESULT WINAPI QueryProgress(LONGLONG *pllTotal,LONGLONG *pllCurrent) = 0;
13822 virtual HRESULT WINAPI AbortOperation(void) = 0;
13823 };
13824#else
13825 typedef struct IAMOpenProgressVtbl {
13826 BEGIN_INTERFACE
13827 HRESULT (WINAPI *QueryInterface)(IAMOpenProgress *This,REFIID riid,void **ppvObject);
13828 ULONG (WINAPI *AddRef)(IAMOpenProgress *This);
13829 ULONG (WINAPI *Release)(IAMOpenProgress *This);
13830 HRESULT (WINAPI *QueryProgress)(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
13831 HRESULT (WINAPI *AbortOperation)(IAMOpenProgress *This);
13832 END_INTERFACE
13833 } IAMOpenProgressVtbl;
13834 struct IAMOpenProgress {
13835 CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
13836 };
13837#ifdef COBJMACROS
13838#define IAMOpenProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13839#define IAMOpenProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
13840#define IAMOpenProgress_Release(This) (This)->lpVtbl->Release(This)
13841#define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) (This)->lpVtbl->QueryProgress(This,pllTotal,pllCurrent)
13842#define IAMOpenProgress_AbortOperation(This) (This)->lpVtbl->AbortOperation(This)
13843#endif
13844#endif
13845 HRESULT WINAPI IAMOpenProgress_QueryProgress_Proxy(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
13846 void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13847 HRESULT WINAPI IAMOpenProgress_AbortOperation_Proxy(IAMOpenProgress *This);
13848 void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13849#endif
13850
13851#ifdef __CRT_UUID_DECL
13852__CRT_UUID_DECL(IMpeg2Demultiplexer,0x436eee9c,0x264f,0x4242,0x90,0xe1,0x4e,0x33,0x0c,0x10,0x75,0x12);
13853#endif
13854
13855#ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
13856#define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
13857 EXTERN_C const IID IID_IMpeg2Demultiplexer;
13858#if defined(__cplusplus) && !defined(CINTERFACE)
13859 struct IMpeg2Demultiplexer : public IUnknown {
13860 public:
13861 virtual HRESULT WINAPI CreateOutputPin(AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin) = 0;
13862 virtual HRESULT WINAPI SetOutputPinMediaType(LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType) = 0;
13863 virtual HRESULT WINAPI DeleteOutputPin(LPWSTR pszPinName) = 0;
13864 };
13865#else
13866 typedef struct IMpeg2DemultiplexerVtbl {
13867 BEGIN_INTERFACE
13868 HRESULT (WINAPI *QueryInterface)(IMpeg2Demultiplexer *This,REFIID riid,void **ppvObject);
13869 ULONG (WINAPI *AddRef)(IMpeg2Demultiplexer *This);
13870 ULONG (WINAPI *Release)(IMpeg2Demultiplexer *This);
13871 HRESULT (WINAPI *CreateOutputPin)(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
13872 HRESULT (WINAPI *SetOutputPinMediaType)(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
13873 HRESULT (WINAPI *DeleteOutputPin)(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
13874 END_INTERFACE
13875 } IMpeg2DemultiplexerVtbl;
13876 struct IMpeg2Demultiplexer {
13877 CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
13878 };
13879#ifdef COBJMACROS
13880#define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13881#define IMpeg2Demultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This)
13882#define IMpeg2Demultiplexer_Release(This) (This)->lpVtbl->Release(This)
13883#define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) (This)->lpVtbl->CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
13884#define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) (This)->lpVtbl->SetOutputPinMediaType(This,pszPinName,pMediaType)
13885#define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) (This)->lpVtbl->DeleteOutputPin(This,pszPinName)
13886#endif
13887#endif
13888 HRESULT WINAPI IMpeg2Demultiplexer_CreateOutputPin_Proxy(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
13889 void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13890 HRESULT WINAPI IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
13891 void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13892 HRESULT WINAPI IMpeg2Demultiplexer_DeleteOutputPin_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
13893 void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13894#endif
13895
13896#define MPEG2_PROGRAM_STREAM_MAP 0x00000000
13897#define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
13898#define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
13899#define MPEG2_PROGRAM_PACK_HEADER 0x00000003
13900#define MPEG2_PROGRAM_PES_STREAM 0x00000004
13901#define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
13902#define SUBSTREAM_FILTER_VAL_NONE 0x10000000
13903
13904 typedef struct __MIDL___MIDL_itf_strmif_0365_0001 {
13905 ULONG stream_id;
13906 DWORD dwMediaSampleContent;
13907 ULONG ulSubstreamFilterValue;
13908 int iDataOffset;
13909 } STREAM_ID_MAP;
13910
13911 extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec;
13912 extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec;
13913#ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
13914#define __IEnumStreamIdMap_INTERFACE_DEFINED__
13915 EXTERN_C const IID IID_IEnumStreamIdMap;
13916#if defined(__cplusplus) && !defined(CINTERFACE)
13917 struct IEnumStreamIdMap : public IUnknown {
13918 public:
13919 virtual HRESULT WINAPI Next(ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived) = 0;
13920 virtual HRESULT WINAPI Skip(ULONG cRecords) = 0;
13921 virtual HRESULT WINAPI Reset(void) = 0;
13922 virtual HRESULT WINAPI Clone(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
13923 };
13924#else
13925 typedef struct IEnumStreamIdMapVtbl {
13926 BEGIN_INTERFACE
13927 HRESULT (WINAPI *QueryInterface)(IEnumStreamIdMap *This,REFIID riid,void **ppvObject);
13928 ULONG (WINAPI *AddRef)(IEnumStreamIdMap *This);
13929 ULONG (WINAPI *Release)(IEnumStreamIdMap *This);
13930 HRESULT (WINAPI *Next)(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
13931 HRESULT (WINAPI *Skip)(IEnumStreamIdMap *This,ULONG cRecords);
13932 HRESULT (WINAPI *Reset)(IEnumStreamIdMap *This);
13933 HRESULT (WINAPI *Clone)(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
13934 END_INTERFACE
13935 } IEnumStreamIdMapVtbl;
13936 struct IEnumStreamIdMap {
13937 CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
13938 };
13939#ifdef COBJMACROS
13940#define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13941#define IEnumStreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
13942#define IEnumStreamIdMap_Release(This) (This)->lpVtbl->Release(This)
13943#define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pStreamIdMap,pcReceived)
13944#define IEnumStreamIdMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords)
13945#define IEnumStreamIdMap_Reset(This) (This)->lpVtbl->Reset(This)
13946#define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) (This)->lpVtbl->Clone(This,ppIEnumStreamIdMap)
13947#endif
13948#endif
13949 HRESULT WINAPI IEnumStreamIdMap_Next_Proxy(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
13950 void __RPC_STUB IEnumStreamIdMap_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13951 HRESULT WINAPI IEnumStreamIdMap_Skip_Proxy(IEnumStreamIdMap *This,ULONG cRecords);
13952 void __RPC_STUB IEnumStreamIdMap_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13953 HRESULT WINAPI IEnumStreamIdMap_Reset_Proxy(IEnumStreamIdMap *This);
13954 void __RPC_STUB IEnumStreamIdMap_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13955 HRESULT WINAPI IEnumStreamIdMap_Clone_Proxy(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
13956 void __RPC_STUB IEnumStreamIdMap_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13957#endif
13958
13959#ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
13960#define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
13961 EXTERN_C const IID IID_IMPEG2StreamIdMap;
13962#if defined(__cplusplus) && !defined(CINTERFACE)
13963 struct IMPEG2StreamIdMap : public IUnknown {
13964 public:
13965 virtual HRESULT WINAPI MapStreamId(ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset) = 0;
13966 virtual HRESULT WINAPI UnmapStreamId(ULONG culStreamId,ULONG *pulStreamId) = 0;
13967 virtual HRESULT WINAPI EnumStreamIdMap(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
13968 };
13969#else
13970 typedef struct IMPEG2StreamIdMapVtbl {
13971 BEGIN_INTERFACE
13972 HRESULT (WINAPI *QueryInterface)(IMPEG2StreamIdMap *This,REFIID riid,void **ppvObject);
13973 ULONG (WINAPI *AddRef)(IMPEG2StreamIdMap *This);
13974 ULONG (WINAPI *Release)(IMPEG2StreamIdMap *This);
13975 HRESULT (WINAPI *MapStreamId)(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
13976 HRESULT (WINAPI *UnmapStreamId)(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
13977 HRESULT (WINAPI *EnumStreamIdMap)(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
13978 END_INTERFACE
13979 } IMPEG2StreamIdMapVtbl;
13980 struct IMPEG2StreamIdMap {
13981 CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
13982 };
13983#ifdef COBJMACROS
13984#define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13985#define IMPEG2StreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
13986#define IMPEG2StreamIdMap_Release(This) (This)->lpVtbl->Release(This)
13987#define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) (This)->lpVtbl->MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
13988#define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) (This)->lpVtbl->UnmapStreamId(This,culStreamId,pulStreamId)
13989#define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) (This)->lpVtbl->EnumStreamIdMap(This,ppIEnumStreamIdMap)
13990#endif
13991#endif
13992 HRESULT WINAPI IMPEG2StreamIdMap_MapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
13993 void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13994 HRESULT WINAPI IMPEG2StreamIdMap_UnmapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
13995 void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13996 HRESULT WINAPI IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
13997 void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
13998#endif
13999
14000#ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
14001#define __IRegisterServiceProvider_INTERFACE_DEFINED__
14002 EXTERN_C const IID IID_IRegisterServiceProvider;
14003#if defined(__cplusplus) && !defined(CINTERFACE)
14004 struct IRegisterServiceProvider : public IUnknown {
14005 public:
14006 virtual HRESULT WINAPI RegisterService(REFGUID guidService,IUnknown *pUnkObject) = 0;
14007 };
14008#else
14009 typedef struct IRegisterServiceProviderVtbl {
14010 BEGIN_INTERFACE
14011 HRESULT (WINAPI *QueryInterface)(IRegisterServiceProvider *This,REFIID riid,void **ppvObject);
14012 ULONG (WINAPI *AddRef)(IRegisterServiceProvider *This);
14013 ULONG (WINAPI *Release)(IRegisterServiceProvider *This);
14014 HRESULT (WINAPI *RegisterService)(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
14015 END_INTERFACE
14016 } IRegisterServiceProviderVtbl;
14017 struct IRegisterServiceProvider {
14018 CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
14019 };
14020#ifdef COBJMACROS
14021#define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14022#define IRegisterServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
14023#define IRegisterServiceProvider_Release(This) (This)->lpVtbl->Release(This)
14024#define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) (This)->lpVtbl->RegisterService(This,guidService,pUnkObject)
14025#endif
14026#endif
14027 HRESULT WINAPI IRegisterServiceProvider_RegisterService_Proxy(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
14028 void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14029#endif
14030
14031#ifdef __cplusplus
14032#ifndef _IAMFilterGraphCallback_
14033#define _IAMFilterGraphCallback_
14034 EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
14035 struct IAMFilterGraphCallback : public IUnknown {
14036 virtual HRESULT UnableToRender(IPin *pPin) = 0;
14037 };
14038#endif
14039#endif
14040 struct CodecAPIEventData {
14041 GUID guid;
14042 DWORD dataLength;
14043 DWORD reserved[3];
14044 };
14045
14046 extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_c_ifspec;
14047 extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_s_ifspec;
14048#ifndef __ICodecAPI_INTERFACE_DEFINED__
14049#define __ICodecAPI_INTERFACE_DEFINED__
14050 EXTERN_C const IID IID_ICodecAPI;
14051#if defined(__cplusplus) && !defined(CINTERFACE)
14052 struct ICodecAPI : public IUnknown {
14053 public:
14054 virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
14055 virtual HRESULT WINAPI IsModifiable(const GUID *Api) = 0;
14056 virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
14057 virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
14058 virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
14059 virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
14060 virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
14061 virtual HRESULT WINAPI RegisterForEvent(const GUID *Api,LONG_PTR userData) = 0;
14062 virtual HRESULT WINAPI UnregisterForEvent(const GUID *Api) = 0;
14063 virtual HRESULT WINAPI SetAllDefaults(void) = 0;
14064 virtual HRESULT WINAPI SetValueWithNotify(const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
14065 virtual HRESULT WINAPI SetAllDefaultsWithNotify(GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
14066 virtual HRESULT WINAPI GetAllSettings(IStream *__MIDL_0016) = 0;
14067 virtual HRESULT WINAPI SetAllSettings(IStream *__MIDL_0017) = 0;
14068 virtual HRESULT WINAPI SetAllSettingsWithNotify(IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
14069 };
14070#else
14071 typedef struct ICodecAPIVtbl {
14072 BEGIN_INTERFACE
14073 HRESULT (WINAPI *QueryInterface)(ICodecAPI *This,REFIID riid,void **ppvObject);
14074 ULONG (WINAPI *AddRef)(ICodecAPI *This);
14075 ULONG (WINAPI *Release)(ICodecAPI *This);
14076 HRESULT (WINAPI *IsSupported)(ICodecAPI *This,const GUID *Api);
14077 HRESULT (WINAPI *IsModifiable)(ICodecAPI *This,const GUID *Api);
14078 HRESULT (WINAPI *GetParameterRange)(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
14079 HRESULT (WINAPI *GetParameterValues)(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
14080 HRESULT (WINAPI *GetDefaultValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
14081 HRESULT (WINAPI *GetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
14082 HRESULT (WINAPI *SetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
14083 HRESULT (WINAPI *RegisterForEvent)(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
14084 HRESULT (WINAPI *UnregisterForEvent)(ICodecAPI *This,const GUID *Api);
14085 HRESULT (WINAPI *SetAllDefaults)(ICodecAPI *This);
14086 HRESULT (WINAPI *SetValueWithNotify)(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
14087 HRESULT (WINAPI *SetAllDefaultsWithNotify)(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
14088 HRESULT (WINAPI *GetAllSettings)(ICodecAPI *This,IStream *__MIDL_0016);
14089 HRESULT (WINAPI *SetAllSettings)(ICodecAPI *This,IStream *__MIDL_0017);
14090 HRESULT (WINAPI *SetAllSettingsWithNotify)(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
14091 END_INTERFACE
14092 } ICodecAPIVtbl;
14093 struct ICodecAPI {
14094 CONST_VTBL struct ICodecAPIVtbl *lpVtbl;
14095 };
14096#ifdef COBJMACROS
14097#define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14098#define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
14099#define ICodecAPI_Release(This) (This)->lpVtbl->Release(This)
14100#define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
14101#define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api)
14102#define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
14103#define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
14104#define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
14105#define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
14106#define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
14107#define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData)
14108#define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api)
14109#define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This)
14110#define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
14111#define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
14112#define ICodecAPI_GetAllSettings(This,__MIDL_0016) (This)->lpVtbl->GetAllSettings(This,__MIDL_0016)
14113#define ICodecAPI_SetAllSettings(This,__MIDL_0017) (This)->lpVtbl->SetAllSettings(This,__MIDL_0017)
14114#define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)
14115#endif
14116#endif
14117 HRESULT WINAPI ICodecAPI_IsSupported_Proxy(ICodecAPI *This,const GUID *Api);
14118 void __RPC_STUB ICodecAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14119 HRESULT WINAPI ICodecAPI_IsModifiable_Proxy(ICodecAPI *This,const GUID *Api);
14120 void __RPC_STUB ICodecAPI_IsModifiable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14121 HRESULT WINAPI ICodecAPI_GetParameterRange_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
14122 void __RPC_STUB ICodecAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14123 HRESULT WINAPI ICodecAPI_GetParameterValues_Proxy(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
14124 void __RPC_STUB ICodecAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14125 HRESULT WINAPI ICodecAPI_GetDefaultValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
14126 void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14127 HRESULT WINAPI ICodecAPI_GetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
14128 void __RPC_STUB ICodecAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14129 HRESULT WINAPI ICodecAPI_SetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
14130 void __RPC_STUB ICodecAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14131 HRESULT WINAPI ICodecAPI_RegisterForEvent_Proxy(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
14132 void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14133 HRESULT WINAPI ICodecAPI_UnregisterForEvent_Proxy(ICodecAPI *This,const GUID *Api);
14134 void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14135 HRESULT WINAPI ICodecAPI_SetAllDefaults_Proxy(ICodecAPI *This);
14136 void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14137 HRESULT WINAPI ICodecAPI_SetValueWithNotify_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
14138 void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14139 HRESULT WINAPI ICodecAPI_SetAllDefaultsWithNotify_Proxy(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
14140 void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14141 HRESULT WINAPI ICodecAPI_GetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0016);
14142 void __RPC_STUB ICodecAPI_GetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14143 HRESULT WINAPI ICodecAPI_SetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0017);
14144 void __RPC_STUB ICodecAPI_SetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14145 HRESULT WINAPI ICodecAPI_SetAllSettingsWithNotify_Proxy(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
14146 void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14147#endif
14148
14149#ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
14150#define __IGetCapabilitiesKey_INTERFACE_DEFINED__
14151 EXTERN_C const IID IID_IGetCapabilitiesKey;
14152#if defined(__cplusplus) && !defined(CINTERFACE)
14153 struct IGetCapabilitiesKey : public IUnknown {
14154 public:
14155 virtual HRESULT WINAPI GetCapabilitiesKey(HKEY *pHKey) = 0;
14156 };
14157#else
14158 typedef struct IGetCapabilitiesKeyVtbl {
14159 BEGIN_INTERFACE
14160 HRESULT (WINAPI *QueryInterface)(IGetCapabilitiesKey *This,REFIID riid,void **ppvObject);
14161 ULONG (WINAPI *AddRef)(IGetCapabilitiesKey *This);
14162 ULONG (WINAPI *Release)(IGetCapabilitiesKey *This);
14163 HRESULT (WINAPI *GetCapabilitiesKey)(IGetCapabilitiesKey *This,HKEY *pHKey);
14164 END_INTERFACE
14165 } IGetCapabilitiesKeyVtbl;
14166 struct IGetCapabilitiesKey {
14167 CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl;
14168 };
14169#ifdef COBJMACROS
14170#define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14171#define IGetCapabilitiesKey_AddRef(This) (This)->lpVtbl->AddRef(This)
14172#define IGetCapabilitiesKey_Release(This) (This)->lpVtbl->Release(This)
14173#define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) (This)->lpVtbl->GetCapabilitiesKey(This,pHKey)
14174#endif
14175#endif
14176 HRESULT WINAPI IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(IGetCapabilitiesKey *This,HKEY *pHKey);
14177 void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14178#endif
14179
14180#ifndef __IEncoderAPI_INTERFACE_DEFINED__
14181#define __IEncoderAPI_INTERFACE_DEFINED__
14182 EXTERN_C const IID IID_IEncoderAPI;
14183#if defined(__cplusplus) && !defined(CINTERFACE)
14184 struct IEncoderAPI : public IUnknown {
14185 public:
14186 virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
14187 virtual HRESULT WINAPI IsAvailable(const GUID *Api) = 0;
14188 virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
14189 virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
14190 virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
14191 virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
14192 virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
14193 };
14194#else
14195 typedef struct IEncoderAPIVtbl {
14196 BEGIN_INTERFACE
14197 HRESULT (WINAPI *QueryInterface)(IEncoderAPI *This,REFIID riid,void **ppvObject);
14198 ULONG (WINAPI *AddRef)(IEncoderAPI *This);
14199 ULONG (WINAPI *Release)(IEncoderAPI *This);
14200 HRESULT (WINAPI *IsSupported)(IEncoderAPI *This,const GUID *Api);
14201 HRESULT (WINAPI *IsAvailable)(IEncoderAPI *This,const GUID *Api);
14202 HRESULT (WINAPI *GetParameterRange)(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
14203 HRESULT (WINAPI *GetParameterValues)(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
14204 HRESULT (WINAPI *GetDefaultValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
14205 HRESULT (WINAPI *GetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
14206 HRESULT (WINAPI *SetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
14207 END_INTERFACE
14208 } IEncoderAPIVtbl;
14209 struct IEncoderAPI {
14210 CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
14211 };
14212#ifdef COBJMACROS
14213#define IEncoderAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14214#define IEncoderAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
14215#define IEncoderAPI_Release(This) (This)->lpVtbl->Release(This)
14216#define IEncoderAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
14217#define IEncoderAPI_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
14218#define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
14219#define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
14220#define IEncoderAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
14221#define IEncoderAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
14222#define IEncoderAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
14223#endif
14224#endif
14225 HRESULT WINAPI IEncoderAPI_IsSupported_Proxy(IEncoderAPI *This,const GUID *Api);
14226 void __RPC_STUB IEncoderAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14227 HRESULT WINAPI IEncoderAPI_IsAvailable_Proxy(IEncoderAPI *This,const GUID *Api);
14228 void __RPC_STUB IEncoderAPI_IsAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14229 HRESULT WINAPI IEncoderAPI_GetParameterRange_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
14230 void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14231 HRESULT WINAPI IEncoderAPI_GetParameterValues_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
14232 void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14233 HRESULT WINAPI IEncoderAPI_GetDefaultValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
14234 void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14235 HRESULT WINAPI IEncoderAPI_GetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
14236 void __RPC_STUB IEncoderAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14237 HRESULT WINAPI IEncoderAPI_SetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
14238 void __RPC_STUB IEncoderAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14239#endif
14240
14241#ifndef __IVideoEncoder_INTERFACE_DEFINED__
14242#define __IVideoEncoder_INTERFACE_DEFINED__
14243 EXTERN_C const IID IID_IVideoEncoder;
14244#if defined(__cplusplus) && !defined(CINTERFACE)
14245 struct IVideoEncoder : public IEncoderAPI {
14246 public:
14247 };
14248#else
14249 typedef struct IVideoEncoderVtbl {
14250 BEGIN_INTERFACE
14251 HRESULT (WINAPI *QueryInterface)(IVideoEncoder *This,REFIID riid,void **ppvObject);
14252 ULONG (WINAPI *AddRef)(IVideoEncoder *This);
14253 ULONG (WINAPI *Release)(IVideoEncoder *This);
14254 HRESULT (WINAPI *IsSupported)(IVideoEncoder *This,const GUID *Api);
14255 HRESULT (WINAPI *IsAvailable)(IVideoEncoder *This,const GUID *Api);
14256 HRESULT (WINAPI *GetParameterRange)(IVideoEncoder *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
14257 HRESULT (WINAPI *GetParameterValues)(IVideoEncoder *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
14258 HRESULT (WINAPI *GetDefaultValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
14259 HRESULT (WINAPI *GetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
14260 HRESULT (WINAPI *SetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
14261 END_INTERFACE
14262 } IVideoEncoderVtbl;
14263 struct IVideoEncoder {
14264 CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
14265 };
14266#ifdef COBJMACROS
14267#define IVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14268#define IVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
14269#define IVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
14270#define IVideoEncoder_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
14271#define IVideoEncoder_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
14272#define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
14273#define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
14274#define IVideoEncoder_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
14275#define IVideoEncoder_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
14276#define IVideoEncoder_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
14277#endif
14278#endif
14279#endif
14280
14281#ifndef __ENCODER_API_DEFINES__
14282#define __ENCODER_API_DEFINES__
14283 typedef enum __MIDL___MIDL_itf_strmif_0374_0001 {
14284 ConstantBitRate = 0,
14285 VariableBitRateAverage,VariableBitRatePeak
14286 } VIDEOENCODER_BITRATE_MODE;
14287#endif
14288#define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001
14289#define VMR_NOTSUPPORTED 0x00000000
14290#define VMR_SUPPORTED 0x00000001
14291#define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001
14292#define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002
14293#define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003
14294#define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004
14295#define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005
14296#define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006
14297#define DECODER_CAP_NOTSUPPORTED 0x00000000
14298#define DECODER_CAP_SUPPORTED 0x00000001
14299
14300 extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_c_ifspec;
14301 extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_s_ifspec;
14302#ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
14303#define __IAMDecoderCaps_INTERFACE_DEFINED__
14304 EXTERN_C const IID IID_IAMDecoderCaps;
14305#if defined(__cplusplus) && !defined(CINTERFACE)
14306 struct IAMDecoderCaps : public IUnknown {
14307 public:
14308 virtual HRESULT WINAPI GetDecoderCaps(DWORD dwCapIndex,DWORD *lpdwCap) = 0;
14309 };
14310#else
14311 typedef struct IAMDecoderCapsVtbl {
14312 BEGIN_INTERFACE
14313 HRESULT (WINAPI *QueryInterface)(IAMDecoderCaps *This,REFIID riid,void **ppvObject);
14314 ULONG (WINAPI *AddRef)(IAMDecoderCaps *This);
14315 ULONG (WINAPI *Release)(IAMDecoderCaps *This);
14316 HRESULT (WINAPI *GetDecoderCaps)(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
14317 END_INTERFACE
14318 } IAMDecoderCapsVtbl;
14319 struct IAMDecoderCaps {
14320 CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
14321 };
14322#ifdef COBJMACROS
14323#define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14324#define IAMDecoderCaps_AddRef(This) (This)->lpVtbl->AddRef(This)
14325#define IAMDecoderCaps_Release(This) (This)->lpVtbl->Release(This)
14326#define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) (This)->lpVtbl->GetDecoderCaps(This,dwCapIndex,lpdwCap)
14327#endif
14328#endif
14329 HRESULT WINAPI IAMDecoderCaps_GetDecoderCaps_Proxy(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
14330 void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14331#endif
14332
14333#include <ddraw.h>
14334
14335 typedef enum tagDVD_DOMAIN {
14336 DVD_DOMAIN_FirstPlay = 1,
14337 DVD_DOMAIN_VideoManagerMenu,DVD_DOMAIN_VideoTitleSetMenu,DVD_DOMAIN_Title,
14338 DVD_DOMAIN_Stop
14339 } DVD_DOMAIN;
14340
14341 typedef enum tagDVD_MENU_ID {
14342 DVD_MENU_Title = 2,DVD_MENU_Root = 3,DVD_MENU_Subpicture = 4,DVD_MENU_Audio = 5,
14343 DVD_MENU_Angle = 6,DVD_MENU_Chapter = 7
14344 } DVD_MENU_ID;
14345
14346 typedef enum tagDVD_DISC_SIDE {
14347 DVD_SIDE_A = 1,DVD_SIDE_B = 2
14348 } DVD_DISC_SIDE;
14349
14350 typedef enum tagDVD_PREFERRED_DISPLAY_MODE {
14351 DISPLAY_CONTENT_DEFAULT = 0,DISPLAY_16x9 = 1,DISPLAY_4x3_PANSCAN_PREFERRED = 2,DISPLAY_4x3_LETTERBOX_PREFERRED = 3
14352 } DVD_PREFERRED_DISPLAY_MODE;
14353
14354 typedef WORD DVD_REGISTER;
14355 typedef DVD_REGISTER GPRMARRAY[16];
14356 typedef DVD_REGISTER SPRMARRAY[24];
14357
14358 typedef struct tagDVD_ATR {
14359 ULONG ulCAT;
14360 BYTE pbATRI[768];
14361 } DVD_ATR;
14362
14363 typedef BYTE DVD_VideoATR[2];
14364 typedef BYTE DVD_AudioATR[8];
14365 typedef BYTE DVD_SubpictureATR[6];
14366
14367 typedef enum tagDVD_FRAMERATE {
14368 DVD_FPS_25 = 1,DVD_FPS_30NonDrop = 3
14369 } DVD_FRAMERATE;
14370
14371 typedef struct tagDVD_TIMECODE {
14372 ULONG Hours1 :4;
14373 ULONG Hours10 :4;
14374 ULONG Minutes1 :4;
14375 ULONG Minutes10:4;
14376 ULONG Seconds1 :4;
14377 ULONG Seconds10:4;
14378 ULONG Frames1 :4;
14379 ULONG Frames10 :2;
14380 ULONG FrameRateCode: 2;
14381 } DVD_TIMECODE;
14382
14383 typedef enum tagDVD_TIMECODE_FLAGS {
14384 DVD_TC_FLAG_25fps = 0x1,DVD_TC_FLAG_30fps = 0x2,DVD_TC_FLAG_DropFrame = 0x4,DVD_TC_FLAG_Interpolated = 0x8
14385 } DVD_TIMECODE_FLAGS;
14386
14387 typedef struct tagDVD_HMSF_TIMECODE {
14388 BYTE bHours;
14389 BYTE bMinutes;
14390 BYTE bSeconds;
14391 BYTE bFrames;
14392 } DVD_HMSF_TIMECODE;
14393
14394 typedef struct tagDVD_PLAYBACK_LOCATION2 {
14395 ULONG TitleNum;
14396 ULONG ChapterNum;
14397 DVD_HMSF_TIMECODE TimeCode;
14398 ULONG TimeCodeFlags;
14399 } DVD_PLAYBACK_LOCATION2;
14400
14401 typedef struct tagDVD_PLAYBACK_LOCATION {
14402 ULONG TitleNum;
14403 ULONG ChapterNum;
14404 ULONG TimeCode;
14405 } DVD_PLAYBACK_LOCATION;
14406
14407 typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
14408
14409 typedef enum __MIDL___MIDL_itf_strmif_0376_0001 {
14410 UOP_FLAG_Play_Title_Or_AtTime = 0x1,UOP_FLAG_Play_Chapter = 0x2,UOP_FLAG_Play_Title = 0x4,UOP_FLAG_Stop = 0x8,UOP_FLAG_ReturnFromSubMenu = 0x10,
14411 UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,UOP_FLAG_PlayNext_Chapter = 0x80,UOP_FLAG_Play_Forwards = 0x100,
14412 UOP_FLAG_Play_Backwards = 0x200,UOP_FLAG_ShowMenu_Title = 0x400,UOP_FLAG_ShowMenu_Root = 0x800,UOP_FLAG_ShowMenu_SubPic = 0x1000,
14413 UOP_FLAG_ShowMenu_Audio = 0x2000,UOP_FLAG_ShowMenu_Angle = 0x4000,UOP_FLAG_ShowMenu_Chapter = 0x8000,UOP_FLAG_Resume = 0x10000,
14414 UOP_FLAG_Select_Or_Activate_Button = 0x20000,UOP_FLAG_Still_Off = 0x40000,UOP_FLAG_Pause_On = 0x80000,UOP_FLAG_Select_Audio_Stream = 0x100000,
14415 UOP_FLAG_Select_SubPic_Stream = 0x200000,UOP_FLAG_Select_Angle = 0x400000,UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000,
14416 UOP_FLAG_Select_Video_Mode_Preference = 0x1000000
14417 } VALID_UOP_FLAG;
14418
14419 typedef enum __MIDL___MIDL_itf_strmif_0376_0002 {
14420 DVD_CMD_FLAG_None = 0,DVD_CMD_FLAG_Flush = 0x1,DVD_CMD_FLAG_SendEvents = 0x2,DVD_CMD_FLAG_Block = 0x4,DVD_CMD_FLAG_StartWhenRendered = 0x8,
14421 DVD_CMD_FLAG_EndAfterRendered = 0x10
14422 } DVD_CMD_FLAGS;
14423
14424 typedef enum __MIDL___MIDL_itf_strmif_0376_0003 {
14425 DVD_ResetOnStop = 1,DVD_NotifyParentalLevelChange = 2,DVD_HMSF_TimeCodeEvents = 3,DVD_AudioDuringFFwdRew = 4
14426 } DVD_OPTION_FLAG;
14427
14428 typedef enum __MIDL___MIDL_itf_strmif_0376_0004 {
14429 DVD_Relative_Upper = 1,DVD_Relative_Lower = 2,DVD_Relative_Left = 3,DVD_Relative_Right = 4
14430 } DVD_RELATIVE_BUTTON;
14431
14432 typedef enum tagDVD_PARENTAL_LEVEL {
14433 DVD_PARENTAL_LEVEL_8 = 0x8000,DVD_PARENTAL_LEVEL_7 = 0x4000,DVD_PARENTAL_LEVEL_6 = 0x2000,DVD_PARENTAL_LEVEL_5 = 0x1000,
14434 DVD_PARENTAL_LEVEL_4 = 0x800,DVD_PARENTAL_LEVEL_3 = 0x400,DVD_PARENTAL_LEVEL_2 = 0x200,DVD_PARENTAL_LEVEL_1 = 0x100
14435 } DVD_PARENTAL_LEVEL;
14436
14437 typedef enum tagDVD_AUDIO_LANG_EXT {
14438 DVD_AUD_EXT_NotSpecified = 0,DVD_AUD_EXT_Captions = 1,DVD_AUD_EXT_VisuallyImpaired = 2,DVD_AUD_EXT_DirectorComments1 = 3,
14439 DVD_AUD_EXT_DirectorComments2 = 4
14440 } DVD_AUDIO_LANG_EXT;
14441
14442 typedef enum tagDVD_SUBPICTURE_LANG_EXT {
14443 DVD_SP_EXT_NotSpecified = 0,DVD_SP_EXT_Caption_Normal = 1,DVD_SP_EXT_Caption_Big = 2,DVD_SP_EXT_Caption_Children = 3,DVD_SP_EXT_CC_Normal = 5,
14444 DVD_SP_EXT_CC_Big = 6,DVD_SP_EXT_CC_Children = 7,DVD_SP_EXT_Forced = 9,DVD_SP_EXT_DirectorComments_Normal = 13,DVD_SP_EXT_DirectorComments_Big = 14,
14445 DVD_SP_EXT_DirectorComments_Children = 15
14446 } DVD_SUBPICTURE_LANG_EXT;
14447
14448 typedef enum tagDVD_AUDIO_APPMODE {
14449 DVD_AudioMode_None = 0,DVD_AudioMode_Karaoke = 1,DVD_AudioMode_Surround = 2,DVD_AudioMode_Other = 3
14450 } DVD_AUDIO_APPMODE;
14451
14452 typedef enum tagDVD_AUDIO_FORMAT {
14453 DVD_AudioFormat_AC3 = 0,DVD_AudioFormat_MPEG1 = 1,DVD_AudioFormat_MPEG1_DRC = 2,DVD_AudioFormat_MPEG2 = 3,DVD_AudioFormat_MPEG2_DRC = 4,
14454 DVD_AudioFormat_LPCM = 5,DVD_AudioFormat_DTS = 6,DVD_AudioFormat_SDDS = 7,DVD_AudioFormat_Other = 8
14455 } DVD_AUDIO_FORMAT;
14456
14457 typedef enum tagDVD_KARAOKE_DOWNMIX {
14458 DVD_Mix_0to0 = 0x1,DVD_Mix_1to0 = 0x2,DVD_Mix_2to0 = 0x4,DVD_Mix_3to0 = 0x8,DVD_Mix_4to0 = 0x10,DVD_Mix_Lto0 = 0x20,DVD_Mix_Rto0 = 0x40,
14459 DVD_Mix_0to1 = 0x100,DVD_Mix_1to1 = 0x200,DVD_Mix_2to1 = 0x400,DVD_Mix_3to1 = 0x800,DVD_Mix_4to1 = 0x1000,DVD_Mix_Lto1 = 0x2000,
14460 DVD_Mix_Rto1 = 0x4000
14461 } DVD_KARAOKE_DOWNMIX;
14462
14463 typedef struct tagDVD_AudioAttributes {
14464 DVD_AUDIO_APPMODE AppMode;
14465 BYTE AppModeData;
14466 DVD_AUDIO_FORMAT AudioFormat;
14467 LCID Language;
14468 DVD_AUDIO_LANG_EXT LanguageExtension;
14469 WINBOOL fHasMultichannelInfo;
14470 DWORD dwFrequency;
14471 BYTE bQuantization;
14472 BYTE bNumberOfChannels;
14473 DWORD dwReserved[2];
14474 } DVD_AudioAttributes;
14475
14476 typedef struct tagDVD_MUA_MixingInfo {
14477 WINBOOL fMixTo0;
14478 WINBOOL fMixTo1;
14479 WINBOOL fMix0InPhase;
14480 WINBOOL fMix1InPhase;
14481 DWORD dwSpeakerPosition;
14482 } DVD_MUA_MixingInfo;
14483
14484 typedef struct tagDVD_MUA_Coeff {
14485 double log2_alpha;
14486 double log2_beta;
14487 } DVD_MUA_Coeff;
14488
14489 typedef struct tagDVD_MultichannelAudioAttributes {
14490 DVD_MUA_MixingInfo Info[8];
14491 DVD_MUA_Coeff Coeff[8];
14492 } DVD_MultichannelAudioAttributes;
14493
14494 typedef enum tagDVD_KARAOKE_CONTENTS {
14495 DVD_Karaoke_GuideVocal1 = 0x1,DVD_Karaoke_GuideVocal2 = 0x2,DVD_Karaoke_GuideMelody1 = 0x4,DVD_Karaoke_GuideMelody2 = 0x8,
14496 DVD_Karaoke_GuideMelodyA = 0x10,DVD_Karaoke_GuideMelodyB = 0x20,DVD_Karaoke_SoundEffectA = 0x40,DVD_Karaoke_SoundEffectB = 0x80
14497 } DVD_KARAOKE_CONTENTS;
14498
14499 typedef enum tagDVD_KARAOKE_ASSIGNMENT {
14500 DVD_Assignment_reserved0 = 0,DVD_Assignment_reserved1 = 1,DVD_Assignment_LR = 2,DVD_Assignment_LRM = 3,DVD_Assignment_LR1 = 4,
14501 DVD_Assignment_LRM1 = 5,DVD_Assignment_LR12 = 6,DVD_Assignment_LRM12 = 7
14502 } DVD_KARAOKE_ASSIGNMENT;
14503
14504 typedef struct tagDVD_KaraokeAttributes {
14505 BYTE bVersion;
14506 WINBOOL fMasterOfCeremoniesInGuideVocal1;
14507 WINBOOL fDuet;
14508 DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
14509 WORD wChannelContents[8];
14510 } DVD_KaraokeAttributes;
14511
14512 typedef enum tagDVD_VIDEO_COMPRESSION {
14513 DVD_VideoCompression_Other = 0,DVD_VideoCompression_MPEG1 = 1,DVD_VideoCompression_MPEG2 = 2
14514 } DVD_VIDEO_COMPRESSION;
14515
14516 typedef struct tagDVD_VideoAttributes {
14517 WINBOOL fPanscanPermitted;
14518 WINBOOL fLetterboxPermitted;
14519 ULONG ulAspectX;
14520 ULONG ulAspectY;
14521 ULONG ulFrameRate;
14522 ULONG ulFrameHeight;
14523 DVD_VIDEO_COMPRESSION Compression;
14524 WINBOOL fLine21Field1InGOP;
14525 WINBOOL fLine21Field2InGOP;
14526 ULONG ulSourceResolutionX;
14527 ULONG ulSourceResolutionY;
14528 WINBOOL fIsSourceLetterboxed;
14529 WINBOOL fIsFilmMode;
14530 } DVD_VideoAttributes;
14531
14532 typedef enum tagDVD_SUBPICTURE_TYPE {
14533 DVD_SPType_NotSpecified = 0,DVD_SPType_Language = 1,DVD_SPType_Other = 2
14534 } DVD_SUBPICTURE_TYPE;
14535
14536 typedef enum tagDVD_SUBPICTURE_CODING {
14537 DVD_SPCoding_RunLength = 0,DVD_SPCoding_Extended = 1,DVD_SPCoding_Other = 2
14538 } DVD_SUBPICTURE_CODING;
14539
14540 typedef struct tagDVD_SubpictureAttributes {
14541 DVD_SUBPICTURE_TYPE Type;
14542 DVD_SUBPICTURE_CODING CodingMode;
14543 LCID Language;
14544 DVD_SUBPICTURE_LANG_EXT LanguageExtension;
14545 } DVD_SubpictureAttributes;
14546
14547 typedef enum tagDVD_TITLE_APPMODE {
14548 DVD_AppMode_Not_Specified = 0,DVD_AppMode_Karaoke = 1,DVD_AppMode_Other = 3
14549 } DVD_TITLE_APPMODE;
14550
14551 typedef struct tagDVD_TitleMainAttributes {
14552 DVD_TITLE_APPMODE AppMode;
14553 DVD_VideoAttributes VideoAttributes;
14554 ULONG ulNumberOfAudioStreams;
14555 DVD_AudioAttributes AudioAttributes[8];
14556 DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8];
14557 ULONG ulNumberOfSubpictureStreams;
14558 DVD_SubpictureAttributes SubpictureAttributes[32];
14559 } DVD_TitleAttributes;
14560
14561 typedef struct tagDVD_MenuAttributes {
14562 WINBOOL fCompatibleRegion[8];
14563 DVD_VideoAttributes VideoAttributes;
14564 WINBOOL fAudioPresent;
14565 DVD_AudioAttributes AudioAttributes;
14566 WINBOOL fSubpicturePresent;
14567 DVD_SubpictureAttributes SubpictureAttributes;
14568 } DVD_MenuAttributes;
14569
14570 extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec;
14571 extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec;
14572#ifndef __IDvdControl_INTERFACE_DEFINED__
14573#define __IDvdControl_INTERFACE_DEFINED__
14574 EXTERN_C const IID IID_IDvdControl;
14575#if defined(__cplusplus) && !defined(CINTERFACE)
14576 struct IDvdControl : public IUnknown {
14577 public:
14578 virtual HRESULT WINAPI TitlePlay(ULONG ulTitle) = 0;
14579 virtual HRESULT WINAPI ChapterPlay(ULONG ulTitle,ULONG ulChapter) = 0;
14580 virtual HRESULT WINAPI TimePlay(ULONG ulTitle,ULONG bcdTime) = 0;
14581 virtual HRESULT WINAPI StopForResume(void) = 0;
14582 virtual HRESULT WINAPI GoUp(void) = 0;
14583 virtual HRESULT WINAPI TimeSearch(ULONG bcdTime) = 0;
14584 virtual HRESULT WINAPI ChapterSearch(ULONG ulChapter) = 0;
14585 virtual HRESULT WINAPI PrevPGSearch(void) = 0;
14586 virtual HRESULT WINAPI TopPGSearch(void) = 0;
14587 virtual HRESULT WINAPI NextPGSearch(void) = 0;
14588 virtual HRESULT WINAPI ForwardScan(double dwSpeed) = 0;
14589 virtual HRESULT WINAPI BackwardScan(double dwSpeed) = 0;
14590 virtual HRESULT WINAPI MenuCall(DVD_MENU_ID MenuID) = 0;
14591 virtual HRESULT WINAPI Resume(void) = 0;
14592 virtual HRESULT WINAPI UpperButtonSelect(void) = 0;
14593 virtual HRESULT WINAPI LowerButtonSelect(void) = 0;
14594 virtual HRESULT WINAPI LeftButtonSelect(void) = 0;
14595 virtual HRESULT WINAPI RightButtonSelect(void) = 0;
14596 virtual HRESULT WINAPI ButtonActivate(void) = 0;
14597 virtual HRESULT WINAPI ButtonSelectAndActivate(ULONG ulButton) = 0;
14598 virtual HRESULT WINAPI StillOff(void) = 0;
14599 virtual HRESULT WINAPI PauseOn(void) = 0;
14600 virtual HRESULT WINAPI PauseOff(void) = 0;
14601 virtual HRESULT WINAPI MenuLanguageSelect(LCID Language) = 0;
14602 virtual HRESULT WINAPI AudioStreamChange(ULONG ulAudio) = 0;
14603 virtual HRESULT WINAPI SubpictureStreamChange(ULONG ulSubPicture,WINBOOL bDisplay) = 0;
14604 virtual HRESULT WINAPI AngleChange(ULONG ulAngle) = 0;
14605 virtual HRESULT WINAPI ParentalLevelSelect(ULONG ulParentalLevel) = 0;
14606 virtual HRESULT WINAPI ParentalCountrySelect(WORD wCountry) = 0;
14607 virtual HRESULT WINAPI KaraokeAudioPresentationModeChange(ULONG ulMode) = 0;
14608 virtual HRESULT WINAPI VideoModePreferrence(ULONG ulPreferredDisplayMode) = 0;
14609 virtual HRESULT WINAPI SetRoot(LPCWSTR pszPath) = 0;
14610 virtual HRESULT WINAPI MouseActivate(POINT point) = 0;
14611 virtual HRESULT WINAPI MouseSelect(POINT point) = 0;
14612 virtual HRESULT WINAPI ChapterPlayAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay) = 0;
14613 };
14614#else
14615 typedef struct IDvdControlVtbl {
14616 BEGIN_INTERFACE
14617 HRESULT (WINAPI *QueryInterface)(IDvdControl *This,REFIID riid,void **ppvObject);
14618 ULONG (WINAPI *AddRef)(IDvdControl *This);
14619 ULONG (WINAPI *Release)(IDvdControl *This);
14620 HRESULT (WINAPI *TitlePlay)(IDvdControl *This,ULONG ulTitle);
14621 HRESULT (WINAPI *ChapterPlay)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
14622 HRESULT (WINAPI *TimePlay)(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
14623 HRESULT (WINAPI *StopForResume)(IDvdControl *This);
14624 HRESULT (WINAPI *GoUp)(IDvdControl *This);
14625 HRESULT (WINAPI *TimeSearch)(IDvdControl *This,ULONG bcdTime);
14626 HRESULT (WINAPI *ChapterSearch)(IDvdControl *This,ULONG ulChapter);
14627 HRESULT (WINAPI *PrevPGSearch)(IDvdControl *This);
14628 HRESULT (WINAPI *TopPGSearch)(IDvdControl *This);
14629 HRESULT (WINAPI *NextPGSearch)(IDvdControl *This);
14630 HRESULT (WINAPI *ForwardScan)(IDvdControl *This,double dwSpeed);
14631 HRESULT (WINAPI *BackwardScan)(IDvdControl *This,double dwSpeed);
14632 HRESULT (WINAPI *MenuCall)(IDvdControl *This,DVD_MENU_ID MenuID);
14633 HRESULT (WINAPI *Resume)(IDvdControl *This);
14634 HRESULT (WINAPI *UpperButtonSelect)(IDvdControl *This);
14635 HRESULT (WINAPI *LowerButtonSelect)(IDvdControl *This);
14636 HRESULT (WINAPI *LeftButtonSelect)(IDvdControl *This);
14637 HRESULT (WINAPI *RightButtonSelect)(IDvdControl *This);
14638 HRESULT (WINAPI *ButtonActivate)(IDvdControl *This);
14639 HRESULT (WINAPI *ButtonSelectAndActivate)(IDvdControl *This,ULONG ulButton);
14640 HRESULT (WINAPI *StillOff)(IDvdControl *This);
14641 HRESULT (WINAPI *PauseOn)(IDvdControl *This);
14642 HRESULT (WINAPI *PauseOff)(IDvdControl *This);
14643 HRESULT (WINAPI *MenuLanguageSelect)(IDvdControl *This,LCID Language);
14644 HRESULT (WINAPI *AudioStreamChange)(IDvdControl *This,ULONG ulAudio);
14645 HRESULT (WINAPI *SubpictureStreamChange)(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
14646 HRESULT (WINAPI *AngleChange)(IDvdControl *This,ULONG ulAngle);
14647 HRESULT (WINAPI *ParentalLevelSelect)(IDvdControl *This,ULONG ulParentalLevel);
14648 HRESULT (WINAPI *ParentalCountrySelect)(IDvdControl *This,WORD wCountry);
14649 HRESULT (WINAPI *KaraokeAudioPresentationModeChange)(IDvdControl *This,ULONG ulMode);
14650 HRESULT (WINAPI *VideoModePreferrence)(IDvdControl *This,ULONG ulPreferredDisplayMode);
14651 HRESULT (WINAPI *SetRoot)(IDvdControl *This,LPCWSTR pszPath);
14652 HRESULT (WINAPI *MouseActivate)(IDvdControl *This,POINT point);
14653 HRESULT (WINAPI *MouseSelect)(IDvdControl *This,POINT point);
14654 HRESULT (WINAPI *ChapterPlayAutoStop)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
14655 END_INTERFACE
14656 } IDvdControlVtbl;
14657 struct IDvdControl {
14658 CONST_VTBL struct IDvdControlVtbl *lpVtbl;
14659 };
14660#ifdef COBJMACROS
14661#define IDvdControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14662#define IDvdControl_AddRef(This) (This)->lpVtbl->AddRef(This)
14663#define IDvdControl_Release(This) (This)->lpVtbl->Release(This)
14664#define IDvdControl_TitlePlay(This,ulTitle) (This)->lpVtbl->TitlePlay(This,ulTitle)
14665#define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) (This)->lpVtbl->ChapterPlay(This,ulTitle,ulChapter)
14666#define IDvdControl_TimePlay(This,ulTitle,bcdTime) (This)->lpVtbl->TimePlay(This,ulTitle,bcdTime)
14667#define IDvdControl_StopForResume(This) (This)->lpVtbl->StopForResume(This)
14668#define IDvdControl_GoUp(This) (This)->lpVtbl->GoUp(This)
14669#define IDvdControl_TimeSearch(This,bcdTime) (This)->lpVtbl->TimeSearch(This,bcdTime)
14670#define IDvdControl_ChapterSearch(This,ulChapter) (This)->lpVtbl->ChapterSearch(This,ulChapter)
14671#define IDvdControl_PrevPGSearch(This) (This)->lpVtbl->PrevPGSearch(This)
14672#define IDvdControl_TopPGSearch(This) (This)->lpVtbl->TopPGSearch(This)
14673#define IDvdControl_NextPGSearch(This) (This)->lpVtbl->NextPGSearch(This)
14674#define IDvdControl_ForwardScan(This,dwSpeed) (This)->lpVtbl->ForwardScan(This,dwSpeed)
14675#define IDvdControl_BackwardScan(This,dwSpeed) (This)->lpVtbl->BackwardScan(This,dwSpeed)
14676#define IDvdControl_MenuCall(This,MenuID) (This)->lpVtbl->MenuCall(This,MenuID)
14677#define IDvdControl_Resume(This) (This)->lpVtbl->Resume(This)
14678#define IDvdControl_UpperButtonSelect(This) (This)->lpVtbl->UpperButtonSelect(This)
14679#define IDvdControl_LowerButtonSelect(This) (This)->lpVtbl->LowerButtonSelect(This)
14680#define IDvdControl_LeftButtonSelect(This) (This)->lpVtbl->LeftButtonSelect(This)
14681#define IDvdControl_RightButtonSelect(This) (This)->lpVtbl->RightButtonSelect(This)
14682#define IDvdControl_ButtonActivate(This) (This)->lpVtbl->ButtonActivate(This)
14683#define IDvdControl_ButtonSelectAndActivate(This,ulButton) (This)->lpVtbl->ButtonSelectAndActivate(This,ulButton)
14684#define IDvdControl_StillOff(This) (This)->lpVtbl->StillOff(This)
14685#define IDvdControl_PauseOn(This) (This)->lpVtbl->PauseOn(This)
14686#define IDvdControl_PauseOff(This) (This)->lpVtbl->PauseOff(This)
14687#define IDvdControl_MenuLanguageSelect(This,Language) (This)->lpVtbl->MenuLanguageSelect(This,Language)
14688#define IDvdControl_AudioStreamChange(This,ulAudio) (This)->lpVtbl->AudioStreamChange(This,ulAudio)
14689#define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) (This)->lpVtbl->SubpictureStreamChange(This,ulSubPicture,bDisplay)
14690#define IDvdControl_AngleChange(This,ulAngle) (This)->lpVtbl->AngleChange(This,ulAngle)
14691#define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) (This)->lpVtbl->ParentalLevelSelect(This,ulParentalLevel)
14692#define IDvdControl_ParentalCountrySelect(This,wCountry) (This)->lpVtbl->ParentalCountrySelect(This,wCountry)
14693#define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) (This)->lpVtbl->KaraokeAudioPresentationModeChange(This,ulMode)
14694#define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) (This)->lpVtbl->VideoModePreferrence(This,ulPreferredDisplayMode)
14695#define IDvdControl_SetRoot(This,pszPath) (This)->lpVtbl->SetRoot(This,pszPath)
14696#define IDvdControl_MouseActivate(This,point) (This)->lpVtbl->MouseActivate(This,point)
14697#define IDvdControl_MouseSelect(This,point) (This)->lpVtbl->MouseSelect(This,point)
14698#define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) (This)->lpVtbl->ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
14699#endif
14700#endif
14701 HRESULT WINAPI IDvdControl_TitlePlay_Proxy(IDvdControl *This,ULONG ulTitle);
14702 void __RPC_STUB IDvdControl_TitlePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14703 HRESULT WINAPI IDvdControl_ChapterPlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
14704 void __RPC_STUB IDvdControl_ChapterPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14705 HRESULT WINAPI IDvdControl_TimePlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
14706 void __RPC_STUB IDvdControl_TimePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14707 HRESULT WINAPI IDvdControl_StopForResume_Proxy(IDvdControl *This);
14708 void __RPC_STUB IDvdControl_StopForResume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14709 HRESULT WINAPI IDvdControl_GoUp_Proxy(IDvdControl *This);
14710 void __RPC_STUB IDvdControl_GoUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14711 HRESULT WINAPI IDvdControl_TimeSearch_Proxy(IDvdControl *This,ULONG bcdTime);
14712 void __RPC_STUB IDvdControl_TimeSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14713 HRESULT WINAPI IDvdControl_ChapterSearch_Proxy(IDvdControl *This,ULONG ulChapter);
14714 void __RPC_STUB IDvdControl_ChapterSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14715 HRESULT WINAPI IDvdControl_PrevPGSearch_Proxy(IDvdControl *This);
14716 void __RPC_STUB IDvdControl_PrevPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14717 HRESULT WINAPI IDvdControl_TopPGSearch_Proxy(IDvdControl *This);
14718 void __RPC_STUB IDvdControl_TopPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14719 HRESULT WINAPI IDvdControl_NextPGSearch_Proxy(IDvdControl *This);
14720 void __RPC_STUB IDvdControl_NextPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14721 HRESULT WINAPI IDvdControl_ForwardScan_Proxy(IDvdControl *This,double dwSpeed);
14722 void __RPC_STUB IDvdControl_ForwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14723 HRESULT WINAPI IDvdControl_BackwardScan_Proxy(IDvdControl *This,double dwSpeed);
14724 void __RPC_STUB IDvdControl_BackwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14725 HRESULT WINAPI IDvdControl_MenuCall_Proxy(IDvdControl *This,DVD_MENU_ID MenuID);
14726 void __RPC_STUB IDvdControl_MenuCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14727 HRESULT WINAPI IDvdControl_Resume_Proxy(IDvdControl *This);
14728 void __RPC_STUB IDvdControl_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14729 HRESULT WINAPI IDvdControl_UpperButtonSelect_Proxy(IDvdControl *This);
14730 void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14731 HRESULT WINAPI IDvdControl_LowerButtonSelect_Proxy(IDvdControl *This);
14732 void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14733 HRESULT WINAPI IDvdControl_LeftButtonSelect_Proxy(IDvdControl *This);
14734 void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14735 HRESULT WINAPI IDvdControl_RightButtonSelect_Proxy(IDvdControl *This);
14736 void __RPC_STUB IDvdControl_RightButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14737 HRESULT WINAPI IDvdControl_ButtonActivate_Proxy(IDvdControl *This);
14738 void __RPC_STUB IDvdControl_ButtonActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14739 HRESULT WINAPI IDvdControl_ButtonSelectAndActivate_Proxy(IDvdControl *This,ULONG ulButton);
14740 void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14741 HRESULT WINAPI IDvdControl_StillOff_Proxy(IDvdControl *This);
14742 void __RPC_STUB IDvdControl_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14743 HRESULT WINAPI IDvdControl_PauseOn_Proxy(IDvdControl *This);
14744 void __RPC_STUB IDvdControl_PauseOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14745 HRESULT WINAPI IDvdControl_PauseOff_Proxy(IDvdControl *This);
14746 void __RPC_STUB IDvdControl_PauseOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14747 HRESULT WINAPI IDvdControl_MenuLanguageSelect_Proxy(IDvdControl *This,LCID Language);
14748 void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14749 HRESULT WINAPI IDvdControl_AudioStreamChange_Proxy(IDvdControl *This,ULONG ulAudio);
14750 void __RPC_STUB IDvdControl_AudioStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14751 HRESULT WINAPI IDvdControl_SubpictureStreamChange_Proxy(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
14752 void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14753 HRESULT WINAPI IDvdControl_AngleChange_Proxy(IDvdControl *This,ULONG ulAngle);
14754 void __RPC_STUB IDvdControl_AngleChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14755 HRESULT WINAPI IDvdControl_ParentalLevelSelect_Proxy(IDvdControl *This,ULONG ulParentalLevel);
14756 void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14757 HRESULT WINAPI IDvdControl_ParentalCountrySelect_Proxy(IDvdControl *This,WORD wCountry);
14758 void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14759 HRESULT WINAPI IDvdControl_KaraokeAudioPresentationModeChange_Proxy(IDvdControl *This,ULONG ulMode);
14760 void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14761 HRESULT WINAPI IDvdControl_VideoModePreferrence_Proxy(IDvdControl *This,ULONG ulPreferredDisplayMode);
14762 void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14763 HRESULT WINAPI IDvdControl_SetRoot_Proxy(IDvdControl *This,LPCWSTR pszPath);
14764 void __RPC_STUB IDvdControl_SetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14765 HRESULT WINAPI IDvdControl_MouseActivate_Proxy(IDvdControl *This,POINT point);
14766 void __RPC_STUB IDvdControl_MouseActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14767 HRESULT WINAPI IDvdControl_MouseSelect_Proxy(IDvdControl *This,POINT point);
14768 void __RPC_STUB IDvdControl_MouseSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14769 HRESULT WINAPI IDvdControl_ChapterPlayAutoStop_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
14770 void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14771#endif
14772
14773#ifndef __IDvdInfo_INTERFACE_DEFINED__
14774#define __IDvdInfo_INTERFACE_DEFINED__
14775 EXTERN_C const IID IID_IDvdInfo;
14776#if defined(__cplusplus) && !defined(CINTERFACE)
14777 struct IDvdInfo : public IUnknown {
14778 public:
14779 virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
14780 virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION *pLocation) = 0;
14781 virtual HRESULT WINAPI GetTotalTitleTime(ULONG *pulTotalTime) = 0;
14782 virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
14783 virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
14784 virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
14785 virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled) = 0;
14786 virtual HRESULT WINAPI GetCurrentUOPS(VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
14787 virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
14788 virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
14789 virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
14790 virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
14791 virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_ATR *pATR) = 0;
14792 virtual HRESULT WINAPI GetVMGAttributes(DVD_ATR *pATR) = 0;
14793 virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoATR *pATR) = 0;
14794 virtual HRESULT WINAPI GetCurrentAudioAttributes(DVD_AudioATR *pATR) = 0;
14795 virtual HRESULT WINAPI GetCurrentSubpictureAttributes(DVD_SubpictureATR *pATR) = 0;
14796 virtual HRESULT WINAPI GetCurrentVolumeInfo(ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
14797 virtual HRESULT WINAPI GetDVDTextInfo(BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize) = 0;
14798 virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,ULONG *pulCountryCode) = 0;
14799 virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumberOfChapters) = 0;
14800 virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
14801 virtual HRESULT WINAPI GetRoot(LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize) = 0;
14802 };
14803#else
14804 typedef struct IDvdInfoVtbl {
14805 BEGIN_INTERFACE
14806 HRESULT (WINAPI *QueryInterface)(IDvdInfo *This,REFIID riid,void **ppvObject);
14807 ULONG (WINAPI *AddRef)(IDvdInfo *This);
14808 ULONG (WINAPI *Release)(IDvdInfo *This);
14809 HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo *This,DVD_DOMAIN *pDomain);
14810 HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
14811 HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo *This,ULONG *pulTotalTime);
14812 HRESULT (WINAPI *GetCurrentButton)(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
14813 HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
14814 HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
14815 HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
14816 HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
14817 HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo *This,SPRMARRAY *pRegisterArray);
14818 HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo *This,GPRMARRAY *pRegisterArray);
14819 HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
14820 HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
14821 HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
14822 HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo *This,DVD_ATR *pATR);
14823 HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo *This,DVD_VideoATR *pATR);
14824 HRESULT (WINAPI *GetCurrentAudioAttributes)(IDvdInfo *This,DVD_AudioATR *pATR);
14825 HRESULT (WINAPI *GetCurrentSubpictureAttributes)(IDvdInfo *This,DVD_SubpictureATR *pATR);
14826 HRESULT (WINAPI *GetCurrentVolumeInfo)(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
14827 HRESULT (WINAPI *GetDVDTextInfo)(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
14828 HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
14829 HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
14830 HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
14831 HRESULT (WINAPI *GetRoot)(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
14832 END_INTERFACE
14833 } IDvdInfoVtbl;
14834 struct IDvdInfo {
14835 CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
14836 };
14837#ifdef COBJMACROS
14838#define IDvdInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14839#define IDvdInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
14840#define IDvdInfo_Release(This) (This)->lpVtbl->Release(This)
14841#define IDvdInfo_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
14842#define IDvdInfo_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
14843#define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) (This)->lpVtbl->GetTotalTitleTime(This,pulTotalTime)
14844#define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
14845#define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
14846#define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
14847#define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
14848#define IDvdInfo_GetCurrentUOPS(This,pUOP) (This)->lpVtbl->GetCurrentUOPS(This,pUOP)
14849#define IDvdInfo_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
14850#define IDvdInfo_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
14851#define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
14852#define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
14853#define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pATR)
14854#define IDvdInfo_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
14855#define IDvdInfo_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
14856#define IDvdInfo_GetCurrentAudioAttributes(This,pATR) (This)->lpVtbl->GetCurrentAudioAttributes(This,pATR)
14857#define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) (This)->lpVtbl->GetCurrentSubpictureAttributes(This,pATR)
14858#define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) (This)->lpVtbl->GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
14859#define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) (This)->lpVtbl->GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
14860#define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
14861#define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
14862#define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
14863#define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) (This)->lpVtbl->GetRoot(This,pRoot,ulBufSize,pulActualSize)
14864#endif
14865#endif
14866 HRESULT WINAPI IDvdInfo_GetCurrentDomain_Proxy(IDvdInfo *This,DVD_DOMAIN *pDomain);
14867 void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14868 HRESULT WINAPI IDvdInfo_GetCurrentLocation_Proxy(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
14869 void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14870 HRESULT WINAPI IDvdInfo_GetTotalTitleTime_Proxy(IDvdInfo *This,ULONG *pulTotalTime);
14871 void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14872 HRESULT WINAPI IDvdInfo_GetCurrentButton_Proxy(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
14873 void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14874 HRESULT WINAPI IDvdInfo_GetCurrentAngle_Proxy(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
14875 void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14876 HRESULT WINAPI IDvdInfo_GetCurrentAudio_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
14877 void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14878 HRESULT WINAPI IDvdInfo_GetCurrentSubpicture_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
14879 void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14880 HRESULT WINAPI IDvdInfo_GetCurrentUOPS_Proxy(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
14881 void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14882 HRESULT WINAPI IDvdInfo_GetAllSPRMs_Proxy(IDvdInfo *This,SPRMARRAY *pRegisterArray);
14883 void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14884 HRESULT WINAPI IDvdInfo_GetAllGPRMs_Proxy(IDvdInfo *This,GPRMARRAY *pRegisterArray);
14885 void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14886 HRESULT WINAPI IDvdInfo_GetAudioLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
14887 void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14888 HRESULT WINAPI IDvdInfo_GetSubpictureLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
14889 void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14890 HRESULT WINAPI IDvdInfo_GetTitleAttributes_Proxy(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
14891 void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14892 HRESULT WINAPI IDvdInfo_GetVMGAttributes_Proxy(IDvdInfo *This,DVD_ATR *pATR);
14893 void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14894 HRESULT WINAPI IDvdInfo_GetCurrentVideoAttributes_Proxy(IDvdInfo *This,DVD_VideoATR *pATR);
14895 void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14896 HRESULT WINAPI IDvdInfo_GetCurrentAudioAttributes_Proxy(IDvdInfo *This,DVD_AudioATR *pATR);
14897 void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14898 HRESULT WINAPI IDvdInfo_GetCurrentSubpictureAttributes_Proxy(IDvdInfo *This,DVD_SubpictureATR *pATR);
14899 void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14900 HRESULT WINAPI IDvdInfo_GetCurrentVolumeInfo_Proxy(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
14901 void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14902 HRESULT WINAPI IDvdInfo_GetDVDTextInfo_Proxy(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
14903 void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14904 HRESULT WINAPI IDvdInfo_GetPlayerParentalLevel_Proxy(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
14905 void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14906 HRESULT WINAPI IDvdInfo_GetNumberOfChapters_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
14907 void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14908 HRESULT WINAPI IDvdInfo_GetTitleParentalLevels_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
14909 void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14910 HRESULT WINAPI IDvdInfo_GetRoot_Proxy(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
14911 void __RPC_STUB IDvdInfo_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14912#endif
14913
14914#ifndef __IDvdCmd_INTERFACE_DEFINED__
14915#define __IDvdCmd_INTERFACE_DEFINED__
14916 EXTERN_C const IID IID_IDvdCmd;
14917#if defined(__cplusplus) && !defined(CINTERFACE)
14918 struct IDvdCmd : public IUnknown {
14919 public:
14920 virtual HRESULT WINAPI WaitForStart(void) = 0;
14921 virtual HRESULT WINAPI WaitForEnd(void) = 0;
14922 };
14923#else
14924 typedef struct IDvdCmdVtbl {
14925 BEGIN_INTERFACE
14926 HRESULT (WINAPI *QueryInterface)(IDvdCmd *This,REFIID riid,void **ppvObject);
14927 ULONG (WINAPI *AddRef)(IDvdCmd *This);
14928 ULONG (WINAPI *Release)(IDvdCmd *This);
14929 HRESULT (WINAPI *WaitForStart)(IDvdCmd *This);
14930 HRESULT (WINAPI *WaitForEnd)(IDvdCmd *This);
14931 END_INTERFACE
14932 } IDvdCmdVtbl;
14933 struct IDvdCmd {
14934 CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
14935 };
14936#ifdef COBJMACROS
14937#define IDvdCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14938#define IDvdCmd_AddRef(This) (This)->lpVtbl->AddRef(This)
14939#define IDvdCmd_Release(This) (This)->lpVtbl->Release(This)
14940#define IDvdCmd_WaitForStart(This) (This)->lpVtbl->WaitForStart(This)
14941#define IDvdCmd_WaitForEnd(This) (This)->lpVtbl->WaitForEnd(This)
14942#endif
14943#endif
14944 HRESULT WINAPI IDvdCmd_WaitForStart_Proxy(IDvdCmd *This);
14945 void __RPC_STUB IDvdCmd_WaitForStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14946 HRESULT WINAPI IDvdCmd_WaitForEnd_Proxy(IDvdCmd *This);
14947 void __RPC_STUB IDvdCmd_WaitForEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14948#endif
14949
14950#ifndef __IDvdState_INTERFACE_DEFINED__
14951#define __IDvdState_INTERFACE_DEFINED__
14952 EXTERN_C const IID IID_IDvdState;
14953#if defined(__cplusplus) && !defined(CINTERFACE)
14954 struct IDvdState : public IUnknown {
14955 public:
14956 virtual HRESULT WINAPI GetDiscID(ULONGLONG *pullUniqueID) = 0;
14957 virtual HRESULT WINAPI GetParentalLevel(ULONG *pulParentalLevel) = 0;
14958 };
14959#else
14960 typedef struct IDvdStateVtbl {
14961 BEGIN_INTERFACE
14962 HRESULT (WINAPI *QueryInterface)(IDvdState *This,REFIID riid,void **ppvObject);
14963 ULONG (WINAPI *AddRef)(IDvdState *This);
14964 ULONG (WINAPI *Release)(IDvdState *This);
14965 HRESULT (WINAPI *GetDiscID)(IDvdState *This,ULONGLONG *pullUniqueID);
14966 HRESULT (WINAPI *GetParentalLevel)(IDvdState *This,ULONG *pulParentalLevel);
14967 END_INTERFACE
14968 } IDvdStateVtbl;
14969 struct IDvdState {
14970 CONST_VTBL struct IDvdStateVtbl *lpVtbl;
14971 };
14972#ifdef COBJMACROS
14973#define IDvdState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14974#define IDvdState_AddRef(This) (This)->lpVtbl->AddRef(This)
14975#define IDvdState_Release(This) (This)->lpVtbl->Release(This)
14976#define IDvdState_GetDiscID(This,pullUniqueID) (This)->lpVtbl->GetDiscID(This,pullUniqueID)
14977#define IDvdState_GetParentalLevel(This,pulParentalLevel) (This)->lpVtbl->GetParentalLevel(This,pulParentalLevel)
14978#endif
14979#endif
14980 HRESULT WINAPI IDvdState_GetDiscID_Proxy(IDvdState *This,ULONGLONG *pullUniqueID);
14981 void __RPC_STUB IDvdState_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14982 HRESULT WINAPI IDvdState_GetParentalLevel_Proxy(IDvdState *This,ULONG *pulParentalLevel);
14983 void __RPC_STUB IDvdState_GetParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
14984#endif
14985
14986#ifndef __IDvdControl2_INTERFACE_DEFINED__
14987#define __IDvdControl2_INTERFACE_DEFINED__
14988 EXTERN_C const IID IID_IDvdControl2;
14989#if defined(__cplusplus) && !defined(CINTERFACE)
14990 struct IDvdControl2 : public IUnknown {
14991 public:
14992 virtual HRESULT WINAPI PlayTitle(ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
14993 virtual HRESULT WINAPI PlayChapterInTitle(ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
14994 virtual HRESULT WINAPI PlayAtTimeInTitle(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
14995 virtual HRESULT WINAPI Stop(void) = 0;
14996 virtual HRESULT WINAPI ReturnFromSubmenu(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
14997 virtual HRESULT WINAPI PlayAtTime(DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
14998 virtual HRESULT WINAPI PlayChapter(ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
14999 virtual HRESULT WINAPI PlayPrevChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15000 virtual HRESULT WINAPI ReplayChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15001 virtual HRESULT WINAPI PlayNextChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15002 virtual HRESULT WINAPI PlayForwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15003 virtual HRESULT WINAPI PlayBackwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15004 virtual HRESULT WINAPI ShowMenu(DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15005 virtual HRESULT WINAPI Resume(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15006 virtual HRESULT WINAPI SelectRelativeButton(DVD_RELATIVE_BUTTON buttonDir) = 0;
15007 virtual HRESULT WINAPI ActivateButton(void) = 0;
15008 virtual HRESULT WINAPI SelectButton(ULONG ulButton) = 0;
15009 virtual HRESULT WINAPI SelectAndActivateButton(ULONG ulButton) = 0;
15010 virtual HRESULT WINAPI StillOff(void) = 0;
15011 virtual HRESULT WINAPI Pause(WINBOOL bState) = 0;
15012 virtual HRESULT WINAPI SelectAudioStream(ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15013 virtual HRESULT WINAPI SelectSubpictureStream(ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15014 virtual HRESULT WINAPI SetSubpictureState(WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15015 virtual HRESULT WINAPI SelectAngle(ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15016 virtual HRESULT WINAPI SelectParentalLevel(ULONG ulParentalLevel) = 0;
15017 virtual HRESULT WINAPI SelectParentalCountry(BYTE bCountry[2]) = 0;
15018 virtual HRESULT WINAPI SelectKaraokeAudioPresentationMode(ULONG ulMode) = 0;
15019 virtual HRESULT WINAPI SelectVideoModePreference(ULONG ulPreferredDisplayMode) = 0;
15020 virtual HRESULT WINAPI SetDVDDirectory(LPCWSTR pszwPath) = 0;
15021 virtual HRESULT WINAPI ActivateAtPosition(POINT point) = 0;
15022 virtual HRESULT WINAPI SelectAtPosition(POINT point) = 0;
15023 virtual HRESULT WINAPI PlayChaptersAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15024 virtual HRESULT WINAPI AcceptParentalLevelChange(WINBOOL bAccept) = 0;
15025 virtual HRESULT WINAPI SetOption(DVD_OPTION_FLAG flag,WINBOOL fState) = 0;
15026 virtual HRESULT WINAPI SetState(IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15027 virtual HRESULT WINAPI PlayPeriodInTitleAutoStop(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15028 virtual HRESULT WINAPI SetGPRM(ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
15029 virtual HRESULT WINAPI SelectDefaultMenuLanguage(LCID Language) = 0;
15030 virtual HRESULT WINAPI SelectDefaultAudioLanguage(LCID Language,DVD_AUDIO_LANG_EXT audioExtension) = 0;
15031 virtual HRESULT WINAPI SelectDefaultSubpictureLanguage(LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
15032 };
15033#else
15034 typedef struct IDvdControl2Vtbl {
15035 BEGIN_INTERFACE
15036 HRESULT (WINAPI *QueryInterface)(IDvdControl2 *This,REFIID riid,void **ppvObject);
15037 ULONG (WINAPI *AddRef)(IDvdControl2 *This);
15038 ULONG (WINAPI *Release)(IDvdControl2 *This);
15039 HRESULT (WINAPI *PlayTitle)(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
15040 HRESULT (WINAPI *PlayChapterInTitle)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
15041 HRESULT (WINAPI *PlayAtTimeInTitle)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
15042 HRESULT (WINAPI *Stop)(IDvdControl2 *This);
15043 HRESULT (WINAPI *ReturnFromSubmenu)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15044 HRESULT (WINAPI *PlayAtTime)(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
15045 HRESULT (WINAPI *PlayChapter)(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
15046 HRESULT (WINAPI *PlayPrevChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15047 HRESULT (WINAPI *ReplayChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15048 HRESULT (WINAPI *PlayNextChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15049 HRESULT (WINAPI *PlayForwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
15050 HRESULT (WINAPI *PlayBackwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
15051 HRESULT (WINAPI *ShowMenu)(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
15052 HRESULT (WINAPI *Resume)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15053 HRESULT (WINAPI *SelectRelativeButton)(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
15054 HRESULT (WINAPI *ActivateButton)(IDvdControl2 *This);
15055 HRESULT (WINAPI *SelectButton)(IDvdControl2 *This,ULONG ulButton);
15056 HRESULT (WINAPI *SelectAndActivateButton)(IDvdControl2 *This,ULONG ulButton);
15057 HRESULT (WINAPI *StillOff)(IDvdControl2 *This);
15058 HRESULT (WINAPI *Pause)(IDvdControl2 *This,WINBOOL bState);
15059 HRESULT (WINAPI *SelectAudioStream)(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
15060 HRESULT (WINAPI *SelectSubpictureStream)(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
15061 HRESULT (WINAPI *SetSubpictureState)(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
15062 HRESULT (WINAPI *SelectAngle)(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
15063 HRESULT (WINAPI *SelectParentalLevel)(IDvdControl2 *This,ULONG ulParentalLevel);
15064 HRESULT (WINAPI *SelectParentalCountry)(IDvdControl2 *This,BYTE bCountry[2]);
15065 HRESULT (WINAPI *SelectKaraokeAudioPresentationMode)(IDvdControl2 *This,ULONG ulMode);
15066 HRESULT (WINAPI *SelectVideoModePreference)(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
15067 HRESULT (WINAPI *SetDVDDirectory)(IDvdControl2 *This,LPCWSTR pszwPath);
15068 HRESULT (WINAPI *ActivateAtPosition)(IDvdControl2 *This,POINT point);
15069 HRESULT (WINAPI *SelectAtPosition)(IDvdControl2 *This,POINT point);
15070 HRESULT (WINAPI *PlayChaptersAutoStop)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
15071 HRESULT (WINAPI *AcceptParentalLevelChange)(IDvdControl2 *This,WINBOOL bAccept);
15072 HRESULT (WINAPI *SetOption)(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
15073 HRESULT (WINAPI *SetState)(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
15074 HRESULT (WINAPI *PlayPeriodInTitleAutoStop)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
15075 HRESULT (WINAPI *SetGPRM)(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
15076 HRESULT (WINAPI *SelectDefaultMenuLanguage)(IDvdControl2 *This,LCID Language);
15077 HRESULT (WINAPI *SelectDefaultAudioLanguage)(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
15078 HRESULT (WINAPI *SelectDefaultSubpictureLanguage)(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
15079 END_INTERFACE
15080 } IDvdControl2Vtbl;
15081 struct IDvdControl2 {
15082 CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
15083 };
15084#ifdef COBJMACROS
15085#define IDvdControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15086#define IDvdControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
15087#define IDvdControl2_Release(This) (This)->lpVtbl->Release(This)
15088#define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) (This)->lpVtbl->PlayTitle(This,ulTitle,dwFlags,ppCmd)
15089#define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
15090#define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
15091#define IDvdControl2_Stop(This) (This)->lpVtbl->Stop(This)
15092#define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) (This)->lpVtbl->ReturnFromSubmenu(This,dwFlags,ppCmd)
15093#define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTime(This,pTime,dwFlags,ppCmd)
15094#define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapter(This,ulChapter,dwFlags,ppCmd)
15095#define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayPrevChapter(This,dwFlags,ppCmd)
15096#define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) (This)->lpVtbl->ReplayChapter(This,dwFlags,ppCmd)
15097#define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayNextChapter(This,dwFlags,ppCmd)
15098#define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayForwards(This,dSpeed,dwFlags,ppCmd)
15099#define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayBackwards(This,dSpeed,dwFlags,ppCmd)
15100#define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) (This)->lpVtbl->ShowMenu(This,MenuID,dwFlags,ppCmd)
15101#define IDvdControl2_Resume(This,dwFlags,ppCmd) (This)->lpVtbl->Resume(This,dwFlags,ppCmd)
15102#define IDvdControl2_SelectRelativeButton(This,buttonDir) (This)->lpVtbl->SelectRelativeButton(This,buttonDir)
15103#define IDvdControl2_ActivateButton(This) (This)->lpVtbl->ActivateButton(This)
15104#define IDvdControl2_SelectButton(This,ulButton) (This)->lpVtbl->SelectButton(This,ulButton)
15105#define IDvdControl2_SelectAndActivateButton(This,ulButton) (This)->lpVtbl->SelectAndActivateButton(This,ulButton)
15106#define IDvdControl2_StillOff(This) (This)->lpVtbl->StillOff(This)
15107#define IDvdControl2_Pause(This,bState) (This)->lpVtbl->Pause(This,bState)
15108#define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) (This)->lpVtbl->SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
15109#define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) (This)->lpVtbl->SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
15110#define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) (This)->lpVtbl->SetSubpictureState(This,bState,dwFlags,ppCmd)
15111#define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) (This)->lpVtbl->SelectAngle(This,ulAngle,dwFlags,ppCmd)
15112#define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) (This)->lpVtbl->SelectParentalLevel(This,ulParentalLevel)
15113#define IDvdControl2_SelectParentalCountry(This,bCountry) (This)->lpVtbl->SelectParentalCountry(This,bCountry)
15114#define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) (This)->lpVtbl->SelectKaraokeAudioPresentationMode(This,ulMode)
15115#define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) (This)->lpVtbl->SelectVideoModePreference(This,ulPreferredDisplayMode)
15116#define IDvdControl2_SetDVDDirectory(This,pszwPath) (This)->lpVtbl->SetDVDDirectory(This,pszwPath)
15117#define IDvdControl2_ActivateAtPosition(This,point) (This)->lpVtbl->ActivateAtPosition(This,point)
15118#define IDvdControl2_SelectAtPosition(This,point) (This)->lpVtbl->SelectAtPosition(This,point)
15119#define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) (This)->lpVtbl->PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
15120#define IDvdControl2_AcceptParentalLevelChange(This,bAccept) (This)->lpVtbl->AcceptParentalLevelChange(This,bAccept)
15121#define IDvdControl2_SetOption(This,flag,fState) (This)->lpVtbl->SetOption(This,flag,fState)
15122#define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) (This)->lpVtbl->SetState(This,pState,dwFlags,ppCmd)
15123#define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) (This)->lpVtbl->PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
15124#define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) (This)->lpVtbl->SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
15125#define IDvdControl2_SelectDefaultMenuLanguage(This,Language) (This)->lpVtbl->SelectDefaultMenuLanguage(This,Language)
15126#define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) (This)->lpVtbl->SelectDefaultAudioLanguage(This,Language,audioExtension)
15127#define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) (This)->lpVtbl->SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
15128#endif
15129#endif
15130 HRESULT WINAPI IDvdControl2_PlayTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
15131 void __RPC_STUB IDvdControl2_PlayTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15132 HRESULT WINAPI IDvdControl2_PlayChapterInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
15133 void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15134 HRESULT WINAPI IDvdControl2_PlayAtTimeInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
15135 void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15136 HRESULT WINAPI IDvdControl2_Stop_Proxy(IDvdControl2 *This);
15137 void __RPC_STUB IDvdControl2_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15138 HRESULT WINAPI IDvdControl2_ReturnFromSubmenu_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15139 void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15140 HRESULT WINAPI IDvdControl2_PlayAtTime_Proxy(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
15141 void __RPC_STUB IDvdControl2_PlayAtTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15142 HRESULT WINAPI IDvdControl2_PlayChapter_Proxy(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
15143 void __RPC_STUB IDvdControl2_PlayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15144 HRESULT WINAPI IDvdControl2_PlayPrevChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15145 void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15146 HRESULT WINAPI IDvdControl2_ReplayChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15147 void __RPC_STUB IDvdControl2_ReplayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15148 HRESULT WINAPI IDvdControl2_PlayNextChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15149 void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15150 HRESULT WINAPI IDvdControl2_PlayForwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
15151 void __RPC_STUB IDvdControl2_PlayForwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15152 HRESULT WINAPI IDvdControl2_PlayBackwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
15153 void __RPC_STUB IDvdControl2_PlayBackwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15154 HRESULT WINAPI IDvdControl2_ShowMenu_Proxy(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
15155 void __RPC_STUB IDvdControl2_ShowMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15156 HRESULT WINAPI IDvdControl2_Resume_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
15157 void __RPC_STUB IDvdControl2_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15158 HRESULT WINAPI IDvdControl2_SelectRelativeButton_Proxy(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
15159 void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15160 HRESULT WINAPI IDvdControl2_ActivateButton_Proxy(IDvdControl2 *This);
15161 void __RPC_STUB IDvdControl2_ActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15162 HRESULT WINAPI IDvdControl2_SelectButton_Proxy(IDvdControl2 *This,ULONG ulButton);
15163 void __RPC_STUB IDvdControl2_SelectButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15164 HRESULT WINAPI IDvdControl2_SelectAndActivateButton_Proxy(IDvdControl2 *This,ULONG ulButton);
15165 void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15166 HRESULT WINAPI IDvdControl2_StillOff_Proxy(IDvdControl2 *This);
15167 void __RPC_STUB IDvdControl2_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15168 HRESULT WINAPI IDvdControl2_Pause_Proxy(IDvdControl2 *This,WINBOOL bState);
15169 void __RPC_STUB IDvdControl2_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15170 HRESULT WINAPI IDvdControl2_SelectAudioStream_Proxy(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
15171 void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15172 HRESULT WINAPI IDvdControl2_SelectSubpictureStream_Proxy(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
15173 void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15174 HRESULT WINAPI IDvdControl2_SetSubpictureState_Proxy(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
15175 void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15176 HRESULT WINAPI IDvdControl2_SelectAngle_Proxy(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
15177 void __RPC_STUB IDvdControl2_SelectAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15178 HRESULT WINAPI IDvdControl2_SelectParentalLevel_Proxy(IDvdControl2 *This,ULONG ulParentalLevel);
15179 void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15180 HRESULT WINAPI IDvdControl2_SelectParentalCountry_Proxy(IDvdControl2 *This,BYTE bCountry[2]);
15181 void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15182 HRESULT WINAPI IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(IDvdControl2 *This,ULONG ulMode);
15183 void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15184 HRESULT WINAPI IDvdControl2_SelectVideoModePreference_Proxy(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
15185 void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15186 HRESULT WINAPI IDvdControl2_SetDVDDirectory_Proxy(IDvdControl2 *This,LPCWSTR pszwPath);
15187 void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15188 HRESULT WINAPI IDvdControl2_ActivateAtPosition_Proxy(IDvdControl2 *This,POINT point);
15189 void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15190 HRESULT WINAPI IDvdControl2_SelectAtPosition_Proxy(IDvdControl2 *This,POINT point);
15191 void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15192 HRESULT WINAPI IDvdControl2_PlayChaptersAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
15193 void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15194 HRESULT WINAPI IDvdControl2_AcceptParentalLevelChange_Proxy(IDvdControl2 *This,WINBOOL bAccept);
15195 void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15196 HRESULT WINAPI IDvdControl2_SetOption_Proxy(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
15197 void __RPC_STUB IDvdControl2_SetOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15198 HRESULT WINAPI IDvdControl2_SetState_Proxy(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
15199 void __RPC_STUB IDvdControl2_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15200 HRESULT WINAPI IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
15201 void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15202 HRESULT WINAPI IDvdControl2_SetGPRM_Proxy(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
15203 void __RPC_STUB IDvdControl2_SetGPRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15204 HRESULT WINAPI IDvdControl2_SelectDefaultMenuLanguage_Proxy(IDvdControl2 *This,LCID Language);
15205 void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15206 HRESULT WINAPI IDvdControl2_SelectDefaultAudioLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
15207 void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15208 HRESULT WINAPI IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
15209 void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15210#endif
15211
15212 enum DVD_TextStringType {
15213 DVD_Struct_Volume = 0x1,DVD_Struct_Title = 0x2,DVD_Struct_ParentalID = 0x3,DVD_Struct_PartOfTitle = 0x4,DVD_Struct_Cell = 0x5,
15214 DVD_Stream_Audio = 0x10,DVD_Stream_Subpicture = 0x11,DVD_Stream_Angle = 0x12,DVD_Channel_Audio = 0x20,DVD_General_Name = 0x30,
15215 DVD_General_Comments = 0x31,DVD_Title_Series = 0x38,DVD_Title_Movie = 0x39,DVD_Title_Video = 0x3a,DVD_Title_Album = 0x3b,DVD_Title_Song = 0x3c,
15216 DVD_Title_Other = 0x3f,DVD_Title_Sub_Series = 0x40,DVD_Title_Sub_Movie = 0x41,DVD_Title_Sub_Video = 0x42,DVD_Title_Sub_Album = 0x43,
15217 DVD_Title_Sub_Song = 0x44,DVD_Title_Sub_Other = 0x47,DVD_Title_Orig_Series = 0x48,DVD_Title_Orig_Movie = 0x49,DVD_Title_Orig_Video = 0x4a,
15218 DVD_Title_Orig_Album = 0x4b,DVD_Title_Orig_Song = 0x4c,DVD_Title_Orig_Other = 0x4f,DVD_Other_Scene = 0x50,DVD_Other_Cut = 0x51,DVD_Other_Take = 0x52
15219 };
15220
15221 enum DVD_TextCharSet {
15222 DVD_CharSet_Unicode = 0,DVD_CharSet_ISO646 = 1,DVD_CharSet_JIS_Roman_Kanji = 2,DVD_CharSet_ISO8859_1 = 3,
15223 DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
15224 };
15225#define DVD_TITLE_MENU 0x000
15226#define DVD_STREAM_DATA_CURRENT 0x800
15227#define DVD_STREAM_DATA_VMGM 0x400
15228#define DVD_STREAM_DATA_VTSM 0x401
15229#define DVD_DEFAULT_AUDIO_STREAM 0x0f
15230
15231 typedef struct tagDVD_DECODER_CAPS {
15232 DWORD dwSize;
15233 DWORD dwAudioCaps;
15234 double dFwdMaxRateVideo;
15235 double dFwdMaxRateAudio;
15236 double dFwdMaxRateSP;
15237 double dBwdMaxRateVideo;
15238 double dBwdMaxRateAudio;
15239 double dBwdMaxRateSP;
15240 DWORD dwRes1;
15241 DWORD dwRes2;
15242 DWORD dwRes3;
15243 DWORD dwRes4;
15244 } DVD_DECODER_CAPS;
15245
15246#define DVD_AUDIO_CAPS_AC3 0x00000001
15247#define DVD_AUDIO_CAPS_MPEG2 0x00000002
15248#define DVD_AUDIO_CAPS_LPCM 0x00000004
15249#define DVD_AUDIO_CAPS_DTS 0x00000008
15250#define DVD_AUDIO_CAPS_SDDS 0x00000010
15251
15252 extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
15253 extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
15254#ifndef __IDvdInfo2_INTERFACE_DEFINED__
15255#define __IDvdInfo2_INTERFACE_DEFINED__
15256 EXTERN_C const IID IID_IDvdInfo2;
15257#if defined(__cplusplus) && !defined(CINTERFACE)
15258 struct IDvdInfo2 : public IUnknown {
15259 public:
15260 virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
15261 virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
15262 virtual HRESULT WINAPI GetTotalTitleTime(DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags) = 0;
15263 virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
15264 virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
15265 virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
15266 virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled) = 0;
15267 virtual HRESULT WINAPI GetCurrentUOPS(ULONG *pulUOPs) = 0;
15268 virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
15269 virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
15270 virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
15271 virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
15272 virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle) = 0;
15273 virtual HRESULT WINAPI GetVMGAttributes(DVD_MenuAttributes *pATR) = 0;
15274 virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoAttributes *pATR) = 0;
15275 virtual HRESULT WINAPI GetAudioAttributes(ULONG ulStream,DVD_AudioAttributes *pATR) = 0;
15276 virtual HRESULT WINAPI GetKaraokeAttributes(ULONG ulStream,DVD_KaraokeAttributes *pAttributes) = 0;
15277 virtual HRESULT WINAPI GetSubpictureAttributes(ULONG ulStream,DVD_SubpictureAttributes *pATR) = 0;
15278 virtual HRESULT WINAPI GetDVDVolumeInfo(ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
15279 virtual HRESULT WINAPI GetDVDTextNumberOfLanguages(ULONG *pulNumOfLangs) = 0;
15280 virtual HRESULT WINAPI GetDVDTextLanguageInfo(ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet) = 0;
15281 virtual HRESULT WINAPI GetDVDTextStringAsNative(ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
15282 virtual HRESULT WINAPI GetDVDTextStringAsUnicode(ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
15283 virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,BYTE pbCountryCode[2]) = 0;
15284 virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumOfChapters) = 0;
15285 virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
15286 virtual HRESULT WINAPI GetDVDDirectory(LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize) = 0;
15287 virtual HRESULT WINAPI IsAudioStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
15288 virtual HRESULT WINAPI GetDiscID(LPCWSTR pszwPath,ULONGLONG *pullDiscID) = 0;
15289 virtual HRESULT WINAPI GetState(IDvdState **pStateData) = 0;
15290 virtual HRESULT WINAPI GetMenuLanguages(LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages) = 0;
15291 virtual HRESULT WINAPI GetButtonAtPosition(POINT point,ULONG *pulButtonIndex) = 0;
15292 virtual HRESULT WINAPI GetCmdFromEvent(LONG_PTR lParam1,IDvdCmd **pCmdObj) = 0;
15293 virtual HRESULT WINAPI GetDefaultMenuLanguage(LCID *pLanguage) = 0;
15294 virtual HRESULT WINAPI GetDefaultAudioLanguage(LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
15295 virtual HRESULT WINAPI GetDefaultSubpictureLanguage(LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
15296 virtual HRESULT WINAPI GetDecoderCaps(DVD_DECODER_CAPS *pCaps) = 0;
15297 virtual HRESULT WINAPI GetButtonRect(ULONG ulButton,RECT *pRect) = 0;
15298 virtual HRESULT WINAPI IsSubpictureStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
15299 };
15300#else
15301 typedef struct IDvdInfo2Vtbl {
15302 BEGIN_INTERFACE
15303 HRESULT (WINAPI *QueryInterface)(IDvdInfo2 *This,REFIID riid,void **ppvObject);
15304 ULONG (WINAPI *AddRef)(IDvdInfo2 *This);
15305 ULONG (WINAPI *Release)(IDvdInfo2 *This);
15306 HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
15307 HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
15308 HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
15309 HRESULT (WINAPI *GetCurrentButton)(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
15310 HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
15311 HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
15312 HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
15313 HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo2 *This,ULONG *pulUOPs);
15314 HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
15315 HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
15316 HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
15317 HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
15318 HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
15319 HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
15320 HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
15321 HRESULT (WINAPI *GetAudioAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
15322 HRESULT (WINAPI *GetKaraokeAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
15323 HRESULT (WINAPI *GetSubpictureAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
15324 HRESULT (WINAPI *GetDVDVolumeInfo)(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
15325 HRESULT (WINAPI *GetDVDTextNumberOfLanguages)(IDvdInfo2 *This,ULONG *pulNumOfLangs);
15326 HRESULT (WINAPI *GetDVDTextLanguageInfo)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
15327 HRESULT (WINAPI *GetDVDTextStringAsNative)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
15328 HRESULT (WINAPI *GetDVDTextStringAsUnicode)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
15329 HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
15330 HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
15331 HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
15332 HRESULT (WINAPI *GetDVDDirectory)(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
15333 HRESULT (WINAPI *IsAudioStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
15334 HRESULT (WINAPI *GetDiscID)(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
15335 HRESULT (WINAPI *GetState)(IDvdInfo2 *This,IDvdState **pStateData);
15336 HRESULT (WINAPI *GetMenuLanguages)(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
15337 HRESULT (WINAPI *GetButtonAtPosition)(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
15338 HRESULT (WINAPI *GetCmdFromEvent)(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
15339 HRESULT (WINAPI *GetDefaultMenuLanguage)(IDvdInfo2 *This,LCID *pLanguage);
15340 HRESULT (WINAPI *GetDefaultAudioLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
15341 HRESULT (WINAPI *GetDefaultSubpictureLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
15342 HRESULT (WINAPI *GetDecoderCaps)(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
15343 HRESULT (WINAPI *GetButtonRect)(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
15344 HRESULT (WINAPI *IsSubpictureStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
15345 END_INTERFACE
15346 } IDvdInfo2Vtbl;
15347 struct IDvdInfo2 {
15348 CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
15349 };
15350#ifdef COBJMACROS
15351#define IDvdInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15352#define IDvdInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
15353#define IDvdInfo2_Release(This) (This)->lpVtbl->Release(This)
15354#define IDvdInfo2_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
15355#define IDvdInfo2_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
15356#define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) (This)->lpVtbl->GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
15357#define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
15358#define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
15359#define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
15360#define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
15361#define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) (This)->lpVtbl->GetCurrentUOPS(This,pulUOPs)
15362#define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
15363#define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
15364#define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
15365#define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
15366#define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pMenu,pTitle)
15367#define IDvdInfo2_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
15368#define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
15369#define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) (This)->lpVtbl->GetAudioAttributes(This,ulStream,pATR)
15370#define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) (This)->lpVtbl->GetKaraokeAttributes(This,ulStream,pAttributes)
15371#define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) (This)->lpVtbl->GetSubpictureAttributes(This,ulStream,pATR)
15372#define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) (This)->lpVtbl->GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
15373#define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) (This)->lpVtbl->GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
15374#define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) (This)->lpVtbl->GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
15375#define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
15376#define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
15377#define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
15378#define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
15379#define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
15380#define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) (This)->lpVtbl->GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
15381#define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
15382#define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) (This)->lpVtbl->GetDiscID(This,pszwPath,pullDiscID)
15383#define IDvdInfo2_GetState(This,pStateData) (This)->lpVtbl->GetState(This,pStateData)
15384#define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) (This)->lpVtbl->GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
15385#define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) (This)->lpVtbl->GetButtonAtPosition(This,point,pulButtonIndex)
15386#define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) (This)->lpVtbl->GetCmdFromEvent(This,lParam1,pCmdObj)
15387#define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) (This)->lpVtbl->GetDefaultMenuLanguage(This,pLanguage)
15388#define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) (This)->lpVtbl->GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
15389#define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) (This)->lpVtbl->GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
15390#define IDvdInfo2_GetDecoderCaps(This,pCaps) (This)->lpVtbl->GetDecoderCaps(This,pCaps)
15391#define IDvdInfo2_GetButtonRect(This,ulButton,pRect) (This)->lpVtbl->GetButtonRect(This,ulButton,pRect)
15392#define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
15393#endif
15394#endif
15395 HRESULT WINAPI IDvdInfo2_GetCurrentDomain_Proxy(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
15396 void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15397 HRESULT WINAPI IDvdInfo2_GetCurrentLocation_Proxy(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
15398 void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15399 HRESULT WINAPI IDvdInfo2_GetTotalTitleTime_Proxy(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
15400 void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15401 HRESULT WINAPI IDvdInfo2_GetCurrentButton_Proxy(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
15402 void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15403 HRESULT WINAPI IDvdInfo2_GetCurrentAngle_Proxy(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
15404 void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15405 HRESULT WINAPI IDvdInfo2_GetCurrentAudio_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
15406 void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15407 HRESULT WINAPI IDvdInfo2_GetCurrentSubpicture_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
15408 void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15409 HRESULT WINAPI IDvdInfo2_GetCurrentUOPS_Proxy(IDvdInfo2 *This,ULONG *pulUOPs);
15410 void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15411 HRESULT WINAPI IDvdInfo2_GetAllSPRMs_Proxy(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
15412 void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15413 HRESULT WINAPI IDvdInfo2_GetAllGPRMs_Proxy(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
15414 void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15415 HRESULT WINAPI IDvdInfo2_GetAudioLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
15416 void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15417 HRESULT WINAPI IDvdInfo2_GetSubpictureLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
15418 void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15419 HRESULT WINAPI IDvdInfo2_GetTitleAttributes_Proxy(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
15420 void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15421 HRESULT WINAPI IDvdInfo2_GetVMGAttributes_Proxy(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
15422 void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15423 HRESULT WINAPI IDvdInfo2_GetCurrentVideoAttributes_Proxy(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
15424 void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15425 HRESULT WINAPI IDvdInfo2_GetAudioAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
15426 void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15427 HRESULT WINAPI IDvdInfo2_GetKaraokeAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
15428 void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15429 HRESULT WINAPI IDvdInfo2_GetSubpictureAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
15430 void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15431 HRESULT WINAPI IDvdInfo2_GetDVDVolumeInfo_Proxy(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
15432 void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15433 HRESULT WINAPI IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(IDvdInfo2 *This,ULONG *pulNumOfLangs);
15434 void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15435 HRESULT WINAPI IDvdInfo2_GetDVDTextLanguageInfo_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
15436 void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15437 HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsNative_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
15438 void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15439 HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
15440 void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15441 HRESULT WINAPI IDvdInfo2_GetPlayerParentalLevel_Proxy(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
15442 void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15443 HRESULT WINAPI IDvdInfo2_GetNumberOfChapters_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
15444 void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15445 HRESULT WINAPI IDvdInfo2_GetTitleParentalLevels_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
15446 void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15447 HRESULT WINAPI IDvdInfo2_GetDVDDirectory_Proxy(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
15448 void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15449 HRESULT WINAPI IDvdInfo2_IsAudioStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
15450 void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15451 HRESULT WINAPI IDvdInfo2_GetDiscID_Proxy(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
15452 void __RPC_STUB IDvdInfo2_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15453 HRESULT WINAPI IDvdInfo2_GetState_Proxy(IDvdInfo2 *This,IDvdState **pStateData);
15454 void __RPC_STUB IDvdInfo2_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15455 HRESULT WINAPI IDvdInfo2_GetMenuLanguages_Proxy(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
15456 void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15457 HRESULT WINAPI IDvdInfo2_GetButtonAtPosition_Proxy(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
15458 void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15459 HRESULT WINAPI IDvdInfo2_GetCmdFromEvent_Proxy(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
15460 void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15461 HRESULT WINAPI IDvdInfo2_GetDefaultMenuLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage);
15462 void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15463 HRESULT WINAPI IDvdInfo2_GetDefaultAudioLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
15464 void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15465 HRESULT WINAPI IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
15466 void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15467 HRESULT WINAPI IDvdInfo2_GetDecoderCaps_Proxy(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
15468 void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15469 HRESULT WINAPI IDvdInfo2_GetButtonRect_Proxy(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
15470 void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15471 HRESULT WINAPI IDvdInfo2_IsSubpictureStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
15472 void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15473#endif
15474
15475 typedef enum _AM_DVD_GRAPH_FLAGS {
15476 AM_DVD_HWDEC_PREFER = 0x1,AM_DVD_HWDEC_ONLY = 0x2,AM_DVD_SWDEC_PREFER = 0x4,AM_DVD_SWDEC_ONLY = 0x8,AM_DVD_NOVPE = 0x100,
15477 AM_DVD_VMR9_ONLY = 0x800
15478 } AM_DVD_GRAPH_FLAGS;
15479
15480 typedef enum _AM_DVD_STREAM_FLAGS {
15481 AM_DVD_STREAM_VIDEO = 0x1,AM_DVD_STREAM_AUDIO = 0x2,AM_DVD_STREAM_SUBPIC = 0x4
15482 } AM_DVD_STREAM_FLAGS;
15483
15484 typedef struct __MIDL___MIDL_itf_strmif_0389_0001 {
15485 HRESULT hrVPEStatus;
15486 WINBOOL bDvdVolInvalid;
15487 WINBOOL bDvdVolUnknown;
15488 WINBOOL bNoLine21In;
15489 WINBOOL bNoLine21Out;
15490 int iNumStreams;
15491 int iNumStreamsFailed;
15492 DWORD dwFailedStreamsFlag;
15493 } AM_DVD_RENDERSTATUS;
15494
15495 extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec;
15496 extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec;
15497#ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
15498#define __IDvdGraphBuilder_INTERFACE_DEFINED__
15499 EXTERN_C const IID IID_IDvdGraphBuilder;
15500#if defined(__cplusplus) && !defined(CINTERFACE)
15501 struct IDvdGraphBuilder : public IUnknown {
15502 public:
15503 virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppGB) = 0;
15504 virtual HRESULT WINAPI GetDvdInterface(REFIID riid,void **ppvIF) = 0;
15505 virtual HRESULT WINAPI RenderDvdVideoVolume(LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus) = 0;
15506 };
15507#else
15508 typedef struct IDvdGraphBuilderVtbl {
15509 BEGIN_INTERFACE
15510 HRESULT (WINAPI *QueryInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvObject);
15511 ULONG (WINAPI *AddRef)(IDvdGraphBuilder *This);
15512 ULONG (WINAPI *Release)(IDvdGraphBuilder *This);
15513 HRESULT (WINAPI *GetFiltergraph)(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
15514 HRESULT (WINAPI *GetDvdInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
15515 HRESULT (WINAPI *RenderDvdVideoVolume)(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
15516 END_INTERFACE
15517 } IDvdGraphBuilderVtbl;
15518 struct IDvdGraphBuilder {
15519 CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
15520 };
15521#ifdef COBJMACROS
15522#define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15523#define IDvdGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
15524#define IDvdGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
15525#define IDvdGraphBuilder_GetFiltergraph(This,ppGB) (This)->lpVtbl->GetFiltergraph(This,ppGB)
15526#define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) (This)->lpVtbl->GetDvdInterface(This,riid,ppvIF)
15527#define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) (This)->lpVtbl->RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
15528#endif
15529#endif
15530 HRESULT WINAPI IDvdGraphBuilder_GetFiltergraph_Proxy(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
15531 void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15532 HRESULT WINAPI IDvdGraphBuilder_GetDvdInterface_Proxy(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
15533 void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15534 HRESULT WINAPI IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
15535 void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15536#endif
15537
15538#ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
15539#define __IDDrawExclModeVideo_INTERFACE_DEFINED__
15540 EXTERN_C const IID IID_IDDrawExclModeVideo;
15541#if defined(__cplusplus) && !defined(CINTERFACE)
15542 struct IDDrawExclModeVideo : public IUnknown {
15543 public:
15544 virtual HRESULT WINAPI SetDDrawObject(IDirectDraw *pDDrawObject) = 0;
15545 virtual HRESULT WINAPI GetDDrawObject(IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal) = 0;
15546 virtual HRESULT WINAPI SetDDrawSurface(IDirectDrawSurface *pDDrawSurface) = 0;
15547 virtual HRESULT WINAPI GetDDrawSurface(IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal) = 0;
15548 virtual HRESULT WINAPI SetDrawParameters(const RECT *prcSource,const RECT *prcTarget) = 0;
15549 virtual HRESULT WINAPI GetNativeVideoProps(DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY) = 0;
15550 virtual HRESULT WINAPI SetCallbackInterface(IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags) = 0;
15551 };
15552#else
15553 typedef struct IDDrawExclModeVideoVtbl {
15554 BEGIN_INTERFACE
15555 HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideo *This,REFIID riid,void **ppvObject);
15556 ULONG (WINAPI *AddRef)(IDDrawExclModeVideo *This);
15557 ULONG (WINAPI *Release)(IDDrawExclModeVideo *This);
15558 HRESULT (WINAPI *SetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
15559 HRESULT (WINAPI *GetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
15560 HRESULT (WINAPI *SetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
15561 HRESULT (WINAPI *GetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
15562 HRESULT (WINAPI *SetDrawParameters)(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
15563 HRESULT (WINAPI *GetNativeVideoProps)(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
15564 HRESULT (WINAPI *SetCallbackInterface)(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
15565 END_INTERFACE
15566 } IDDrawExclModeVideoVtbl;
15567 struct IDDrawExclModeVideo {
15568 CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
15569 };
15570#ifdef COBJMACROS
15571#define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15572#define IDDrawExclModeVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
15573#define IDDrawExclModeVideo_Release(This) (This)->lpVtbl->Release(This)
15574#define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) (This)->lpVtbl->SetDDrawObject(This,pDDrawObject)
15575#define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) (This)->lpVtbl->GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
15576#define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) (This)->lpVtbl->SetDDrawSurface(This,pDDrawSurface)
15577#define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) (This)->lpVtbl->GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
15578#define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) (This)->lpVtbl->SetDrawParameters(This,prcSource,prcTarget)
15579#define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) (This)->lpVtbl->GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
15580#define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) (This)->lpVtbl->SetCallbackInterface(This,pCallback,dwFlags)
15581#endif
15582#endif
15583 HRESULT WINAPI IDDrawExclModeVideo_SetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
15584 void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15585 HRESULT WINAPI IDDrawExclModeVideo_GetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
15586 void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15587 HRESULT WINAPI IDDrawExclModeVideo_SetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
15588 void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15589 HRESULT WINAPI IDDrawExclModeVideo_GetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
15590 void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15591 HRESULT WINAPI IDDrawExclModeVideo_SetDrawParameters_Proxy(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
15592 void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15593 HRESULT WINAPI IDDrawExclModeVideo_GetNativeVideoProps_Proxy(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
15594 void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15595 HRESULT WINAPI IDDrawExclModeVideo_SetCallbackInterface_Proxy(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
15596 void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15597#endif
15598
15599 enum _AM_OVERLAY_NOTIFY_FLAGS {
15600 AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4
15601 };
15602
15603 extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
15604 extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
15605#ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
15606#define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
15607 EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
15608#if defined(__cplusplus) && !defined(CINTERFACE)
15609 struct IDDrawExclModeVideoCallback : public IUnknown {
15610 public:
15611 virtual HRESULT WINAPI OnUpdateOverlay(WINBOOL bBefore,DWORD dwFlags,WINBOOL bOldVisible,const RECT *prcOldSrc,const RECT *prcOldDest,WINBOOL bNewVisible,const RECT *prcNewSrc,const RECT *prcNewDest) = 0;
15612 virtual HRESULT WINAPI OnUpdateColorKey(const COLORKEY *pKey,DWORD dwColor) = 0;
15613 virtual HRESULT WINAPI OnUpdateSize(DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight) = 0;
15614 };
15615#else
15616 typedef struct IDDrawExclModeVideoCallbackVtbl {
15617 BEGIN_INTERFACE
15618 HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideoCallback *This,REFIID riid,void **ppvObject);
15619 ULONG (WINAPI *AddRef)(IDDrawExclModeVideoCallback *This);
15620 ULONG (WINAPI *Release)(IDDrawExclModeVideoCallback *This);
15621 HRESULT (WINAPI *OnUpdateOverlay)(IDDrawExclModeVideoCallback *This,WINBOOL bBefore,DWORD dwFlags,WINBOOL bOldVisible,const RECT *prcOldSrc,const RECT *prcOldDest,WINBOOL bNewVisible,const RECT *prcNewSrc,const RECT *prcNewDest);
15622 HRESULT (WINAPI *OnUpdateColorKey)(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
15623 HRESULT (WINAPI *OnUpdateSize)(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
15624 END_INTERFACE
15625 } IDDrawExclModeVideoCallbackVtbl;
15626 struct IDDrawExclModeVideoCallback {
15627 CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
15628 };
15629#ifdef COBJMACROS
15630#define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15631#define IDDrawExclModeVideoCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
15632#define IDDrawExclModeVideoCallback_Release(This) (This)->lpVtbl->Release(This)
15633#define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) (This)->lpVtbl->OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
15634#define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) (This)->lpVtbl->OnUpdateColorKey(This,pKey,dwColor)
15635#define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) (This)->lpVtbl->OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
15636#endif
15637#endif
15638 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy(IDDrawExclModeVideoCallback *This,WINBOOL bBefore,DWORD dwFlags,WINBOOL bOldVisible,const RECT *prcOldSrc,const RECT *prcOldDest,WINBOOL bNewVisible,const RECT *prcNewSrc,const RECT *prcNewDest);
15639 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15640 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
15641 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15642 HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
15643 void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15644#endif
15645
15646 typedef enum __MIDL___MIDL_itf_strmif_0397_0002 {
15647 VMRSample_SyncPoint = 0x1,VMRSample_Preroll = 0x2,VMRSample_Discontinuity = 0x4,VMRSample_TimeValid = 0x8,VMRSample_SrcDstRectsValid = 0x10
15648 } VMRPresentationFlags;
15649
15650 typedef struct tagVMRPRESENTATIONINFO {
15651 DWORD dwFlags;
15652 LPDIRECTDRAWSURFACE7 lpSurf;
15653 REFERENCE_TIME rtStart;
15654 REFERENCE_TIME rtEnd;
15655 SIZE szAspectRatio;
15656 RECT rcSrc;
15657 RECT rcDst;
15658 DWORD dwTypeSpecificFlags;
15659 DWORD dwInterlaceFlags;
15660 } VMRPRESENTATIONINFO;
15661
15662 extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec;
15663 extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec;
15664#ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
15665#define __IVMRImagePresenter_INTERFACE_DEFINED__
15666 EXTERN_C const IID IID_IVMRImagePresenter;
15667#if defined(__cplusplus) && !defined(CINTERFACE)
15668 struct IVMRImagePresenter : public IUnknown {
15669 public:
15670 virtual HRESULT WINAPI StartPresenting(DWORD_PTR dwUserID) = 0;
15671 virtual HRESULT WINAPI StopPresenting(DWORD_PTR dwUserID) = 0;
15672 virtual HRESULT WINAPI PresentImage(DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo) = 0;
15673 };
15674#else
15675 typedef struct IVMRImagePresenterVtbl {
15676 BEGIN_INTERFACE
15677 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenter *This,REFIID riid,void **ppvObject);
15678 ULONG (WINAPI *AddRef)(IVMRImagePresenter *This);
15679 ULONG (WINAPI *Release)(IVMRImagePresenter *This);
15680 HRESULT (WINAPI *StartPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
15681 HRESULT (WINAPI *StopPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
15682 HRESULT (WINAPI *PresentImage)(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
15683 END_INTERFACE
15684 } IVMRImagePresenterVtbl;
15685 struct IVMRImagePresenter {
15686 CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
15687 };
15688#ifdef COBJMACROS
15689#define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15690#define IVMRImagePresenter_AddRef(This) (This)->lpVtbl->AddRef(This)
15691#define IVMRImagePresenter_Release(This) (This)->lpVtbl->Release(This)
15692#define IVMRImagePresenter_StartPresenting(This,dwUserID) (This)->lpVtbl->StartPresenting(This,dwUserID)
15693#define IVMRImagePresenter_StopPresenting(This,dwUserID) (This)->lpVtbl->StopPresenting(This,dwUserID)
15694#define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) (This)->lpVtbl->PresentImage(This,dwUserID,lpPresInfo)
15695#endif
15696#endif
15697 HRESULT WINAPI IVMRImagePresenter_StartPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
15698 void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15699 HRESULT WINAPI IVMRImagePresenter_StopPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
15700 void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15701 HRESULT WINAPI IVMRImagePresenter_PresentImage_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
15702 void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15703#endif
15704
15705 typedef enum __MIDL___MIDL_itf_strmif_0398_0001 {
15706 AMAP_PIXELFORMAT_VALID = 0x1,AMAP_3D_TARGET = 0x2,AMAP_ALLOW_SYSMEM = 0x4,AMAP_FORCE_SYSMEM = 0x8,AMAP_DIRECTED_FLIP = 0x10,AMAP_DXVA_TARGET = 0x20
15707 } VMRSurfaceAllocationFlags;
15708
15709 typedef struct tagVMRALLOCATIONINFO {
15710 DWORD dwFlags;
15711 LPBITMAPINFOHEADER lpHdr;
15712 LPDDPIXELFORMAT lpPixFmt;
15713 SIZE szAspectRatio;
15714 DWORD dwMinBuffers;
15715 DWORD dwMaxBuffers;
15716 DWORD dwInterlaceFlags;
15717 SIZE szNativeSize;
15718 } VMRALLOCATIONINFO;
15719
15720 extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec;
15721 extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec;
15722#ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
15723#define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
15724 EXTERN_C const IID IID_IVMRSurfaceAllocator;
15725#if defined(__cplusplus) && !defined(CINTERFACE)
15726 struct IVMRSurfaceAllocator : public IUnknown {
15727 public:
15728 virtual HRESULT WINAPI AllocateSurface(DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
15729 virtual HRESULT WINAPI FreeSurface(DWORD_PTR dwID) = 0;
15730 virtual HRESULT WINAPI PrepareSurface(DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags) = 0;
15731 virtual HRESULT WINAPI AdviseNotify(IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
15732 };
15733#else
15734 typedef struct IVMRSurfaceAllocatorVtbl {
15735 BEGIN_INTERFACE
15736 HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocator *This,REFIID riid,void **ppvObject);
15737 ULONG (WINAPI *AddRef)(IVMRSurfaceAllocator *This);
15738 ULONG (WINAPI *Release)(IVMRSurfaceAllocator *This);
15739 HRESULT (WINAPI *AllocateSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
15740 HRESULT (WINAPI *FreeSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
15741 HRESULT (WINAPI *PrepareSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
15742 HRESULT (WINAPI *AdviseNotify)(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
15743 END_INTERFACE
15744 } IVMRSurfaceAllocatorVtbl;
15745 struct IVMRSurfaceAllocator {
15746 CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
15747 };
15748#ifdef COBJMACROS
15749#define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15750#define IVMRSurfaceAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
15751#define IVMRSurfaceAllocator_Release(This) (This)->lpVtbl->Release(This)
15752#define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) (This)->lpVtbl->AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
15753#define IVMRSurfaceAllocator_FreeSurface(This,dwID) (This)->lpVtbl->FreeSurface(This,dwID)
15754#define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) (This)->lpVtbl->PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
15755#define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) (This)->lpVtbl->AdviseNotify(This,lpIVMRSurfAllocNotify)
15756#endif
15757#endif
15758 HRESULT WINAPI IVMRSurfaceAllocator_AllocateSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
15759 void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15760 HRESULT WINAPI IVMRSurfaceAllocator_FreeSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
15761 void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15762 HRESULT WINAPI IVMRSurfaceAllocator_PrepareSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
15763 void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15764 HRESULT WINAPI IVMRSurfaceAllocator_AdviseNotify_Proxy(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
15765 void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15766#endif
15767
15768#ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
15769#define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
15770 EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
15771#if defined(__cplusplus) && !defined(CINTERFACE)
15772 struct IVMRSurfaceAllocatorNotify : public IUnknown {
15773 public:
15774 virtual HRESULT WINAPI AdviseSurfaceAllocator(DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
15775 virtual HRESULT WINAPI SetDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
15776 virtual HRESULT WINAPI ChangeDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
15777 virtual HRESULT WINAPI RestoreDDrawSurfaces(void) = 0;
15778 virtual HRESULT WINAPI NotifyEvent(LONG EventCode,LONG_PTR Param1,LONG_PTR Param2) = 0;
15779 virtual HRESULT WINAPI SetBorderColor(COLORREF clrBorder) = 0;
15780 };
15781#else
15782 typedef struct IVMRSurfaceAllocatorNotifyVtbl {
15783 BEGIN_INTERFACE
15784 HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocatorNotify *This,REFIID riid,void **ppvObject);
15785 ULONG (WINAPI *AddRef)(IVMRSurfaceAllocatorNotify *This);
15786 ULONG (WINAPI *Release)(IVMRSurfaceAllocatorNotify *This);
15787 HRESULT (WINAPI *AdviseSurfaceAllocator)(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
15788 HRESULT (WINAPI *SetDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
15789 HRESULT (WINAPI *ChangeDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
15790 HRESULT (WINAPI *RestoreDDrawSurfaces)(IVMRSurfaceAllocatorNotify *This);
15791 HRESULT (WINAPI *NotifyEvent)(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
15792 HRESULT (WINAPI *SetBorderColor)(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
15793 END_INTERFACE
15794 } IVMRSurfaceAllocatorNotifyVtbl;
15795 struct IVMRSurfaceAllocatorNotify {
15796 CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
15797 };
15798#ifdef COBJMACROS
15799#define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15800#define IVMRSurfaceAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
15801#define IVMRSurfaceAllocatorNotify_Release(This) (This)->lpVtbl->Release(This)
15802#define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) (This)->lpVtbl->AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
15803#define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->SetDDrawDevice(This,lpDDrawDevice,hMonitor)
15804#define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
15805#define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) (This)->lpVtbl->RestoreDDrawSurfaces(This)
15806#define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) (This)->lpVtbl->NotifyEvent(This,EventCode,Param1,Param2)
15807#define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) (This)->lpVtbl->SetBorderColor(This,clrBorder)
15808#endif
15809#endif
15810 HRESULT WINAPI IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
15811 void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15812 HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
15813 void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15814 HRESULT WINAPI IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
15815 void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15816 HRESULT WINAPI IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(IVMRSurfaceAllocatorNotify *This);
15817 void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15818 HRESULT WINAPI IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
15819 void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15820 HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
15821 void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15822#endif
15823
15824 typedef enum __MIDL___MIDL_itf_strmif_0400_0001 {
15825 VMR_ARMODE_NONE = 0,VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1
15826 } VMR_ASPECT_RATIO_MODE;
15827
15828 extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec;
15829 extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec;
15830#ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
15831#define __IVMRWindowlessControl_INTERFACE_DEFINED__
15832 EXTERN_C const IID IID_IVMRWindowlessControl;
15833#if defined(__cplusplus) && !defined(CINTERFACE)
15834 struct IVMRWindowlessControl : public IUnknown {
15835 public:
15836 virtual HRESULT WINAPI GetNativeVideoSize(LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight) = 0;
15837 virtual HRESULT WINAPI GetMinIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
15838 virtual HRESULT WINAPI GetMaxIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
15839 virtual HRESULT WINAPI SetVideoPosition(const LPRECT lpSRCRect,const LPRECT lpDSTRect) = 0;
15840 virtual HRESULT WINAPI GetVideoPosition(LPRECT lpSRCRect,LPRECT lpDSTRect) = 0;
15841 virtual HRESULT WINAPI GetAspectRatioMode(DWORD *lpAspectRatioMode) = 0;
15842 virtual HRESULT WINAPI SetAspectRatioMode(DWORD AspectRatioMode) = 0;
15843 virtual HRESULT WINAPI SetVideoClippingWindow(HWND hwnd) = 0;
15844 virtual HRESULT WINAPI RepaintVideo(HWND hwnd,HDC hdc) = 0;
15845 virtual HRESULT WINAPI DisplayModeChanged(void) = 0;
15846 virtual HRESULT WINAPI GetCurrentImage(BYTE **lpDib) = 0;
15847 virtual HRESULT WINAPI SetBorderColor(COLORREF Clr) = 0;
15848 virtual HRESULT WINAPI GetBorderColor(COLORREF *lpClr) = 0;
15849 virtual HRESULT WINAPI SetColorKey(COLORREF Clr) = 0;
15850 virtual HRESULT WINAPI GetColorKey(COLORREF *lpClr) = 0;
15851 };
15852#else
15853 typedef struct IVMRWindowlessControlVtbl {
15854 BEGIN_INTERFACE
15855 HRESULT (WINAPI *QueryInterface)(IVMRWindowlessControl *This,REFIID riid,void **ppvObject);
15856 ULONG (WINAPI *AddRef)(IVMRWindowlessControl *This);
15857 ULONG (WINAPI *Release)(IVMRWindowlessControl *This);
15858 HRESULT (WINAPI *GetNativeVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
15859 HRESULT (WINAPI *GetMinIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
15860 HRESULT (WINAPI *GetMaxIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
15861 HRESULT (WINAPI *SetVideoPosition)(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
15862 HRESULT (WINAPI *GetVideoPosition)(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
15863 HRESULT (WINAPI *GetAspectRatioMode)(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
15864 HRESULT (WINAPI *SetAspectRatioMode)(IVMRWindowlessControl *This,DWORD AspectRatioMode);
15865 HRESULT (WINAPI *SetVideoClippingWindow)(IVMRWindowlessControl *This,HWND hwnd);
15866 HRESULT (WINAPI *RepaintVideo)(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
15867 HRESULT (WINAPI *DisplayModeChanged)(IVMRWindowlessControl *This);
15868 HRESULT (WINAPI *GetCurrentImage)(IVMRWindowlessControl *This,BYTE **lpDib);
15869 HRESULT (WINAPI *SetBorderColor)(IVMRWindowlessControl *This,COLORREF Clr);
15870 HRESULT (WINAPI *GetBorderColor)(IVMRWindowlessControl *This,COLORREF *lpClr);
15871 HRESULT (WINAPI *SetColorKey)(IVMRWindowlessControl *This,COLORREF Clr);
15872 HRESULT (WINAPI *GetColorKey)(IVMRWindowlessControl *This,COLORREF *lpClr);
15873 END_INTERFACE
15874 } IVMRWindowlessControlVtbl;
15875 struct IVMRWindowlessControl {
15876 CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
15877 };
15878#ifdef COBJMACROS
15879#define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15880#define IVMRWindowlessControl_AddRef(This) (This)->lpVtbl->AddRef(This)
15881#define IVMRWindowlessControl_Release(This) (This)->lpVtbl->Release(This)
15882#define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) (This)->lpVtbl->GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
15883#define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMinIdealVideoSize(This,lpWidth,lpHeight)
15884#define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMaxIdealVideoSize(This,lpWidth,lpHeight)
15885#define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->SetVideoPosition(This,lpSRCRect,lpDSTRect)
15886#define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->GetVideoPosition(This,lpSRCRect,lpDSTRect)
15887#define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,lpAspectRatioMode)
15888#define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,AspectRatioMode)
15889#define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd)
15890#define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc)
15891#define IVMRWindowlessControl_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This)
15892#define IVMRWindowlessControl_GetCurrentImage(This,lpDib) (This)->lpVtbl->GetCurrentImage(This,lpDib)
15893#define IVMRWindowlessControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr)
15894#define IVMRWindowlessControl_GetBorderColor(This,lpClr) (This)->lpVtbl->GetBorderColor(This,lpClr)
15895#define IVMRWindowlessControl_SetColorKey(This,Clr) (This)->lpVtbl->SetColorKey(This,Clr)
15896#define IVMRWindowlessControl_GetColorKey(This,lpClr) (This)->lpVtbl->GetColorKey(This,lpClr)
15897#endif
15898#endif
15899 HRESULT WINAPI IVMRWindowlessControl_GetNativeVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
15900 void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15901 HRESULT WINAPI IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
15902 void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15903 HRESULT WINAPI IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
15904 void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15905 HRESULT WINAPI IVMRWindowlessControl_SetVideoPosition_Proxy(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
15906 void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15907 HRESULT WINAPI IVMRWindowlessControl_GetVideoPosition_Proxy(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
15908 void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15909 HRESULT WINAPI IVMRWindowlessControl_GetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
15910 void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15911 HRESULT WINAPI IVMRWindowlessControl_SetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD AspectRatioMode);
15912 void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15913 HRESULT WINAPI IVMRWindowlessControl_SetVideoClippingWindow_Proxy(IVMRWindowlessControl *This,HWND hwnd);
15914 void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15915 HRESULT WINAPI IVMRWindowlessControl_RepaintVideo_Proxy(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
15916 void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15917 HRESULT WINAPI IVMRWindowlessControl_DisplayModeChanged_Proxy(IVMRWindowlessControl *This);
15918 void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15919 HRESULT WINAPI IVMRWindowlessControl_GetCurrentImage_Proxy(IVMRWindowlessControl *This,BYTE **lpDib);
15920 void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15921 HRESULT WINAPI IVMRWindowlessControl_SetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
15922 void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15923 HRESULT WINAPI IVMRWindowlessControl_GetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
15924 void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15925 HRESULT WINAPI IVMRWindowlessControl_SetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
15926 void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15927 HRESULT WINAPI IVMRWindowlessControl_GetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
15928 void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
15929#endif
15930
15931 typedef enum __MIDL___MIDL_itf_strmif_0401_0001 {
15932 MixerPref_NoDecimation = 0x1,MixerPref_DecimateOutput = 0x2,MixerPref_ARAdjustXorY = 0x4,MixerPref_DecimationReserved = 0x8,
15933 MixerPref_DecimateMask = 0xf,MixerPref_BiLinearFiltering = 0x10,MixerPref_PointFiltering = 0x20,MixerPref_FilteringMask = 0xf0,
15934 MixerPref_RenderTargetRGB = 0x100,MixerPref_RenderTargetYUV = 0x1000,MixerPref_RenderTargetYUV420 = 0x200,MixerPref_RenderTargetYUV422 = 0x400,
15935 MixerPref_RenderTargetYUV444 = 0x800,MixerPref_RenderTargetReserved = 0xe000,MixerPref_RenderTargetMask = 0xff00,
15936 MixerPref_DynamicSwitchToBOB = 0x10000,MixerPref_DynamicDecimateBy2 = 0x20000,MixerPref_DynamicReserved = 0xc0000,
15937 MixerPref_DynamicMask = 0xf0000
15938 } VMRMixerPrefs;
15939
15940 typedef struct _NORMALIZEDRECT {
15941 float left;
15942 float top;
15943 float right;
15944 float bottom;
15945 } NORMALIZEDRECT;
15946
15947 typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
15948
15949 extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_c_ifspec;
15950 extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_s_ifspec;
15951#ifndef __IVMRMixerControl_INTERFACE_DEFINED__
15952#define __IVMRMixerControl_INTERFACE_DEFINED__
15953 EXTERN_C const IID IID_IVMRMixerControl;
15954#if defined(__cplusplus) && !defined(CINTERFACE)
15955 struct IVMRMixerControl : public IUnknown {
15956 public:
15957 virtual HRESULT WINAPI SetAlpha(DWORD dwStreamID,float Alpha) = 0;
15958 virtual HRESULT WINAPI GetAlpha(DWORD dwStreamID,float *pAlpha) = 0;
15959 virtual HRESULT WINAPI SetZOrder(DWORD dwStreamID,DWORD dwZ) = 0;
15960 virtual HRESULT WINAPI GetZOrder(DWORD dwStreamID,DWORD *pZ) = 0;
15961 virtual HRESULT WINAPI SetOutputRect(DWORD dwStreamID,const NORMALIZEDRECT *pRect) = 0;
15962 virtual HRESULT WINAPI GetOutputRect(DWORD dwStreamID,NORMALIZEDRECT *pRect) = 0;
15963 virtual HRESULT WINAPI SetBackgroundClr(COLORREF ClrBkg) = 0;
15964 virtual HRESULT WINAPI GetBackgroundClr(COLORREF *lpClrBkg) = 0;
15965 virtual HRESULT WINAPI SetMixingPrefs(DWORD dwMixerPrefs) = 0;
15966 virtual HRESULT WINAPI GetMixingPrefs(DWORD *pdwMixerPrefs) = 0;
15967 };
15968#else
15969 typedef struct IVMRMixerControlVtbl {
15970 BEGIN_INTERFACE
15971 HRESULT (WINAPI *QueryInterface)(IVMRMixerControl *This,REFIID riid,void **ppvObject);
15972 ULONG (WINAPI *AddRef)(IVMRMixerControl *This);
15973 ULONG (WINAPI *Release)(IVMRMixerControl *This);
15974 HRESULT (WINAPI *SetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
15975 HRESULT (WINAPI *GetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
15976 HRESULT (WINAPI *SetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
15977 HRESULT (WINAPI *GetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
15978 HRESULT (WINAPI *SetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
15979 HRESULT (WINAPI *GetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
15980 HRESULT (WINAPI *SetBackgroundClr)(IVMRMixerControl *This,COLORREF ClrBkg);
15981 HRESULT (WINAPI *GetBackgroundClr)(IVMRMixerControl *This,COLORREF *lpClrBkg);
15982 HRESULT (WINAPI *SetMixingPrefs)(IVMRMixerControl *This,DWORD dwMixerPrefs);
15983 HRESULT (WINAPI *GetMixingPrefs)(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
15984 END_INTERFACE
15985 } IVMRMixerControlVtbl;
15986 struct IVMRMixerControl {
15987 CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
15988 };
15989#ifdef COBJMACROS
15990#define IVMRMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15991#define IVMRMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
15992#define IVMRMixerControl_Release(This) (This)->lpVtbl->Release(This)
15993#define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) (This)->lpVtbl->SetAlpha(This,dwStreamID,Alpha)
15994#define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) (This)->lpVtbl->GetAlpha(This,dwStreamID,pAlpha)
15995#define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetZOrder(This,dwStreamID,dwZ)
15996#define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) (This)->lpVtbl->GetZOrder(This,dwStreamID,pZ)
15997#define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->SetOutputRect(This,dwStreamID,pRect)
15998#define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->GetOutputRect(This,dwStreamID,pRect)
15999#define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) (This)->lpVtbl->SetBackgroundClr(This,ClrBkg)
16000#define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) (This)->lpVtbl->GetBackgroundClr(This,lpClrBkg)
16001#define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) (This)->lpVtbl->SetMixingPrefs(This,dwMixerPrefs)
16002#define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) (This)->lpVtbl->GetMixingPrefs(This,pdwMixerPrefs)
16003#endif
16004#endif
16005 HRESULT WINAPI IVMRMixerControl_SetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
16006 void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16007 HRESULT WINAPI IVMRMixerControl_GetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
16008 void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16009 HRESULT WINAPI IVMRMixerControl_SetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
16010 void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16011 HRESULT WINAPI IVMRMixerControl_GetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
16012 void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16013 HRESULT WINAPI IVMRMixerControl_SetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
16014 void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16015 HRESULT WINAPI IVMRMixerControl_GetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
16016 void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16017 HRESULT WINAPI IVMRMixerControl_SetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF ClrBkg);
16018 void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16019 HRESULT WINAPI IVMRMixerControl_GetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF *lpClrBkg);
16020 void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16021 HRESULT WINAPI IVMRMixerControl_SetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD dwMixerPrefs);
16022 void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16023 HRESULT WINAPI IVMRMixerControl_GetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
16024
16025 void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16026#endif
16027
16028#ifdef __cplusplus
16029 typedef struct tagVMRGUID {
16030 ::GUID *pGUID;
16031 ::GUID GUID;
16032 } VMRGUID;
16033#else
16034 typedef struct tagVMRGUID {
16035 GUID *pGUID;
16036 GUID GUID;
16037 } VMRGUID;
16038#endif
16039
16040 typedef struct tagVMRMONITORINFO {
16041 VMRGUID guid;
16042 RECT rcMonitor;
16043 HMONITOR hMon;
16044 DWORD dwFlags;
16045 wchar_t szDevice[32];
16046 wchar_t szDescription[256];
16047 LARGE_INTEGER liDriverVersion;
16048 DWORD dwVendorId;
16049 DWORD dwDeviceId;
16050 DWORD dwSubSysId;
16051 DWORD dwRevision;
16052 } VMRMONITORINFO;
16053
16054 extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_c_ifspec;
16055 extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_s_ifspec;
16056#ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
16057#define __IVMRMonitorConfig_INTERFACE_DEFINED__
16058 EXTERN_C const IID IID_IVMRMonitorConfig;
16059#if defined(__cplusplus) && !defined(CINTERFACE)
16060 struct IVMRMonitorConfig : public IUnknown {
16061 public:
16062 virtual HRESULT WINAPI SetMonitor(const VMRGUID *pGUID) = 0;
16063 virtual HRESULT WINAPI GetMonitor(VMRGUID *pGUID) = 0;
16064 virtual HRESULT WINAPI SetDefaultMonitor(const VMRGUID *pGUID) = 0;
16065 virtual HRESULT WINAPI GetDefaultMonitor(VMRGUID *pGUID) = 0;
16066 virtual HRESULT WINAPI GetAvailableMonitors(VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices) = 0;
16067 };
16068#else
16069 typedef struct IVMRMonitorConfigVtbl {
16070 BEGIN_INTERFACE
16071 HRESULT (WINAPI *QueryInterface)(IVMRMonitorConfig *This,REFIID riid,void **ppvObject);
16072 ULONG (WINAPI *AddRef)(IVMRMonitorConfig *This);
16073 ULONG (WINAPI *Release)(IVMRMonitorConfig *This);
16074 HRESULT (WINAPI *SetMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
16075 HRESULT (WINAPI *GetMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
16076 HRESULT (WINAPI *SetDefaultMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
16077 HRESULT (WINAPI *GetDefaultMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
16078 HRESULT (WINAPI *GetAvailableMonitors)(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
16079 END_INTERFACE
16080 } IVMRMonitorConfigVtbl;
16081 struct IVMRMonitorConfig {
16082 CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
16083 };
16084#ifdef COBJMACROS
16085#define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16086#define IVMRMonitorConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
16087#define IVMRMonitorConfig_Release(This) (This)->lpVtbl->Release(This)
16088#define IVMRMonitorConfig_SetMonitor(This,pGUID) (This)->lpVtbl->SetMonitor(This,pGUID)
16089#define IVMRMonitorConfig_GetMonitor(This,pGUID) (This)->lpVtbl->GetMonitor(This,pGUID)
16090#define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) (This)->lpVtbl->SetDefaultMonitor(This,pGUID)
16091#define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) (This)->lpVtbl->GetDefaultMonitor(This,pGUID)
16092#define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) (This)->lpVtbl->GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
16093#endif
16094#endif
16095 HRESULT WINAPI IVMRMonitorConfig_SetMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
16096 void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16097 HRESULT WINAPI IVMRMonitorConfig_GetMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
16098 void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16099 HRESULT WINAPI IVMRMonitorConfig_SetDefaultMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
16100 void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16101 HRESULT WINAPI IVMRMonitorConfig_GetDefaultMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
16102 void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16103 HRESULT WINAPI IVMRMonitorConfig_GetAvailableMonitors_Proxy(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
16104 void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16105#endif
16106
16107 typedef enum __MIDL___MIDL_itf_strmif_0403_0001 {
16108 RenderPrefs_RestrictToInitialMonitor = 0,RenderPrefs_ForceOffscreen = 0x1,RenderPrefs_ForceOverlays = 0x2,RenderPrefs_AllowOverlays = 0,
16109 RenderPrefs_AllowOffscreen = 0,RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,RenderPrefs_Reserved = 0x10,RenderPrefs_PreferAGPMemWhenMixing = 0x20,
16110 RenderPrefs_Mask = 0x3f
16111 } VMRRenderPrefs;
16112
16113 typedef enum __MIDL___MIDL_itf_strmif_0403_0002 {
16114 VMRMode_Windowed = 0x1,VMRMode_Windowless = 0x2,VMRMode_Renderless = 0x4,VMRMode_Mask = 0x7
16115 } VMRMode;
16116
16117 enum __MIDL___MIDL_itf_strmif_0403_0003 {
16118 MAX_NUMBER_OF_STREAMS = 16
16119 };
16120
16121 extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec;
16122 extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec;
16123#ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
16124#define __IVMRFilterConfig_INTERFACE_DEFINED__
16125 EXTERN_C const IID IID_IVMRFilterConfig;
16126#if defined(__cplusplus) && !defined(CINTERFACE)
16127 struct IVMRFilterConfig : public IUnknown {
16128 public:
16129 virtual HRESULT WINAPI SetImageCompositor(IVMRImageCompositor *lpVMRImgCompositor) = 0;
16130 virtual HRESULT WINAPI SetNumberOfStreams(DWORD dwMaxStreams) = 0;
16131 virtual HRESULT WINAPI GetNumberOfStreams(DWORD *pdwMaxStreams) = 0;
16132 virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
16133 virtual HRESULT WINAPI GetRenderingPrefs(DWORD *pdwRenderFlags) = 0;
16134 virtual HRESULT WINAPI SetRenderingMode(DWORD Mode) = 0;
16135 virtual HRESULT WINAPI GetRenderingMode(DWORD *pMode) = 0;
16136 };
16137#else
16138 typedef struct IVMRFilterConfigVtbl {
16139 BEGIN_INTERFACE
16140 HRESULT (WINAPI *QueryInterface)(IVMRFilterConfig *This,REFIID riid,void **ppvObject);
16141 ULONG (WINAPI *AddRef)(IVMRFilterConfig *This);
16142 ULONG (WINAPI *Release)(IVMRFilterConfig *This);
16143 HRESULT (WINAPI *SetImageCompositor)(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
16144 HRESULT (WINAPI *SetNumberOfStreams)(IVMRFilterConfig *This,DWORD dwMaxStreams);
16145 HRESULT (WINAPI *GetNumberOfStreams)(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
16146 HRESULT (WINAPI *SetRenderingPrefs)(IVMRFilterConfig *This,DWORD dwRenderFlags);
16147 HRESULT (WINAPI *GetRenderingPrefs)(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
16148 HRESULT (WINAPI *SetRenderingMode)(IVMRFilterConfig *This,DWORD Mode);
16149 HRESULT (WINAPI *GetRenderingMode)(IVMRFilterConfig *This,DWORD *pMode);
16150 END_INTERFACE
16151 } IVMRFilterConfigVtbl;
16152 struct IVMRFilterConfig {
16153 CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
16154 };
16155#ifdef COBJMACROS
16156#define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16157#define IVMRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
16158#define IVMRFilterConfig_Release(This) (This)->lpVtbl->Release(This)
16159#define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) (This)->lpVtbl->SetImageCompositor(This,lpVMRImgCompositor)
16160#define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams)
16161#define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams)
16162#define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
16163#define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags)
16164#define IVMRFilterConfig_SetRenderingMode(This,Mode) (This)->lpVtbl->SetRenderingMode(This,Mode)
16165#define IVMRFilterConfig_GetRenderingMode(This,pMode) (This)->lpVtbl->GetRenderingMode(This,pMode)
16166#endif
16167#endif
16168 HRESULT WINAPI IVMRFilterConfig_SetImageCompositor_Proxy(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
16169 void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16170 HRESULT WINAPI IVMRFilterConfig_SetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD dwMaxStreams);
16171 void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16172 HRESULT WINAPI IVMRFilterConfig_GetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
16173 void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16174 HRESULT WINAPI IVMRFilterConfig_SetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD dwRenderFlags);
16175 void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16176 HRESULT WINAPI IVMRFilterConfig_GetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
16177 void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16178 HRESULT WINAPI IVMRFilterConfig_SetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD Mode);
16179 void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16180 HRESULT WINAPI IVMRFilterConfig_GetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD *pMode);
16181 void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16182#endif
16183
16184#ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
16185#define __IVMRAspectRatioControl_INTERFACE_DEFINED__
16186 EXTERN_C const IID IID_IVMRAspectRatioControl;
16187#if defined(__cplusplus) && !defined(CINTERFACE)
16188 struct IVMRAspectRatioControl : public IUnknown {
16189 public:
16190 virtual HRESULT WINAPI GetAspectRatioMode(LPDWORD lpdwARMode) = 0;
16191 virtual HRESULT WINAPI SetAspectRatioMode(DWORD dwARMode) = 0;
16192 };
16193#else
16194 typedef struct IVMRAspectRatioControlVtbl {
16195 BEGIN_INTERFACE
16196 HRESULT (WINAPI *QueryInterface)(IVMRAspectRatioControl *This,REFIID riid,void **ppvObject);
16197 ULONG (WINAPI *AddRef)(IVMRAspectRatioControl *This);
16198 ULONG (WINAPI *Release)(IVMRAspectRatioControl *This);
16199 HRESULT (WINAPI *GetAspectRatioMode)(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
16200 HRESULT (WINAPI *SetAspectRatioMode)(IVMRAspectRatioControl *This,DWORD dwARMode);
16201 END_INTERFACE
16202 } IVMRAspectRatioControlVtbl;
16203 struct IVMRAspectRatioControl {
16204 CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
16205 };
16206#ifdef COBJMACROS
16207#define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16208#define IVMRAspectRatioControl_AddRef(This) (This)->lpVtbl->AddRef(This)
16209#define IVMRAspectRatioControl_Release(This) (This)->lpVtbl->Release(This)
16210#define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) (This)->lpVtbl->GetAspectRatioMode(This,lpdwARMode)
16211#define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) (This)->lpVtbl->SetAspectRatioMode(This,dwARMode)
16212#endif
16213#endif
16214 HRESULT WINAPI IVMRAspectRatioControl_GetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
16215 void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16216 HRESULT WINAPI IVMRAspectRatioControl_SetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,DWORD dwARMode);
16217 void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16218#endif
16219
16220 typedef enum __MIDL___MIDL_itf_strmif_0405_0001 {
16221 DeinterlacePref_NextBest = 0x1,DeinterlacePref_BOB = 0x2,DeinterlacePref_Weave = 0x4,DeinterlacePref_Mask = 0x7
16222 } VMRDeinterlacePrefs;
16223
16224 typedef enum __MIDL___MIDL_itf_strmif_0405_0002 {
16225 DeinterlaceTech_Unknown = 0,DeinterlaceTech_BOBLineReplicate = 0x1,DeinterlaceTech_BOBVerticalStretch = 0x2,DeinterlaceTech_MedianFiltering = 0x4,
16226 DeinterlaceTech_EdgeFiltering = 0x10,DeinterlaceTech_FieldAdaptive = 0x20,DeinterlaceTech_PixelAdaptive = 0x40,
16227 DeinterlaceTech_MotionVectorSteered = 0x80
16228 } VMRDeinterlaceTech;
16229
16230 typedef struct _VMRFrequency {
16231 DWORD dwNumerator;
16232 DWORD dwDenominator;
16233 } VMRFrequency;
16234
16235 typedef struct _VMRVideoDesc {
16236 DWORD dwSize;
16237 DWORD dwSampleWidth;
16238 DWORD dwSampleHeight;
16239 WINBOOL SingleFieldPerSample;
16240 DWORD dwFourCC;
16241 VMRFrequency InputSampleFreq;
16242 VMRFrequency OutputFrameFreq;
16243 } VMRVideoDesc;
16244
16245 typedef struct _VMRDeinterlaceCaps {
16246 DWORD dwSize;
16247 DWORD dwNumPreviousOutputFrames;
16248 DWORD dwNumForwardRefSamples;
16249 DWORD dwNumBackwardRefSamples;
16250 VMRDeinterlaceTech DeinterlaceTechnology;
16251 } VMRDeinterlaceCaps;
16252
16253 extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_c_ifspec;
16254 extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_s_ifspec;
16255#ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
16256#define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
16257 EXTERN_C const IID IID_IVMRDeinterlaceControl;
16258#if defined(__cplusplus) && !defined(CINTERFACE)
16259 struct IVMRDeinterlaceControl : public IUnknown {
16260 public:
16261 virtual HRESULT WINAPI GetNumberOfDeinterlaceModes(VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes) = 0;
16262 virtual HRESULT WINAPI GetDeinterlaceModeCaps(LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
16263 virtual HRESULT WINAPI GetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
16264 virtual HRESULT WINAPI SetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
16265 virtual HRESULT WINAPI GetDeinterlacePrefs(LPDWORD lpdwDeinterlacePrefs) = 0;
16266 virtual HRESULT WINAPI SetDeinterlacePrefs(DWORD dwDeinterlacePrefs) = 0;
16267 virtual HRESULT WINAPI GetActualDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
16268 };
16269#else
16270 typedef struct IVMRDeinterlaceControlVtbl {
16271 BEGIN_INTERFACE
16272 HRESULT (WINAPI *QueryInterface)(IVMRDeinterlaceControl *This,REFIID riid,void **ppvObject);
16273 ULONG (WINAPI *AddRef)(IVMRDeinterlaceControl *This);
16274 ULONG (WINAPI *Release)(IVMRDeinterlaceControl *This);
16275 HRESULT (WINAPI *GetNumberOfDeinterlaceModes)(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
16276 HRESULT (WINAPI *GetDeinterlaceModeCaps)(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
16277 HRESULT (WINAPI *GetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
16278 HRESULT (WINAPI *SetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
16279 HRESULT (WINAPI *GetDeinterlacePrefs)(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
16280 HRESULT (WINAPI *SetDeinterlacePrefs)(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
16281 HRESULT (WINAPI *GetActualDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
16282 END_INTERFACE
16283 } IVMRDeinterlaceControlVtbl;
16284 struct IVMRDeinterlaceControl {
16285 CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
16286 };
16287#ifdef COBJMACROS
16288#define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16289#define IVMRDeinterlaceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
16290#define IVMRDeinterlaceControl_Release(This) (This)->lpVtbl->Release(This)
16291#define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
16292#define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
16293#define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
16294#define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
16295#define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) (This)->lpVtbl->GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
16296#define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) (This)->lpVtbl->SetDeinterlacePrefs(This,dwDeinterlacePrefs)
16297#define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
16298#endif
16299#endif
16300 HRESULT WINAPI IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
16301 void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16302 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
16303 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16304 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
16305 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16306 HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
16307 void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16308 HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
16309 void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16310 HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
16311 void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16312 HRESULT WINAPI IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
16313 void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16314#endif
16315
16316 typedef struct _VMRALPHABITMAP {
16317 DWORD dwFlags;
16318 HDC hdc;
16319 LPDIRECTDRAWSURFACE7 pDDS;
16320 RECT rSrc;
16321 NORMALIZEDRECT rDest;
16322 FLOAT fAlpha;
16323 COLORREF clrSrcKey;
16324 } VMRALPHABITMAP;
16325
16326 typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
16327
16328#define VMRBITMAP_DISABLE 0x00000001
16329#define VMRBITMAP_HDC 0x00000002
16330#define VMRBITMAP_ENTIREDDS 0x00000004
16331#define VMRBITMAP_SRCCOLORKEY 0x00000008
16332#define VMRBITMAP_SRCRECT 0x00000010
16333
16334 extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec;
16335 extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec;
16336#ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
16337#define __IVMRMixerBitmap_INTERFACE_DEFINED__
16338 EXTERN_C const IID IID_IVMRMixerBitmap;
16339#if defined(__cplusplus) && !defined(CINTERFACE)
16340 struct IVMRMixerBitmap : public IUnknown {
16341 public:
16342 virtual HRESULT WINAPI SetAlphaBitmap(const VMRALPHABITMAP *pBmpParms) = 0;
16343 virtual HRESULT WINAPI UpdateAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
16344 virtual HRESULT WINAPI GetAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
16345 };
16346#else
16347 typedef struct IVMRMixerBitmapVtbl {
16348 BEGIN_INTERFACE
16349 HRESULT (WINAPI *QueryInterface)(IVMRMixerBitmap *This,REFIID riid,void **ppvObject);
16350 ULONG (WINAPI *AddRef)(IVMRMixerBitmap *This);
16351 ULONG (WINAPI *Release)(IVMRMixerBitmap *This);
16352 HRESULT (WINAPI *SetAlphaBitmap)(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
16353 HRESULT (WINAPI *UpdateAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
16354 HRESULT (WINAPI *GetAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
16355 END_INTERFACE
16356 } IVMRMixerBitmapVtbl;
16357 struct IVMRMixerBitmap {
16358 CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
16359 };
16360#ifdef COBJMACROS
16361#define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16362#define IVMRMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
16363#define IVMRMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
16364#define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) (This)->lpVtbl->SetAlphaBitmap(This,pBmpParms)
16365#define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,pBmpParms)
16366#define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->GetAlphaBitmapParameters(This,pBmpParms)
16367#endif
16368#endif
16369 HRESULT WINAPI IVMRMixerBitmap_SetAlphaBitmap_Proxy(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
16370 void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16371 HRESULT WINAPI IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
16372 void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16373 HRESULT WINAPI IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
16374 void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16375#endif
16376
16377 typedef struct _VMRVIDEOSTREAMINFO {
16378 LPDIRECTDRAWSURFACE7 pddsVideoSurface;
16379 DWORD dwWidth;
16380 DWORD dwHeight;
16381 DWORD dwStrmID;
16382 FLOAT fAlpha;
16383 DDCOLORKEY ddClrKey;
16384 NORMALIZEDRECT rNormal;
16385 } VMRVIDEOSTREAMINFO;
16386
16387 extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_c_ifspec;
16388 extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_s_ifspec;
16389#ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
16390#define __IVMRImageCompositor_INTERFACE_DEFINED__
16391 EXTERN_C const IID IID_IVMRImageCompositor;
16392#if defined(__cplusplus) && !defined(CINTERFACE)
16393 struct IVMRImageCompositor : public IUnknown {
16394 public:
16395 virtual HRESULT WINAPI InitCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
16396 virtual HRESULT WINAPI TermCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
16397 virtual HRESULT WINAPI SetStreamMediaType(DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture) = 0;
16398 virtual HRESULT WINAPI CompositeImage(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget,AM_MEDIA_TYPE *pmtRenderTarget,REFERENCE_TIME rtStart,REFERENCE_TIME rtEnd,DWORD dwClrBkGnd,VMRVIDEOSTREAMINFO *pVideoStreamInfo,UINT cStreams) = 0;
16399 };
16400#else
16401 typedef struct IVMRImageCompositorVtbl {
16402 BEGIN_INTERFACE
16403 HRESULT (WINAPI *QueryInterface)(IVMRImageCompositor *This,REFIID riid,void **ppvObject);
16404 ULONG (WINAPI *AddRef)(IVMRImageCompositor *This);
16405 ULONG (WINAPI *Release)(IVMRImageCompositor *This);
16406 HRESULT (WINAPI *InitCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
16407 HRESULT (WINAPI *TermCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
16408 HRESULT (WINAPI *SetStreamMediaType)(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
16409 HRESULT (WINAPI *CompositeImage)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget,AM_MEDIA_TYPE *pmtRenderTarget,REFERENCE_TIME rtStart,REFERENCE_TIME rtEnd,DWORD dwClrBkGnd,VMRVIDEOSTREAMINFO *pVideoStreamInfo,UINT cStreams);
16410 END_INTERFACE
16411 } IVMRImageCompositorVtbl;
16412 struct IVMRImageCompositor {
16413 CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
16414 };
16415#ifdef COBJMACROS
16416#define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16417#define IVMRImageCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
16418#define IVMRImageCompositor_Release(This) (This)->lpVtbl->Release(This)
16419#define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
16420#define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
16421#define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) (This)->lpVtbl->SetStreamMediaType(This,dwStrmID,pmt,fTexture)
16422#define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) (This)->lpVtbl->CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
16423#endif
16424#endif
16425 HRESULT WINAPI IVMRImageCompositor_InitCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
16426 void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16427 HRESULT WINAPI IVMRImageCompositor_TermCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
16428 void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16429 HRESULT WINAPI IVMRImageCompositor_SetStreamMediaType_Proxy(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
16430 void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16431 HRESULT WINAPI IVMRImageCompositor_CompositeImage_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget,AM_MEDIA_TYPE *pmtRenderTarget,REFERENCE_TIME rtStart,REFERENCE_TIME rtEnd,DWORD dwClrBkGnd,VMRVIDEOSTREAMINFO *pVideoStreamInfo,UINT cStreams);
16432 void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16433#endif
16434
16435#ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
16436#define __IVMRVideoStreamControl_INTERFACE_DEFINED__
16437 EXTERN_C const IID IID_IVMRVideoStreamControl;
16438#if defined(__cplusplus) && !defined(CINTERFACE)
16439 struct IVMRVideoStreamControl : public IUnknown {
16440 public:
16441 virtual HRESULT WINAPI SetColorKey(LPDDCOLORKEY lpClrKey) = 0;
16442 virtual HRESULT WINAPI GetColorKey(LPDDCOLORKEY lpClrKey) = 0;
16443 virtual HRESULT WINAPI SetStreamActiveState(WINBOOL fActive) = 0;
16444 virtual HRESULT WINAPI GetStreamActiveState(WINBOOL *lpfActive) = 0;
16445 };
16446#else
16447 typedef struct IVMRVideoStreamControlVtbl {
16448 BEGIN_INTERFACE
16449 HRESULT (WINAPI *QueryInterface)(IVMRVideoStreamControl *This,REFIID riid,void **ppvObject);
16450 ULONG (WINAPI *AddRef)(IVMRVideoStreamControl *This);
16451 ULONG (WINAPI *Release)(IVMRVideoStreamControl *This);
16452 HRESULT (WINAPI *SetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
16453 HRESULT (WINAPI *GetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
16454 HRESULT (WINAPI *SetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL fActive);
16455 HRESULT (WINAPI *GetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
16456 END_INTERFACE
16457 } IVMRVideoStreamControlVtbl;
16458 struct IVMRVideoStreamControl {
16459 CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
16460 };
16461#ifdef COBJMACROS
16462#define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16463#define IVMRVideoStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
16464#define IVMRVideoStreamControl_Release(This) (This)->lpVtbl->Release(This)
16465#define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) (This)->lpVtbl->SetColorKey(This,lpClrKey)
16466#define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) (This)->lpVtbl->GetColorKey(This,lpClrKey)
16467#define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) (This)->lpVtbl->SetStreamActiveState(This,fActive)
16468#define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) (This)->lpVtbl->GetStreamActiveState(This,lpfActive)
16469#endif
16470#endif
16471 HRESULT WINAPI IVMRVideoStreamControl_SetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
16472 void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16473 HRESULT WINAPI IVMRVideoStreamControl_GetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
16474 void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16475 HRESULT WINAPI IVMRVideoStreamControl_SetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL fActive);
16476 void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16477 HRESULT WINAPI IVMRVideoStreamControl_GetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
16478 void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16479#endif
16480
16481#ifndef __IVMRSurface_INTERFACE_DEFINED__
16482#define __IVMRSurface_INTERFACE_DEFINED__
16483 EXTERN_C const IID IID_IVMRSurface;
16484#if defined(__cplusplus) && !defined(CINTERFACE)
16485 struct IVMRSurface : public IUnknown {
16486 public:
16487 virtual HRESULT WINAPI IsSurfaceLocked(void) = 0;
16488 virtual HRESULT WINAPI LockSurface(BYTE **lpSurface) = 0;
16489 virtual HRESULT WINAPI UnlockSurface(void) = 0;
16490 virtual HRESULT WINAPI GetSurface(LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
16491 };
16492#else
16493 typedef struct IVMRSurfaceVtbl {
16494 BEGIN_INTERFACE
16495 HRESULT (WINAPI *QueryInterface)(IVMRSurface *This,REFIID riid,void **ppvObject);
16496 ULONG (WINAPI *AddRef)(IVMRSurface *This);
16497 ULONG (WINAPI *Release)(IVMRSurface *This);
16498 HRESULT (WINAPI *IsSurfaceLocked)(IVMRSurface *This);
16499 HRESULT (WINAPI *LockSurface)(IVMRSurface *This,BYTE **lpSurface);
16500 HRESULT (WINAPI *UnlockSurface)(IVMRSurface *This);
16501 HRESULT (WINAPI *GetSurface)(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
16502 END_INTERFACE
16503 } IVMRSurfaceVtbl;
16504 struct IVMRSurface {
16505 CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
16506 };
16507#ifdef COBJMACROS
16508#define IVMRSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16509#define IVMRSurface_AddRef(This) (This)->lpVtbl->AddRef(This)
16510#define IVMRSurface_Release(This) (This)->lpVtbl->Release(This)
16511#define IVMRSurface_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This)
16512#define IVMRSurface_LockSurface(This,lpSurface) (This)->lpVtbl->LockSurface(This,lpSurface)
16513#define IVMRSurface_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This)
16514#define IVMRSurface_GetSurface(This,lplpSurface) (This)->lpVtbl->GetSurface(This,lplpSurface)
16515#endif
16516#endif
16517 HRESULT WINAPI IVMRSurface_IsSurfaceLocked_Proxy(IVMRSurface *This);
16518 void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16519 HRESULT WINAPI IVMRSurface_LockSurface_Proxy(IVMRSurface *This,BYTE **lpSurface);
16520 void __RPC_STUB IVMRSurface_LockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16521 HRESULT WINAPI IVMRSurface_UnlockSurface_Proxy(IVMRSurface *This);
16522 void __RPC_STUB IVMRSurface_UnlockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16523 HRESULT WINAPI IVMRSurface_GetSurface_Proxy(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
16524 void __RPC_STUB IVMRSurface_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16525#endif
16526
16527#ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
16528#define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
16529 EXTERN_C const IID IID_IVMRImagePresenterConfig;
16530
16531#if defined(__cplusplus) && !defined(CINTERFACE)
16532 struct IVMRImagePresenterConfig : public IUnknown {
16533 public:
16534 virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
16535 virtual HRESULT WINAPI GetRenderingPrefs(DWORD *dwRenderFlags) = 0;
16536 };
16537#else
16538 typedef struct IVMRImagePresenterConfigVtbl {
16539 BEGIN_INTERFACE
16540 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterConfig *This,REFIID riid,void **ppvObject);
16541 ULONG (WINAPI *AddRef)(IVMRImagePresenterConfig *This);
16542 ULONG (WINAPI *Release)(IVMRImagePresenterConfig *This);
16543 HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
16544 HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
16545 END_INTERFACE
16546 } IVMRImagePresenterConfigVtbl;
16547 struct IVMRImagePresenterConfig {
16548 CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
16549 };
16550#ifdef COBJMACROS
16551#define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16552#define IVMRImagePresenterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
16553#define IVMRImagePresenterConfig_Release(This) (This)->lpVtbl->Release(This)
16554#define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
16555#define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
16556#endif
16557#endif
16558 HRESULT WINAPI IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
16559 void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16560 HRESULT WINAPI IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
16561 void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16562#endif
16563
16564#ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
16565#define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
16566 EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
16567#if defined(__cplusplus) && !defined(CINTERFACE)
16568 struct IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig {
16569 public:
16570 virtual HRESULT WINAPI SetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
16571 virtual HRESULT WINAPI GetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
16572 };
16573#else
16574 typedef struct IVMRImagePresenterExclModeConfigVtbl {
16575 BEGIN_INTERFACE
16576 HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterExclModeConfig *This,REFIID riid,void **ppvObject);
16577 ULONG (WINAPI *AddRef)(IVMRImagePresenterExclModeConfig *This);
16578 ULONG (WINAPI *Release)(IVMRImagePresenterExclModeConfig *This);
16579 HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD dwRenderFlags);
16580 HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD *dwRenderFlags);
16581 HRESULT (WINAPI *SetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
16582 HRESULT (WINAPI *GetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
16583 END_INTERFACE
16584 } IVMRImagePresenterExclModeConfigVtbl;
16585 struct IVMRImagePresenterExclModeConfig {
16586 CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
16587 };
16588#ifdef COBJMACROS
16589#define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16590#define IVMRImagePresenterExclModeConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
16591#define IVMRImagePresenterExclModeConfig_Release(This) (This)->lpVtbl->Release(This)
16592#define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
16593#define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
16594#define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
16595#define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
16596#endif
16597#endif
16598 HRESULT WINAPI IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
16599 void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16600 HRESULT WINAPI IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
16601 void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16602#endif
16603
16604#ifndef __IVPManager_INTERFACE_DEFINED__
16605#define __IVPManager_INTERFACE_DEFINED__
16606 EXTERN_C const IID IID_IVPManager;
16607#if defined(__cplusplus) && !defined(CINTERFACE)
16608 struct IVPManager : public IUnknown {
16609 public:
16610 virtual HRESULT WINAPI SetVideoPortIndex(DWORD dwVideoPortIndex) = 0;
16611 virtual HRESULT WINAPI GetVideoPortIndex(DWORD *pdwVideoPortIndex) = 0;
16612 };
16613#else
16614 typedef struct IVPManagerVtbl {
16615 BEGIN_INTERFACE
16616 HRESULT (WINAPI *QueryInterface)(IVPManager *This,REFIID riid,void **ppvObject);
16617 ULONG (WINAPI *AddRef)(IVPManager *This);
16618 ULONG (WINAPI *Release)(IVPManager *This);
16619 HRESULT (WINAPI *SetVideoPortIndex)(IVPManager *This,DWORD dwVideoPortIndex);
16620 HRESULT (WINAPI *GetVideoPortIndex)(IVPManager *This,DWORD *pdwVideoPortIndex);
16621 END_INTERFACE
16622 } IVPManagerVtbl;
16623 struct IVPManager {
16624 CONST_VTBL struct IVPManagerVtbl *lpVtbl;
16625 };
16626#ifdef COBJMACROS
16627#define IVPManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16628#define IVPManager_AddRef(This) (This)->lpVtbl->AddRef(This)
16629#define IVPManager_Release(This) (This)->lpVtbl->Release(This)
16630#define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) (This)->lpVtbl->SetVideoPortIndex(This,dwVideoPortIndex)
16631#define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) (This)->lpVtbl->GetVideoPortIndex(This,pdwVideoPortIndex)
16632#endif
16633#endif
16634 HRESULT WINAPI IVPManager_SetVideoPortIndex_Proxy(IVPManager *This,DWORD dwVideoPortIndex);
16635 void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16636 HRESULT WINAPI IVPManager_GetVideoPortIndex_Proxy(IVPManager *This,DWORD *pdwVideoPortIndex);
16637 void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
16638#endif
16639
16640 extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec;
16641 extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec;
16642/* Begin additional prototypes for all interfaces */
16643
16644
16645/* End additional prototypes */
16646
16647#ifdef __cplusplus
16648}
16649#endif
16650
16651#endif /* __strmif_h__ */