|  | /*** Autogenerated by WIDL 8.17 from include/strmif.idl - Do not edit ***/ | 
|  |  | 
|  | #ifdef _WIN32 | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include <windows.h> | 
|  | #include <ole2.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __strmif_h__ | 
|  | #define __strmif_h__ | 
|  |  | 
|  | #ifndef __WIDL_INLINE | 
|  | #if defined(__cplusplus) || defined(_MSC_VER) | 
|  | #define __WIDL_INLINE inline | 
|  | #elif defined(__GNUC__) | 
|  | #define __WIDL_INLINE __inline__ | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /* Forward declarations */ | 
|  |  | 
|  | #ifndef __ICreateDevEnum_FWD_DEFINED__ | 
|  | #define __ICreateDevEnum_FWD_DEFINED__ | 
|  | typedef interface ICreateDevEnum ICreateDevEnum; | 
|  | #ifdef __cplusplus | 
|  | interface ICreateDevEnum; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPin_FWD_DEFINED__ | 
|  | #define __IPin_FWD_DEFINED__ | 
|  | typedef interface IPin IPin; | 
|  | #ifdef __cplusplus | 
|  | interface IPin; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumPins_FWD_DEFINED__ | 
|  | #define __IEnumPins_FWD_DEFINED__ | 
|  | typedef interface IEnumPins IEnumPins; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumPins; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumMediaTypes_FWD_DEFINED__ | 
|  | #define __IEnumMediaTypes_FWD_DEFINED__ | 
|  | typedef interface IEnumMediaTypes IEnumMediaTypes; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumMediaTypes; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterGraph_FWD_DEFINED__ | 
|  | #define __IFilterGraph_FWD_DEFINED__ | 
|  | typedef interface IFilterGraph IFilterGraph; | 
|  | #ifdef __cplusplus | 
|  | interface IFilterGraph; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumFilters_FWD_DEFINED__ | 
|  | #define __IEnumFilters_FWD_DEFINED__ | 
|  | typedef interface IEnumFilters IEnumFilters; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumFilters; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaFilter_FWD_DEFINED__ | 
|  | #define __IMediaFilter_FWD_DEFINED__ | 
|  | typedef interface IMediaFilter IMediaFilter; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaFilter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IBaseFilter_FWD_DEFINED__ | 
|  | #define __IBaseFilter_FWD_DEFINED__ | 
|  | typedef interface IBaseFilter IBaseFilter; | 
|  | #ifdef __cplusplus | 
|  | interface IBaseFilter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IReferenceClock_FWD_DEFINED__ | 
|  | #define __IReferenceClock_FWD_DEFINED__ | 
|  | typedef interface IReferenceClock IReferenceClock; | 
|  | #ifdef __cplusplus | 
|  | interface IReferenceClock; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IReferenceClockTimerControl_FWD_DEFINED__ | 
|  | #define __IReferenceClockTimerControl_FWD_DEFINED__ | 
|  | typedef interface IReferenceClockTimerControl IReferenceClockTimerControl; | 
|  | #ifdef __cplusplus | 
|  | interface IReferenceClockTimerControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IReferenceClock2_FWD_DEFINED__ | 
|  | #define __IReferenceClock2_FWD_DEFINED__ | 
|  | typedef interface IReferenceClock2 IReferenceClock2; | 
|  | #ifdef __cplusplus | 
|  | interface IReferenceClock2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaSample_FWD_DEFINED__ | 
|  | #define __IMediaSample_FWD_DEFINED__ | 
|  | typedef interface IMediaSample IMediaSample; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaSample; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaSample2_FWD_DEFINED__ | 
|  | #define __IMediaSample2_FWD_DEFINED__ | 
|  | typedef interface IMediaSample2 IMediaSample2; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaSample2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaSample2Config_FWD_DEFINED__ | 
|  | #define __IMediaSample2Config_FWD_DEFINED__ | 
|  | typedef interface IMediaSample2Config IMediaSample2Config; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaSample2Config; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemAllocator_FWD_DEFINED__ | 
|  | #define __IMemAllocator_FWD_DEFINED__ | 
|  | typedef interface IMemAllocator IMemAllocator; | 
|  | #ifdef __cplusplus | 
|  | interface IMemAllocator; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ | 
|  | #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ | 
|  | typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; | 
|  | #ifdef __cplusplus | 
|  | interface IMemAllocatorCallbackTemp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ | 
|  | #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ | 
|  | typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; | 
|  | #ifdef __cplusplus | 
|  | interface IMemAllocatorNotifyCallbackTemp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemInputPin_FWD_DEFINED__ | 
|  | #define __IMemInputPin_FWD_DEFINED__ | 
|  | typedef interface IMemInputPin IMemInputPin; | 
|  | #ifdef __cplusplus | 
|  | interface IMemInputPin; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMovieSetup_FWD_DEFINED__ | 
|  | #define __IAMovieSetup_FWD_DEFINED__ | 
|  | typedef interface IAMovieSetup IAMovieSetup; | 
|  | #ifdef __cplusplus | 
|  | interface IAMovieSetup; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaSeeking_FWD_DEFINED__ | 
|  | #define __IMediaSeeking_FWD_DEFINED__ | 
|  | typedef interface IMediaSeeking IMediaSeeking; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaSeeking; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumRegFilters_FWD_DEFINED__ | 
|  | #define __IEnumRegFilters_FWD_DEFINED__ | 
|  | typedef interface IEnumRegFilters IEnumRegFilters; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumRegFilters; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterMapper_FWD_DEFINED__ | 
|  | #define __IFilterMapper_FWD_DEFINED__ | 
|  | typedef interface IFilterMapper IFilterMapper; | 
|  | #ifdef __cplusplus | 
|  | interface IFilterMapper; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterMapper2_FWD_DEFINED__ | 
|  | #define __IFilterMapper2_FWD_DEFINED__ | 
|  | typedef interface IFilterMapper2 IFilterMapper2; | 
|  | #ifdef __cplusplus | 
|  | interface IFilterMapper2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterMapper3_FWD_DEFINED__ | 
|  | #define __IFilterMapper3_FWD_DEFINED__ | 
|  | typedef interface IFilterMapper3 IFilterMapper3; | 
|  | #ifdef __cplusplus | 
|  | interface IFilterMapper3; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IQualityControl_FWD_DEFINED__ | 
|  | #define __IQualityControl_FWD_DEFINED__ | 
|  | typedef interface IQualityControl IQualityControl; | 
|  | #ifdef __cplusplus | 
|  | interface IQualityControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IOverlayNotify_FWD_DEFINED__ | 
|  | #define __IOverlayNotify_FWD_DEFINED__ | 
|  | typedef interface IOverlayNotify IOverlayNotify; | 
|  | #ifdef __cplusplus | 
|  | interface IOverlayNotify; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IOverlayNotify2_FWD_DEFINED__ | 
|  | #define __IOverlayNotify2_FWD_DEFINED__ | 
|  | typedef interface IOverlayNotify2 IOverlayNotify2; | 
|  | #ifdef __cplusplus | 
|  | interface IOverlayNotify2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IOverlay_FWD_DEFINED__ | 
|  | #define __IOverlay_FWD_DEFINED__ | 
|  | typedef interface IOverlay IOverlay; | 
|  | #ifdef __cplusplus | 
|  | interface IOverlay; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaEventSink_FWD_DEFINED__ | 
|  | #define __IMediaEventSink_FWD_DEFINED__ | 
|  | typedef interface IMediaEventSink IMediaEventSink; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaEventSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFileSourceFilter_FWD_DEFINED__ | 
|  | #define __IFileSourceFilter_FWD_DEFINED__ | 
|  | typedef interface IFileSourceFilter IFileSourceFilter; | 
|  | #ifdef __cplusplus | 
|  | interface IFileSourceFilter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFileSinkFilter_FWD_DEFINED__ | 
|  | #define __IFileSinkFilter_FWD_DEFINED__ | 
|  | typedef interface IFileSinkFilter IFileSinkFilter; | 
|  | #ifdef __cplusplus | 
|  | interface IFileSinkFilter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFileSinkFilter2_FWD_DEFINED__ | 
|  | #define __IFileSinkFilter2_FWD_DEFINED__ | 
|  | typedef interface IFileSinkFilter2 IFileSinkFilter2; | 
|  | #ifdef __cplusplus | 
|  | interface IFileSinkFilter2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IGraphBuilder_FWD_DEFINED__ | 
|  | #define __IGraphBuilder_FWD_DEFINED__ | 
|  | typedef interface IGraphBuilder IGraphBuilder; | 
|  | #ifdef __cplusplus | 
|  | interface IGraphBuilder; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ | 
|  | #define __ICaptureGraphBuilder_FWD_DEFINED__ | 
|  | typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; | 
|  | #ifdef __cplusplus | 
|  | interface ICaptureGraphBuilder; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ | 
|  | #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ | 
|  | typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; | 
|  | #ifdef __cplusplus | 
|  | interface IAMCopyCaptureFileProgress; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ | 
|  | #define __ICaptureGraphBuilder2_FWD_DEFINED__ | 
|  | typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; | 
|  | #ifdef __cplusplus | 
|  | interface ICaptureGraphBuilder2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IConfigAviMux_FWD_DEFINED__ | 
|  | #define __IConfigAviMux_FWD_DEFINED__ | 
|  | typedef interface IConfigAviMux IConfigAviMux; | 
|  | #ifdef __cplusplus | 
|  | interface IConfigAviMux; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IConfigInterleaving_FWD_DEFINED__ | 
|  | #define __IConfigInterleaving_FWD_DEFINED__ | 
|  | typedef interface IConfigInterleaving IConfigInterleaving; | 
|  | #ifdef __cplusplus | 
|  | interface IConfigInterleaving; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMClockSlave_FWD_DEFINED__ | 
|  | #define __IAMClockSlave_FWD_DEFINED__ | 
|  | typedef interface IAMClockSlave IAMClockSlave; | 
|  | #ifdef __cplusplus | 
|  | interface IAMClockSlave; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__ | 
|  | #define __IAMCertifiedOutputProtection_FWD_DEFINED__ | 
|  | typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection; | 
|  | #ifdef __cplusplus | 
|  | interface IAMCertifiedOutputProtection; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterGraph2_FWD_DEFINED__ | 
|  | #define __IFilterGraph2_FWD_DEFINED__ | 
|  | typedef interface IFilterGraph2 IFilterGraph2; | 
|  | #ifdef __cplusplus | 
|  | interface IFilterGraph2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IStreamBuilder_FWD_DEFINED__ | 
|  | #define __IStreamBuilder_FWD_DEFINED__ | 
|  | typedef interface IStreamBuilder IStreamBuilder; | 
|  | #ifdef __cplusplus | 
|  | interface IStreamBuilder; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMStreamConfig_FWD_DEFINED__ | 
|  | #define __IAMStreamConfig_FWD_DEFINED__ | 
|  | typedef interface IAMStreamConfig IAMStreamConfig; | 
|  | #ifdef __cplusplus | 
|  | interface IAMStreamConfig; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVideoProcAmp_FWD_DEFINED__ | 
|  | #define __IAMVideoProcAmp_FWD_DEFINED__ | 
|  | typedef interface IAMVideoProcAmp IAMVideoProcAmp; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVideoProcAmp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAsyncReader_FWD_DEFINED__ | 
|  | #define __IAsyncReader_FWD_DEFINED__ | 
|  | typedef interface IAsyncReader IAsyncReader; | 
|  | #ifdef __cplusplus | 
|  | interface IAsyncReader; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IGraphVersion_FWD_DEFINED__ | 
|  | #define __IGraphVersion_FWD_DEFINED__ | 
|  | typedef interface IGraphVersion IGraphVersion; | 
|  | #ifdef __cplusplus | 
|  | interface IGraphVersion; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IResourceConsumer_FWD_DEFINED__ | 
|  | #define __IResourceConsumer_FWD_DEFINED__ | 
|  | typedef interface IResourceConsumer IResourceConsumer; | 
|  | #ifdef __cplusplus | 
|  | interface IResourceConsumer; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IResourceManager_FWD_DEFINED__ | 
|  | #define __IResourceManager_FWD_DEFINED__ | 
|  | typedef interface IResourceManager IResourceManager; | 
|  | #ifdef __cplusplus | 
|  | interface IResourceManager; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMStreamControl_FWD_DEFINED__ | 
|  | #define __IAMStreamControl_FWD_DEFINED__ | 
|  | typedef interface IAMStreamControl IAMStreamControl; | 
|  | #ifdef __cplusplus | 
|  | interface IAMStreamControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IKsPropertySet_FWD_DEFINED__ | 
|  | #define __IKsPropertySet_FWD_DEFINED__ | 
|  | typedef interface IKsPropertySet IKsPropertySet; | 
|  | #ifdef __cplusplus | 
|  | interface IKsPropertySet; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaPropertyBag_FWD_DEFINED__ | 
|  | #define __IMediaPropertyBag_FWD_DEFINED__ | 
|  | typedef interface IMediaPropertyBag IMediaPropertyBag; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaPropertyBag; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__ | 
|  | #define __IPersistMediaPropertyBag_FWD_DEFINED__ | 
|  | typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag; | 
|  | #ifdef __cplusplus | 
|  | interface IPersistMediaPropertyBag; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ISeekingPassThru_FWD_DEFINED__ | 
|  | #define __ISeekingPassThru_FWD_DEFINED__ | 
|  | typedef interface ISeekingPassThru ISeekingPassThru; | 
|  | #ifdef __cplusplus | 
|  | interface ISeekingPassThru; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMFilterMiscFlags_FWD_DEFINED__ | 
|  | #define __IAMFilterMiscFlags_FWD_DEFINED__ | 
|  | typedef interface IAMFilterMiscFlags IAMFilterMiscFlags; | 
|  | #ifdef __cplusplus | 
|  | interface IAMFilterMiscFlags; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ | 
|  | #define __IAMGraphBuilderCallback_FWD_DEFINED__ | 
|  | typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; | 
|  | #ifdef __cplusplus | 
|  | interface IAMGraphBuilderCallback; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ | 
|  | #define __IAMVfwCaptureDialogs_FWD_DEFINED__ | 
|  | typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVfwCaptureDialogs; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMCameraControl_FWD_DEFINED__ | 
|  | #define __IAMCameraControl_FWD_DEFINED__ | 
|  | typedef interface IAMCameraControl IAMCameraControl; | 
|  | #ifdef __cplusplus | 
|  | interface IAMCameraControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVideoControl_FWD_DEFINED__ | 
|  | #define __IAMVideoControl_FWD_DEFINED__ | 
|  | typedef interface IAMVideoControl IAMVideoControl; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVideoControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMBufferNegotiation_FWD_DEFINED__ | 
|  | #define __IAMBufferNegotiation_FWD_DEFINED__ | 
|  | typedef interface IAMBufferNegotiation IAMBufferNegotiation; | 
|  | #ifdef __cplusplus | 
|  | interface IAMBufferNegotiation; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMDroppedFrames_FWD_DEFINED__ | 
|  | #define __IAMDroppedFrames_FWD_DEFINED__ | 
|  | typedef interface IAMDroppedFrames IAMDroppedFrames; | 
|  | #ifdef __cplusplus | 
|  | interface IAMDroppedFrames; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMLatency_FWD_DEFINED__ | 
|  | #define __IAMLatency_FWD_DEFINED__ | 
|  | typedef interface IAMLatency IAMLatency; | 
|  | #ifdef __cplusplus | 
|  | interface IAMLatency; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMPushSource_FWD_DEFINED__ | 
|  | #define __IAMPushSource_FWD_DEFINED__ | 
|  | typedef interface IAMPushSource IAMPushSource; | 
|  | #ifdef __cplusplus | 
|  | interface IAMPushSource; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVideoCompression_FWD_DEFINED__ | 
|  | #define __IAMVideoCompression_FWD_DEFINED__ | 
|  | typedef interface IAMVideoCompression IAMVideoCompression; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVideoCompression; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMCrossbar_FWD_DEFINED__ | 
|  | #define __IAMCrossbar_FWD_DEFINED__ | 
|  | typedef interface IAMCrossbar IAMCrossbar; | 
|  | #ifdef __cplusplus | 
|  | interface IAMCrossbar; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTunerNotification_FWD_DEFINED__ | 
|  | #define __IAMTunerNotification_FWD_DEFINED__ | 
|  | typedef interface IAMTunerNotification IAMTunerNotification; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTunerNotification; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTuner_FWD_DEFINED__ | 
|  | #define __IAMTuner_FWD_DEFINED__ | 
|  | typedef interface IAMTuner IAMTuner; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTuner; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTVTuner_FWD_DEFINED__ | 
|  | #define __IAMTVTuner_FWD_DEFINED__ | 
|  | typedef interface IAMTVTuner IAMTVTuner; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTVTuner; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVideoFrameStep_FWD_DEFINED__ | 
|  | #define __IVideoFrameStep_FWD_DEFINED__ | 
|  | typedef interface IVideoFrameStep IVideoFrameStep; | 
|  | #ifdef __cplusplus | 
|  | interface IVideoFrameStep; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ | 
|  | #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ | 
|  | typedef interface IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling; | 
|  | #ifdef __cplusplus | 
|  | interface IAMAsyncReaderTimestampScaling; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMPluginControl_FWD_DEFINED__ | 
|  | #define __IAMPluginControl_FWD_DEFINED__ | 
|  | typedef interface IAMPluginControl IAMPluginControl; | 
|  | #ifdef __cplusplus | 
|  | interface IAMPluginControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <unknwn.h> | 
|  | #include <objidl.h> | 
|  | #include <oaidl.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | /** | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER within this package. | 
|  | */ | 
|  |  | 
|  | #include <winapifamily.h> | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | 
|  |  | 
|  | #define CDEF_CLASS_DEFAULT 0x1 | 
|  | #define CDEF_BYPASS_CLASS_MANAGER 0x2 | 
|  | #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x8 | 
|  | #define CDEF_DEVMON_CMGR_DEVICE 0x10 | 
|  | #define CDEF_DEVMON_DMO 0x20 | 
|  | #define CDEF_DEVMON_PNP_DEVICE 0x40 | 
|  | #define CDEF_DEVMON_FILTER 0x80 | 
|  |  | 
|  | #define CDEF_DEVMON_SELECTIVE_MASK 0xf0 | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICreateDevEnum interface | 
|  | */ | 
|  | #ifndef __ICreateDevEnum_INTERFACE_DEFINED__ | 
|  | #define __ICreateDevEnum_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86") | 
|  | ICreateDevEnum : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( | 
|  | REFCLSID clsidDeviceClass, | 
|  | IEnumMoniker **ppEnumMoniker, | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ICreateDevEnumVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICreateDevEnum *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICreateDevEnum *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICreateDevEnum *This); | 
|  |  | 
|  | /*** ICreateDevEnum methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)( | 
|  | ICreateDevEnum *This, | 
|  | REFCLSID clsidDeviceClass, | 
|  | IEnumMoniker **ppEnumMoniker, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ICreateDevEnumVtbl; | 
|  |  | 
|  | interface ICreateDevEnum { | 
|  | CONST_VTBL ICreateDevEnumVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ICreateDevEnum methods ***/ | 
|  | #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICreateDevEnum_Release(ICreateDevEnum* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ICreateDevEnum methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) { | 
|  | return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ICreateDevEnum_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif | 
|  | /** | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER within this package. | 
|  | */ | 
|  |  | 
|  | #include <winapifamily.h> | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | 
|  |  | 
|  | #define CHARS_IN_GUID 39 | 
|  |  | 
|  | #ifdef WINE_NO_UNICODE_MACROS | 
|  | #undef GetTimeFormat | 
|  | #endif | 
|  |  | 
|  | typedef struct _AMMediaType { | 
|  | GUID majortype; | 
|  | GUID subtype; | 
|  | WINBOOL bFixedSizeSamples; | 
|  | WINBOOL bTemporalCompression; | 
|  | ULONG lSampleSize; | 
|  | GUID formattype; | 
|  | IUnknown *pUnk; | 
|  | ULONG cbFormat; | 
|  | BYTE *pbFormat; | 
|  | } AM_MEDIA_TYPE; | 
|  |  | 
|  | typedef enum _PinDirection { | 
|  | PINDIR_INPUT = 0, | 
|  | PINDIR_OUTPUT = 1 | 
|  | } PIN_DIRECTION; | 
|  |  | 
|  | #define MAX_PIN_NAME 128 | 
|  | #define MAX_FILTER_NAME 128 | 
|  |  | 
|  | #ifndef REFERENCE_TIME_DEFINED | 
|  | #define REFERENCE_TIME_DEFINED | 
|  | typedef LONGLONG REFERENCE_TIME; | 
|  | #endif | 
|  |  | 
|  | #ifndef REFTIME_DEFINED | 
|  | #define REFTIME_DEFINED | 
|  | typedef double REFTIME; | 
|  | #endif | 
|  |  | 
|  | typedef DWORD_PTR HSEMAPHORE; | 
|  | typedef DWORD_PTR HEVENT; | 
|  |  | 
|  | typedef struct _AllocatorProperties { | 
|  | LONG cBuffers; | 
|  | LONG cbBuffer; | 
|  | LONG cbAlign; | 
|  | LONG cbPrefix; | 
|  | } ALLOCATOR_PROPERTIES; | 
|  |  | 
|  | #ifndef __IAMovieSetup_FWD_DEFINED__ | 
|  | #define __IAMovieSetup_FWD_DEFINED__ | 
|  | typedef interface IAMovieSetup IAMovieSetup; | 
|  | #ifdef __cplusplus | 
|  | interface IAMovieSetup; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumFilters_FWD_DEFINED__ | 
|  | #define __IEnumFilters_FWD_DEFINED__ | 
|  | typedef interface IEnumFilters IEnumFilters; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumFilters; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumMediaTypes_FWD_DEFINED__ | 
|  | #define __IEnumMediaTypes_FWD_DEFINED__ | 
|  | typedef interface IEnumMediaTypes IEnumMediaTypes; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumMediaTypes; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumPins_FWD_DEFINED__ | 
|  | #define __IEnumPins_FWD_DEFINED__ | 
|  | typedef interface IEnumPins IEnumPins; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumPins; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IBaseFilter_FWD_DEFINED__ | 
|  | #define __IBaseFilter_FWD_DEFINED__ | 
|  | typedef interface IBaseFilter IBaseFilter; | 
|  | #ifdef __cplusplus | 
|  | interface IBaseFilter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterGraph_FWD_DEFINED__ | 
|  | #define __IFilterGraph_FWD_DEFINED__ | 
|  | typedef interface IFilterGraph IFilterGraph; | 
|  | #ifdef __cplusplus | 
|  | interface IFilterGraph; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaFilter_FWD_DEFINED__ | 
|  | #define __IMediaFilter_FWD_DEFINED__ | 
|  | typedef interface IMediaFilter IMediaFilter; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaFilter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaSample_FWD_DEFINED__ | 
|  | #define __IMediaSample_FWD_DEFINED__ | 
|  | typedef interface IMediaSample IMediaSample; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaSample; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemAllocator_FWD_DEFINED__ | 
|  | #define __IMemAllocator_FWD_DEFINED__ | 
|  | typedef interface IMemAllocator IMemAllocator; | 
|  | #ifdef __cplusplus | 
|  | interface IMemAllocator; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__ | 
|  | #define __IMemAllocatorCallbackTemp_FWD_DEFINED__ | 
|  | typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp; | 
|  | #ifdef __cplusplus | 
|  | interface IMemAllocatorCallbackTemp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ | 
|  | #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ | 
|  | typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp; | 
|  | #ifdef __cplusplus | 
|  | interface IMemAllocatorNotifyCallbackTemp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMemInputPin_FWD_DEFINED__ | 
|  | #define __IMemInputPin_FWD_DEFINED__ | 
|  | typedef interface IMemInputPin IMemInputPin; | 
|  | #ifdef __cplusplus | 
|  | interface IMemInputPin; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPin_FWD_DEFINED__ | 
|  | #define __IPin_FWD_DEFINED__ | 
|  | typedef interface IPin IPin; | 
|  | #ifdef __cplusplus | 
|  | interface IPin; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IReferenceClock_FWD_DEFINED__ | 
|  | #define __IReferenceClock_FWD_DEFINED__ | 
|  | typedef interface IReferenceClock IReferenceClock; | 
|  | #ifdef __cplusplus | 
|  | interface IReferenceClock; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IPin interface | 
|  | */ | 
|  | #ifndef __IPin_INTERFACE_DEFINED__ | 
|  | #define __IPin_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef struct _PinInfo { | 
|  | IBaseFilter *pFilter; | 
|  | PIN_DIRECTION dir; | 
|  | WCHAR achName[128]; | 
|  | } PIN_INFO; | 
|  |  | 
|  | DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770") | 
|  | IPin : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Connect( | 
|  | IPin *pReceivePin, | 
|  | const AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( | 
|  | IPin *pConnector, | 
|  | const AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Disconnect( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ConnectedTo( | 
|  | IPin **pPin) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( | 
|  | AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( | 
|  | PIN_INFO *pInfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryDirection( | 
|  | PIN_DIRECTION *pPinDir) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryId( | 
|  | LPWSTR *Id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryAccept( | 
|  | const AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( | 
|  | IEnumMediaTypes **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( | 
|  | IPin **apPin, | 
|  | ULONG *nPin) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndOfStream( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE BeginFlush( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndFlush( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE NewSegment( | 
|  | REFERENCE_TIME tStart, | 
|  | REFERENCE_TIME tStop, | 
|  | double dRate) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IPinVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IPin *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IPin *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IPin *This); | 
|  |  | 
|  | /*** IPin methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Connect)( | 
|  | IPin *This, | 
|  | IPin *pReceivePin, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReceiveConnection)( | 
|  | IPin *This, | 
|  | IPin *pConnector, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Disconnect)( | 
|  | IPin *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ConnectedTo)( | 
|  | IPin *This, | 
|  | IPin **pPin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)( | 
|  | IPin *This, | 
|  | AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueryPinInfo)( | 
|  | IPin *This, | 
|  | PIN_INFO *pInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueryDirection)( | 
|  | IPin *This, | 
|  | PIN_DIRECTION *pPinDir); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueryId)( | 
|  | IPin *This, | 
|  | LPWSTR *Id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueryAccept)( | 
|  | IPin *This, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)( | 
|  | IPin *This, | 
|  | IEnumMediaTypes **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)( | 
|  | IPin *This, | 
|  | IPin **apPin, | 
|  | ULONG *nPin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndOfStream)( | 
|  | IPin *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *BeginFlush)( | 
|  | IPin *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndFlush)( | 
|  | IPin *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *NewSegment)( | 
|  | IPin *This, | 
|  | REFERENCE_TIME tStart, | 
|  | REFERENCE_TIME tStop, | 
|  | double dRate); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IPinVtbl; | 
|  |  | 
|  | interface IPin { | 
|  | CONST_VTBL IPinVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPin_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPin methods ***/ | 
|  | #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt) | 
|  | #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt) | 
|  | #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This) | 
|  | #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin) | 
|  | #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt) | 
|  | #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo) | 
|  | #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir) | 
|  | #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id) | 
|  | #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt) | 
|  | #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum) | 
|  | #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin) | 
|  | #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) | 
|  | #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) | 
|  | #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This) | 
|  | #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IPin_AddRef(IPin* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IPin_Release(IPin* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPin methods ***/ | 
|  | static __WIDL_INLINE HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->Connect(This,pReceivePin,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->ReceiveConnection(This,pConnector,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_Disconnect(IPin* This) { | 
|  | return This->lpVtbl->Disconnect(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) { | 
|  | return This->lpVtbl->ConnectedTo(This,pPin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->ConnectionMediaType(This,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) { | 
|  | return This->lpVtbl->QueryPinInfo(This,pInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) { | 
|  | return This->lpVtbl->QueryDirection(This,pPinDir); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) { | 
|  | return This->lpVtbl->QueryId(This,Id); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->QueryAccept(This,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) { | 
|  | return This->lpVtbl->EnumMediaTypes(This,ppEnum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) { | 
|  | return This->lpVtbl->QueryInternalConnections(This,apPin,nPin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_EndOfStream(IPin* This) { | 
|  | return This->lpVtbl->EndOfStream(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_BeginFlush(IPin* This) { | 
|  | return This->lpVtbl->BeginFlush(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_EndFlush(IPin* This) { | 
|  | return This->lpVtbl->EndFlush(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) { | 
|  | return This->lpVtbl->NewSegment(This,tStart,tStop,dRate); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IPin_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IPin *PPIN; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumPins interface | 
|  | */ | 
|  | #ifndef __IEnumPins_INTERFACE_DEFINED__ | 
|  | #define __IEnumPins_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770") | 
|  | IEnumPins : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG cPins, | 
|  | IPin **ppPins, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG cPins) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumPins **ppEnum) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumPinsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumPins *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumPins *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumPins *This); | 
|  |  | 
|  | /*** IEnumPins methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumPins *This, | 
|  | ULONG cPins, | 
|  | IPin **ppPins, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumPins *This, | 
|  | ULONG cPins); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumPins *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumPins *This, | 
|  | IEnumPins **ppEnum); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumPinsVtbl; | 
|  |  | 
|  | interface IEnumPins { | 
|  | CONST_VTBL IEnumPinsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumPins_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumPins methods ***/ | 
|  | #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched) | 
|  | #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins) | 
|  | #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumPins_AddRef(IEnumPins* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumPins_Release(IEnumPins* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumPins methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,cPins,ppPins,pcFetched); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) { | 
|  | return This->lpVtbl->Skip(This,cPins); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumPins_Reset(IEnumPins* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumPins_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IEnumPins *PENUMPINS; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumMediaTypes interface | 
|  | */ | 
|  | #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__ | 
|  | #define __IEnumMediaTypes_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a") | 
|  | IEnumMediaTypes : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG cMediaTypes, | 
|  | AM_MEDIA_TYPE **ppMediaTypes, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG cMediaTypes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumMediaTypes **ppEnum) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumMediaTypesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumMediaTypes *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumMediaTypes *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumMediaTypes *This); | 
|  |  | 
|  | /*** IEnumMediaTypes methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumMediaTypes *This, | 
|  | ULONG cMediaTypes, | 
|  | AM_MEDIA_TYPE **ppMediaTypes, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumMediaTypes *This, | 
|  | ULONG cMediaTypes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumMediaTypes *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumMediaTypes *This, | 
|  | IEnumMediaTypes **ppEnum); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumMediaTypesVtbl; | 
|  |  | 
|  | interface IEnumMediaTypes { | 
|  | CONST_VTBL IEnumMediaTypesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumMediaTypes methods ***/ | 
|  | #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched) | 
|  | #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes) | 
|  | #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumMediaTypes methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) { | 
|  | return This->lpVtbl->Skip(This,cMediaTypes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumMediaTypes_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IEnumMediaTypes *PENUMMEDIATYPES; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IFilterGraph interface | 
|  | */ | 
|  | #ifndef __IFilterGraph_INTERFACE_DEFINED__ | 
|  | #define __IFilterGraph_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770") | 
|  | IFilterGraph : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AddFilter( | 
|  | IBaseFilter *pFilter, | 
|  | LPCWSTR pName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RemoveFilter( | 
|  | IBaseFilter *pFilter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumFilters( | 
|  | IEnumFilters **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindFilterByName( | 
|  | LPCWSTR pName, | 
|  | IBaseFilter **ppFilter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ConnectDirect( | 
|  | IPin *ppinOut, | 
|  | IPin *ppinIn, | 
|  | const AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reconnect( | 
|  | IPin *ppin) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Disconnect( | 
|  | IPin *ppin) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IFilterGraphVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IFilterGraph *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IFilterGraph *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IFilterGraph *This); | 
|  |  | 
|  | /*** IFilterGraph methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AddFilter)( | 
|  | IFilterGraph *This, | 
|  | IBaseFilter *pFilter, | 
|  | LPCWSTR pName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveFilter)( | 
|  | IFilterGraph *This, | 
|  | IBaseFilter *pFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumFilters)( | 
|  | IFilterGraph *This, | 
|  | IEnumFilters **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindFilterByName)( | 
|  | IFilterGraph *This, | 
|  | LPCWSTR pName, | 
|  | IBaseFilter **ppFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ConnectDirect)( | 
|  | IFilterGraph *This, | 
|  | IPin *ppinOut, | 
|  | IPin *ppinIn, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reconnect)( | 
|  | IFilterGraph *This, | 
|  | IPin *ppin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Disconnect)( | 
|  | IFilterGraph *This, | 
|  | IPin *ppin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( | 
|  | IFilterGraph *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IFilterGraphVtbl; | 
|  |  | 
|  | interface IFilterGraph { | 
|  | CONST_VTBL IFilterGraphVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFilterGraph methods ***/ | 
|  | #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) | 
|  | #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) | 
|  | #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) | 
|  | #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) | 
|  | #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) | 
|  | #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) | 
|  | #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) | 
|  | #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterGraph_AddRef(IFilterGraph* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterGraph_Release(IFilterGraph* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFilterGraph methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) { | 
|  | return This->lpVtbl->AddFilter(This,pFilter,pName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) { | 
|  | return This->lpVtbl->RemoveFilter(This,pFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) { | 
|  | return This->lpVtbl->EnumFilters(This,ppEnum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) { | 
|  | return This->lpVtbl->FindFilterByName(This,pName,ppFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) { | 
|  | return This->lpVtbl->Reconnect(This,ppin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) { | 
|  | return This->lpVtbl->Disconnect(This,ppin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) { | 
|  | return This->lpVtbl->SetDefaultSyncSource(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IFilterGraph_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IFilterGraph *PFILTERGRAPH; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumFilters interface | 
|  | */ | 
|  | #ifndef __IEnumFilters_INTERFACE_DEFINED__ | 
|  | #define __IEnumFilters_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770") | 
|  | IEnumFilters : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG cFilters, | 
|  | IBaseFilter **ppFilter, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG cFilters) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumFilters **ppEnum) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumFiltersVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumFilters *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumFilters *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumFilters *This); | 
|  |  | 
|  | /*** IEnumFilters methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumFilters *This, | 
|  | ULONG cFilters, | 
|  | IBaseFilter **ppFilter, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumFilters *This, | 
|  | ULONG cFilters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumFilters *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumFilters *This, | 
|  | IEnumFilters **ppEnum); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumFiltersVtbl; | 
|  |  | 
|  | interface IEnumFilters { | 
|  | CONST_VTBL IEnumFiltersVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumFilters methods ***/ | 
|  | #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched) | 
|  | #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) | 
|  | #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumFilters_AddRef(IEnumFilters* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumFilters_Release(IEnumFilters* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumFilters methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) { | 
|  | return This->lpVtbl->Skip(This,cFilters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumFilters_Reset(IEnumFilters* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumFilters_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IEnumFilters *PENUMFILTERS; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMediaFilter interface | 
|  | */ | 
|  | #ifndef __IMediaFilter_INTERFACE_DEFINED__ | 
|  | #define __IMediaFilter_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef enum _FilterState { | 
|  | State_Stopped = 0, | 
|  | State_Paused = 1, | 
|  | State_Running = 2 | 
|  | } FILTER_STATE; | 
|  |  | 
|  | DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770") | 
|  | IMediaFilter : public IPersist | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Stop( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Pause( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Run( | 
|  | REFERENCE_TIME tStart) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetState( | 
|  | DWORD dwMilliSecsTimeout, | 
|  | FILTER_STATE *State) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSyncSource( | 
|  | IReferenceClock *pClock) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSyncSource( | 
|  | IReferenceClock **pClock) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaFilterVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaFilter *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaFilter *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaFilter *This); | 
|  |  | 
|  | /*** IPersist methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetClassID)( | 
|  | IMediaFilter *This, | 
|  | CLSID *pClassID); | 
|  |  | 
|  | /*** IMediaFilter methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Stop)( | 
|  | IMediaFilter *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Pause)( | 
|  | IMediaFilter *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Run)( | 
|  | IMediaFilter *This, | 
|  | REFERENCE_TIME tStart); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetState)( | 
|  | IMediaFilter *This, | 
|  | DWORD dwMilliSecsTimeout, | 
|  | FILTER_STATE *State); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSyncSource)( | 
|  | IMediaFilter *This, | 
|  | IReferenceClock *pClock); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSyncSource)( | 
|  | IMediaFilter *This, | 
|  | IReferenceClock **pClock); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaFilterVtbl; | 
|  |  | 
|  | interface IMediaFilter { | 
|  | CONST_VTBL IMediaFilterVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPersist methods ***/ | 
|  | #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) | 
|  | /*** IMediaFilter methods ***/ | 
|  | #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This) | 
|  | #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This) | 
|  | #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) | 
|  | #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) | 
|  | #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) | 
|  | #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaFilter_AddRef(IMediaFilter* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaFilter_Release(IMediaFilter* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPersist methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) { | 
|  | return This->lpVtbl->GetClassID(This,pClassID); | 
|  | } | 
|  | /*** IMediaFilter methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaFilter_Stop(IMediaFilter* This) { | 
|  | return This->lpVtbl->Stop(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaFilter_Pause(IMediaFilter* This) { | 
|  | return This->lpVtbl->Pause(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) { | 
|  | return This->lpVtbl->Run(This,tStart); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { | 
|  | return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) { | 
|  | return This->lpVtbl->SetSyncSource(This,pClock); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) { | 
|  | return This->lpVtbl->GetSyncSource(This,pClock); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaFilter_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IMediaFilter *PMEDIAFILTER; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IBaseFilter interface | 
|  | */ | 
|  | #ifndef __IBaseFilter_INTERFACE_DEFINED__ | 
|  | #define __IBaseFilter_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef struct _FilterInfo { | 
|  | WCHAR achName[128]; | 
|  | IFilterGraph *pGraph; | 
|  | } FILTER_INFO; | 
|  |  | 
|  | DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770") | 
|  | IBaseFilter : public IMediaFilter | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumPins( | 
|  | IEnumPins **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindPin( | 
|  | LPCWSTR Id, | 
|  | IPin **ppPin) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( | 
|  | FILTER_INFO *pInfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( | 
|  | IFilterGraph *pGraph, | 
|  | LPCWSTR pName) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( | 
|  | LPWSTR *pVendorInfo) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IBaseFilterVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IBaseFilter *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IBaseFilter *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IBaseFilter *This); | 
|  |  | 
|  | /*** IPersist methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetClassID)( | 
|  | IBaseFilter *This, | 
|  | CLSID *pClassID); | 
|  |  | 
|  | /*** IMediaFilter methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Stop)( | 
|  | IBaseFilter *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Pause)( | 
|  | IBaseFilter *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Run)( | 
|  | IBaseFilter *This, | 
|  | REFERENCE_TIME tStart); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetState)( | 
|  | IBaseFilter *This, | 
|  | DWORD dwMilliSecsTimeout, | 
|  | FILTER_STATE *State); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSyncSource)( | 
|  | IBaseFilter *This, | 
|  | IReferenceClock *pClock); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSyncSource)( | 
|  | IBaseFilter *This, | 
|  | IReferenceClock **pClock); | 
|  |  | 
|  | /*** IBaseFilter methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *EnumPins)( | 
|  | IBaseFilter *This, | 
|  | IEnumPins **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindPin)( | 
|  | IBaseFilter *This, | 
|  | LPCWSTR Id, | 
|  | IPin **ppPin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( | 
|  | IBaseFilter *This, | 
|  | FILTER_INFO *pInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( | 
|  | IBaseFilter *This, | 
|  | IFilterGraph *pGraph, | 
|  | LPCWSTR pName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( | 
|  | IBaseFilter *This, | 
|  | LPWSTR *pVendorInfo); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IBaseFilterVtbl; | 
|  |  | 
|  | interface IBaseFilter { | 
|  | CONST_VTBL IBaseFilterVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPersist methods ***/ | 
|  | #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) | 
|  | /*** IMediaFilter methods ***/ | 
|  | #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This) | 
|  | #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This) | 
|  | #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) | 
|  | #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) | 
|  | #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) | 
|  | #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) | 
|  | /*** IBaseFilter methods ***/ | 
|  | #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) | 
|  | #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) | 
|  | #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) | 
|  | #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) | 
|  | #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IBaseFilter_AddRef(IBaseFilter* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IBaseFilter_Release(IBaseFilter* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPersist methods ***/ | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) { | 
|  | return This->lpVtbl->GetClassID(This,pClassID); | 
|  | } | 
|  | /*** IMediaFilter methods ***/ | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_Stop(IBaseFilter* This) { | 
|  | return This->lpVtbl->Stop(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_Pause(IBaseFilter* This) { | 
|  | return This->lpVtbl->Pause(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) { | 
|  | return This->lpVtbl->Run(This,tStart); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { | 
|  | return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) { | 
|  | return This->lpVtbl->SetSyncSource(This,pClock); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) { | 
|  | return This->lpVtbl->GetSyncSource(This,pClock); | 
|  | } | 
|  | /*** IBaseFilter methods ***/ | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) { | 
|  | return This->lpVtbl->EnumPins(This,ppEnum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) { | 
|  | return This->lpVtbl->FindPin(This,Id,ppPin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) { | 
|  | return This->lpVtbl->QueryFilterInfo(This,pInfo); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { | 
|  | return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) { | 
|  | return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IBaseFilter_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IBaseFilter *PFILTER; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IReferenceClock interface | 
|  | */ | 
|  | #ifndef __IReferenceClock_INTERFACE_DEFINED__ | 
|  | #define __IReferenceClock_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770") | 
|  | IReferenceClock : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTime( | 
|  | REFERENCE_TIME *pTime) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AdviseTime( | 
|  | REFERENCE_TIME baseTime, | 
|  | REFERENCE_TIME streamTime, | 
|  | HEVENT hEvent, | 
|  | DWORD_PTR *pdwAdviseCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( | 
|  | REFERENCE_TIME startTime, | 
|  | REFERENCE_TIME periodTime, | 
|  | HSEMAPHORE hSemaphore, | 
|  | DWORD_PTR *pdwAdviseCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Unadvise( | 
|  | DWORD_PTR dwAdviseCookie) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IReferenceClockVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IReferenceClock *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IReferenceClock *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IReferenceClock *This); | 
|  |  | 
|  | /*** IReferenceClock methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTime)( | 
|  | IReferenceClock *This, | 
|  | REFERENCE_TIME *pTime); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AdviseTime)( | 
|  | IReferenceClock *This, | 
|  | REFERENCE_TIME baseTime, | 
|  | REFERENCE_TIME streamTime, | 
|  | HEVENT hEvent, | 
|  | DWORD_PTR *pdwAdviseCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( | 
|  | IReferenceClock *This, | 
|  | REFERENCE_TIME startTime, | 
|  | REFERENCE_TIME periodTime, | 
|  | HSEMAPHORE hSemaphore, | 
|  | DWORD_PTR *pdwAdviseCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Unadvise)( | 
|  | IReferenceClock *This, | 
|  | DWORD_PTR dwAdviseCookie); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IReferenceClockVtbl; | 
|  |  | 
|  | interface IReferenceClock { | 
|  | CONST_VTBL IReferenceClockVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IReferenceClock methods ***/ | 
|  | #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) | 
|  | #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) | 
|  | #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) | 
|  | #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IReferenceClock_AddRef(IReferenceClock* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IReferenceClock_Release(IReferenceClock* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IReferenceClock methods ***/ | 
|  | static __WIDL_INLINE HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) { | 
|  | return This->lpVtbl->GetTime(This,pTime); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { | 
|  | return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { | 
|  | return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) { | 
|  | return This->lpVtbl->Unadvise(This,dwAdviseCookie); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IReferenceClock_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IReferenceClock *PREFERENCECLOCK; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IReferenceClockTimerControl interface | 
|  | */ | 
|  | #ifndef __IReferenceClockTimerControl_INTERFACE_DEFINED__ | 
|  | #define __IReferenceClockTimerControl_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ebec459c-2eca-4d42-a8af-30df557614b8") | 
|  | IReferenceClockTimerControl : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultTimerResolution( | 
|  | REFERENCE_TIME timerResolution) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultTimerResolution( | 
|  | REFERENCE_TIME *pTimerResolution) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IReferenceClockTimerControl, 0xebec459c, 0x2eca, 0x4d42, 0xa8,0xaf, 0x30,0xdf,0x55,0x76,0x14,0xb8) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IReferenceClockTimerControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IReferenceClockTimerControl *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IReferenceClockTimerControl *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IReferenceClockTimerControl *This); | 
|  |  | 
|  | /*** IReferenceClockTimerControl methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultTimerResolution)( | 
|  | IReferenceClockTimerControl *This, | 
|  | REFERENCE_TIME timerResolution); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultTimerResolution)( | 
|  | IReferenceClockTimerControl *This, | 
|  | REFERENCE_TIME *pTimerResolution); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IReferenceClockTimerControlVtbl; | 
|  |  | 
|  | interface IReferenceClockTimerControl { | 
|  | CONST_VTBL IReferenceClockTimerControlVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IReferenceClockTimerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IReferenceClockTimerControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IReferenceClockTimerControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IReferenceClockTimerControl methods ***/ | 
|  | #define IReferenceClockTimerControl_SetDefaultTimerResolution(This,timerResolution) (This)->lpVtbl->SetDefaultTimerResolution(This,timerResolution) | 
|  | #define IReferenceClockTimerControl_GetDefaultTimerResolution(This,pTimerResolution) (This)->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IReferenceClockTimerControl_QueryInterface(IReferenceClockTimerControl* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IReferenceClockTimerControl_AddRef(IReferenceClockTimerControl* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IReferenceClockTimerControl_Release(IReferenceClockTimerControl* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IReferenceClockTimerControl methods ***/ | 
|  | static __WIDL_INLINE HRESULT IReferenceClockTimerControl_SetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME timerResolution) { | 
|  | return This->lpVtbl->SetDefaultTimerResolution(This,timerResolution); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IReferenceClockTimerControl_GetDefaultTimerResolution(IReferenceClockTimerControl* This,REFERENCE_TIME *pTimerResolution) { | 
|  | return This->lpVtbl->GetDefaultTimerResolution(This,pTimerResolution); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IReferenceClockTimerControl_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IReferenceClock2 interface | 
|  | */ | 
|  | #ifndef __IReferenceClock2_INTERFACE_DEFINED__ | 
|  | #define __IReferenceClock2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60") | 
|  | IReferenceClock2 : public IReferenceClock | 
|  | { | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IReferenceClock2, 0x36b73885, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IReferenceClock2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IReferenceClock2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IReferenceClock2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IReferenceClock2 *This); | 
|  |  | 
|  | /*** IReferenceClock methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTime)( | 
|  | IReferenceClock2 *This, | 
|  | REFERENCE_TIME *pTime); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AdviseTime)( | 
|  | IReferenceClock2 *This, | 
|  | REFERENCE_TIME baseTime, | 
|  | REFERENCE_TIME streamTime, | 
|  | HEVENT hEvent, | 
|  | DWORD_PTR *pdwAdviseCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)( | 
|  | IReferenceClock2 *This, | 
|  | REFERENCE_TIME startTime, | 
|  | REFERENCE_TIME periodTime, | 
|  | HSEMAPHORE hSemaphore, | 
|  | DWORD_PTR *pdwAdviseCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Unadvise)( | 
|  | IReferenceClock2 *This, | 
|  | DWORD_PTR dwAdviseCookie); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IReferenceClock2Vtbl; | 
|  |  | 
|  | interface IReferenceClock2 { | 
|  | CONST_VTBL IReferenceClock2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IReferenceClock methods ***/ | 
|  | #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) | 
|  | #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) | 
|  | #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) | 
|  | #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IReferenceClock2_QueryInterface(IReferenceClock2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IReferenceClock2_AddRef(IReferenceClock2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IReferenceClock2_Release(IReferenceClock2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IReferenceClock methods ***/ | 
|  | static __WIDL_INLINE HRESULT IReferenceClock2_GetTime(IReferenceClock2* This,REFERENCE_TIME *pTime) { | 
|  | return This->lpVtbl->GetTime(This,pTime); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IReferenceClock2_AdviseTime(IReferenceClock2* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) { | 
|  | return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IReferenceClock2_AdvisePeriodic(IReferenceClock2* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) { | 
|  | return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IReferenceClock2_Unadvise(IReferenceClock2* This,DWORD_PTR dwAdviseCookie) { | 
|  | return This->lpVtbl->Unadvise(This,dwAdviseCookie); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IReferenceClock2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IReferenceClock2 *PREFERENCECLOCK2; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMediaSample interface | 
|  | */ | 
|  | #ifndef __IMediaSample_INTERFACE_DEFINED__ | 
|  | #define __IMediaSample_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770") | 
|  | IMediaSample : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPointer( | 
|  | BYTE **ppBuffer) = 0; | 
|  |  | 
|  | virtual LONG STDMETHODCALLTYPE GetSize( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTime( | 
|  | REFERENCE_TIME *pTimeStart, | 
|  | REFERENCE_TIME *pTimeEnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTime( | 
|  | REFERENCE_TIME *pTimeStart, | 
|  | REFERENCE_TIME *pTimeEnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( | 
|  | WINBOOL bIsSyncPoint) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsPreroll( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPreroll( | 
|  | WINBOOL bIsPreroll) = 0; | 
|  |  | 
|  | virtual LONG STDMETHODCALLTYPE GetActualDataLength( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( | 
|  | LONG a) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMediaType( | 
|  | AM_MEDIA_TYPE **ppMediaType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaType( | 
|  | AM_MEDIA_TYPE *pMediaType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( | 
|  | WINBOOL bDiscontinuity) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMediaTime( | 
|  | LONGLONG *pTimeStart, | 
|  | LONGLONG *pTimeEnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaTime( | 
|  | LONGLONG *pTimeStart, | 
|  | LONGLONG *pTimeEnd) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaSampleVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaSample *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaSample *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaSample *This); | 
|  |  | 
|  | /*** IMediaSample methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetPointer)( | 
|  | IMediaSample *This, | 
|  | BYTE **ppBuffer); | 
|  |  | 
|  | LONG (STDMETHODCALLTYPE *GetSize)( | 
|  | IMediaSample *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTime)( | 
|  | IMediaSample *This, | 
|  | REFERENCE_TIME *pTimeStart, | 
|  | REFERENCE_TIME *pTimeEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTime)( | 
|  | IMediaSample *This, | 
|  | REFERENCE_TIME *pTimeStart, | 
|  | REFERENCE_TIME *pTimeEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( | 
|  | IMediaSample *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( | 
|  | IMediaSample *This, | 
|  | WINBOOL bIsSyncPoint); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsPreroll)( | 
|  | IMediaSample *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPreroll)( | 
|  | IMediaSample *This, | 
|  | WINBOOL bIsPreroll); | 
|  |  | 
|  | LONG (STDMETHODCALLTYPE *GetActualDataLength)( | 
|  | IMediaSample *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( | 
|  | IMediaSample *This, | 
|  | LONG a); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaType)( | 
|  | IMediaSample *This, | 
|  | AM_MEDIA_TYPE **ppMediaType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaType)( | 
|  | IMediaSample *This, | 
|  | AM_MEDIA_TYPE *pMediaType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( | 
|  | IMediaSample *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( | 
|  | IMediaSample *This, | 
|  | WINBOOL bDiscontinuity); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaTime)( | 
|  | IMediaSample *This, | 
|  | LONGLONG *pTimeStart, | 
|  | LONGLONG *pTimeEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaTime)( | 
|  | IMediaSample *This, | 
|  | LONGLONG *pTimeStart, | 
|  | LONGLONG *pTimeEnd); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaSampleVtbl; | 
|  |  | 
|  | interface IMediaSample { | 
|  | CONST_VTBL IMediaSampleVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaSample_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMediaSample methods ***/ | 
|  | #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) | 
|  | #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This) | 
|  | #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) | 
|  | #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) | 
|  | #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) | 
|  | #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) | 
|  | #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) | 
|  | #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) | 
|  | #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) | 
|  | #define IMediaSample_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) | 
|  | #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) | 
|  | #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) | 
|  | #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) | 
|  | #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) | 
|  | #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) | 
|  | #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaSample_AddRef(IMediaSample* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaSample_Release(IMediaSample* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMediaSample methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) { | 
|  | return This->lpVtbl->GetPointer(This,ppBuffer); | 
|  | } | 
|  | static __WIDL_INLINE LONG IMediaSample_GetSize(IMediaSample* This) { | 
|  | return This->lpVtbl->GetSize(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { | 
|  | return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { | 
|  | return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) { | 
|  | return This->lpVtbl->IsSyncPoint(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) { | 
|  | return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_IsPreroll(IMediaSample* This) { | 
|  | return This->lpVtbl->IsPreroll(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) { | 
|  | return This->lpVtbl->SetPreroll(This,bIsPreroll); | 
|  | } | 
|  | static __WIDL_INLINE LONG IMediaSample_GetActualDataLength(IMediaSample* This) { | 
|  | return This->lpVtbl->GetActualDataLength(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG a) { | 
|  | return This->lpVtbl->SetActualDataLength(This,a); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) { | 
|  | return This->lpVtbl->GetMediaType(This,ppMediaType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) { | 
|  | return This->lpVtbl->SetMediaType(This,pMediaType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) { | 
|  | return This->lpVtbl->IsDiscontinuity(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) { | 
|  | return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { | 
|  | return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { | 
|  | return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaSample_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IMediaSample *PMEDIASAMPLE; | 
|  |  | 
|  | enum tagAM_SAMPLE_PROPERTY_FLAGS { | 
|  | AM_SAMPLE_SPLICEPOINT = 0x1, | 
|  | AM_SAMPLE_PREROLL = 0x2, | 
|  | AM_SAMPLE_DATADISCONTINUITY = 0x4, | 
|  | AM_SAMPLE_TYPECHANGED = 0x8, | 
|  | AM_SAMPLE_TIMEVALID = 0x10, | 
|  | AM_SAMPLE_TIMEDISCONTINUITY = 0x40, | 
|  | AM_SAMPLE_FLUSH_ON_PAUSE = 0x80, | 
|  | AM_SAMPLE_STOPVALID = 0x100, | 
|  | AM_SAMPLE_ENDOFSTREAM = 0x200, | 
|  | AM_STREAM_MEDIA = 0, | 
|  | AM_STREAM_CONTROL = 1 | 
|  | }; | 
|  |  | 
|  | typedef struct tagAM_SAMPLE2_PROPERTIES { | 
|  | DWORD cbData; | 
|  | DWORD dwTypeSpecificFlags; | 
|  | DWORD dwSampleFlags; | 
|  | LONG lActual; | 
|  | REFERENCE_TIME tStart; | 
|  | REFERENCE_TIME tStop; | 
|  | DWORD dwStreamId; | 
|  | AM_MEDIA_TYPE *pMediaType; | 
|  | BYTE *pbBuffer; | 
|  | LONG cbBuffer; | 
|  | } AM_SAMPLE2_PROPERTIES; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMediaSample2 interface | 
|  | */ | 
|  | #ifndef __IMediaSample2_INTERFACE_DEFINED__ | 
|  | #define __IMediaSample2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60") | 
|  | IMediaSample2 : public IMediaSample | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetProperties( | 
|  | DWORD cbProperties, | 
|  | BYTE *pbProperties) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetProperties( | 
|  | DWORD cbProperties, | 
|  | const BYTE *pbProperties) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaSample2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaSample2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaSample2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaSample2 *This); | 
|  |  | 
|  | /*** IMediaSample methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetPointer)( | 
|  | IMediaSample2 *This, | 
|  | BYTE **ppBuffer); | 
|  |  | 
|  | LONG (STDMETHODCALLTYPE *GetSize)( | 
|  | IMediaSample2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTime)( | 
|  | IMediaSample2 *This, | 
|  | REFERENCE_TIME *pTimeStart, | 
|  | REFERENCE_TIME *pTimeEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTime)( | 
|  | IMediaSample2 *This, | 
|  | REFERENCE_TIME *pTimeStart, | 
|  | REFERENCE_TIME *pTimeEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( | 
|  | IMediaSample2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( | 
|  | IMediaSample2 *This, | 
|  | WINBOOL bIsSyncPoint); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsPreroll)( | 
|  | IMediaSample2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPreroll)( | 
|  | IMediaSample2 *This, | 
|  | WINBOOL bIsPreroll); | 
|  |  | 
|  | LONG (STDMETHODCALLTYPE *GetActualDataLength)( | 
|  | IMediaSample2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( | 
|  | IMediaSample2 *This, | 
|  | LONG a); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaType)( | 
|  | IMediaSample2 *This, | 
|  | AM_MEDIA_TYPE **ppMediaType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaType)( | 
|  | IMediaSample2 *This, | 
|  | AM_MEDIA_TYPE *pMediaType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( | 
|  | IMediaSample2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( | 
|  | IMediaSample2 *This, | 
|  | WINBOOL bDiscontinuity); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaTime)( | 
|  | IMediaSample2 *This, | 
|  | LONGLONG *pTimeStart, | 
|  | LONGLONG *pTimeEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaTime)( | 
|  | IMediaSample2 *This, | 
|  | LONGLONG *pTimeStart, | 
|  | LONGLONG *pTimeEnd); | 
|  |  | 
|  | /*** IMediaSample2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetProperties)( | 
|  | IMediaSample2 *This, | 
|  | DWORD cbProperties, | 
|  | BYTE *pbProperties); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetProperties)( | 
|  | IMediaSample2 *This, | 
|  | DWORD cbProperties, | 
|  | const BYTE *pbProperties); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaSample2Vtbl; | 
|  |  | 
|  | interface IMediaSample2 { | 
|  | CONST_VTBL IMediaSample2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMediaSample methods ***/ | 
|  | #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) | 
|  | #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This) | 
|  | #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) | 
|  | #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) | 
|  | #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) | 
|  | #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) | 
|  | #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) | 
|  | #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) | 
|  | #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) | 
|  | #define IMediaSample2_SetActualDataLength(This,a) (This)->lpVtbl->SetActualDataLength(This,a) | 
|  | #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) | 
|  | #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) | 
|  | #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) | 
|  | #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) | 
|  | #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) | 
|  | #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) | 
|  | /*** IMediaSample2 methods ***/ | 
|  | #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties) | 
|  | #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaSample2_AddRef(IMediaSample2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaSample2_Release(IMediaSample2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMediaSample methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) { | 
|  | return This->lpVtbl->GetPointer(This,ppBuffer); | 
|  | } | 
|  | static __WIDL_INLINE LONG IMediaSample2_GetSize(IMediaSample2* This) { | 
|  | return This->lpVtbl->GetSize(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { | 
|  | return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { | 
|  | return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) { | 
|  | return This->lpVtbl->IsSyncPoint(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) { | 
|  | return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) { | 
|  | return This->lpVtbl->IsPreroll(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) { | 
|  | return This->lpVtbl->SetPreroll(This,bIsPreroll); | 
|  | } | 
|  | static __WIDL_INLINE LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) { | 
|  | return This->lpVtbl->GetActualDataLength(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG a) { | 
|  | return This->lpVtbl->SetActualDataLength(This,a); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) { | 
|  | return This->lpVtbl->GetMediaType(This,ppMediaType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) { | 
|  | return This->lpVtbl->SetMediaType(This,pMediaType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) { | 
|  | return This->lpVtbl->IsDiscontinuity(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) { | 
|  | return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { | 
|  | return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { | 
|  | return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); | 
|  | } | 
|  | /*** IMediaSample2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) { | 
|  | return This->lpVtbl->GetProperties(This,cbProperties,pbProperties); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) { | 
|  | return This->lpVtbl->SetProperties(This,cbProperties,pbProperties); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaSample2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IMediaSample2 *PMEDIASAMPLE2; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMediaSample2Config interface | 
|  | */ | 
|  | #ifndef __IMediaSample2Config_INTERFACE_DEFINED__ | 
|  | #define __IMediaSample2Config_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("68961e68-832b-41ea-bc91-63593f3e70e3") | 
|  | IMediaSample2Config : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSurface( | 
|  | IUnknown **ppDirect3DSurface9) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaSample2Config, 0x68961e68, 0x832b, 0x41ea, 0xbc,0x91, 0x63,0x59,0x3f,0x3e,0x70,0xe3) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaSample2ConfigVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaSample2Config *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaSample2Config *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaSample2Config *This); | 
|  |  | 
|  | /*** IMediaSample2Config methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetSurface)( | 
|  | IMediaSample2Config *This, | 
|  | IUnknown **ppDirect3DSurface9); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaSample2ConfigVtbl; | 
|  |  | 
|  | interface IMediaSample2Config { | 
|  | CONST_VTBL IMediaSample2ConfigVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaSample2Config_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaSample2Config_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaSample2Config_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMediaSample2Config methods ***/ | 
|  | #define IMediaSample2Config_GetSurface(This,ppDirect3DSurface9) (This)->lpVtbl->GetSurface(This,ppDirect3DSurface9) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSample2Config_QueryInterface(IMediaSample2Config* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaSample2Config_AddRef(IMediaSample2Config* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaSample2Config_Release(IMediaSample2Config* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMediaSample2Config methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSample2Config_GetSurface(IMediaSample2Config* This,IUnknown **ppDirect3DSurface9) { | 
|  | return This->lpVtbl->GetSurface(This,ppDirect3DSurface9); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaSample2Config_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | #define AM_GBF_PREVFRAMESKIPPED 1 | 
|  | #define AM_GBF_NOTASYNCPOINT 2 | 
|  | #define AM_GBF_NOWAIT 4 | 
|  | #define AM_GBF_NODDSURFACELOCK 8 | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMemAllocator interface | 
|  | */ | 
|  | #ifndef __IMemAllocator_INTERFACE_DEFINED__ | 
|  | #define __IMemAllocator_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770") | 
|  | IMemAllocator : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetProperties( | 
|  | ALLOCATOR_PROPERTIES *pRequest, | 
|  | ALLOCATOR_PROPERTIES *pActual) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetProperties( | 
|  | ALLOCATOR_PROPERTIES *pProps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Commit( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Decommit( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetBuffer( | 
|  | IMediaSample **ppBuffer, | 
|  | REFERENCE_TIME *pStartTime, | 
|  | REFERENCE_TIME *pEndTime, | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( | 
|  | IMediaSample *pBuffer) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMemAllocatorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMemAllocator *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMemAllocator *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMemAllocator *This); | 
|  |  | 
|  | /*** IMemAllocator methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetProperties)( | 
|  | IMemAllocator *This, | 
|  | ALLOCATOR_PROPERTIES *pRequest, | 
|  | ALLOCATOR_PROPERTIES *pActual); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetProperties)( | 
|  | IMemAllocator *This, | 
|  | ALLOCATOR_PROPERTIES *pProps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Commit)( | 
|  | IMemAllocator *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Decommit)( | 
|  | IMemAllocator *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBuffer)( | 
|  | IMemAllocator *This, | 
|  | IMediaSample **ppBuffer, | 
|  | REFERENCE_TIME *pStartTime, | 
|  | REFERENCE_TIME *pEndTime, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( | 
|  | IMemAllocator *This, | 
|  | IMediaSample *pBuffer); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMemAllocatorVtbl; | 
|  |  | 
|  | interface IMemAllocator { | 
|  | CONST_VTBL IMemAllocatorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMemAllocator methods ***/ | 
|  | #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) | 
|  | #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) | 
|  | #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This) | 
|  | #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This) | 
|  | #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) | 
|  | #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMemAllocator_AddRef(IMemAllocator* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMemAllocator_Release(IMemAllocator* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMemAllocator methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { | 
|  | return This->lpVtbl->SetProperties(This,pRequest,pActual); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) { | 
|  | return This->lpVtbl->GetProperties(This,pProps); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocator_Commit(IMemAllocator* This) { | 
|  | return This->lpVtbl->Commit(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocator_Decommit(IMemAllocator* This) { | 
|  | return This->lpVtbl->Decommit(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { | 
|  | return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) { | 
|  | return This->lpVtbl->ReleaseBuffer(This,pBuffer); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMemAllocator_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IMemAllocator *PMEMALLOCATOR; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMemAllocatorCallbackTemp interface | 
|  | */ | 
|  | #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ | 
|  | #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375") | 
|  | IMemAllocatorCallbackTemp : public IMemAllocator | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetNotify( | 
|  | IMemAllocatorNotifyCallbackTemp *pNotify) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFreeCount( | 
|  | LONG *plBuffersFree) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMemAllocatorCallbackTempVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMemAllocatorCallbackTemp *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMemAllocatorCallbackTemp *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMemAllocatorCallbackTemp *This); | 
|  |  | 
|  | /*** IMemAllocator methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetProperties)( | 
|  | IMemAllocatorCallbackTemp *This, | 
|  | ALLOCATOR_PROPERTIES *pRequest, | 
|  | ALLOCATOR_PROPERTIES *pActual); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetProperties)( | 
|  | IMemAllocatorCallbackTemp *This, | 
|  | ALLOCATOR_PROPERTIES *pProps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Commit)( | 
|  | IMemAllocatorCallbackTemp *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Decommit)( | 
|  | IMemAllocatorCallbackTemp *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBuffer)( | 
|  | IMemAllocatorCallbackTemp *This, | 
|  | IMediaSample **ppBuffer, | 
|  | REFERENCE_TIME *pStartTime, | 
|  | REFERENCE_TIME *pEndTime, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)( | 
|  | IMemAllocatorCallbackTemp *This, | 
|  | IMediaSample *pBuffer); | 
|  |  | 
|  | /*** IMemAllocatorCallbackTemp methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetNotify)( | 
|  | IMemAllocatorCallbackTemp *This, | 
|  | IMemAllocatorNotifyCallbackTemp *pNotify); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFreeCount)( | 
|  | IMemAllocatorCallbackTemp *This, | 
|  | LONG *plBuffersFree); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMemAllocatorCallbackTempVtbl; | 
|  |  | 
|  | interface IMemAllocatorCallbackTemp { | 
|  | CONST_VTBL IMemAllocatorCallbackTempVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMemAllocator methods ***/ | 
|  | #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual) | 
|  | #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps) | 
|  | #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This) | 
|  | #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This) | 
|  | #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) | 
|  | #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer) | 
|  | /*** IMemAllocatorCallbackTemp methods ***/ | 
|  | #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify) | 
|  | #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_QueryInterface(IMemAllocatorCallbackTemp* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMemAllocatorCallbackTemp_AddRef(IMemAllocatorCallbackTemp* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMemAllocatorCallbackTemp_Release(IMemAllocatorCallbackTemp* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMemAllocator methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_SetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) { | 
|  | return This->lpVtbl->SetProperties(This,pRequest,pActual); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_GetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pProps) { | 
|  | return This->lpVtbl->GetProperties(This,pProps); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_Commit(IMemAllocatorCallbackTemp* This) { | 
|  | return This->lpVtbl->Commit(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_Decommit(IMemAllocatorCallbackTemp* This) { | 
|  | return This->lpVtbl->Decommit(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_GetBuffer(IMemAllocatorCallbackTemp* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) { | 
|  | return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_ReleaseBuffer(IMemAllocatorCallbackTemp* This,IMediaSample *pBuffer) { | 
|  | return This->lpVtbl->ReleaseBuffer(This,pBuffer); | 
|  | } | 
|  | /*** IMemAllocatorCallbackTemp methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_SetNotify(IMemAllocatorCallbackTemp* This,IMemAllocatorNotifyCallbackTemp *pNotify) { | 
|  | return This->lpVtbl->SetNotify(This,pNotify); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorCallbackTemp_GetFreeCount(IMemAllocatorCallbackTemp* This,LONG *plBuffersFree) { | 
|  | return This->lpVtbl->GetFreeCount(This,plBuffersFree); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMemAllocatorNotifyCallbackTemp interface | 
|  | */ | 
|  | #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ | 
|  | #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375") | 
|  | IMemAllocatorNotifyCallbackTemp : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE NotifyRelease( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMemAllocatorNotifyCallbackTempVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMemAllocatorNotifyCallbackTemp *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMemAllocatorNotifyCallbackTemp *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMemAllocatorNotifyCallbackTemp *This); | 
|  |  | 
|  | /*** IMemAllocatorNotifyCallbackTemp methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *NotifyRelease)( | 
|  | IMemAllocatorNotifyCallbackTemp *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMemAllocatorNotifyCallbackTempVtbl; | 
|  |  | 
|  | interface IMemAllocatorNotifyCallbackTemp { | 
|  | CONST_VTBL IMemAllocatorNotifyCallbackTempVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMemAllocatorNotifyCallbackTemp methods ***/ | 
|  | #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorNotifyCallbackTemp_QueryInterface(IMemAllocatorNotifyCallbackTemp* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMemAllocatorNotifyCallbackTemp_AddRef(IMemAllocatorNotifyCallbackTemp* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMemAllocatorNotifyCallbackTemp_Release(IMemAllocatorNotifyCallbackTemp* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMemAllocatorNotifyCallbackTemp methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemAllocatorNotifyCallbackTemp_NotifyRelease(IMemAllocatorNotifyCallbackTemp* This) { | 
|  | return This->lpVtbl->NotifyRelease(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */ | 
|  |  | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMemInputPin interface | 
|  | */ | 
|  | #ifndef __IMemInputPin_INTERFACE_DEFINED__ | 
|  | #define __IMemInputPin_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770") | 
|  | IMemInputPin : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllocator( | 
|  | IMemAllocator **ppAllocator) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( | 
|  | IMemAllocator *pAllocator, | 
|  | WINBOOL bReadOnly) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( | 
|  | ALLOCATOR_PROPERTIES *pProps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Receive( | 
|  | IMediaSample *pSample) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( | 
|  | IMediaSample **pSamples, | 
|  | LONG nSamples, | 
|  | LONG *nSamplesProcessed) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMemInputPinVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMemInputPin *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMemInputPin *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMemInputPin *This); | 
|  |  | 
|  | /*** IMemInputPin methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllocator)( | 
|  | IMemInputPin *This, | 
|  | IMemAllocator **ppAllocator); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *NotifyAllocator)( | 
|  | IMemInputPin *This, | 
|  | IMemAllocator *pAllocator, | 
|  | WINBOOL bReadOnly); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)( | 
|  | IMemInputPin *This, | 
|  | ALLOCATOR_PROPERTIES *pProps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Receive)( | 
|  | IMemInputPin *This, | 
|  | IMediaSample *pSample); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)( | 
|  | IMemInputPin *This, | 
|  | IMediaSample **pSamples, | 
|  | LONG nSamples, | 
|  | LONG *nSamplesProcessed); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)( | 
|  | IMemInputPin *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMemInputPinVtbl; | 
|  |  | 
|  | interface IMemInputPin { | 
|  | CONST_VTBL IMemInputPinVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMemInputPin methods ***/ | 
|  | #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator) | 
|  | #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly) | 
|  | #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps) | 
|  | #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample) | 
|  | #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) | 
|  | #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemInputPin_QueryInterface(IMemInputPin* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMemInputPin_AddRef(IMemInputPin* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMemInputPin_Release(IMemInputPin* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMemInputPin methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMemInputPin_GetAllocator(IMemInputPin* This,IMemAllocator **ppAllocator) { | 
|  | return This->lpVtbl->GetAllocator(This,ppAllocator); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemInputPin_NotifyAllocator(IMemInputPin* This,IMemAllocator *pAllocator,WINBOOL bReadOnly) { | 
|  | return This->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemInputPin_GetAllocatorRequirements(IMemInputPin* This,ALLOCATOR_PROPERTIES *pProps) { | 
|  | return This->lpVtbl->GetAllocatorRequirements(This,pProps); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemInputPin_Receive(IMemInputPin* This,IMediaSample *pSample) { | 
|  | return This->lpVtbl->Receive(This,pSample); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemInputPin_ReceiveMultiple(IMemInputPin* This,IMediaSample **pSamples,LONG nSamples,LONG *nSamplesProcessed) { | 
|  | return This->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMemInputPin_ReceiveCanBlock(IMemInputPin* This) { | 
|  | return This->lpVtbl->ReceiveCanBlock(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMemInputPin_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IMemInputPin *PMEMINPUTPIN; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMovieSetup interface | 
|  | */ | 
|  | #ifndef __IAMovieSetup_INTERFACE_DEFINED__ | 
|  | #define __IAMovieSetup_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20") | 
|  | IAMovieSetup : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Register( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Unregister( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMovieSetupVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMovieSetup *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMovieSetup *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMovieSetup *This); | 
|  |  | 
|  | /*** IAMovieSetup methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Register)( | 
|  | IAMovieSetup *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Unregister)( | 
|  | IAMovieSetup *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMovieSetupVtbl; | 
|  |  | 
|  | interface IAMovieSetup { | 
|  | CONST_VTBL IAMovieSetupVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMovieSetup methods ***/ | 
|  | #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This) | 
|  | #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMovieSetup_QueryInterface(IAMovieSetup* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMovieSetup_AddRef(IAMovieSetup* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMovieSetup_Release(IAMovieSetup* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMovieSetup methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMovieSetup_Register(IAMovieSetup* This) { | 
|  | return This->lpVtbl->Register(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMovieSetup_Unregister(IAMovieSetup* This) { | 
|  | return This->lpVtbl->Unregister(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMovieSetup_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IAMovieSetup *PAMOVIESETUP; | 
|  |  | 
|  | typedef enum AM_SEEKING_SeekingFlags { | 
|  | AM_SEEKING_NoPositioning = 0x0, | 
|  | AM_SEEKING_AbsolutePositioning = 0x1, | 
|  | AM_SEEKING_RelativePositioning = 0x2, | 
|  | AM_SEEKING_IncrementalPositioning = 0x3, | 
|  | AM_SEEKING_PositioningBitsMask = 0x3, | 
|  | AM_SEEKING_SeekToKeyFrame = 0x4, | 
|  | AM_SEEKING_ReturnTime = 0x8, | 
|  | AM_SEEKING_Segment = 0x10, | 
|  | AM_SEEKING_NoFlush = 0x20 | 
|  | } AM_SEEKING_SEEKING_FLAGS; | 
|  |  | 
|  | typedef enum AM_SEEKING_SeekingCapabilities { | 
|  | AM_SEEKING_CanSeekAbsolute = 0x1, | 
|  | AM_SEEKING_CanSeekForwards = 0x2, | 
|  | AM_SEEKING_CanSeekBackwards = 0x4, | 
|  | AM_SEEKING_CanGetCurrentPos = 0x8, | 
|  | AM_SEEKING_CanGetStopPos = 0x10, | 
|  | AM_SEEKING_CanGetDuration = 0x20, | 
|  | AM_SEEKING_CanPlayBackwards = 0x40, | 
|  | AM_SEEKING_CanDoSegments = 0x80, | 
|  | AM_SEEKING_Source = 0x100 | 
|  | } AM_SEEKING_SEEKING_CAPABILITIES; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMediaSeeking interface | 
|  | */ | 
|  | #ifndef __IMediaSeeking_INTERFACE_DEFINED__ | 
|  | #define __IMediaSeeking_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60") | 
|  | IMediaSeeking : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCapabilities( | 
|  | DWORD *pCapabilities) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( | 
|  | DWORD *pCapabilities) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( | 
|  | const GUID *pFormat) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( | 
|  | GUID *pFormat) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( | 
|  | GUID *pFormat) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( | 
|  | const GUID *pFormat) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( | 
|  | const GUID *pFormat) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDuration( | 
|  | LONGLONG *pDuration) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStopPosition( | 
|  | LONGLONG *pStop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( | 
|  | LONGLONG *pCurrent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( | 
|  | LONGLONG *pTarget, | 
|  | const GUID *pTargetFormat, | 
|  | LONGLONG Source, | 
|  | const GUID *pSourceFormat) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPositions( | 
|  | LONGLONG *pCurrent, | 
|  | DWORD dwCurrentFlags, | 
|  | LONGLONG *pStop, | 
|  | DWORD dwStopFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPositions( | 
|  | LONGLONG *pCurrent, | 
|  | LONGLONG *pStop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAvailable( | 
|  | LONGLONG *pEarliest, | 
|  | LONGLONG *pLatest) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetRate( | 
|  | double dRate) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRate( | 
|  | double *pdRate) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPreroll( | 
|  | LONGLONG *pllPreroll) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaSeekingVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaSeeking *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaSeeking *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaSeeking *This); | 
|  |  | 
|  | /*** IMediaSeeking methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetCapabilities)( | 
|  | IMediaSeeking *This, | 
|  | DWORD *pCapabilities); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CheckCapabilities)( | 
|  | IMediaSeeking *This, | 
|  | DWORD *pCapabilities); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsFormatSupported)( | 
|  | IMediaSeeking *This, | 
|  | const GUID *pFormat); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)( | 
|  | IMediaSeeking *This, | 
|  | GUID *pFormat); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTimeFormat)( | 
|  | IMediaSeeking *This, | 
|  | GUID *pFormat); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)( | 
|  | IMediaSeeking *This, | 
|  | const GUID *pFormat); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTimeFormat)( | 
|  | IMediaSeeking *This, | 
|  | const GUID *pFormat); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDuration)( | 
|  | IMediaSeeking *This, | 
|  | LONGLONG *pDuration); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStopPosition)( | 
|  | IMediaSeeking *This, | 
|  | LONGLONG *pStop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( | 
|  | IMediaSeeking *This, | 
|  | LONGLONG *pCurrent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)( | 
|  | IMediaSeeking *This, | 
|  | LONGLONG *pTarget, | 
|  | const GUID *pTargetFormat, | 
|  | LONGLONG Source, | 
|  | const GUID *pSourceFormat); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPositions)( | 
|  | IMediaSeeking *This, | 
|  | LONGLONG *pCurrent, | 
|  | DWORD dwCurrentFlags, | 
|  | LONGLONG *pStop, | 
|  | DWORD dwStopFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPositions)( | 
|  | IMediaSeeking *This, | 
|  | LONGLONG *pCurrent, | 
|  | LONGLONG *pStop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAvailable)( | 
|  | IMediaSeeking *This, | 
|  | LONGLONG *pEarliest, | 
|  | LONGLONG *pLatest); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetRate)( | 
|  | IMediaSeeking *This, | 
|  | double dRate); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRate)( | 
|  | IMediaSeeking *This, | 
|  | double *pdRate); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPreroll)( | 
|  | IMediaSeeking *This, | 
|  | LONGLONG *pllPreroll); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaSeekingVtbl; | 
|  |  | 
|  | interface IMediaSeeking { | 
|  | CONST_VTBL IMediaSeekingVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMediaSeeking methods ***/ | 
|  | #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities) | 
|  | #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities) | 
|  | #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat) | 
|  | #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat) | 
|  | #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat) | 
|  | #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat) | 
|  | #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat) | 
|  | #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) | 
|  | #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop) | 
|  | #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent) | 
|  | #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) | 
|  | #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) | 
|  | #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop) | 
|  | #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest) | 
|  | #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate) | 
|  | #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate) | 
|  | #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_QueryInterface(IMediaSeeking* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaSeeking_AddRef(IMediaSeeking* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaSeeking_Release(IMediaSeeking* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMediaSeeking methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { | 
|  | return This->lpVtbl->GetCapabilities(This,pCapabilities); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_CheckCapabilities(IMediaSeeking* This,DWORD *pCapabilities) { | 
|  | return This->lpVtbl->CheckCapabilities(This,pCapabilities); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_IsFormatSupported(IMediaSeeking* This,const GUID *pFormat) { | 
|  | return This->lpVtbl->IsFormatSupported(This,pFormat); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_QueryPreferredFormat(IMediaSeeking* This,GUID *pFormat) { | 
|  | return This->lpVtbl->QueryPreferredFormat(This,pFormat); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetTimeFormat(IMediaSeeking* This,GUID *pFormat) { | 
|  | return This->lpVtbl->GetTimeFormat(This,pFormat); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_IsUsingTimeFormat(IMediaSeeking* This,const GUID *pFormat) { | 
|  | return This->lpVtbl->IsUsingTimeFormat(This,pFormat); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_SetTimeFormat(IMediaSeeking* This,const GUID *pFormat) { | 
|  | return This->lpVtbl->SetTimeFormat(This,pFormat); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetDuration(IMediaSeeking* This,LONGLONG *pDuration) { | 
|  | return This->lpVtbl->GetDuration(This,pDuration); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetStopPosition(IMediaSeeking* This,LONGLONG *pStop) { | 
|  | return This->lpVtbl->GetStopPosition(This,pStop); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetCurrentPosition(IMediaSeeking* This,LONGLONG *pCurrent) { | 
|  | return This->lpVtbl->GetCurrentPosition(This,pCurrent); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_ConvertTimeFormat(IMediaSeeking* This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) { | 
|  | return This->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_SetPositions(IMediaSeeking* This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) { | 
|  | return This->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetPositions(IMediaSeeking* This,LONGLONG *pCurrent,LONGLONG *pStop) { | 
|  | return This->lpVtbl->GetPositions(This,pCurrent,pStop); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetAvailable(IMediaSeeking* This,LONGLONG *pEarliest,LONGLONG *pLatest) { | 
|  | return This->lpVtbl->GetAvailable(This,pEarliest,pLatest); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_SetRate(IMediaSeeking* This,double dRate) { | 
|  | return This->lpVtbl->SetRate(This,dRate); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetRate(IMediaSeeking* This,double *pdRate) { | 
|  | return This->lpVtbl->GetRate(This,pdRate); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaSeeking_GetPreroll(IMediaSeeking* This,LONGLONG *pllPreroll) { | 
|  | return This->lpVtbl->GetPreroll(This,pllPreroll); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaSeeking_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IMediaSeeking *PMEDIASEEKING; | 
|  |  | 
|  | enum tagAM_MEDIAEVENT_FLAGS { | 
|  | AM_MEDIAEVENT_NONOTIFY = 0x1 | 
|  | }; | 
|  |  | 
|  | #endif | 
|  | #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ | 
|  | #define __IAMAnalogVideoDecoder_FWD_DEFINED__ | 
|  | typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder; | 
|  | #ifdef __cplusplus | 
|  | interface IAMAnalogVideoDecoder; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ | 
|  | #define __IAMAnalogVideoEncoder_FWD_DEFINED__ | 
|  | typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder; | 
|  | #ifdef __cplusplus | 
|  | interface IAMAnalogVideoEncoder; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAudioInputMixer_FWD_DEFINED__ | 
|  | #define __IAMAudioInputMixer_FWD_DEFINED__ | 
|  | typedef interface IAMAudioInputMixer IAMAudioInputMixer; | 
|  | #ifdef __cplusplus | 
|  | interface IAMAudioInputMixer; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAudioRendererStats_FWD_DEFINED__ | 
|  | #define __IAMAudioRendererStats_FWD_DEFINED__ | 
|  | typedef interface IAMAudioRendererStats IAMAudioRendererStats; | 
|  | #ifdef __cplusplus | 
|  | interface IAMAudioRendererStats; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMBufferNegotiation_FWD_DEFINED__ | 
|  | #define __IAMBufferNegotiation_FWD_DEFINED__ | 
|  | typedef interface IAMBufferNegotiation IAMBufferNegotiation; | 
|  | #ifdef __cplusplus | 
|  | interface IAMBufferNegotiation; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMCameraControl_FWD_DEFINED__ | 
|  | #define __IAMCameraControl_FWD_DEFINED__ | 
|  | typedef interface IAMCameraControl IAMCameraControl; | 
|  | #ifdef __cplusplus | 
|  | interface IAMCameraControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__ | 
|  | #define __IAMCertifiedOutputProtection_FWD_DEFINED__ | 
|  | typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection; | 
|  | #ifdef __cplusplus | 
|  | interface IAMCertifiedOutputProtection; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMClockSlave_FWD_DEFINED__ | 
|  | #define __IAMClockSlave_FWD_DEFINED__ | 
|  | typedef interface IAMClockSlave IAMClockSlave; | 
|  | #ifdef __cplusplus | 
|  | interface IAMClockSlave; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__ | 
|  | #define __IAMCopyCaptureFileProgress_FWD_DEFINED__ | 
|  | typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress; | 
|  | #ifdef __cplusplus | 
|  | interface IAMCopyCaptureFileProgress; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMCrossbar_FWD_DEFINED__ | 
|  | #define __IAMCrossbar_FWD_DEFINED__ | 
|  | typedef interface IAMCrossbar IAMCrossbar; | 
|  | #ifdef __cplusplus | 
|  | interface IAMCrossbar; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ | 
|  | #define __IAMDevMemoryAllocator_FWD_DEFINED__ | 
|  | typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator; | 
|  | #ifdef __cplusplus | 
|  | interface IAMDevMemoryAllocator; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMDevMemoryControl_FWD_DEFINED__ | 
|  | #define __IAMDevMemoryControl_FWD_DEFINED__ | 
|  | typedef interface IAMDevMemoryControl IAMDevMemoryControl; | 
|  | #ifdef __cplusplus | 
|  | interface IAMDevMemoryControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMDroppedFrames_FWD_DEFINED__ | 
|  | #define __IAMDroppedFrames_FWD_DEFINED__ | 
|  | typedef interface IAMDroppedFrames IAMDroppedFrames; | 
|  | #ifdef __cplusplus | 
|  | interface IAMDroppedFrames; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMExtDevice_FWD_DEFINED__ | 
|  | #define __IAMExtDevice_FWD_DEFINED__ | 
|  | typedef interface IAMExtDevice IAMExtDevice; | 
|  | #ifdef __cplusplus | 
|  | interface IAMExtDevice; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMExtTransport_FWD_DEFINED__ | 
|  | #define __IAMExtTransport_FWD_DEFINED__ | 
|  | typedef interface IAMExtTransport IAMExtTransport; | 
|  | #ifdef __cplusplus | 
|  | interface IAMExtTransport; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMGraphStreams_FWD_DEFINED__ | 
|  | #define __IAMGraphStreams_FWD_DEFINED__ | 
|  | typedef interface IAMGraphStreams IAMGraphStreams; | 
|  | #ifdef __cplusplus | 
|  | interface IAMGraphStreams; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMLatency_FWD_DEFINED__ | 
|  | #define __IAMLatency_FWD_DEFINED__ | 
|  | typedef interface IAMLatency IAMLatency; | 
|  | #ifdef __cplusplus | 
|  | interface IAMLatency; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMOpenProgress_FWD_DEFINED__ | 
|  | #define __IAMOpenProgress_FWD_DEFINED__ | 
|  | typedef interface IAMOpenProgress IAMOpenProgress; | 
|  | #ifdef __cplusplus | 
|  | interface IAMOpenProgress; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMOverlayFX_FWD_DEFINED__ | 
|  | #define __IAMOverlayFX_FWD_DEFINED__ | 
|  | typedef interface IAMOverlayFX IAMOverlayFX; | 
|  | #ifdef __cplusplus | 
|  | interface IAMOverlayFX; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ | 
|  | #define __IAMPhysicalPinInfo_FWD_DEFINED__ | 
|  | typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo; | 
|  | #ifdef __cplusplus | 
|  | interface IAMPhysicalPinInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMPushSource_FWD_DEFINED__ | 
|  | #define __IAMPushSource_FWD_DEFINED__ | 
|  | typedef interface IAMPushSource IAMPushSource; | 
|  | #ifdef __cplusplus | 
|  | interface IAMPushSource; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMStreamConfig_FWD_DEFINED__ | 
|  | #define __IAMStreamConfig_FWD_DEFINED__ | 
|  | typedef interface IAMStreamConfig IAMStreamConfig; | 
|  | #ifdef __cplusplus | 
|  | interface IAMStreamConfig; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ | 
|  | #define __IAMTimecodeDisplay_FWD_DEFINED__ | 
|  | typedef interface IAMTimecodeDisplay IAMTimecodeDisplay; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimecodeDisplay; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ | 
|  | #define __IAMTimecodeGenerator_FWD_DEFINED__ | 
|  | typedef interface IAMTimecodeGenerator IAMTimecodeGenerator; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimecodeGenerator; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimecodeReader_FWD_DEFINED__ | 
|  | #define __IAMTimecodeReader_FWD_DEFINED__ | 
|  | typedef interface IAMTimecodeReader IAMTimecodeReader; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimecodeReader; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTVTuner_FWD_DEFINED__ | 
|  | #define __IAMTVTuner_FWD_DEFINED__ | 
|  | typedef interface IAMTVTuner IAMTVTuner; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTVTuner; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__ | 
|  | #define __IAMVfwCaptureDialogs_FWD_DEFINED__ | 
|  | typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVfwCaptureDialogs; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ | 
|  | #define __IAMVfwCompressDialogs_FWD_DEFINED__ | 
|  | typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVfwCompressDialogs; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVideoCompression_FWD_DEFINED__ | 
|  | #define __IAMVideoCompression_FWD_DEFINED__ | 
|  | typedef interface IAMVideoCompression IAMVideoCompression; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVideoCompression; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ | 
|  | #define __IAMVideoDecimationProperties_FWD_DEFINED__ | 
|  | typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVideoDecimationProperties; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVideoProcAmp_FWD_DEFINED__ | 
|  | #define __IAMVideoProcAmp_FWD_DEFINED__ | 
|  | typedef interface IAMVideoProcAmp IAMVideoProcAmp; | 
|  | #ifdef __cplusplus | 
|  | interface IAMVideoProcAmp; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__ | 
|  | #define __IAMGraphBuilderCallback_FWD_DEFINED__ | 
|  | typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback; | 
|  | #ifdef __cplusplus | 
|  | interface IAMGraphBuilderCallback; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICaptureGraphBuilder_FWD_DEFINED__ | 
|  | #define __ICaptureGraphBuilder_FWD_DEFINED__ | 
|  | typedef interface ICaptureGraphBuilder ICaptureGraphBuilder; | 
|  | #ifdef __cplusplus | 
|  | interface ICaptureGraphBuilder; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__ | 
|  | #define __ICaptureGraphBuilder2_FWD_DEFINED__ | 
|  | typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2; | 
|  | #ifdef __cplusplus | 
|  | interface ICaptureGraphBuilder2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IConfigAviMux_FWD_DEFINED__ | 
|  | #define __IConfigAviMux_FWD_DEFINED__ | 
|  | typedef interface IConfigAviMux IConfigAviMux; | 
|  | #ifdef __cplusplus | 
|  | interface IConfigAviMux; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IConfigInterleaving_FWD_DEFINED__ | 
|  | #define __IConfigInterleaving_FWD_DEFINED__ | 
|  | typedef interface IConfigInterleaving IConfigInterleaving; | 
|  | #ifdef __cplusplus | 
|  | interface IConfigInterleaving; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDecimateVideoImage_FWD_DEFINED__ | 
|  | #define __IDecimateVideoImage_FWD_DEFINED__ | 
|  | typedef interface IDecimateVideoImage IDecimateVideoImage; | 
|  | #ifdef __cplusplus | 
|  | interface IDecimateVideoImage; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDrawVideoImage_FWD_DEFINED__ | 
|  | #define __IDrawVideoImage_FWD_DEFINED__ | 
|  | typedef interface IDrawVideoImage IDrawVideoImage; | 
|  | #ifdef __cplusplus | 
|  | interface IDrawVideoImage; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumRegFilters_FWD_DEFINED__ | 
|  | #define __IEnumRegFilters_FWD_DEFINED__ | 
|  | typedef interface IEnumRegFilters IEnumRegFilters; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumRegFilters; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumStreamIdMap_FWD_DEFINED__ | 
|  | #define __IEnumStreamIdMap_FWD_DEFINED__ | 
|  | typedef interface IEnumStreamIdMap IEnumStreamIdMap; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumStreamIdMap; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFileSourceFilter_FWD_DEFINED__ | 
|  | #define __IFileSourceFilter_FWD_DEFINED__ | 
|  | typedef interface IFileSourceFilter IFileSourceFilter; | 
|  | #ifdef __cplusplus | 
|  | interface IFileSourceFilter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFileSinkFilter_FWD_DEFINED__ | 
|  | #define __IFileSinkFilter_FWD_DEFINED__ | 
|  | typedef interface IFileSinkFilter IFileSinkFilter; | 
|  | #ifdef __cplusplus | 
|  | interface IFileSinkFilter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFileSinkFilter2_FWD_DEFINED__ | 
|  | #define __IFileSinkFilter2_FWD_DEFINED__ | 
|  | typedef interface IFileSinkFilter2 IFileSinkFilter2; | 
|  | #ifdef __cplusplus | 
|  | interface IFileSinkFilter2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterMapper_FWD_DEFINED__ | 
|  | #define __IFilterMapper_FWD_DEFINED__ | 
|  | typedef interface IFilterMapper IFilterMapper; | 
|  | #ifdef __cplusplus | 
|  | interface IFilterMapper; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterMapper2_FWD_DEFINED__ | 
|  | #define __IFilterMapper2_FWD_DEFINED__ | 
|  | typedef interface IFilterMapper2 IFilterMapper2; | 
|  | #ifdef __cplusplus | 
|  | interface IFilterMapper2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IGraphBuilder_FWD_DEFINED__ | 
|  | #define __IGraphBuilder_FWD_DEFINED__ | 
|  | typedef interface IGraphBuilder IGraphBuilder; | 
|  | #ifdef __cplusplus | 
|  | interface IGraphBuilder; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IKsPropertySet_FWD_DEFINED__ | 
|  | #define __IKsPropertySet_FWD_DEFINED__ | 
|  | typedef interface IKsPropertySet IKsPropertySet; | 
|  | #ifdef __cplusplus | 
|  | interface IKsPropertySet; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMediaEventSink_FWD_DEFINED__ | 
|  | #define __IMediaEventSink_FWD_DEFINED__ | 
|  | typedef interface IMediaEventSink IMediaEventSink; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaEventSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ | 
|  | #define __IMpeg2Demultiplexer_FWD_DEFINED__ | 
|  | typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer; | 
|  | #ifdef __cplusplus | 
|  | interface IMpeg2Demultiplexer; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ | 
|  | #define __IMPEG2StreamIdMap_FWD_DEFINED__ | 
|  | typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap; | 
|  | #ifdef __cplusplus | 
|  | interface IMPEG2StreamIdMap; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IOverlay_FWD_DEFINED__ | 
|  | #define __IOverlay_FWD_DEFINED__ | 
|  | typedef interface IOverlay IOverlay; | 
|  | #ifdef __cplusplus | 
|  | interface IOverlay; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IOverlayNotify_FWD_DEFINED__ | 
|  | #define __IOverlayNotify_FWD_DEFINED__ | 
|  | typedef interface IOverlayNotify IOverlayNotify; | 
|  | #ifdef __cplusplus | 
|  | interface IOverlayNotify; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IOverlayNotify2_FWD_DEFINED__ | 
|  | #define __IOverlayNotify2_FWD_DEFINED__ | 
|  | typedef interface IOverlayNotify2 IOverlayNotify2; | 
|  | #ifdef __cplusplus | 
|  | interface IOverlayNotify2; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IQualityControl_FWD_DEFINED__ | 
|  | #define __IQualityControl_FWD_DEFINED__ | 
|  | typedef interface IQualityControl IQualityControl; | 
|  | #ifdef __cplusplus | 
|  | interface IQualityControl; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ISeekingPassThru_FWD_DEFINED__ | 
|  | #define __ISeekingPassThru_FWD_DEFINED__ | 
|  | typedef interface ISeekingPassThru ISeekingPassThru; | 
|  | #ifdef __cplusplus | 
|  | interface ISeekingPassThru; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | typedef enum tagAnalogVideoStandard { | 
|  | AnalogVideo_None = 0x0, | 
|  | AnalogVideo_NTSC_M = 0x1, | 
|  | AnalogVideo_NTSC_M_J = 0x2, | 
|  | AnalogVideo_NTSC_433 = 0x4, | 
|  | AnalogVideo_PAL_B = 0x10, | 
|  | AnalogVideo_PAL_D = 0x20, | 
|  | AnalogVideo_PAL_G = 0x40, | 
|  | AnalogVideo_PAL_H = 0x80, | 
|  | AnalogVideo_PAL_I = 0x100, | 
|  | AnalogVideo_PAL_M = 0x200, | 
|  | AnalogVideo_PAL_N = 0x400, | 
|  | AnalogVideo_PAL_60 = 0x800, | 
|  | AnalogVideo_SECAM_B = 0x1000, | 
|  | AnalogVideo_SECAM_D = 0x2000, | 
|  | AnalogVideo_SECAM_G = 0x4000, | 
|  | AnalogVideo_SECAM_H = 0x8000, | 
|  | AnalogVideo_SECAM_K = 0x10000, | 
|  | AnalogVideo_SECAM_K1 = 0x20000, | 
|  | AnalogVideo_SECAM_L = 0x40000, | 
|  | AnalogVideo_SECAM_L1 = 0x80000, | 
|  | AnalogVideo_PAL_N_COMBO = 0x100000, | 
|  | 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, | 
|  | AnalogVideoMask_MCE_PAL = (((AnalogVideo_PAL_B | AnalogVideo_PAL_D) | AnalogVideo_PAL_G) | AnalogVideo_PAL_H) | AnalogVideo_PAL_I, | 
|  | 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 | 
|  | } AnalogVideoStandard; | 
|  | typedef enum tagTunerInputType { | 
|  | TunerInputCable = 0, | 
|  | TunerInputAntenna = 1 | 
|  | } TunerInputType; | 
|  | typedef struct __WIDL_strmif_generated_name_0000000F { | 
|  | CLSID Clsid; | 
|  | LPWSTR Name; | 
|  | } REGFILTER; | 
|  | typedef enum tagTVAudioMode { | 
|  | AMTVAUDIO_MODE_MONO = 0x1, | 
|  | AMTVAUDIO_MODE_STEREO = 0x2, | 
|  | AMTVAUDIO_MODE_LANG_A = 0x10, | 
|  | AMTVAUDIO_MODE_LANG_B = 0x20, | 
|  | AMTVAUDIO_MODE_LANG_C = 0x40, | 
|  | AMTVAUDIO_PRESET_STEREO = 0x200, | 
|  | AMTVAUDIO_PRESET_LANG_A = 0x1000, | 
|  | AMTVAUDIO_PRESET_LANG_B = 0x2000, | 
|  | AMTVAUDIO_PRESET_LANG_C = 0x4000 | 
|  | } TVAudioMode; | 
|  | /***************************************************************************** | 
|  | * IEnumRegFilters interface | 
|  | */ | 
|  | #ifndef __IEnumRegFilters_INTERFACE_DEFINED__ | 
|  | #define __IEnumRegFilters_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770") | 
|  | IEnumRegFilters : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG cFilters, | 
|  | REGFILTER **apRegFilter, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG cFilters) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumRegFilters **ppEnum) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumRegFiltersVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumRegFilters *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumRegFilters *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumRegFilters *This); | 
|  |  | 
|  | /*** IEnumRegFilters methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumRegFilters *This, | 
|  | ULONG cFilters, | 
|  | REGFILTER **apRegFilter, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumRegFilters *This, | 
|  | ULONG cFilters); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumRegFilters *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumRegFilters *This, | 
|  | IEnumRegFilters **ppEnum); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumRegFiltersVtbl; | 
|  |  | 
|  | interface IEnumRegFilters { | 
|  | CONST_VTBL IEnumRegFiltersVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumRegFilters methods ***/ | 
|  | #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched) | 
|  | #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters) | 
|  | #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumRegFilters_QueryInterface(IEnumRegFilters* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumRegFilters_AddRef(IEnumRegFilters* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IEnumRegFilters_Release(IEnumRegFilters* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumRegFilters methods ***/ | 
|  | static __WIDL_INLINE HRESULT IEnumRegFilters_Next(IEnumRegFilters* This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumRegFilters_Skip(IEnumRegFilters* This,ULONG cFilters) { | 
|  | return This->lpVtbl->Skip(This,cFilters); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumRegFilters_Reset(IEnumRegFilters* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IEnumRegFilters_Clone(IEnumRegFilters* This,IEnumRegFilters **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumRegFilters_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IEnumRegFilters *PENUMREGFILTERS; | 
|  | /***************************************************************************** | 
|  | * IFilterMapper interface | 
|  | */ | 
|  | #ifndef __IFilterMapper_INTERFACE_DEFINED__ | 
|  | #define __IFilterMapper_INTERFACE_DEFINED__ | 
|  |  | 
|  | enum { | 
|  | MERIT_PREFERRED = 0x800000, | 
|  | MERIT_NORMAL = 0x600000, | 
|  | MERIT_UNLIKELY = 0x400000, | 
|  | MERIT_DO_NOT_USE = 0x200000, | 
|  | MERIT_SW_COMPRESSOR = 0x100000, | 
|  | MERIT_HW_COMPRESSOR = 0x100050 | 
|  | }; | 
|  | DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770") | 
|  | IFilterMapper : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterFilter( | 
|  | CLSID clsid, | 
|  | LPCWSTR Name, | 
|  | DWORD dwMerit) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( | 
|  | CLSID clsid, | 
|  | LPCWSTR Name, | 
|  | CLSID *MRId) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterPin( | 
|  | CLSID Filter, | 
|  | LPCWSTR Name, | 
|  | WINBOOL bRendered, | 
|  | WINBOOL bOutput, | 
|  | WINBOOL bZero, | 
|  | WINBOOL bMany, | 
|  | CLSID ConnectsToFilter, | 
|  | LPCWSTR ConnectsToPin) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterPinType( | 
|  | CLSID clsFilter, | 
|  | LPCWSTR strName, | 
|  | CLSID clsMajorType, | 
|  | CLSID clsSubType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( | 
|  | CLSID Filter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( | 
|  | CLSID MRId) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterPin( | 
|  | CLSID Filter, | 
|  | LPCWSTR Name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( | 
|  | IEnumRegFilters **ppEnum, | 
|  | DWORD dwMerit, | 
|  | WINBOOL bInputNeeded, | 
|  | CLSID clsInMaj, | 
|  | CLSID clsInSub, | 
|  | WINBOOL bRender, | 
|  | WINBOOL bOutputNeeded, | 
|  | CLSID clsOutMaj, | 
|  | CLSID clsOutSub) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IFilterMapperVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IFilterMapper *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IFilterMapper *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IFilterMapper *This); | 
|  |  | 
|  | /*** IFilterMapper methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterFilter)( | 
|  | IFilterMapper *This, | 
|  | CLSID clsid, | 
|  | LPCWSTR Name, | 
|  | DWORD dwMerit); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)( | 
|  | IFilterMapper *This, | 
|  | CLSID clsid, | 
|  | LPCWSTR Name, | 
|  | CLSID *MRId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterPin)( | 
|  | IFilterMapper *This, | 
|  | CLSID Filter, | 
|  | LPCWSTR Name, | 
|  | WINBOOL bRendered, | 
|  | WINBOOL bOutput, | 
|  | WINBOOL bZero, | 
|  | WINBOOL bMany, | 
|  | CLSID ConnectsToFilter, | 
|  | LPCWSTR ConnectsToPin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterPinType)( | 
|  | IFilterMapper *This, | 
|  | CLSID clsFilter, | 
|  | LPCWSTR strName, | 
|  | CLSID clsMajorType, | 
|  | CLSID clsSubType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( | 
|  | IFilterMapper *This, | 
|  | CLSID Filter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)( | 
|  | IFilterMapper *This, | 
|  | CLSID MRId); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterPin)( | 
|  | IFilterMapper *This, | 
|  | CLSID Filter, | 
|  | LPCWSTR Name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)( | 
|  | IFilterMapper *This, | 
|  | IEnumRegFilters **ppEnum, | 
|  | DWORD dwMerit, | 
|  | WINBOOL bInputNeeded, | 
|  | CLSID clsInMaj, | 
|  | CLSID clsInSub, | 
|  | WINBOOL bRender, | 
|  | WINBOOL bOutputNeeded, | 
|  | CLSID clsOutMaj, | 
|  | CLSID clsOutSub); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IFilterMapperVtbl; | 
|  |  | 
|  | interface IFilterMapper { | 
|  | CONST_VTBL IFilterMapperVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFilterMapper methods ***/ | 
|  | #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit) | 
|  | #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId) | 
|  | #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) | 
|  | #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) | 
|  | #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter) | 
|  | #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId) | 
|  | #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name) | 
|  | #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) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_QueryInterface(IFilterMapper* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterMapper_AddRef(IFilterMapper* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterMapper_Release(IFilterMapper* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFilterMapper methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_RegisterFilter(IFilterMapper* This,CLSID clsid,LPCWSTR Name,DWORD dwMerit) { | 
|  | return This->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_RegisterFilterInstance(IFilterMapper* This,CLSID clsid,LPCWSTR Name,CLSID *MRId) { | 
|  | return This->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_RegisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) { | 
|  | return This->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_RegisterPinType(IFilterMapper* This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) { | 
|  | return This->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_UnregisterFilter(IFilterMapper* This,CLSID Filter) { | 
|  | return This->lpVtbl->UnregisterFilter(This,Filter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_UnregisterFilterInstance(IFilterMapper* This,CLSID MRId) { | 
|  | return This->lpVtbl->UnregisterFilterInstance(This,MRId); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_UnregisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name) { | 
|  | return This->lpVtbl->UnregisterPin(This,Filter,Name); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper_EnumMatchingFilters(IFilterMapper* This,IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOutputNeeded,CLSID clsOutMaj,CLSID clsOutSub) { | 
|  | return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOutputNeeded,clsOutMaj,clsOutSub); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IFilterMapper_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef struct __WIDL_strmif_generated_name_00000010 { | 
|  | const CLSID *clsMajorType; | 
|  | const CLSID *clsMinorType; | 
|  | } REGPINTYPES; | 
|  | typedef struct __WIDL_strmif_generated_name_00000011 { | 
|  | LPWSTR strName; | 
|  | WINBOOL bRendered; | 
|  | WINBOOL bOutput; | 
|  | WINBOOL bZero; | 
|  | WINBOOL bMany; | 
|  | const CLSID *clsConnectsToFilter; | 
|  | const WCHAR *strConnectsToPin; | 
|  | UINT nMediaTypes; | 
|  | const REGPINTYPES *lpMediaType; | 
|  | } REGFILTERPINS; | 
|  | typedef struct __WIDL_strmif_generated_name_00000012 { | 
|  | CLSID clsMedium; | 
|  | DWORD dw1; | 
|  | DWORD dw2; | 
|  | } REGPINMEDIUM; | 
|  | enum { | 
|  | REG_PINFLAG_B_ZERO = 0x1, | 
|  | REG_PINFLAG_B_RENDERER = 0x2, | 
|  | REG_PINFLAG_B_MANY = 0x4, | 
|  | REG_PINFLAG_B_OUTPUT = 0x8 | 
|  | }; | 
|  | typedef struct __WIDL_strmif_generated_name_00000013 { | 
|  | DWORD dwFlags; | 
|  | UINT cInstances; | 
|  | UINT nMediaTypes; | 
|  | const REGPINTYPES *lpMediaType; | 
|  | UINT nMediums; | 
|  | const REGPINMEDIUM *lpMedium; | 
|  | const CLSID *clsPinCategory; | 
|  | } REGFILTERPINS2; | 
|  | typedef struct __WIDL_strmif_generated_name_00000014 { | 
|  | DWORD dwVersion; | 
|  | DWORD dwMerit; | 
|  | __C89_NAMELESS union { | 
|  | __C89_NAMELESS struct { | 
|  | ULONG cPins; | 
|  | const REGFILTERPINS *rgPins; | 
|  | } __C89_NAMELESSSTRUCTNAME1; | 
|  | __C89_NAMELESS struct { | 
|  | ULONG cPins2; | 
|  | const REGFILTERPINS2 *rgPins2; | 
|  | } __C89_NAMELESSSTRUCTNAME2; | 
|  | } __C89_NAMELESSUNIONNAME; | 
|  | } REGFILTER2; | 
|  | /***************************************************************************** | 
|  | * IFilterMapper2 interface | 
|  | */ | 
|  | #ifndef __IFilterMapper2_INTERFACE_DEFINED__ | 
|  | #define __IFilterMapper2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375") | 
|  | IFilterMapper2 : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateCategory( | 
|  | REFCLSID clsidCategory, | 
|  | DWORD dwCategoryMerit, | 
|  | LPCWSTR Description) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( | 
|  | const CLSID *pclsidCategory, | 
|  | LPCOLESTR szInstance, | 
|  | REFCLSID Filter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterFilter( | 
|  | REFCLSID clsidFilter, | 
|  | LPCWSTR Name, | 
|  | IMoniker **ppMoniker, | 
|  | const CLSID *pclsidCategory, | 
|  | LPCOLESTR szInstance, | 
|  | const REGFILTER2 *prf2) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( | 
|  | 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) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IFilterMapper2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IFilterMapper2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IFilterMapper2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IFilterMapper2 *This); | 
|  |  | 
|  | /*** IFilterMapper2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *CreateCategory)( | 
|  | IFilterMapper2 *This, | 
|  | REFCLSID clsidCategory, | 
|  | DWORD dwCategoryMerit, | 
|  | LPCWSTR Description); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( | 
|  | IFilterMapper2 *This, | 
|  | const CLSID *pclsidCategory, | 
|  | LPCOLESTR szInstance, | 
|  | REFCLSID Filter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterFilter)( | 
|  | IFilterMapper2 *This, | 
|  | REFCLSID clsidFilter, | 
|  | LPCWSTR Name, | 
|  | IMoniker **ppMoniker, | 
|  | const CLSID *pclsidCategory, | 
|  | LPCOLESTR szInstance, | 
|  | const REGFILTER2 *prf2); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *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); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IFilterMapper2Vtbl; | 
|  |  | 
|  | interface IFilterMapper2 { | 
|  | CONST_VTBL IFilterMapper2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFilterMapper2 methods ***/ | 
|  | #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) | 
|  | #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) | 
|  | #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) | 
|  | #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) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterMapper2_QueryInterface(IFilterMapper2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterMapper2_AddRef(IFilterMapper2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterMapper2_Release(IFilterMapper2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFilterMapper2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterMapper2_CreateCategory(IFilterMapper2* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { | 
|  | return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper2_UnregisterFilter(IFilterMapper2* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { | 
|  | return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper2_RegisterFilter(IFilterMapper2* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { | 
|  | return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); | 
|  | } | 
|  | static __WIDL_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) { | 
|  | return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IFilterMapper2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IFilterMapper3 interface | 
|  | */ | 
|  | #ifndef __IFilterMapper3_INTERFACE_DEFINED__ | 
|  | #define __IFilterMapper3_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375") | 
|  | IFilterMapper3 : public IFilterMapper2 | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( | 
|  | ICreateDevEnum **ppEnum) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IFilterMapper3Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IFilterMapper3 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IFilterMapper3 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IFilterMapper3 *This); | 
|  |  | 
|  | /*** IFilterMapper2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *CreateCategory)( | 
|  | IFilterMapper3 *This, | 
|  | REFCLSID clsidCategory, | 
|  | DWORD dwCategoryMerit, | 
|  | LPCWSTR Description); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterFilter)( | 
|  | IFilterMapper3 *This, | 
|  | const CLSID *pclsidCategory, | 
|  | LPCOLESTR szInstance, | 
|  | REFCLSID Filter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterFilter)( | 
|  | IFilterMapper3 *This, | 
|  | REFCLSID clsidFilter, | 
|  | LPCWSTR Name, | 
|  | IMoniker **ppMoniker, | 
|  | const CLSID *pclsidCategory, | 
|  | LPCOLESTR szInstance, | 
|  | const REGFILTER2 *prf2); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *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); | 
|  |  | 
|  | /*** IFilterMapper3 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)( | 
|  | IFilterMapper3 *This, | 
|  | ICreateDevEnum **ppEnum); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IFilterMapper3Vtbl; | 
|  |  | 
|  | interface IFilterMapper3 { | 
|  | CONST_VTBL IFilterMapper3Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFilterMapper2 methods ***/ | 
|  | #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description) | 
|  | #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter) | 
|  | #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) | 
|  | #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) | 
|  | /*** IFilterMapper3 methods ***/ | 
|  | #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterMapper3_QueryInterface(IFilterMapper3* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterMapper3_AddRef(IFilterMapper3* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterMapper3_Release(IFilterMapper3* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFilterMapper2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterMapper3_CreateCategory(IFilterMapper3* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) { | 
|  | return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper3_UnregisterFilter(IFilterMapper3* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) { | 
|  | return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterMapper3_RegisterFilter(IFilterMapper3* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) { | 
|  | return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2); | 
|  | } | 
|  | static __WIDL_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) { | 
|  | return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut); | 
|  | } | 
|  | /*** IFilterMapper3 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterMapper3_GetICreateDevEnum(IFilterMapper3* This,ICreateDevEnum **ppEnum) { | 
|  | return This->lpVtbl->GetICreateDevEnum(This,ppEnum); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IFilterMapper3_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum tagQualityMessageType { | 
|  | Famine = 0, | 
|  | Flood = 1 | 
|  | } QualityMessageType; | 
|  | typedef struct tagQuality { | 
|  | QualityMessageType Type; | 
|  | LONG Proportion; | 
|  | REFERENCE_TIME Late; | 
|  | REFERENCE_TIME TimeStamp; | 
|  | } Quality; | 
|  | typedef IQualityControl *PQUALITYCONTROL; | 
|  | /***************************************************************************** | 
|  | * IQualityControl interface | 
|  | */ | 
|  | #ifndef __IQualityControl_INTERFACE_DEFINED__ | 
|  | #define __IQualityControl_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770") | 
|  | IQualityControl : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Notify( | 
|  | IBaseFilter *pSelf, | 
|  | Quality q) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSink( | 
|  | IQualityControl *piqc) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IQualityControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IQualityControl *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IQualityControl *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IQualityControl *This); | 
|  |  | 
|  | /*** IQualityControl methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Notify)( | 
|  | IQualityControl *This, | 
|  | IBaseFilter *pSelf, | 
|  | Quality q); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSink)( | 
|  | IQualityControl *This, | 
|  | IQualityControl *piqc); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IQualityControlVtbl; | 
|  |  | 
|  | interface IQualityControl { | 
|  | CONST_VTBL IQualityControlVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IQualityControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IQualityControl methods ***/ | 
|  | #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q) | 
|  | #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IQualityControl_QueryInterface(IQualityControl* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IQualityControl_AddRef(IQualityControl* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IQualityControl_Release(IQualityControl* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IQualityControl methods ***/ | 
|  | static __WIDL_INLINE HRESULT IQualityControl_Notify(IQualityControl* This,IBaseFilter *pSelf,Quality q) { | 
|  | return This->lpVtbl->Notify(This,pSelf,q); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IQualityControl_SetSink(IQualityControl* This,IQualityControl *piqc) { | 
|  | return This->lpVtbl->SetSink(This,piqc); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IQualityControl_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | enum { | 
|  | CK_NOCOLORKEY = 0x0, | 
|  | CK_INDEX = 0x1, | 
|  | CK_RGB = 0x2 | 
|  | }; | 
|  | typedef struct tagCOLORKEY { | 
|  | DWORD KeyType; | 
|  | DWORD PaletteIndex; | 
|  | COLORREF LowColorValue; | 
|  | COLORREF HighColorValue; | 
|  | } COLORKEY; | 
|  | enum { | 
|  | ADVISE_NONE = 0x0, | 
|  | ADVISE_CLIPPING = 0x1, | 
|  | ADVISE_PALETTE = 0x2, | 
|  | ADVISE_COLORKEY = 0x4, | 
|  | ADVISE_POSITION = 0x8, | 
|  | ADVISE_DISPLAY_CHANGE = 0x10 | 
|  | }; | 
|  | #define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION) | 
|  |  | 
|  | #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE) | 
|  |  | 
|  | #ifndef _WINGDI_ | 
|  | typedef struct _RGNDATAHEADER { | 
|  | DWORD dwSize; | 
|  | DWORD iType; | 
|  | DWORD nCount; | 
|  | DWORD nRgnSize; | 
|  | RECT rcBound; | 
|  | } RGNDATAHEADER; | 
|  | typedef struct _RGNDATA { | 
|  | RGNDATAHEADER rdh; | 
|  | char Buffer[1]; | 
|  | } RGNDATA; | 
|  | #endif /* _WINGDI_ */ | 
|  | /***************************************************************************** | 
|  | * IOverlayNotify interface | 
|  | */ | 
|  | #ifndef __IOverlayNotify_INTERFACE_DEFINED__ | 
|  | #define __IOverlayNotify_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770") | 
|  | IOverlayNotify : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( | 
|  | DWORD dwColors, | 
|  | const PALETTEENTRY *pPalette) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnClipChange( | 
|  | const RECT *pSourceRect, | 
|  | const RECT *pDestinationRect, | 
|  | const RGNDATA *pRgnData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( | 
|  | const COLORKEY *pColorKey) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnPositionChange( | 
|  | const RECT *pSourceRect, | 
|  | const RECT *pDestinationRect) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IOverlayNotifyVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IOverlayNotify *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IOverlayNotify *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IOverlayNotify *This); | 
|  |  | 
|  | /*** IOverlayNotify methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( | 
|  | IOverlayNotify *This, | 
|  | DWORD dwColors, | 
|  | const PALETTEENTRY *pPalette); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnClipChange)( | 
|  | IOverlayNotify *This, | 
|  | const RECT *pSourceRect, | 
|  | const RECT *pDestinationRect, | 
|  | const RGNDATA *pRgnData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( | 
|  | IOverlayNotify *This, | 
|  | const COLORKEY *pColorKey); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnPositionChange)( | 
|  | IOverlayNotify *This, | 
|  | const RECT *pSourceRect, | 
|  | const RECT *pDestinationRect); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IOverlayNotifyVtbl; | 
|  |  | 
|  | interface IOverlayNotify { | 
|  | CONST_VTBL IOverlayNotifyVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IOverlayNotify methods ***/ | 
|  | #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) | 
|  | #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) | 
|  | #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) | 
|  | #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify_QueryInterface(IOverlayNotify* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IOverlayNotify_AddRef(IOverlayNotify* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IOverlayNotify_Release(IOverlayNotify* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IOverlayNotify methods ***/ | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify_OnPaletteChange(IOverlayNotify* This,DWORD dwColors,const PALETTEENTRY *pPalette) { | 
|  | return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify_OnClipChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { | 
|  | return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify_OnColorKeyChange(IOverlayNotify* This,const COLORKEY *pColorKey) { | 
|  | return This->lpVtbl->OnColorKeyChange(This,pColorKey); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify_OnPositionChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect) { | 
|  | return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IOverlayNotify_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IOverlayNotify *POVERLAYNOTIFY; | 
|  | #if 0 | 
|  | typedef HANDLE HMONITOR; | 
|  | #endif /* 0 */ | 
|  | /***************************************************************************** | 
|  | * IOverlayNotify2 interface | 
|  | */ | 
|  | #ifndef __IOverlayNotify2_INTERFACE_DEFINED__ | 
|  | #define __IOverlayNotify2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("680efa10-d535-11d1-87c8-00a0c9223196") | 
|  | IOverlayNotify2 : public IOverlayNotify | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( | 
|  | HMONITOR hMonitor) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IOverlayNotify2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IOverlayNotify2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IOverlayNotify2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IOverlayNotify2 *This); | 
|  |  | 
|  | /*** IOverlayNotify methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnPaletteChange)( | 
|  | IOverlayNotify2 *This, | 
|  | DWORD dwColors, | 
|  | const PALETTEENTRY *pPalette); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnClipChange)( | 
|  | IOverlayNotify2 *This, | 
|  | const RECT *pSourceRect, | 
|  | const RECT *pDestinationRect, | 
|  | const RGNDATA *pRgnData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)( | 
|  | IOverlayNotify2 *This, | 
|  | const COLORKEY *pColorKey); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnPositionChange)( | 
|  | IOverlayNotify2 *This, | 
|  | const RECT *pSourceRect, | 
|  | const RECT *pDestinationRect); | 
|  |  | 
|  | /*** IOverlayNotify2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnDisplayChange)( | 
|  | IOverlayNotify2 *This, | 
|  | HMONITOR hMonitor); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IOverlayNotify2Vtbl; | 
|  |  | 
|  | interface IOverlayNotify2 { | 
|  | CONST_VTBL IOverlayNotify2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IOverlayNotify methods ***/ | 
|  | #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette) | 
|  | #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) | 
|  | #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey) | 
|  | #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect) | 
|  | /*** IOverlayNotify2 methods ***/ | 
|  | #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify2_QueryInterface(IOverlayNotify2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IOverlayNotify2_AddRef(IOverlayNotify2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IOverlayNotify2_Release(IOverlayNotify2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IOverlayNotify methods ***/ | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify2_OnPaletteChange(IOverlayNotify2* This,DWORD dwColors,const PALETTEENTRY *pPalette) { | 
|  | return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify2_OnClipChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) { | 
|  | return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify2_OnColorKeyChange(IOverlayNotify2* This,const COLORKEY *pColorKey) { | 
|  | return This->lpVtbl->OnColorKeyChange(This,pColorKey); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify2_OnPositionChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect) { | 
|  | return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect); | 
|  | } | 
|  | /*** IOverlayNotify2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IOverlayNotify2_OnDisplayChange(IOverlayNotify2* This,HMONITOR hMonitor) { | 
|  | return This->lpVtbl->OnDisplayChange(This,hMonitor); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IOverlayNotify2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IOverlayNotify2 *POVERLAYNOTIFY2; | 
|  | /***************************************************************************** | 
|  | * IOverlay interface | 
|  | */ | 
|  | #ifndef __IOverlay_INTERFACE_DEFINED__ | 
|  | #define __IOverlay_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770") | 
|  | IOverlay : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPalette( | 
|  | DWORD *pdwColors, | 
|  | PALETTEENTRY **ppPalette) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPalette( | 
|  | DWORD dwColors, | 
|  | PALETTEENTRY *pPalette) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( | 
|  | COLORKEY *pColorKey) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetColorKey( | 
|  | COLORKEY *pColorKey) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetColorKey( | 
|  | COLORKEY *pColorKey) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( | 
|  | HWND *pHwnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetClipList( | 
|  | RECT *pSourceRect, | 
|  | RECT *pDestinationRect, | 
|  | RGNDATA **ppRgnData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( | 
|  | RECT *pSourceRect, | 
|  | RECT *pDestinationRect) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Advise( | 
|  | IOverlayNotify *pOverlayNotify, | 
|  | DWORD dwInterests) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Unadvise( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IOverlayVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IOverlay *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IOverlay *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IOverlay *This); | 
|  |  | 
|  | /*** IOverlay methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetPalette)( | 
|  | IOverlay *This, | 
|  | DWORD *pdwColors, | 
|  | PALETTEENTRY **ppPalette); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPalette)( | 
|  | IOverlay *This, | 
|  | DWORD dwColors, | 
|  | PALETTEENTRY *pPalette); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)( | 
|  | IOverlay *This, | 
|  | COLORKEY *pColorKey); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetColorKey)( | 
|  | IOverlay *This, | 
|  | COLORKEY *pColorKey); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetColorKey)( | 
|  | IOverlay *This, | 
|  | COLORKEY *pColorKey); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetWindowHandle)( | 
|  | IOverlay *This, | 
|  | HWND *pHwnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetClipList)( | 
|  | IOverlay *This, | 
|  | RECT *pSourceRect, | 
|  | RECT *pDestinationRect, | 
|  | RGNDATA **ppRgnData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( | 
|  | IOverlay *This, | 
|  | RECT *pSourceRect, | 
|  | RECT *pDestinationRect); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Advise)( | 
|  | IOverlay *This, | 
|  | IOverlayNotify *pOverlayNotify, | 
|  | DWORD dwInterests); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Unadvise)( | 
|  | IOverlay *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IOverlayVtbl; | 
|  |  | 
|  | interface IOverlay { | 
|  | CONST_VTBL IOverlayVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IOverlay_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IOverlay methods ***/ | 
|  | #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette) | 
|  | #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette) | 
|  | #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey) | 
|  | #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey) | 
|  | #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey) | 
|  | #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd) | 
|  | #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) | 
|  | #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect) | 
|  | #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests) | 
|  | #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IOverlay_QueryInterface(IOverlay* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IOverlay_AddRef(IOverlay* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IOverlay_Release(IOverlay* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IOverlay methods ***/ | 
|  | static __WIDL_INLINE HRESULT IOverlay_GetPalette(IOverlay* This,DWORD *pdwColors,PALETTEENTRY **ppPalette) { | 
|  | return This->lpVtbl->GetPalette(This,pdwColors,ppPalette); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_SetPalette(IOverlay* This,DWORD dwColors,PALETTEENTRY *pPalette) { | 
|  | return This->lpVtbl->SetPalette(This,dwColors,pPalette); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_GetDefaultColorKey(IOverlay* This,COLORKEY *pColorKey) { | 
|  | return This->lpVtbl->GetDefaultColorKey(This,pColorKey); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_GetColorKey(IOverlay* This,COLORKEY *pColorKey) { | 
|  | return This->lpVtbl->GetColorKey(This,pColorKey); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_SetColorKey(IOverlay* This,COLORKEY *pColorKey) { | 
|  | return This->lpVtbl->SetColorKey(This,pColorKey); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_GetWindowHandle(IOverlay* This,HWND *pHwnd) { | 
|  | return This->lpVtbl->GetWindowHandle(This,pHwnd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_GetClipList(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) { | 
|  | return This->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_GetVideoPosition(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect) { | 
|  | return This->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_Advise(IOverlay* This,IOverlayNotify *pOverlayNotify,DWORD dwInterests) { | 
|  | return This->lpVtbl->Advise(This,pOverlayNotify,dwInterests); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IOverlay_Unadvise(IOverlay* This) { | 
|  | return This->lpVtbl->Unadvise(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IOverlay_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IOverlay *POVERLAY; | 
|  | /***************************************************************************** | 
|  | * IMediaEventSink interface | 
|  | */ | 
|  | #ifndef __IMediaEventSink_INTERFACE_DEFINED__ | 
|  | #define __IMediaEventSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770") | 
|  | IMediaEventSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Notify( | 
|  | LONG EventCode, | 
|  | LONG_PTR EventParam1, | 
|  | LONG_PTR EventParam2) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaEventSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaEventSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaEventSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaEventSink *This); | 
|  |  | 
|  | /*** IMediaEventSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Notify)( | 
|  | IMediaEventSink *This, | 
|  | LONG EventCode, | 
|  | LONG_PTR EventParam1, | 
|  | LONG_PTR EventParam2); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaEventSinkVtbl; | 
|  |  | 
|  | interface IMediaEventSink { | 
|  | CONST_VTBL IMediaEventSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMediaEventSink methods ***/ | 
|  | #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaEventSink_QueryInterface(IMediaEventSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaEventSink_AddRef(IMediaEventSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaEventSink_Release(IMediaEventSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMediaEventSink methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaEventSink_Notify(IMediaEventSink* This,LONG EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) { | 
|  | return This->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaEventSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IMediaEventSink *PMEDIAEVENTSINK; | 
|  | /***************************************************************************** | 
|  | * IFileSourceFilter interface | 
|  | */ | 
|  | #ifndef __IFileSourceFilter_INTERFACE_DEFINED__ | 
|  | #define __IFileSourceFilter_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770") | 
|  | IFileSourceFilter : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Load( | 
|  | LPCOLESTR pszFileName, | 
|  | const AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCurFile( | 
|  | LPOLESTR *ppszFileName, | 
|  | AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IFileSourceFilterVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IFileSourceFilter *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IFileSourceFilter *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IFileSourceFilter *This); | 
|  |  | 
|  | /*** IFileSourceFilter methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Load)( | 
|  | IFileSourceFilter *This, | 
|  | LPCOLESTR pszFileName, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurFile)( | 
|  | IFileSourceFilter *This, | 
|  | LPOLESTR *ppszFileName, | 
|  | AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IFileSourceFilterVtbl; | 
|  |  | 
|  | interface IFileSourceFilter { | 
|  | CONST_VTBL IFileSourceFilterVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFileSourceFilter methods ***/ | 
|  | #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt) | 
|  | #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFileSourceFilter_QueryInterface(IFileSourceFilter* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFileSourceFilter_AddRef(IFileSourceFilter* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFileSourceFilter_Release(IFileSourceFilter* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFileSourceFilter methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFileSourceFilter_Load(IFileSourceFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->Load(This,pszFileName,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFileSourceFilter_GetCurFile(IFileSourceFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IFileSourceFilter_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IFileSourceFilter *PFILTERFILESOURCE; | 
|  | /***************************************************************************** | 
|  | * IFileSinkFilter interface | 
|  | */ | 
|  | #ifndef __IFileSinkFilter_INTERFACE_DEFINED__ | 
|  | #define __IFileSinkFilter_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6") | 
|  | IFileSinkFilter : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFileName( | 
|  | LPCOLESTR pszFileName, | 
|  | const AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCurFile( | 
|  | LPOLESTR *ppszFileName, | 
|  | AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IFileSinkFilterVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IFileSinkFilter *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IFileSinkFilter *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IFileSinkFilter *This); | 
|  |  | 
|  | /*** IFileSinkFilter methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetFileName)( | 
|  | IFileSinkFilter *This, | 
|  | LPCOLESTR pszFileName, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurFile)( | 
|  | IFileSinkFilter *This, | 
|  | LPOLESTR *ppszFileName, | 
|  | AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IFileSinkFilterVtbl; | 
|  |  | 
|  | interface IFileSinkFilter { | 
|  | CONST_VTBL IFileSinkFilterVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFileSinkFilter methods ***/ | 
|  | #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) | 
|  | #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFileSinkFilter_QueryInterface(IFileSinkFilter* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFileSinkFilter_AddRef(IFileSinkFilter* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFileSinkFilter_Release(IFileSinkFilter* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFileSinkFilter methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFileSinkFilter_SetFileName(IFileSinkFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->SetFileName(This,pszFileName,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFileSinkFilter_GetCurFile(IFileSinkFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IFileSinkFilter_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IFileSinkFilter *PFILTERFILESINK; | 
|  | /***************************************************************************** | 
|  | * IFileSinkFilter2 interface | 
|  | */ | 
|  | #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__ | 
|  | #define __IFileSinkFilter2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("00855b90-ce1b-11d0-bd4f-00a0c911ce86") | 
|  | IFileSinkFilter2 : public IFileSinkFilter | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMode( | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMode( | 
|  | DWORD *pdwFlags) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IFileSinkFilter2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IFileSinkFilter2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IFileSinkFilter2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IFileSinkFilter2 *This); | 
|  |  | 
|  | /*** IFileSinkFilter methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetFileName)( | 
|  | IFileSinkFilter2 *This, | 
|  | LPCOLESTR pszFileName, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurFile)( | 
|  | IFileSinkFilter2 *This, | 
|  | LPOLESTR *ppszFileName, | 
|  | AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | /*** IFileSinkFilter2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetMode)( | 
|  | IFileSinkFilter2 *This, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMode)( | 
|  | IFileSinkFilter2 *This, | 
|  | DWORD *pdwFlags); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IFileSinkFilter2Vtbl; | 
|  |  | 
|  | interface IFileSinkFilter2 { | 
|  | CONST_VTBL IFileSinkFilter2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFileSinkFilter methods ***/ | 
|  | #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt) | 
|  | #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt) | 
|  | /*** IFileSinkFilter2 methods ***/ | 
|  | #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags) | 
|  | #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFileSinkFilter2_QueryInterface(IFileSinkFilter2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFileSinkFilter2_AddRef(IFileSinkFilter2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFileSinkFilter2_Release(IFileSinkFilter2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFileSinkFilter methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFileSinkFilter2_SetFileName(IFileSinkFilter2* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->SetFileName(This,pszFileName,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFileSinkFilter2_GetCurFile(IFileSinkFilter2* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->GetCurFile(This,ppszFileName,pmt); | 
|  | } | 
|  | /*** IFileSinkFilter2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFileSinkFilter2_SetMode(IFileSinkFilter2* This,DWORD dwFlags) { | 
|  | return This->lpVtbl->SetMode(This,dwFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFileSinkFilter2_GetMode(IFileSinkFilter2* This,DWORD *pdwFlags) { | 
|  | return This->lpVtbl->GetMode(This,pdwFlags); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IFileSinkFilter2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef IFileSinkFilter2 *PFILESINKFILTER2; | 
|  | typedef enum __WIDL_strmif_generated_name_00000015 { | 
|  | AM_FILE_OVERWRITE = 0x1 | 
|  | } AM_FILESINK_FLAGS; | 
|  | /***************************************************************************** | 
|  | * IGraphBuilder interface | 
|  | */ | 
|  | #ifndef __IGraphBuilder_INTERFACE_DEFINED__ | 
|  | #define __IGraphBuilder_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770") | 
|  | IGraphBuilder : public IFilterGraph | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Connect( | 
|  | IPin *ppinOut, | 
|  | IPin *ppinIn) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Render( | 
|  | IPin *ppinOut) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RenderFile( | 
|  | LPCWSTR lpcwstrFile, | 
|  | LPCWSTR lpcwstrPlayList) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( | 
|  | LPCWSTR lpcwstrFileName, | 
|  | LPCWSTR lpcwstrFilterName, | 
|  | IBaseFilter **ppFilter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetLogFile( | 
|  | DWORD_PTR hFile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Abort( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IGraphBuilderVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IGraphBuilder *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IGraphBuilder *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IGraphBuilder *This); | 
|  |  | 
|  | /*** IFilterGraph methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AddFilter)( | 
|  | IGraphBuilder *This, | 
|  | IBaseFilter *pFilter, | 
|  | LPCWSTR pName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveFilter)( | 
|  | IGraphBuilder *This, | 
|  | IBaseFilter *pFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumFilters)( | 
|  | IGraphBuilder *This, | 
|  | IEnumFilters **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindFilterByName)( | 
|  | IGraphBuilder *This, | 
|  | LPCWSTR pName, | 
|  | IBaseFilter **ppFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ConnectDirect)( | 
|  | IGraphBuilder *This, | 
|  | IPin *ppinOut, | 
|  | IPin *ppinIn, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reconnect)( | 
|  | IGraphBuilder *This, | 
|  | IPin *ppin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Disconnect)( | 
|  | IGraphBuilder *This, | 
|  | IPin *ppin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( | 
|  | IGraphBuilder *This); | 
|  |  | 
|  | /*** IGraphBuilder methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Connect)( | 
|  | IGraphBuilder *This, | 
|  | IPin *ppinOut, | 
|  | IPin *ppinIn); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Render)( | 
|  | IGraphBuilder *This, | 
|  | IPin *ppinOut); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RenderFile)( | 
|  | IGraphBuilder *This, | 
|  | LPCWSTR lpcwstrFile, | 
|  | LPCWSTR lpcwstrPlayList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( | 
|  | IGraphBuilder *This, | 
|  | LPCWSTR lpcwstrFileName, | 
|  | LPCWSTR lpcwstrFilterName, | 
|  | IBaseFilter **ppFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLogFile)( | 
|  | IGraphBuilder *This, | 
|  | DWORD_PTR hFile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Abort)( | 
|  | IGraphBuilder *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( | 
|  | IGraphBuilder *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IGraphBuilderVtbl; | 
|  |  | 
|  | interface IGraphBuilder { | 
|  | CONST_VTBL IGraphBuilderVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFilterGraph methods ***/ | 
|  | #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) | 
|  | #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) | 
|  | #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) | 
|  | #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) | 
|  | #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) | 
|  | #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) | 
|  | #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) | 
|  | #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) | 
|  | /*** IGraphBuilder methods ***/ | 
|  | #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) | 
|  | #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) | 
|  | #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) | 
|  | #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) | 
|  | #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) | 
|  | #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This) | 
|  | #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_QueryInterface(IGraphBuilder* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IGraphBuilder_AddRef(IGraphBuilder* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IGraphBuilder_Release(IGraphBuilder* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFilterGraph methods ***/ | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_AddFilter(IGraphBuilder* This,IBaseFilter *pFilter,LPCWSTR pName) { | 
|  | return This->lpVtbl->AddFilter(This,pFilter,pName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_RemoveFilter(IGraphBuilder* This,IBaseFilter *pFilter) { | 
|  | return This->lpVtbl->RemoveFilter(This,pFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_EnumFilters(IGraphBuilder* This,IEnumFilters **ppEnum) { | 
|  | return This->lpVtbl->EnumFilters(This,ppEnum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_FindFilterByName(IGraphBuilder* This,LPCWSTR pName,IBaseFilter **ppFilter) { | 
|  | return This->lpVtbl->FindFilterByName(This,pName,ppFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_ConnectDirect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_Reconnect(IGraphBuilder* This,IPin *ppin) { | 
|  | return This->lpVtbl->Reconnect(This,ppin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_Disconnect(IGraphBuilder* This,IPin *ppin) { | 
|  | return This->lpVtbl->Disconnect(This,ppin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_SetDefaultSyncSource(IGraphBuilder* This) { | 
|  | return This->lpVtbl->SetDefaultSyncSource(This); | 
|  | } | 
|  | /*** IGraphBuilder methods ***/ | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_Connect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn) { | 
|  | return This->lpVtbl->Connect(This,ppinOut,ppinIn); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_Render(IGraphBuilder* This,IPin *ppinOut) { | 
|  | return This->lpVtbl->Render(This,ppinOut); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_RenderFile(IGraphBuilder* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { | 
|  | return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_AddSourceFilter(IGraphBuilder* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { | 
|  | return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_SetLogFile(IGraphBuilder* This,DWORD_PTR hFile) { | 
|  | return This->lpVtbl->SetLogFile(This,hFile); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_Abort(IGraphBuilder* This) { | 
|  | return This->lpVtbl->Abort(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IGraphBuilder_ShouldOperationContinue(IGraphBuilder* This) { | 
|  | return This->lpVtbl->ShouldOperationContinue(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IGraphBuilder_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICaptureGraphBuilder interface | 
|  | */ | 
|  | #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__ | 
|  | #define __ICaptureGraphBuilder_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5") | 
|  | ICaptureGraphBuilder : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( | 
|  | IGraphBuilder *pfg) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( | 
|  | IGraphBuilder **ppfg) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( | 
|  | const GUID *pType, | 
|  | LPCOLESTR lpstrFile, | 
|  | IBaseFilter **ppf, | 
|  | IFileSinkFilter **ppSink) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindInterface( | 
|  | const GUID *pCategory, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | void **ppint) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RenderStream( | 
|  | const GUID *pCategory, | 
|  | IUnknown *pSource, | 
|  | IBaseFilter *pfCompressor, | 
|  | IBaseFilter *pfRenderer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ControlStream( | 
|  | const GUID *pCategory, | 
|  | IBaseFilter *pFilter, | 
|  | REFERENCE_TIME *pstart, | 
|  | REFERENCE_TIME *pstop, | 
|  | WORD wStartCookie, | 
|  | WORD wStopCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AllocCapFile( | 
|  | LPCOLESTR lpstr, | 
|  | DWORDLONG dwlSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( | 
|  | LPOLESTR lpwstrOld, | 
|  | LPOLESTR lpwstrNew, | 
|  | int fAllowEscAbort, | 
|  | IAMCopyCaptureFileProgress *pCallback) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ICaptureGraphBuilderVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICaptureGraphBuilder *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICaptureGraphBuilder *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICaptureGraphBuilder *This); | 
|  |  | 
|  | /*** ICaptureGraphBuilder methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( | 
|  | ICaptureGraphBuilder *This, | 
|  | IGraphBuilder *pfg); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( | 
|  | ICaptureGraphBuilder *This, | 
|  | IGraphBuilder **ppfg); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( | 
|  | ICaptureGraphBuilder *This, | 
|  | const GUID *pType, | 
|  | LPCOLESTR lpstrFile, | 
|  | IBaseFilter **ppf, | 
|  | IFileSinkFilter **ppSink); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindInterface)( | 
|  | ICaptureGraphBuilder *This, | 
|  | const GUID *pCategory, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | void **ppint); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RenderStream)( | 
|  | ICaptureGraphBuilder *This, | 
|  | const GUID *pCategory, | 
|  | IUnknown *pSource, | 
|  | IBaseFilter *pfCompressor, | 
|  | IBaseFilter *pfRenderer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ControlStream)( | 
|  | ICaptureGraphBuilder *This, | 
|  | const GUID *pCategory, | 
|  | IBaseFilter *pFilter, | 
|  | REFERENCE_TIME *pstart, | 
|  | REFERENCE_TIME *pstop, | 
|  | WORD wStartCookie, | 
|  | WORD wStopCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AllocCapFile)( | 
|  | ICaptureGraphBuilder *This, | 
|  | LPCOLESTR lpstr, | 
|  | DWORDLONG dwlSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( | 
|  | ICaptureGraphBuilder *This, | 
|  | LPOLESTR lpwstrOld, | 
|  | LPOLESTR lpwstrNew, | 
|  | int fAllowEscAbort, | 
|  | IAMCopyCaptureFileProgress *pCallback); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ICaptureGraphBuilderVtbl; | 
|  |  | 
|  | interface ICaptureGraphBuilder { | 
|  | CONST_VTBL ICaptureGraphBuilderVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ICaptureGraphBuilder methods ***/ | 
|  | #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) | 
|  | #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) | 
|  | #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) | 
|  | #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint) | 
|  | #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) | 
|  | #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) | 
|  | #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) | 
|  | #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICaptureGraphBuilder_AddRef(ICaptureGraphBuilder* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICaptureGraphBuilder_Release(ICaptureGraphBuilder* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ICaptureGraphBuilder methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder *pfg) { | 
|  | return This->lpVtbl->SetFiltergraph(This,pfg); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder **ppfg) { | 
|  | return This->lpVtbl->GetFiltergraph(This,ppfg); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { | 
|  | return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_FindInterface(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) { | 
|  | return This->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_RenderStream(ICaptureGraphBuilder* This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { | 
|  | return This->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_ControlStream(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) { | 
|  | return This->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { | 
|  | return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { | 
|  | return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( | 
|  | ICaptureGraphBuilder* This, | 
|  | const GUID *pCategory, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | IUnknown **ppint); | 
|  | void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy( | 
|  | ICaptureGraphBuilder* This, | 
|  | const GUID *pCategory, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | void **ppint); | 
|  | HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub( | 
|  | ICaptureGraphBuilder* This, | 
|  | const GUID *pCategory, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | IUnknown **ppint); | 
|  |  | 
|  | #endif  /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMCopyCaptureFileProgress interface | 
|  | */ | 
|  | #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ | 
|  | #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5") | 
|  | IAMCopyCaptureFileProgress : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Progress( | 
|  | int iProgress) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMCopyCaptureFileProgressVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMCopyCaptureFileProgress *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMCopyCaptureFileProgress *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMCopyCaptureFileProgress *This); | 
|  |  | 
|  | /*** IAMCopyCaptureFileProgress methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Progress)( | 
|  | IAMCopyCaptureFileProgress *This, | 
|  | int iProgress); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMCopyCaptureFileProgressVtbl; | 
|  |  | 
|  | interface IAMCopyCaptureFileProgress { | 
|  | CONST_VTBL IAMCopyCaptureFileProgressVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMCopyCaptureFileProgress methods ***/ | 
|  | #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMCopyCaptureFileProgress_QueryInterface(IAMCopyCaptureFileProgress* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMCopyCaptureFileProgress_AddRef(IAMCopyCaptureFileProgress* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMCopyCaptureFileProgress_Release(IAMCopyCaptureFileProgress* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMCopyCaptureFileProgress methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMCopyCaptureFileProgress_Progress(IAMCopyCaptureFileProgress* This,int iProgress) { | 
|  | return This->lpVtbl->Progress(This,iProgress); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICaptureGraphBuilder2 interface | 
|  | */ | 
|  | #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__ | 
|  | #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("93e5a4e0-2d50-11d2-abfa-00a0c9c6e38d") | 
|  | ICaptureGraphBuilder2 : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( | 
|  | IGraphBuilder *pfg) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( | 
|  | IGraphBuilder **ppfg) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( | 
|  | const GUID *pType, | 
|  | LPCOLESTR lpstrFile, | 
|  | IBaseFilter **ppf, | 
|  | IFileSinkFilter **ppSink) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindInterface( | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | void **ppint) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RenderStream( | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IUnknown *pSource, | 
|  | IBaseFilter *pfCompressor, | 
|  | IBaseFilter *pfRenderer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ControlStream( | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IBaseFilter *pFilter, | 
|  | REFERENCE_TIME *pstart, | 
|  | REFERENCE_TIME *pstop, | 
|  | WORD wStartCookie, | 
|  | WORD wStopCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AllocCapFile( | 
|  | LPCOLESTR lpstr, | 
|  | DWORDLONG dwlSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( | 
|  | LPOLESTR lpwstrOld, | 
|  | LPOLESTR lpwstrNew, | 
|  | int fAllowEscAbort, | 
|  | IAMCopyCaptureFileProgress *pCallback) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindPin( | 
|  | IUnknown *pSource, | 
|  | PIN_DIRECTION pindir, | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | WINBOOL fUnconnected, | 
|  | int num, | 
|  | IPin **ppPin) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ICaptureGraphBuilder2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICaptureGraphBuilder2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICaptureGraphBuilder2 *This); | 
|  |  | 
|  | /*** ICaptureGraphBuilder2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetFiltergraph)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | IGraphBuilder *pfg); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFiltergraph)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | IGraphBuilder **ppfg); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFileName)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | const GUID *pType, | 
|  | LPCOLESTR lpstrFile, | 
|  | IBaseFilter **ppf, | 
|  | IFileSinkFilter **ppSink); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindInterface)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | void **ppint); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RenderStream)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IUnknown *pSource, | 
|  | IBaseFilter *pfCompressor, | 
|  | IBaseFilter *pfRenderer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ControlStream)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IBaseFilter *pFilter, | 
|  | REFERENCE_TIME *pstart, | 
|  | REFERENCE_TIME *pstop, | 
|  | WORD wStartCookie, | 
|  | WORD wStopCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AllocCapFile)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | LPCOLESTR lpstr, | 
|  | DWORDLONG dwlSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | LPOLESTR lpwstrOld, | 
|  | LPOLESTR lpwstrNew, | 
|  | int fAllowEscAbort, | 
|  | IAMCopyCaptureFileProgress *pCallback); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindPin)( | 
|  | ICaptureGraphBuilder2 *This, | 
|  | IUnknown *pSource, | 
|  | PIN_DIRECTION pindir, | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | WINBOOL fUnconnected, | 
|  | int num, | 
|  | IPin **ppPin); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ICaptureGraphBuilder2Vtbl; | 
|  |  | 
|  | interface ICaptureGraphBuilder2 { | 
|  | CONST_VTBL ICaptureGraphBuilder2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ICaptureGraphBuilder2 methods ***/ | 
|  | #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg) | 
|  | #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg) | 
|  | #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) | 
|  | #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint) | 
|  | #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) | 
|  | #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) | 
|  | #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize) | 
|  | #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) | 
|  | #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ICaptureGraphBuilder2_Release(ICaptureGraphBuilder2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ICaptureGraphBuilder2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_SetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder *pfg) { | 
|  | return This->lpVtbl->SetFiltergraph(This,pfg); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_GetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder **ppfg) { | 
|  | return This->lpVtbl->GetFiltergraph(This,ppfg); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) { | 
|  | return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) { | 
|  | return This->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) { | 
|  | return This->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_ControlStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) { | 
|  | return This->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2* This,LPCOLESTR lpstr,DWORDLONG dwlSize) { | 
|  | return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) { | 
|  | return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT ICaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2* This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) { | 
|  | return This->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( | 
|  | ICaptureGraphBuilder2* This, | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | IUnknown **ppint); | 
|  | void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub( | 
|  | IRpcStubBuffer* This, | 
|  | IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy( | 
|  | ICaptureGraphBuilder2* This, | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | void **ppint); | 
|  | HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub( | 
|  | ICaptureGraphBuilder2* This, | 
|  | const GUID *pCategory, | 
|  | const GUID *pType, | 
|  | IBaseFilter *pf, | 
|  | REFIID riid, | 
|  | IUnknown **ppint); | 
|  |  | 
|  | #endif  /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IConfigAviMux interface | 
|  | */ | 
|  | #ifndef __IConfigAviMux_INTERFACE_DEFINED__ | 
|  | #define __IConfigAviMux_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("5acd6aa0-f482-11ce-8b67-00aa00a3f1a6") | 
|  | IConfigAviMux : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMasterStream( | 
|  | LONG iStream) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMasterStream( | 
|  | LONG *pStream) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( | 
|  | WINBOOL fOldIndex) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( | 
|  | WINBOOL *pfOldIndex) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IConfigAviMux, 0x5acd6aa0, 0xf482, 0x11ce, 0x8b,0x67, 0x00,0xaa,0x00,0xa3,0xf1,0xa6) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IConfigAviMuxVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IConfigAviMux *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IConfigAviMux *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IConfigAviMux *This); | 
|  |  | 
|  | /*** IConfigAviMux methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetMasterStream)( | 
|  | IConfigAviMux *This, | 
|  | LONG iStream); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMasterStream)( | 
|  | IConfigAviMux *This, | 
|  | LONG *pStream); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputCompatibilityIndex)( | 
|  | IConfigAviMux *This, | 
|  | WINBOOL fOldIndex); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetOutputCompatibilityIndex)( | 
|  | IConfigAviMux *This, | 
|  | WINBOOL *pfOldIndex); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IConfigAviMuxVtbl; | 
|  |  | 
|  | interface IConfigAviMux { | 
|  | CONST_VTBL IConfigAviMuxVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IConfigAviMux methods ***/ | 
|  | #define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream) | 
|  | #define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream) | 
|  | #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex) | 
|  | #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IConfigAviMux_QueryInterface(IConfigAviMux* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IConfigAviMux_AddRef(IConfigAviMux* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IConfigAviMux_Release(IConfigAviMux* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IConfigAviMux methods ***/ | 
|  | static __WIDL_INLINE HRESULT IConfigAviMux_SetMasterStream(IConfigAviMux* This,LONG iStream) { | 
|  | return This->lpVtbl->SetMasterStream(This,iStream); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IConfigAviMux_GetMasterStream(IConfigAviMux* This,LONG *pStream) { | 
|  | return This->lpVtbl->GetMasterStream(This,pStream); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IConfigAviMux_SetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL fOldIndex) { | 
|  | return This->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IConfigAviMux_GetOutputCompatibilityIndex(IConfigAviMux* This,WINBOOL *pfOldIndex) { | 
|  | return This->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IConfigAviMux_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IConfigInterleaving interface | 
|  | */ | 
|  | #ifndef __IConfigInterleaving_INTERFACE_DEFINED__ | 
|  | #define __IConfigInterleaving_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef enum InterleavingMode { | 
|  | INTERLEAVE_NONE = 0, | 
|  | INTERLEAVE_CAPTURE = 1, | 
|  | INTERLEAVE_FULL = 2, | 
|  | INTERLEAVE_NONE_BUFFERED = 3 | 
|  | } InterleavingMode; | 
|  | DEFINE_GUID(IID_IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("bee3d220-157b-11d0-bd23-00a0c911ce86") | 
|  | IConfigInterleaving : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Mode( | 
|  | InterleavingMode mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Mode( | 
|  | InterleavingMode *pMode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Interleaving( | 
|  | const REFERENCE_TIME *prtInterleave, | 
|  | const REFERENCE_TIME *prtPreroll) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Interleaving( | 
|  | REFERENCE_TIME *prtInterleave, | 
|  | REFERENCE_TIME *prtPreroll) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IConfigInterleaving, 0xbee3d220, 0x157b, 0x11d0, 0xbd,0x23, 0x00,0xa0,0xc9,0x11,0xce,0x86) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IConfigInterleavingVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IConfigInterleaving *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IConfigInterleaving *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IConfigInterleaving *This); | 
|  |  | 
|  | /*** IConfigInterleaving methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *put_Mode)( | 
|  | IConfigInterleaving *This, | 
|  | InterleavingMode mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Mode)( | 
|  | IConfigInterleaving *This, | 
|  | InterleavingMode *pMode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Interleaving)( | 
|  | IConfigInterleaving *This, | 
|  | const REFERENCE_TIME *prtInterleave, | 
|  | const REFERENCE_TIME *prtPreroll); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Interleaving)( | 
|  | IConfigInterleaving *This, | 
|  | REFERENCE_TIME *prtInterleave, | 
|  | REFERENCE_TIME *prtPreroll); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IConfigInterleavingVtbl; | 
|  |  | 
|  | interface IConfigInterleaving { | 
|  | CONST_VTBL IConfigInterleavingVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IConfigInterleaving methods ***/ | 
|  | #define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) | 
|  | #define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode) | 
|  | #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll) | 
|  | #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IConfigInterleaving_QueryInterface(IConfigInterleaving* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IConfigInterleaving_AddRef(IConfigInterleaving* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IConfigInterleaving_Release(IConfigInterleaving* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IConfigInterleaving methods ***/ | 
|  | static __WIDL_INLINE HRESULT IConfigInterleaving_put_Mode(IConfigInterleaving* This,InterleavingMode mode) { | 
|  | return This->lpVtbl->put_Mode(This,mode); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IConfigInterleaving_get_Mode(IConfigInterleaving* This,InterleavingMode *pMode) { | 
|  | return This->lpVtbl->get_Mode(This,pMode); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IConfigInterleaving_put_Interleaving(IConfigInterleaving* This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) { | 
|  | return This->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IConfigInterleaving_get_Interleaving(IConfigInterleaving* This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) { | 
|  | return This->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IConfigInterleaving_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMClockSlave interface | 
|  | */ | 
|  | #ifndef __IAMClockSlave_INTERFACE_DEFINED__ | 
|  | #define __IAMClockSlave_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("9fd52741-176d-4b36-8f51-ca8f933223be") | 
|  | IAMClockSlave : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance( | 
|  | DWORD dwTolerance) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance( | 
|  | DWORD *pdwTolerance) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMClockSlave, 0x9fd52741, 0x176d, 0x4b36, 0x8f,0x51, 0xca,0x8f,0x93,0x32,0x23,0xbe) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMClockSlaveVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMClockSlave *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMClockSlave *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMClockSlave *This); | 
|  |  | 
|  | /*** IAMClockSlave methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetErrorTolerance)( | 
|  | IAMClockSlave *This, | 
|  | DWORD dwTolerance); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetErrorTolerance)( | 
|  | IAMClockSlave *This, | 
|  | DWORD *pdwTolerance); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMClockSlaveVtbl; | 
|  |  | 
|  | interface IAMClockSlave { | 
|  | CONST_VTBL IAMClockSlaveVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMClockSlave methods ***/ | 
|  | #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance) | 
|  | #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMClockSlave_QueryInterface(IAMClockSlave* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMClockSlave_AddRef(IAMClockSlave* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMClockSlave_Release(IAMClockSlave* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMClockSlave methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMClockSlave_SetErrorTolerance(IAMClockSlave* This,DWORD dwTolerance) { | 
|  | return This->lpVtbl->SetErrorTolerance(This,dwTolerance); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMClockSlave_GetErrorTolerance(IAMClockSlave* This,DWORD *pdwTolerance) { | 
|  | return This->lpVtbl->GetErrorTolerance(This,pdwTolerance); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMClockSlave_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef struct _AMCOPPSignature { | 
|  | BYTE Signature[256]; | 
|  | } AMCOPPSignature; | 
|  | typedef struct _AMCOPPCommand { | 
|  | GUID macKDI; | 
|  | GUID guidCommandID; | 
|  | DWORD dwSequence; | 
|  | DWORD bSizeData; | 
|  | BYTE CommandData[4056]; | 
|  | } AMCOPPCommand; | 
|  | typedef struct _AMCOPPCommand *LPAMCOPPCommand; | 
|  | typedef struct _AMCOPPStatusInput { | 
|  | GUID rApp; | 
|  | GUID guidStatusRequestID; | 
|  | DWORD dwSequence; | 
|  | DWORD cbSizeData; | 
|  | BYTE StatusData[4056]; | 
|  | } AMCOPPStatusInput; | 
|  | typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput; | 
|  | typedef struct _AMCOPPStatusOutput { | 
|  | GUID macKDI; | 
|  | DWORD cbSizeData; | 
|  | BYTE COPPStatus[4076]; | 
|  | } AMCOPPStatusOutput; | 
|  | typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput; | 
|  | /***************************************************************************** | 
|  | * IAMCertifiedOutputProtection interface | 
|  | */ | 
|  | #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ | 
|  | #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515") | 
|  | IAMCertifiedOutputProtection : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE KeyExchange( | 
|  | GUID *pRandom, | 
|  | BYTE **VarLenCertGH, | 
|  | DWORD *pdwLengthCertGH) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart( | 
|  | AMCOPPSignature *pSig) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ProtectionCommand( | 
|  | const AMCOPPCommand *cmd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ProtectionStatus( | 
|  | const AMCOPPStatusInput *pStatusInput, | 
|  | AMCOPPStatusOutput *pStatusOutput) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMCertifiedOutputProtection, 0x6feded3e, 0x0ff1, 0x4901, 0xa2,0xf1, 0x43,0xf7,0x01,0x2c,0x85,0x15) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMCertifiedOutputProtectionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMCertifiedOutputProtection *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMCertifiedOutputProtection *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMCertifiedOutputProtection *This); | 
|  |  | 
|  | /*** IAMCertifiedOutputProtection methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *KeyExchange)( | 
|  | IAMCertifiedOutputProtection *This, | 
|  | GUID *pRandom, | 
|  | BYTE **VarLenCertGH, | 
|  | DWORD *pdwLengthCertGH); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SessionSequenceStart)( | 
|  | IAMCertifiedOutputProtection *This, | 
|  | AMCOPPSignature *pSig); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ProtectionCommand)( | 
|  | IAMCertifiedOutputProtection *This, | 
|  | const AMCOPPCommand *cmd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ProtectionStatus)( | 
|  | IAMCertifiedOutputProtection *This, | 
|  | const AMCOPPStatusInput *pStatusInput, | 
|  | AMCOPPStatusOutput *pStatusOutput); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMCertifiedOutputProtectionVtbl; | 
|  |  | 
|  | interface IAMCertifiedOutputProtection { | 
|  | CONST_VTBL IAMCertifiedOutputProtectionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMCertifiedOutputProtection methods ***/ | 
|  | #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) | 
|  | #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig) | 
|  | #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd) | 
|  | #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMCertifiedOutputProtection_AddRef(IAMCertifiedOutputProtection* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMCertifiedOutputProtection_Release(IAMCertifiedOutputProtection* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMCertifiedOutputProtection methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMCertifiedOutputProtection_KeyExchange(IAMCertifiedOutputProtection* This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) { | 
|  | return This->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCertifiedOutputProtection_SessionSequenceStart(IAMCertifiedOutputProtection* This,AMCOPPSignature *pSig) { | 
|  | return This->lpVtbl->SessionSequenceStart(This,pSig); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCertifiedOutputProtection_ProtectionCommand(IAMCertifiedOutputProtection* This,const AMCOPPCommand *cmd) { | 
|  | return This->lpVtbl->ProtectionCommand(This,cmd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCertifiedOutputProtection_ProtectionStatus(IAMCertifiedOutputProtection* This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) { | 
|  | return This->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | enum _AM_RENSDEREXFLAGS { | 
|  | AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1 | 
|  | }; | 
|  | /***************************************************************************** | 
|  | * IFilterGraph2 interface | 
|  | */ | 
|  | #ifndef __IFilterGraph2_INTERFACE_DEFINED__ | 
|  | #define __IFilterGraph2_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60") | 
|  | IFilterGraph2 : public IGraphBuilder | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( | 
|  | IMoniker *pMoniker, | 
|  | IBindCtx *pCtx, | 
|  | LPCWSTR lpcwstrFilterName, | 
|  | IBaseFilter **ppFilter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ReconnectEx( | 
|  | IPin *ppin, | 
|  | const AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RenderEx( | 
|  | IPin *pPinOut, | 
|  | DWORD dwFlags, | 
|  | DWORD *pvContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IFilterGraph2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IFilterGraph2 *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IFilterGraph2 *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IFilterGraph2 *This); | 
|  |  | 
|  | /*** IFilterGraph methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AddFilter)( | 
|  | IFilterGraph2 *This, | 
|  | IBaseFilter *pFilter, | 
|  | LPCWSTR pName); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveFilter)( | 
|  | IFilterGraph2 *This, | 
|  | IBaseFilter *pFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumFilters)( | 
|  | IFilterGraph2 *This, | 
|  | IEnumFilters **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindFilterByName)( | 
|  | IFilterGraph2 *This, | 
|  | LPCWSTR pName, | 
|  | IBaseFilter **ppFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ConnectDirect)( | 
|  | IFilterGraph2 *This, | 
|  | IPin *ppinOut, | 
|  | IPin *ppinIn, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reconnect)( | 
|  | IFilterGraph2 *This, | 
|  | IPin *ppin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Disconnect)( | 
|  | IFilterGraph2 *This, | 
|  | IPin *ppin); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)( | 
|  | IFilterGraph2 *This); | 
|  |  | 
|  | /*** IGraphBuilder methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Connect)( | 
|  | IFilterGraph2 *This, | 
|  | IPin *ppinOut, | 
|  | IPin *ppinIn); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Render)( | 
|  | IFilterGraph2 *This, | 
|  | IPin *ppinOut); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RenderFile)( | 
|  | IFilterGraph2 *This, | 
|  | LPCWSTR lpcwstrFile, | 
|  | LPCWSTR lpcwstrPlayList); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddSourceFilter)( | 
|  | IFilterGraph2 *This, | 
|  | LPCWSTR lpcwstrFileName, | 
|  | LPCWSTR lpcwstrFilterName, | 
|  | IBaseFilter **ppFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLogFile)( | 
|  | IFilterGraph2 *This, | 
|  | DWORD_PTR hFile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Abort)( | 
|  | IFilterGraph2 *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)( | 
|  | IFilterGraph2 *This); | 
|  |  | 
|  | /*** IFilterGraph2 methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)( | 
|  | IFilterGraph2 *This, | 
|  | IMoniker *pMoniker, | 
|  | IBindCtx *pCtx, | 
|  | LPCWSTR lpcwstrFilterName, | 
|  | IBaseFilter **ppFilter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReconnectEx)( | 
|  | IFilterGraph2 *This, | 
|  | IPin *ppin, | 
|  | const AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RenderEx)( | 
|  | IFilterGraph2 *This, | 
|  | IPin *pPinOut, | 
|  | DWORD dwFlags, | 
|  | DWORD *pvContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IFilterGraph2Vtbl; | 
|  |  | 
|  | interface IFilterGraph2 { | 
|  | CONST_VTBL IFilterGraph2Vtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IFilterGraph methods ***/ | 
|  | #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName) | 
|  | #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter) | 
|  | #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum) | 
|  | #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter) | 
|  | #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt) | 
|  | #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin) | 
|  | #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin) | 
|  | #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This) | 
|  | /*** IGraphBuilder methods ***/ | 
|  | #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn) | 
|  | #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut) | 
|  | #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList) | 
|  | #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) | 
|  | #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile) | 
|  | #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This) | 
|  | #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This) | 
|  | /*** IFilterGraph2 methods ***/ | 
|  | #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) | 
|  | #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt) | 
|  | #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_QueryInterface(IFilterGraph2* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterGraph2_AddRef(IFilterGraph2* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IFilterGraph2_Release(IFilterGraph2* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IFilterGraph methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_AddFilter(IFilterGraph2* This,IBaseFilter *pFilter,LPCWSTR pName) { | 
|  | return This->lpVtbl->AddFilter(This,pFilter,pName); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_RemoveFilter(IFilterGraph2* This,IBaseFilter *pFilter) { | 
|  | return This->lpVtbl->RemoveFilter(This,pFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_EnumFilters(IFilterGraph2* This,IEnumFilters **ppEnum) { | 
|  | return This->lpVtbl->EnumFilters(This,ppEnum); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_FindFilterByName(IFilterGraph2* This,LPCWSTR pName,IBaseFilter **ppFilter) { | 
|  | return This->lpVtbl->FindFilterByName(This,pName,ppFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_ConnectDirect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_Reconnect(IFilterGraph2* This,IPin *ppin) { | 
|  | return This->lpVtbl->Reconnect(This,ppin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_Disconnect(IFilterGraph2* This,IPin *ppin) { | 
|  | return This->lpVtbl->Disconnect(This,ppin); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_SetDefaultSyncSource(IFilterGraph2* This) { | 
|  | return This->lpVtbl->SetDefaultSyncSource(This); | 
|  | } | 
|  | /*** IGraphBuilder methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_Connect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn) { | 
|  | return This->lpVtbl->Connect(This,ppinOut,ppinIn); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_Render(IFilterGraph2* This,IPin *ppinOut) { | 
|  | return This->lpVtbl->Render(This,ppinOut); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_RenderFile(IFilterGraph2* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) { | 
|  | return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_AddSourceFilter(IFilterGraph2* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { | 
|  | return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_SetLogFile(IFilterGraph2* This,DWORD_PTR hFile) { | 
|  | return This->lpVtbl->SetLogFile(This,hFile); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_Abort(IFilterGraph2* This) { | 
|  | return This->lpVtbl->Abort(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_ShouldOperationContinue(IFilterGraph2* This) { | 
|  | return This->lpVtbl->ShouldOperationContinue(This); | 
|  | } | 
|  | /*** IFilterGraph2 methods ***/ | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_AddSourceFilterForMoniker(IFilterGraph2* This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) { | 
|  | return This->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_ReconnectEx(IFilterGraph2* This,IPin *ppin,const AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->ReconnectEx(This,ppin,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IFilterGraph2_RenderEx(IFilterGraph2* This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) { | 
|  | return This->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IFilterGraph2_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IStreamBuilder interface | 
|  | */ | 
|  | #ifndef __IStreamBuilder_INTERFACE_DEFINED__ | 
|  | #define __IStreamBuilder_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770") | 
|  | IStreamBuilder : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Render( | 
|  | IPin *ppinOut, | 
|  | IGraphBuilder *pGraph) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Backout( | 
|  | IPin *ppinOut, | 
|  | IGraphBuilder *pGraph) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IStreamBuilderVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IStreamBuilder *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IStreamBuilder *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IStreamBuilder *This); | 
|  |  | 
|  | /*** IStreamBuilder methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Render)( | 
|  | IStreamBuilder *This, | 
|  | IPin *ppinOut, | 
|  | IGraphBuilder *pGraph); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Backout)( | 
|  | IStreamBuilder *This, | 
|  | IPin *ppinOut, | 
|  | IGraphBuilder *pGraph); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IStreamBuilderVtbl; | 
|  |  | 
|  | interface IStreamBuilder { | 
|  | CONST_VTBL IStreamBuilderVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IStreamBuilder methods ***/ | 
|  | #define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph) | 
|  | #define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IStreamBuilder_QueryInterface(IStreamBuilder* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IStreamBuilder_AddRef(IStreamBuilder* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IStreamBuilder_Release(IStreamBuilder* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IStreamBuilder methods ***/ | 
|  | static __WIDL_INLINE HRESULT IStreamBuilder_Render(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) { | 
|  | return This->lpVtbl->Render(This,ppinOut,pGraph); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IStreamBuilder_Backout(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) { | 
|  | return This->lpVtbl->Backout(This,ppinOut,pGraph); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IStreamBuilder_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMStreamConfig interface | 
|  | */ | 
|  | #ifndef __IAMStreamConfig_INTERFACE_DEFINED__ | 
|  | #define __IAMStreamConfig_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef struct _VIDEO_STREAM_CONFIG_CAPS { | 
|  | GUID guid; | 
|  | ULONG VideoStandard; | 
|  | SIZE InputSize; | 
|  | SIZE MinCroppingSize; | 
|  | SIZE MaxCroppingSize; | 
|  | int CropGranularityX; | 
|  | int CropGranularityY; | 
|  | int CropAlignX; | 
|  | int CropAlignY; | 
|  | SIZE MinOutputSize; | 
|  | SIZE MaxOutputSize; | 
|  | int OutputGranularityX; | 
|  | int OutputGranularityY; | 
|  | int StretchTapsX; | 
|  | int StretchTapsY; | 
|  | int ShrinkTapsX; | 
|  | int ShrinkTapsY; | 
|  | LONGLONG MinFrameInterval; | 
|  | LONGLONG MaxFrameInterval; | 
|  | LONG MinBitsPerSecond; | 
|  | LONG MaxBitsPerSecond; | 
|  | } VIDEO_STREAM_CONFIG_CAPS; | 
|  | typedef struct _AUDIO_STREAM_CONFIG_CAPS { | 
|  | GUID guid; | 
|  | ULONG MinimumChannels; | 
|  | ULONG MaximumChannels; | 
|  | ULONG ChannelsGranularity; | 
|  | ULONG MinimumBitsPerSample; | 
|  | ULONG MaximumBitsPerSample; | 
|  | ULONG BitsPerSampleGranularity; | 
|  | ULONG MinimumSampleFrequency; | 
|  | ULONG MaximumSampleFrequency; | 
|  | ULONG SampleFrequencyGranularity; | 
|  | } AUDIO_STREAM_CONFIG_CAPS; | 
|  | DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c6e13340-30ac-11d0-a18c-00a0c9118956") | 
|  | IAMStreamConfig : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFormat( | 
|  | AM_MEDIA_TYPE *pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFormat( | 
|  | AM_MEDIA_TYPE **pmt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( | 
|  | int *piCount, | 
|  | int *piSize) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( | 
|  | int iIndex, | 
|  | AM_MEDIA_TYPE **pmt, | 
|  | BYTE *pSCC) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMStreamConfigVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMStreamConfig *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMStreamConfig *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMStreamConfig *This); | 
|  |  | 
|  | /*** IAMStreamConfig methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetFormat)( | 
|  | IAMStreamConfig *This, | 
|  | AM_MEDIA_TYPE *pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFormat)( | 
|  | IAMStreamConfig *This, | 
|  | AM_MEDIA_TYPE **pmt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetNumberOfCapabilities)( | 
|  | IAMStreamConfig *This, | 
|  | int *piCount, | 
|  | int *piSize); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStreamCaps)( | 
|  | IAMStreamConfig *This, | 
|  | int iIndex, | 
|  | AM_MEDIA_TYPE **pmt, | 
|  | BYTE *pSCC); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMStreamConfigVtbl; | 
|  |  | 
|  | interface IAMStreamConfig { | 
|  | CONST_VTBL IAMStreamConfigVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMStreamConfig methods ***/ | 
|  | #define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt) | 
|  | #define IAMStreamConfig_GetFormat(This,pmt) (This)->lpVtbl->GetFormat(This,pmt) | 
|  | #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize) | 
|  | #define IAMStreamConfig_GetStreamCaps(This,iIndex,pmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMStreamConfig_QueryInterface(IAMStreamConfig* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMStreamConfig_AddRef(IAMStreamConfig* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMStreamConfig_Release(IAMStreamConfig* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMStreamConfig methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMStreamConfig_SetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE *pmt) { | 
|  | return This->lpVtbl->SetFormat(This,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMStreamConfig_GetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE **pmt) { | 
|  | return This->lpVtbl->GetFormat(This,pmt); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMStreamConfig_GetNumberOfCapabilities(IAMStreamConfig* This,int *piCount,int *piSize) { | 
|  | return This->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMStreamConfig_GetStreamCaps(IAMStreamConfig* This,int iIndex,AM_MEDIA_TYPE **pmt,BYTE *pSCC) { | 
|  | return This->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMStreamConfig_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum tagVideoProcAmpProperty { | 
|  | VideoProcAmp_Brightness = 0, | 
|  | VideoProcAmp_Contrast = 1, | 
|  | VideoProcAmp_Hue = 2, | 
|  | VideoProcAmp_Saturation = 3, | 
|  | VideoProcAmp_Sharpness = 4, | 
|  | VideoProcAmp_Gamma = 5, | 
|  | VideoProcAmp_ColorEnable = 6, | 
|  | VideoProcAmp_WhiteBalance = 7, | 
|  | VideoProcAmp_BacklightCompensation = 8, | 
|  | VideoProcAmp_Gain = 9 | 
|  | } VideoProcAmpProperty; | 
|  | typedef enum tagVideoProcAmpFlags { | 
|  | VideoProcAmp_Flags_Auto = 0x1, | 
|  | VideoProcAmp_Flags_Manual = 0x2 | 
|  | } VideoProcAmpFlags; | 
|  | /***************************************************************************** | 
|  | * IAMVideoProcAmp interface | 
|  | */ | 
|  | #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__ | 
|  | #define __IAMVideoProcAmp_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c6e13360-30ac-11d0-a18c-00a0c9118956") | 
|  | IAMVideoProcAmp : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRange( | 
|  | LONG Property, | 
|  | LONG *pMin, | 
|  | LONG *pMax, | 
|  | LONG *pSteppingDelta, | 
|  | LONG *pDefault, | 
|  | LONG *pCapsFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Set( | 
|  | LONG Property, | 
|  | LONG lValue, | 
|  | LONG Flags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Get( | 
|  | LONG Property, | 
|  | LONG *lValue, | 
|  | LONG *Flags) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMVideoProcAmpVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMVideoProcAmp *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMVideoProcAmp *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMVideoProcAmp *This); | 
|  |  | 
|  | /*** IAMVideoProcAmp methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetRange)( | 
|  | IAMVideoProcAmp *This, | 
|  | LONG Property, | 
|  | LONG *pMin, | 
|  | LONG *pMax, | 
|  | LONG *pSteppingDelta, | 
|  | LONG *pDefault, | 
|  | LONG *pCapsFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Set)( | 
|  | IAMVideoProcAmp *This, | 
|  | LONG Property, | 
|  | LONG lValue, | 
|  | LONG Flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Get)( | 
|  | IAMVideoProcAmp *This, | 
|  | LONG Property, | 
|  | LONG *lValue, | 
|  | LONG *Flags); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMVideoProcAmpVtbl; | 
|  |  | 
|  | interface IAMVideoProcAmp { | 
|  | CONST_VTBL IAMVideoProcAmpVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMVideoProcAmp methods ***/ | 
|  | #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) | 
|  | #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags) | 
|  | #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMVideoProcAmp_QueryInterface(IAMVideoProcAmp* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMVideoProcAmp_AddRef(IAMVideoProcAmp* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMVideoProcAmp_Release(IAMVideoProcAmp* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMVideoProcAmp methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMVideoProcAmp_GetRange(IAMVideoProcAmp* This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) { | 
|  | return This->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoProcAmp_Set(IAMVideoProcAmp* This,LONG Property,LONG lValue,LONG Flags) { | 
|  | return This->lpVtbl->Set(This,Property,lValue,Flags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoProcAmp_Get(IAMVideoProcAmp* This,LONG Property,LONG *lValue,LONG *Flags) { | 
|  | return This->lpVtbl->Get(This,Property,lValue,Flags); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAsyncReader interface | 
|  | */ | 
|  | #ifndef __IAsyncReader_INTERFACE_DEFINED__ | 
|  | #define __IAsyncReader_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770") | 
|  | IAsyncReader : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE RequestAllocator( | 
|  | IMemAllocator *pPreferred, | 
|  | ALLOCATOR_PROPERTIES *pProps, | 
|  | IMemAllocator **ppActual) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Request( | 
|  | IMediaSample *pSample, | 
|  | DWORD_PTR dwUser) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE WaitForNext( | 
|  | DWORD dwTimeout, | 
|  | IMediaSample **ppSample, | 
|  | DWORD_PTR *pdwUser) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( | 
|  | IMediaSample *pSample) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SyncRead( | 
|  | LONGLONG llPosition, | 
|  | LONG lLength, | 
|  | BYTE *pBuffer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Length( | 
|  | LONGLONG *pTotal, | 
|  | LONGLONG *pAvailable) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE BeginFlush( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndFlush( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAsyncReaderVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAsyncReader *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAsyncReader *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAsyncReader *This); | 
|  |  | 
|  | /*** IAsyncReader methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *RequestAllocator)( | 
|  | IAsyncReader *This, | 
|  | IMemAllocator *pPreferred, | 
|  | ALLOCATOR_PROPERTIES *pProps, | 
|  | IMemAllocator **ppActual); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Request)( | 
|  | IAsyncReader *This, | 
|  | IMediaSample *pSample, | 
|  | DWORD_PTR dwUser); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *WaitForNext)( | 
|  | IAsyncReader *This, | 
|  | DWORD dwTimeout, | 
|  | IMediaSample **ppSample, | 
|  | DWORD_PTR *pdwUser); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SyncReadAligned)( | 
|  | IAsyncReader *This, | 
|  | IMediaSample *pSample); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SyncRead)( | 
|  | IAsyncReader *This, | 
|  | LONGLONG llPosition, | 
|  | LONG lLength, | 
|  | BYTE *pBuffer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Length)( | 
|  | IAsyncReader *This, | 
|  | LONGLONG *pTotal, | 
|  | LONGLONG *pAvailable); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *BeginFlush)( | 
|  | IAsyncReader *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndFlush)( | 
|  | IAsyncReader *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAsyncReaderVtbl; | 
|  |  | 
|  | interface IAsyncReader { | 
|  | CONST_VTBL IAsyncReaderVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAsyncReader methods ***/ | 
|  | #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual) | 
|  | #define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser) | 
|  | #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser) | 
|  | #define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample) | 
|  | #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer) | 
|  | #define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable) | 
|  | #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This) | 
|  | #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_QueryInterface(IAsyncReader* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAsyncReader_AddRef(IAsyncReader* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAsyncReader_Release(IAsyncReader* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAsyncReader methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_RequestAllocator(IAsyncReader* This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) { | 
|  | return This->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_Request(IAsyncReader* This,IMediaSample *pSample,DWORD_PTR dwUser) { | 
|  | return This->lpVtbl->Request(This,pSample,dwUser); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_WaitForNext(IAsyncReader* This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) { | 
|  | return This->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_SyncReadAligned(IAsyncReader* This,IMediaSample *pSample) { | 
|  | return This->lpVtbl->SyncReadAligned(This,pSample); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_SyncRead(IAsyncReader* This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer) { | 
|  | return This->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_Length(IAsyncReader* This,LONGLONG *pTotal,LONGLONG *pAvailable) { | 
|  | return This->lpVtbl->Length(This,pTotal,pAvailable); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_BeginFlush(IAsyncReader* This) { | 
|  | return This->lpVtbl->BeginFlush(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAsyncReader_EndFlush(IAsyncReader* This) { | 
|  | return This->lpVtbl->EndFlush(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAsyncReader_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IGraphVersion interface | 
|  | */ | 
|  | #ifndef __IGraphVersion_INTERFACE_DEFINED__ | 
|  | #define __IGraphVersion_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770") | 
|  | IGraphVersion : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryVersion( | 
|  | LONG *pVersion) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IGraphVersionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IGraphVersion *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IGraphVersion *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IGraphVersion *This); | 
|  |  | 
|  | /*** IGraphVersion methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryVersion)( | 
|  | IGraphVersion *This, | 
|  | LONG *pVersion); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IGraphVersionVtbl; | 
|  |  | 
|  | interface IGraphVersion { | 
|  | CONST_VTBL IGraphVersionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IGraphVersion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IGraphVersion_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IGraphVersion methods ***/ | 
|  | #define IGraphVersion_QueryVersion(This,pVersion) (This)->lpVtbl->QueryVersion(This,pVersion) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IGraphVersion_QueryInterface(IGraphVersion* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IGraphVersion_AddRef(IGraphVersion* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IGraphVersion_Release(IGraphVersion* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IGraphVersion methods ***/ | 
|  | static __WIDL_INLINE HRESULT IGraphVersion_QueryVersion(IGraphVersion* This,LONG *pVersion) { | 
|  | return This->lpVtbl->QueryVersion(This,pVersion); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IGraphVersion_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IResourceConsumer interface | 
|  | */ | 
|  | #ifndef __IResourceConsumer_INTERFACE_DEFINED__ | 
|  | #define __IResourceConsumer_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770") | 
|  | IResourceConsumer : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AcquireResource( | 
|  | LONG idResource) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ReleaseResource( | 
|  | LONG idResource) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IResourceConsumerVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IResourceConsumer *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IResourceConsumer *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IResourceConsumer *This); | 
|  |  | 
|  | /*** IResourceConsumer methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AcquireResource)( | 
|  | IResourceConsumer *This, | 
|  | LONG idResource); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReleaseResource)( | 
|  | IResourceConsumer *This, | 
|  | LONG idResource); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IResourceConsumerVtbl; | 
|  |  | 
|  | interface IResourceConsumer { | 
|  | CONST_VTBL IResourceConsumerVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IResourceConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IResourceConsumer methods ***/ | 
|  | #define IResourceConsumer_AcquireResource(This,idResource) (This)->lpVtbl->AcquireResource(This,idResource) | 
|  | #define IResourceConsumer_ReleaseResource(This,idResource) (This)->lpVtbl->ReleaseResource(This,idResource) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IResourceConsumer_QueryInterface(IResourceConsumer* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IResourceConsumer_AddRef(IResourceConsumer* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IResourceConsumer_Release(IResourceConsumer* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IResourceConsumer methods ***/ | 
|  | static __WIDL_INLINE HRESULT IResourceConsumer_AcquireResource(IResourceConsumer* This,LONG idResource) { | 
|  | return This->lpVtbl->AcquireResource(This,idResource); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IResourceConsumer_ReleaseResource(IResourceConsumer* This,LONG idResource) { | 
|  | return This->lpVtbl->ReleaseResource(This,idResource); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IResourceConsumer_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IResourceManager interface | 
|  | */ | 
|  | #ifndef __IResourceManager_INTERFACE_DEFINED__ | 
|  | #define __IResourceManager_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770") | 
|  | IResourceManager : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Register( | 
|  | LPCWSTR pName, | 
|  | LONG cResource, | 
|  | LONG *plToken) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterGroup( | 
|  | LPCWSTR pName, | 
|  | LONG cResource, | 
|  | LONG *palTokens, | 
|  | LONG *plToken) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RequestResource( | 
|  | LONG idResource, | 
|  | IUnknown *pFocusObject, | 
|  | IResourceConsumer *pConsumer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( | 
|  | LONG idResource, | 
|  | IResourceConsumer *pConsumer, | 
|  | HRESULT hr) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE NotifyRelease( | 
|  | LONG idResource, | 
|  | IResourceConsumer *pConsumer, | 
|  | WINBOOL bStillWant) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CancelRequest( | 
|  | LONG idResource, | 
|  | IResourceConsumer *pConsumer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFocus( | 
|  | IUnknown *pFocusObject) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( | 
|  | IUnknown *pFocusObject) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IResourceManagerVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IResourceManager *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IResourceManager *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IResourceManager *This); | 
|  |  | 
|  | /*** IResourceManager methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Register)( | 
|  | IResourceManager *This, | 
|  | LPCWSTR pName, | 
|  | LONG cResource, | 
|  | LONG *plToken); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterGroup)( | 
|  | IResourceManager *This, | 
|  | LPCWSTR pName, | 
|  | LONG cResource, | 
|  | LONG *palTokens, | 
|  | LONG *plToken); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RequestResource)( | 
|  | IResourceManager *This, | 
|  | LONG idResource, | 
|  | IUnknown *pFocusObject, | 
|  | IResourceConsumer *pConsumer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *NotifyAcquire)( | 
|  | IResourceManager *This, | 
|  | LONG idResource, | 
|  | IResourceConsumer *pConsumer, | 
|  | HRESULT hr); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *NotifyRelease)( | 
|  | IResourceManager *This, | 
|  | LONG idResource, | 
|  | IResourceConsumer *pConsumer, | 
|  | WINBOOL bStillWant); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CancelRequest)( | 
|  | IResourceManager *This, | 
|  | LONG idResource, | 
|  | IResourceConsumer *pConsumer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFocus)( | 
|  | IResourceManager *This, | 
|  | IUnknown *pFocusObject); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReleaseFocus)( | 
|  | IResourceManager *This, | 
|  | IUnknown *pFocusObject); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IResourceManagerVtbl; | 
|  |  | 
|  | interface IResourceManager { | 
|  | CONST_VTBL IResourceManagerVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IResourceManager_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IResourceManager methods ***/ | 
|  | #define IResourceManager_Register(This,pName,cResource,plToken) (This)->lpVtbl->Register(This,pName,cResource,plToken) | 
|  | #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) (This)->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken) | 
|  | #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) (This)->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer) | 
|  | #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) (This)->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr) | 
|  | #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) (This)->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant) | 
|  | #define IResourceManager_CancelRequest(This,idResource,pConsumer) (This)->lpVtbl->CancelRequest(This,idResource,pConsumer) | 
|  | #define IResourceManager_SetFocus(This,pFocusObject) (This)->lpVtbl->SetFocus(This,pFocusObject) | 
|  | #define IResourceManager_ReleaseFocus(This,pFocusObject) (This)->lpVtbl->ReleaseFocus(This,pFocusObject) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IResourceManager_QueryInterface(IResourceManager* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IResourceManager_AddRef(IResourceManager* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IResourceManager_Release(IResourceManager* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IResourceManager methods ***/ | 
|  | static __WIDL_INLINE HRESULT IResourceManager_Register(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *plToken) { | 
|  | return This->lpVtbl->Register(This,pName,cResource,plToken); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IResourceManager_RegisterGroup(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken) { | 
|  | return This->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IResourceManager_RequestResource(IResourceManager* This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer) { | 
|  | return This->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IResourceManager_NotifyAcquire(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr) { | 
|  | return This->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IResourceManager_NotifyRelease(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant) { | 
|  | return This->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IResourceManager_CancelRequest(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer) { | 
|  | return This->lpVtbl->CancelRequest(This,idResource,pConsumer); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IResourceManager_SetFocus(IResourceManager* This,IUnknown *pFocusObject) { | 
|  | return This->lpVtbl->SetFocus(This,pFocusObject); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IResourceManager_ReleaseFocus(IResourceManager* This,IUnknown *pFocusObject) { | 
|  | return This->lpVtbl->ReleaseFocus(This,pFocusObject); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IResourceManager_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum AM_STREAM_INFO_FLAGS { | 
|  | AM_STREAM_INFO_START_DEFINED = 0x1, | 
|  | AM_STREAM_INFO_STOP_DEFINED = 0x2, | 
|  | AM_STREAM_INFO_DISCARDING = 0x4, | 
|  | AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10 | 
|  | } AM_STREAM_INFO_FLAGS; | 
|  | typedef struct AM_STREAM_INFO { | 
|  | REFERENCE_TIME tStart; | 
|  | REFERENCE_TIME tStop; | 
|  | DWORD dwStartCookie; | 
|  | DWORD dwStopCookie; | 
|  | DWORD dwFlags; | 
|  | } AM_STREAM_INFO; | 
|  | /***************************************************************************** | 
|  | * IAMStreamControl interface | 
|  | */ | 
|  | #ifndef __IAMStreamControl_INTERFACE_DEFINED__ | 
|  | #define __IAMStreamControl_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60") | 
|  | IAMStreamControl : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE StartAt( | 
|  | const REFERENCE_TIME *ptStart, | 
|  | DWORD dwCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE StopAt( | 
|  | const REFERENCE_TIME *ptStop, | 
|  | WINBOOL bSendExtra, | 
|  | DWORD dwCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetInfo( | 
|  | AM_STREAM_INFO *pInfo) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMStreamControl, 0x36b73881, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMStreamControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMStreamControl *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMStreamControl *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMStreamControl *This); | 
|  |  | 
|  | /*** IAMStreamControl methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *StartAt)( | 
|  | IAMStreamControl *This, | 
|  | const REFERENCE_TIME *ptStart, | 
|  | DWORD dwCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *StopAt)( | 
|  | IAMStreamControl *This, | 
|  | const REFERENCE_TIME *ptStop, | 
|  | WINBOOL bSendExtra, | 
|  | DWORD dwCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetInfo)( | 
|  | IAMStreamControl *This, | 
|  | AM_STREAM_INFO *pInfo); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMStreamControlVtbl; | 
|  |  | 
|  | interface IAMStreamControl { | 
|  | CONST_VTBL IAMStreamControlVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMStreamControl methods ***/ | 
|  | #define IAMStreamControl_StartAt(This,ptStart,dwCookie) (This)->lpVtbl->StartAt(This,ptStart,dwCookie) | 
|  | #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) (This)->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie) | 
|  | #define IAMStreamControl_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMStreamControl_QueryInterface(IAMStreamControl* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMStreamControl_AddRef(IAMStreamControl* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMStreamControl_Release(IAMStreamControl* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMStreamControl methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMStreamControl_StartAt(IAMStreamControl* This,const REFERENCE_TIME *ptStart,DWORD dwCookie) { | 
|  | return This->lpVtbl->StartAt(This,ptStart,dwCookie); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMStreamControl_StopAt(IAMStreamControl* This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie) { | 
|  | return This->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMStreamControl_GetInfo(IAMStreamControl* This,AM_STREAM_INFO *pInfo) { | 
|  | return This->lpVtbl->GetInfo(This,pInfo); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMStreamControl_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #ifndef _IKsPropertySet_ | 
|  | #define _IKsPropertySet_ | 
|  | #define KSPROPERTY_SUPPORT_GET  1 | 
|  | #define KSPROPERTY_SUPPORT_SET  2 | 
|  | typedef enum AMPROPERTY_PIN { | 
|  | AMPROPERTY_PIN_CATEGORY = 0, | 
|  | AMPROPERTY_PIN_MEDIUM = 1 | 
|  | } AMPROPERTY_PIN; | 
|  | /***************************************************************************** | 
|  | * IKsPropertySet interface | 
|  | */ | 
|  | #ifndef __IKsPropertySet_INTERFACE_DEFINED__ | 
|  | #define __IKsPropertySet_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("31efac30-515c-11d0-a9aa-00aa0061be93") | 
|  | IKsPropertySet : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Set( | 
|  | REFGUID guidPropSet, | 
|  | DWORD dwPropID, | 
|  | LPVOID pInstanceData, | 
|  | DWORD cbInstanceData, | 
|  | LPVOID pPropData, | 
|  | DWORD cbPropData) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Get( | 
|  | REFGUID guidPropSet, | 
|  | DWORD dwPropID, | 
|  | LPVOID pInstanceData, | 
|  | DWORD cbInstanceData, | 
|  | LPVOID pPropData, | 
|  | DWORD cbPropData, | 
|  | DWORD *pcbReturned) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE QuerySupported( | 
|  | REFGUID guidPropSet, | 
|  | DWORD dwPropID, | 
|  | DWORD *pTypeSupport) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IKsPropertySetVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IKsPropertySet *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IKsPropertySet *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IKsPropertySet *This); | 
|  |  | 
|  | /*** IKsPropertySet methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Set)( | 
|  | IKsPropertySet *This, | 
|  | REFGUID guidPropSet, | 
|  | DWORD dwPropID, | 
|  | LPVOID pInstanceData, | 
|  | DWORD cbInstanceData, | 
|  | LPVOID pPropData, | 
|  | DWORD cbPropData); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Get)( | 
|  | IKsPropertySet *This, | 
|  | REFGUID guidPropSet, | 
|  | DWORD dwPropID, | 
|  | LPVOID pInstanceData, | 
|  | DWORD cbInstanceData, | 
|  | LPVOID pPropData, | 
|  | DWORD cbPropData, | 
|  | DWORD *pcbReturned); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *QuerySupported)( | 
|  | IKsPropertySet *This, | 
|  | REFGUID guidPropSet, | 
|  | DWORD dwPropID, | 
|  | DWORD *pTypeSupport); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IKsPropertySetVtbl; | 
|  |  | 
|  | interface IKsPropertySet { | 
|  | CONST_VTBL IKsPropertySetVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IKsPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IKsPropertySet methods ***/ | 
|  | #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) (This)->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) | 
|  | #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) (This)->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) | 
|  | #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) (This)->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IKsPropertySet_QueryInterface(IKsPropertySet* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IKsPropertySet_AddRef(IKsPropertySet* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IKsPropertySet_Release(IKsPropertySet* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IKsPropertySet methods ***/ | 
|  | static __WIDL_INLINE HRESULT IKsPropertySet_Set(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData) { | 
|  | return This->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IKsPropertySet_Get(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned) { | 
|  | return This->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IKsPropertySet_QuerySupported(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport) { | 
|  | return This->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IKsPropertySet_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif /* _IKsPropertySet_ */ | 
|  | /***************************************************************************** | 
|  | * IMediaPropertyBag interface | 
|  | */ | 
|  | #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__ | 
|  | #define __IMediaPropertyBag_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG; | 
|  | DEFINE_GUID(IID_IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("6025a880-c0d5-11d0-bd4e-00a0c911ce86") | 
|  | IMediaPropertyBag : public IPropertyBag | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumProperty( | 
|  | ULONG iProperty, | 
|  | VARIANT *pvarPropertyName, | 
|  | VARIANT *pvarPropertyValue) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaPropertyBag, 0x6025a880, 0xc0d5, 0x11d0, 0xbd,0x4e, 0x00,0xa0,0xc9,0x11,0xce,0x86) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaPropertyBagVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaPropertyBag *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaPropertyBag *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaPropertyBag *This); | 
|  |  | 
|  | /*** IPropertyBag methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Read)( | 
|  | IMediaPropertyBag *This, | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar, | 
|  | IErrorLog *pErrorLog); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Write)( | 
|  | IMediaPropertyBag *This, | 
|  | LPCOLESTR pszPropName, | 
|  | VARIANT *pVar); | 
|  |  | 
|  | /*** IMediaPropertyBag methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *EnumProperty)( | 
|  | IMediaPropertyBag *This, | 
|  | ULONG iProperty, | 
|  | VARIANT *pvarPropertyName, | 
|  | VARIANT *pvarPropertyValue); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaPropertyBagVtbl; | 
|  |  | 
|  | interface IMediaPropertyBag { | 
|  | CONST_VTBL IMediaPropertyBagVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPropertyBag methods ***/ | 
|  | #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog) | 
|  | #define IMediaPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar) | 
|  | /*** IMediaPropertyBag methods ***/ | 
|  | #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) (This)->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaPropertyBag_QueryInterface(IMediaPropertyBag* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaPropertyBag_AddRef(IMediaPropertyBag* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IMediaPropertyBag_Release(IMediaPropertyBag* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPropertyBag methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaPropertyBag_Read(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog) { | 
|  | return This->lpVtbl->Read(This,pszPropName,pVar,pErrorLog); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IMediaPropertyBag_Write(IMediaPropertyBag* This,LPCOLESTR pszPropName,VARIANT *pVar) { | 
|  | return This->lpVtbl->Write(This,pszPropName,pVar); | 
|  | } | 
|  | /*** IMediaPropertyBag methods ***/ | 
|  | static __WIDL_INLINE HRESULT IMediaPropertyBag_EnumProperty(IMediaPropertyBag* This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue) { | 
|  | return This->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaPropertyBag_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IPersistMediaPropertyBag interface | 
|  | */ | 
|  | #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__ | 
|  | #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__ | 
|  |  | 
|  | typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG; | 
|  | DEFINE_GUID(IID_IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("5738e040-b67f-11d0-bd4d-00a0c911ce86") | 
|  | IPersistMediaPropertyBag : public IPersist | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE InitNew( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Load( | 
|  | IMediaPropertyBag *pPropBag, | 
|  | IErrorLog *pErrorLog) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Save( | 
|  | IMediaPropertyBag *pPropBag, | 
|  | WINBOOL fClearDirty, | 
|  | WINBOOL fSaveAllProperties) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IPersistMediaPropertyBag, 0x5738e040, 0xb67f, 0x11d0, 0xbd,0x4d, 0x00,0xa0,0xc9,0x11,0xce,0x86) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IPersistMediaPropertyBagVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IPersistMediaPropertyBag *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IPersistMediaPropertyBag *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IPersistMediaPropertyBag *This); | 
|  |  | 
|  | /*** IPersist methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetClassID)( | 
|  | IPersistMediaPropertyBag *This, | 
|  | CLSID *pClassID); | 
|  |  | 
|  | /*** IPersistMediaPropertyBag methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *InitNew)( | 
|  | IPersistMediaPropertyBag *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Load)( | 
|  | IPersistMediaPropertyBag *This, | 
|  | IMediaPropertyBag *pPropBag, | 
|  | IErrorLog *pErrorLog); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Save)( | 
|  | IPersistMediaPropertyBag *This, | 
|  | IMediaPropertyBag *pPropBag, | 
|  | WINBOOL fClearDirty, | 
|  | WINBOOL fSaveAllProperties); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IPersistMediaPropertyBagVtbl; | 
|  |  | 
|  | interface IPersistMediaPropertyBag { | 
|  | CONST_VTBL IPersistMediaPropertyBagVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPersist methods ***/ | 
|  | #define IPersistMediaPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) | 
|  | /*** IPersistMediaPropertyBag methods ***/ | 
|  | #define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This) | 
|  | #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog) | 
|  | #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IPersistMediaPropertyBag_QueryInterface(IPersistMediaPropertyBag* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IPersistMediaPropertyBag_AddRef(IPersistMediaPropertyBag* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IPersistMediaPropertyBag_Release(IPersistMediaPropertyBag* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPersist methods ***/ | 
|  | static __WIDL_INLINE HRESULT IPersistMediaPropertyBag_GetClassID(IPersistMediaPropertyBag* This,CLSID *pClassID) { | 
|  | return This->lpVtbl->GetClassID(This,pClassID); | 
|  | } | 
|  | /*** IPersistMediaPropertyBag methods ***/ | 
|  | static __WIDL_INLINE HRESULT IPersistMediaPropertyBag_InitNew(IPersistMediaPropertyBag* This) { | 
|  | return This->lpVtbl->InitNew(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPersistMediaPropertyBag_Load(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog) { | 
|  | return This->lpVtbl->Load(This,pPropBag,pErrorLog); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IPersistMediaPropertyBag_Save(IPersistMediaPropertyBag* This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) { | 
|  | return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ISeekingPassThru interface | 
|  | */ | 
|  | #ifndef __ISeekingPassThru_INTERFACE_DEFINED__ | 
|  | #define __ISeekingPassThru_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60") | 
|  | ISeekingPassThru : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Init( | 
|  | WINBOOL bSupportRendering, | 
|  | IPin *pPin) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ISeekingPassThruVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ISeekingPassThru *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ISeekingPassThru *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ISeekingPassThru *This); | 
|  |  | 
|  | /*** ISeekingPassThru methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Init)( | 
|  | ISeekingPassThru *This, | 
|  | WINBOOL bSupportRendering, | 
|  | IPin *pPin); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ISeekingPassThruVtbl; | 
|  |  | 
|  | interface ISeekingPassThru { | 
|  | CONST_VTBL ISeekingPassThruVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ISeekingPassThru methods ***/ | 
|  | #define ISeekingPassThru_Init(This,bSupportRendering,pPin) (This)->lpVtbl->Init(This,bSupportRendering,pPin) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT ISeekingPassThru_QueryInterface(ISeekingPassThru* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ISeekingPassThru_AddRef(ISeekingPassThru* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG ISeekingPassThru_Release(ISeekingPassThru* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ISeekingPassThru methods ***/ | 
|  | static __WIDL_INLINE HRESULT ISeekingPassThru_Init(ISeekingPassThru* This,WINBOOL bSupportRendering,IPin *pPin) { | 
|  | return This->lpVtbl->Init(This,bSupportRendering,pPin); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ISeekingPassThru_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | enum _AM_FILTER_MISC_FLAGS { | 
|  | AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1, | 
|  | AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2 | 
|  | }; | 
|  | /***************************************************************************** | 
|  | * IAMFilterMiscFlags interface | 
|  | */ | 
|  | #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__ | 
|  | #define __IAMFilterMiscFlags_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375") | 
|  | IAMFilterMiscFlags : public IUnknown | 
|  | { | 
|  | virtual ULONG STDMETHODCALLTYPE GetMiscFlags( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMFilterMiscFlagsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMFilterMiscFlags *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMFilterMiscFlags *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMFilterMiscFlags *This); | 
|  |  | 
|  | /*** IAMFilterMiscFlags methods ***/ | 
|  | ULONG (STDMETHODCALLTYPE *GetMiscFlags)( | 
|  | IAMFilterMiscFlags *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMFilterMiscFlagsVtbl; | 
|  |  | 
|  | interface IAMFilterMiscFlags { | 
|  | CONST_VTBL IAMFilterMiscFlagsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMFilterMiscFlags methods ***/ | 
|  | #define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMFilterMiscFlags_AddRef(IAMFilterMiscFlags* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMFilterMiscFlags_Release(IAMFilterMiscFlags* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMFilterMiscFlags methods ***/ | 
|  | static __WIDL_INLINE ULONG IAMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags* This) { | 
|  | return This->lpVtbl->GetMiscFlags(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMGraphBuilderCallback interface | 
|  | */ | 
|  | #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__ | 
|  | #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79") | 
|  | IAMGraphBuilderCallback : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SelectedFilter( | 
|  | IMoniker *pMon) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreatedFilter( | 
|  | IBaseFilter *pFil) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMGraphBuilderCallbackVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMGraphBuilderCallback *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMGraphBuilderCallback *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMGraphBuilderCallback *This); | 
|  |  | 
|  | /*** IAMGraphBuilderCallback methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SelectedFilter)( | 
|  | IAMGraphBuilderCallback *This, | 
|  | IMoniker *pMon); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreatedFilter)( | 
|  | IAMGraphBuilderCallback *This, | 
|  | IBaseFilter *pFil); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMGraphBuilderCallbackVtbl; | 
|  |  | 
|  | interface IAMGraphBuilderCallback { | 
|  | CONST_VTBL IAMGraphBuilderCallbackVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMGraphBuilderCallback methods ***/ | 
|  | #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) (This)->lpVtbl->SelectedFilter(This,pMon) | 
|  | #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) (This)->lpVtbl->CreatedFilter(This,pFil) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMGraphBuilderCallback_QueryInterface(IAMGraphBuilderCallback* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMGraphBuilderCallback_AddRef(IAMGraphBuilderCallback* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMGraphBuilderCallback_Release(IAMGraphBuilderCallback* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMGraphBuilderCallback methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMGraphBuilderCallback_SelectedFilter(IAMGraphBuilderCallback* This,IMoniker *pMon) { | 
|  | return This->lpVtbl->SelectedFilter(This,pMon); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMGraphBuilderCallback_CreatedFilter(IAMGraphBuilderCallback* This,IBaseFilter *pFil) { | 
|  | return This->lpVtbl->CreatedFilter(This,pFil); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMVfwCaptureDialogs interface | 
|  | */ | 
|  | #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ | 
|  | #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("d8d715a0-6e5e-11d0-b3f0-00aa003761c5") | 
|  | IAMVfwCaptureDialogs : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE HasDialog( | 
|  | int dialog) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShowDialog( | 
|  | int dialog, | 
|  | HWND hwnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( | 
|  | int dialog, | 
|  | int msg, | 
|  | LONG data1, | 
|  | LONG data2) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMVfwCaptureDialogs, 0xd8d715a0, 0x6e5e, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMVfwCaptureDialogsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMVfwCaptureDialogs *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMVfwCaptureDialogs *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMVfwCaptureDialogs *This); | 
|  |  | 
|  | /*** IAMVfwCaptureDialogs methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *HasDialog)( | 
|  | IAMVfwCaptureDialogs *This, | 
|  | int dialog); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShowDialog)( | 
|  | IAMVfwCaptureDialogs *This, | 
|  | int dialog, | 
|  | HWND hwnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SendDriverMessage)( | 
|  | IAMVfwCaptureDialogs *This, | 
|  | int dialog, | 
|  | int msg, | 
|  | LONG data1, | 
|  | LONG data2); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMVfwCaptureDialogsVtbl; | 
|  |  | 
|  | interface IAMVfwCaptureDialogs { | 
|  | CONST_VTBL IAMVfwCaptureDialogsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMVfwCaptureDialogs methods ***/ | 
|  | #define IAMVfwCaptureDialogs_HasDialog(This,dialog) (This)->lpVtbl->HasDialog(This,dialog) | 
|  | #define IAMVfwCaptureDialogs_ShowDialog(This,dialog,hwnd) (This)->lpVtbl->ShowDialog(This,dialog,hwnd) | 
|  | #define IAMVfwCaptureDialogs_SendDriverMessage(This,dialog,msg,data1,data2) (This)->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMVfwCaptureDialogs_QueryInterface(IAMVfwCaptureDialogs* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMVfwCaptureDialogs_AddRef(IAMVfwCaptureDialogs* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMVfwCaptureDialogs_Release(IAMVfwCaptureDialogs* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMVfwCaptureDialogs methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMVfwCaptureDialogs_HasDialog(IAMVfwCaptureDialogs* This,int dialog) { | 
|  | return This->lpVtbl->HasDialog(This,dialog); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVfwCaptureDialogs_ShowDialog(IAMVfwCaptureDialogs* This,int dialog,HWND hwnd) { | 
|  | return This->lpVtbl->ShowDialog(This,dialog,hwnd); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVfwCaptureDialogs_SendDriverMessage(IAMVfwCaptureDialogs* This,int dialog,int msg,LONG data1,LONG data2) { | 
|  | return This->lpVtbl->SendDriverMessage(This,dialog,msg,data1,data2); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMCameraControl interface | 
|  | */ | 
|  | #ifndef __IAMCameraControl_INTERFACE_DEFINED__ | 
|  | #define __IAMCameraControl_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMCameraControl, 0xc6e13370, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c6e13370-30ac-11d0-a18c-00a0c9118956") | 
|  | IAMCameraControl : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRange( | 
|  | LONG property, | 
|  | LONG *min, | 
|  | LONG *max, | 
|  | LONG *stepping_delta, | 
|  | LONG *default_value, | 
|  | LONG *flags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Set( | 
|  | LONG property, | 
|  | LONG property_value, | 
|  | LONG flags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Get( | 
|  | LONG property, | 
|  | LONG *property_value, | 
|  | LONG *flags) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMCameraControl, 0xc6e13370, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMCameraControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMCameraControl *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMCameraControl *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMCameraControl *This); | 
|  |  | 
|  | /*** IAMCameraControl methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetRange)( | 
|  | IAMCameraControl *This, | 
|  | LONG property, | 
|  | LONG *min, | 
|  | LONG *max, | 
|  | LONG *stepping_delta, | 
|  | LONG *default_value, | 
|  | LONG *flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Set)( | 
|  | IAMCameraControl *This, | 
|  | LONG property, | 
|  | LONG property_value, | 
|  | LONG flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Get)( | 
|  | IAMCameraControl *This, | 
|  | LONG property, | 
|  | LONG *property_value, | 
|  | LONG *flags); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMCameraControlVtbl; | 
|  |  | 
|  | interface IAMCameraControl { | 
|  | CONST_VTBL IAMCameraControlVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMCameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMCameraControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMCameraControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMCameraControl methods ***/ | 
|  | #define IAMCameraControl_GetRange(This,property,min,max,stepping_delta,default_value,flags) (This)->lpVtbl->GetRange(This,property,min,max,stepping_delta,default_value,flags) | 
|  | #define IAMCameraControl_Set(This,property,property_value,flags) (This)->lpVtbl->Set(This,property,property_value,flags) | 
|  | #define IAMCameraControl_Get(This,property,property_value,flags) (This)->lpVtbl->Get(This,property,property_value,flags) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMCameraControl_QueryInterface(IAMCameraControl* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMCameraControl_AddRef(IAMCameraControl* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMCameraControl_Release(IAMCameraControl* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMCameraControl methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMCameraControl_GetRange(IAMCameraControl* This,LONG property,LONG *min,LONG *max,LONG *stepping_delta,LONG *default_value,LONG *flags) { | 
|  | return This->lpVtbl->GetRange(This,property,min,max,stepping_delta,default_value,flags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCameraControl_Set(IAMCameraControl* This,LONG property,LONG property_value,LONG flags) { | 
|  | return This->lpVtbl->Set(This,property,property_value,flags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCameraControl_Get(IAMCameraControl* This,LONG property,LONG *property_value,LONG *flags) { | 
|  | return This->lpVtbl->Get(This,property,property_value,flags); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMCameraControl_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMVideoControl interface | 
|  | */ | 
|  | #ifndef __IAMVideoControl_INTERFACE_DEFINED__ | 
|  | #define __IAMVideoControl_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMVideoControl, 0x6a2e0670, 0x28e4, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956") | 
|  | IAMVideoControl : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCaps( | 
|  | IPin *pin, | 
|  | LONG *flags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMode( | 
|  | IPin *pin, | 
|  | LONG mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMode( | 
|  | IPin *pin, | 
|  | LONG *mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate( | 
|  | IPin *pin, | 
|  | LONGLONG *frame_rate) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate( | 
|  | IPin *pin, | 
|  | LONG index, | 
|  | SIZE dimensions, | 
|  | LONGLONG *frame_rate) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFrameRateList( | 
|  | IPin *pin, | 
|  | LONG index, | 
|  | SIZE dimensions, | 
|  | LONG *list_size, | 
|  | LONGLONG **frame_rate) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMVideoControl, 0x6a2e0670, 0x28e4, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMVideoControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMVideoControl *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMVideoControl *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMVideoControl *This); | 
|  |  | 
|  | /*** IAMVideoControl methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetCaps)( | 
|  | IAMVideoControl *This, | 
|  | IPin *pin, | 
|  | LONG *flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMode)( | 
|  | IAMVideoControl *This, | 
|  | IPin *pin, | 
|  | LONG mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMode)( | 
|  | IAMVideoControl *This, | 
|  | IPin *pin, | 
|  | LONG *mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurrentActualFrameRate)( | 
|  | IAMVideoControl *This, | 
|  | IPin *pin, | 
|  | LONGLONG *frame_rate); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMaxAvailableFrameRate)( | 
|  | IAMVideoControl *This, | 
|  | IPin *pin, | 
|  | LONG index, | 
|  | SIZE dimensions, | 
|  | LONGLONG *frame_rate); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFrameRateList)( | 
|  | IAMVideoControl *This, | 
|  | IPin *pin, | 
|  | LONG index, | 
|  | SIZE dimensions, | 
|  | LONG *list_size, | 
|  | LONGLONG **frame_rate); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMVideoControlVtbl; | 
|  |  | 
|  | interface IAMVideoControl { | 
|  | CONST_VTBL IAMVideoControlVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMVideoControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMVideoControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMVideoControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMVideoControl methods ***/ | 
|  | #define IAMVideoControl_GetCaps(This,pin,flags) (This)->lpVtbl->GetCaps(This,pin,flags) | 
|  | #define IAMVideoControl_SetMode(This,pin,mode) (This)->lpVtbl->SetMode(This,pin,mode) | 
|  | #define IAMVideoControl_GetMode(This,pin,mode) (This)->lpVtbl->GetMode(This,pin,mode) | 
|  | #define IAMVideoControl_GetCurrentActualFrameRate(This,pin,frame_rate) (This)->lpVtbl->GetCurrentActualFrameRate(This,pin,frame_rate) | 
|  | #define IAMVideoControl_GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate) (This)->lpVtbl->GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate) | 
|  | #define IAMVideoControl_GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate) (This)->lpVtbl->GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMVideoControl_QueryInterface(IAMVideoControl* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMVideoControl_AddRef(IAMVideoControl* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMVideoControl_Release(IAMVideoControl* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMVideoControl methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMVideoControl_GetCaps(IAMVideoControl* This,IPin *pin,LONG *flags) { | 
|  | return This->lpVtbl->GetCaps(This,pin,flags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoControl_SetMode(IAMVideoControl* This,IPin *pin,LONG mode) { | 
|  | return This->lpVtbl->SetMode(This,pin,mode); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoControl_GetMode(IAMVideoControl* This,IPin *pin,LONG *mode) { | 
|  | return This->lpVtbl->GetMode(This,pin,mode); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoControl_GetCurrentActualFrameRate(IAMVideoControl* This,IPin *pin,LONGLONG *frame_rate) { | 
|  | return This->lpVtbl->GetCurrentActualFrameRate(This,pin,frame_rate); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoControl_GetMaxAvailableFrameRate(IAMVideoControl* This,IPin *pin,LONG index,SIZE dimensions,LONGLONG *frame_rate) { | 
|  | return This->lpVtbl->GetMaxAvailableFrameRate(This,pin,index,dimensions,frame_rate); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoControl_GetFrameRateList(IAMVideoControl* This,IPin *pin,LONG index,SIZE dimensions,LONG *list_size,LONGLONG **frame_rate) { | 
|  | return This->lpVtbl->GetFrameRateList(This,pin,index,dimensions,list_size,frame_rate); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMVideoControl_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMBufferNegotiation interface | 
|  | */ | 
|  | #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__ | 
|  | #define __IAMBufferNegotiation_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMBufferNegotiation, 0x56ed71a0, 0xaf5f, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("56ed71a0-af5f-11d0-b3f0-00aa003761c5") | 
|  | IAMBufferNegotiation : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties( | 
|  | const ALLOCATOR_PROPERTIES *prop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties( | 
|  | ALLOCATOR_PROPERTIES *prop) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMBufferNegotiation, 0x56ed71a0, 0xaf5f, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMBufferNegotiationVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMBufferNegotiation *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMBufferNegotiation *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMBufferNegotiation *This); | 
|  |  | 
|  | /*** IAMBufferNegotiation methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SuggestAllocatorProperties)( | 
|  | IAMBufferNegotiation *This, | 
|  | const ALLOCATOR_PROPERTIES *prop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAllocatorProperties)( | 
|  | IAMBufferNegotiation *This, | 
|  | ALLOCATOR_PROPERTIES *prop); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMBufferNegotiationVtbl; | 
|  |  | 
|  | interface IAMBufferNegotiation { | 
|  | CONST_VTBL IAMBufferNegotiationVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMBufferNegotiation methods ***/ | 
|  | #define IAMBufferNegotiation_SuggestAllocatorProperties(This,prop) (This)->lpVtbl->SuggestAllocatorProperties(This,prop) | 
|  | #define IAMBufferNegotiation_GetAllocatorProperties(This,prop) (This)->lpVtbl->GetAllocatorProperties(This,prop) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMBufferNegotiation_QueryInterface(IAMBufferNegotiation* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMBufferNegotiation_AddRef(IAMBufferNegotiation* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMBufferNegotiation_Release(IAMBufferNegotiation* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMBufferNegotiation methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMBufferNegotiation_SuggestAllocatorProperties(IAMBufferNegotiation* This,const ALLOCATOR_PROPERTIES *prop) { | 
|  | return This->lpVtbl->SuggestAllocatorProperties(This,prop); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMBufferNegotiation_GetAllocatorProperties(IAMBufferNegotiation* This,ALLOCATOR_PROPERTIES *prop) { | 
|  | return This->lpVtbl->GetAllocatorProperties(This,prop); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMDroppedFrames interface | 
|  | */ | 
|  | #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__ | 
|  | #define __IAMDroppedFrames_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMDroppedFrames, 0xc6e13344, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c6e13344-30ac-11d0-a18c-00a0c9118956") | 
|  | IAMDroppedFrames : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetNumDropped( | 
|  | LONG *number) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped( | 
|  | LONG *number) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo( | 
|  | LONG size, | 
|  | LONG *array, | 
|  | LONG *copied) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize( | 
|  | LONG *size) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMDroppedFrames, 0xc6e13344, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMDroppedFramesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMDroppedFrames *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMDroppedFrames *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMDroppedFrames *This); | 
|  |  | 
|  | /*** IAMDroppedFrames methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetNumDropped)( | 
|  | IAMDroppedFrames *This, | 
|  | LONG *number); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetNumNotDropped)( | 
|  | IAMDroppedFrames *This, | 
|  | LONG *number); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDroppedInfo)( | 
|  | IAMDroppedFrames *This, | 
|  | LONG size, | 
|  | LONG *array, | 
|  | LONG *copied); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAverageFrameSize)( | 
|  | IAMDroppedFrames *This, | 
|  | LONG *size); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMDroppedFramesVtbl; | 
|  |  | 
|  | interface IAMDroppedFrames { | 
|  | CONST_VTBL IAMDroppedFramesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMDroppedFrames methods ***/ | 
|  | #define IAMDroppedFrames_GetNumDropped(This,number) (This)->lpVtbl->GetNumDropped(This,number) | 
|  | #define IAMDroppedFrames_GetNumNotDropped(This,number) (This)->lpVtbl->GetNumNotDropped(This,number) | 
|  | #define IAMDroppedFrames_GetDroppedInfo(This,size,array,copied) (This)->lpVtbl->GetDroppedInfo(This,size,array,copied) | 
|  | #define IAMDroppedFrames_GetAverageFrameSize(This,size) (This)->lpVtbl->GetAverageFrameSize(This,size) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMDroppedFrames_QueryInterface(IAMDroppedFrames* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMDroppedFrames_AddRef(IAMDroppedFrames* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMDroppedFrames_Release(IAMDroppedFrames* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMDroppedFrames methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMDroppedFrames_GetNumDropped(IAMDroppedFrames* This,LONG *number) { | 
|  | return This->lpVtbl->GetNumDropped(This,number); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMDroppedFrames_GetNumNotDropped(IAMDroppedFrames* This,LONG *number) { | 
|  | return This->lpVtbl->GetNumNotDropped(This,number); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMDroppedFrames_GetDroppedInfo(IAMDroppedFrames* This,LONG size,LONG *array,LONG *copied) { | 
|  | return This->lpVtbl->GetDroppedInfo(This,size,array,copied); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMDroppedFrames_GetAverageFrameSize(IAMDroppedFrames* This,LONG *size) { | 
|  | return This->lpVtbl->GetAverageFrameSize(This,size); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMDroppedFrames_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMLatency interface | 
|  | */ | 
|  | #ifndef __IAMLatency_INTERFACE_DEFINED__ | 
|  | #define __IAMLatency_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMLatency, 0x62ea93ba, 0xec62, 0x11d2, 0xb7,0x70, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("62ea93ba-ec62-11d2-b770-00c04fb6bd3d") | 
|  | IAMLatency : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLatency( | 
|  | REFERENCE_TIME *latency) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMLatency, 0x62ea93ba, 0xec62, 0x11d2, 0xb7,0x70, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMLatencyVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMLatency *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMLatency *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMLatency *This); | 
|  |  | 
|  | /*** IAMLatency methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetLatency)( | 
|  | IAMLatency *This, | 
|  | REFERENCE_TIME *latency); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMLatencyVtbl; | 
|  |  | 
|  | interface IAMLatency { | 
|  | CONST_VTBL IAMLatencyVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMLatency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMLatency_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMLatency_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMLatency methods ***/ | 
|  | #define IAMLatency_GetLatency(This,latency) (This)->lpVtbl->GetLatency(This,latency) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMLatency_QueryInterface(IAMLatency* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMLatency_AddRef(IAMLatency* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMLatency_Release(IAMLatency* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMLatency methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMLatency_GetLatency(IAMLatency* This,REFERENCE_TIME *latency) { | 
|  | return This->lpVtbl->GetLatency(This,latency); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMLatency_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMPushSource interface | 
|  | */ | 
|  | #ifndef __IAMPushSource_INTERFACE_DEFINED__ | 
|  | #define __IAMPushSource_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMPushSource, 0xf185fe76, 0xe64e, 0x11d2, 0xb7,0x6e, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("f185fe76-e64e-11d2-b76e-00c04fb6bd3d") | 
|  | IAMPushSource : public IAMLatency | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags( | 
|  | ULONG *flags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags( | 
|  | ULONG flags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetStreamOffset( | 
|  | REFERENCE_TIME offset) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStreamOffset( | 
|  | REFERENCE_TIME *offset) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset( | 
|  | REFERENCE_TIME *offset) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset( | 
|  | REFERENCE_TIME offset) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMPushSource, 0xf185fe76, 0xe64e, 0x11d2, 0xb7,0x6e, 0x00,0xc0,0x4f,0xb6,0xbd,0x3d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMPushSourceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMPushSource *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMPushSource *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMPushSource *This); | 
|  |  | 
|  | /*** IAMLatency methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetLatency)( | 
|  | IAMPushSource *This, | 
|  | REFERENCE_TIME *latency); | 
|  |  | 
|  | /*** IAMPushSource methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetPushSourceFlags)( | 
|  | IAMPushSource *This, | 
|  | ULONG *flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPushSourceFlags)( | 
|  | IAMPushSource *This, | 
|  | ULONG flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetStreamOffset)( | 
|  | IAMPushSource *This, | 
|  | REFERENCE_TIME offset); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStreamOffset)( | 
|  | IAMPushSource *This, | 
|  | REFERENCE_TIME *offset); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMaxStreamOffset)( | 
|  | IAMPushSource *This, | 
|  | REFERENCE_TIME *offset); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMaxStreamOffset)( | 
|  | IAMPushSource *This, | 
|  | REFERENCE_TIME offset); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMPushSourceVtbl; | 
|  |  | 
|  | interface IAMPushSource { | 
|  | CONST_VTBL IAMPushSourceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMPushSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMPushSource_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMPushSource_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMLatency methods ***/ | 
|  | #define IAMPushSource_GetLatency(This,latency) (This)->lpVtbl->GetLatency(This,latency) | 
|  | /*** IAMPushSource methods ***/ | 
|  | #define IAMPushSource_GetPushSourceFlags(This,flags) (This)->lpVtbl->GetPushSourceFlags(This,flags) | 
|  | #define IAMPushSource_SetPushSourceFlags(This,flags) (This)->lpVtbl->SetPushSourceFlags(This,flags) | 
|  | #define IAMPushSource_SetStreamOffset(This,offset) (This)->lpVtbl->SetStreamOffset(This,offset) | 
|  | #define IAMPushSource_GetStreamOffset(This,offset) (This)->lpVtbl->GetStreamOffset(This,offset) | 
|  | #define IAMPushSource_GetMaxStreamOffset(This,offset) (This)->lpVtbl->GetMaxStreamOffset(This,offset) | 
|  | #define IAMPushSource_SetMaxStreamOffset(This,offset) (This)->lpVtbl->SetMaxStreamOffset(This,offset) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMPushSource_QueryInterface(IAMPushSource* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMPushSource_AddRef(IAMPushSource* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMPushSource_Release(IAMPushSource* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMLatency methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMPushSource_GetLatency(IAMPushSource* This,REFERENCE_TIME *latency) { | 
|  | return This->lpVtbl->GetLatency(This,latency); | 
|  | } | 
|  | /*** IAMPushSource methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMPushSource_GetPushSourceFlags(IAMPushSource* This,ULONG *flags) { | 
|  | return This->lpVtbl->GetPushSourceFlags(This,flags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPushSource_SetPushSourceFlags(IAMPushSource* This,ULONG flags) { | 
|  | return This->lpVtbl->SetPushSourceFlags(This,flags); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPushSource_SetStreamOffset(IAMPushSource* This,REFERENCE_TIME offset) { | 
|  | return This->lpVtbl->SetStreamOffset(This,offset); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPushSource_GetStreamOffset(IAMPushSource* This,REFERENCE_TIME *offset) { | 
|  | return This->lpVtbl->GetStreamOffset(This,offset); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPushSource_GetMaxStreamOffset(IAMPushSource* This,REFERENCE_TIME *offset) { | 
|  | return This->lpVtbl->GetMaxStreamOffset(This,offset); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPushSource_SetMaxStreamOffset(IAMPushSource* This,REFERENCE_TIME offset) { | 
|  | return This->lpVtbl->SetMaxStreamOffset(This,offset); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMPushSource_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMVideoCompression interface | 
|  | */ | 
|  | #ifndef __IAMVideoCompression_INTERFACE_DEFINED__ | 
|  | #define __IAMVideoCompression_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMVideoCompression, 0xc6e13343, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c6e13343-30ac-11d0-a18c-00a0c9118956") | 
|  | IAMVideoCompression : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate( | 
|  | LONG frame_rate) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate( | 
|  | LONG *frame_rate) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame( | 
|  | LONG frame) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame( | 
|  | LONG *frame) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Quality( | 
|  | double quality) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Quality( | 
|  | double *quality) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_WindowSize( | 
|  | DWORDLONG size) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_WindowSize( | 
|  | DWORDLONG *size) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetInfo( | 
|  | LPWSTR version, | 
|  | int *version_size, | 
|  | LPWSTR description, | 
|  | int *description_size, | 
|  | LONG *frame_rate, | 
|  | LONG *key, | 
|  | double *quality, | 
|  | LONG *capabilities) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame( | 
|  | LONG number) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize( | 
|  | LONG number, | 
|  | LONG size) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMVideoCompression, 0xc6e13343, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMVideoCompressionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMVideoCompression *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMVideoCompression *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMVideoCompression *This); | 
|  |  | 
|  | /*** IAMVideoCompression methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *put_KeyFrameRate)( | 
|  | IAMVideoCompression *This, | 
|  | LONG frame_rate); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_KeyFrameRate)( | 
|  | IAMVideoCompression *This, | 
|  | LONG *frame_rate); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_PFramesPerKeyFrame)( | 
|  | IAMVideoCompression *This, | 
|  | LONG frame); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_PFramesPerKeyFrame)( | 
|  | IAMVideoCompression *This, | 
|  | LONG *frame); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Quality)( | 
|  | IAMVideoCompression *This, | 
|  | double quality); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Quality)( | 
|  | IAMVideoCompression *This, | 
|  | double *quality); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_WindowSize)( | 
|  | IAMVideoCompression *This, | 
|  | DWORDLONG size); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_WindowSize)( | 
|  | IAMVideoCompression *This, | 
|  | DWORDLONG *size); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetInfo)( | 
|  | IAMVideoCompression *This, | 
|  | LPWSTR version, | 
|  | int *version_size, | 
|  | LPWSTR description, | 
|  | int *description_size, | 
|  | LONG *frame_rate, | 
|  | LONG *key, | 
|  | double *quality, | 
|  | LONG *capabilities); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OverrideKeyFrame)( | 
|  | IAMVideoCompression *This, | 
|  | LONG number); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OverrideFrameSize)( | 
|  | IAMVideoCompression *This, | 
|  | LONG number, | 
|  | LONG size); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMVideoCompressionVtbl; | 
|  |  | 
|  | interface IAMVideoCompression { | 
|  | CONST_VTBL IAMVideoCompressionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMVideoCompression methods ***/ | 
|  | #define IAMVideoCompression_put_KeyFrameRate(This,frame_rate) (This)->lpVtbl->put_KeyFrameRate(This,frame_rate) | 
|  | #define IAMVideoCompression_get_KeyFrameRate(This,frame_rate) (This)->lpVtbl->get_KeyFrameRate(This,frame_rate) | 
|  | #define IAMVideoCompression_put_PFramesPerKeyFrame(This,frame) (This)->lpVtbl->put_PFramesPerKeyFrame(This,frame) | 
|  | #define IAMVideoCompression_get_PFramesPerKeyFrame(This,frame) (This)->lpVtbl->get_PFramesPerKeyFrame(This,frame) | 
|  | #define IAMVideoCompression_put_Quality(This,quality) (This)->lpVtbl->put_Quality(This,quality) | 
|  | #define IAMVideoCompression_get_Quality(This,quality) (This)->lpVtbl->get_Quality(This,quality) | 
|  | #define IAMVideoCompression_put_WindowSize(This,size) (This)->lpVtbl->put_WindowSize(This,size) | 
|  | #define IAMVideoCompression_get_WindowSize(This,size) (This)->lpVtbl->get_WindowSize(This,size) | 
|  | #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) | 
|  | #define IAMVideoCompression_OverrideKeyFrame(This,number) (This)->lpVtbl->OverrideKeyFrame(This,number) | 
|  | #define IAMVideoCompression_OverrideFrameSize(This,number,size) (This)->lpVtbl->OverrideFrameSize(This,number,size) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_QueryInterface(IAMVideoCompression* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMVideoCompression_AddRef(IAMVideoCompression* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMVideoCompression_Release(IAMVideoCompression* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMVideoCompression methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_put_KeyFrameRate(IAMVideoCompression* This,LONG frame_rate) { | 
|  | return This->lpVtbl->put_KeyFrameRate(This,frame_rate); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_get_KeyFrameRate(IAMVideoCompression* This,LONG *frame_rate) { | 
|  | return This->lpVtbl->get_KeyFrameRate(This,frame_rate); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_put_PFramesPerKeyFrame(IAMVideoCompression* This,LONG frame) { | 
|  | return This->lpVtbl->put_PFramesPerKeyFrame(This,frame); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_get_PFramesPerKeyFrame(IAMVideoCompression* This,LONG *frame) { | 
|  | return This->lpVtbl->get_PFramesPerKeyFrame(This,frame); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_put_Quality(IAMVideoCompression* This,double quality) { | 
|  | return This->lpVtbl->put_Quality(This,quality); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_get_Quality(IAMVideoCompression* This,double *quality) { | 
|  | return This->lpVtbl->get_Quality(This,quality); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_put_WindowSize(IAMVideoCompression* This,DWORDLONG size) { | 
|  | return This->lpVtbl->put_WindowSize(This,size); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_get_WindowSize(IAMVideoCompression* This,DWORDLONG *size) { | 
|  | return This->lpVtbl->get_WindowSize(This,size); | 
|  | } | 
|  | static __WIDL_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) { | 
|  | return This->lpVtbl->GetInfo(This,version,version_size,description,description_size,frame_rate,key,quality,capabilities); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_OverrideKeyFrame(IAMVideoCompression* This,LONG number) { | 
|  | return This->lpVtbl->OverrideKeyFrame(This,number); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMVideoCompression_OverrideFrameSize(IAMVideoCompression* This,LONG number,LONG size) { | 
|  | return This->lpVtbl->OverrideFrameSize(This,number,size); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMVideoCompression_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMCrossbar interface | 
|  | */ | 
|  | #ifndef __IAMCrossbar_INTERFACE_DEFINED__ | 
|  | #define __IAMCrossbar_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c6e13380-30ac-11d0-a18c-00a0c9118956") | 
|  | IAMCrossbar : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_PinCounts( | 
|  | LONG *output, | 
|  | LONG *intput) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CanRoute( | 
|  | LONG output, | 
|  | LONG input) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Route( | 
|  | LONG output, | 
|  | LONG input) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo( | 
|  | LONG output, | 
|  | LONG *input) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo( | 
|  | WINBOOL is_input, | 
|  | LONG index, | 
|  | LONG *related, | 
|  | LONG *type) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMCrossbarVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMCrossbar *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMCrossbar *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMCrossbar *This); | 
|  |  | 
|  | /*** IAMCrossbar methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_PinCounts)( | 
|  | IAMCrossbar *This, | 
|  | LONG *output, | 
|  | LONG *intput); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CanRoute)( | 
|  | IAMCrossbar *This, | 
|  | LONG output, | 
|  | LONG input); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Route)( | 
|  | IAMCrossbar *This, | 
|  | LONG output, | 
|  | LONG input); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_IsRoutedTo)( | 
|  | IAMCrossbar *This, | 
|  | LONG output, | 
|  | LONG *input); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_CrossbarPinInfo)( | 
|  | IAMCrossbar *This, | 
|  | WINBOOL is_input, | 
|  | LONG index, | 
|  | LONG *related, | 
|  | LONG *type); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMCrossbarVtbl; | 
|  |  | 
|  | interface IAMCrossbar { | 
|  | CONST_VTBL IAMCrossbarVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMCrossbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMCrossbar_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMCrossbar_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMCrossbar methods ***/ | 
|  | #define IAMCrossbar_get_PinCounts(This,output,intput) (This)->lpVtbl->get_PinCounts(This,output,intput) | 
|  | #define IAMCrossbar_CanRoute(This,output,input) (This)->lpVtbl->CanRoute(This,output,input) | 
|  | #define IAMCrossbar_Route(This,output,input) (This)->lpVtbl->Route(This,output,input) | 
|  | #define IAMCrossbar_get_IsRoutedTo(This,output,input) (This)->lpVtbl->get_IsRoutedTo(This,output,input) | 
|  | #define IAMCrossbar_get_CrossbarPinInfo(This,is_input,index,related,type) (This)->lpVtbl->get_CrossbarPinInfo(This,is_input,index,related,type) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMCrossbar_QueryInterface(IAMCrossbar* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMCrossbar_AddRef(IAMCrossbar* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMCrossbar_Release(IAMCrossbar* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMCrossbar methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMCrossbar_get_PinCounts(IAMCrossbar* This,LONG *output,LONG *intput) { | 
|  | return This->lpVtbl->get_PinCounts(This,output,intput); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCrossbar_CanRoute(IAMCrossbar* This,LONG output,LONG input) { | 
|  | return This->lpVtbl->CanRoute(This,output,input); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCrossbar_Route(IAMCrossbar* This,LONG output,LONG input) { | 
|  | return This->lpVtbl->Route(This,output,input); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCrossbar_get_IsRoutedTo(IAMCrossbar* This,LONG output,LONG *input) { | 
|  | return This->lpVtbl->get_IsRoutedTo(This,output,input); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMCrossbar_get_CrossbarPinInfo(IAMCrossbar* This,WINBOOL is_input,LONG index,LONG *related,LONG *type) { | 
|  | return This->lpVtbl->get_CrossbarPinInfo(This,is_input,index,related,type); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMCrossbar_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum tagAMTunerEventType { | 
|  | AMTUNER_EVENT_CHANGED = 0x1 | 
|  | } AMTunerEventType; | 
|  | /***************************************************************************** | 
|  | * IAMTunerNotification interface | 
|  | */ | 
|  | #ifndef __IAMTunerNotification_INTERFACE_DEFINED__ | 
|  | #define __IAMTunerNotification_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMTunerNotification, 0x211a8760, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("211a8760-03ac-11d1-8d13-00aa00bd8339") | 
|  | IAMTunerNotification : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnEvent( | 
|  | AMTunerEventType event) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMTunerNotification, 0x211a8760, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMTunerNotificationVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMTunerNotification *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMTunerNotification *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMTunerNotification *This); | 
|  |  | 
|  | /*** IAMTunerNotification methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnEvent)( | 
|  | IAMTunerNotification *This, | 
|  | AMTunerEventType event); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMTunerNotificationVtbl; | 
|  |  | 
|  | interface IAMTunerNotification { | 
|  | CONST_VTBL IAMTunerNotificationVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTunerNotification_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTunerNotification_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMTunerNotification methods ***/ | 
|  | #define IAMTunerNotification_OnEvent(This,event) (This)->lpVtbl->OnEvent(This,event) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMTunerNotification_QueryInterface(IAMTunerNotification* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMTunerNotification_AddRef(IAMTunerNotification* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMTunerNotification_Release(IAMTunerNotification* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMTunerNotification methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMTunerNotification_OnEvent(IAMTunerNotification* This,AMTunerEventType event) { | 
|  | return This->lpVtbl->OnEvent(This,event); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMTunerNotification_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum tagAMTunerModeType { | 
|  | AMTUNER_MODE_DEFAULT = 0x0, | 
|  | AMTUNER_MODE_TV = 0x1, | 
|  | AMTUNER_MODE_FM_RADIO = 0x2, | 
|  | AMTUNER_MODE_AM_RADIO = 0x4, | 
|  | AMTUNER_MODE_DSS = 0x8 | 
|  | } AMTunerModeType; | 
|  | /***************************************************************************** | 
|  | * IAMTuner interface | 
|  | */ | 
|  | #ifndef __IAMTuner_INTERFACE_DEFINED__ | 
|  | #define __IAMTuner_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMTuner, 0x211a8761, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("211a8761-03ac-11d1-8d13-00aa00bd8339") | 
|  | IAMTuner : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Channel( | 
|  | LONG channel, | 
|  | LONG video, | 
|  | LONG audio) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Channel( | 
|  | LONG *channel, | 
|  | LONG *video, | 
|  | LONG *audio) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ChannelMinMax( | 
|  | LONG *min, | 
|  | LONG *max) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_CountryCode( | 
|  | LONG country) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_CountryCode( | 
|  | LONG *country) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( | 
|  | LONG tuning_space) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( | 
|  | LONG *tuning_space) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Logon( | 
|  | HANDLE user) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Logout( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SignalPresent( | 
|  | LONG *signal_strength) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Mode( | 
|  | AMTunerModeType mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Mode( | 
|  | AMTunerModeType *mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAvailableModes( | 
|  | LONG *modes) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( | 
|  | IAMTunerNotification *notify, | 
|  | LONG events) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( | 
|  | IAMTunerNotification *notify) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMTuner, 0x211a8761, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMTunerVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMTuner *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMTuner *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMTuner *This); | 
|  |  | 
|  | /*** IAMTuner methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *put_Channel)( | 
|  | IAMTuner *This, | 
|  | LONG channel, | 
|  | LONG video, | 
|  | LONG audio); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Channel)( | 
|  | IAMTuner *This, | 
|  | LONG *channel, | 
|  | LONG *video, | 
|  | LONG *audio); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ChannelMinMax)( | 
|  | IAMTuner *This, | 
|  | LONG *min, | 
|  | LONG *max); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_CountryCode)( | 
|  | IAMTuner *This, | 
|  | LONG country); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_CountryCode)( | 
|  | IAMTuner *This, | 
|  | LONG *country); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_TuningSpace)( | 
|  | IAMTuner *This, | 
|  | LONG tuning_space); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( | 
|  | IAMTuner *This, | 
|  | LONG *tuning_space); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Logon)( | 
|  | IAMTuner *This, | 
|  | HANDLE user); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Logout)( | 
|  | IAMTuner *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SignalPresent)( | 
|  | IAMTuner *This, | 
|  | LONG *signal_strength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Mode)( | 
|  | IAMTuner *This, | 
|  | AMTunerModeType mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Mode)( | 
|  | IAMTuner *This, | 
|  | AMTunerModeType *mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAvailableModes)( | 
|  | IAMTuner *This, | 
|  | LONG *modes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterNotificationCallBack)( | 
|  | IAMTuner *This, | 
|  | IAMTunerNotification *notify, | 
|  | LONG events); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnRegisterNotificationCallBack)( | 
|  | IAMTuner *This, | 
|  | IAMTunerNotification *notify); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMTunerVtbl; | 
|  |  | 
|  | interface IAMTuner { | 
|  | CONST_VTBL IAMTunerVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTuner_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTuner_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMTuner methods ***/ | 
|  | #define IAMTuner_put_Channel(This,channel,video,audio) (This)->lpVtbl->put_Channel(This,channel,video,audio) | 
|  | #define IAMTuner_get_Channel(This,channel,video,audio) (This)->lpVtbl->get_Channel(This,channel,video,audio) | 
|  | #define IAMTuner_ChannelMinMax(This,min,max) (This)->lpVtbl->ChannelMinMax(This,min,max) | 
|  | #define IAMTuner_put_CountryCode(This,country) (This)->lpVtbl->put_CountryCode(This,country) | 
|  | #define IAMTuner_get_CountryCode(This,country) (This)->lpVtbl->get_CountryCode(This,country) | 
|  | #define IAMTuner_put_TuningSpace(This,tuning_space) (This)->lpVtbl->put_TuningSpace(This,tuning_space) | 
|  | #define IAMTuner_get_TuningSpace(This,tuning_space) (This)->lpVtbl->get_TuningSpace(This,tuning_space) | 
|  | #define IAMTuner_Logon(This,user) (This)->lpVtbl->Logon(This,user) | 
|  | #define IAMTuner_Logout(This) (This)->lpVtbl->Logout(This) | 
|  | #define IAMTuner_SignalPresent(This,signal_strength) (This)->lpVtbl->SignalPresent(This,signal_strength) | 
|  | #define IAMTuner_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) | 
|  | #define IAMTuner_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode) | 
|  | #define IAMTuner_GetAvailableModes(This,modes) (This)->lpVtbl->GetAvailableModes(This,modes) | 
|  | #define IAMTuner_RegisterNotificationCallBack(This,notify,events) (This)->lpVtbl->RegisterNotificationCallBack(This,notify,events) | 
|  | #define IAMTuner_UnRegisterNotificationCallBack(This,notify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,notify) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMTuner_QueryInterface(IAMTuner* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMTuner_AddRef(IAMTuner* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMTuner_Release(IAMTuner* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMTuner methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMTuner_put_Channel(IAMTuner* This,LONG channel,LONG video,LONG audio) { | 
|  | return This->lpVtbl->put_Channel(This,channel,video,audio); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_get_Channel(IAMTuner* This,LONG *channel,LONG *video,LONG *audio) { | 
|  | return This->lpVtbl->get_Channel(This,channel,video,audio); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_ChannelMinMax(IAMTuner* This,LONG *min,LONG *max) { | 
|  | return This->lpVtbl->ChannelMinMax(This,min,max); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_put_CountryCode(IAMTuner* This,LONG country) { | 
|  | return This->lpVtbl->put_CountryCode(This,country); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_get_CountryCode(IAMTuner* This,LONG *country) { | 
|  | return This->lpVtbl->get_CountryCode(This,country); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_put_TuningSpace(IAMTuner* This,LONG tuning_space) { | 
|  | return This->lpVtbl->put_TuningSpace(This,tuning_space); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_get_TuningSpace(IAMTuner* This,LONG *tuning_space) { | 
|  | return This->lpVtbl->get_TuningSpace(This,tuning_space); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_Logon(IAMTuner* This,HANDLE user) { | 
|  | return This->lpVtbl->Logon(This,user); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_Logout(IAMTuner* This) { | 
|  | return This->lpVtbl->Logout(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_SignalPresent(IAMTuner* This,LONG *signal_strength) { | 
|  | return This->lpVtbl->SignalPresent(This,signal_strength); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_put_Mode(IAMTuner* This,AMTunerModeType mode) { | 
|  | return This->lpVtbl->put_Mode(This,mode); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_get_Mode(IAMTuner* This,AMTunerModeType *mode) { | 
|  | return This->lpVtbl->get_Mode(This,mode); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_GetAvailableModes(IAMTuner* This,LONG *modes) { | 
|  | return This->lpVtbl->GetAvailableModes(This,modes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_RegisterNotificationCallBack(IAMTuner* This,IAMTunerNotification *notify,LONG events) { | 
|  | return This->lpVtbl->RegisterNotificationCallBack(This,notify,events); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTuner_UnRegisterNotificationCallBack(IAMTuner* This,IAMTunerNotification *notify) { | 
|  | return This->lpVtbl->UnRegisterNotificationCallBack(This,notify); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMTuner_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMTVTuner interface | 
|  | */ | 
|  | #ifndef __IAMTVTuner_INTERFACE_DEFINED__ | 
|  | #define __IAMTVTuner_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMTVTuner, 0x211a8766, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("211a8766-03ac-11d1-8d13-00aa00bd8339") | 
|  | IAMTVTuner : public IAMTuner | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( | 
|  | LONG *standard) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_TVFormat( | 
|  | LONG *standard) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AutoTune( | 
|  | LONG channel, | 
|  | LONG *signal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections( | 
|  | LONG *number) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_InputType( | 
|  | LONG index, | 
|  | TunerInputType type) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_InputType( | 
|  | LONG index, | 
|  | TunerInputType *type) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_ConnectInput( | 
|  | LONG index) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_ConnectInput( | 
|  | LONG *index) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency( | 
|  | LONG *freq) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency( | 
|  | LONG *freq) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMTVTuner, 0x211a8766, 0x03ac, 0x11d1, 0x8d,0x13, 0x00,0xaa,0x00,0xbd,0x83,0x39) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMTVTunerVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMTVTuner *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMTVTuner *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMTVTuner *This); | 
|  |  | 
|  | /*** IAMTuner methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *put_Channel)( | 
|  | IAMTVTuner *This, | 
|  | LONG channel, | 
|  | LONG video, | 
|  | LONG audio); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Channel)( | 
|  | IAMTVTuner *This, | 
|  | LONG *channel, | 
|  | LONG *video, | 
|  | LONG *audio); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ChannelMinMax)( | 
|  | IAMTVTuner *This, | 
|  | LONG *min, | 
|  | LONG *max); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_CountryCode)( | 
|  | IAMTVTuner *This, | 
|  | LONG country); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_CountryCode)( | 
|  | IAMTVTuner *This, | 
|  | LONG *country); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_TuningSpace)( | 
|  | IAMTVTuner *This, | 
|  | LONG tuning_space); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( | 
|  | IAMTVTuner *This, | 
|  | LONG *tuning_space); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Logon)( | 
|  | IAMTVTuner *This, | 
|  | HANDLE user); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Logout)( | 
|  | IAMTVTuner *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SignalPresent)( | 
|  | IAMTVTuner *This, | 
|  | LONG *signal_strength); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Mode)( | 
|  | IAMTVTuner *This, | 
|  | AMTunerModeType mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Mode)( | 
|  | IAMTVTuner *This, | 
|  | AMTunerModeType *mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAvailableModes)( | 
|  | IAMTVTuner *This, | 
|  | LONG *modes); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterNotificationCallBack)( | 
|  | IAMTVTuner *This, | 
|  | IAMTunerNotification *notify, | 
|  | LONG events); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnRegisterNotificationCallBack)( | 
|  | IAMTVTuner *This, | 
|  | IAMTunerNotification *notify); | 
|  |  | 
|  | /*** IAMTVTuner methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_AvailableTVFormats)( | 
|  | IAMTVTuner *This, | 
|  | LONG *standard); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_TVFormat)( | 
|  | IAMTVTuner *This, | 
|  | LONG *standard); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AutoTune)( | 
|  | IAMTVTuner *This, | 
|  | LONG channel, | 
|  | LONG *signal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *StoreAutoTune)( | 
|  | IAMTVTuner *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_NumInputConnections)( | 
|  | IAMTVTuner *This, | 
|  | LONG *number); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_InputType)( | 
|  | IAMTVTuner *This, | 
|  | LONG index, | 
|  | TunerInputType type); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_InputType)( | 
|  | IAMTVTuner *This, | 
|  | LONG index, | 
|  | TunerInputType *type); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_ConnectInput)( | 
|  | IAMTVTuner *This, | 
|  | LONG index); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_ConnectInput)( | 
|  | IAMTVTuner *This, | 
|  | LONG *index); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_VideoFrequency)( | 
|  | IAMTVTuner *This, | 
|  | LONG *freq); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_AudioFrequency)( | 
|  | IAMTVTuner *This, | 
|  | LONG *freq); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMTVTunerVtbl; | 
|  |  | 
|  | interface IAMTVTuner { | 
|  | CONST_VTBL IAMTVTunerVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMTVTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTVTuner_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTVTuner_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMTuner methods ***/ | 
|  | #define IAMTVTuner_put_Channel(This,channel,video,audio) (This)->lpVtbl->put_Channel(This,channel,video,audio) | 
|  | #define IAMTVTuner_get_Channel(This,channel,video,audio) (This)->lpVtbl->get_Channel(This,channel,video,audio) | 
|  | #define IAMTVTuner_ChannelMinMax(This,min,max) (This)->lpVtbl->ChannelMinMax(This,min,max) | 
|  | #define IAMTVTuner_put_CountryCode(This,country) (This)->lpVtbl->put_CountryCode(This,country) | 
|  | #define IAMTVTuner_get_CountryCode(This,country) (This)->lpVtbl->get_CountryCode(This,country) | 
|  | #define IAMTVTuner_put_TuningSpace(This,tuning_space) (This)->lpVtbl->put_TuningSpace(This,tuning_space) | 
|  | #define IAMTVTuner_get_TuningSpace(This,tuning_space) (This)->lpVtbl->get_TuningSpace(This,tuning_space) | 
|  | #define IAMTVTuner_Logon(This,user) (This)->lpVtbl->Logon(This,user) | 
|  | #define IAMTVTuner_Logout(This) (This)->lpVtbl->Logout(This) | 
|  | #define IAMTVTuner_SignalPresent(This,signal_strength) (This)->lpVtbl->SignalPresent(This,signal_strength) | 
|  | #define IAMTVTuner_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) | 
|  | #define IAMTVTuner_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode) | 
|  | #define IAMTVTuner_GetAvailableModes(This,modes) (This)->lpVtbl->GetAvailableModes(This,modes) | 
|  | #define IAMTVTuner_RegisterNotificationCallBack(This,notify,events) (This)->lpVtbl->RegisterNotificationCallBack(This,notify,events) | 
|  | #define IAMTVTuner_UnRegisterNotificationCallBack(This,notify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,notify) | 
|  | /*** IAMTVTuner methods ***/ | 
|  | #define IAMTVTuner_get_AvailableTVFormats(This,standard) (This)->lpVtbl->get_AvailableTVFormats(This,standard) | 
|  | #define IAMTVTuner_get_TVFormat(This,standard) (This)->lpVtbl->get_TVFormat(This,standard) | 
|  | #define IAMTVTuner_AutoTune(This,channel,signal) (This)->lpVtbl->AutoTune(This,channel,signal) | 
|  | #define IAMTVTuner_StoreAutoTune(This) (This)->lpVtbl->StoreAutoTune(This) | 
|  | #define IAMTVTuner_get_NumInputConnections(This,number) (This)->lpVtbl->get_NumInputConnections(This,number) | 
|  | #define IAMTVTuner_put_InputType(This,index,type) (This)->lpVtbl->put_InputType(This,index,type) | 
|  | #define IAMTVTuner_get_InputType(This,index,type) (This)->lpVtbl->get_InputType(This,index,type) | 
|  | #define IAMTVTuner_put_ConnectInput(This,index) (This)->lpVtbl->put_ConnectInput(This,index) | 
|  | #define IAMTVTuner_get_ConnectInput(This,index) (This)->lpVtbl->get_ConnectInput(This,index) | 
|  | #define IAMTVTuner_get_VideoFrequency(This,freq) (This)->lpVtbl->get_VideoFrequency(This,freq) | 
|  | #define IAMTVTuner_get_AudioFrequency(This,freq) (This)->lpVtbl->get_AudioFrequency(This,freq) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_QueryInterface(IAMTVTuner* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMTVTuner_AddRef(IAMTVTuner* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMTVTuner_Release(IAMTVTuner* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMTuner methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_put_Channel(IAMTVTuner* This,LONG channel,LONG video,LONG audio) { | 
|  | return This->lpVtbl->put_Channel(This,channel,video,audio); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_Channel(IAMTVTuner* This,LONG *channel,LONG *video,LONG *audio) { | 
|  | return This->lpVtbl->get_Channel(This,channel,video,audio); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_ChannelMinMax(IAMTVTuner* This,LONG *min,LONG *max) { | 
|  | return This->lpVtbl->ChannelMinMax(This,min,max); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_put_CountryCode(IAMTVTuner* This,LONG country) { | 
|  | return This->lpVtbl->put_CountryCode(This,country); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_CountryCode(IAMTVTuner* This,LONG *country) { | 
|  | return This->lpVtbl->get_CountryCode(This,country); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_put_TuningSpace(IAMTVTuner* This,LONG tuning_space) { | 
|  | return This->lpVtbl->put_TuningSpace(This,tuning_space); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_TuningSpace(IAMTVTuner* This,LONG *tuning_space) { | 
|  | return This->lpVtbl->get_TuningSpace(This,tuning_space); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_Logon(IAMTVTuner* This,HANDLE user) { | 
|  | return This->lpVtbl->Logon(This,user); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_Logout(IAMTVTuner* This) { | 
|  | return This->lpVtbl->Logout(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_SignalPresent(IAMTVTuner* This,LONG *signal_strength) { | 
|  | return This->lpVtbl->SignalPresent(This,signal_strength); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_put_Mode(IAMTVTuner* This,AMTunerModeType mode) { | 
|  | return This->lpVtbl->put_Mode(This,mode); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_Mode(IAMTVTuner* This,AMTunerModeType *mode) { | 
|  | return This->lpVtbl->get_Mode(This,mode); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_GetAvailableModes(IAMTVTuner* This,LONG *modes) { | 
|  | return This->lpVtbl->GetAvailableModes(This,modes); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_RegisterNotificationCallBack(IAMTVTuner* This,IAMTunerNotification *notify,LONG events) { | 
|  | return This->lpVtbl->RegisterNotificationCallBack(This,notify,events); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_UnRegisterNotificationCallBack(IAMTVTuner* This,IAMTunerNotification *notify) { | 
|  | return This->lpVtbl->UnRegisterNotificationCallBack(This,notify); | 
|  | } | 
|  | /*** IAMTVTuner methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_AvailableTVFormats(IAMTVTuner* This,LONG *standard) { | 
|  | return This->lpVtbl->get_AvailableTVFormats(This,standard); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_TVFormat(IAMTVTuner* This,LONG *standard) { | 
|  | return This->lpVtbl->get_TVFormat(This,standard); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_AutoTune(IAMTVTuner* This,LONG channel,LONG *signal) { | 
|  | return This->lpVtbl->AutoTune(This,channel,signal); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_StoreAutoTune(IAMTVTuner* This) { | 
|  | return This->lpVtbl->StoreAutoTune(This); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_NumInputConnections(IAMTVTuner* This,LONG *number) { | 
|  | return This->lpVtbl->get_NumInputConnections(This,number); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_put_InputType(IAMTVTuner* This,LONG index,TunerInputType type) { | 
|  | return This->lpVtbl->put_InputType(This,index,type); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_InputType(IAMTVTuner* This,LONG index,TunerInputType *type) { | 
|  | return This->lpVtbl->get_InputType(This,index,type); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_put_ConnectInput(IAMTVTuner* This,LONG index) { | 
|  | return This->lpVtbl->put_ConnectInput(This,index); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_ConnectInput(IAMTVTuner* This,LONG *index) { | 
|  | return This->lpVtbl->get_ConnectInput(This,index); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_VideoFrequency(IAMTVTuner* This,LONG *freq) { | 
|  | return This->lpVtbl->get_VideoFrequency(This,freq); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMTVTuner_get_AudioFrequency(IAMTVTuner* This,LONG *freq) { | 
|  | return This->lpVtbl->get_AudioFrequency(This,freq); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMTVTuner_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IVideoFrameStep interface | 
|  | */ | 
|  | #ifndef __IVideoFrameStep_INTERFACE_DEFINED__ | 
|  | #define __IVideoFrameStep_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IVideoFrameStep, 0xe46a9787, 0x2b71, 0x444d, 0xa4,0xb5, 0x1f,0xab,0x7b,0x70,0x8d,0x6a); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a") | 
|  | IVideoFrameStep : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Step( | 
|  | DWORD frame_count, | 
|  | IUnknown *filter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CanStep( | 
|  | LONG multiple, | 
|  | IUnknown *filter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CancelStep( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IVideoFrameStep, 0xe46a9787, 0x2b71, 0x444d, 0xa4,0xb5, 0x1f,0xab,0x7b,0x70,0x8d,0x6a) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IVideoFrameStepVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IVideoFrameStep *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IVideoFrameStep *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IVideoFrameStep *This); | 
|  |  | 
|  | /*** IVideoFrameStep methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Step)( | 
|  | IVideoFrameStep *This, | 
|  | DWORD frame_count, | 
|  | IUnknown *filter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CanStep)( | 
|  | IVideoFrameStep *This, | 
|  | LONG multiple, | 
|  | IUnknown *filter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CancelStep)( | 
|  | IVideoFrameStep *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IVideoFrameStepVtbl; | 
|  |  | 
|  | interface IVideoFrameStep { | 
|  | CONST_VTBL IVideoFrameStepVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVideoFrameStep_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVideoFrameStep_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IVideoFrameStep methods ***/ | 
|  | #define IVideoFrameStep_Step(This,frame_count,filter) (This)->lpVtbl->Step(This,frame_count,filter) | 
|  | #define IVideoFrameStep_CanStep(This,multiple,filter) (This)->lpVtbl->CanStep(This,multiple,filter) | 
|  | #define IVideoFrameStep_CancelStep(This) (This)->lpVtbl->CancelStep(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IVideoFrameStep_QueryInterface(IVideoFrameStep* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IVideoFrameStep_AddRef(IVideoFrameStep* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IVideoFrameStep_Release(IVideoFrameStep* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IVideoFrameStep methods ***/ | 
|  | static __WIDL_INLINE HRESULT IVideoFrameStep_Step(IVideoFrameStep* This,DWORD frame_count,IUnknown *filter) { | 
|  | return This->lpVtbl->Step(This,frame_count,filter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IVideoFrameStep_CanStep(IVideoFrameStep* This,LONG multiple,IUnknown *filter) { | 
|  | return This->lpVtbl->CanStep(This,multiple,filter); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IVideoFrameStep_CancelStep(IVideoFrameStep* This) { | 
|  | return This->lpVtbl->CancelStep(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IVideoFrameStep_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #if (_WIN32_WINNT >= 0x0601) | 
|  | /***************************************************************************** | 
|  | * IAMAsyncReaderTimestampScaling interface | 
|  | */ | 
|  | #ifndef __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ | 
|  | #define __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMAsyncReaderTimestampScaling, 0xcf7b26fc, 0x9a00, 0x485b, 0x81,0x47, 0x3e,0x78,0x9d,0x5e,0x8f,0x67); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("cf7b26fc-9a00-485b-8147-3e789d5e8f67") | 
|  | IAMAsyncReaderTimestampScaling : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTimestampMode( | 
|  | WINBOOL *pfRaw) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTimestampMode( | 
|  | WINBOOL fRaw) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMAsyncReaderTimestampScaling, 0xcf7b26fc, 0x9a00, 0x485b, 0x81,0x47, 0x3e,0x78,0x9d,0x5e,0x8f,0x67) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMAsyncReaderTimestampScalingVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMAsyncReaderTimestampScaling *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMAsyncReaderTimestampScaling *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMAsyncReaderTimestampScaling *This); | 
|  |  | 
|  | /*** IAMAsyncReaderTimestampScaling methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetTimestampMode)( | 
|  | IAMAsyncReaderTimestampScaling *This, | 
|  | WINBOOL *pfRaw); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTimestampMode)( | 
|  | IAMAsyncReaderTimestampScaling *This, | 
|  | WINBOOL fRaw); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMAsyncReaderTimestampScalingVtbl; | 
|  |  | 
|  | interface IAMAsyncReaderTimestampScaling { | 
|  | CONST_VTBL IAMAsyncReaderTimestampScalingVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMAsyncReaderTimestampScaling_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMAsyncReaderTimestampScaling_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMAsyncReaderTimestampScaling_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMAsyncReaderTimestampScaling methods ***/ | 
|  | #define IAMAsyncReaderTimestampScaling_GetTimestampMode(This,pfRaw) (This)->lpVtbl->GetTimestampMode(This,pfRaw) | 
|  | #define IAMAsyncReaderTimestampScaling_SetTimestampMode(This,fRaw) (This)->lpVtbl->SetTimestampMode(This,fRaw) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMAsyncReaderTimestampScaling_QueryInterface(IAMAsyncReaderTimestampScaling* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMAsyncReaderTimestampScaling_AddRef(IAMAsyncReaderTimestampScaling* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMAsyncReaderTimestampScaling_Release(IAMAsyncReaderTimestampScaling* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMAsyncReaderTimestampScaling methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMAsyncReaderTimestampScaling_GetTimestampMode(IAMAsyncReaderTimestampScaling* This,WINBOOL *pfRaw) { | 
|  | return This->lpVtbl->GetTimestampMode(This,pfRaw); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMAsyncReaderTimestampScaling_SetTimestampMode(IAMAsyncReaderTimestampScaling* This,WINBOOL fRaw) { | 
|  | return This->lpVtbl->SetTimestampMode(This,fRaw); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMPluginControl interface | 
|  | */ | 
|  | #ifndef __IAMPluginControl_INTERFACE_DEFINED__ | 
|  | #define __IAMPluginControl_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMPluginControl, 0x0e26a181, 0xf40c, 0x4635, 0x87,0x86, 0x97,0x62,0x84,0xb5,0x29,0x81); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("0e26a181-f40c-4635-8786-976284b52981") | 
|  | IAMPluginControl : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid( | 
|  | REFGUID subType, | 
|  | CLSID *clsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex( | 
|  | DWORD index, | 
|  | GUID *subType, | 
|  | CLSID *clsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid( | 
|  | REFGUID subType, | 
|  | const CLSID *clsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsDisabled( | 
|  | REFCLSID clsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex( | 
|  | DWORD index, | 
|  | CLSID *clsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDisabled( | 
|  | REFCLSID clsid, | 
|  | WINBOOL disabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsLegacyDisabled( | 
|  | LPCWSTR dllName) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMPluginControl, 0x0e26a181, 0xf40c, 0x4635, 0x87,0x86, 0x97,0x62,0x84,0xb5,0x29,0x81) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMPluginControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMPluginControl *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMPluginControl *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMPluginControl *This); | 
|  |  | 
|  | /*** IAMPluginControl methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetPreferredClsid)( | 
|  | IAMPluginControl *This, | 
|  | REFGUID subType, | 
|  | CLSID *clsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPreferredClsidByIndex)( | 
|  | IAMPluginControl *This, | 
|  | DWORD index, | 
|  | GUID *subType, | 
|  | CLSID *clsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPreferredClsid)( | 
|  | IAMPluginControl *This, | 
|  | REFGUID subType, | 
|  | const CLSID *clsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsDisabled)( | 
|  | IAMPluginControl *This, | 
|  | REFCLSID clsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDisabledByIndex)( | 
|  | IAMPluginControl *This, | 
|  | DWORD index, | 
|  | CLSID *clsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDisabled)( | 
|  | IAMPluginControl *This, | 
|  | REFCLSID clsid, | 
|  | WINBOOL disabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsLegacyDisabled)( | 
|  | IAMPluginControl *This, | 
|  | LPCWSTR dllName); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMPluginControlVtbl; | 
|  |  | 
|  | interface IAMPluginControl { | 
|  | CONST_VTBL IAMPluginControlVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMPluginControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMPluginControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMPluginControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMPluginControl methods ***/ | 
|  | #define IAMPluginControl_GetPreferredClsid(This,subType,clsid) (This)->lpVtbl->GetPreferredClsid(This,subType,clsid) | 
|  | #define IAMPluginControl_GetPreferredClsidByIndex(This,index,subType,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid) | 
|  | #define IAMPluginControl_SetPreferredClsid(This,subType,clsid) (This)->lpVtbl->SetPreferredClsid(This,subType,clsid) | 
|  | #define IAMPluginControl_IsDisabled(This,clsid) (This)->lpVtbl->IsDisabled(This,clsid) | 
|  | #define IAMPluginControl_GetDisabledByIndex(This,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,index,clsid) | 
|  | #define IAMPluginControl_SetDisabled(This,clsid,disabled) (This)->lpVtbl->SetDisabled(This,clsid,disabled) | 
|  | #define IAMPluginControl_IsLegacyDisabled(This,dllName) (This)->lpVtbl->IsLegacyDisabled(This,dllName) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMPluginControl_QueryInterface(IAMPluginControl* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMPluginControl_AddRef(IAMPluginControl* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static __WIDL_INLINE ULONG IAMPluginControl_Release(IAMPluginControl* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMPluginControl methods ***/ | 
|  | static __WIDL_INLINE HRESULT IAMPluginControl_GetPreferredClsid(IAMPluginControl* This,REFGUID subType,CLSID *clsid) { | 
|  | return This->lpVtbl->GetPreferredClsid(This,subType,clsid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPluginControl_GetPreferredClsidByIndex(IAMPluginControl* This,DWORD index,GUID *subType,CLSID *clsid) { | 
|  | return This->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPluginControl_SetPreferredClsid(IAMPluginControl* This,REFGUID subType,const CLSID *clsid) { | 
|  | return This->lpVtbl->SetPreferredClsid(This,subType,clsid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPluginControl_IsDisabled(IAMPluginControl* This,REFCLSID clsid) { | 
|  | return This->lpVtbl->IsDisabled(This,clsid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPluginControl_GetDisabledByIndex(IAMPluginControl* This,DWORD index,CLSID *clsid) { | 
|  | return This->lpVtbl->GetDisabledByIndex(This,index,clsid); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPluginControl_SetDisabled(IAMPluginControl* This,REFCLSID clsid,WINBOOL disabled) { | 
|  | return This->lpVtbl->SetDisabled(This,clsid,disabled); | 
|  | } | 
|  | static __WIDL_INLINE HRESULT IAMPluginControl_IsLegacyDisabled(IAMPluginControl* This,LPCWSTR dllName) { | 
|  | return This->lpVtbl->IsLegacyDisabled(This,dllName); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMPluginControl_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #endif /*(_WIN32_WINNT >= 0x0601)*/ | 
|  | #ifndef __IReferenceClock2_FWD_DEFINED__ | 
|  | #define __IReferenceClock2_FWD_DEFINED__ | 
|  | typedef struct IReferenceClock2 IReferenceClock2; | 
|  | #endif | 
|  | #ifndef __IDistributorNotify_FWD_DEFINED__ | 
|  | #define __IDistributorNotify_FWD_DEFINED__ | 
|  | typedef struct IDistributorNotify IDistributorNotify; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__ | 
|  | #define __IAMVfwCompressDialogs_FWD_DEFINED__ | 
|  | typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAudioInputMixer_FWD_DEFINED__ | 
|  | #define __IAMAudioInputMixer_FWD_DEFINED__ | 
|  | typedef struct IAMAudioInputMixer IAMAudioInputMixer; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__ | 
|  | #define __IAMAnalogVideoDecoder_FWD_DEFINED__ | 
|  | typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IBPCSatelliteTuner_FWD_DEFINED__ | 
|  | #define __IBPCSatelliteTuner_FWD_DEFINED__ | 
|  | typedef struct IBPCSatelliteTuner IBPCSatelliteTuner; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTVAudio_FWD_DEFINED__ | 
|  | #define __IAMTVAudio_FWD_DEFINED__ | 
|  | typedef struct IAMTVAudio IAMTVAudio; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTVAudioNotification_FWD_DEFINED__ | 
|  | #define __IAMTVAudioNotification_FWD_DEFINED__ | 
|  | typedef struct IAMTVAudioNotification IAMTVAudioNotification; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__ | 
|  | #define __IAMAnalogVideoEncoder_FWD_DEFINED__ | 
|  | typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__ | 
|  | #define __IAMPhysicalPinInfo_FWD_DEFINED__ | 
|  | typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMExtDevice_FWD_DEFINED__ | 
|  | #define __IAMExtDevice_FWD_DEFINED__ | 
|  | typedef struct IAMExtDevice IAMExtDevice; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMExtTransport_FWD_DEFINED__ | 
|  | #define __IAMExtTransport_FWD_DEFINED__ | 
|  | typedef struct IAMExtTransport IAMExtTransport; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimecodeReader_FWD_DEFINED__ | 
|  | #define __IAMTimecodeReader_FWD_DEFINED__ | 
|  | typedef struct IAMTimecodeReader IAMTimecodeReader; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimecodeGenerator_FWD_DEFINED__ | 
|  | #define __IAMTimecodeGenerator_FWD_DEFINED__ | 
|  | typedef struct IAMTimecodeGenerator IAMTimecodeGenerator; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimecodeDisplay_FWD_DEFINED__ | 
|  | #define __IAMTimecodeDisplay_FWD_DEFINED__ | 
|  | typedef struct IAMTimecodeDisplay IAMTimecodeDisplay; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__ | 
|  | #define __IAMDevMemoryAllocator_FWD_DEFINED__ | 
|  | typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMDevMemoryControl_FWD_DEFINED__ | 
|  | #define __IAMDevMemoryControl_FWD_DEFINED__ | 
|  | typedef struct IAMDevMemoryControl IAMDevMemoryControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMStreamSelect_FWD_DEFINED__ | 
|  | #define __IAMStreamSelect_FWD_DEFINED__ | 
|  | typedef struct IAMStreamSelect IAMStreamSelect; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMResourceControl_FWD_DEFINED__ | 
|  | #define __IAMResourceControl_FWD_DEFINED__ | 
|  | typedef struct IAMResourceControl IAMResourceControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMClockAdjust_FWD_DEFINED__ | 
|  | #define __IAMClockAdjust_FWD_DEFINED__ | 
|  | typedef struct IAMClockAdjust IAMClockAdjust; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDrawVideoImage_FWD_DEFINED__ | 
|  | #define __IDrawVideoImage_FWD_DEFINED__ | 
|  | typedef struct IDrawVideoImage IDrawVideoImage; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDecimateVideoImage_FWD_DEFINED__ | 
|  | #define __IDecimateVideoImage_FWD_DEFINED__ | 
|  | typedef struct IDecimateVideoImage IDecimateVideoImage; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__ | 
|  | #define __IAMVideoDecimationProperties_FWD_DEFINED__ | 
|  | typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMDeviceRemoval_FWD_DEFINED__ | 
|  | #define __IAMDeviceRemoval_FWD_DEFINED__ | 
|  | typedef struct IAMDeviceRemoval IAMDeviceRemoval; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDVEnc_FWD_DEFINED__ | 
|  | #define __IDVEnc_FWD_DEFINED__ | 
|  | typedef struct IDVEnc IDVEnc; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IIPDVDec_FWD_DEFINED__ | 
|  | #define __IIPDVDec_FWD_DEFINED__ | 
|  | typedef struct IIPDVDec IIPDVDec; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDVRGB219_FWD_DEFINED__ | 
|  | #define __IDVRGB219_FWD_DEFINED__ | 
|  | typedef struct IDVRGB219 IDVRGB219; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDVSplitter_FWD_DEFINED__ | 
|  | #define __IDVSplitter_FWD_DEFINED__ | 
|  | typedef struct IDVSplitter IDVSplitter; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAudioRendererStats_FWD_DEFINED__ | 
|  | #define __IAMAudioRendererStats_FWD_DEFINED__ | 
|  | typedef struct IAMAudioRendererStats IAMAudioRendererStats; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMGraphStreams_FWD_DEFINED__ | 
|  | #define __IAMGraphStreams_FWD_DEFINED__ | 
|  | typedef struct IAMGraphStreams IAMGraphStreams; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMOverlayFX_FWD_DEFINED__ | 
|  | #define __IAMOverlayFX_FWD_DEFINED__ | 
|  | typedef struct IAMOverlayFX IAMOverlayFX; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMOpenProgress_FWD_DEFINED__ | 
|  | #define __IAMOpenProgress_FWD_DEFINED__ | 
|  | typedef struct IAMOpenProgress IAMOpenProgress; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__ | 
|  | #define __IMpeg2Demultiplexer_FWD_DEFINED__ | 
|  | typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumStreamIdMap_FWD_DEFINED__ | 
|  | #define __IEnumStreamIdMap_FWD_DEFINED__ | 
|  | typedef struct IEnumStreamIdMap IEnumStreamIdMap; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__ | 
|  | #define __IMPEG2StreamIdMap_FWD_DEFINED__ | 
|  | typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IRegisterServiceProvider_FWD_DEFINED__ | 
|  | #define __IRegisterServiceProvider_FWD_DEFINED__ | 
|  | typedef struct IRegisterServiceProvider IRegisterServiceProvider; | 
|  | #endif | 
|  |  | 
|  | #ifndef __ICodecAPI_FWD_DEFINED__ | 
|  | #define __ICodecAPI_FWD_DEFINED__ | 
|  | typedef struct ICodecAPI ICodecAPI; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IGetCapabilitiesKey_FWD_DEFINED__ | 
|  | #define __IGetCapabilitiesKey_FWD_DEFINED__ | 
|  | typedef struct IGetCapabilitiesKey IGetCapabilitiesKey; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEncoderAPI_FWD_DEFINED__ | 
|  | #define __IEncoderAPI_FWD_DEFINED__ | 
|  | typedef struct IEncoderAPI IEncoderAPI; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVideoEncoder_FWD_DEFINED__ | 
|  | #define __IVideoEncoder_FWD_DEFINED__ | 
|  | typedef struct IVideoEncoder IVideoEncoder; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMDecoderCaps_FWD_DEFINED__ | 
|  | #define __IAMDecoderCaps_FWD_DEFINED__ | 
|  | typedef struct IAMDecoderCaps IAMDecoderCaps; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdControl_FWD_DEFINED__ | 
|  | #define __IDvdControl_FWD_DEFINED__ | 
|  | typedef struct IDvdControl IDvdControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdInfo_FWD_DEFINED__ | 
|  | #define __IDvdInfo_FWD_DEFINED__ | 
|  | typedef struct IDvdInfo IDvdInfo; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdCmd_FWD_DEFINED__ | 
|  | #define __IDvdCmd_FWD_DEFINED__ | 
|  | typedef struct IDvdCmd IDvdCmd; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdState_FWD_DEFINED__ | 
|  | #define __IDvdState_FWD_DEFINED__ | 
|  | typedef struct IDvdState IDvdState; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdControl2_FWD_DEFINED__ | 
|  | #define __IDvdControl2_FWD_DEFINED__ | 
|  | typedef struct IDvdControl2 IDvdControl2; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdInfo2_FWD_DEFINED__ | 
|  | #define __IDvdInfo2_FWD_DEFINED__ | 
|  | typedef struct IDvdInfo2 IDvdInfo2; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdGraphBuilder_FWD_DEFINED__ | 
|  | #define __IDvdGraphBuilder_FWD_DEFINED__ | 
|  | typedef struct IDvdGraphBuilder IDvdGraphBuilder; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDDrawExclModeVideo_FWD_DEFINED__ | 
|  | #define __IDDrawExclModeVideo_FWD_DEFINED__ | 
|  | typedef struct IDDrawExclModeVideo IDDrawExclModeVideo; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__ | 
|  | #define __IDDrawExclModeVideoCallback_FWD_DEFINED__ | 
|  | typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPinConnection_FWD_DEFINED__ | 
|  | #define __IPinConnection_FWD_DEFINED__ | 
|  | typedef struct IPinConnection IPinConnection; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPinFlowControl_FWD_DEFINED__ | 
|  | #define __IPinFlowControl_FWD_DEFINED__ | 
|  | typedef struct IPinFlowControl IPinFlowControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IGraphConfig_FWD_DEFINED__ | 
|  | #define __IGraphConfig_FWD_DEFINED__ | 
|  | typedef struct IGraphConfig IGraphConfig; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IGraphConfigCallback_FWD_DEFINED__ | 
|  | #define __IGraphConfigCallback_FWD_DEFINED__ | 
|  | typedef struct IGraphConfigCallback IGraphConfigCallback; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterChain_FWD_DEFINED__ | 
|  | #define __IFilterChain_FWD_DEFINED__ | 
|  | typedef struct IFilterChain IFilterChain; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRImagePresenter_FWD_DEFINED__ | 
|  | #define __IVMRImagePresenter_FWD_DEFINED__ | 
|  | typedef struct IVMRImagePresenter IVMRImagePresenter; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__ | 
|  | #define __IVMRSurfaceAllocator_FWD_DEFINED__ | 
|  | typedef struct IVMRSurfaceAllocator IVMRSurfaceAllocator; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ | 
|  | #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ | 
|  | typedef struct IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRWindowlessControl_FWD_DEFINED__ | 
|  | #define __IVMRWindowlessControl_FWD_DEFINED__ | 
|  | typedef struct IVMRWindowlessControl IVMRWindowlessControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRMixerControl_FWD_DEFINED__ | 
|  | #define __IVMRMixerControl_FWD_DEFINED__ | 
|  | typedef struct IVMRMixerControl IVMRMixerControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRMonitorConfig_FWD_DEFINED__ | 
|  | #define __IVMRMonitorConfig_FWD_DEFINED__ | 
|  | typedef struct IVMRMonitorConfig IVMRMonitorConfig; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRFilterConfig_FWD_DEFINED__ | 
|  | #define __IVMRFilterConfig_FWD_DEFINED__ | 
|  | typedef struct IVMRFilterConfig IVMRFilterConfig; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRAspectRatioControl_FWD_DEFINED__ | 
|  | #define __IVMRAspectRatioControl_FWD_DEFINED__ | 
|  | typedef struct IVMRAspectRatioControl IVMRAspectRatioControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__ | 
|  | #define __IVMRDeinterlaceControl_FWD_DEFINED__ | 
|  | typedef struct IVMRDeinterlaceControl IVMRDeinterlaceControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRMixerBitmap_FWD_DEFINED__ | 
|  | #define __IVMRMixerBitmap_FWD_DEFINED__ | 
|  | typedef struct IVMRMixerBitmap IVMRMixerBitmap; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRImageCompositor_FWD_DEFINED__ | 
|  | #define __IVMRImageCompositor_FWD_DEFINED__ | 
|  | typedef struct IVMRImageCompositor IVMRImageCompositor; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRVideoStreamControl_FWD_DEFINED__ | 
|  | #define __IVMRVideoStreamControl_FWD_DEFINED__ | 
|  | typedef struct IVMRVideoStreamControl IVMRVideoStreamControl; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRSurface_FWD_DEFINED__ | 
|  | #define __IVMRSurface_FWD_DEFINED__ | 
|  | typedef struct IVMRSurface IVMRSurface; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__ | 
|  | #define __IVMRImagePresenterConfig_FWD_DEFINED__ | 
|  | typedef struct IVMRImagePresenterConfig IVMRImagePresenterConfig; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ | 
|  | #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ | 
|  | typedef struct IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVPManager_FWD_DEFINED__ | 
|  | #define __IVPManager_FWD_DEFINED__ | 
|  | typedef struct IVPManager IVPManager; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ | 
|  | #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ | 
|  | typedef struct IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling; | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMPluginControl_FWD_DEFINED__ | 
|  | #define __IAMPluginControl_FWD_DEFINED__ | 
|  | typedef struct IAMPluginControl IAMPluginControl; | 
|  | #endif | 
|  |  | 
|  | #include "ocidl.h" | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec; | 
|  | #ifndef __IReferenceClock2_INTERFACE_DEFINED__ | 
|  | #define __IReferenceClock2_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IReferenceClock2; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IReferenceClock2 : public IReferenceClock { | 
|  | }; | 
|  | #else | 
|  | typedef struct IReferenceClock2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IReferenceClock2 *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IReferenceClock2 *This); | 
|  | ULONG (WINAPI *Release)(IReferenceClock2 *This); | 
|  | HRESULT (WINAPI *GetTime)(IReferenceClock2 *This,REFERENCE_TIME *pTime); | 
|  | HRESULT (WINAPI *AdviseTime)(IReferenceClock2 *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie); | 
|  | HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock2 *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie); | 
|  | HRESULT (WINAPI *Unadvise)(IReferenceClock2 *This,DWORD_PTR dwAdviseCookie); | 
|  | END_INTERFACE | 
|  | } IReferenceClock2Vtbl; | 
|  | struct IReferenceClock2 { | 
|  | CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime) | 
|  | #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) | 
|  | #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) | 
|  | #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie) | 
|  | #endif | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | typedef IReferenceClock2 *PREFERENCECLOCK2; | 
|  |  | 
|  | #ifndef __IDistributorNotify_INTERFACE_DEFINED__ | 
|  | #define __IDistributorNotify_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDistributorNotify; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDistributorNotify : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI Stop(void) = 0; | 
|  | virtual HRESULT WINAPI Pause(void) = 0; | 
|  | virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0; | 
|  | virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0; | 
|  | virtual HRESULT WINAPI NotifyGraphChange(void) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDistributorNotifyVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDistributorNotify *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDistributorNotify *This); | 
|  | ULONG (WINAPI *Release)(IDistributorNotify *This); | 
|  | HRESULT (WINAPI *Stop)(IDistributorNotify *This); | 
|  | HRESULT (WINAPI *Pause)(IDistributorNotify *This); | 
|  | HRESULT (WINAPI *Run)(IDistributorNotify *This,REFERENCE_TIME tStart); | 
|  | HRESULT (WINAPI *SetSyncSource)(IDistributorNotify *This,IReferenceClock *pClock); | 
|  | HRESULT (WINAPI *NotifyGraphChange)(IDistributorNotify *This); | 
|  | END_INTERFACE | 
|  | } IDistributorNotifyVtbl; | 
|  | struct IDistributorNotify { | 
|  | CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDistributorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This) | 
|  | #define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This) | 
|  | #define IDistributorNotify_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) | 
|  | #define IDistributorNotify_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) | 
|  | #define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDistributorNotify_Stop_Proxy(IDistributorNotify *This); | 
|  | void __RPC_STUB IDistributorNotify_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDistributorNotify_Pause_Proxy(IDistributorNotify *This); | 
|  | void __RPC_STUB IDistributorNotify_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDistributorNotify_Run_Proxy(IDistributorNotify *This,REFERENCE_TIME tStart); | 
|  | void __RPC_STUB IDistributorNotify_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDistributorNotify_SetSyncSource_Proxy(IDistributorNotify *This,IReferenceClock *pClock); | 
|  | void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDistributorNotify_NotifyGraphChange_Proxy(IDistributorNotify *This); | 
|  | void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0167_0001 { | 
|  | CompressionCaps_CanQuality = 0x1,CompressionCaps_CanCrunch = 0x2,CompressionCaps_CanKeyFrame = 0x4,CompressionCaps_CanBFrame = 0x8, | 
|  | CompressionCaps_CanWindow = 0x10 | 
|  | } CompressionCaps; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec; | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0168_0001 { | 
|  | VfwCaptureDialog_Source = 0x1,VfwCaptureDialog_Format = 0x2,VfwCaptureDialog_Display = 0x4 | 
|  | } VfwCaptureDialogs; | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0168_0002 { | 
|  | VfwCompressDialog_Config = 0x1,VfwCompressDialog_About = 0x2,VfwCompressDialog_QueryConfig = 0x4,VfwCompressDialog_QueryAbout = 0x8 | 
|  | } VfwCompressDialogs; | 
|  |  | 
|  | #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__ | 
|  | #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMVfwCompressDialogs; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMVfwCompressDialogs : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0; | 
|  | virtual HRESULT WINAPI GetState(LPVOID pState,int *pcbState) = 0; | 
|  | virtual HRESULT WINAPI SetState(LPVOID pState,int cbState) = 0; | 
|  | virtual HRESULT WINAPI SendDriverMessage(int uMsg,LONG dw1,LONG dw2) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMVfwCompressDialogsVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMVfwCompressDialogs *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMVfwCompressDialogs *This); | 
|  | ULONG (WINAPI *Release)(IAMVfwCompressDialogs *This); | 
|  | HRESULT (WINAPI *ShowDialog)(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd); | 
|  | HRESULT (WINAPI *GetState)(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState); | 
|  | HRESULT (WINAPI *SetState)(IAMVfwCompressDialogs *This,LPVOID pState,int cbState); | 
|  | HRESULT (WINAPI *SendDriverMessage)(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2); | 
|  | END_INTERFACE | 
|  | } IAMVfwCompressDialogsVtbl; | 
|  | struct IAMVfwCompressDialogs { | 
|  | CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd) | 
|  | #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) (This)->lpVtbl->GetState(This,pState,pcbState) | 
|  | #define IAMVfwCompressDialogs_SetState(This,pState,cbState) (This)->lpVtbl->SetState(This,pState,cbState) | 
|  | #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,uMsg,dw1,dw2) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMVfwCompressDialogs_ShowDialog_Proxy(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd); | 
|  | void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMVfwCompressDialogs_GetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState); | 
|  | void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMVfwCompressDialogs_SetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int cbState); | 
|  | void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMVfwCompressDialogs_SendDriverMessage_Proxy(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2); | 
|  | void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #define AMF_AUTOMATICGAIN -1.0 | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec; | 
|  | #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__ | 
|  | #define __IAMAudioInputMixer_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMAudioInputMixer; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMAudioInputMixer : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI put_Enable(WINBOOL fEnable) = 0; | 
|  | virtual HRESULT WINAPI get_Enable(WINBOOL *pfEnable) = 0; | 
|  | virtual HRESULT WINAPI put_Mono(WINBOOL fMono) = 0; | 
|  | virtual HRESULT WINAPI get_Mono(WINBOOL *pfMono) = 0; | 
|  | virtual HRESULT WINAPI put_MixLevel(double Level) = 0; | 
|  | virtual HRESULT WINAPI get_MixLevel(double *pLevel) = 0; | 
|  | virtual HRESULT WINAPI put_Pan(double Pan) = 0; | 
|  | virtual HRESULT WINAPI get_Pan(double *pPan) = 0; | 
|  | virtual HRESULT WINAPI put_Loudness(WINBOOL fLoudness) = 0; | 
|  | virtual HRESULT WINAPI get_Loudness(WINBOOL *pfLoudness) = 0; | 
|  | virtual HRESULT WINAPI put_Treble(double Treble) = 0; | 
|  | virtual HRESULT WINAPI get_Treble(double *pTreble) = 0; | 
|  | virtual HRESULT WINAPI get_TrebleRange(double *pRange) = 0; | 
|  | virtual HRESULT WINAPI put_Bass(double Bass) = 0; | 
|  | virtual HRESULT WINAPI get_Bass(double *pBass) = 0; | 
|  | virtual HRESULT WINAPI get_BassRange(double *pRange) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMAudioInputMixerVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMAudioInputMixer *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMAudioInputMixer *This); | 
|  | ULONG (WINAPI *Release)(IAMAudioInputMixer *This); | 
|  | HRESULT (WINAPI *put_Enable)(IAMAudioInputMixer *This,WINBOOL fEnable); | 
|  | HRESULT (WINAPI *get_Enable)(IAMAudioInputMixer *This,WINBOOL *pfEnable); | 
|  | HRESULT (WINAPI *put_Mono)(IAMAudioInputMixer *This,WINBOOL fMono); | 
|  | HRESULT (WINAPI *get_Mono)(IAMAudioInputMixer *This,WINBOOL *pfMono); | 
|  | HRESULT (WINAPI *put_MixLevel)(IAMAudioInputMixer *This,double Level); | 
|  | HRESULT (WINAPI *get_MixLevel)(IAMAudioInputMixer *This,double *pLevel); | 
|  | HRESULT (WINAPI *put_Pan)(IAMAudioInputMixer *This,double Pan); | 
|  | HRESULT (WINAPI *get_Pan)(IAMAudioInputMixer *This,double *pPan); | 
|  | HRESULT (WINAPI *put_Loudness)(IAMAudioInputMixer *This,WINBOOL fLoudness); | 
|  | HRESULT (WINAPI *get_Loudness)(IAMAudioInputMixer *This,WINBOOL *pfLoudness); | 
|  | HRESULT (WINAPI *put_Treble)(IAMAudioInputMixer *This,double Treble); | 
|  | HRESULT (WINAPI *get_Treble)(IAMAudioInputMixer *This,double *pTreble); | 
|  | HRESULT (WINAPI *get_TrebleRange)(IAMAudioInputMixer *This,double *pRange); | 
|  | HRESULT (WINAPI *put_Bass)(IAMAudioInputMixer *This,double Bass); | 
|  | HRESULT (WINAPI *get_Bass)(IAMAudioInputMixer *This,double *pBass); | 
|  | HRESULT (WINAPI *get_BassRange)(IAMAudioInputMixer *This,double *pRange); | 
|  | END_INTERFACE | 
|  | } IAMAudioInputMixerVtbl; | 
|  | struct IAMAudioInputMixer { | 
|  | CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMAudioInputMixer_put_Enable(This,fEnable) (This)->lpVtbl->put_Enable(This,fEnable) | 
|  | #define IAMAudioInputMixer_get_Enable(This,pfEnable) (This)->lpVtbl->get_Enable(This,pfEnable) | 
|  | #define IAMAudioInputMixer_put_Mono(This,fMono) (This)->lpVtbl->put_Mono(This,fMono) | 
|  | #define IAMAudioInputMixer_get_Mono(This,pfMono) (This)->lpVtbl->get_Mono(This,pfMono) | 
|  | #define IAMAudioInputMixer_put_MixLevel(This,Level) (This)->lpVtbl->put_MixLevel(This,Level) | 
|  | #define IAMAudioInputMixer_get_MixLevel(This,pLevel) (This)->lpVtbl->get_MixLevel(This,pLevel) | 
|  | #define IAMAudioInputMixer_put_Pan(This,Pan) (This)->lpVtbl->put_Pan(This,Pan) | 
|  | #define IAMAudioInputMixer_get_Pan(This,pPan) (This)->lpVtbl->get_Pan(This,pPan) | 
|  | #define IAMAudioInputMixer_put_Loudness(This,fLoudness) (This)->lpVtbl->put_Loudness(This,fLoudness) | 
|  | #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) (This)->lpVtbl->get_Loudness(This,pfLoudness) | 
|  | #define IAMAudioInputMixer_put_Treble(This,Treble) (This)->lpVtbl->put_Treble(This,Treble) | 
|  | #define IAMAudioInputMixer_get_Treble(This,pTreble) (This)->lpVtbl->get_Treble(This,pTreble) | 
|  | #define IAMAudioInputMixer_get_TrebleRange(This,pRange) (This)->lpVtbl->get_TrebleRange(This,pRange) | 
|  | #define IAMAudioInputMixer_put_Bass(This,Bass) (This)->lpVtbl->put_Bass(This,Bass) | 
|  | #define IAMAudioInputMixer_get_Bass(This,pBass) (This)->lpVtbl->get_Bass(This,pBass) | 
|  | #define IAMAudioInputMixer_get_BassRange(This,pRange) (This)->lpVtbl->get_BassRange(This,pRange) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMAudioInputMixer_put_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL fEnable); | 
|  | void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL *pfEnable); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_put_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL fMono); | 
|  | void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL *pfMono); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_put_MixLevel_Proxy(IAMAudioInputMixer *This,double Level); | 
|  | void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_MixLevel_Proxy(IAMAudioInputMixer *This,double *pLevel); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_put_Pan_Proxy(IAMAudioInputMixer *This,double Pan); | 
|  | void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_Pan_Proxy(IAMAudioInputMixer *This,double *pPan); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_put_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL fLoudness); | 
|  | void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL *pfLoudness); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_put_Treble_Proxy(IAMAudioInputMixer *This,double Treble); | 
|  | void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_Treble_Proxy(IAMAudioInputMixer *This,double *pTreble); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_TrebleRange_Proxy(IAMAudioInputMixer *This,double *pRange); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_put_Bass_Proxy(IAMAudioInputMixer *This,double Bass); | 
|  | void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_Bass_Proxy(IAMAudioInputMixer *This,double *pBass); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAudioInputMixer_get_BassRange_Proxy(IAMAudioInputMixer *This,double *pRange); | 
|  | void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #define AnalogVideo_NTSC_Mask 0x00000007 | 
|  | #define AnalogVideo_PAL_Mask 0x00100FF0 | 
|  | #define AnalogVideo_SECAM_Mask 0x000FF000 | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0173_0001 { | 
|  | VideoCopyProtectionMacrovisionBasic = 0,VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1 | 
|  | } VideoCopyProtectionType; | 
|  |  | 
|  | typedef enum tagPhysicalConnectorType { | 
|  | PhysConn_Video_Tuner = 1, | 
|  | PhysConn_Video_Composite,PhysConn_Video_SVideo,PhysConn_Video_RGB, | 
|  | PhysConn_Video_YRYBY,PhysConn_Video_SerialDigital,PhysConn_Video_ParallelDigital, | 
|  | PhysConn_Video_SCSI,PhysConn_Video_AUX,PhysConn_Video_1394,PhysConn_Video_USB, | 
|  | PhysConn_Video_VideoDecoder,PhysConn_Video_VideoEncoder,PhysConn_Video_SCART,PhysConn_Video_Black, | 
|  | PhysConn_Audio_Tuner = 0x1000,PhysConn_Audio_Line = 0x1001,PhysConn_Audio_Mic = 0x1002, | 
|  | PhysConn_Audio_AESDigital = 0x1003,PhysConn_Audio_SPDIFDigital = 0x1004, | 
|  | PhysConn_Audio_SCSI = 0x1005,PhysConn_Audio_AUX = 0x1006,PhysConn_Audio_1394 = 0x1007, | 
|  | PhysConn_Audio_USB = 0x1008,PhysConn_Audio_AudioDecoder = 0x1009 | 
|  | } PhysicalConnectorType; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec; | 
|  | #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ | 
|  | #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMAnalogVideoDecoder; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMAnalogVideoDecoder : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0; | 
|  | virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0; | 
|  | virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0; | 
|  | virtual HRESULT WINAPI get_HorizontalLocked(LONG *plLocked) = 0; | 
|  | virtual HRESULT WINAPI put_VCRHorizontalLocking(LONG lVCRHorizontalLocking) = 0; | 
|  | virtual HRESULT WINAPI get_VCRHorizontalLocking(LONG *plVCRHorizontalLocking) = 0; | 
|  | virtual HRESULT WINAPI get_NumberOfLines(LONG *plNumberOfLines) = 0; | 
|  | virtual HRESULT WINAPI put_OutputEnable(LONG lOutputEnable) = 0; | 
|  | virtual HRESULT WINAPI get_OutputEnable(LONG *plOutputEnable) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMAnalogVideoDecoderVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoDecoder *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMAnalogVideoDecoder *This); | 
|  | ULONG (WINAPI *Release)(IAMAnalogVideoDecoder *This); | 
|  | HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard); | 
|  | HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard); | 
|  | HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard); | 
|  | HRESULT (WINAPI *get_HorizontalLocked)(IAMAnalogVideoDecoder *This,LONG *plLocked); | 
|  | HRESULT (WINAPI *put_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking); | 
|  | HRESULT (WINAPI *get_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking); | 
|  | HRESULT (WINAPI *get_NumberOfLines)(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines); | 
|  | HRESULT (WINAPI *put_OutputEnable)(IAMAnalogVideoDecoder *This,LONG lOutputEnable); | 
|  | HRESULT (WINAPI *get_OutputEnable)(IAMAnalogVideoDecoder *This,LONG *plOutputEnable); | 
|  | END_INTERFACE | 
|  | } IAMAnalogVideoDecoderVtbl; | 
|  | struct IAMAnalogVideoDecoder { | 
|  | CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMAnalogVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMAnalogVideoDecoder_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard) | 
|  | #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard) | 
|  | #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard) | 
|  | #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) (This)->lpVtbl->get_HorizontalLocked(This,plLocked) | 
|  | #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) (This)->lpVtbl->put_VCRHorizontalLocking(This,lVCRHorizontalLocking) | 
|  | #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) (This)->lpVtbl->get_VCRHorizontalLocking(This,plVCRHorizontalLocking) | 
|  | #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) (This)->lpVtbl->get_NumberOfLines(This,plNumberOfLines) | 
|  | #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) (This)->lpVtbl->put_OutputEnable(This,lOutputEnable) | 
|  | #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) (This)->lpVtbl->get_OutputEnable(This,plOutputEnable) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_put_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_get_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(IAMAnalogVideoDecoder *This,LONG *plLocked); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_put_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG lOutputEnable); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoDecoder_get_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG *plOutputEnable); | 
|  | void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum tagCameraControlProperty { | 
|  | CameraControl_Pan = 0, | 
|  | CameraControl_Tilt,CameraControl_Roll,CameraControl_Zoom,CameraControl_Exposure, | 
|  | CameraControl_Iris,CameraControl_Focus | 
|  | } CameraControlProperty; | 
|  |  | 
|  | typedef enum tagCameraControlFlags { | 
|  | CameraControl_Flags_Auto = 0x1,CameraControl_Flags_Manual = 0x2 | 
|  | } CameraControlFlags; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec; | 
|  |  | 
|  | typedef enum tagVideoControlFlags { | 
|  | VideoControlFlag_FlipHorizontal = 0x1,VideoControlFlag_FlipVertical = 0x2,VideoControlFlag_ExternalTriggerEnable = 0x4,VideoControlFlag_Trigger = 0x8 | 
|  | } VideoControlFlags; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec; | 
|  |  | 
|  | typedef enum tagAMTunerSubChannel { | 
|  | AMTUNER_SUBCHAN_NO_TUNE = -2,AMTUNER_SUBCHAN_DEFAULT = -1 | 
|  | } AMTunerSubChannel; | 
|  |  | 
|  | typedef enum tagAMTunerSignalStrength { | 
|  | AMTUNER_HASNOSIGNALSTRENGTH = -1,AMTUNER_NOSIGNAL = 0,AMTUNER_SIGNALPRESENT = 1 | 
|  | } AMTunerSignalStrength; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec; | 
|  |  | 
|  | #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__ | 
|  | #define __IBPCSatelliteTuner_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IBPCSatelliteTuner; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IBPCSatelliteTuner : public IAMTuner { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_DefaultSubChannelTypes(LONG *plDefaultVideoType,LONG *plDefaultAudioType) = 0; | 
|  | virtual HRESULT WINAPI put_DefaultSubChannelTypes(LONG lDefaultVideoType,LONG lDefaultAudioType) = 0; | 
|  | virtual HRESULT WINAPI IsTapingPermitted(void) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IBPCSatelliteTunerVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IBPCSatelliteTuner *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IBPCSatelliteTuner *This); | 
|  | ULONG (WINAPI *Release)(IBPCSatelliteTuner *This); | 
|  | HRESULT (WINAPI *put_Channel)(IBPCSatelliteTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel); | 
|  | HRESULT (WINAPI *get_Channel)(IBPCSatelliteTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel); | 
|  | HRESULT (WINAPI *ChannelMinMax)(IBPCSatelliteTuner *This,LONG *lChannelMin,LONG *lChannelMax); | 
|  | HRESULT (WINAPI *put_CountryCode)(IBPCSatelliteTuner *This,LONG lCountryCode); | 
|  | HRESULT (WINAPI *get_CountryCode)(IBPCSatelliteTuner *This,LONG *plCountryCode); | 
|  | HRESULT (WINAPI *put_TuningSpace)(IBPCSatelliteTuner *This,LONG lTuningSpace); | 
|  | HRESULT (WINAPI *get_TuningSpace)(IBPCSatelliteTuner *This,LONG *plTuningSpace); | 
|  | HRESULT (WINAPI *Logon)(IBPCSatelliteTuner *This,HANDLE hCurrentUser); | 
|  | HRESULT (WINAPI *Logout)(IBPCSatelliteTuner *This); | 
|  | HRESULT (WINAPI *SignalPresent)(IBPCSatelliteTuner *This,LONG *plSignalStrength); | 
|  | HRESULT (WINAPI *put_Mode)(IBPCSatelliteTuner *This,AMTunerModeType lMode); | 
|  | HRESULT (WINAPI *get_Mode)(IBPCSatelliteTuner *This,AMTunerModeType *plMode); | 
|  | HRESULT (WINAPI *GetAvailableModes)(IBPCSatelliteTuner *This,LONG *plModes); | 
|  | HRESULT (WINAPI *RegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify,LONG lEvents); | 
|  | HRESULT (WINAPI *UnRegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify); | 
|  | HRESULT (WINAPI *get_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType); | 
|  | HRESULT (WINAPI *put_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType); | 
|  | HRESULT (WINAPI *IsTapingPermitted)(IBPCSatelliteTuner *This); | 
|  | END_INTERFACE | 
|  | } IBPCSatelliteTunerVtbl; | 
|  | struct IBPCSatelliteTuner { | 
|  | CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IBPCSatelliteTuner_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IBPCSatelliteTuner_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) | 
|  | #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) | 
|  | #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax) | 
|  | #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode) | 
|  | #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode) | 
|  | #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace) | 
|  | #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace) | 
|  | #define IBPCSatelliteTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser) | 
|  | #define IBPCSatelliteTuner_Logout(This) (This)->lpVtbl->Logout(This) | 
|  | #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength) | 
|  | #define IBPCSatelliteTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode) | 
|  | #define IBPCSatelliteTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode) | 
|  | #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes) | 
|  | #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents) | 
|  | #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify) | 
|  | #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) (This)->lpVtbl->get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) | 
|  | #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) (This)->lpVtbl->put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) | 
|  | #define IBPCSatelliteTuner_IsTapingPermitted(This) (This)->lpVtbl->IsTapingPermitted(This) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType); | 
|  | void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType); | 
|  | void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IBPCSatelliteTuner_IsTapingPermitted_Proxy(IBPCSatelliteTuner *This); | 
|  | void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum tagAMTVAudioEventType { | 
|  | AMTVAUDIO_EVENT_CHANGED = 0x1 | 
|  | } AMTVAudioEventType; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec; | 
|  | #ifndef __IAMTVAudio_INTERFACE_DEFINED__ | 
|  | #define __IAMTVAudio_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMTVAudio; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMTVAudio : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetHardwareSupportedTVAudioModes(LONG *plModes) = 0; | 
|  | virtual HRESULT WINAPI GetAvailableTVAudioModes(LONG *plModes) = 0; | 
|  | virtual HRESULT WINAPI get_TVAudioMode(LONG *plMode) = 0; | 
|  | virtual HRESULT WINAPI put_TVAudioMode(LONG lMode) = 0; | 
|  | virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0; | 
|  | virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMTVAudioVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMTVAudio *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMTVAudio *This); | 
|  | ULONG (WINAPI *Release)(IAMTVAudio *This); | 
|  | HRESULT (WINAPI *GetHardwareSupportedTVAudioModes)(IAMTVAudio *This,LONG *plModes); | 
|  | HRESULT (WINAPI *GetAvailableTVAudioModes)(IAMTVAudio *This,LONG *plModes); | 
|  | HRESULT (WINAPI *get_TVAudioMode)(IAMTVAudio *This,LONG *plMode); | 
|  | HRESULT (WINAPI *put_TVAudioMode)(IAMTVAudio *This,LONG lMode); | 
|  | HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents); | 
|  | HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify); | 
|  | END_INTERFACE | 
|  | } IAMTVAudioVtbl; | 
|  | struct IAMTVAudio { | 
|  | CONST_VTBL struct IAMTVAudioVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMTVAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTVAudio_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTVAudio_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) (This)->lpVtbl->GetHardwareSupportedTVAudioModes(This,plModes) | 
|  | #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) (This)->lpVtbl->GetAvailableTVAudioModes(This,plModes) | 
|  | #define IAMTVAudio_get_TVAudioMode(This,plMode) (This)->lpVtbl->get_TVAudioMode(This,plMode) | 
|  | #define IAMTVAudio_put_TVAudioMode(This,lMode) (This)->lpVtbl->put_TVAudioMode(This,lMode) | 
|  | #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents) | 
|  | #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes); | 
|  | void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTVAudio_GetAvailableTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes); | 
|  | void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTVAudio_get_TVAudioMode_Proxy(IAMTVAudio *This,LONG *plMode); | 
|  | void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTVAudio_put_TVAudioMode_Proxy(IAMTVAudio *This,LONG lMode); | 
|  | void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTVAudio_RegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents); | 
|  | void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTVAudio_UnRegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify); | 
|  | void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__ | 
|  | #define __IAMTVAudioNotification_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMTVAudioNotification; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMTVAudioNotification : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI OnEvent(AMTVAudioEventType Event) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMTVAudioNotificationVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMTVAudioNotification *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMTVAudioNotification *This); | 
|  | ULONG (WINAPI *Release)(IAMTVAudioNotification *This); | 
|  | HRESULT (WINAPI *OnEvent)(IAMTVAudioNotification *This,AMTVAudioEventType Event); | 
|  | END_INTERFACE | 
|  | } IAMTVAudioNotificationVtbl; | 
|  | struct IAMTVAudioNotification { | 
|  | CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTVAudioNotification_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTVAudioNotification_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMTVAudioNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMTVAudioNotification_OnEvent_Proxy(IAMTVAudioNotification *This,AMTVAudioEventType Event); | 
|  | void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ | 
|  | #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMAnalogVideoEncoder; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMAnalogVideoEncoder : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0; | 
|  | virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0; | 
|  | virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0; | 
|  | virtual HRESULT WINAPI put_CopyProtection(LONG lVideoCopyProtection) = 0; | 
|  | virtual HRESULT WINAPI get_CopyProtection(LONG *lVideoCopyProtection) = 0; | 
|  | virtual HRESULT WINAPI put_CCEnable(LONG lCCEnable) = 0; | 
|  | virtual HRESULT WINAPI get_CCEnable(LONG *lCCEnable) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMAnalogVideoEncoderVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoEncoder *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMAnalogVideoEncoder *This); | 
|  | ULONG (WINAPI *Release)(IAMAnalogVideoEncoder *This); | 
|  | HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard); | 
|  | HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard); | 
|  | HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard); | 
|  | HRESULT (WINAPI *put_CopyProtection)(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection); | 
|  | HRESULT (WINAPI *get_CopyProtection)(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection); | 
|  | HRESULT (WINAPI *put_CCEnable)(IAMAnalogVideoEncoder *This,LONG lCCEnable); | 
|  | HRESULT (WINAPI *get_CCEnable)(IAMAnalogVideoEncoder *This,LONG *lCCEnable); | 
|  | END_INTERFACE | 
|  | } IAMAnalogVideoEncoderVtbl; | 
|  | struct IAMAnalogVideoEncoder { | 
|  | CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMAnalogVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMAnalogVideoEncoder_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard) | 
|  | #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard) | 
|  | #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard) | 
|  | #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->put_CopyProtection(This,lVideoCopyProtection) | 
|  | #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->get_CopyProtection(This,lVideoCopyProtection) | 
|  | #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) (This)->lpVtbl->put_CCEnable(This,lCCEnable) | 
|  | #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) (This)->lpVtbl->get_CCEnable(This,lCCEnable) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard); | 
|  | void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoEncoder_put_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard); | 
|  | void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoEncoder_get_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard); | 
|  | void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoEncoder_put_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection); | 
|  | void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoEncoder_get_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection); | 
|  | void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoEncoder_put_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG lCCEnable); | 
|  | void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMAnalogVideoEncoder_get_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG *lCCEnable); | 
|  | void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__ | 
|  | #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMPhysicalPinInfo; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMPhysicalPinInfo : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetPhysicalType(LONG *pType,LPOLESTR *ppszType) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMPhysicalPinInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMPhysicalPinInfo *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMPhysicalPinInfo *This); | 
|  | ULONG (WINAPI *Release)(IAMPhysicalPinInfo *This); | 
|  | HRESULT (WINAPI *GetPhysicalType)(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType); | 
|  | END_INTERFACE | 
|  | } IAMPhysicalPinInfoVtbl; | 
|  | struct IAMPhysicalPinInfo { | 
|  | CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMPhysicalPinInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMPhysicalPinInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) (This)->lpVtbl->GetPhysicalType(This,pType,ppszType) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMPhysicalPinInfo_GetPhysicalType_Proxy(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType); | 
|  | void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec; | 
|  | #ifndef __IAMExtDevice_INTERFACE_DEFINED__ | 
|  | #define __IAMExtDevice_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMExtDevice; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMExtDevice : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0; | 
|  | virtual HRESULT WINAPI get_ExternalDeviceID(LPOLESTR *ppszData) = 0; | 
|  | virtual HRESULT WINAPI get_ExternalDeviceVersion(LPOLESTR *ppszData) = 0; | 
|  | virtual HRESULT WINAPI put_DevicePower(LONG PowerMode) = 0; | 
|  | virtual HRESULT WINAPI get_DevicePower(LONG *pPowerMode) = 0; | 
|  | virtual HRESULT WINAPI Calibrate(HEVENT hEvent,LONG Mode,LONG *pStatus) = 0; | 
|  | virtual HRESULT WINAPI put_DevicePort(LONG DevicePort) = 0; | 
|  | virtual HRESULT WINAPI get_DevicePort(LONG *pDevicePort) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMExtDeviceVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMExtDevice *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMExtDevice *This); | 
|  | ULONG (WINAPI *Release)(IAMExtDevice *This); | 
|  | HRESULT (WINAPI *GetCapability)(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue); | 
|  | HRESULT (WINAPI *get_ExternalDeviceID)(IAMExtDevice *This,LPOLESTR *ppszData); | 
|  | HRESULT (WINAPI *get_ExternalDeviceVersion)(IAMExtDevice *This,LPOLESTR *ppszData); | 
|  | HRESULT (WINAPI *put_DevicePower)(IAMExtDevice *This,LONG PowerMode); | 
|  | HRESULT (WINAPI *get_DevicePower)(IAMExtDevice *This,LONG *pPowerMode); | 
|  | HRESULT (WINAPI *Calibrate)(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus); | 
|  | HRESULT (WINAPI *put_DevicePort)(IAMExtDevice *This,LONG DevicePort); | 
|  | HRESULT (WINAPI *get_DevicePort)(IAMExtDevice *This,LONG *pDevicePort); | 
|  | END_INTERFACE | 
|  | } IAMExtDeviceVtbl; | 
|  | struct IAMExtDevice { | 
|  | CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMExtDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMExtDevice_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMExtDevice_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue) | 
|  | #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) (This)->lpVtbl->get_ExternalDeviceID(This,ppszData) | 
|  | #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) (This)->lpVtbl->get_ExternalDeviceVersion(This,ppszData) | 
|  | #define IAMExtDevice_put_DevicePower(This,PowerMode) (This)->lpVtbl->put_DevicePower(This,PowerMode) | 
|  | #define IAMExtDevice_get_DevicePower(This,pPowerMode) (This)->lpVtbl->get_DevicePower(This,pPowerMode) | 
|  | #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) (This)->lpVtbl->Calibrate(This,hEvent,Mode,pStatus) | 
|  | #define IAMExtDevice_put_DevicePort(This,DevicePort) (This)->lpVtbl->put_DevicePort(This,DevicePort) | 
|  | #define IAMExtDevice_get_DevicePort(This,pDevicePort) (This)->lpVtbl->get_DevicePort(This,pDevicePort) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMExtDevice_GetCapability_Proxy(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue); | 
|  | void __RPC_STUB IAMExtDevice_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtDevice_get_ExternalDeviceID_Proxy(IAMExtDevice *This,LPOLESTR *ppszData); | 
|  | void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtDevice_get_ExternalDeviceVersion_Proxy(IAMExtDevice *This,LPOLESTR *ppszData); | 
|  | void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtDevice_put_DevicePower_Proxy(IAMExtDevice *This,LONG PowerMode); | 
|  | void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtDevice_get_DevicePower_Proxy(IAMExtDevice *This,LONG *pPowerMode); | 
|  | void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtDevice_Calibrate_Proxy(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus); | 
|  | void __RPC_STUB IAMExtDevice_Calibrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtDevice_put_DevicePort_Proxy(IAMExtDevice *This,LONG DevicePort); | 
|  | void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtDevice_get_DevicePort_Proxy(IAMExtDevice *This,LONG *pDevicePort); | 
|  | void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMExtDevice *PEXTDEVICE; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec; | 
|  | #ifndef __IAMExtTransport_INTERFACE_DEFINED__ | 
|  | #define __IAMExtTransport_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMExtTransport; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMExtTransport : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0; | 
|  | virtual HRESULT WINAPI put_MediaState(LONG State) = 0; | 
|  | virtual HRESULT WINAPI get_MediaState(LONG *pState) = 0; | 
|  | virtual HRESULT WINAPI put_LocalControl(LONG State) = 0; | 
|  | virtual HRESULT WINAPI get_LocalControl(LONG *pState) = 0; | 
|  | virtual HRESULT WINAPI GetStatus(LONG StatusItem,LONG *pValue) = 0; | 
|  | virtual HRESULT WINAPI GetTransportBasicParameters(LONG Param,LONG *pValue,LPOLESTR *ppszData) = 0; | 
|  | virtual HRESULT WINAPI SetTransportBasicParameters(LONG Param,LONG Value,LPCOLESTR pszData) = 0; | 
|  | virtual HRESULT WINAPI GetTransportVideoParameters(LONG Param,LONG *pValue) = 0; | 
|  | virtual HRESULT WINAPI SetTransportVideoParameters(LONG Param,LONG Value) = 0; | 
|  | virtual HRESULT WINAPI GetTransportAudioParameters(LONG Param,LONG *pValue) = 0; | 
|  | virtual HRESULT WINAPI SetTransportAudioParameters(LONG Param,LONG Value) = 0; | 
|  | virtual HRESULT WINAPI put_Mode(LONG Mode) = 0; | 
|  | virtual HRESULT WINAPI get_Mode(LONG *pMode) = 0; | 
|  | virtual HRESULT WINAPI put_Rate(double dblRate) = 0; | 
|  | virtual HRESULT WINAPI get_Rate(double *pdblRate) = 0; | 
|  | virtual HRESULT WINAPI GetChase(LONG *pEnabled,LONG *pOffset,HEVENT *phEvent) = 0; | 
|  | virtual HRESULT WINAPI SetChase(LONG Enable,LONG Offset,HEVENT hEvent) = 0; | 
|  | virtual HRESULT WINAPI GetBump(LONG *pSpeed,LONG *pDuration) = 0; | 
|  | virtual HRESULT WINAPI SetBump(LONG Speed,LONG Duration) = 0; | 
|  | virtual HRESULT WINAPI get_AntiClogControl(LONG *pEnabled) = 0; | 
|  | virtual HRESULT WINAPI put_AntiClogControl(LONG Enable) = 0; | 
|  | virtual HRESULT WINAPI GetEditPropertySet(LONG EditID,LONG *pState) = 0; | 
|  | virtual HRESULT WINAPI SetEditPropertySet(LONG *pEditID,LONG State) = 0; | 
|  | virtual HRESULT WINAPI GetEditProperty(LONG EditID,LONG Param,LONG *pValue) = 0; | 
|  | virtual HRESULT WINAPI SetEditProperty(LONG EditID,LONG Param,LONG Value) = 0; | 
|  | virtual HRESULT WINAPI get_EditStart(LONG *pValue) = 0; | 
|  | virtual HRESULT WINAPI put_EditStart(LONG Value) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMExtTransportVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMExtTransport *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMExtTransport *This); | 
|  | ULONG (WINAPI *Release)(IAMExtTransport *This); | 
|  | HRESULT (WINAPI *GetCapability)(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue); | 
|  | HRESULT (WINAPI *put_MediaState)(IAMExtTransport *This,LONG State); | 
|  | HRESULT (WINAPI *get_MediaState)(IAMExtTransport *This,LONG *pState); | 
|  | HRESULT (WINAPI *put_LocalControl)(IAMExtTransport *This,LONG State); | 
|  | HRESULT (WINAPI *get_LocalControl)(IAMExtTransport *This,LONG *pState); | 
|  | HRESULT (WINAPI *GetStatus)(IAMExtTransport *This,LONG StatusItem,LONG *pValue); | 
|  | HRESULT (WINAPI *GetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData); | 
|  | HRESULT (WINAPI *SetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData); | 
|  | HRESULT (WINAPI *GetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG *pValue); | 
|  | HRESULT (WINAPI *SetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG Value); | 
|  | HRESULT (WINAPI *GetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG *pValue); | 
|  | HRESULT (WINAPI *SetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG Value); | 
|  | HRESULT (WINAPI *put_Mode)(IAMExtTransport *This,LONG Mode); | 
|  | HRESULT (WINAPI *get_Mode)(IAMExtTransport *This,LONG *pMode); | 
|  | HRESULT (WINAPI *put_Rate)(IAMExtTransport *This,double dblRate); | 
|  | HRESULT (WINAPI *get_Rate)(IAMExtTransport *This,double *pdblRate); | 
|  | HRESULT (WINAPI *GetChase)(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent); | 
|  | HRESULT (WINAPI *SetChase)(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent); | 
|  | HRESULT (WINAPI *GetBump)(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration); | 
|  | HRESULT (WINAPI *SetBump)(IAMExtTransport *This,LONG Speed,LONG Duration); | 
|  | HRESULT (WINAPI *get_AntiClogControl)(IAMExtTransport *This,LONG *pEnabled); | 
|  | HRESULT (WINAPI *put_AntiClogControl)(IAMExtTransport *This,LONG Enable); | 
|  | HRESULT (WINAPI *GetEditPropertySet)(IAMExtTransport *This,LONG EditID,LONG *pState); | 
|  | HRESULT (WINAPI *SetEditPropertySet)(IAMExtTransport *This,LONG *pEditID,LONG State); | 
|  | HRESULT (WINAPI *GetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue); | 
|  | HRESULT (WINAPI *SetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value); | 
|  | HRESULT (WINAPI *get_EditStart)(IAMExtTransport *This,LONG *pValue); | 
|  | HRESULT (WINAPI *put_EditStart)(IAMExtTransport *This,LONG Value); | 
|  | END_INTERFACE | 
|  | } IAMExtTransportVtbl; | 
|  | struct IAMExtTransport { | 
|  | CONST_VTBL struct IAMExtTransportVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMExtTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMExtTransport_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMExtTransport_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue) | 
|  | #define IAMExtTransport_put_MediaState(This,State) (This)->lpVtbl->put_MediaState(This,State) | 
|  | #define IAMExtTransport_get_MediaState(This,pState) (This)->lpVtbl->get_MediaState(This,pState) | 
|  | #define IAMExtTransport_put_LocalControl(This,State) (This)->lpVtbl->put_LocalControl(This,State) | 
|  | #define IAMExtTransport_get_LocalControl(This,pState) (This)->lpVtbl->get_LocalControl(This,pState) | 
|  | #define IAMExtTransport_GetStatus(This,StatusItem,pValue) (This)->lpVtbl->GetStatus(This,StatusItem,pValue) | 
|  | #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) (This)->lpVtbl->GetTransportBasicParameters(This,Param,pValue,ppszData) | 
|  | #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) (This)->lpVtbl->SetTransportBasicParameters(This,Param,Value,pszData) | 
|  | #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) (This)->lpVtbl->GetTransportVideoParameters(This,Param,pValue) | 
|  | #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) (This)->lpVtbl->SetTransportVideoParameters(This,Param,Value) | 
|  | #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) (This)->lpVtbl->GetTransportAudioParameters(This,Param,pValue) | 
|  | #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) (This)->lpVtbl->SetTransportAudioParameters(This,Param,Value) | 
|  | #define IAMExtTransport_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode) | 
|  | #define IAMExtTransport_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode) | 
|  | #define IAMExtTransport_put_Rate(This,dblRate) (This)->lpVtbl->put_Rate(This,dblRate) | 
|  | #define IAMExtTransport_get_Rate(This,pdblRate) (This)->lpVtbl->get_Rate(This,pdblRate) | 
|  | #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) (This)->lpVtbl->GetChase(This,pEnabled,pOffset,phEvent) | 
|  | #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) (This)->lpVtbl->SetChase(This,Enable,Offset,hEvent) | 
|  | #define IAMExtTransport_GetBump(This,pSpeed,pDuration) (This)->lpVtbl->GetBump(This,pSpeed,pDuration) | 
|  | #define IAMExtTransport_SetBump(This,Speed,Duration) (This)->lpVtbl->SetBump(This,Speed,Duration) | 
|  | #define IAMExtTransport_get_AntiClogControl(This,pEnabled) (This)->lpVtbl->get_AntiClogControl(This,pEnabled) | 
|  | #define IAMExtTransport_put_AntiClogControl(This,Enable) (This)->lpVtbl->put_AntiClogControl(This,Enable) | 
|  | #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) (This)->lpVtbl->GetEditPropertySet(This,EditID,pState) | 
|  | #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) (This)->lpVtbl->SetEditPropertySet(This,pEditID,State) | 
|  | #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) (This)->lpVtbl->GetEditProperty(This,EditID,Param,pValue) | 
|  | #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) (This)->lpVtbl->SetEditProperty(This,EditID,Param,Value) | 
|  | #define IAMExtTransport_get_EditStart(This,pValue) (This)->lpVtbl->get_EditStart(This,pValue) | 
|  | #define IAMExtTransport_put_EditStart(This,Value) (This)->lpVtbl->put_EditStart(This,Value) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMExtTransport_GetCapability_Proxy(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue); | 
|  | void __RPC_STUB IAMExtTransport_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_put_MediaState_Proxy(IAMExtTransport *This,LONG State); | 
|  | void __RPC_STUB IAMExtTransport_put_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_get_MediaState_Proxy(IAMExtTransport *This,LONG *pState); | 
|  | void __RPC_STUB IAMExtTransport_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_put_LocalControl_Proxy(IAMExtTransport *This,LONG State); | 
|  | void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_get_LocalControl_Proxy(IAMExtTransport *This,LONG *pState); | 
|  | void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_GetStatus_Proxy(IAMExtTransport *This,LONG StatusItem,LONG *pValue); | 
|  | void __RPC_STUB IAMExtTransport_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_GetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData); | 
|  | void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_SetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData); | 
|  | void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_GetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue); | 
|  | void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_SetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value); | 
|  | void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_GetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue); | 
|  | void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_SetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value); | 
|  | void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_put_Mode_Proxy(IAMExtTransport *This,LONG Mode); | 
|  | void __RPC_STUB IAMExtTransport_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_get_Mode_Proxy(IAMExtTransport *This,LONG *pMode); | 
|  | void __RPC_STUB IAMExtTransport_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_put_Rate_Proxy(IAMExtTransport *This,double dblRate); | 
|  | void __RPC_STUB IAMExtTransport_put_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_get_Rate_Proxy(IAMExtTransport *This,double *pdblRate); | 
|  | void __RPC_STUB IAMExtTransport_get_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_GetChase_Proxy(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent); | 
|  | void __RPC_STUB IAMExtTransport_GetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_SetChase_Proxy(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent); | 
|  | void __RPC_STUB IAMExtTransport_SetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_GetBump_Proxy(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration); | 
|  | void __RPC_STUB IAMExtTransport_GetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_SetBump_Proxy(IAMExtTransport *This,LONG Speed,LONG Duration); | 
|  | void __RPC_STUB IAMExtTransport_SetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_get_AntiClogControl_Proxy(IAMExtTransport *This,LONG *pEnabled); | 
|  | void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_put_AntiClogControl_Proxy(IAMExtTransport *This,LONG Enable); | 
|  | void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_GetEditPropertySet_Proxy(IAMExtTransport *This,LONG EditID,LONG *pState); | 
|  | void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_SetEditPropertySet_Proxy(IAMExtTransport *This,LONG *pEditID,LONG State); | 
|  | void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_GetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue); | 
|  | void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_SetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value); | 
|  | void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_get_EditStart_Proxy(IAMExtTransport *This,LONG *pValue); | 
|  | void __RPC_STUB IAMExtTransport_get_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMExtTransport_put_EditStart_Proxy(IAMExtTransport *This,LONG Value); | 
|  | void __RPC_STUB IAMExtTransport_put_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMExtTransport *PIAMEXTTRANSPORT; | 
|  |  | 
|  | #ifndef TIMECODE_DEFINED | 
|  | #define TIMECODE_DEFINED | 
|  | typedef union _timecode { | 
|  | __C89_NAMELESS struct { | 
|  | WORD wFrameRate; | 
|  | WORD wFrameFract; | 
|  | DWORD dwFrames; | 
|  | }; | 
|  | DWORDLONG qw; | 
|  | } TIMECODE; | 
|  |  | 
|  | typedef TIMECODE *PTIMECODE; | 
|  |  | 
|  | typedef struct tagTIMECODE_SAMPLE { | 
|  | LONGLONG qwTick; | 
|  | TIMECODE timecode; | 
|  | DWORD dwUser; | 
|  | DWORD dwFlags; | 
|  | } TIMECODE_SAMPLE; | 
|  |  | 
|  | typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE; | 
|  | #endif /* TIMECODE_DEFINED */ | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec; | 
|  | #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__ | 
|  | #define __IAMTimecodeReader_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMTimecodeReader; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMTimecodeReader : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetTCRMode(LONG Param,LONG *pValue) = 0; | 
|  | virtual HRESULT WINAPI SetTCRMode(LONG Param,LONG Value) = 0; | 
|  | virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0; | 
|  | virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0; | 
|  | virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMTimecodeReaderVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMTimecodeReader *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMTimecodeReader *This); | 
|  | ULONG (WINAPI *Release)(IAMTimecodeReader *This); | 
|  | HRESULT (WINAPI *GetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG *pValue); | 
|  | HRESULT (WINAPI *SetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG Value); | 
|  | HRESULT (WINAPI *put_VITCLine)(IAMTimecodeReader *This,LONG Line); | 
|  | HRESULT (WINAPI *get_VITCLine)(IAMTimecodeReader *This,LONG *pLine); | 
|  | HRESULT (WINAPI *GetTimecode)(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample); | 
|  | END_INTERFACE | 
|  | } IAMTimecodeReaderVtbl; | 
|  | struct IAMTimecodeReader { | 
|  | CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTimecodeReader_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTimecodeReader_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) (This)->lpVtbl->GetTCRMode(This,Param,pValue) | 
|  | #define IAMTimecodeReader_SetTCRMode(This,Param,Value) (This)->lpVtbl->SetTCRMode(This,Param,Value) | 
|  | #define IAMTimecodeReader_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line) | 
|  | #define IAMTimecodeReader_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine) | 
|  | #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMTimecodeReader_GetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG *pValue); | 
|  | void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeReader_SetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG Value); | 
|  | void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeReader_put_VITCLine_Proxy(IAMTimecodeReader *This,LONG Line); | 
|  | void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeReader_get_VITCLine_Proxy(IAMTimecodeReader *This,LONG *pLine); | 
|  | void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeReader_GetTimecode_Proxy(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample); | 
|  | void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMTimecodeReader *PIAMTIMECODEREADER; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec; | 
|  | #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__ | 
|  | #define __IAMTimecodeGenerator_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMTimecodeGenerator; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMTimecodeGenerator : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetTCGMode(LONG Param,LONG *pValue) = 0; | 
|  | virtual HRESULT WINAPI SetTCGMode(LONG Param,LONG Value) = 0; | 
|  | virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0; | 
|  | virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0; | 
|  | virtual HRESULT WINAPI SetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; | 
|  | virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMTimecodeGeneratorVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMTimecodeGenerator *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMTimecodeGenerator *This); | 
|  | ULONG (WINAPI *Release)(IAMTimecodeGenerator *This); | 
|  | HRESULT (WINAPI *GetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG *pValue); | 
|  | HRESULT (WINAPI *SetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG Value); | 
|  | HRESULT (WINAPI *put_VITCLine)(IAMTimecodeGenerator *This,LONG Line); | 
|  | HRESULT (WINAPI *get_VITCLine)(IAMTimecodeGenerator *This,LONG *pLine); | 
|  | HRESULT (WINAPI *SetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); | 
|  | HRESULT (WINAPI *GetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); | 
|  | END_INTERFACE | 
|  | } IAMTimecodeGeneratorVtbl; | 
|  | struct IAMTimecodeGenerator { | 
|  | CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTimecodeGenerator_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTimecodeGenerator_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) (This)->lpVtbl->GetTCGMode(This,Param,pValue) | 
|  | #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) (This)->lpVtbl->SetTCGMode(This,Param,Value) | 
|  | #define IAMTimecodeGenerator_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line) | 
|  | #define IAMTimecodeGenerator_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine) | 
|  | #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) (This)->lpVtbl->SetTimecode(This,pTimecodeSample) | 
|  | #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMTimecodeGenerator_GetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG *pValue); | 
|  | void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeGenerator_SetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG Value); | 
|  | void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeGenerator_put_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG Line); | 
|  | void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeGenerator_get_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG *pLine); | 
|  | void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeGenerator_SetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); | 
|  | void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeGenerator_GetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample); | 
|  | void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec; | 
|  | #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__ | 
|  | #define __IAMTimecodeDisplay_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMTimecodeDisplay; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMTimecodeDisplay : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetTCDisplayEnable(LONG *pState) = 0; | 
|  | virtual HRESULT WINAPI SetTCDisplayEnable(LONG State) = 0; | 
|  | virtual HRESULT WINAPI GetTCDisplay(LONG Param,LONG *pValue) = 0; | 
|  | virtual HRESULT WINAPI SetTCDisplay(LONG Param,LONG Value) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMTimecodeDisplayVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMTimecodeDisplay *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMTimecodeDisplay *This); | 
|  | ULONG (WINAPI *Release)(IAMTimecodeDisplay *This); | 
|  | HRESULT (WINAPI *GetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG *pState); | 
|  | HRESULT (WINAPI *SetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG State); | 
|  | HRESULT (WINAPI *GetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG *pValue); | 
|  | HRESULT (WINAPI *SetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG Value); | 
|  | END_INTERFACE | 
|  | } IAMTimecodeDisplayVtbl; | 
|  | struct IAMTimecodeDisplay { | 
|  | CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTimecodeDisplay_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTimecodeDisplay_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) (This)->lpVtbl->GetTCDisplayEnable(This,pState) | 
|  | #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) (This)->lpVtbl->SetTCDisplayEnable(This,State) | 
|  | #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) (This)->lpVtbl->GetTCDisplay(This,Param,pValue) | 
|  | #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) (This)->lpVtbl->SetTCDisplay(This,Param,Value) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG *pState); | 
|  | void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG State); | 
|  | void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG *pValue); | 
|  | void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG Value); | 
|  | void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec; | 
|  | #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__ | 
|  | #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMDevMemoryAllocator; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMDevMemoryAllocator : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetInfo(DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk) = 0; | 
|  | virtual HRESULT WINAPI CheckMemory(const BYTE *pBuffer) = 0; | 
|  | virtual HRESULT WINAPI Alloc(BYTE **ppBuffer,DWORD *pdwcbBuffer) = 0; | 
|  | virtual HRESULT WINAPI Free(BYTE *pBuffer) = 0; | 
|  | virtual HRESULT WINAPI GetDevMemoryObject(IUnknown **ppUnkInnner,IUnknown *pUnkOuter) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMDevMemoryAllocatorVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMDevMemoryAllocator *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMDevMemoryAllocator *This); | 
|  | ULONG (WINAPI *Release)(IAMDevMemoryAllocator *This); | 
|  | HRESULT (WINAPI *GetInfo)(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk); | 
|  | HRESULT (WINAPI *CheckMemory)(IAMDevMemoryAllocator *This,const BYTE *pBuffer); | 
|  | HRESULT (WINAPI *Alloc)(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer); | 
|  | HRESULT (WINAPI *Free)(IAMDevMemoryAllocator *This,BYTE *pBuffer); | 
|  | HRESULT (WINAPI *GetDevMemoryObject)(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter); | 
|  | END_INTERFACE | 
|  | } IAMDevMemoryAllocatorVtbl; | 
|  | struct IAMDevMemoryAllocator { | 
|  | CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMDevMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMDevMemoryAllocator_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) (This)->lpVtbl->GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) | 
|  | #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) (This)->lpVtbl->CheckMemory(This,pBuffer) | 
|  | #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) (This)->lpVtbl->Alloc(This,ppBuffer,pdwcbBuffer) | 
|  | #define IAMDevMemoryAllocator_Free(This,pBuffer) (This)->lpVtbl->Free(This,pBuffer) | 
|  | #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) (This)->lpVtbl->GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMDevMemoryAllocator_GetInfo_Proxy(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk); | 
|  | void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMDevMemoryAllocator_CheckMemory_Proxy(IAMDevMemoryAllocator *This,const BYTE *pBuffer); | 
|  | void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMDevMemoryAllocator_Alloc_Proxy(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer); | 
|  | void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMDevMemoryAllocator_Free_Proxy(IAMDevMemoryAllocator *This,BYTE *pBuffer); | 
|  | void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter); | 
|  | void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec; | 
|  | #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__ | 
|  | #define __IAMDevMemoryControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMDevMemoryControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMDevMemoryControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI QueryWriteSync(void) = 0; | 
|  | virtual HRESULT WINAPI WriteSync(void) = 0; | 
|  | virtual HRESULT WINAPI GetDevId(DWORD *pdwDevId) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMDevMemoryControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMDevMemoryControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMDevMemoryControl *This); | 
|  | ULONG (WINAPI *Release)(IAMDevMemoryControl *This); | 
|  | HRESULT (WINAPI *QueryWriteSync)(IAMDevMemoryControl *This); | 
|  | HRESULT (WINAPI *WriteSync)(IAMDevMemoryControl *This); | 
|  | HRESULT (WINAPI *GetDevId)(IAMDevMemoryControl *This,DWORD *pdwDevId); | 
|  | END_INTERFACE | 
|  | } IAMDevMemoryControlVtbl; | 
|  | struct IAMDevMemoryControl { | 
|  | CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMDevMemoryControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMDevMemoryControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMDevMemoryControl_QueryWriteSync(This) (This)->lpVtbl->QueryWriteSync(This) | 
|  | #define IAMDevMemoryControl_WriteSync(This) (This)->lpVtbl->WriteSync(This) | 
|  | #define IAMDevMemoryControl_GetDevId(This,pdwDevId) (This)->lpVtbl->GetDevId(This,pdwDevId) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMDevMemoryControl_QueryWriteSync_Proxy(IAMDevMemoryControl *This); | 
|  | void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMDevMemoryControl_WriteSync_Proxy(IAMDevMemoryControl *This); | 
|  | void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMDevMemoryControl_GetDevId_Proxy(IAMDevMemoryControl *This,DWORD *pdwDevId); | 
|  | void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL; | 
|  |  | 
|  | enum _AMSTREAMSELECTINFOFLAGS { | 
|  | AMSTREAMSELECTINFO_ENABLED = 0x1,AMSTREAMSELECTINFO_EXCLUSIVE = 0x2 | 
|  | }; | 
|  |  | 
|  | enum _AMSTREAMSELECTENABLEFLAGS { | 
|  | AMSTREAMSELECTENABLE_ENABLE = 0x1,AMSTREAMSELECTENABLE_ENABLEALL = 0x2 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec; | 
|  | #ifndef __IAMStreamSelect_INTERFACE_DEFINED__ | 
|  | #define __IAMStreamSelect_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMStreamSelect; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMStreamSelect : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI Count(DWORD *pcStreams) = 0; | 
|  | virtual HRESULT WINAPI Info(LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk) = 0; | 
|  | virtual HRESULT WINAPI Enable(LONG lIndex,DWORD dwFlags) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMStreamSelectVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMStreamSelect *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMStreamSelect *This); | 
|  | ULONG (WINAPI *Release)(IAMStreamSelect *This); | 
|  | HRESULT (WINAPI *Count)(IAMStreamSelect *This,DWORD *pcStreams); | 
|  | HRESULT (WINAPI *Info)(IAMStreamSelect *This,LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk); | 
|  | HRESULT (WINAPI *Enable)(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags); | 
|  | END_INTERFACE | 
|  | } IAMStreamSelectVtbl; | 
|  | struct IAMStreamSelect { | 
|  | CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMStreamSelect_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMStreamSelect_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMStreamSelect_Count(This,pcStreams) (This)->lpVtbl->Count(This,pcStreams) | 
|  | #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) (This)->lpVtbl->Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) | 
|  | #define IAMStreamSelect_Enable(This,lIndex,dwFlags) (This)->lpVtbl->Enable(This,lIndex,dwFlags) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMStreamSelect_Count_Proxy(IAMStreamSelect *This,DWORD *pcStreams); | 
|  | void __RPC_STUB IAMStreamSelect_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | 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); | 
|  | void __RPC_STUB IAMStreamSelect_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMStreamSelect_Enable_Proxy(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags); | 
|  | void __RPC_STUB IAMStreamSelect_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef IAMStreamSelect *PAMSTREAMSELECT; | 
|  |  | 
|  | enum _AMRESCTL_RESERVEFLAGS { | 
|  | AMRESCTL_RESERVEFLAGS_RESERVE = 0,AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec; | 
|  | #ifndef __IAMResourceControl_INTERFACE_DEFINED__ | 
|  | #define __IAMResourceControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMResourceControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMResourceControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI Reserve(DWORD dwFlags,PVOID pvReserved) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMResourceControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMResourceControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMResourceControl *This); | 
|  | ULONG (WINAPI *Release)(IAMResourceControl *This); | 
|  | HRESULT (WINAPI *Reserve)(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved); | 
|  | END_INTERFACE | 
|  | } IAMResourceControlVtbl; | 
|  | struct IAMResourceControl { | 
|  | CONST_VTBL struct IAMResourceControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMResourceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMResourceControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMResourceControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) (This)->lpVtbl->Reserve(This,dwFlags,pvReserved) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMResourceControl_Reserve_Proxy(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved); | 
|  | void __RPC_STUB IAMResourceControl_Reserve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMClockAdjust_INTERFACE_DEFINED__ | 
|  | #define __IAMClockAdjust_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMClockAdjust; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMClockAdjust : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetClockDelta(REFERENCE_TIME rtDelta) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMClockAdjustVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMClockAdjust *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMClockAdjust *This); | 
|  | ULONG (WINAPI *Release)(IAMClockAdjust *This); | 
|  | HRESULT (WINAPI *SetClockDelta)(IAMClockAdjust *This,REFERENCE_TIME rtDelta); | 
|  | END_INTERFACE | 
|  | } IAMClockAdjustVtbl; | 
|  | struct IAMClockAdjust { | 
|  | CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMClockAdjust_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMClockAdjust_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMClockAdjust_SetClockDelta(This,rtDelta) (This)->lpVtbl->SetClockDelta(This,rtDelta) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMClockAdjust_SetClockDelta_Proxy(IAMClockAdjust *This,REFERENCE_TIME rtDelta); | 
|  | void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDrawVideoImage_INTERFACE_DEFINED__ | 
|  | #define __IDrawVideoImage_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDrawVideoImage; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDrawVideoImage : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI DrawVideoImageBegin(void) = 0; | 
|  | virtual HRESULT WINAPI DrawVideoImageEnd(void) = 0; | 
|  | virtual HRESULT WINAPI DrawVideoImageDraw(HDC hdc,LPRECT lprcSrc,LPRECT lprcDst) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDrawVideoImageVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDrawVideoImage *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDrawVideoImage *This); | 
|  | ULONG (WINAPI *Release)(IDrawVideoImage *This); | 
|  | HRESULT (WINAPI *DrawVideoImageBegin)(IDrawVideoImage *This); | 
|  | HRESULT (WINAPI *DrawVideoImageEnd)(IDrawVideoImage *This); | 
|  | HRESULT (WINAPI *DrawVideoImageDraw)(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst); | 
|  | END_INTERFACE | 
|  | } IDrawVideoImageVtbl; | 
|  | struct IDrawVideoImage { | 
|  | CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDrawVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDrawVideoImage_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDrawVideoImage_DrawVideoImageBegin(This) (This)->lpVtbl->DrawVideoImageBegin(This) | 
|  | #define IDrawVideoImage_DrawVideoImageEnd(This) (This)->lpVtbl->DrawVideoImageEnd(This) | 
|  | #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) (This)->lpVtbl->DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDrawVideoImage_DrawVideoImageBegin_Proxy(IDrawVideoImage *This); | 
|  | void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDrawVideoImage_DrawVideoImageEnd_Proxy(IDrawVideoImage *This); | 
|  | void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDrawVideoImage_DrawVideoImageDraw_Proxy(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst); | 
|  | void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__ | 
|  | #define __IDecimateVideoImage_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDecimateVideoImage; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDecimateVideoImage : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetDecimationImageSize(LONG lWidth,LONG lHeight) = 0; | 
|  | virtual HRESULT WINAPI ResetDecimationImageSize(void) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDecimateVideoImageVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDecimateVideoImage *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDecimateVideoImage *This); | 
|  | ULONG (WINAPI *Release)(IDecimateVideoImage *This); | 
|  | HRESULT (WINAPI *SetDecimationImageSize)(IDecimateVideoImage *This,LONG lWidth,LONG lHeight); | 
|  | HRESULT (WINAPI *ResetDecimationImageSize)(IDecimateVideoImage *This); | 
|  | END_INTERFACE | 
|  | } IDecimateVideoImageVtbl; | 
|  | struct IDecimateVideoImage { | 
|  | CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDecimateVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDecimateVideoImage_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) (This)->lpVtbl->SetDecimationImageSize(This,lWidth,lHeight) | 
|  | #define IDecimateVideoImage_ResetDecimationImageSize(This) (This)->lpVtbl->ResetDecimationImageSize(This) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDecimateVideoImage_SetDecimationImageSize_Proxy(IDecimateVideoImage *This,LONG lWidth,LONG lHeight); | 
|  | void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDecimateVideoImage_ResetDecimationImageSize_Proxy(IDecimateVideoImage *This); | 
|  | void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum _DECIMATION_USAGE { | 
|  | DECIMATION_LEGACY = 0, | 
|  | DECIMATION_USE_DECODER_ONLY,DECIMATION_USE_VIDEOPORT_ONLY,DECIMATION_USE_OVERLAY_ONLY, | 
|  | DECIMATION_DEFAULT | 
|  | } DECIMATION_USAGE; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec; | 
|  | #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__ | 
|  | #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMVideoDecimationProperties; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMVideoDecimationProperties : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI QueryDecimationUsage(DECIMATION_USAGE *lpUsage) = 0; | 
|  | virtual HRESULT WINAPI SetDecimationUsage(DECIMATION_USAGE Usage) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMVideoDecimationPropertiesVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMVideoDecimationProperties *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMVideoDecimationProperties *This); | 
|  | ULONG (WINAPI *Release)(IAMVideoDecimationProperties *This); | 
|  | HRESULT (WINAPI *QueryDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage); | 
|  | HRESULT (WINAPI *SetDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage); | 
|  | END_INTERFACE | 
|  | } IAMVideoDecimationPropertiesVtbl; | 
|  | struct IAMVideoDecimationProperties { | 
|  | CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMVideoDecimationProperties_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMVideoDecimationProperties_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) (This)->lpVtbl->QueryDecimationUsage(This,lpUsage) | 
|  | #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) (This)->lpVtbl->SetDecimationUsage(This,Usage) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage); | 
|  | void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMVideoDecimationProperties_SetDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage); | 
|  | void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | enum _AM_PUSHSOURCE_FLAGS { | 
|  | AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4, | 
|  | AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec; | 
|  |  | 
|  | #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__ | 
|  | #define __IAMDeviceRemoval_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMDeviceRemoval; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMDeviceRemoval : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI DeviceInfo(CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink) = 0; | 
|  | virtual HRESULT WINAPI Reassociate(void) = 0; | 
|  | virtual HRESULT WINAPI Disassociate(void) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMDeviceRemovalVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMDeviceRemoval *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMDeviceRemoval *This); | 
|  | ULONG (WINAPI *Release)(IAMDeviceRemoval *This); | 
|  | HRESULT (WINAPI *DeviceInfo)(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink); | 
|  | HRESULT (WINAPI *Reassociate)(IAMDeviceRemoval *This); | 
|  | HRESULT (WINAPI *Disassociate)(IAMDeviceRemoval *This); | 
|  | END_INTERFACE | 
|  | } IAMDeviceRemovalVtbl; | 
|  | struct IAMDeviceRemoval { | 
|  | CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMDeviceRemoval_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMDeviceRemoval_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) (This)->lpVtbl->DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) | 
|  | #define IAMDeviceRemoval_Reassociate(This) (This)->lpVtbl->Reassociate(This) | 
|  | #define IAMDeviceRemoval_Disassociate(This) (This)->lpVtbl->Disassociate(This) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMDeviceRemoval_DeviceInfo_Proxy(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink); | 
|  | void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMDeviceRemoval_Reassociate_Proxy(IAMDeviceRemoval *This); | 
|  | void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMDeviceRemoval_Disassociate_Proxy(IAMDeviceRemoval *This); | 
|  | void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef struct __MIDL___MIDL_itf_strmif_0355_0001 { | 
|  | DWORD dwDVAAuxSrc; | 
|  | DWORD dwDVAAuxCtl; | 
|  | DWORD dwDVAAuxSrc1; | 
|  | DWORD dwDVAAuxCtl1; | 
|  | DWORD dwDVVAuxSrc; | 
|  | DWORD dwDVVAuxCtl; | 
|  | DWORD dwDVReserved[2]; | 
|  | } DVINFO; | 
|  |  | 
|  | typedef struct __MIDL___MIDL_itf_strmif_0355_0001 *PDVINFO; | 
|  |  | 
|  | enum _DVENCODERRESOLUTION { | 
|  | DVENCODERRESOLUTION_720x480 = 2012,DVENCODERRESOLUTION_360x240 = 2013,DVENCODERRESOLUTION_180x120 = 2014,DVENCODERRESOLUTION_88x60 = 2015 | 
|  | }; | 
|  |  | 
|  | enum _DVENCODERVIDEOFORMAT { | 
|  | DVENCODERVIDEOFORMAT_NTSC = 2000,DVENCODERVIDEOFORMAT_PAL = 2001 | 
|  | }; | 
|  |  | 
|  | enum _DVENCODERFORMAT { | 
|  | DVENCODERFORMAT_DVSD = 2007,DVENCODERFORMAT_DVHD = 2008,DVENCODERFORMAT_DVSL = 2009 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec; | 
|  | #ifndef __IDVEnc_INTERFACE_DEFINED__ | 
|  | #define __IDVEnc_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDVEnc; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDVEnc : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_IFormatResolution(int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0; | 
|  | virtual HRESULT WINAPI put_IFormatResolution(int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDVEncVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDVEnc *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDVEnc *This); | 
|  | ULONG (WINAPI *Release)(IDVEnc *This); | 
|  | HRESULT (WINAPI *get_IFormatResolution)(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo); | 
|  | HRESULT (WINAPI *put_IFormatResolution)(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo); | 
|  | END_INTERFACE | 
|  | } IDVEncVtbl; | 
|  | struct IDVEnc { | 
|  | CONST_VTBL struct IDVEncVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDVEnc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDVEnc_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDVEnc_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) | 
|  | #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDVEnc_get_IFormatResolution_Proxy(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo); | 
|  | void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDVEnc_put_IFormatResolution_Proxy(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo); | 
|  | void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | enum _DVDECODERRESOLUTION { | 
|  | DVDECODERRESOLUTION_720x480 = 1000,DVDECODERRESOLUTION_360x240 = 1001,DVDECODERRESOLUTION_180x120 = 1002,DVDECODERRESOLUTION_88x60 = 1003 | 
|  | }; | 
|  |  | 
|  | enum _DVRESOLUTION { | 
|  | DVRESOLUTION_FULL = 1000,DVRESOLUTION_HALF = 1001,DVRESOLUTION_QUARTER = 1002,DVRESOLUTION_DC = 1003 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec; | 
|  | #ifndef __IIPDVDec_INTERFACE_DEFINED__ | 
|  | #define __IIPDVDec_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IIPDVDec; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IIPDVDec : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI get_IPDisplay(int *displayPix) = 0; | 
|  | virtual HRESULT WINAPI put_IPDisplay(int displayPix) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IIPDVDecVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IIPDVDec *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IIPDVDec *This); | 
|  | ULONG (WINAPI *Release)(IIPDVDec *This); | 
|  | HRESULT (WINAPI *get_IPDisplay)(IIPDVDec *This,int *displayPix); | 
|  | HRESULT (WINAPI *put_IPDisplay)(IIPDVDec *This,int displayPix); | 
|  | END_INTERFACE | 
|  | } IIPDVDecVtbl; | 
|  | struct IIPDVDec { | 
|  | CONST_VTBL struct IIPDVDecVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IIPDVDec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IIPDVDec_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IIPDVDec_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IIPDVDec_get_IPDisplay(This,displayPix) (This)->lpVtbl->get_IPDisplay(This,displayPix) | 
|  | #define IIPDVDec_put_IPDisplay(This,displayPix) (This)->lpVtbl->put_IPDisplay(This,displayPix) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IIPDVDec_get_IPDisplay_Proxy(IIPDVDec *This,int *displayPix); | 
|  | void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IIPDVDec_put_IPDisplay_Proxy(IIPDVDec *This,int displayPix); | 
|  | void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDVRGB219_INTERFACE_DEFINED__ | 
|  | #define __IDVRGB219_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDVRGB219; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDVRGB219 : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetRGB219(WINBOOL bState) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDVRGB219Vtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDVRGB219 *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDVRGB219 *This); | 
|  | ULONG (WINAPI *Release)(IDVRGB219 *This); | 
|  | HRESULT (WINAPI *SetRGB219)(IDVRGB219 *This,WINBOOL bState); | 
|  | END_INTERFACE | 
|  | } IDVRGB219Vtbl; | 
|  | struct IDVRGB219 { | 
|  | CONST_VTBL struct IDVRGB219Vtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDVRGB219_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDVRGB219_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDVRGB219_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDVRGB219_SetRGB219(This,bState) (This)->lpVtbl->SetRGB219(This,bState) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDVRGB219_SetRGB219_Proxy(IDVRGB219 *This,WINBOOL bState); | 
|  | void __RPC_STUB IDVRGB219_SetRGB219_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDVSplitter_INTERFACE_DEFINED__ | 
|  | #define __IDVSplitter_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDVSplitter; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDVSplitter : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI DiscardAlternateVideoFrames(int nDiscard) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDVSplitterVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDVSplitter *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDVSplitter *This); | 
|  | ULONG (WINAPI *Release)(IDVSplitter *This); | 
|  | HRESULT (WINAPI *DiscardAlternateVideoFrames)(IDVSplitter *This,int nDiscard); | 
|  | END_INTERFACE | 
|  | } IDVSplitterVtbl; | 
|  | struct IDVSplitter { | 
|  | CONST_VTBL struct IDVSplitterVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDVSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDVSplitter_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDVSplitter_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) (This)->lpVtbl->DiscardAlternateVideoFrames(This,nDiscard) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDVSplitter_DiscardAlternateVideoFrames_Proxy(IDVSplitter *This,int nDiscard); | 
|  | void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | enum _AM_AUDIO_RENDERER_STAT_PARAM { | 
|  | AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1, | 
|  | AM_AUDREND_STAT_PARAM_SLAVE_MODE,AM_AUDREND_STAT_PARAM_SILENCE_DUR, | 
|  | AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,AM_AUDREND_STAT_PARAM_DISCONTINUITIES, | 
|  | AM_AUDREND_STAT_PARAM_SLAVE_RATE,AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR, | 
|  | AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR, | 
|  | AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,AM_AUDREND_STAT_PARAM_BUFFERFULLNESS, | 
|  | AM_AUDREND_STAT_PARAM_JITTER | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_s_ifspec; | 
|  | #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__ | 
|  | #define __IAMAudioRendererStats_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMAudioRendererStats; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMAudioRendererStats : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetStatParam(DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMAudioRendererStatsVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMAudioRendererStats *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMAudioRendererStats *This); | 
|  | ULONG (WINAPI *Release)(IAMAudioRendererStats *This); | 
|  | HRESULT (WINAPI *GetStatParam)(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2); | 
|  | END_INTERFACE | 
|  | } IAMAudioRendererStatsVtbl; | 
|  | struct IAMAudioRendererStats { | 
|  | CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMAudioRendererStats_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMAudioRendererStats_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) (This)->lpVtbl->GetStatParam(This,dwParam,pdwParam1,pdwParam2) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMAudioRendererStats_GetStatParam_Proxy(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2); | 
|  | void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | enum _AM_INTF_SEARCH_FLAGS { | 
|  | AM_INTF_SEARCH_INPUT_PIN = 0x1,AM_INTF_SEARCH_OUTPUT_PIN = 0x2,AM_INTF_SEARCH_FILTER = 0x4 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec; | 
|  | #ifndef __IAMGraphStreams_INTERFACE_DEFINED__ | 
|  | #define __IAMGraphStreams_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMGraphStreams; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMGraphStreams : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI FindUpstreamInterface(IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags) = 0; | 
|  | virtual HRESULT WINAPI SyncUsingStreamOffset(WINBOOL bUseStreamOffset) = 0; | 
|  | virtual HRESULT WINAPI SetMaxGraphLatency(REFERENCE_TIME rtMaxGraphLatency) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMGraphStreamsVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMGraphStreams *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMGraphStreams *This); | 
|  | ULONG (WINAPI *Release)(IAMGraphStreams *This); | 
|  | HRESULT (WINAPI *FindUpstreamInterface)(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags); | 
|  | HRESULT (WINAPI *SyncUsingStreamOffset)(IAMGraphStreams *This,WINBOOL bUseStreamOffset); | 
|  | HRESULT (WINAPI *SetMaxGraphLatency)(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency); | 
|  | END_INTERFACE | 
|  | } IAMGraphStreamsVtbl; | 
|  | struct IAMGraphStreams { | 
|  | CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMGraphStreams_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMGraphStreams_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) (This)->lpVtbl->FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) | 
|  | #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) (This)->lpVtbl->SyncUsingStreamOffset(This,bUseStreamOffset) | 
|  | #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) (This)->lpVtbl->SetMaxGraphLatency(This,rtMaxGraphLatency) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMGraphStreams_FindUpstreamInterface_Proxy(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags); | 
|  | void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMGraphStreams_SyncUsingStreamOffset_Proxy(IAMGraphStreams *This,WINBOOL bUseStreamOffset); | 
|  | void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMGraphStreams_SetMaxGraphLatency_Proxy(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency); | 
|  | void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | enum AMOVERLAYFX { | 
|  | AMOVERFX_NOFX = 0,AMOVERFX_MIRRORLEFTRIGHT = 0x2,AMOVERFX_MIRRORUPDOWN = 0x4,AMOVERFX_DEINTERLACE = 0x8 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec; | 
|  | #ifndef __IAMOverlayFX_INTERFACE_DEFINED__ | 
|  | #define __IAMOverlayFX_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMOverlayFX; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMOverlayFX : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI QueryOverlayFXCaps(DWORD *lpdwOverlayFXCaps) = 0; | 
|  | virtual HRESULT WINAPI SetOverlayFX(DWORD dwOverlayFX) = 0; | 
|  | virtual HRESULT WINAPI GetOverlayFX(DWORD *lpdwOverlayFX) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMOverlayFXVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMOverlayFX *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMOverlayFX *This); | 
|  | ULONG (WINAPI *Release)(IAMOverlayFX *This); | 
|  | HRESULT (WINAPI *QueryOverlayFXCaps)(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps); | 
|  | HRESULT (WINAPI *SetOverlayFX)(IAMOverlayFX *This,DWORD dwOverlayFX); | 
|  | HRESULT (WINAPI *GetOverlayFX)(IAMOverlayFX *This,DWORD *lpdwOverlayFX); | 
|  | END_INTERFACE | 
|  | } IAMOverlayFXVtbl; | 
|  | struct IAMOverlayFX { | 
|  | CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMOverlayFX_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMOverlayFX_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) (This)->lpVtbl->QueryOverlayFXCaps(This,lpdwOverlayFXCaps) | 
|  | #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) (This)->lpVtbl->SetOverlayFX(This,dwOverlayFX) | 
|  | #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) (This)->lpVtbl->GetOverlayFX(This,lpdwOverlayFX) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMOverlayFX_QueryOverlayFXCaps_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps); | 
|  | void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMOverlayFX_SetOverlayFX_Proxy(IAMOverlayFX *This,DWORD dwOverlayFX); | 
|  | void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMOverlayFX_GetOverlayFX_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFX); | 
|  | void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMOpenProgress_INTERFACE_DEFINED__ | 
|  | #define __IAMOpenProgress_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMOpenProgress; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMOpenProgress : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI QueryProgress(LONGLONG *pllTotal,LONGLONG *pllCurrent) = 0; | 
|  | virtual HRESULT WINAPI AbortOperation(void) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMOpenProgressVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMOpenProgress *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMOpenProgress *This); | 
|  | ULONG (WINAPI *Release)(IAMOpenProgress *This); | 
|  | HRESULT (WINAPI *QueryProgress)(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent); | 
|  | HRESULT (WINAPI *AbortOperation)(IAMOpenProgress *This); | 
|  | END_INTERFACE | 
|  | } IAMOpenProgressVtbl; | 
|  | struct IAMOpenProgress { | 
|  | CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMOpenProgress_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMOpenProgress_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) (This)->lpVtbl->QueryProgress(This,pllTotal,pllCurrent) | 
|  | #define IAMOpenProgress_AbortOperation(This) (This)->lpVtbl->AbortOperation(This) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMOpenProgress_QueryProgress_Proxy(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent); | 
|  | void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IAMOpenProgress_AbortOperation_Proxy(IAMOpenProgress *This); | 
|  | void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMpeg2Demultiplexer,0x436eee9c,0x264f,0x4242,0x90,0xe1,0x4e,0x33,0x0c,0x10,0x75,0x12); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__ | 
|  | #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IMpeg2Demultiplexer; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IMpeg2Demultiplexer : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI CreateOutputPin(AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin) = 0; | 
|  | virtual HRESULT WINAPI SetOutputPinMediaType(LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType) = 0; | 
|  | virtual HRESULT WINAPI DeleteOutputPin(LPWSTR pszPinName) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IMpeg2DemultiplexerVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IMpeg2Demultiplexer *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IMpeg2Demultiplexer *This); | 
|  | ULONG (WINAPI *Release)(IMpeg2Demultiplexer *This); | 
|  | HRESULT (WINAPI *CreateOutputPin)(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin); | 
|  | HRESULT (WINAPI *SetOutputPinMediaType)(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType); | 
|  | HRESULT (WINAPI *DeleteOutputPin)(IMpeg2Demultiplexer *This,LPWSTR pszPinName); | 
|  | END_INTERFACE | 
|  | } IMpeg2DemultiplexerVtbl; | 
|  | struct IMpeg2Demultiplexer { | 
|  | CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMpeg2Demultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMpeg2Demultiplexer_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) (This)->lpVtbl->CreateOutputPin(This,pMediaType,pszPinName,ppIPin) | 
|  | #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) (This)->lpVtbl->SetOutputPinMediaType(This,pszPinName,pMediaType) | 
|  | #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) (This)->lpVtbl->DeleteOutputPin(This,pszPinName) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IMpeg2Demultiplexer_CreateOutputPin_Proxy(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin); | 
|  | void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType); | 
|  | void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IMpeg2Demultiplexer_DeleteOutputPin_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName); | 
|  | void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #define MPEG2_PROGRAM_STREAM_MAP 0x00000000 | 
|  | #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001 | 
|  | #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002 | 
|  | #define MPEG2_PROGRAM_PACK_HEADER 0x00000003 | 
|  | #define MPEG2_PROGRAM_PES_STREAM 0x00000004 | 
|  | #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005 | 
|  | #define SUBSTREAM_FILTER_VAL_NONE 0x10000000 | 
|  |  | 
|  | typedef struct __MIDL___MIDL_itf_strmif_0365_0001 { | 
|  | ULONG stream_id; | 
|  | DWORD dwMediaSampleContent; | 
|  | ULONG ulSubstreamFilterValue; | 
|  | int iDataOffset; | 
|  | } STREAM_ID_MAP; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec; | 
|  | #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__ | 
|  | #define __IEnumStreamIdMap_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IEnumStreamIdMap; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IEnumStreamIdMap : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI Next(ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived) = 0; | 
|  | virtual HRESULT WINAPI Skip(ULONG cRecords) = 0; | 
|  | virtual HRESULT WINAPI Reset(void) = 0; | 
|  | virtual HRESULT WINAPI Clone(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IEnumStreamIdMapVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IEnumStreamIdMap *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IEnumStreamIdMap *This); | 
|  | ULONG (WINAPI *Release)(IEnumStreamIdMap *This); | 
|  | HRESULT (WINAPI *Next)(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived); | 
|  | HRESULT (WINAPI *Skip)(IEnumStreamIdMap *This,ULONG cRecords); | 
|  | HRESULT (WINAPI *Reset)(IEnumStreamIdMap *This); | 
|  | HRESULT (WINAPI *Clone)(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); | 
|  | END_INTERFACE | 
|  | } IEnumStreamIdMapVtbl; | 
|  | struct IEnumStreamIdMap { | 
|  | CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumStreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumStreamIdMap_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pStreamIdMap,pcReceived) | 
|  | #define IEnumStreamIdMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords) | 
|  | #define IEnumStreamIdMap_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) (This)->lpVtbl->Clone(This,ppIEnumStreamIdMap) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IEnumStreamIdMap_Next_Proxy(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived); | 
|  | void __RPC_STUB IEnumStreamIdMap_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEnumStreamIdMap_Skip_Proxy(IEnumStreamIdMap *This,ULONG cRecords); | 
|  | void __RPC_STUB IEnumStreamIdMap_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEnumStreamIdMap_Reset_Proxy(IEnumStreamIdMap *This); | 
|  | void __RPC_STUB IEnumStreamIdMap_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEnumStreamIdMap_Clone_Proxy(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); | 
|  | void __RPC_STUB IEnumStreamIdMap_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__ | 
|  | #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IMPEG2StreamIdMap; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IMPEG2StreamIdMap : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI MapStreamId(ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset) = 0; | 
|  | virtual HRESULT WINAPI UnmapStreamId(ULONG culStreamId,ULONG *pulStreamId) = 0; | 
|  | virtual HRESULT WINAPI EnumStreamIdMap(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IMPEG2StreamIdMapVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IMPEG2StreamIdMap *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IMPEG2StreamIdMap *This); | 
|  | ULONG (WINAPI *Release)(IMPEG2StreamIdMap *This); | 
|  | HRESULT (WINAPI *MapStreamId)(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset); | 
|  | HRESULT (WINAPI *UnmapStreamId)(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId); | 
|  | HRESULT (WINAPI *EnumStreamIdMap)(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); | 
|  | END_INTERFACE | 
|  | } IMPEG2StreamIdMapVtbl; | 
|  | struct IMPEG2StreamIdMap { | 
|  | CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMPEG2StreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMPEG2StreamIdMap_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) (This)->lpVtbl->MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) | 
|  | #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) (This)->lpVtbl->UnmapStreamId(This,culStreamId,pulStreamId) | 
|  | #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) (This)->lpVtbl->EnumStreamIdMap(This,ppIEnumStreamIdMap) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IMPEG2StreamIdMap_MapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset); | 
|  | void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IMPEG2StreamIdMap_UnmapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId); | 
|  | void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap); | 
|  | void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__ | 
|  | #define __IRegisterServiceProvider_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IRegisterServiceProvider; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IRegisterServiceProvider : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI RegisterService(REFGUID guidService,IUnknown *pUnkObject) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IRegisterServiceProviderVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IRegisterServiceProvider *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IRegisterServiceProvider *This); | 
|  | ULONG (WINAPI *Release)(IRegisterServiceProvider *This); | 
|  | HRESULT (WINAPI *RegisterService)(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject); | 
|  | END_INTERFACE | 
|  | } IRegisterServiceProviderVtbl; | 
|  | struct IRegisterServiceProvider { | 
|  | CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IRegisterServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IRegisterServiceProvider_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) (This)->lpVtbl->RegisterService(This,guidService,pUnkObject) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IRegisterServiceProvider_RegisterService_Proxy(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject); | 
|  | void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | #ifndef _IAMFilterGraphCallback_ | 
|  | #define _IAMFilterGraphCallback_ | 
|  | EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70); | 
|  | struct IAMFilterGraphCallback : public IUnknown { | 
|  | virtual HRESULT UnableToRender(IPin *pPin) = 0; | 
|  | }; | 
|  | #endif | 
|  | #endif | 
|  | struct CodecAPIEventData { | 
|  | GUID guid; | 
|  | DWORD dataLength; | 
|  | DWORD reserved[3]; | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_s_ifspec; | 
|  | #ifndef __ICodecAPI_INTERFACE_DEFINED__ | 
|  | #define __ICodecAPI_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_ICodecAPI; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct ICodecAPI : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0; | 
|  | virtual HRESULT WINAPI IsModifiable(const GUID *Api) = 0; | 
|  | virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0; | 
|  | virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0; | 
|  | virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0; | 
|  | virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0; | 
|  | virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0; | 
|  | virtual HRESULT WINAPI RegisterForEvent(const GUID *Api,LONG_PTR userData) = 0; | 
|  | virtual HRESULT WINAPI UnregisterForEvent(const GUID *Api) = 0; | 
|  | virtual HRESULT WINAPI SetAllDefaults(void) = 0; | 
|  | virtual HRESULT WINAPI SetValueWithNotify(const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) = 0; | 
|  | virtual HRESULT WINAPI SetAllDefaultsWithNotify(GUID **ChangedParam,ULONG *ChangedParamCount) = 0; | 
|  | virtual HRESULT WINAPI GetAllSettings(IStream *__MIDL_0016) = 0; | 
|  | virtual HRESULT WINAPI SetAllSettings(IStream *__MIDL_0017) = 0; | 
|  | virtual HRESULT WINAPI SetAllSettingsWithNotify(IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct ICodecAPIVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(ICodecAPI *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(ICodecAPI *This); | 
|  | ULONG (WINAPI *Release)(ICodecAPI *This); | 
|  | HRESULT (WINAPI *IsSupported)(ICodecAPI *This,const GUID *Api); | 
|  | HRESULT (WINAPI *IsModifiable)(ICodecAPI *This,const GUID *Api); | 
|  | HRESULT (WINAPI *GetParameterRange)(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); | 
|  | HRESULT (WINAPI *GetParameterValues)(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); | 
|  | HRESULT (WINAPI *GetDefaultValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); | 
|  | HRESULT (WINAPI *GetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); | 
|  | HRESULT (WINAPI *SetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value); | 
|  | HRESULT (WINAPI *RegisterForEvent)(ICodecAPI *This,const GUID *Api,LONG_PTR userData); | 
|  | HRESULT (WINAPI *UnregisterForEvent)(ICodecAPI *This,const GUID *Api); | 
|  | HRESULT (WINAPI *SetAllDefaults)(ICodecAPI *This); | 
|  | HRESULT (WINAPI *SetValueWithNotify)(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount); | 
|  | HRESULT (WINAPI *SetAllDefaultsWithNotify)(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount); | 
|  | HRESULT (WINAPI *GetAllSettings)(ICodecAPI *This,IStream *__MIDL_0016); | 
|  | HRESULT (WINAPI *SetAllSettings)(ICodecAPI *This,IStream *__MIDL_0017); | 
|  | HRESULT (WINAPI *SetAllSettingsWithNotify)(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount); | 
|  | END_INTERFACE | 
|  | } ICodecAPIVtbl; | 
|  | struct ICodecAPI { | 
|  | CONST_VTBL struct ICodecAPIVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) | 
|  | #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api) | 
|  | #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) | 
|  | #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) | 
|  | #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) | 
|  | #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) | 
|  | #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) | 
|  | #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData) | 
|  | #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api) | 
|  | #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This) | 
|  | #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) | 
|  | #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) | 
|  | #define ICodecAPI_GetAllSettings(This,__MIDL_0016) (This)->lpVtbl->GetAllSettings(This,__MIDL_0016) | 
|  | #define ICodecAPI_SetAllSettings(This,__MIDL_0017) (This)->lpVtbl->SetAllSettings(This,__MIDL_0017) | 
|  | #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI ICodecAPI_IsSupported_Proxy(ICodecAPI *This,const GUID *Api); | 
|  | void __RPC_STUB ICodecAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_IsModifiable_Proxy(ICodecAPI *This,const GUID *Api); | 
|  | void __RPC_STUB ICodecAPI_IsModifiable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_GetParameterRange_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); | 
|  | void __RPC_STUB ICodecAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_GetParameterValues_Proxy(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); | 
|  | void __RPC_STUB ICodecAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_GetDefaultValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); | 
|  | void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_GetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); | 
|  | void __RPC_STUB ICodecAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_SetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value); | 
|  | void __RPC_STUB ICodecAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_RegisterForEvent_Proxy(ICodecAPI *This,const GUID *Api,LONG_PTR userData); | 
|  | void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_UnregisterForEvent_Proxy(ICodecAPI *This,const GUID *Api); | 
|  | void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_SetAllDefaults_Proxy(ICodecAPI *This); | 
|  | void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_SetValueWithNotify_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount); | 
|  | void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_SetAllDefaultsWithNotify_Proxy(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount); | 
|  | void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_GetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0016); | 
|  | void __RPC_STUB ICodecAPI_GetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_SetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0017); | 
|  | void __RPC_STUB ICodecAPI_SetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI ICodecAPI_SetAllSettingsWithNotify_Proxy(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount); | 
|  | void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__ | 
|  | #define __IGetCapabilitiesKey_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IGetCapabilitiesKey; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IGetCapabilitiesKey : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetCapabilitiesKey(HKEY *pHKey) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IGetCapabilitiesKeyVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IGetCapabilitiesKey *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IGetCapabilitiesKey *This); | 
|  | ULONG (WINAPI *Release)(IGetCapabilitiesKey *This); | 
|  | HRESULT (WINAPI *GetCapabilitiesKey)(IGetCapabilitiesKey *This,HKEY *pHKey); | 
|  | END_INTERFACE | 
|  | } IGetCapabilitiesKeyVtbl; | 
|  | struct IGetCapabilitiesKey { | 
|  | CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IGetCapabilitiesKey_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IGetCapabilitiesKey_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) (This)->lpVtbl->GetCapabilitiesKey(This,pHKey) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(IGetCapabilitiesKey *This,HKEY *pHKey); | 
|  | void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEncoderAPI_INTERFACE_DEFINED__ | 
|  | #define __IEncoderAPI_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IEncoderAPI; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IEncoderAPI : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0; | 
|  | virtual HRESULT WINAPI IsAvailable(const GUID *Api) = 0; | 
|  | virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0; | 
|  | virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0; | 
|  | virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0; | 
|  | virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0; | 
|  | virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IEncoderAPIVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IEncoderAPI *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IEncoderAPI *This); | 
|  | ULONG (WINAPI *Release)(IEncoderAPI *This); | 
|  | HRESULT (WINAPI *IsSupported)(IEncoderAPI *This,const GUID *Api); | 
|  | HRESULT (WINAPI *IsAvailable)(IEncoderAPI *This,const GUID *Api); | 
|  | HRESULT (WINAPI *GetParameterRange)(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); | 
|  | HRESULT (WINAPI *GetParameterValues)(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); | 
|  | HRESULT (WINAPI *GetDefaultValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); | 
|  | HRESULT (WINAPI *GetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); | 
|  | HRESULT (WINAPI *SetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value); | 
|  | END_INTERFACE | 
|  | } IEncoderAPIVtbl; | 
|  | struct IEncoderAPI { | 
|  | CONST_VTBL struct IEncoderAPIVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IEncoderAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEncoderAPI_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEncoderAPI_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IEncoderAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) | 
|  | #define IEncoderAPI_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api) | 
|  | #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) | 
|  | #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) | 
|  | #define IEncoderAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) | 
|  | #define IEncoderAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) | 
|  | #define IEncoderAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IEncoderAPI_IsSupported_Proxy(IEncoderAPI *This,const GUID *Api); | 
|  | void __RPC_STUB IEncoderAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEncoderAPI_IsAvailable_Proxy(IEncoderAPI *This,const GUID *Api); | 
|  | void __RPC_STUB IEncoderAPI_IsAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEncoderAPI_GetParameterRange_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); | 
|  | void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEncoderAPI_GetParameterValues_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); | 
|  | void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEncoderAPI_GetDefaultValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); | 
|  | void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEncoderAPI_GetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); | 
|  | void __RPC_STUB IEncoderAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IEncoderAPI_SetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value); | 
|  | void __RPC_STUB IEncoderAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVideoEncoder_INTERFACE_DEFINED__ | 
|  | #define __IVideoEncoder_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVideoEncoder; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVideoEncoder : public IEncoderAPI { | 
|  | public: | 
|  | }; | 
|  | #else | 
|  | typedef struct IVideoEncoderVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVideoEncoder *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVideoEncoder *This); | 
|  | ULONG (WINAPI *Release)(IVideoEncoder *This); | 
|  | HRESULT (WINAPI *IsSupported)(IVideoEncoder *This,const GUID *Api); | 
|  | HRESULT (WINAPI *IsAvailable)(IVideoEncoder *This,const GUID *Api); | 
|  | HRESULT (WINAPI *GetParameterRange)(IVideoEncoder *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta); | 
|  | HRESULT (WINAPI *GetParameterValues)(IVideoEncoder *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount); | 
|  | HRESULT (WINAPI *GetDefaultValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); | 
|  | HRESULT (WINAPI *GetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); | 
|  | HRESULT (WINAPI *SetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value); | 
|  | END_INTERFACE | 
|  | } IVideoEncoderVtbl; | 
|  | struct IVideoEncoder { | 
|  | CONST_VTBL struct IVideoEncoderVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVideoEncoder_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVideoEncoder_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api) | 
|  | #define IVideoEncoder_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api) | 
|  | #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) | 
|  | #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount) | 
|  | #define IVideoEncoder_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value) | 
|  | #define IVideoEncoder_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value) | 
|  | #define IVideoEncoder_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value) | 
|  | #endif | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #ifndef __ENCODER_API_DEFINES__ | 
|  | #define __ENCODER_API_DEFINES__ | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0374_0001 { | 
|  | ConstantBitRate = 0, | 
|  | VariableBitRateAverage,VariableBitRatePeak | 
|  | } VIDEOENCODER_BITRATE_MODE; | 
|  | #endif | 
|  | #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001 | 
|  | #define VMR_NOTSUPPORTED 0x00000000 | 
|  | #define VMR_SUPPORTED 0x00000001 | 
|  | #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001 | 
|  | #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002 | 
|  | #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003 | 
|  | #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004 | 
|  | #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005 | 
|  | #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006 | 
|  | #define DECODER_CAP_NOTSUPPORTED 0x00000000 | 
|  | #define DECODER_CAP_SUPPORTED 0x00000001 | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_s_ifspec; | 
|  | #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__ | 
|  | #define __IAMDecoderCaps_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IAMDecoderCaps; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IAMDecoderCaps : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetDecoderCaps(DWORD dwCapIndex,DWORD *lpdwCap) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IAMDecoderCapsVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IAMDecoderCaps *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IAMDecoderCaps *This); | 
|  | ULONG (WINAPI *Release)(IAMDecoderCaps *This); | 
|  | HRESULT (WINAPI *GetDecoderCaps)(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap); | 
|  | END_INTERFACE | 
|  | } IAMDecoderCapsVtbl; | 
|  | struct IAMDecoderCaps { | 
|  | CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMDecoderCaps_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMDecoderCaps_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) (This)->lpVtbl->GetDecoderCaps(This,dwCapIndex,lpdwCap) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IAMDecoderCaps_GetDecoderCaps_Proxy(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap); | 
|  | void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #include <ddraw.h> | 
|  |  | 
|  | typedef enum tagDVD_DOMAIN { | 
|  | DVD_DOMAIN_FirstPlay = 1, | 
|  | DVD_DOMAIN_VideoManagerMenu,DVD_DOMAIN_VideoTitleSetMenu,DVD_DOMAIN_Title, | 
|  | DVD_DOMAIN_Stop | 
|  | } DVD_DOMAIN; | 
|  |  | 
|  | typedef enum tagDVD_MENU_ID { | 
|  | DVD_MENU_Title = 2,DVD_MENU_Root = 3,DVD_MENU_Subpicture = 4,DVD_MENU_Audio = 5, | 
|  | DVD_MENU_Angle = 6,DVD_MENU_Chapter = 7 | 
|  | } DVD_MENU_ID; | 
|  |  | 
|  | typedef enum tagDVD_DISC_SIDE { | 
|  | DVD_SIDE_A = 1,DVD_SIDE_B = 2 | 
|  | } DVD_DISC_SIDE; | 
|  |  | 
|  | typedef enum tagDVD_PREFERRED_DISPLAY_MODE { | 
|  | DISPLAY_CONTENT_DEFAULT = 0,DISPLAY_16x9 = 1,DISPLAY_4x3_PANSCAN_PREFERRED = 2,DISPLAY_4x3_LETTERBOX_PREFERRED = 3 | 
|  | } DVD_PREFERRED_DISPLAY_MODE; | 
|  |  | 
|  | typedef WORD DVD_REGISTER; | 
|  | typedef DVD_REGISTER GPRMARRAY[16]; | 
|  | typedef DVD_REGISTER SPRMARRAY[24]; | 
|  |  | 
|  | typedef struct tagDVD_ATR { | 
|  | ULONG ulCAT; | 
|  | BYTE pbATRI[768]; | 
|  | } DVD_ATR; | 
|  |  | 
|  | typedef BYTE DVD_VideoATR[2]; | 
|  | typedef BYTE DVD_AudioATR[8]; | 
|  | typedef BYTE DVD_SubpictureATR[6]; | 
|  |  | 
|  | typedef enum tagDVD_FRAMERATE { | 
|  | DVD_FPS_25 = 1,DVD_FPS_30NonDrop = 3 | 
|  | } DVD_FRAMERATE; | 
|  |  | 
|  | typedef struct tagDVD_TIMECODE { | 
|  | ULONG Hours1 :4; | 
|  | ULONG Hours10 :4; | 
|  | ULONG Minutes1 :4; | 
|  | ULONG Minutes10:4; | 
|  | ULONG Seconds1 :4; | 
|  | ULONG Seconds10:4; | 
|  | ULONG Frames1 :4; | 
|  | ULONG Frames10 :2; | 
|  | ULONG FrameRateCode: 2; | 
|  | } DVD_TIMECODE; | 
|  |  | 
|  | typedef enum tagDVD_TIMECODE_FLAGS { | 
|  | DVD_TC_FLAG_25fps = 0x1,DVD_TC_FLAG_30fps = 0x2,DVD_TC_FLAG_DropFrame = 0x4,DVD_TC_FLAG_Interpolated = 0x8 | 
|  | } DVD_TIMECODE_FLAGS; | 
|  |  | 
|  | typedef struct tagDVD_HMSF_TIMECODE { | 
|  | BYTE bHours; | 
|  | BYTE bMinutes; | 
|  | BYTE bSeconds; | 
|  | BYTE bFrames; | 
|  | } DVD_HMSF_TIMECODE; | 
|  |  | 
|  | typedef struct tagDVD_PLAYBACK_LOCATION2 { | 
|  | ULONG TitleNum; | 
|  | ULONG ChapterNum; | 
|  | DVD_HMSF_TIMECODE TimeCode; | 
|  | ULONG TimeCodeFlags; | 
|  | } DVD_PLAYBACK_LOCATION2; | 
|  |  | 
|  | typedef struct tagDVD_PLAYBACK_LOCATION { | 
|  | ULONG TitleNum; | 
|  | ULONG ChapterNum; | 
|  | ULONG TimeCode; | 
|  | } DVD_PLAYBACK_LOCATION; | 
|  |  | 
|  | typedef DWORD VALID_UOP_SOMTHING_OR_OTHER; | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0376_0001 { | 
|  | 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, | 
|  | UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,UOP_FLAG_PlayNext_Chapter = 0x80,UOP_FLAG_Play_Forwards = 0x100, | 
|  | UOP_FLAG_Play_Backwards = 0x200,UOP_FLAG_ShowMenu_Title = 0x400,UOP_FLAG_ShowMenu_Root = 0x800,UOP_FLAG_ShowMenu_SubPic = 0x1000, | 
|  | UOP_FLAG_ShowMenu_Audio = 0x2000,UOP_FLAG_ShowMenu_Angle = 0x4000,UOP_FLAG_ShowMenu_Chapter = 0x8000,UOP_FLAG_Resume = 0x10000, | 
|  | UOP_FLAG_Select_Or_Activate_Button = 0x20000,UOP_FLAG_Still_Off = 0x40000,UOP_FLAG_Pause_On = 0x80000,UOP_FLAG_Select_Audio_Stream = 0x100000, | 
|  | UOP_FLAG_Select_SubPic_Stream = 0x200000,UOP_FLAG_Select_Angle = 0x400000,UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000, | 
|  | UOP_FLAG_Select_Video_Mode_Preference = 0x1000000 | 
|  | } VALID_UOP_FLAG; | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0376_0002 { | 
|  | 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, | 
|  | DVD_CMD_FLAG_EndAfterRendered = 0x10 | 
|  | } DVD_CMD_FLAGS; | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0376_0003 { | 
|  | DVD_ResetOnStop = 1,DVD_NotifyParentalLevelChange = 2,DVD_HMSF_TimeCodeEvents = 3,DVD_AudioDuringFFwdRew = 4 | 
|  | } DVD_OPTION_FLAG; | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0376_0004 { | 
|  | DVD_Relative_Upper = 1,DVD_Relative_Lower = 2,DVD_Relative_Left = 3,DVD_Relative_Right = 4 | 
|  | } DVD_RELATIVE_BUTTON; | 
|  |  | 
|  | typedef enum tagDVD_PARENTAL_LEVEL { | 
|  | DVD_PARENTAL_LEVEL_8 = 0x8000,DVD_PARENTAL_LEVEL_7 = 0x4000,DVD_PARENTAL_LEVEL_6 = 0x2000,DVD_PARENTAL_LEVEL_5 = 0x1000, | 
|  | DVD_PARENTAL_LEVEL_4 = 0x800,DVD_PARENTAL_LEVEL_3 = 0x400,DVD_PARENTAL_LEVEL_2 = 0x200,DVD_PARENTAL_LEVEL_1 = 0x100 | 
|  | } DVD_PARENTAL_LEVEL; | 
|  |  | 
|  | typedef enum tagDVD_AUDIO_LANG_EXT { | 
|  | DVD_AUD_EXT_NotSpecified = 0,DVD_AUD_EXT_Captions = 1,DVD_AUD_EXT_VisuallyImpaired = 2,DVD_AUD_EXT_DirectorComments1 = 3, | 
|  | DVD_AUD_EXT_DirectorComments2 = 4 | 
|  | } DVD_AUDIO_LANG_EXT; | 
|  |  | 
|  | typedef enum tagDVD_SUBPICTURE_LANG_EXT { | 
|  | 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, | 
|  | 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, | 
|  | DVD_SP_EXT_DirectorComments_Children = 15 | 
|  | } DVD_SUBPICTURE_LANG_EXT; | 
|  |  | 
|  | typedef enum tagDVD_AUDIO_APPMODE { | 
|  | DVD_AudioMode_None = 0,DVD_AudioMode_Karaoke = 1,DVD_AudioMode_Surround = 2,DVD_AudioMode_Other = 3 | 
|  | } DVD_AUDIO_APPMODE; | 
|  |  | 
|  | typedef enum tagDVD_AUDIO_FORMAT { | 
|  | DVD_AudioFormat_AC3 = 0,DVD_AudioFormat_MPEG1 = 1,DVD_AudioFormat_MPEG1_DRC = 2,DVD_AudioFormat_MPEG2 = 3,DVD_AudioFormat_MPEG2_DRC = 4, | 
|  | DVD_AudioFormat_LPCM = 5,DVD_AudioFormat_DTS = 6,DVD_AudioFormat_SDDS = 7,DVD_AudioFormat_Other = 8 | 
|  | } DVD_AUDIO_FORMAT; | 
|  |  | 
|  | typedef enum tagDVD_KARAOKE_DOWNMIX { | 
|  | 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, | 
|  | DVD_Mix_0to1 = 0x100,DVD_Mix_1to1 = 0x200,DVD_Mix_2to1 = 0x400,DVD_Mix_3to1 = 0x800,DVD_Mix_4to1 = 0x1000,DVD_Mix_Lto1 = 0x2000, | 
|  | DVD_Mix_Rto1 = 0x4000 | 
|  | } DVD_KARAOKE_DOWNMIX; | 
|  |  | 
|  | typedef struct tagDVD_AudioAttributes { | 
|  | DVD_AUDIO_APPMODE AppMode; | 
|  | BYTE AppModeData; | 
|  | DVD_AUDIO_FORMAT AudioFormat; | 
|  | LCID Language; | 
|  | DVD_AUDIO_LANG_EXT LanguageExtension; | 
|  | WINBOOL fHasMultichannelInfo; | 
|  | DWORD dwFrequency; | 
|  | BYTE bQuantization; | 
|  | BYTE bNumberOfChannels; | 
|  | DWORD dwReserved[2]; | 
|  | } DVD_AudioAttributes; | 
|  |  | 
|  | typedef struct tagDVD_MUA_MixingInfo { | 
|  | WINBOOL fMixTo0; | 
|  | WINBOOL fMixTo1; | 
|  | WINBOOL fMix0InPhase; | 
|  | WINBOOL fMix1InPhase; | 
|  | DWORD dwSpeakerPosition; | 
|  | } DVD_MUA_MixingInfo; | 
|  |  | 
|  | typedef struct tagDVD_MUA_Coeff { | 
|  | double log2_alpha; | 
|  | double log2_beta; | 
|  | } DVD_MUA_Coeff; | 
|  |  | 
|  | typedef struct tagDVD_MultichannelAudioAttributes { | 
|  | DVD_MUA_MixingInfo Info[8]; | 
|  | DVD_MUA_Coeff Coeff[8]; | 
|  | } DVD_MultichannelAudioAttributes; | 
|  |  | 
|  | typedef enum tagDVD_KARAOKE_CONTENTS { | 
|  | DVD_Karaoke_GuideVocal1 = 0x1,DVD_Karaoke_GuideVocal2 = 0x2,DVD_Karaoke_GuideMelody1 = 0x4,DVD_Karaoke_GuideMelody2 = 0x8, | 
|  | DVD_Karaoke_GuideMelodyA = 0x10,DVD_Karaoke_GuideMelodyB = 0x20,DVD_Karaoke_SoundEffectA = 0x40,DVD_Karaoke_SoundEffectB = 0x80 | 
|  | } DVD_KARAOKE_CONTENTS; | 
|  |  | 
|  | typedef enum tagDVD_KARAOKE_ASSIGNMENT { | 
|  | DVD_Assignment_reserved0 = 0,DVD_Assignment_reserved1 = 1,DVD_Assignment_LR = 2,DVD_Assignment_LRM = 3,DVD_Assignment_LR1 = 4, | 
|  | DVD_Assignment_LRM1 = 5,DVD_Assignment_LR12 = 6,DVD_Assignment_LRM12 = 7 | 
|  | } DVD_KARAOKE_ASSIGNMENT; | 
|  |  | 
|  | typedef struct tagDVD_KaraokeAttributes { | 
|  | BYTE bVersion; | 
|  | WINBOOL fMasterOfCeremoniesInGuideVocal1; | 
|  | WINBOOL fDuet; | 
|  | DVD_KARAOKE_ASSIGNMENT ChannelAssignment; | 
|  | WORD wChannelContents[8]; | 
|  | } DVD_KaraokeAttributes; | 
|  |  | 
|  | typedef enum tagDVD_VIDEO_COMPRESSION { | 
|  | DVD_VideoCompression_Other = 0,DVD_VideoCompression_MPEG1 = 1,DVD_VideoCompression_MPEG2 = 2 | 
|  | } DVD_VIDEO_COMPRESSION; | 
|  |  | 
|  | typedef struct tagDVD_VideoAttributes { | 
|  | WINBOOL fPanscanPermitted; | 
|  | WINBOOL fLetterboxPermitted; | 
|  | ULONG ulAspectX; | 
|  | ULONG ulAspectY; | 
|  | ULONG ulFrameRate; | 
|  | ULONG ulFrameHeight; | 
|  | DVD_VIDEO_COMPRESSION Compression; | 
|  | WINBOOL fLine21Field1InGOP; | 
|  | WINBOOL fLine21Field2InGOP; | 
|  | ULONG ulSourceResolutionX; | 
|  | ULONG ulSourceResolutionY; | 
|  | WINBOOL fIsSourceLetterboxed; | 
|  | WINBOOL fIsFilmMode; | 
|  | } DVD_VideoAttributes; | 
|  |  | 
|  | typedef enum tagDVD_SUBPICTURE_TYPE { | 
|  | DVD_SPType_NotSpecified = 0,DVD_SPType_Language = 1,DVD_SPType_Other = 2 | 
|  | } DVD_SUBPICTURE_TYPE; | 
|  |  | 
|  | typedef enum tagDVD_SUBPICTURE_CODING { | 
|  | DVD_SPCoding_RunLength = 0,DVD_SPCoding_Extended = 1,DVD_SPCoding_Other = 2 | 
|  | } DVD_SUBPICTURE_CODING; | 
|  |  | 
|  | typedef struct tagDVD_SubpictureAttributes { | 
|  | DVD_SUBPICTURE_TYPE Type; | 
|  | DVD_SUBPICTURE_CODING CodingMode; | 
|  | LCID Language; | 
|  | DVD_SUBPICTURE_LANG_EXT LanguageExtension; | 
|  | } DVD_SubpictureAttributes; | 
|  |  | 
|  | typedef enum tagDVD_TITLE_APPMODE { | 
|  | DVD_AppMode_Not_Specified = 0,DVD_AppMode_Karaoke = 1,DVD_AppMode_Other = 3 | 
|  | } DVD_TITLE_APPMODE; | 
|  |  | 
|  | typedef struct tagDVD_TitleMainAttributes { | 
|  | DVD_TITLE_APPMODE AppMode; | 
|  | DVD_VideoAttributes VideoAttributes; | 
|  | ULONG ulNumberOfAudioStreams; | 
|  | DVD_AudioAttributes AudioAttributes[8]; | 
|  | DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8]; | 
|  | ULONG ulNumberOfSubpictureStreams; | 
|  | DVD_SubpictureAttributes SubpictureAttributes[32]; | 
|  | } DVD_TitleAttributes; | 
|  |  | 
|  | typedef struct tagDVD_MenuAttributes { | 
|  | WINBOOL fCompatibleRegion[8]; | 
|  | DVD_VideoAttributes VideoAttributes; | 
|  | WINBOOL fAudioPresent; | 
|  | DVD_AudioAttributes AudioAttributes; | 
|  | WINBOOL fSubpicturePresent; | 
|  | DVD_SubpictureAttributes SubpictureAttributes; | 
|  | } DVD_MenuAttributes; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec; | 
|  | #ifndef __IDvdControl_INTERFACE_DEFINED__ | 
|  | #define __IDvdControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDvdControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDvdControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI TitlePlay(ULONG ulTitle) = 0; | 
|  | virtual HRESULT WINAPI ChapterPlay(ULONG ulTitle,ULONG ulChapter) = 0; | 
|  | virtual HRESULT WINAPI TimePlay(ULONG ulTitle,ULONG bcdTime) = 0; | 
|  | virtual HRESULT WINAPI StopForResume(void) = 0; | 
|  | virtual HRESULT WINAPI GoUp(void) = 0; | 
|  | virtual HRESULT WINAPI TimeSearch(ULONG bcdTime) = 0; | 
|  | virtual HRESULT WINAPI ChapterSearch(ULONG ulChapter) = 0; | 
|  | virtual HRESULT WINAPI PrevPGSearch(void) = 0; | 
|  | virtual HRESULT WINAPI TopPGSearch(void) = 0; | 
|  | virtual HRESULT WINAPI NextPGSearch(void) = 0; | 
|  | virtual HRESULT WINAPI ForwardScan(double dwSpeed) = 0; | 
|  | virtual HRESULT WINAPI BackwardScan(double dwSpeed) = 0; | 
|  | virtual HRESULT WINAPI MenuCall(DVD_MENU_ID MenuID) = 0; | 
|  | virtual HRESULT WINAPI Resume(void) = 0; | 
|  | virtual HRESULT WINAPI UpperButtonSelect(void) = 0; | 
|  | virtual HRESULT WINAPI LowerButtonSelect(void) = 0; | 
|  | virtual HRESULT WINAPI LeftButtonSelect(void) = 0; | 
|  | virtual HRESULT WINAPI RightButtonSelect(void) = 0; | 
|  | virtual HRESULT WINAPI ButtonActivate(void) = 0; | 
|  | virtual HRESULT WINAPI ButtonSelectAndActivate(ULONG ulButton) = 0; | 
|  | virtual HRESULT WINAPI StillOff(void) = 0; | 
|  | virtual HRESULT WINAPI PauseOn(void) = 0; | 
|  | virtual HRESULT WINAPI PauseOff(void) = 0; | 
|  | virtual HRESULT WINAPI MenuLanguageSelect(LCID Language) = 0; | 
|  | virtual HRESULT WINAPI AudioStreamChange(ULONG ulAudio) = 0; | 
|  | virtual HRESULT WINAPI SubpictureStreamChange(ULONG ulSubPicture,WINBOOL bDisplay) = 0; | 
|  | virtual HRESULT WINAPI AngleChange(ULONG ulAngle) = 0; | 
|  | virtual HRESULT WINAPI ParentalLevelSelect(ULONG ulParentalLevel) = 0; | 
|  | virtual HRESULT WINAPI ParentalCountrySelect(WORD wCountry) = 0; | 
|  | virtual HRESULT WINAPI KaraokeAudioPresentationModeChange(ULONG ulMode) = 0; | 
|  | virtual HRESULT WINAPI VideoModePreferrence(ULONG ulPreferredDisplayMode) = 0; | 
|  | virtual HRESULT WINAPI SetRoot(LPCWSTR pszPath) = 0; | 
|  | virtual HRESULT WINAPI MouseActivate(POINT point) = 0; | 
|  | virtual HRESULT WINAPI MouseSelect(POINT point) = 0; | 
|  | virtual HRESULT WINAPI ChapterPlayAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDvdControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDvdControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDvdControl *This); | 
|  | ULONG (WINAPI *Release)(IDvdControl *This); | 
|  | HRESULT (WINAPI *TitlePlay)(IDvdControl *This,ULONG ulTitle); | 
|  | HRESULT (WINAPI *ChapterPlay)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter); | 
|  | HRESULT (WINAPI *TimePlay)(IDvdControl *This,ULONG ulTitle,ULONG bcdTime); | 
|  | HRESULT (WINAPI *StopForResume)(IDvdControl *This); | 
|  | HRESULT (WINAPI *GoUp)(IDvdControl *This); | 
|  | HRESULT (WINAPI *TimeSearch)(IDvdControl *This,ULONG bcdTime); | 
|  | HRESULT (WINAPI *ChapterSearch)(IDvdControl *This,ULONG ulChapter); | 
|  | HRESULT (WINAPI *PrevPGSearch)(IDvdControl *This); | 
|  | HRESULT (WINAPI *TopPGSearch)(IDvdControl *This); | 
|  | HRESULT (WINAPI *NextPGSearch)(IDvdControl *This); | 
|  | HRESULT (WINAPI *ForwardScan)(IDvdControl *This,double dwSpeed); | 
|  | HRESULT (WINAPI *BackwardScan)(IDvdControl *This,double dwSpeed); | 
|  | HRESULT (WINAPI *MenuCall)(IDvdControl *This,DVD_MENU_ID MenuID); | 
|  | HRESULT (WINAPI *Resume)(IDvdControl *This); | 
|  | HRESULT (WINAPI *UpperButtonSelect)(IDvdControl *This); | 
|  | HRESULT (WINAPI *LowerButtonSelect)(IDvdControl *This); | 
|  | HRESULT (WINAPI *LeftButtonSelect)(IDvdControl *This); | 
|  | HRESULT (WINAPI *RightButtonSelect)(IDvdControl *This); | 
|  | HRESULT (WINAPI *ButtonActivate)(IDvdControl *This); | 
|  | HRESULT (WINAPI *ButtonSelectAndActivate)(IDvdControl *This,ULONG ulButton); | 
|  | HRESULT (WINAPI *StillOff)(IDvdControl *This); | 
|  | HRESULT (WINAPI *PauseOn)(IDvdControl *This); | 
|  | HRESULT (WINAPI *PauseOff)(IDvdControl *This); | 
|  | HRESULT (WINAPI *MenuLanguageSelect)(IDvdControl *This,LCID Language); | 
|  | HRESULT (WINAPI *AudioStreamChange)(IDvdControl *This,ULONG ulAudio); | 
|  | HRESULT (WINAPI *SubpictureStreamChange)(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay); | 
|  | HRESULT (WINAPI *AngleChange)(IDvdControl *This,ULONG ulAngle); | 
|  | HRESULT (WINAPI *ParentalLevelSelect)(IDvdControl *This,ULONG ulParentalLevel); | 
|  | HRESULT (WINAPI *ParentalCountrySelect)(IDvdControl *This,WORD wCountry); | 
|  | HRESULT (WINAPI *KaraokeAudioPresentationModeChange)(IDvdControl *This,ULONG ulMode); | 
|  | HRESULT (WINAPI *VideoModePreferrence)(IDvdControl *This,ULONG ulPreferredDisplayMode); | 
|  | HRESULT (WINAPI *SetRoot)(IDvdControl *This,LPCWSTR pszPath); | 
|  | HRESULT (WINAPI *MouseActivate)(IDvdControl *This,POINT point); | 
|  | HRESULT (WINAPI *MouseSelect)(IDvdControl *This,POINT point); | 
|  | HRESULT (WINAPI *ChapterPlayAutoStop)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay); | 
|  | END_INTERFACE | 
|  | } IDvdControlVtbl; | 
|  | struct IDvdControl { | 
|  | CONST_VTBL struct IDvdControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDvdControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDvdControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDvdControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDvdControl_TitlePlay(This,ulTitle) (This)->lpVtbl->TitlePlay(This,ulTitle) | 
|  | #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) (This)->lpVtbl->ChapterPlay(This,ulTitle,ulChapter) | 
|  | #define IDvdControl_TimePlay(This,ulTitle,bcdTime) (This)->lpVtbl->TimePlay(This,ulTitle,bcdTime) | 
|  | #define IDvdControl_StopForResume(This) (This)->lpVtbl->StopForResume(This) | 
|  | #define IDvdControl_GoUp(This) (This)->lpVtbl->GoUp(This) | 
|  | #define IDvdControl_TimeSearch(This,bcdTime) (This)->lpVtbl->TimeSearch(This,bcdTime) | 
|  | #define IDvdControl_ChapterSearch(This,ulChapter) (This)->lpVtbl->ChapterSearch(This,ulChapter) | 
|  | #define IDvdControl_PrevPGSearch(This) (This)->lpVtbl->PrevPGSearch(This) | 
|  | #define IDvdControl_TopPGSearch(This) (This)->lpVtbl->TopPGSearch(This) | 
|  | #define IDvdControl_NextPGSearch(This) (This)->lpVtbl->NextPGSearch(This) | 
|  | #define IDvdControl_ForwardScan(This,dwSpeed) (This)->lpVtbl->ForwardScan(This,dwSpeed) | 
|  | #define IDvdControl_BackwardScan(This,dwSpeed) (This)->lpVtbl->BackwardScan(This,dwSpeed) | 
|  | #define IDvdControl_MenuCall(This,MenuID) (This)->lpVtbl->MenuCall(This,MenuID) | 
|  | #define IDvdControl_Resume(This) (This)->lpVtbl->Resume(This) | 
|  | #define IDvdControl_UpperButtonSelect(This) (This)->lpVtbl->UpperButtonSelect(This) | 
|  | #define IDvdControl_LowerButtonSelect(This) (This)->lpVtbl->LowerButtonSelect(This) | 
|  | #define IDvdControl_LeftButtonSelect(This) (This)->lpVtbl->LeftButtonSelect(This) | 
|  | #define IDvdControl_RightButtonSelect(This) (This)->lpVtbl->RightButtonSelect(This) | 
|  | #define IDvdControl_ButtonActivate(This) (This)->lpVtbl->ButtonActivate(This) | 
|  | #define IDvdControl_ButtonSelectAndActivate(This,ulButton) (This)->lpVtbl->ButtonSelectAndActivate(This,ulButton) | 
|  | #define IDvdControl_StillOff(This) (This)->lpVtbl->StillOff(This) | 
|  | #define IDvdControl_PauseOn(This) (This)->lpVtbl->PauseOn(This) | 
|  | #define IDvdControl_PauseOff(This) (This)->lpVtbl->PauseOff(This) | 
|  | #define IDvdControl_MenuLanguageSelect(This,Language) (This)->lpVtbl->MenuLanguageSelect(This,Language) | 
|  | #define IDvdControl_AudioStreamChange(This,ulAudio) (This)->lpVtbl->AudioStreamChange(This,ulAudio) | 
|  | #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) (This)->lpVtbl->SubpictureStreamChange(This,ulSubPicture,bDisplay) | 
|  | #define IDvdControl_AngleChange(This,ulAngle) (This)->lpVtbl->AngleChange(This,ulAngle) | 
|  | #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) (This)->lpVtbl->ParentalLevelSelect(This,ulParentalLevel) | 
|  | #define IDvdControl_ParentalCountrySelect(This,wCountry) (This)->lpVtbl->ParentalCountrySelect(This,wCountry) | 
|  | #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) (This)->lpVtbl->KaraokeAudioPresentationModeChange(This,ulMode) | 
|  | #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) (This)->lpVtbl->VideoModePreferrence(This,ulPreferredDisplayMode) | 
|  | #define IDvdControl_SetRoot(This,pszPath) (This)->lpVtbl->SetRoot(This,pszPath) | 
|  | #define IDvdControl_MouseActivate(This,point) (This)->lpVtbl->MouseActivate(This,point) | 
|  | #define IDvdControl_MouseSelect(This,point) (This)->lpVtbl->MouseSelect(This,point) | 
|  | #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) (This)->lpVtbl->ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDvdControl_TitlePlay_Proxy(IDvdControl *This,ULONG ulTitle); | 
|  | void __RPC_STUB IDvdControl_TitlePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_ChapterPlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter); | 
|  | void __RPC_STUB IDvdControl_ChapterPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_TimePlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG bcdTime); | 
|  | void __RPC_STUB IDvdControl_TimePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_StopForResume_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_StopForResume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_GoUp_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_GoUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_TimeSearch_Proxy(IDvdControl *This,ULONG bcdTime); | 
|  | void __RPC_STUB IDvdControl_TimeSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_ChapterSearch_Proxy(IDvdControl *This,ULONG ulChapter); | 
|  | void __RPC_STUB IDvdControl_ChapterSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_PrevPGSearch_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_PrevPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_TopPGSearch_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_TopPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_NextPGSearch_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_NextPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_ForwardScan_Proxy(IDvdControl *This,double dwSpeed); | 
|  | void __RPC_STUB IDvdControl_ForwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_BackwardScan_Proxy(IDvdControl *This,double dwSpeed); | 
|  | void __RPC_STUB IDvdControl_BackwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_MenuCall_Proxy(IDvdControl *This,DVD_MENU_ID MenuID); | 
|  | void __RPC_STUB IDvdControl_MenuCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_Resume_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_UpperButtonSelect_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_LowerButtonSelect_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_LeftButtonSelect_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_RightButtonSelect_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_RightButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_ButtonActivate_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_ButtonActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_ButtonSelectAndActivate_Proxy(IDvdControl *This,ULONG ulButton); | 
|  | void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_StillOff_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_PauseOn_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_PauseOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_PauseOff_Proxy(IDvdControl *This); | 
|  | void __RPC_STUB IDvdControl_PauseOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_MenuLanguageSelect_Proxy(IDvdControl *This,LCID Language); | 
|  | void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_AudioStreamChange_Proxy(IDvdControl *This,ULONG ulAudio); | 
|  | void __RPC_STUB IDvdControl_AudioStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_SubpictureStreamChange_Proxy(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay); | 
|  | void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_AngleChange_Proxy(IDvdControl *This,ULONG ulAngle); | 
|  | void __RPC_STUB IDvdControl_AngleChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_ParentalLevelSelect_Proxy(IDvdControl *This,ULONG ulParentalLevel); | 
|  | void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_ParentalCountrySelect_Proxy(IDvdControl *This,WORD wCountry); | 
|  | void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_KaraokeAudioPresentationModeChange_Proxy(IDvdControl *This,ULONG ulMode); | 
|  | void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_VideoModePreferrence_Proxy(IDvdControl *This,ULONG ulPreferredDisplayMode); | 
|  | void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_SetRoot_Proxy(IDvdControl *This,LPCWSTR pszPath); | 
|  | void __RPC_STUB IDvdControl_SetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_MouseActivate_Proxy(IDvdControl *This,POINT point); | 
|  | void __RPC_STUB IDvdControl_MouseActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_MouseSelect_Proxy(IDvdControl *This,POINT point); | 
|  | void __RPC_STUB IDvdControl_MouseSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl_ChapterPlayAutoStop_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay); | 
|  | void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdInfo_INTERFACE_DEFINED__ | 
|  | #define __IDvdInfo_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDvdInfo; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDvdInfo : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION *pLocation) = 0; | 
|  | virtual HRESULT WINAPI GetTotalTitleTime(ULONG *pulTotalTime) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentUOPS(VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0; | 
|  | virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0; | 
|  | virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0; | 
|  | virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0; | 
|  | virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0; | 
|  | virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_ATR *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetVMGAttributes(DVD_ATR *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoATR *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentAudioAttributes(DVD_AudioATR *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentSubpictureAttributes(DVD_SubpictureATR *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentVolumeInfo(ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0; | 
|  | virtual HRESULT WINAPI GetDVDTextInfo(BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize) = 0; | 
|  | virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,ULONG *pulCountryCode) = 0; | 
|  | virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumberOfChapters) = 0; | 
|  | virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0; | 
|  | virtual HRESULT WINAPI GetRoot(LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDvdInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDvdInfo *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDvdInfo *This); | 
|  | ULONG (WINAPI *Release)(IDvdInfo *This); | 
|  | HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo *This,DVD_DOMAIN *pDomain); | 
|  | HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation); | 
|  | HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo *This,ULONG *pulTotalTime); | 
|  | HRESULT (WINAPI *GetCurrentButton)(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); | 
|  | HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); | 
|  | HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); | 
|  | HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled); | 
|  | HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP); | 
|  | HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo *This,SPRMARRAY *pRegisterArray); | 
|  | HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo *This,GPRMARRAY *pRegisterArray); | 
|  | HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); | 
|  | HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); | 
|  | HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR); | 
|  | HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo *This,DVD_ATR *pATR); | 
|  | HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo *This,DVD_VideoATR *pATR); | 
|  | HRESULT (WINAPI *GetCurrentAudioAttributes)(IDvdInfo *This,DVD_AudioATR *pATR); | 
|  | HRESULT (WINAPI *GetCurrentSubpictureAttributes)(IDvdInfo *This,DVD_SubpictureATR *pATR); | 
|  | HRESULT (WINAPI *GetCurrentVolumeInfo)(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); | 
|  | HRESULT (WINAPI *GetDVDTextInfo)(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize); | 
|  | HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode); | 
|  | HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters); | 
|  | HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels); | 
|  | HRESULT (WINAPI *GetRoot)(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize); | 
|  | END_INTERFACE | 
|  | } IDvdInfoVtbl; | 
|  | struct IDvdInfo { | 
|  | CONST_VTBL struct IDvdInfoVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDvdInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDvdInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDvdInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDvdInfo_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain) | 
|  | #define IDvdInfo_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation) | 
|  | #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) (This)->lpVtbl->GetTotalTitleTime(This,pulTotalTime) | 
|  | #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) | 
|  | #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) | 
|  | #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) | 
|  | #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) | 
|  | #define IDvdInfo_GetCurrentUOPS(This,pUOP) (This)->lpVtbl->GetCurrentUOPS(This,pUOP) | 
|  | #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray) | 
|  | #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray) | 
|  | #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage) | 
|  | #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage) | 
|  | #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pATR) | 
|  | #define IDvdInfo_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR) | 
|  | #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR) | 
|  | #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) (This)->lpVtbl->GetCurrentAudioAttributes(This,pATR) | 
|  | #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) (This)->lpVtbl->GetCurrentSubpictureAttributes(This,pATR) | 
|  | #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) (This)->lpVtbl->GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) | 
|  | #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) (This)->lpVtbl->GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) | 
|  | #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) | 
|  | #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) | 
|  | #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels) | 
|  | #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) (This)->lpVtbl->GetRoot(This,pRoot,ulBufSize,pulActualSize) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentDomain_Proxy(IDvdInfo *This,DVD_DOMAIN *pDomain); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentLocation_Proxy(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetTotalTitleTime_Proxy(IDvdInfo *This,ULONG *pulTotalTime); | 
|  | void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentButton_Proxy(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentAngle_Proxy(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentAudio_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentSubpicture_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentUOPS_Proxy(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetAllSPRMs_Proxy(IDvdInfo *This,SPRMARRAY *pRegisterArray); | 
|  | void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetAllGPRMs_Proxy(IDvdInfo *This,GPRMARRAY *pRegisterArray); | 
|  | void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetAudioLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); | 
|  | void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetSubpictureLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage); | 
|  | void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetTitleAttributes_Proxy(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR); | 
|  | void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetVMGAttributes_Proxy(IDvdInfo *This,DVD_ATR *pATR); | 
|  | void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentVideoAttributes_Proxy(IDvdInfo *This,DVD_VideoATR *pATR); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentAudioAttributes_Proxy(IDvdInfo *This,DVD_AudioATR *pATR); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentSubpictureAttributes_Proxy(IDvdInfo *This,DVD_SubpictureATR *pATR); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetCurrentVolumeInfo_Proxy(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); | 
|  | void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetDVDTextInfo_Proxy(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize); | 
|  | void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetPlayerParentalLevel_Proxy(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode); | 
|  | void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetNumberOfChapters_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters); | 
|  | void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetTitleParentalLevels_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels); | 
|  | void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo_GetRoot_Proxy(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize); | 
|  | void __RPC_STUB IDvdInfo_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdCmd_INTERFACE_DEFINED__ | 
|  | #define __IDvdCmd_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDvdCmd; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDvdCmd : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI WaitForStart(void) = 0; | 
|  | virtual HRESULT WINAPI WaitForEnd(void) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDvdCmdVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDvdCmd *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDvdCmd *This); | 
|  | ULONG (WINAPI *Release)(IDvdCmd *This); | 
|  | HRESULT (WINAPI *WaitForStart)(IDvdCmd *This); | 
|  | HRESULT (WINAPI *WaitForEnd)(IDvdCmd *This); | 
|  | END_INTERFACE | 
|  | } IDvdCmdVtbl; | 
|  | struct IDvdCmd { | 
|  | CONST_VTBL struct IDvdCmdVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDvdCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDvdCmd_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDvdCmd_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDvdCmd_WaitForStart(This) (This)->lpVtbl->WaitForStart(This) | 
|  | #define IDvdCmd_WaitForEnd(This) (This)->lpVtbl->WaitForEnd(This) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDvdCmd_WaitForStart_Proxy(IDvdCmd *This); | 
|  | void __RPC_STUB IDvdCmd_WaitForStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdCmd_WaitForEnd_Proxy(IDvdCmd *This); | 
|  | void __RPC_STUB IDvdCmd_WaitForEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdState_INTERFACE_DEFINED__ | 
|  | #define __IDvdState_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDvdState; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDvdState : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetDiscID(ULONGLONG *pullUniqueID) = 0; | 
|  | virtual HRESULT WINAPI GetParentalLevel(ULONG *pulParentalLevel) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDvdStateVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDvdState *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDvdState *This); | 
|  | ULONG (WINAPI *Release)(IDvdState *This); | 
|  | HRESULT (WINAPI *GetDiscID)(IDvdState *This,ULONGLONG *pullUniqueID); | 
|  | HRESULT (WINAPI *GetParentalLevel)(IDvdState *This,ULONG *pulParentalLevel); | 
|  | END_INTERFACE | 
|  | } IDvdStateVtbl; | 
|  | struct IDvdState { | 
|  | CONST_VTBL struct IDvdStateVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDvdState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDvdState_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDvdState_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDvdState_GetDiscID(This,pullUniqueID) (This)->lpVtbl->GetDiscID(This,pullUniqueID) | 
|  | #define IDvdState_GetParentalLevel(This,pulParentalLevel) (This)->lpVtbl->GetParentalLevel(This,pulParentalLevel) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDvdState_GetDiscID_Proxy(IDvdState *This,ULONGLONG *pullUniqueID); | 
|  | void __RPC_STUB IDvdState_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdState_GetParentalLevel_Proxy(IDvdState *This,ULONG *pulParentalLevel); | 
|  | void __RPC_STUB IDvdState_GetParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDvdControl2_INTERFACE_DEFINED__ | 
|  | #define __IDvdControl2_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDvdControl2; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDvdControl2 : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI PlayTitle(ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayChapterInTitle(ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayAtTimeInTitle(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI Stop(void) = 0; | 
|  | virtual HRESULT WINAPI ReturnFromSubmenu(DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayAtTime(DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayChapter(ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayPrevChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI ReplayChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayNextChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayForwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayBackwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI ShowMenu(DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI Resume(DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI SelectRelativeButton(DVD_RELATIVE_BUTTON buttonDir) = 0; | 
|  | virtual HRESULT WINAPI ActivateButton(void) = 0; | 
|  | virtual HRESULT WINAPI SelectButton(ULONG ulButton) = 0; | 
|  | virtual HRESULT WINAPI SelectAndActivateButton(ULONG ulButton) = 0; | 
|  | virtual HRESULT WINAPI StillOff(void) = 0; | 
|  | virtual HRESULT WINAPI Pause(WINBOOL bState) = 0; | 
|  | virtual HRESULT WINAPI SelectAudioStream(ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI SelectSubpictureStream(ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI SetSubpictureState(WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI SelectAngle(ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI SelectParentalLevel(ULONG ulParentalLevel) = 0; | 
|  | virtual HRESULT WINAPI SelectParentalCountry(BYTE bCountry[2]) = 0; | 
|  | virtual HRESULT WINAPI SelectKaraokeAudioPresentationMode(ULONG ulMode) = 0; | 
|  | virtual HRESULT WINAPI SelectVideoModePreference(ULONG ulPreferredDisplayMode) = 0; | 
|  | virtual HRESULT WINAPI SetDVDDirectory(LPCWSTR pszwPath) = 0; | 
|  | virtual HRESULT WINAPI ActivateAtPosition(POINT point) = 0; | 
|  | virtual HRESULT WINAPI SelectAtPosition(POINT point) = 0; | 
|  | virtual HRESULT WINAPI PlayChaptersAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI AcceptParentalLevelChange(WINBOOL bAccept) = 0; | 
|  | virtual HRESULT WINAPI SetOption(DVD_OPTION_FLAG flag,WINBOOL fState) = 0; | 
|  | virtual HRESULT WINAPI SetState(IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI PlayPeriodInTitleAutoStop(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI SetGPRM(ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd) = 0; | 
|  | virtual HRESULT WINAPI SelectDefaultMenuLanguage(LCID Language) = 0; | 
|  | virtual HRESULT WINAPI SelectDefaultAudioLanguage(LCID Language,DVD_AUDIO_LANG_EXT audioExtension) = 0; | 
|  | virtual HRESULT WINAPI SelectDefaultSubpictureLanguage(LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDvdControl2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDvdControl2 *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDvdControl2 *This); | 
|  | ULONG (WINAPI *Release)(IDvdControl2 *This); | 
|  | HRESULT (WINAPI *PlayTitle)(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayChapterInTitle)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayAtTimeInTitle)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *Stop)(IDvdControl2 *This); | 
|  | HRESULT (WINAPI *ReturnFromSubmenu)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayAtTime)(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayChapter)(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayPrevChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *ReplayChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayNextChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayForwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayBackwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *ShowMenu)(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *Resume)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *SelectRelativeButton)(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir); | 
|  | HRESULT (WINAPI *ActivateButton)(IDvdControl2 *This); | 
|  | HRESULT (WINAPI *SelectButton)(IDvdControl2 *This,ULONG ulButton); | 
|  | HRESULT (WINAPI *SelectAndActivateButton)(IDvdControl2 *This,ULONG ulButton); | 
|  | HRESULT (WINAPI *StillOff)(IDvdControl2 *This); | 
|  | HRESULT (WINAPI *Pause)(IDvdControl2 *This,WINBOOL bState); | 
|  | HRESULT (WINAPI *SelectAudioStream)(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *SelectSubpictureStream)(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *SetSubpictureState)(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *SelectAngle)(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *SelectParentalLevel)(IDvdControl2 *This,ULONG ulParentalLevel); | 
|  | HRESULT (WINAPI *SelectParentalCountry)(IDvdControl2 *This,BYTE bCountry[2]); | 
|  | HRESULT (WINAPI *SelectKaraokeAudioPresentationMode)(IDvdControl2 *This,ULONG ulMode); | 
|  | HRESULT (WINAPI *SelectVideoModePreference)(IDvdControl2 *This,ULONG ulPreferredDisplayMode); | 
|  | HRESULT (WINAPI *SetDVDDirectory)(IDvdControl2 *This,LPCWSTR pszwPath); | 
|  | HRESULT (WINAPI *ActivateAtPosition)(IDvdControl2 *This,POINT point); | 
|  | HRESULT (WINAPI *SelectAtPosition)(IDvdControl2 *This,POINT point); | 
|  | HRESULT (WINAPI *PlayChaptersAutoStop)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *AcceptParentalLevelChange)(IDvdControl2 *This,WINBOOL bAccept); | 
|  | HRESULT (WINAPI *SetOption)(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState); | 
|  | HRESULT (WINAPI *SetState)(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *PlayPeriodInTitleAutoStop)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *SetGPRM)(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | HRESULT (WINAPI *SelectDefaultMenuLanguage)(IDvdControl2 *This,LCID Language); | 
|  | HRESULT (WINAPI *SelectDefaultAudioLanguage)(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension); | 
|  | HRESULT (WINAPI *SelectDefaultSubpictureLanguage)(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension); | 
|  | END_INTERFACE | 
|  | } IDvdControl2Vtbl; | 
|  | struct IDvdControl2 { | 
|  | CONST_VTBL struct IDvdControl2Vtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDvdControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDvdControl2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDvdControl2_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) (This)->lpVtbl->PlayTitle(This,ulTitle,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) | 
|  | #define IDvdControl2_Stop(This) (This)->lpVtbl->Stop(This) | 
|  | #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) (This)->lpVtbl->ReturnFromSubmenu(This,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTime(This,pTime,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapter(This,ulChapter,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayPrevChapter(This,dwFlags,ppCmd) | 
|  | #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) (This)->lpVtbl->ReplayChapter(This,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayNextChapter(This,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayForwards(This,dSpeed,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayBackwards(This,dSpeed,dwFlags,ppCmd) | 
|  | #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) (This)->lpVtbl->ShowMenu(This,MenuID,dwFlags,ppCmd) | 
|  | #define IDvdControl2_Resume(This,dwFlags,ppCmd) (This)->lpVtbl->Resume(This,dwFlags,ppCmd) | 
|  | #define IDvdControl2_SelectRelativeButton(This,buttonDir) (This)->lpVtbl->SelectRelativeButton(This,buttonDir) | 
|  | #define IDvdControl2_ActivateButton(This) (This)->lpVtbl->ActivateButton(This) | 
|  | #define IDvdControl2_SelectButton(This,ulButton) (This)->lpVtbl->SelectButton(This,ulButton) | 
|  | #define IDvdControl2_SelectAndActivateButton(This,ulButton) (This)->lpVtbl->SelectAndActivateButton(This,ulButton) | 
|  | #define IDvdControl2_StillOff(This) (This)->lpVtbl->StillOff(This) | 
|  | #define IDvdControl2_Pause(This,bState) (This)->lpVtbl->Pause(This,bState) | 
|  | #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) (This)->lpVtbl->SelectAudioStream(This,ulAudio,dwFlags,ppCmd) | 
|  | #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) (This)->lpVtbl->SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) | 
|  | #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) (This)->lpVtbl->SetSubpictureState(This,bState,dwFlags,ppCmd) | 
|  | #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) (This)->lpVtbl->SelectAngle(This,ulAngle,dwFlags,ppCmd) | 
|  | #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) (This)->lpVtbl->SelectParentalLevel(This,ulParentalLevel) | 
|  | #define IDvdControl2_SelectParentalCountry(This,bCountry) (This)->lpVtbl->SelectParentalCountry(This,bCountry) | 
|  | #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) (This)->lpVtbl->SelectKaraokeAudioPresentationMode(This,ulMode) | 
|  | #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) (This)->lpVtbl->SelectVideoModePreference(This,ulPreferredDisplayMode) | 
|  | #define IDvdControl2_SetDVDDirectory(This,pszwPath) (This)->lpVtbl->SetDVDDirectory(This,pszwPath) | 
|  | #define IDvdControl2_ActivateAtPosition(This,point) (This)->lpVtbl->ActivateAtPosition(This,point) | 
|  | #define IDvdControl2_SelectAtPosition(This,point) (This)->lpVtbl->SelectAtPosition(This,point) | 
|  | #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) (This)->lpVtbl->PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) | 
|  | #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) (This)->lpVtbl->AcceptParentalLevelChange(This,bAccept) | 
|  | #define IDvdControl2_SetOption(This,flag,fState) (This)->lpVtbl->SetOption(This,flag,fState) | 
|  | #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) (This)->lpVtbl->SetState(This,pState,dwFlags,ppCmd) | 
|  | #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) (This)->lpVtbl->PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) | 
|  | #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) (This)->lpVtbl->SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) | 
|  | #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) (This)->lpVtbl->SelectDefaultMenuLanguage(This,Language) | 
|  | #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) (This)->lpVtbl->SelectDefaultAudioLanguage(This,Language,audioExtension) | 
|  | #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) (This)->lpVtbl->SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDvdControl2_PlayTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayChapterInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayAtTimeInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_Stop_Proxy(IDvdControl2 *This); | 
|  | void __RPC_STUB IDvdControl2_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_ReturnFromSubmenu_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayAtTime_Proxy(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayAtTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayChapter_Proxy(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayPrevChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_ReplayChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_ReplayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayNextChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayForwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayForwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayBackwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayBackwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_ShowMenu_Proxy(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_ShowMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_Resume_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectRelativeButton_Proxy(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir); | 
|  | void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_ActivateButton_Proxy(IDvdControl2 *This); | 
|  | void __RPC_STUB IDvdControl2_ActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectButton_Proxy(IDvdControl2 *This,ULONG ulButton); | 
|  | void __RPC_STUB IDvdControl2_SelectButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectAndActivateButton_Proxy(IDvdControl2 *This,ULONG ulButton); | 
|  | void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_StillOff_Proxy(IDvdControl2 *This); | 
|  | void __RPC_STUB IDvdControl2_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_Pause_Proxy(IDvdControl2 *This,WINBOOL bState); | 
|  | void __RPC_STUB IDvdControl2_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectAudioStream_Proxy(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectSubpictureStream_Proxy(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SetSubpictureState_Proxy(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectAngle_Proxy(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_SelectAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectParentalLevel_Proxy(IDvdControl2 *This,ULONG ulParentalLevel); | 
|  | void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectParentalCountry_Proxy(IDvdControl2 *This,BYTE bCountry[2]); | 
|  | void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(IDvdControl2 *This,ULONG ulMode); | 
|  | void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectVideoModePreference_Proxy(IDvdControl2 *This,ULONG ulPreferredDisplayMode); | 
|  | void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SetDVDDirectory_Proxy(IDvdControl2 *This,LPCWSTR pszwPath); | 
|  | void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_ActivateAtPosition_Proxy(IDvdControl2 *This,POINT point); | 
|  | void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectAtPosition_Proxy(IDvdControl2 *This,POINT point); | 
|  | void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayChaptersAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_AcceptParentalLevelChange_Proxy(IDvdControl2 *This,WINBOOL bAccept); | 
|  | void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SetOption_Proxy(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState); | 
|  | void __RPC_STUB IDvdControl2_SetOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SetState_Proxy(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SetGPRM_Proxy(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd); | 
|  | void __RPC_STUB IDvdControl2_SetGPRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectDefaultMenuLanguage_Proxy(IDvdControl2 *This,LCID Language); | 
|  | void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectDefaultAudioLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension); | 
|  | void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension); | 
|  | void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | enum DVD_TextStringType { | 
|  | DVD_Struct_Volume = 0x1,DVD_Struct_Title = 0x2,DVD_Struct_ParentalID = 0x3,DVD_Struct_PartOfTitle = 0x4,DVD_Struct_Cell = 0x5, | 
|  | DVD_Stream_Audio = 0x10,DVD_Stream_Subpicture = 0x11,DVD_Stream_Angle = 0x12,DVD_Channel_Audio = 0x20,DVD_General_Name = 0x30, | 
|  | DVD_General_Comments = 0x31,DVD_Title_Series = 0x38,DVD_Title_Movie = 0x39,DVD_Title_Video = 0x3a,DVD_Title_Album = 0x3b,DVD_Title_Song = 0x3c, | 
|  | DVD_Title_Other = 0x3f,DVD_Title_Sub_Series = 0x40,DVD_Title_Sub_Movie = 0x41,DVD_Title_Sub_Video = 0x42,DVD_Title_Sub_Album = 0x43, | 
|  | 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, | 
|  | 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 | 
|  | }; | 
|  |  | 
|  | enum DVD_TextCharSet { | 
|  | DVD_CharSet_Unicode = 0,DVD_CharSet_ISO646 = 1,DVD_CharSet_JIS_Roman_Kanji = 2,DVD_CharSet_ISO8859_1 = 3, | 
|  | DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4 | 
|  | }; | 
|  | #define DVD_TITLE_MENU 0x000 | 
|  | #define DVD_STREAM_DATA_CURRENT 0x800 | 
|  | #define DVD_STREAM_DATA_VMGM 0x400 | 
|  | #define DVD_STREAM_DATA_VTSM 0x401 | 
|  | #define DVD_DEFAULT_AUDIO_STREAM 0x0f | 
|  |  | 
|  | typedef struct tagDVD_DECODER_CAPS { | 
|  | DWORD dwSize; | 
|  | DWORD dwAudioCaps; | 
|  | double dFwdMaxRateVideo; | 
|  | double dFwdMaxRateAudio; | 
|  | double dFwdMaxRateSP; | 
|  | double dBwdMaxRateVideo; | 
|  | double dBwdMaxRateAudio; | 
|  | double dBwdMaxRateSP; | 
|  | DWORD dwRes1; | 
|  | DWORD dwRes2; | 
|  | DWORD dwRes3; | 
|  | DWORD dwRes4; | 
|  | } DVD_DECODER_CAPS; | 
|  |  | 
|  | #define DVD_AUDIO_CAPS_AC3 0x00000001 | 
|  | #define DVD_AUDIO_CAPS_MPEG2 0x00000002 | 
|  | #define DVD_AUDIO_CAPS_LPCM 0x00000004 | 
|  | #define DVD_AUDIO_CAPS_DTS 0x00000008 | 
|  | #define DVD_AUDIO_CAPS_SDDS 0x00000010 | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec; | 
|  | #ifndef __IDvdInfo2_INTERFACE_DEFINED__ | 
|  | #define __IDvdInfo2_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDvdInfo2; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDvdInfo2 : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION2 *pLocation) = 0; | 
|  | virtual HRESULT WINAPI GetTotalTitleTime(DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentUOPS(ULONG *pulUOPs) = 0; | 
|  | virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0; | 
|  | virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0; | 
|  | virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0; | 
|  | virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0; | 
|  | virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle) = 0; | 
|  | virtual HRESULT WINAPI GetVMGAttributes(DVD_MenuAttributes *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoAttributes *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetAudioAttributes(ULONG ulStream,DVD_AudioAttributes *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetKaraokeAttributes(ULONG ulStream,DVD_KaraokeAttributes *pAttributes) = 0; | 
|  | virtual HRESULT WINAPI GetSubpictureAttributes(ULONG ulStream,DVD_SubpictureAttributes *pATR) = 0; | 
|  | virtual HRESULT WINAPI GetDVDVolumeInfo(ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0; | 
|  | virtual HRESULT WINAPI GetDVDTextNumberOfLanguages(ULONG *pulNumOfLangs) = 0; | 
|  | virtual HRESULT WINAPI GetDVDTextLanguageInfo(ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet) = 0; | 
|  | virtual HRESULT WINAPI GetDVDTextStringAsNative(ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0; | 
|  | virtual HRESULT WINAPI GetDVDTextStringAsUnicode(ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0; | 
|  | virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,BYTE pbCountryCode[2]) = 0; | 
|  | virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumOfChapters) = 0; | 
|  | virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0; | 
|  | virtual HRESULT WINAPI GetDVDDirectory(LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize) = 0; | 
|  | virtual HRESULT WINAPI IsAudioStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0; | 
|  | virtual HRESULT WINAPI GetDiscID(LPCWSTR pszwPath,ULONGLONG *pullDiscID) = 0; | 
|  | virtual HRESULT WINAPI GetState(IDvdState **pStateData) = 0; | 
|  | virtual HRESULT WINAPI GetMenuLanguages(LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages) = 0; | 
|  | virtual HRESULT WINAPI GetButtonAtPosition(POINT point,ULONG *pulButtonIndex) = 0; | 
|  | virtual HRESULT WINAPI GetCmdFromEvent(LONG_PTR lParam1,IDvdCmd **pCmdObj) = 0; | 
|  | virtual HRESULT WINAPI GetDefaultMenuLanguage(LCID *pLanguage) = 0; | 
|  | virtual HRESULT WINAPI GetDefaultAudioLanguage(LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension) = 0; | 
|  | virtual HRESULT WINAPI GetDefaultSubpictureLanguage(LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0; | 
|  | virtual HRESULT WINAPI GetDecoderCaps(DVD_DECODER_CAPS *pCaps) = 0; | 
|  | virtual HRESULT WINAPI GetButtonRect(ULONG ulButton,RECT *pRect) = 0; | 
|  | virtual HRESULT WINAPI IsSubpictureStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDvdInfo2Vtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDvdInfo2 *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDvdInfo2 *This); | 
|  | ULONG (WINAPI *Release)(IDvdInfo2 *This); | 
|  | HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo2 *This,DVD_DOMAIN *pDomain); | 
|  | HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation); | 
|  | HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags); | 
|  | HRESULT (WINAPI *GetCurrentButton)(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); | 
|  | HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); | 
|  | HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); | 
|  | HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled); | 
|  | HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo2 *This,ULONG *pulUOPs); | 
|  | HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo2 *This,SPRMARRAY *pRegisterArray); | 
|  | HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo2 *This,GPRMARRAY *pRegisterArray); | 
|  | HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); | 
|  | HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); | 
|  | HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle); | 
|  | HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo2 *This,DVD_MenuAttributes *pATR); | 
|  | HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo2 *This,DVD_VideoAttributes *pATR); | 
|  | HRESULT (WINAPI *GetAudioAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR); | 
|  | HRESULT (WINAPI *GetKaraokeAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes); | 
|  | HRESULT (WINAPI *GetSubpictureAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR); | 
|  | HRESULT (WINAPI *GetDVDVolumeInfo)(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); | 
|  | HRESULT (WINAPI *GetDVDTextNumberOfLanguages)(IDvdInfo2 *This,ULONG *pulNumOfLangs); | 
|  | HRESULT (WINAPI *GetDVDTextLanguageInfo)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet); | 
|  | HRESULT (WINAPI *GetDVDTextStringAsNative)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); | 
|  | HRESULT (WINAPI *GetDVDTextStringAsUnicode)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); | 
|  | HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]); | 
|  | HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters); | 
|  | HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels); | 
|  | HRESULT (WINAPI *GetDVDDirectory)(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize); | 
|  | HRESULT (WINAPI *IsAudioStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); | 
|  | HRESULT (WINAPI *GetDiscID)(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID); | 
|  | HRESULT (WINAPI *GetState)(IDvdInfo2 *This,IDvdState **pStateData); | 
|  | HRESULT (WINAPI *GetMenuLanguages)(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages); | 
|  | HRESULT (WINAPI *GetButtonAtPosition)(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex); | 
|  | HRESULT (WINAPI *GetCmdFromEvent)(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj); | 
|  | HRESULT (WINAPI *GetDefaultMenuLanguage)(IDvdInfo2 *This,LCID *pLanguage); | 
|  | HRESULT (WINAPI *GetDefaultAudioLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension); | 
|  | HRESULT (WINAPI *GetDefaultSubpictureLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension); | 
|  | HRESULT (WINAPI *GetDecoderCaps)(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps); | 
|  | HRESULT (WINAPI *GetButtonRect)(IDvdInfo2 *This,ULONG ulButton,RECT *pRect); | 
|  | HRESULT (WINAPI *IsSubpictureStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); | 
|  | END_INTERFACE | 
|  | } IDvdInfo2Vtbl; | 
|  | struct IDvdInfo2 { | 
|  | CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDvdInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDvdInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDvdInfo2_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDvdInfo2_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain) | 
|  | #define IDvdInfo2_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation) | 
|  | #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) (This)->lpVtbl->GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) | 
|  | #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) | 
|  | #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) | 
|  | #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) | 
|  | #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) | 
|  | #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) (This)->lpVtbl->GetCurrentUOPS(This,pulUOPs) | 
|  | #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray) | 
|  | #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray) | 
|  | #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage) | 
|  | #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage) | 
|  | #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pMenu,pTitle) | 
|  | #define IDvdInfo2_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR) | 
|  | #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR) | 
|  | #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) (This)->lpVtbl->GetAudioAttributes(This,ulStream,pATR) | 
|  | #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) (This)->lpVtbl->GetKaraokeAttributes(This,ulStream,pAttributes) | 
|  | #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) (This)->lpVtbl->GetSubpictureAttributes(This,ulStream,pATR) | 
|  | #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) (This)->lpVtbl->GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) | 
|  | #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) (This)->lpVtbl->GetDVDTextNumberOfLanguages(This,pulNumOfLangs) | 
|  | #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) (This)->lpVtbl->GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) | 
|  | #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) | 
|  | #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) | 
|  | #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) | 
|  | #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumOfChapters) | 
|  | #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels) | 
|  | #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) (This)->lpVtbl->GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) | 
|  | #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) | 
|  | #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) (This)->lpVtbl->GetDiscID(This,pszwPath,pullDiscID) | 
|  | #define IDvdInfo2_GetState(This,pStateData) (This)->lpVtbl->GetState(This,pStateData) | 
|  | #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) (This)->lpVtbl->GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) | 
|  | #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) (This)->lpVtbl->GetButtonAtPosition(This,point,pulButtonIndex) | 
|  | #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) (This)->lpVtbl->GetCmdFromEvent(This,lParam1,pCmdObj) | 
|  | #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) (This)->lpVtbl->GetDefaultMenuLanguage(This,pLanguage) | 
|  | #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) (This)->lpVtbl->GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) | 
|  | #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) (This)->lpVtbl->GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) | 
|  | #define IDvdInfo2_GetDecoderCaps(This,pCaps) (This)->lpVtbl->GetDecoderCaps(This,pCaps) | 
|  | #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) (This)->lpVtbl->GetButtonRect(This,ulButton,pRect) | 
|  | #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDvdInfo2_GetCurrentDomain_Proxy(IDvdInfo2 *This,DVD_DOMAIN *pDomain); | 
|  | void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetCurrentLocation_Proxy(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation); | 
|  | void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetTotalTitleTime_Proxy(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags); | 
|  | void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetCurrentButton_Proxy(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton); | 
|  | void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetCurrentAngle_Proxy(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle); | 
|  | void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetCurrentAudio_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream); | 
|  | void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetCurrentSubpicture_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled); | 
|  | void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetCurrentUOPS_Proxy(IDvdInfo2 *This,ULONG *pulUOPs); | 
|  | void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetAllSPRMs_Proxy(IDvdInfo2 *This,SPRMARRAY *pRegisterArray); | 
|  | void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetAllGPRMs_Proxy(IDvdInfo2 *This,GPRMARRAY *pRegisterArray); | 
|  | void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetAudioLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); | 
|  | void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetSubpictureLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage); | 
|  | void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetTitleAttributes_Proxy(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle); | 
|  | void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetVMGAttributes_Proxy(IDvdInfo2 *This,DVD_MenuAttributes *pATR); | 
|  | void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetCurrentVideoAttributes_Proxy(IDvdInfo2 *This,DVD_VideoAttributes *pATR); | 
|  | void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetAudioAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR); | 
|  | void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetKaraokeAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes); | 
|  | void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetSubpictureAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR); | 
|  | void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDVDVolumeInfo_Proxy(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles); | 
|  | void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(IDvdInfo2 *This,ULONG *pulNumOfLangs); | 
|  | void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDVDTextLanguageInfo_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet); | 
|  | void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsNative_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); | 
|  | void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType); | 
|  | void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetPlayerParentalLevel_Proxy(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]); | 
|  | void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetNumberOfChapters_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters); | 
|  | void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetTitleParentalLevels_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels); | 
|  | void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDVDDirectory_Proxy(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize); | 
|  | void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_IsAudioStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); | 
|  | void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDiscID_Proxy(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID); | 
|  | void __RPC_STUB IDvdInfo2_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetState_Proxy(IDvdInfo2 *This,IDvdState **pStateData); | 
|  | void __RPC_STUB IDvdInfo2_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetMenuLanguages_Proxy(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages); | 
|  | void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetButtonAtPosition_Proxy(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex); | 
|  | void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetCmdFromEvent_Proxy(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj); | 
|  | void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDefaultMenuLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage); | 
|  | void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDefaultAudioLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension); | 
|  | void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension); | 
|  | void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetDecoderCaps_Proxy(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps); | 
|  | void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_GetButtonRect_Proxy(IDvdInfo2 *This,ULONG ulButton,RECT *pRect); | 
|  | void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdInfo2_IsSubpictureStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled); | 
|  | void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum _AM_DVD_GRAPH_FLAGS { | 
|  | AM_DVD_HWDEC_PREFER = 0x1,AM_DVD_HWDEC_ONLY = 0x2,AM_DVD_SWDEC_PREFER = 0x4,AM_DVD_SWDEC_ONLY = 0x8,AM_DVD_NOVPE = 0x100, | 
|  | AM_DVD_VMR9_ONLY = 0x800 | 
|  | } AM_DVD_GRAPH_FLAGS; | 
|  |  | 
|  | typedef enum _AM_DVD_STREAM_FLAGS { | 
|  | AM_DVD_STREAM_VIDEO = 0x1,AM_DVD_STREAM_AUDIO = 0x2,AM_DVD_STREAM_SUBPIC = 0x4 | 
|  | } AM_DVD_STREAM_FLAGS; | 
|  |  | 
|  | typedef struct __MIDL___MIDL_itf_strmif_0389_0001 { | 
|  | HRESULT hrVPEStatus; | 
|  | WINBOOL bDvdVolInvalid; | 
|  | WINBOOL bDvdVolUnknown; | 
|  | WINBOOL bNoLine21In; | 
|  | WINBOOL bNoLine21Out; | 
|  | int iNumStreams; | 
|  | int iNumStreamsFailed; | 
|  | DWORD dwFailedStreamsFlag; | 
|  | } AM_DVD_RENDERSTATUS; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec; | 
|  | #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__ | 
|  | #define __IDvdGraphBuilder_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDvdGraphBuilder; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDvdGraphBuilder : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppGB) = 0; | 
|  | virtual HRESULT WINAPI GetDvdInterface(REFIID riid,void **ppvIF) = 0; | 
|  | virtual HRESULT WINAPI RenderDvdVideoVolume(LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDvdGraphBuilderVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDvdGraphBuilder *This); | 
|  | ULONG (WINAPI *Release)(IDvdGraphBuilder *This); | 
|  | HRESULT (WINAPI *GetFiltergraph)(IDvdGraphBuilder *This,IGraphBuilder **ppGB); | 
|  | HRESULT (WINAPI *GetDvdInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvIF); | 
|  | HRESULT (WINAPI *RenderDvdVideoVolume)(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus); | 
|  | END_INTERFACE | 
|  | } IDvdGraphBuilderVtbl; | 
|  | struct IDvdGraphBuilder { | 
|  | CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDvdGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDvdGraphBuilder_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) (This)->lpVtbl->GetFiltergraph(This,ppGB) | 
|  | #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) (This)->lpVtbl->GetDvdInterface(This,riid,ppvIF) | 
|  | #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) (This)->lpVtbl->RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDvdGraphBuilder_GetFiltergraph_Proxy(IDvdGraphBuilder *This,IGraphBuilder **ppGB); | 
|  | void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdGraphBuilder_GetDvdInterface_Proxy(IDvdGraphBuilder *This,REFIID riid,void **ppvIF); | 
|  | void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus); | 
|  | void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__ | 
|  | #define __IDDrawExclModeVideo_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDDrawExclModeVideo; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDDrawExclModeVideo : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetDDrawObject(IDirectDraw *pDDrawObject) = 0; | 
|  | virtual HRESULT WINAPI GetDDrawObject(IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal) = 0; | 
|  | virtual HRESULT WINAPI SetDDrawSurface(IDirectDrawSurface *pDDrawSurface) = 0; | 
|  | virtual HRESULT WINAPI GetDDrawSurface(IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal) = 0; | 
|  | virtual HRESULT WINAPI SetDrawParameters(const RECT *prcSource,const RECT *prcTarget) = 0; | 
|  | virtual HRESULT WINAPI GetNativeVideoProps(DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY) = 0; | 
|  | virtual HRESULT WINAPI SetCallbackInterface(IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDDrawExclModeVideoVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideo *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDDrawExclModeVideo *This); | 
|  | ULONG (WINAPI *Release)(IDDrawExclModeVideo *This); | 
|  | HRESULT (WINAPI *SetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject); | 
|  | HRESULT (WINAPI *GetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal); | 
|  | HRESULT (WINAPI *SetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface); | 
|  | HRESULT (WINAPI *GetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal); | 
|  | HRESULT (WINAPI *SetDrawParameters)(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget); | 
|  | HRESULT (WINAPI *GetNativeVideoProps)(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY); | 
|  | HRESULT (WINAPI *SetCallbackInterface)(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags); | 
|  | END_INTERFACE | 
|  | } IDDrawExclModeVideoVtbl; | 
|  | struct IDDrawExclModeVideo { | 
|  | CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDDrawExclModeVideo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDDrawExclModeVideo_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) (This)->lpVtbl->SetDDrawObject(This,pDDrawObject) | 
|  | #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) (This)->lpVtbl->GetDDrawObject(This,ppDDrawObject,pbUsingExternal) | 
|  | #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) (This)->lpVtbl->SetDDrawSurface(This,pDDrawSurface) | 
|  | #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) (This)->lpVtbl->GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) | 
|  | #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) (This)->lpVtbl->SetDrawParameters(This,prcSource,prcTarget) | 
|  | #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) (This)->lpVtbl->GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) | 
|  | #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) (This)->lpVtbl->SetCallbackInterface(This,pCallback,dwFlags) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IDDrawExclModeVideo_SetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject); | 
|  | void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDDrawExclModeVideo_GetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal); | 
|  | void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDDrawExclModeVideo_SetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface); | 
|  | void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDDrawExclModeVideo_GetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal); | 
|  | void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDDrawExclModeVideo_SetDrawParameters_Proxy(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget); | 
|  | void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDDrawExclModeVideo_GetNativeVideoProps_Proxy(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY); | 
|  | void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDDrawExclModeVideo_SetCallbackInterface_Proxy(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags); | 
|  | void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | enum _AM_OVERLAY_NOTIFY_FLAGS { | 
|  | AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec; | 
|  | #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ | 
|  | #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IDDrawExclModeVideoCallback; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IDDrawExclModeVideoCallback : public IUnknown { | 
|  | public: | 
|  | 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; | 
|  | virtual HRESULT WINAPI OnUpdateColorKey(const COLORKEY *pKey,DWORD dwColor) = 0; | 
|  | virtual HRESULT WINAPI OnUpdateSize(DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IDDrawExclModeVideoCallbackVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideoCallback *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IDDrawExclModeVideoCallback *This); | 
|  | ULONG (WINAPI *Release)(IDDrawExclModeVideoCallback *This); | 
|  | 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); | 
|  | HRESULT (WINAPI *OnUpdateColorKey)(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor); | 
|  | HRESULT (WINAPI *OnUpdateSize)(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight); | 
|  | END_INTERFACE | 
|  | } IDDrawExclModeVideoCallbackVtbl; | 
|  | struct IDDrawExclModeVideoCallback { | 
|  | CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IDDrawExclModeVideoCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IDDrawExclModeVideoCallback_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) (This)->lpVtbl->OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) | 
|  | #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) (This)->lpVtbl->OnUpdateColorKey(This,pKey,dwColor) | 
|  | #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) (This)->lpVtbl->OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) | 
|  | #endif | 
|  | #endif | 
|  | 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); | 
|  | void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor); | 
|  | void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight); | 
|  | void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_s_ifspec; | 
|  | #ifndef __IPinConnection_INTERFACE_DEFINED__ | 
|  | #define __IPinConnection_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IPinConnection; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IPinConnection : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI DynamicQueryAccept(const AM_MEDIA_TYPE *pmt) = 0; | 
|  | virtual HRESULT WINAPI NotifyEndOfStream(HANDLE hNotifyEvent) = 0; | 
|  | virtual HRESULT WINAPI IsEndPin(void) = 0; | 
|  | virtual HRESULT WINAPI DynamicDisconnect(void) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IPinConnectionVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IPinConnection *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IPinConnection *This); | 
|  | ULONG (WINAPI *Release)(IPinConnection *This); | 
|  | HRESULT (WINAPI *DynamicQueryAccept)(IPinConnection *This,const AM_MEDIA_TYPE *pmt); | 
|  | HRESULT (WINAPI *NotifyEndOfStream)(IPinConnection *This,HANDLE hNotifyEvent); | 
|  | HRESULT (WINAPI *IsEndPin)(IPinConnection *This); | 
|  | HRESULT (WINAPI *DynamicDisconnect)(IPinConnection *This); | 
|  | END_INTERFACE | 
|  | } IPinConnectionVtbl; | 
|  | struct IPinConnection { | 
|  | CONST_VTBL struct IPinConnectionVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IPinConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPinConnection_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPinConnection_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IPinConnection_DynamicQueryAccept(This,pmt) (This)->lpVtbl->DynamicQueryAccept(This,pmt) | 
|  | #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) (This)->lpVtbl->NotifyEndOfStream(This,hNotifyEvent) | 
|  | #define IPinConnection_IsEndPin(This) (This)->lpVtbl->IsEndPin(This) | 
|  | #define IPinConnection_DynamicDisconnect(This) (This)->lpVtbl->DynamicDisconnect(This) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IPinConnection_DynamicQueryAccept_Proxy(IPinConnection *This,const AM_MEDIA_TYPE *pmt); | 
|  | void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IPinConnection_NotifyEndOfStream_Proxy(IPinConnection *This,HANDLE hNotifyEvent); | 
|  | void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IPinConnection_IsEndPin_Proxy(IPinConnection *This); | 
|  | void __RPC_STUB IPinConnection_IsEndPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IPinConnection_DynamicDisconnect_Proxy(IPinConnection *This); | 
|  | void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPinFlowControl_INTERFACE_DEFINED__ | 
|  | #define __IPinFlowControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IPinFlowControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IPinFlowControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI Block(DWORD dwBlockFlags,HANDLE hEvent) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IPinFlowControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IPinFlowControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IPinFlowControl *This); | 
|  | ULONG (WINAPI *Release)(IPinFlowControl *This); | 
|  | HRESULT (WINAPI *Block)(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent); | 
|  | END_INTERFACE | 
|  | } IPinFlowControlVtbl; | 
|  | struct IPinFlowControl { | 
|  | CONST_VTBL struct IPinFlowControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IPinFlowControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPinFlowControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPinFlowControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) (This)->lpVtbl->Block(This,dwBlockFlags,hEvent) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IPinFlowControl_Block_Proxy(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent); | 
|  | void __RPC_STUB IPinFlowControl_Block_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS { | 
|  | AM_PIN_FLOW_CONTROL_BLOCK = 0x1 | 
|  | }; | 
|  | typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS { | 
|  | AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2, | 
|  | AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4 | 
|  | } AM_GRAPH_CONFIG_RECONNECT_FLAGS; | 
|  |  | 
|  | enum _REM_FILTER_FLAGS { | 
|  | REMFILTERF_LEAVECONNECTED = 0x1 | 
|  | }; | 
|  |  | 
|  | typedef enum _AM_FILTER_FLAGS { | 
|  | AM_FILTER_FLAGS_REMOVABLE = 0x1 | 
|  | } AM_FILTER_FLAGS; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec; | 
|  | #ifndef __IGraphConfig_INTERFACE_DEFINED__ | 
|  | #define __IGraphConfig_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IGraphConfig; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IGraphConfig : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI Reconnect(IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags) = 0; | 
|  | virtual HRESULT WINAPI Reconfigure(IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent) = 0; | 
|  | virtual HRESULT WINAPI AddFilterToCache(IBaseFilter *pFilter) = 0; | 
|  | virtual HRESULT WINAPI EnumCacheFilter(IEnumFilters **pEnum) = 0; | 
|  | virtual HRESULT WINAPI RemoveFilterFromCache(IBaseFilter *pFilter) = 0; | 
|  | virtual HRESULT WINAPI GetStartTime(REFERENCE_TIME *prtStart) = 0; | 
|  | virtual HRESULT WINAPI PushThroughData(IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort) = 0; | 
|  | virtual HRESULT WINAPI SetFilterFlags(IBaseFilter *pFilter,DWORD dwFlags) = 0; | 
|  | virtual HRESULT WINAPI GetFilterFlags(IBaseFilter *pFilter,DWORD *pdwFlags) = 0; | 
|  | virtual HRESULT WINAPI RemoveFilterEx(IBaseFilter *pFilter,DWORD Flags) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IGraphConfigVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IGraphConfig *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IGraphConfig *This); | 
|  | ULONG (WINAPI *Release)(IGraphConfig *This); | 
|  | HRESULT (WINAPI *Reconnect)(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags); | 
|  | HRESULT (WINAPI *Reconfigure)(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent); | 
|  | HRESULT (WINAPI *AddFilterToCache)(IGraphConfig *This,IBaseFilter *pFilter); | 
|  | HRESULT (WINAPI *EnumCacheFilter)(IGraphConfig *This,IEnumFilters **pEnum); | 
|  | HRESULT (WINAPI *RemoveFilterFromCache)(IGraphConfig *This,IBaseFilter *pFilter); | 
|  | HRESULT (WINAPI *GetStartTime)(IGraphConfig *This,REFERENCE_TIME *prtStart); | 
|  | HRESULT (WINAPI *PushThroughData)(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort); | 
|  | HRESULT (WINAPI *SetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags); | 
|  | HRESULT (WINAPI *GetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags); | 
|  | HRESULT (WINAPI *RemoveFilterEx)(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags); | 
|  | END_INTERFACE | 
|  | } IGraphConfigVtbl; | 
|  | struct IGraphConfig { | 
|  | CONST_VTBL struct IGraphConfigVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IGraphConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IGraphConfig_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IGraphConfig_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) (This)->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) | 
|  | #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) (This)->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) | 
|  | #define IGraphConfig_AddFilterToCache(This,pFilter) (This)->lpVtbl->AddFilterToCache(This,pFilter) | 
|  | #define IGraphConfig_EnumCacheFilter(This,pEnum) (This)->lpVtbl->EnumCacheFilter(This,pEnum) | 
|  | #define IGraphConfig_RemoveFilterFromCache(This,pFilter) (This)->lpVtbl->RemoveFilterFromCache(This,pFilter) | 
|  | #define IGraphConfig_GetStartTime(This,prtStart) (This)->lpVtbl->GetStartTime(This,prtStart) | 
|  | #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) (This)->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort) | 
|  | #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) (This)->lpVtbl->SetFilterFlags(This,pFilter,dwFlags) | 
|  | #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) (This)->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags) | 
|  | #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) (This)->lpVtbl->RemoveFilterEx(This,pFilter,Flags) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IGraphConfig_Reconnect_Proxy(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags); | 
|  | void __RPC_STUB IGraphConfig_Reconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_Reconfigure_Proxy(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent); | 
|  | void __RPC_STUB IGraphConfig_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_AddFilterToCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter); | 
|  | void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_EnumCacheFilter_Proxy(IGraphConfig *This,IEnumFilters **pEnum); | 
|  | void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_RemoveFilterFromCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter); | 
|  | void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_GetStartTime_Proxy(IGraphConfig *This,REFERENCE_TIME *prtStart); | 
|  | void __RPC_STUB IGraphConfig_GetStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_PushThroughData_Proxy(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort); | 
|  | void __RPC_STUB IGraphConfig_PushThroughData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_SetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags); | 
|  | void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_GetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags); | 
|  | void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IGraphConfig_RemoveFilterEx_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags); | 
|  | void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__ | 
|  | #define __IGraphConfigCallback_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IGraphConfigCallback; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IGraphConfigCallback : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI Reconfigure(PVOID pvContext,DWORD dwFlags) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IGraphConfigCallbackVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IGraphConfigCallback *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IGraphConfigCallback *This); | 
|  | ULONG (WINAPI *Release)(IGraphConfigCallback *This); | 
|  | HRESULT (WINAPI *Reconfigure)(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags); | 
|  | END_INTERFACE | 
|  | } IGraphConfigCallbackVtbl; | 
|  | struct IGraphConfigCallback { | 
|  | CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IGraphConfigCallback_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IGraphConfigCallback_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) (This)->lpVtbl->Reconfigure(This,pvContext,dwFlags) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IGraphConfigCallback_Reconfigure_Proxy(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags); | 
|  | void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IFilterChain_INTERFACE_DEFINED__ | 
|  | #define __IFilterChain_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IFilterChain; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IFilterChain : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI StartChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0; | 
|  | virtual HRESULT WINAPI PauseChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0; | 
|  | virtual HRESULT WINAPI StopChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0; | 
|  | virtual HRESULT WINAPI RemoveChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IFilterChainVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IFilterChain *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IFilterChain *This); | 
|  | ULONG (WINAPI *Release)(IFilterChain *This); | 
|  | HRESULT (WINAPI *StartChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); | 
|  | HRESULT (WINAPI *PauseChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); | 
|  | HRESULT (WINAPI *StopChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); | 
|  | HRESULT (WINAPI *RemoveChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); | 
|  | END_INTERFACE | 
|  | } IFilterChainVtbl; | 
|  | struct IFilterChain { | 
|  | CONST_VTBL struct IFilterChainVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IFilterChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IFilterChain_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IFilterChain_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StartChain(This,pStartFilter,pEndFilter) | 
|  | #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->PauseChain(This,pStartFilter,pEndFilter) | 
|  | #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StopChain(This,pStartFilter,pEndFilter) | 
|  | #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IFilterChain_StartChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); | 
|  | void __RPC_STUB IFilterChain_StartChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IFilterChain_PauseChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); | 
|  | void __RPC_STUB IFilterChain_PauseChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IFilterChain_StopChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); | 
|  | void __RPC_STUB IFilterChain_StopChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IFilterChain_RemoveChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter); | 
|  | void __RPC_STUB IFilterChain_RemoveChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0397_0002 { | 
|  | VMRSample_SyncPoint = 0x1,VMRSample_Preroll = 0x2,VMRSample_Discontinuity = 0x4,VMRSample_TimeValid = 0x8,VMRSample_SrcDstRectsValid = 0x10 | 
|  | } VMRPresentationFlags; | 
|  |  | 
|  | typedef struct tagVMRPRESENTATIONINFO { | 
|  | DWORD dwFlags; | 
|  | LPDIRECTDRAWSURFACE7 lpSurf; | 
|  | REFERENCE_TIME rtStart; | 
|  | REFERENCE_TIME rtEnd; | 
|  | SIZE szAspectRatio; | 
|  | RECT rcSrc; | 
|  | RECT rcDst; | 
|  | DWORD dwTypeSpecificFlags; | 
|  | DWORD dwInterlaceFlags; | 
|  | } VMRPRESENTATIONINFO; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec; | 
|  | #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__ | 
|  | #define __IVMRImagePresenter_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRImagePresenter; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRImagePresenter : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI StartPresenting(DWORD_PTR dwUserID) = 0; | 
|  | virtual HRESULT WINAPI StopPresenting(DWORD_PTR dwUserID) = 0; | 
|  | virtual HRESULT WINAPI PresentImage(DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRImagePresenterVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRImagePresenter *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRImagePresenter *This); | 
|  | ULONG (WINAPI *Release)(IVMRImagePresenter *This); | 
|  | HRESULT (WINAPI *StartPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID); | 
|  | HRESULT (WINAPI *StopPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID); | 
|  | HRESULT (WINAPI *PresentImage)(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo); | 
|  | END_INTERFACE | 
|  | } IVMRImagePresenterVtbl; | 
|  | struct IVMRImagePresenter { | 
|  | CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRImagePresenter_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRImagePresenter_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRImagePresenter_StartPresenting(This,dwUserID) (This)->lpVtbl->StartPresenting(This,dwUserID) | 
|  | #define IVMRImagePresenter_StopPresenting(This,dwUserID) (This)->lpVtbl->StopPresenting(This,dwUserID) | 
|  | #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) (This)->lpVtbl->PresentImage(This,dwUserID,lpPresInfo) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRImagePresenter_StartPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID); | 
|  | void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRImagePresenter_StopPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID); | 
|  | void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRImagePresenter_PresentImage_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo); | 
|  | void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0398_0001 { | 
|  | AMAP_PIXELFORMAT_VALID = 0x1,AMAP_3D_TARGET = 0x2,AMAP_ALLOW_SYSMEM = 0x4,AMAP_FORCE_SYSMEM = 0x8,AMAP_DIRECTED_FLIP = 0x10,AMAP_DXVA_TARGET = 0x20 | 
|  | } VMRSurfaceAllocationFlags; | 
|  |  | 
|  | typedef struct tagVMRALLOCATIONINFO { | 
|  | DWORD dwFlags; | 
|  | LPBITMAPINFOHEADER lpHdr; | 
|  | LPDDPIXELFORMAT lpPixFmt; | 
|  | SIZE szAspectRatio; | 
|  | DWORD dwMinBuffers; | 
|  | DWORD dwMaxBuffers; | 
|  | DWORD dwInterlaceFlags; | 
|  | SIZE szNativeSize; | 
|  | } VMRALLOCATIONINFO; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec; | 
|  | #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__ | 
|  | #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRSurfaceAllocator; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRSurfaceAllocator : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI AllocateSurface(DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface) = 0; | 
|  | virtual HRESULT WINAPI FreeSurface(DWORD_PTR dwID) = 0; | 
|  | virtual HRESULT WINAPI PrepareSurface(DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags) = 0; | 
|  | virtual HRESULT WINAPI AdviseNotify(IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRSurfaceAllocatorVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocator *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRSurfaceAllocator *This); | 
|  | ULONG (WINAPI *Release)(IVMRSurfaceAllocator *This); | 
|  | HRESULT (WINAPI *AllocateSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface); | 
|  | HRESULT (WINAPI *FreeSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwID); | 
|  | HRESULT (WINAPI *PrepareSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags); | 
|  | HRESULT (WINAPI *AdviseNotify)(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify); | 
|  | END_INTERFACE | 
|  | } IVMRSurfaceAllocatorVtbl; | 
|  | struct IVMRSurfaceAllocator { | 
|  | CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRSurfaceAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRSurfaceAllocator_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) (This)->lpVtbl->AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) | 
|  | #define IVMRSurfaceAllocator_FreeSurface(This,dwID) (This)->lpVtbl->FreeSurface(This,dwID) | 
|  | #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) (This)->lpVtbl->PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) | 
|  | #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) (This)->lpVtbl->AdviseNotify(This,lpIVMRSurfAllocNotify) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRSurfaceAllocator_AllocateSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface); | 
|  | void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurfaceAllocator_FreeSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwID); | 
|  | void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurfaceAllocator_PrepareSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags); | 
|  | void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurfaceAllocator_AdviseNotify_Proxy(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify); | 
|  | void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ | 
|  | #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRSurfaceAllocatorNotify : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI AdviseSurfaceAllocator(DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0; | 
|  | virtual HRESULT WINAPI SetDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0; | 
|  | virtual HRESULT WINAPI ChangeDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0; | 
|  | virtual HRESULT WINAPI RestoreDDrawSurfaces(void) = 0; | 
|  | virtual HRESULT WINAPI NotifyEvent(LONG EventCode,LONG_PTR Param1,LONG_PTR Param2) = 0; | 
|  | virtual HRESULT WINAPI SetBorderColor(COLORREF clrBorder) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRSurfaceAllocatorNotifyVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocatorNotify *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRSurfaceAllocatorNotify *This); | 
|  | ULONG (WINAPI *Release)(IVMRSurfaceAllocatorNotify *This); | 
|  | HRESULT (WINAPI *AdviseSurfaceAllocator)(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator); | 
|  | HRESULT (WINAPI *SetDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); | 
|  | HRESULT (WINAPI *ChangeDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); | 
|  | HRESULT (WINAPI *RestoreDDrawSurfaces)(IVMRSurfaceAllocatorNotify *This); | 
|  | HRESULT (WINAPI *NotifyEvent)(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2); | 
|  | HRESULT (WINAPI *SetBorderColor)(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder); | 
|  | END_INTERFACE | 
|  | } IVMRSurfaceAllocatorNotifyVtbl; | 
|  | struct IVMRSurfaceAllocatorNotify { | 
|  | CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRSurfaceAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRSurfaceAllocatorNotify_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) (This)->lpVtbl->AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) | 
|  | #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->SetDDrawDevice(This,lpDDrawDevice,hMonitor) | 
|  | #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) | 
|  | #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) (This)->lpVtbl->RestoreDDrawSurfaces(This) | 
|  | #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) (This)->lpVtbl->NotifyEvent(This,EventCode,Param1,Param2) | 
|  | #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) (This)->lpVtbl->SetBorderColor(This,clrBorder) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator); | 
|  | void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); | 
|  | void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor); | 
|  | void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(IVMRSurfaceAllocatorNotify *This); | 
|  | void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2); | 
|  | void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder); | 
|  | void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0400_0001 { | 
|  | VMR_ARMODE_NONE = 0,VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1 | 
|  | } VMR_ASPECT_RATIO_MODE; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec; | 
|  | #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__ | 
|  | #define __IVMRWindowlessControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRWindowlessControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRWindowlessControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetNativeVideoSize(LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight) = 0; | 
|  | virtual HRESULT WINAPI GetMinIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0; | 
|  | virtual HRESULT WINAPI GetMaxIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0; | 
|  | virtual HRESULT WINAPI SetVideoPosition(const LPRECT lpSRCRect,const LPRECT lpDSTRect) = 0; | 
|  | virtual HRESULT WINAPI GetVideoPosition(LPRECT lpSRCRect,LPRECT lpDSTRect) = 0; | 
|  | virtual HRESULT WINAPI GetAspectRatioMode(DWORD *lpAspectRatioMode) = 0; | 
|  | virtual HRESULT WINAPI SetAspectRatioMode(DWORD AspectRatioMode) = 0; | 
|  | virtual HRESULT WINAPI SetVideoClippingWindow(HWND hwnd) = 0; | 
|  | virtual HRESULT WINAPI RepaintVideo(HWND hwnd,HDC hdc) = 0; | 
|  | virtual HRESULT WINAPI DisplayModeChanged(void) = 0; | 
|  | virtual HRESULT WINAPI GetCurrentImage(BYTE **lpDib) = 0; | 
|  | virtual HRESULT WINAPI SetBorderColor(COLORREF Clr) = 0; | 
|  | virtual HRESULT WINAPI GetBorderColor(COLORREF *lpClr) = 0; | 
|  | virtual HRESULT WINAPI SetColorKey(COLORREF Clr) = 0; | 
|  | virtual HRESULT WINAPI GetColorKey(COLORREF *lpClr) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRWindowlessControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRWindowlessControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRWindowlessControl *This); | 
|  | ULONG (WINAPI *Release)(IVMRWindowlessControl *This); | 
|  | HRESULT (WINAPI *GetNativeVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight); | 
|  | HRESULT (WINAPI *GetMinIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); | 
|  | HRESULT (WINAPI *GetMaxIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); | 
|  | HRESULT (WINAPI *SetVideoPosition)(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect); | 
|  | HRESULT (WINAPI *GetVideoPosition)(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect); | 
|  | HRESULT (WINAPI *GetAspectRatioMode)(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode); | 
|  | HRESULT (WINAPI *SetAspectRatioMode)(IVMRWindowlessControl *This,DWORD AspectRatioMode); | 
|  | HRESULT (WINAPI *SetVideoClippingWindow)(IVMRWindowlessControl *This,HWND hwnd); | 
|  | HRESULT (WINAPI *RepaintVideo)(IVMRWindowlessControl *This,HWND hwnd,HDC hdc); | 
|  | HRESULT (WINAPI *DisplayModeChanged)(IVMRWindowlessControl *This); | 
|  | HRESULT (WINAPI *GetCurrentImage)(IVMRWindowlessControl *This,BYTE **lpDib); | 
|  | HRESULT (WINAPI *SetBorderColor)(IVMRWindowlessControl *This,COLORREF Clr); | 
|  | HRESULT (WINAPI *GetBorderColor)(IVMRWindowlessControl *This,COLORREF *lpClr); | 
|  | HRESULT (WINAPI *SetColorKey)(IVMRWindowlessControl *This,COLORREF Clr); | 
|  | HRESULT (WINAPI *GetColorKey)(IVMRWindowlessControl *This,COLORREF *lpClr); | 
|  | END_INTERFACE | 
|  | } IVMRWindowlessControlVtbl; | 
|  | struct IVMRWindowlessControl { | 
|  | CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRWindowlessControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRWindowlessControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) (This)->lpVtbl->GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) | 
|  | #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMinIdealVideoSize(This,lpWidth,lpHeight) | 
|  | #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMaxIdealVideoSize(This,lpWidth,lpHeight) | 
|  | #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->SetVideoPosition(This,lpSRCRect,lpDSTRect) | 
|  | #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->GetVideoPosition(This,lpSRCRect,lpDSTRect) | 
|  | #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,lpAspectRatioMode) | 
|  | #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,AspectRatioMode) | 
|  | #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd) | 
|  | #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc) | 
|  | #define IVMRWindowlessControl_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This) | 
|  | #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) (This)->lpVtbl->GetCurrentImage(This,lpDib) | 
|  | #define IVMRWindowlessControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr) | 
|  | #define IVMRWindowlessControl_GetBorderColor(This,lpClr) (This)->lpVtbl->GetBorderColor(This,lpClr) | 
|  | #define IVMRWindowlessControl_SetColorKey(This,Clr) (This)->lpVtbl->SetColorKey(This,Clr) | 
|  | #define IVMRWindowlessControl_GetColorKey(This,lpClr) (This)->lpVtbl->GetColorKey(This,lpClr) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRWindowlessControl_GetNativeVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight); | 
|  | void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); | 
|  | void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight); | 
|  | void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_SetVideoPosition_Proxy(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect); | 
|  | void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_GetVideoPosition_Proxy(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect); | 
|  | void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_GetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode); | 
|  | void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_SetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD AspectRatioMode); | 
|  | void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_SetVideoClippingWindow_Proxy(IVMRWindowlessControl *This,HWND hwnd); | 
|  | void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_RepaintVideo_Proxy(IVMRWindowlessControl *This,HWND hwnd,HDC hdc); | 
|  | void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_DisplayModeChanged_Proxy(IVMRWindowlessControl *This); | 
|  | void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_GetCurrentImage_Proxy(IVMRWindowlessControl *This,BYTE **lpDib); | 
|  | void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_SetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF Clr); | 
|  | void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_GetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr); | 
|  | void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_SetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF Clr); | 
|  | void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRWindowlessControl_GetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr); | 
|  | void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0401_0001 { | 
|  | MixerPref_NoDecimation = 0x1,MixerPref_DecimateOutput = 0x2,MixerPref_ARAdjustXorY = 0x4,MixerPref_DecimationReserved = 0x8, | 
|  | MixerPref_DecimateMask = 0xf,MixerPref_BiLinearFiltering = 0x10,MixerPref_PointFiltering = 0x20,MixerPref_FilteringMask = 0xf0, | 
|  | MixerPref_RenderTargetRGB = 0x100,MixerPref_RenderTargetYUV = 0x1000,MixerPref_RenderTargetYUV420 = 0x200,MixerPref_RenderTargetYUV422 = 0x400, | 
|  | MixerPref_RenderTargetYUV444 = 0x800,MixerPref_RenderTargetReserved = 0xe000,MixerPref_RenderTargetMask = 0xff00, | 
|  | MixerPref_DynamicSwitchToBOB = 0x10000,MixerPref_DynamicDecimateBy2 = 0x20000,MixerPref_DynamicReserved = 0xc0000, | 
|  | MixerPref_DynamicMask = 0xf0000 | 
|  | } VMRMixerPrefs; | 
|  |  | 
|  | typedef struct _NORMALIZEDRECT { | 
|  | float left; | 
|  | float top; | 
|  | float right; | 
|  | float bottom; | 
|  | } NORMALIZEDRECT; | 
|  |  | 
|  | typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_s_ifspec; | 
|  | #ifndef __IVMRMixerControl_INTERFACE_DEFINED__ | 
|  | #define __IVMRMixerControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRMixerControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRMixerControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetAlpha(DWORD dwStreamID,float Alpha) = 0; | 
|  | virtual HRESULT WINAPI GetAlpha(DWORD dwStreamID,float *pAlpha) = 0; | 
|  | virtual HRESULT WINAPI SetZOrder(DWORD dwStreamID,DWORD dwZ) = 0; | 
|  | virtual HRESULT WINAPI GetZOrder(DWORD dwStreamID,DWORD *pZ) = 0; | 
|  | virtual HRESULT WINAPI SetOutputRect(DWORD dwStreamID,const NORMALIZEDRECT *pRect) = 0; | 
|  | virtual HRESULT WINAPI GetOutputRect(DWORD dwStreamID,NORMALIZEDRECT *pRect) = 0; | 
|  | virtual HRESULT WINAPI SetBackgroundClr(COLORREF ClrBkg) = 0; | 
|  | virtual HRESULT WINAPI GetBackgroundClr(COLORREF *lpClrBkg) = 0; | 
|  | virtual HRESULT WINAPI SetMixingPrefs(DWORD dwMixerPrefs) = 0; | 
|  | virtual HRESULT WINAPI GetMixingPrefs(DWORD *pdwMixerPrefs) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRMixerControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRMixerControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRMixerControl *This); | 
|  | ULONG (WINAPI *Release)(IVMRMixerControl *This); | 
|  | HRESULT (WINAPI *SetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float Alpha); | 
|  | HRESULT (WINAPI *GetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha); | 
|  | HRESULT (WINAPI *SetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ); | 
|  | HRESULT (WINAPI *GetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ); | 
|  | HRESULT (WINAPI *SetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect); | 
|  | HRESULT (WINAPI *GetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect); | 
|  | HRESULT (WINAPI *SetBackgroundClr)(IVMRMixerControl *This,COLORREF ClrBkg); | 
|  | HRESULT (WINAPI *GetBackgroundClr)(IVMRMixerControl *This,COLORREF *lpClrBkg); | 
|  | HRESULT (WINAPI *SetMixingPrefs)(IVMRMixerControl *This,DWORD dwMixerPrefs); | 
|  | HRESULT (WINAPI *GetMixingPrefs)(IVMRMixerControl *This,DWORD *pdwMixerPrefs); | 
|  | END_INTERFACE | 
|  | } IVMRMixerControlVtbl; | 
|  | struct IVMRMixerControl { | 
|  | CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRMixerControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) (This)->lpVtbl->SetAlpha(This,dwStreamID,Alpha) | 
|  | #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) (This)->lpVtbl->GetAlpha(This,dwStreamID,pAlpha) | 
|  | #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetZOrder(This,dwStreamID,dwZ) | 
|  | #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) (This)->lpVtbl->GetZOrder(This,dwStreamID,pZ) | 
|  | #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->SetOutputRect(This,dwStreamID,pRect) | 
|  | #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->GetOutputRect(This,dwStreamID,pRect) | 
|  | #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) (This)->lpVtbl->SetBackgroundClr(This,ClrBkg) | 
|  | #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) (This)->lpVtbl->GetBackgroundClr(This,lpClrBkg) | 
|  | #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) (This)->lpVtbl->SetMixingPrefs(This,dwMixerPrefs) | 
|  | #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) (This)->lpVtbl->GetMixingPrefs(This,pdwMixerPrefs) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRMixerControl_SetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float Alpha); | 
|  | void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_GetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha); | 
|  | void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_SetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ); | 
|  | void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_GetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ); | 
|  | void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_SetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect); | 
|  | void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_GetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect); | 
|  | void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_SetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF ClrBkg); | 
|  | void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_GetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF *lpClrBkg); | 
|  | void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_SetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD dwMixerPrefs); | 
|  | void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerControl_GetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD *pdwMixerPrefs); | 
|  |  | 
|  | void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | typedef struct tagVMRGUID { | 
|  | ::GUID *pGUID; | 
|  | ::GUID GUID; | 
|  | } VMRGUID; | 
|  | #else | 
|  | typedef struct tagVMRGUID { | 
|  | GUID *pGUID; | 
|  | GUID GUID; | 
|  | } VMRGUID; | 
|  | #endif | 
|  |  | 
|  | typedef struct tagVMRMONITORINFO { | 
|  | VMRGUID guid; | 
|  | RECT rcMonitor; | 
|  | HMONITOR hMon; | 
|  | DWORD dwFlags; | 
|  | wchar_t szDevice[32]; | 
|  | wchar_t szDescription[256]; | 
|  | LARGE_INTEGER liDriverVersion; | 
|  | DWORD dwVendorId; | 
|  | DWORD dwDeviceId; | 
|  | DWORD dwSubSysId; | 
|  | DWORD dwRevision; | 
|  | } VMRMONITORINFO; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_s_ifspec; | 
|  | #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__ | 
|  | #define __IVMRMonitorConfig_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRMonitorConfig; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRMonitorConfig : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetMonitor(const VMRGUID *pGUID) = 0; | 
|  | virtual HRESULT WINAPI GetMonitor(VMRGUID *pGUID) = 0; | 
|  | virtual HRESULT WINAPI SetDefaultMonitor(const VMRGUID *pGUID) = 0; | 
|  | virtual HRESULT WINAPI GetDefaultMonitor(VMRGUID *pGUID) = 0; | 
|  | virtual HRESULT WINAPI GetAvailableMonitors(VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRMonitorConfigVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRMonitorConfig *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRMonitorConfig *This); | 
|  | ULONG (WINAPI *Release)(IVMRMonitorConfig *This); | 
|  | HRESULT (WINAPI *SetMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID); | 
|  | HRESULT (WINAPI *GetMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID); | 
|  | HRESULT (WINAPI *SetDefaultMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID); | 
|  | HRESULT (WINAPI *GetDefaultMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID); | 
|  | HRESULT (WINAPI *GetAvailableMonitors)(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices); | 
|  | END_INTERFACE | 
|  | } IVMRMonitorConfigVtbl; | 
|  | struct IVMRMonitorConfig { | 
|  | CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRMonitorConfig_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRMonitorConfig_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRMonitorConfig_SetMonitor(This,pGUID) (This)->lpVtbl->SetMonitor(This,pGUID) | 
|  | #define IVMRMonitorConfig_GetMonitor(This,pGUID) (This)->lpVtbl->GetMonitor(This,pGUID) | 
|  | #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) (This)->lpVtbl->SetDefaultMonitor(This,pGUID) | 
|  | #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) (This)->lpVtbl->GetDefaultMonitor(This,pGUID) | 
|  | #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) (This)->lpVtbl->GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRMonitorConfig_SetMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID); | 
|  | void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMonitorConfig_GetMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID); | 
|  | void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMonitorConfig_SetDefaultMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID); | 
|  | void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMonitorConfig_GetDefaultMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID); | 
|  | void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMonitorConfig_GetAvailableMonitors_Proxy(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices); | 
|  | void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0403_0001 { | 
|  | RenderPrefs_RestrictToInitialMonitor = 0,RenderPrefs_ForceOffscreen = 0x1,RenderPrefs_ForceOverlays = 0x2,RenderPrefs_AllowOverlays = 0, | 
|  | RenderPrefs_AllowOffscreen = 0,RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,RenderPrefs_Reserved = 0x10,RenderPrefs_PreferAGPMemWhenMixing = 0x20, | 
|  | RenderPrefs_Mask = 0x3f | 
|  | } VMRRenderPrefs; | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0403_0002 { | 
|  | VMRMode_Windowed = 0x1,VMRMode_Windowless = 0x2,VMRMode_Renderless = 0x4,VMRMode_Mask = 0x7 | 
|  | } VMRMode; | 
|  |  | 
|  | enum __MIDL___MIDL_itf_strmif_0403_0003 { | 
|  | MAX_NUMBER_OF_STREAMS = 16 | 
|  | }; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec; | 
|  | #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__ | 
|  | #define __IVMRFilterConfig_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRFilterConfig; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRFilterConfig : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetImageCompositor(IVMRImageCompositor *lpVMRImgCompositor) = 0; | 
|  | virtual HRESULT WINAPI SetNumberOfStreams(DWORD dwMaxStreams) = 0; | 
|  | virtual HRESULT WINAPI GetNumberOfStreams(DWORD *pdwMaxStreams) = 0; | 
|  | virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0; | 
|  | virtual HRESULT WINAPI GetRenderingPrefs(DWORD *pdwRenderFlags) = 0; | 
|  | virtual HRESULT WINAPI SetRenderingMode(DWORD Mode) = 0; | 
|  | virtual HRESULT WINAPI GetRenderingMode(DWORD *pMode) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRFilterConfigVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRFilterConfig *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRFilterConfig *This); | 
|  | ULONG (WINAPI *Release)(IVMRFilterConfig *This); | 
|  | HRESULT (WINAPI *SetImageCompositor)(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor); | 
|  | HRESULT (WINAPI *SetNumberOfStreams)(IVMRFilterConfig *This,DWORD dwMaxStreams); | 
|  | HRESULT (WINAPI *GetNumberOfStreams)(IVMRFilterConfig *This,DWORD *pdwMaxStreams); | 
|  | HRESULT (WINAPI *SetRenderingPrefs)(IVMRFilterConfig *This,DWORD dwRenderFlags); | 
|  | HRESULT (WINAPI *GetRenderingPrefs)(IVMRFilterConfig *This,DWORD *pdwRenderFlags); | 
|  | HRESULT (WINAPI *SetRenderingMode)(IVMRFilterConfig *This,DWORD Mode); | 
|  | HRESULT (WINAPI *GetRenderingMode)(IVMRFilterConfig *This,DWORD *pMode); | 
|  | END_INTERFACE | 
|  | } IVMRFilterConfigVtbl; | 
|  | struct IVMRFilterConfig { | 
|  | CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRFilterConfig_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) (This)->lpVtbl->SetImageCompositor(This,lpVMRImgCompositor) | 
|  | #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams) | 
|  | #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams) | 
|  | #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) | 
|  | #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags) | 
|  | #define IVMRFilterConfig_SetRenderingMode(This,Mode) (This)->lpVtbl->SetRenderingMode(This,Mode) | 
|  | #define IVMRFilterConfig_GetRenderingMode(This,pMode) (This)->lpVtbl->GetRenderingMode(This,pMode) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRFilterConfig_SetImageCompositor_Proxy(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor); | 
|  | void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRFilterConfig_SetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD dwMaxStreams); | 
|  | void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRFilterConfig_GetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD *pdwMaxStreams); | 
|  | void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRFilterConfig_SetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD dwRenderFlags); | 
|  | void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRFilterConfig_GetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD *pdwRenderFlags); | 
|  | void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRFilterConfig_SetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD Mode); | 
|  | void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRFilterConfig_GetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD *pMode); | 
|  | void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__ | 
|  | #define __IVMRAspectRatioControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRAspectRatioControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRAspectRatioControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetAspectRatioMode(LPDWORD lpdwARMode) = 0; | 
|  | virtual HRESULT WINAPI SetAspectRatioMode(DWORD dwARMode) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRAspectRatioControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRAspectRatioControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRAspectRatioControl *This); | 
|  | ULONG (WINAPI *Release)(IVMRAspectRatioControl *This); | 
|  | HRESULT (WINAPI *GetAspectRatioMode)(IVMRAspectRatioControl *This,LPDWORD lpdwARMode); | 
|  | HRESULT (WINAPI *SetAspectRatioMode)(IVMRAspectRatioControl *This,DWORD dwARMode); | 
|  | END_INTERFACE | 
|  | } IVMRAspectRatioControlVtbl; | 
|  | struct IVMRAspectRatioControl { | 
|  | CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRAspectRatioControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRAspectRatioControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) (This)->lpVtbl->GetAspectRatioMode(This,lpdwARMode) | 
|  | #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) (This)->lpVtbl->SetAspectRatioMode(This,dwARMode) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRAspectRatioControl_GetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,LPDWORD lpdwARMode); | 
|  | void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRAspectRatioControl_SetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,DWORD dwARMode); | 
|  | void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0405_0001 { | 
|  | DeinterlacePref_NextBest = 0x1,DeinterlacePref_BOB = 0x2,DeinterlacePref_Weave = 0x4,DeinterlacePref_Mask = 0x7 | 
|  | } VMRDeinterlacePrefs; | 
|  |  | 
|  | typedef enum __MIDL___MIDL_itf_strmif_0405_0002 { | 
|  | DeinterlaceTech_Unknown = 0,DeinterlaceTech_BOBLineReplicate = 0x1,DeinterlaceTech_BOBVerticalStretch = 0x2,DeinterlaceTech_MedianFiltering = 0x4, | 
|  | DeinterlaceTech_EdgeFiltering = 0x10,DeinterlaceTech_FieldAdaptive = 0x20,DeinterlaceTech_PixelAdaptive = 0x40, | 
|  | DeinterlaceTech_MotionVectorSteered = 0x80 | 
|  | } VMRDeinterlaceTech; | 
|  |  | 
|  | typedef struct _VMRFrequency { | 
|  | DWORD dwNumerator; | 
|  | DWORD dwDenominator; | 
|  | } VMRFrequency; | 
|  |  | 
|  | typedef struct _VMRVideoDesc { | 
|  | DWORD dwSize; | 
|  | DWORD dwSampleWidth; | 
|  | DWORD dwSampleHeight; | 
|  | WINBOOL SingleFieldPerSample; | 
|  | DWORD dwFourCC; | 
|  | VMRFrequency InputSampleFreq; | 
|  | VMRFrequency OutputFrameFreq; | 
|  | } VMRVideoDesc; | 
|  |  | 
|  | typedef struct _VMRDeinterlaceCaps { | 
|  | DWORD dwSize; | 
|  | DWORD dwNumPreviousOutputFrames; | 
|  | DWORD dwNumForwardRefSamples; | 
|  | DWORD dwNumBackwardRefSamples; | 
|  | VMRDeinterlaceTech DeinterlaceTechnology; | 
|  | } VMRDeinterlaceCaps; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_s_ifspec; | 
|  | #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__ | 
|  | #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRDeinterlaceControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRDeinterlaceControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI GetNumberOfDeinterlaceModes(VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes) = 0; | 
|  | virtual HRESULT WINAPI GetDeinterlaceModeCaps(LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0; | 
|  | virtual HRESULT WINAPI GetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; | 
|  | virtual HRESULT WINAPI SetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; | 
|  | virtual HRESULT WINAPI GetDeinterlacePrefs(LPDWORD lpdwDeinterlacePrefs) = 0; | 
|  | virtual HRESULT WINAPI SetDeinterlacePrefs(DWORD dwDeinterlacePrefs) = 0; | 
|  | virtual HRESULT WINAPI GetActualDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRDeinterlaceControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRDeinterlaceControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRDeinterlaceControl *This); | 
|  | ULONG (WINAPI *Release)(IVMRDeinterlaceControl *This); | 
|  | HRESULT (WINAPI *GetNumberOfDeinterlaceModes)(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes); | 
|  | HRESULT (WINAPI *GetDeinterlaceModeCaps)(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps); | 
|  | HRESULT (WINAPI *GetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); | 
|  | HRESULT (WINAPI *SetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); | 
|  | HRESULT (WINAPI *GetDeinterlacePrefs)(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs); | 
|  | HRESULT (WINAPI *SetDeinterlacePrefs)(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs); | 
|  | HRESULT (WINAPI *GetActualDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); | 
|  | END_INTERFACE | 
|  | } IVMRDeinterlaceControlVtbl; | 
|  | struct IVMRDeinterlaceControl { | 
|  | CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRDeinterlaceControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRDeinterlaceControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) | 
|  | #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) | 
|  | #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) | 
|  | #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) | 
|  | #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) (This)->lpVtbl->GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) | 
|  | #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) (This)->lpVtbl->SetDeinterlacePrefs(This,dwDeinterlacePrefs) | 
|  | #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes); | 
|  | void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps); | 
|  | void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); | 
|  | void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); | 
|  | void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs); | 
|  | void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs); | 
|  | void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode); | 
|  | void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef struct _VMRALPHABITMAP { | 
|  | DWORD dwFlags; | 
|  | HDC hdc; | 
|  | LPDIRECTDRAWSURFACE7 pDDS; | 
|  | RECT rSrc; | 
|  | NORMALIZEDRECT rDest; | 
|  | FLOAT fAlpha; | 
|  | COLORREF clrSrcKey; | 
|  | } VMRALPHABITMAP; | 
|  |  | 
|  | typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP; | 
|  |  | 
|  | #define VMRBITMAP_DISABLE 0x00000001 | 
|  | #define VMRBITMAP_HDC 0x00000002 | 
|  | #define VMRBITMAP_ENTIREDDS 0x00000004 | 
|  | #define VMRBITMAP_SRCCOLORKEY 0x00000008 | 
|  | #define VMRBITMAP_SRCRECT 0x00000010 | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec; | 
|  | #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__ | 
|  | #define __IVMRMixerBitmap_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRMixerBitmap; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRMixerBitmap : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetAlphaBitmap(const VMRALPHABITMAP *pBmpParms) = 0; | 
|  | virtual HRESULT WINAPI UpdateAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0; | 
|  | virtual HRESULT WINAPI GetAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRMixerBitmapVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRMixerBitmap *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRMixerBitmap *This); | 
|  | ULONG (WINAPI *Release)(IVMRMixerBitmap *This); | 
|  | HRESULT (WINAPI *SetAlphaBitmap)(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms); | 
|  | HRESULT (WINAPI *UpdateAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); | 
|  | HRESULT (WINAPI *GetAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); | 
|  | END_INTERFACE | 
|  | } IVMRMixerBitmapVtbl; | 
|  | struct IVMRMixerBitmap { | 
|  | CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRMixerBitmap_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) (This)->lpVtbl->SetAlphaBitmap(This,pBmpParms) | 
|  | #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,pBmpParms) | 
|  | #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->GetAlphaBitmapParameters(This,pBmpParms) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRMixerBitmap_SetAlphaBitmap_Proxy(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms); | 
|  | void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); | 
|  | void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms); | 
|  | void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | typedef struct _VMRVIDEOSTREAMINFO { | 
|  | LPDIRECTDRAWSURFACE7 pddsVideoSurface; | 
|  | DWORD dwWidth; | 
|  | DWORD dwHeight; | 
|  | DWORD dwStrmID; | 
|  | FLOAT fAlpha; | 
|  | DDCOLORKEY ddClrKey; | 
|  | NORMALIZEDRECT rNormal; | 
|  | } VMRVIDEOSTREAMINFO; | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_s_ifspec; | 
|  | #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__ | 
|  | #define __IVMRImageCompositor_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRImageCompositor; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRImageCompositor : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI InitCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0; | 
|  | virtual HRESULT WINAPI TermCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0; | 
|  | virtual HRESULT WINAPI SetStreamMediaType(DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture) = 0; | 
|  | 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; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRImageCompositorVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRImageCompositor *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRImageCompositor *This); | 
|  | ULONG (WINAPI *Release)(IVMRImageCompositor *This); | 
|  | HRESULT (WINAPI *InitCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); | 
|  | HRESULT (WINAPI *TermCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); | 
|  | HRESULT (WINAPI *SetStreamMediaType)(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture); | 
|  | 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); | 
|  | END_INTERFACE | 
|  | } IVMRImageCompositorVtbl; | 
|  | struct IVMRImageCompositor { | 
|  | CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRImageCompositor_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRImageCompositor_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) | 
|  | #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) | 
|  | #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) (This)->lpVtbl->SetStreamMediaType(This,dwStrmID,pmt,fTexture) | 
|  | #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) (This)->lpVtbl->CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRImageCompositor_InitCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); | 
|  | void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRImageCompositor_TermCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget); | 
|  | void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRImageCompositor_SetStreamMediaType_Proxy(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture); | 
|  | void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | 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); | 
|  | void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__ | 
|  | #define __IVMRVideoStreamControl_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRVideoStreamControl; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRVideoStreamControl : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetColorKey(LPDDCOLORKEY lpClrKey) = 0; | 
|  | virtual HRESULT WINAPI GetColorKey(LPDDCOLORKEY lpClrKey) = 0; | 
|  | virtual HRESULT WINAPI SetStreamActiveState(WINBOOL fActive) = 0; | 
|  | virtual HRESULT WINAPI GetStreamActiveState(WINBOOL *lpfActive) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRVideoStreamControlVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRVideoStreamControl *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRVideoStreamControl *This); | 
|  | ULONG (WINAPI *Release)(IVMRVideoStreamControl *This); | 
|  | HRESULT (WINAPI *SetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); | 
|  | HRESULT (WINAPI *GetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); | 
|  | HRESULT (WINAPI *SetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL fActive); | 
|  | HRESULT (WINAPI *GetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL *lpfActive); | 
|  | END_INTERFACE | 
|  | } IVMRVideoStreamControlVtbl; | 
|  | struct IVMRVideoStreamControl { | 
|  | CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRVideoStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRVideoStreamControl_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) (This)->lpVtbl->SetColorKey(This,lpClrKey) | 
|  | #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) (This)->lpVtbl->GetColorKey(This,lpClrKey) | 
|  | #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) (This)->lpVtbl->SetStreamActiveState(This,fActive) | 
|  | #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) (This)->lpVtbl->GetStreamActiveState(This,lpfActive) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRVideoStreamControl_SetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); | 
|  | void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRVideoStreamControl_GetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey); | 
|  | void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRVideoStreamControl_SetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL fActive); | 
|  | void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRVideoStreamControl_GetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL *lpfActive); | 
|  | void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRSurface_INTERFACE_DEFINED__ | 
|  | #define __IVMRSurface_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRSurface; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRSurface : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI IsSurfaceLocked(void) = 0; | 
|  | virtual HRESULT WINAPI LockSurface(BYTE **lpSurface) = 0; | 
|  | virtual HRESULT WINAPI UnlockSurface(void) = 0; | 
|  | virtual HRESULT WINAPI GetSurface(LPDIRECTDRAWSURFACE7 *lplpSurface) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRSurfaceVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRSurface *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRSurface *This); | 
|  | ULONG (WINAPI *Release)(IVMRSurface *This); | 
|  | HRESULT (WINAPI *IsSurfaceLocked)(IVMRSurface *This); | 
|  | HRESULT (WINAPI *LockSurface)(IVMRSurface *This,BYTE **lpSurface); | 
|  | HRESULT (WINAPI *UnlockSurface)(IVMRSurface *This); | 
|  | HRESULT (WINAPI *GetSurface)(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface); | 
|  | END_INTERFACE | 
|  | } IVMRSurfaceVtbl; | 
|  | struct IVMRSurface { | 
|  | CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRSurface_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRSurface_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRSurface_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This) | 
|  | #define IVMRSurface_LockSurface(This,lpSurface) (This)->lpVtbl->LockSurface(This,lpSurface) | 
|  | #define IVMRSurface_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This) | 
|  | #define IVMRSurface_GetSurface(This,lplpSurface) (This)->lpVtbl->GetSurface(This,lplpSurface) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRSurface_IsSurfaceLocked_Proxy(IVMRSurface *This); | 
|  | void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurface_LockSurface_Proxy(IVMRSurface *This,BYTE **lpSurface); | 
|  | void __RPC_STUB IVMRSurface_LockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurface_UnlockSurface_Proxy(IVMRSurface *This); | 
|  | void __RPC_STUB IVMRSurface_UnlockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRSurface_GetSurface_Proxy(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface); | 
|  | void __RPC_STUB IVMRSurface_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__ | 
|  | #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRImagePresenterConfig; | 
|  |  | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRImagePresenterConfig : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0; | 
|  | virtual HRESULT WINAPI GetRenderingPrefs(DWORD *dwRenderFlags) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRImagePresenterConfigVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterConfig *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRImagePresenterConfig *This); | 
|  | ULONG (WINAPI *Release)(IVMRImagePresenterConfig *This); | 
|  | HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD dwRenderFlags); | 
|  | HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags); | 
|  | END_INTERFACE | 
|  | } IVMRImagePresenterConfigVtbl; | 
|  | struct IVMRImagePresenterConfig { | 
|  | CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRImagePresenterConfig_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRImagePresenterConfig_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) | 
|  | #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD dwRenderFlags); | 
|  | void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags); | 
|  | void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ | 
|  | #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0; | 
|  | virtual HRESULT WINAPI GetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVMRImagePresenterExclModeConfigVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterExclModeConfig *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVMRImagePresenterExclModeConfig *This); | 
|  | ULONG (WINAPI *Release)(IVMRImagePresenterExclModeConfig *This); | 
|  | HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD dwRenderFlags); | 
|  | HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD *dwRenderFlags); | 
|  | HRESULT (WINAPI *SetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf); | 
|  | HRESULT (WINAPI *GetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf); | 
|  | END_INTERFACE | 
|  | } IVMRImagePresenterExclModeConfigVtbl; | 
|  | struct IVMRImagePresenterExclModeConfig { | 
|  | CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVMRImagePresenterExclModeConfig_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVMRImagePresenterExclModeConfig_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags) | 
|  | #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags) | 
|  | #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) | 
|  | #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf); | 
|  | void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf); | 
|  | void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | #ifndef __IVPManager_INTERFACE_DEFINED__ | 
|  | #define __IVPManager_INTERFACE_DEFINED__ | 
|  | EXTERN_C const IID IID_IVPManager; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IVPManager : public IUnknown { | 
|  | public: | 
|  | virtual HRESULT WINAPI SetVideoPortIndex(DWORD dwVideoPortIndex) = 0; | 
|  | virtual HRESULT WINAPI GetVideoPortIndex(DWORD *pdwVideoPortIndex) = 0; | 
|  | }; | 
|  | #else | 
|  | typedef struct IVPManagerVtbl { | 
|  | BEGIN_INTERFACE | 
|  | HRESULT (WINAPI *QueryInterface)(IVPManager *This,REFIID riid,void **ppvObject); | 
|  | ULONG (WINAPI *AddRef)(IVPManager *This); | 
|  | ULONG (WINAPI *Release)(IVPManager *This); | 
|  | HRESULT (WINAPI *SetVideoPortIndex)(IVPManager *This,DWORD dwVideoPortIndex); | 
|  | HRESULT (WINAPI *GetVideoPortIndex)(IVPManager *This,DWORD *pdwVideoPortIndex); | 
|  | END_INTERFACE | 
|  | } IVPManagerVtbl; | 
|  | struct IVPManager { | 
|  | CONST_VTBL struct IVPManagerVtbl *lpVtbl; | 
|  | }; | 
|  | #ifdef COBJMACROS | 
|  | #define IVPManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IVPManager_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IVPManager_Release(This) (This)->lpVtbl->Release(This) | 
|  | #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) (This)->lpVtbl->SetVideoPortIndex(This,dwVideoPortIndex) | 
|  | #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) (This)->lpVtbl->GetVideoPortIndex(This,pdwVideoPortIndex) | 
|  | #endif | 
|  | #endif | 
|  | HRESULT WINAPI IVPManager_SetVideoPortIndex_Proxy(IVPManager *This,DWORD dwVideoPortIndex); | 
|  | void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | HRESULT WINAPI IVPManager_GetVideoPortIndex_Proxy(IVPManager *This,DWORD *pdwVideoPortIndex); | 
|  | void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); | 
|  | #endif | 
|  |  | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec; | 
|  | extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec; | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __strmif_h__ */ |