summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/strmif.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dxsdk/Include/strmif.h30737
1 files changed, 30737 insertions, 0 deletions
diff --git a/dxsdk/Include/strmif.h b/dxsdk/Include/strmif.h
new file mode 100644
index 00000000..0f8dfc60
--- /dev/null
+++ b/dxsdk/Include/strmif.h
@@ -0,0 +1,30737 @@
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 6.00.0357 */
+/* Compiler settings for strmif.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __strmif_h__
+#define __strmif_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __ICreateDevEnum_FWD_DEFINED__
+#define __ICreateDevEnum_FWD_DEFINED__
+typedef interface ICreateDevEnum ICreateDevEnum;
+#endif /* __ICreateDevEnum_FWD_DEFINED__ */
+
+
+#ifndef __IPin_FWD_DEFINED__
+#define __IPin_FWD_DEFINED__
+typedef interface IPin IPin;
+#endif /* __IPin_FWD_DEFINED__ */
+
+
+#ifndef __IEnumPins_FWD_DEFINED__
+#define __IEnumPins_FWD_DEFINED__
+typedef interface IEnumPins IEnumPins;
+#endif /* __IEnumPins_FWD_DEFINED__ */
+
+
+#ifndef __IEnumMediaTypes_FWD_DEFINED__
+#define __IEnumMediaTypes_FWD_DEFINED__
+typedef interface IEnumMediaTypes IEnumMediaTypes;
+#endif /* __IEnumMediaTypes_FWD_DEFINED__ */
+
+
+#ifndef __IFilterGraph_FWD_DEFINED__
+#define __IFilterGraph_FWD_DEFINED__
+typedef interface IFilterGraph IFilterGraph;
+#endif /* __IFilterGraph_FWD_DEFINED__ */
+
+
+#ifndef __IEnumFilters_FWD_DEFINED__
+#define __IEnumFilters_FWD_DEFINED__
+typedef interface IEnumFilters IEnumFilters;
+#endif /* __IEnumFilters_FWD_DEFINED__ */
+
+
+#ifndef __IMediaFilter_FWD_DEFINED__
+#define __IMediaFilter_FWD_DEFINED__
+typedef interface IMediaFilter IMediaFilter;
+#endif /* __IMediaFilter_FWD_DEFINED__ */
+
+
+#ifndef __IBaseFilter_FWD_DEFINED__
+#define __IBaseFilter_FWD_DEFINED__
+typedef interface IBaseFilter IBaseFilter;
+#endif /* __IBaseFilter_FWD_DEFINED__ */
+
+
+#ifndef __IReferenceClock_FWD_DEFINED__
+#define __IReferenceClock_FWD_DEFINED__
+typedef interface IReferenceClock IReferenceClock;
+#endif /* __IReferenceClock_FWD_DEFINED__ */
+
+
+#ifndef __IReferenceClock2_FWD_DEFINED__
+#define __IReferenceClock2_FWD_DEFINED__
+typedef interface IReferenceClock2 IReferenceClock2;
+#endif /* __IReferenceClock2_FWD_DEFINED__ */
+
+
+#ifndef __IMediaSample_FWD_DEFINED__
+#define __IMediaSample_FWD_DEFINED__
+typedef interface IMediaSample IMediaSample;
+#endif /* __IMediaSample_FWD_DEFINED__ */
+
+
+#ifndef __IMediaSample2_FWD_DEFINED__
+#define __IMediaSample2_FWD_DEFINED__
+typedef interface IMediaSample2 IMediaSample2;
+#endif /* __IMediaSample2_FWD_DEFINED__ */
+
+
+#ifndef __IMemAllocator_FWD_DEFINED__
+#define __IMemAllocator_FWD_DEFINED__
+typedef interface IMemAllocator IMemAllocator;
+#endif /* __IMemAllocator_FWD_DEFINED__ */
+
+
+#ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
+#define __IMemAllocatorCallbackTemp_FWD_DEFINED__
+typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
+#endif /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
+
+
+#ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
+#define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
+typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
+#endif /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
+
+
+#ifndef __IMemInputPin_FWD_DEFINED__
+#define __IMemInputPin_FWD_DEFINED__
+typedef interface IMemInputPin IMemInputPin;
+#endif /* __IMemInputPin_FWD_DEFINED__ */
+
+
+#ifndef __IAMovieSetup_FWD_DEFINED__
+#define __IAMovieSetup_FWD_DEFINED__
+typedef interface IAMovieSetup IAMovieSetup;
+#endif /* __IAMovieSetup_FWD_DEFINED__ */
+
+
+#ifndef __IMediaSeeking_FWD_DEFINED__
+#define __IMediaSeeking_FWD_DEFINED__
+typedef interface IMediaSeeking IMediaSeeking;
+#endif /* __IMediaSeeking_FWD_DEFINED__ */
+
+
+#ifndef __IEnumRegFilters_FWD_DEFINED__
+#define __IEnumRegFilters_FWD_DEFINED__
+typedef interface IEnumRegFilters IEnumRegFilters;
+#endif /* __IEnumRegFilters_FWD_DEFINED__ */
+
+
+#ifndef __IFilterMapper_FWD_DEFINED__
+#define __IFilterMapper_FWD_DEFINED__
+typedef interface IFilterMapper IFilterMapper;
+#endif /* __IFilterMapper_FWD_DEFINED__ */
+
+
+#ifndef __IFilterMapper2_FWD_DEFINED__
+#define __IFilterMapper2_FWD_DEFINED__
+typedef interface IFilterMapper2 IFilterMapper2;
+#endif /* __IFilterMapper2_FWD_DEFINED__ */
+
+
+#ifndef __IFilterMapper3_FWD_DEFINED__
+#define __IFilterMapper3_FWD_DEFINED__
+typedef interface IFilterMapper3 IFilterMapper3;
+#endif /* __IFilterMapper3_FWD_DEFINED__ */
+
+
+#ifndef __IQualityControl_FWD_DEFINED__
+#define __IQualityControl_FWD_DEFINED__
+typedef interface IQualityControl IQualityControl;
+#endif /* __IQualityControl_FWD_DEFINED__ */
+
+
+#ifndef __IOverlayNotify_FWD_DEFINED__
+#define __IOverlayNotify_FWD_DEFINED__
+typedef interface IOverlayNotify IOverlayNotify;
+#endif /* __IOverlayNotify_FWD_DEFINED__ */
+
+
+#ifndef __IOverlayNotify2_FWD_DEFINED__
+#define __IOverlayNotify2_FWD_DEFINED__
+typedef interface IOverlayNotify2 IOverlayNotify2;
+#endif /* __IOverlayNotify2_FWD_DEFINED__ */
+
+
+#ifndef __IOverlay_FWD_DEFINED__
+#define __IOverlay_FWD_DEFINED__
+typedef interface IOverlay IOverlay;
+#endif /* __IOverlay_FWD_DEFINED__ */
+
+
+#ifndef __IMediaEventSink_FWD_DEFINED__
+#define __IMediaEventSink_FWD_DEFINED__
+typedef interface IMediaEventSink IMediaEventSink;
+#endif /* __IMediaEventSink_FWD_DEFINED__ */
+
+
+#ifndef __IFileSourceFilter_FWD_DEFINED__
+#define __IFileSourceFilter_FWD_DEFINED__
+typedef interface IFileSourceFilter IFileSourceFilter;
+#endif /* __IFileSourceFilter_FWD_DEFINED__ */
+
+
+#ifndef __IFileSinkFilter_FWD_DEFINED__
+#define __IFileSinkFilter_FWD_DEFINED__
+typedef interface IFileSinkFilter IFileSinkFilter;
+#endif /* __IFileSinkFilter_FWD_DEFINED__ */
+
+
+#ifndef __IFileSinkFilter2_FWD_DEFINED__
+#define __IFileSinkFilter2_FWD_DEFINED__
+typedef interface IFileSinkFilter2 IFileSinkFilter2;
+#endif /* __IFileSinkFilter2_FWD_DEFINED__ */
+
+
+#ifndef __IGraphBuilder_FWD_DEFINED__
+#define __IGraphBuilder_FWD_DEFINED__
+typedef interface IGraphBuilder IGraphBuilder;
+#endif /* __IGraphBuilder_FWD_DEFINED__ */
+
+
+#ifndef __ICaptureGraphBuilder_FWD_DEFINED__
+#define __ICaptureGraphBuilder_FWD_DEFINED__
+typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
+#endif /* __ICaptureGraphBuilder_FWD_DEFINED__ */
+
+
+#ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
+#define __IAMCopyCaptureFileProgress_FWD_DEFINED__
+typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
+#endif /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
+
+
+#ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
+#define __ICaptureGraphBuilder2_FWD_DEFINED__
+typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
+#endif /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
+
+
+#ifndef __IFilterGraph2_FWD_DEFINED__
+#define __IFilterGraph2_FWD_DEFINED__
+typedef interface IFilterGraph2 IFilterGraph2;
+#endif /* __IFilterGraph2_FWD_DEFINED__ */
+
+
+#ifndef __IStreamBuilder_FWD_DEFINED__
+#define __IStreamBuilder_FWD_DEFINED__
+typedef interface IStreamBuilder IStreamBuilder;
+#endif /* __IStreamBuilder_FWD_DEFINED__ */
+
+
+#ifndef __IAsyncReader_FWD_DEFINED__
+#define __IAsyncReader_FWD_DEFINED__
+typedef interface IAsyncReader IAsyncReader;
+#endif /* __IAsyncReader_FWD_DEFINED__ */
+
+
+#ifndef __IGraphVersion_FWD_DEFINED__
+#define __IGraphVersion_FWD_DEFINED__
+typedef interface IGraphVersion IGraphVersion;
+#endif /* __IGraphVersion_FWD_DEFINED__ */
+
+
+#ifndef __IResourceConsumer_FWD_DEFINED__
+#define __IResourceConsumer_FWD_DEFINED__
+typedef interface IResourceConsumer IResourceConsumer;
+#endif /* __IResourceConsumer_FWD_DEFINED__ */
+
+
+#ifndef __IResourceManager_FWD_DEFINED__
+#define __IResourceManager_FWD_DEFINED__
+typedef interface IResourceManager IResourceManager;
+#endif /* __IResourceManager_FWD_DEFINED__ */
+
+
+#ifndef __IDistributorNotify_FWD_DEFINED__
+#define __IDistributorNotify_FWD_DEFINED__
+typedef interface IDistributorNotify IDistributorNotify;
+#endif /* __IDistributorNotify_FWD_DEFINED__ */
+
+
+#ifndef __IAMStreamControl_FWD_DEFINED__
+#define __IAMStreamControl_FWD_DEFINED__
+typedef interface IAMStreamControl IAMStreamControl;
+#endif /* __IAMStreamControl_FWD_DEFINED__ */
+
+
+#ifndef __ISeekingPassThru_FWD_DEFINED__
+#define __ISeekingPassThru_FWD_DEFINED__
+typedef interface ISeekingPassThru ISeekingPassThru;
+#endif /* __ISeekingPassThru_FWD_DEFINED__ */
+
+
+#ifndef __IAMStreamConfig_FWD_DEFINED__
+#define __IAMStreamConfig_FWD_DEFINED__
+typedef interface IAMStreamConfig IAMStreamConfig;
+#endif /* __IAMStreamConfig_FWD_DEFINED__ */
+
+
+#ifndef __IConfigInterleaving_FWD_DEFINED__
+#define __IConfigInterleaving_FWD_DEFINED__
+typedef interface IConfigInterleaving IConfigInterleaving;
+#endif /* __IConfigInterleaving_FWD_DEFINED__ */
+
+
+#ifndef __IConfigAviMux_FWD_DEFINED__
+#define __IConfigAviMux_FWD_DEFINED__
+typedef interface IConfigAviMux IConfigAviMux;
+#endif /* __IConfigAviMux_FWD_DEFINED__ */
+
+
+#ifndef __IAMVideoCompression_FWD_DEFINED__
+#define __IAMVideoCompression_FWD_DEFINED__
+typedef interface IAMVideoCompression IAMVideoCompression;
+#endif /* __IAMVideoCompression_FWD_DEFINED__ */
+
+
+#ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
+#define __IAMVfwCaptureDialogs_FWD_DEFINED__
+typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
+#endif /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
+
+
+#ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
+#define __IAMVfwCompressDialogs_FWD_DEFINED__
+typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
+#endif /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
+
+
+#ifndef __IAMDroppedFrames_FWD_DEFINED__
+#define __IAMDroppedFrames_FWD_DEFINED__
+typedef interface IAMDroppedFrames IAMDroppedFrames;
+#endif /* __IAMDroppedFrames_FWD_DEFINED__ */
+
+
+#ifndef __IAMAudioInputMixer_FWD_DEFINED__
+#define __IAMAudioInputMixer_FWD_DEFINED__
+typedef interface IAMAudioInputMixer IAMAudioInputMixer;
+#endif /* __IAMAudioInputMixer_FWD_DEFINED__ */
+
+
+#ifndef __IAMBufferNegotiation_FWD_DEFINED__
+#define __IAMBufferNegotiation_FWD_DEFINED__
+typedef interface IAMBufferNegotiation IAMBufferNegotiation;
+#endif /* __IAMBufferNegotiation_FWD_DEFINED__ */
+
+
+#ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
+#define __IAMAnalogVideoDecoder_FWD_DEFINED__
+typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
+#endif /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
+
+
+#ifndef __IAMVideoProcAmp_FWD_DEFINED__
+#define __IAMVideoProcAmp_FWD_DEFINED__
+typedef interface IAMVideoProcAmp IAMVideoProcAmp;
+#endif /* __IAMVideoProcAmp_FWD_DEFINED__ */
+
+
+#ifndef __IAMCameraControl_FWD_DEFINED__
+#define __IAMCameraControl_FWD_DEFINED__
+typedef interface IAMCameraControl IAMCameraControl;
+#endif /* __IAMCameraControl_FWD_DEFINED__ */
+
+
+#ifndef __IAMVideoControl_FWD_DEFINED__
+#define __IAMVideoControl_FWD_DEFINED__
+typedef interface IAMVideoControl IAMVideoControl;
+#endif /* __IAMVideoControl_FWD_DEFINED__ */
+
+
+#ifndef __IAMCrossbar_FWD_DEFINED__
+#define __IAMCrossbar_FWD_DEFINED__
+typedef interface IAMCrossbar IAMCrossbar;
+#endif /* __IAMCrossbar_FWD_DEFINED__ */
+
+
+#ifndef __IAMTuner_FWD_DEFINED__
+#define __IAMTuner_FWD_DEFINED__
+typedef interface IAMTuner IAMTuner;
+#endif /* __IAMTuner_FWD_DEFINED__ */
+
+
+#ifndef __IAMTunerNotification_FWD_DEFINED__
+#define __IAMTunerNotification_FWD_DEFINED__
+typedef interface IAMTunerNotification IAMTunerNotification;
+#endif /* __IAMTunerNotification_FWD_DEFINED__ */
+
+
+#ifndef __IAMTVTuner_FWD_DEFINED__
+#define __IAMTVTuner_FWD_DEFINED__
+typedef interface IAMTVTuner IAMTVTuner;
+#endif /* __IAMTVTuner_FWD_DEFINED__ */
+
+
+#ifndef __IBPCSatelliteTuner_FWD_DEFINED__
+#define __IBPCSatelliteTuner_FWD_DEFINED__
+typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
+#endif /* __IBPCSatelliteTuner_FWD_DEFINED__ */
+
+
+#ifndef __IAMTVAudio_FWD_DEFINED__
+#define __IAMTVAudio_FWD_DEFINED__
+typedef interface IAMTVAudio IAMTVAudio;
+#endif /* __IAMTVAudio_FWD_DEFINED__ */
+
+
+#ifndef __IAMTVAudioNotification_FWD_DEFINED__
+#define __IAMTVAudioNotification_FWD_DEFINED__
+typedef interface IAMTVAudioNotification IAMTVAudioNotification;
+#endif /* __IAMTVAudioNotification_FWD_DEFINED__ */
+
+
+#ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
+#define __IAMAnalogVideoEncoder_FWD_DEFINED__
+typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
+#endif /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
+
+
+#ifndef __IKsPropertySet_FWD_DEFINED__
+#define __IKsPropertySet_FWD_DEFINED__
+typedef interface IKsPropertySet IKsPropertySet;
+#endif /* __IKsPropertySet_FWD_DEFINED__ */
+
+
+#ifndef __IMediaPropertyBag_FWD_DEFINED__
+#define __IMediaPropertyBag_FWD_DEFINED__
+typedef interface IMediaPropertyBag IMediaPropertyBag;
+#endif /* __IMediaPropertyBag_FWD_DEFINED__ */
+
+
+#ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
+#define __IPersistMediaPropertyBag_FWD_DEFINED__
+typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
+#endif /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
+
+
+#ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
+#define __IAMPhysicalPinInfo_FWD_DEFINED__
+typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
+#endif /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
+
+
+#ifndef __IAMExtDevice_FWD_DEFINED__
+#define __IAMExtDevice_FWD_DEFINED__
+typedef interface IAMExtDevice IAMExtDevice;
+#endif /* __IAMExtDevice_FWD_DEFINED__ */
+
+
+#ifndef __IAMExtTransport_FWD_DEFINED__
+#define __IAMExtTransport_FWD_DEFINED__
+typedef interface IAMExtTransport IAMExtTransport;
+#endif /* __IAMExtTransport_FWD_DEFINED__ */
+
+
+#ifndef __IAMTimecodeReader_FWD_DEFINED__
+#define __IAMTimecodeReader_FWD_DEFINED__
+typedef interface IAMTimecodeReader IAMTimecodeReader;
+#endif /* __IAMTimecodeReader_FWD_DEFINED__ */
+
+
+#ifndef __IAMTimecodeGenerator_FWD_DEFINED__
+#define __IAMTimecodeGenerator_FWD_DEFINED__
+typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
+#endif /* __IAMTimecodeGenerator_FWD_DEFINED__ */
+
+
+#ifndef __IAMTimecodeDisplay_FWD_DEFINED__
+#define __IAMTimecodeDisplay_FWD_DEFINED__
+typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
+#endif /* __IAMTimecodeDisplay_FWD_DEFINED__ */
+
+
+#ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
+#define __IAMDevMemoryAllocator_FWD_DEFINED__
+typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
+#endif /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
+
+
+#ifndef __IAMDevMemoryControl_FWD_DEFINED__
+#define __IAMDevMemoryControl_FWD_DEFINED__
+typedef interface IAMDevMemoryControl IAMDevMemoryControl;
+#endif /* __IAMDevMemoryControl_FWD_DEFINED__ */
+
+
+#ifndef __IAMStreamSelect_FWD_DEFINED__
+#define __IAMStreamSelect_FWD_DEFINED__
+typedef interface IAMStreamSelect IAMStreamSelect;
+#endif /* __IAMStreamSelect_FWD_DEFINED__ */
+
+
+#ifndef __IAMResourceControl_FWD_DEFINED__
+#define __IAMResourceControl_FWD_DEFINED__
+typedef interface IAMResourceControl IAMResourceControl;
+#endif /* __IAMResourceControl_FWD_DEFINED__ */
+
+
+#ifndef __IAMClockAdjust_FWD_DEFINED__
+#define __IAMClockAdjust_FWD_DEFINED__
+typedef interface IAMClockAdjust IAMClockAdjust;
+#endif /* __IAMClockAdjust_FWD_DEFINED__ */
+
+
+#ifndef __IAMFilterMiscFlags_FWD_DEFINED__
+#define __IAMFilterMiscFlags_FWD_DEFINED__
+typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
+#endif /* __IAMFilterMiscFlags_FWD_DEFINED__ */
+
+
+#ifndef __IDrawVideoImage_FWD_DEFINED__
+#define __IDrawVideoImage_FWD_DEFINED__
+typedef interface IDrawVideoImage IDrawVideoImage;
+#endif /* __IDrawVideoImage_FWD_DEFINED__ */
+
+
+#ifndef __IDecimateVideoImage_FWD_DEFINED__
+#define __IDecimateVideoImage_FWD_DEFINED__
+typedef interface IDecimateVideoImage IDecimateVideoImage;
+#endif /* __IDecimateVideoImage_FWD_DEFINED__ */
+
+
+#ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
+#define __IAMVideoDecimationProperties_FWD_DEFINED__
+typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
+#endif /* __IAMVideoDecimationProperties_FWD_DEFINED__ */
+
+
+#ifndef __IVideoFrameStep_FWD_DEFINED__
+#define __IVideoFrameStep_FWD_DEFINED__
+typedef interface IVideoFrameStep IVideoFrameStep;
+#endif /* __IVideoFrameStep_FWD_DEFINED__ */
+
+
+#ifndef __IAMLatency_FWD_DEFINED__
+#define __IAMLatency_FWD_DEFINED__
+typedef interface IAMLatency IAMLatency;
+#endif /* __IAMLatency_FWD_DEFINED__ */
+
+
+#ifndef __IAMPushSource_FWD_DEFINED__
+#define __IAMPushSource_FWD_DEFINED__
+typedef interface IAMPushSource IAMPushSource;
+#endif /* __IAMPushSource_FWD_DEFINED__ */
+
+
+#ifndef __IAMDeviceRemoval_FWD_DEFINED__
+#define __IAMDeviceRemoval_FWD_DEFINED__
+typedef interface IAMDeviceRemoval IAMDeviceRemoval;
+#endif /* __IAMDeviceRemoval_FWD_DEFINED__ */
+
+
+#ifndef __IDVEnc_FWD_DEFINED__
+#define __IDVEnc_FWD_DEFINED__
+typedef interface IDVEnc IDVEnc;
+#endif /* __IDVEnc_FWD_DEFINED__ */
+
+
+#ifndef __IIPDVDec_FWD_DEFINED__
+#define __IIPDVDec_FWD_DEFINED__
+typedef interface IIPDVDec IIPDVDec;
+#endif /* __IIPDVDec_FWD_DEFINED__ */
+
+
+#ifndef __IDVRGB219_FWD_DEFINED__
+#define __IDVRGB219_FWD_DEFINED__
+typedef interface IDVRGB219 IDVRGB219;
+#endif /* __IDVRGB219_FWD_DEFINED__ */
+
+
+#ifndef __IDVSplitter_FWD_DEFINED__
+#define __IDVSplitter_FWD_DEFINED__
+typedef interface IDVSplitter IDVSplitter;
+#endif /* __IDVSplitter_FWD_DEFINED__ */
+
+
+#ifndef __IAMAudioRendererStats_FWD_DEFINED__
+#define __IAMAudioRendererStats_FWD_DEFINED__
+typedef interface IAMAudioRendererStats IAMAudioRendererStats;
+#endif /* __IAMAudioRendererStats_FWD_DEFINED__ */
+
+
+#ifndef __IAMGraphStreams_FWD_DEFINED__
+#define __IAMGraphStreams_FWD_DEFINED__
+typedef interface IAMGraphStreams IAMGraphStreams;
+#endif /* __IAMGraphStreams_FWD_DEFINED__ */
+
+
+#ifndef __IAMOverlayFX_FWD_DEFINED__
+#define __IAMOverlayFX_FWD_DEFINED__
+typedef interface IAMOverlayFX IAMOverlayFX;
+#endif /* __IAMOverlayFX_FWD_DEFINED__ */
+
+
+#ifndef __IAMOpenProgress_FWD_DEFINED__
+#define __IAMOpenProgress_FWD_DEFINED__
+typedef interface IAMOpenProgress IAMOpenProgress;
+#endif /* __IAMOpenProgress_FWD_DEFINED__ */
+
+
+#ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
+#define __IMpeg2Demultiplexer_FWD_DEFINED__
+typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
+#endif /* __IMpeg2Demultiplexer_FWD_DEFINED__ */
+
+
+#ifndef __IEnumStreamIdMap_FWD_DEFINED__
+#define __IEnumStreamIdMap_FWD_DEFINED__
+typedef interface IEnumStreamIdMap IEnumStreamIdMap;
+#endif /* __IEnumStreamIdMap_FWD_DEFINED__ */
+
+
+#ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
+#define __IMPEG2StreamIdMap_FWD_DEFINED__
+typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
+#endif /* __IMPEG2StreamIdMap_FWD_DEFINED__ */
+
+
+#ifndef __IRegisterServiceProvider_FWD_DEFINED__
+#define __IRegisterServiceProvider_FWD_DEFINED__
+typedef interface IRegisterServiceProvider IRegisterServiceProvider;
+#endif /* __IRegisterServiceProvider_FWD_DEFINED__ */
+
+
+#ifndef __IAMClockSlave_FWD_DEFINED__
+#define __IAMClockSlave_FWD_DEFINED__
+typedef interface IAMClockSlave IAMClockSlave;
+#endif /* __IAMClockSlave_FWD_DEFINED__ */
+
+
+#ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
+#define __IAMGraphBuilderCallback_FWD_DEFINED__
+typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
+#endif /* __IAMGraphBuilderCallback_FWD_DEFINED__ */
+
+
+#ifndef __ICodecAPI_FWD_DEFINED__
+#define __ICodecAPI_FWD_DEFINED__
+typedef interface ICodecAPI ICodecAPI;
+#endif /* __ICodecAPI_FWD_DEFINED__ */
+
+
+#ifndef __IGetCapabilitiesKey_FWD_DEFINED__
+#define __IGetCapabilitiesKey_FWD_DEFINED__
+typedef interface IGetCapabilitiesKey IGetCapabilitiesKey;
+#endif /* __IGetCapabilitiesKey_FWD_DEFINED__ */
+
+
+#ifndef __IEncoderAPI_FWD_DEFINED__
+#define __IEncoderAPI_FWD_DEFINED__
+typedef interface IEncoderAPI IEncoderAPI;
+#endif /* __IEncoderAPI_FWD_DEFINED__ */
+
+
+#ifndef __IVideoEncoder_FWD_DEFINED__
+#define __IVideoEncoder_FWD_DEFINED__
+typedef interface IVideoEncoder IVideoEncoder;
+#endif /* __IVideoEncoder_FWD_DEFINED__ */
+
+
+#ifndef __IAMDecoderCaps_FWD_DEFINED__
+#define __IAMDecoderCaps_FWD_DEFINED__
+typedef interface IAMDecoderCaps IAMDecoderCaps;
+#endif /* __IAMDecoderCaps_FWD_DEFINED__ */
+
+
+#ifndef __IDvdControl_FWD_DEFINED__
+#define __IDvdControl_FWD_DEFINED__
+typedef interface IDvdControl IDvdControl;
+#endif /* __IDvdControl_FWD_DEFINED__ */
+
+
+#ifndef __IDvdInfo_FWD_DEFINED__
+#define __IDvdInfo_FWD_DEFINED__
+typedef interface IDvdInfo IDvdInfo;
+#endif /* __IDvdInfo_FWD_DEFINED__ */
+
+
+#ifndef __IDvdCmd_FWD_DEFINED__
+#define __IDvdCmd_FWD_DEFINED__
+typedef interface IDvdCmd IDvdCmd;
+#endif /* __IDvdCmd_FWD_DEFINED__ */
+
+
+#ifndef __IDvdState_FWD_DEFINED__
+#define __IDvdState_FWD_DEFINED__
+typedef interface IDvdState IDvdState;
+#endif /* __IDvdState_FWD_DEFINED__ */
+
+
+#ifndef __IDvdControl2_FWD_DEFINED__
+#define __IDvdControl2_FWD_DEFINED__
+typedef interface IDvdControl2 IDvdControl2;
+#endif /* __IDvdControl2_FWD_DEFINED__ */
+
+
+#ifndef __IDvdInfo2_FWD_DEFINED__
+#define __IDvdInfo2_FWD_DEFINED__
+typedef interface IDvdInfo2 IDvdInfo2;
+#endif /* __IDvdInfo2_FWD_DEFINED__ */
+
+
+#ifndef __IDvdGraphBuilder_FWD_DEFINED__
+#define __IDvdGraphBuilder_FWD_DEFINED__
+typedef interface IDvdGraphBuilder IDvdGraphBuilder;
+#endif /* __IDvdGraphBuilder_FWD_DEFINED__ */
+
+
+#ifndef __IDDrawExclModeVideo_FWD_DEFINED__
+#define __IDDrawExclModeVideo_FWD_DEFINED__
+typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
+#endif /* __IDDrawExclModeVideo_FWD_DEFINED__ */
+
+
+#ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
+#define __IDDrawExclModeVideoCallback_FWD_DEFINED__
+typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
+#endif /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
+
+
+#ifndef __IPinConnection_FWD_DEFINED__
+#define __IPinConnection_FWD_DEFINED__
+typedef interface IPinConnection IPinConnection;
+#endif /* __IPinConnection_FWD_DEFINED__ */
+
+
+#ifndef __IPinFlowControl_FWD_DEFINED__
+#define __IPinFlowControl_FWD_DEFINED__
+typedef interface IPinFlowControl IPinFlowControl;
+#endif /* __IPinFlowControl_FWD_DEFINED__ */
+
+
+#ifndef __IGraphConfig_FWD_DEFINED__
+#define __IGraphConfig_FWD_DEFINED__
+typedef interface IGraphConfig IGraphConfig;
+#endif /* __IGraphConfig_FWD_DEFINED__ */
+
+
+#ifndef __IGraphConfigCallback_FWD_DEFINED__
+#define __IGraphConfigCallback_FWD_DEFINED__
+typedef interface IGraphConfigCallback IGraphConfigCallback;
+#endif /* __IGraphConfigCallback_FWD_DEFINED__ */
+
+
+#ifndef __IFilterChain_FWD_DEFINED__
+#define __IFilterChain_FWD_DEFINED__
+typedef interface IFilterChain IFilterChain;
+#endif /* __IFilterChain_FWD_DEFINED__ */
+
+
+#ifndef __IVMRImagePresenter_FWD_DEFINED__
+#define __IVMRImagePresenter_FWD_DEFINED__
+typedef interface IVMRImagePresenter IVMRImagePresenter;
+#endif /* __IVMRImagePresenter_FWD_DEFINED__ */
+
+
+#ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
+#define __IVMRSurfaceAllocator_FWD_DEFINED__
+typedef interface IVMRSurfaceAllocator IVMRSurfaceAllocator;
+#endif /* __IVMRSurfaceAllocator_FWD_DEFINED__ */
+
+
+#ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
+#define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
+typedef interface IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
+#endif /* __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ */
+
+
+#ifndef __IVMRWindowlessControl_FWD_DEFINED__
+#define __IVMRWindowlessControl_FWD_DEFINED__
+typedef interface IVMRWindowlessControl IVMRWindowlessControl;
+#endif /* __IVMRWindowlessControl_FWD_DEFINED__ */
+
+
+#ifndef __IVMRMixerControl_FWD_DEFINED__
+#define __IVMRMixerControl_FWD_DEFINED__
+typedef interface IVMRMixerControl IVMRMixerControl;
+#endif /* __IVMRMixerControl_FWD_DEFINED__ */
+
+
+#ifndef __IVMRMonitorConfig_FWD_DEFINED__
+#define __IVMRMonitorConfig_FWD_DEFINED__
+typedef interface IVMRMonitorConfig IVMRMonitorConfig;
+#endif /* __IVMRMonitorConfig_FWD_DEFINED__ */
+
+
+#ifndef __IVMRFilterConfig_FWD_DEFINED__
+#define __IVMRFilterConfig_FWD_DEFINED__
+typedef interface IVMRFilterConfig IVMRFilterConfig;
+#endif /* __IVMRFilterConfig_FWD_DEFINED__ */
+
+
+#ifndef __IVMRAspectRatioControl_FWD_DEFINED__
+#define __IVMRAspectRatioControl_FWD_DEFINED__
+typedef interface IVMRAspectRatioControl IVMRAspectRatioControl;
+#endif /* __IVMRAspectRatioControl_FWD_DEFINED__ */
+
+
+#ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
+#define __IVMRDeinterlaceControl_FWD_DEFINED__
+typedef interface IVMRDeinterlaceControl IVMRDeinterlaceControl;
+#endif /* __IVMRDeinterlaceControl_FWD_DEFINED__ */
+
+
+#ifndef __IVMRMixerBitmap_FWD_DEFINED__
+#define __IVMRMixerBitmap_FWD_DEFINED__
+typedef interface IVMRMixerBitmap IVMRMixerBitmap;
+#endif /* __IVMRMixerBitmap_FWD_DEFINED__ */
+
+
+#ifndef __IVMRImageCompositor_FWD_DEFINED__
+#define __IVMRImageCompositor_FWD_DEFINED__
+typedef interface IVMRImageCompositor IVMRImageCompositor;
+#endif /* __IVMRImageCompositor_FWD_DEFINED__ */
+
+
+#ifndef __IVMRVideoStreamControl_FWD_DEFINED__
+#define __IVMRVideoStreamControl_FWD_DEFINED__
+typedef interface IVMRVideoStreamControl IVMRVideoStreamControl;
+#endif /* __IVMRVideoStreamControl_FWD_DEFINED__ */
+
+
+#ifndef __IVMRSurface_FWD_DEFINED__
+#define __IVMRSurface_FWD_DEFINED__
+typedef interface IVMRSurface IVMRSurface;
+#endif /* __IVMRSurface_FWD_DEFINED__ */
+
+
+#ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
+#define __IVMRImagePresenterConfig_FWD_DEFINED__
+typedef interface IVMRImagePresenterConfig IVMRImagePresenterConfig;
+#endif /* __IVMRImagePresenterConfig_FWD_DEFINED__ */
+
+
+#ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
+#define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
+typedef interface IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
+#endif /* __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ */
+
+
+#ifndef __IVPManager_FWD_DEFINED__
+#define __IVPManager_FWD_DEFINED__
+typedef interface IVPManager IVPManager;
+#endif /* __IVPManager_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "unknwn.h"
+#include "objidl.h"
+#include "oaidl.h"
+#include "ocidl.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+void * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void * );
+
+/* interface __MIDL_itf_strmif_0000 */
+/* [local] */
+
+//+-------------------------------------------------------------------------
+//
+// Copyright (C) Microsoft Corporation, 1999-2002.
+//
+//--------------------------------------------------------------------------
+// Disable /W4 compiler warning C4201: nameless struct/union
+#pragma warning(push)
+#pragma warning(disable:4201) // Disable C4201: nameless struct/union
+
+#define CDEF_CLASS_DEFAULT 0x0001
+#define CDEF_BYPASS_CLASS_MANAGER 0x0002
+#define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008
+#define CDEF_DEVMON_CMGR_DEVICE 0x0010
+#define CDEF_DEVMON_DMO 0x0020
+#define CDEF_DEVMON_PNP_DEVICE 0x0040
+#define CDEF_DEVMON_FILTER 0x0080
+#define CDEF_DEVMON_SELECTIVE_MASK 0x00f0
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
+
+#ifndef __ICreateDevEnum_INTERFACE_DEFINED__
+#define __ICreateDevEnum_INTERFACE_DEFINED__
+
+/* interface ICreateDevEnum */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICreateDevEnum;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
+ ICreateDevEnum : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator(
+ /* [in] */ REFCLSID clsidDeviceClass,
+ /* [out] */ IEnumMoniker **ppEnumMoniker,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct ICreateDevEnumVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICreateDevEnum * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICreateDevEnum * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICreateDevEnum * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )(
+ ICreateDevEnum * This,
+ /* [in] */ REFCLSID clsidDeviceClass,
+ /* [out] */ IEnumMoniker **ppEnumMoniker,
+ /* [in] */ DWORD dwFlags);
+
+ END_INTERFACE
+ } ICreateDevEnumVtbl;
+
+ interface ICreateDevEnum
+ {
+ CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) \
+ (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy(
+ ICreateDevEnum * This,
+ /* [in] */ REFCLSID clsidDeviceClass,
+ /* [out] */ IEnumMoniker **ppEnumMoniker,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0113 */
+/* [local] */
+
+#define CHARS_IN_GUID 39
+typedef struct _AMMediaType
+ {
+ GUID majortype;
+ GUID subtype;
+ BOOL bFixedSizeSamples;
+ BOOL bTemporalCompression;
+ ULONG lSampleSize;
+ GUID formattype;
+ IUnknown *pUnk;
+ ULONG cbFormat;
+ /* [size_is] */ BYTE *pbFormat;
+ } AM_MEDIA_TYPE;
+
+typedef
+enum _PinDirection
+ { PINDIR_INPUT = 0,
+ PINDIR_OUTPUT = PINDIR_INPUT + 1
+ } PIN_DIRECTION;
+
+#define MAX_PIN_NAME 128
+#define MAX_FILTER_NAME 128
+typedef LONGLONG REFERENCE_TIME;
+
+typedef double REFTIME;
+
+typedef DWORD_PTR HSEMAPHORE;
+
+typedef DWORD_PTR HEVENT;
+
+typedef struct _AllocatorProperties
+ {
+ long cBuffers;
+ long cbBuffer;
+ long cbAlign;
+ long cbPrefix;
+ } ALLOCATOR_PROPERTIES;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;
+
+#ifndef __IPin_INTERFACE_DEFINED__
+#define __IPin_INTERFACE_DEFINED__
+
+/* interface IPin */
+/* [unique][uuid][object] */
+
+typedef struct _PinInfo
+ {
+ IBaseFilter *pFilter;
+ PIN_DIRECTION dir;
+ WCHAR achName[ 128 ];
+ } PIN_INFO;
+
+
+EXTERN_C const IID IID_IPin;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
+ IPin : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Connect(
+ /* [in] */ IPin *pReceivePin,
+ /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReceiveConnection(
+ /* [in] */ IPin *pConnector,
+ /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConnectedTo(
+ /* [out] */ IPin **pPin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType(
+ /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QueryPinInfo(
+ /* [out] */ PIN_INFO *pInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QueryDirection(
+ /* [out] */ PIN_DIRECTION *pPinDir) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QueryId(
+ /* [out] */ LPWSTR *Id) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QueryAccept(
+ /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes(
+ /* [out] */ IEnumMediaTypes **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections(
+ /* [out] */ IPin **apPin,
+ /* [out][in] */ ULONG *nPin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NewSegment(
+ /* [in] */ REFERENCE_TIME tStart,
+ /* [in] */ REFERENCE_TIME tStop,
+ /* [in] */ double dRate) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IPinVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IPin * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IPin * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IPin * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Connect )(
+ IPin * This,
+ /* [in] */ IPin *pReceivePin,
+ /* [in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )(
+ IPin * This,
+ /* [in] */ IPin *pConnector,
+ /* [in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *Disconnect )(
+ IPin * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ConnectedTo )(
+ IPin * This,
+ /* [out] */ IPin **pPin);
+
+ HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )(
+ IPin * This,
+ /* [out] */ AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )(
+ IPin * This,
+ /* [out] */ PIN_INFO *pInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryDirection )(
+ IPin * This,
+ /* [out] */ PIN_DIRECTION *pPinDir);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryId )(
+ IPin * This,
+ /* [out] */ LPWSTR *Id);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryAccept )(
+ IPin * This,
+ /* [in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )(
+ IPin * This,
+ /* [out] */ IEnumMediaTypes **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )(
+ IPin * This,
+ /* [out] */ IPin **apPin,
+ /* [out][in] */ ULONG *nPin);
+
+ HRESULT ( STDMETHODCALLTYPE *EndOfStream )(
+ IPin * This);
+
+ HRESULT ( STDMETHODCALLTYPE *BeginFlush )(
+ IPin * This);
+
+ HRESULT ( STDMETHODCALLTYPE *EndFlush )(
+ IPin * This);
+
+ HRESULT ( STDMETHODCALLTYPE *NewSegment )(
+ IPin * This,
+ /* [in] */ REFERENCE_TIME tStart,
+ /* [in] */ REFERENCE_TIME tStop,
+ /* [in] */ double dRate);
+
+ END_INTERFACE
+ } IPinVtbl;
+
+ interface IPin
+ {
+ CONST_VTBL struct IPinVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy(
+ IPin * This,
+ /* [in] */ IPin *pReceivePin,
+ /* [in] */ const AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IPin_Connect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy(
+ IPin * This,
+ /* [in] */ IPin *pConnector,
+ /* [in] */ const AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IPin_ReceiveConnection_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy(
+ IPin * This);
+
+
+void __RPC_STUB IPin_Disconnect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy(
+ IPin * This,
+ /* [out] */ IPin **pPin);
+
+
+void __RPC_STUB IPin_ConnectedTo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy(
+ IPin * This,
+ /* [out] */ AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IPin_ConnectionMediaType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy(
+ IPin * This,
+ /* [out] */ PIN_INFO *pInfo);
+
+
+void __RPC_STUB IPin_QueryPinInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy(
+ IPin * This,
+ /* [out] */ PIN_DIRECTION *pPinDir);
+
+
+void __RPC_STUB IPin_QueryDirection_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy(
+ IPin * This,
+ /* [out] */ LPWSTR *Id);
+
+
+void __RPC_STUB IPin_QueryId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy(
+ IPin * This,
+ /* [in] */ const AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IPin_QueryAccept_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy(
+ IPin * This,
+ /* [out] */ IEnumMediaTypes **ppEnum);
+
+
+void __RPC_STUB IPin_EnumMediaTypes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy(
+ IPin * This,
+ /* [out] */ IPin **apPin,
+ /* [out][in] */ ULONG *nPin);
+
+
+void __RPC_STUB IPin_QueryInternalConnections_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy(
+ IPin * This);
+
+
+void __RPC_STUB IPin_EndOfStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy(
+ IPin * This);
+
+
+void __RPC_STUB IPin_BeginFlush_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy(
+ IPin * This);
+
+
+void __RPC_STUB IPin_EndFlush_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy(
+ IPin * This,
+ /* [in] */ REFERENCE_TIME tStart,
+ /* [in] */ REFERENCE_TIME tStop,
+ /* [in] */ double dRate);
+
+
+void __RPC_STUB IPin_NewSegment_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IPin_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0114 */
+/* [local] */
+
+typedef IPin *PPIN;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;
+
+#ifndef __IEnumPins_INTERFACE_DEFINED__
+#define __IEnumPins_INTERFACE_DEFINED__
+
+/* interface IEnumPins */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IEnumPins;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
+ IEnumPins : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG cPins,
+ /* [size_is][out] */ IPin **ppPins,
+ /* [out] */ ULONG *pcFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG cPins) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IEnumPins **ppEnum) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IEnumPinsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IEnumPins * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IEnumPins * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IEnumPins * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IEnumPins * This,
+ /* [in] */ ULONG cPins,
+ /* [size_is][out] */ IPin **ppPins,
+ /* [out] */ ULONG *pcFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IEnumPins * This,
+ /* [in] */ ULONG cPins);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IEnumPins * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IEnumPins * This,
+ /* [out] */ IEnumPins **ppEnum);
+
+ END_INTERFACE
+ } IEnumPinsVtbl;
+
+ interface IEnumPins
+ {
+ CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy(
+ IEnumPins * This,
+ /* [in] */ ULONG cPins,
+ /* [size_is][out] */ IPin **ppPins,
+ /* [out] */ ULONG *pcFetched);
+
+
+void __RPC_STUB IEnumPins_Next_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy(
+ IEnumPins * This,
+ /* [in] */ ULONG cPins);
+
+
+void __RPC_STUB IEnumPins_Skip_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy(
+ IEnumPins * This);
+
+
+void __RPC_STUB IEnumPins_Reset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy(
+ IEnumPins * This,
+ /* [out] */ IEnumPins **ppEnum);
+
+
+void __RPC_STUB IEnumPins_Clone_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IEnumPins_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0115 */
+/* [local] */
+
+typedef IEnumPins *PENUMPINS;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;
+
+#ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
+#define __IEnumMediaTypes_INTERFACE_DEFINED__
+
+/* interface IEnumMediaTypes */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IEnumMediaTypes;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
+ IEnumMediaTypes : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG cMediaTypes,
+ /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
+ /* [out] */ ULONG *pcFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG cMediaTypes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IEnumMediaTypes **ppEnum) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IEnumMediaTypesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IEnumMediaTypes * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IEnumMediaTypes * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IEnumMediaTypes * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IEnumMediaTypes * This,
+ /* [in] */ ULONG cMediaTypes,
+ /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
+ /* [out] */ ULONG *pcFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IEnumMediaTypes * This,
+ /* [in] */ ULONG cMediaTypes);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IEnumMediaTypes * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IEnumMediaTypes * This,
+ /* [out] */ IEnumMediaTypes **ppEnum);
+
+ END_INTERFACE
+ } IEnumMediaTypesVtbl;
+
+ interface IEnumMediaTypes
+ {
+ CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy(
+ IEnumMediaTypes * This,
+ /* [in] */ ULONG cMediaTypes,
+ /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
+ /* [out] */ ULONG *pcFetched);
+
+
+void __RPC_STUB IEnumMediaTypes_Next_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy(
+ IEnumMediaTypes * This,
+ /* [in] */ ULONG cMediaTypes);
+
+
+void __RPC_STUB IEnumMediaTypes_Skip_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy(
+ IEnumMediaTypes * This);
+
+
+void __RPC_STUB IEnumMediaTypes_Reset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy(
+ IEnumMediaTypes * This,
+ /* [out] */ IEnumMediaTypes **ppEnum);
+
+
+void __RPC_STUB IEnumMediaTypes_Clone_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0116 */
+/* [local] */
+
+typedef IEnumMediaTypes *PENUMMEDIATYPES;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_s_ifspec;
+
+#ifndef __IFilterGraph_INTERFACE_DEFINED__
+#define __IFilterGraph_INTERFACE_DEFINED__
+
+/* interface IFilterGraph */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IFilterGraph;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
+ IFilterGraph : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE AddFilter(
+ /* [in] */ IBaseFilter *pFilter,
+ /* [string][in] */ LPCWSTR pName) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveFilter(
+ /* [in] */ IBaseFilter *pFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumFilters(
+ /* [out] */ IEnumFilters **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE FindFilterByName(
+ /* [string][in] */ LPCWSTR pName,
+ /* [out] */ IBaseFilter **ppFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConnectDirect(
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reconnect(
+ /* [in] */ IPin *ppin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Disconnect(
+ /* [in] */ IPin *ppin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFilterGraphVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFilterGraph * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFilterGraph * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFilterGraph * This);
+
+ HRESULT ( STDMETHODCALLTYPE *AddFilter )(
+ IFilterGraph * This,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [string][in] */ LPCWSTR pName);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
+ IFilterGraph * This,
+ /* [in] */ IBaseFilter *pFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
+ IFilterGraph * This,
+ /* [out] */ IEnumFilters **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
+ IFilterGraph * This,
+ /* [string][in] */ LPCWSTR pName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
+ IFilterGraph * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reconnect )(
+ IFilterGraph * This,
+ /* [in] */ IPin *ppin);
+
+ HRESULT ( STDMETHODCALLTYPE *Disconnect )(
+ IFilterGraph * This,
+ /* [in] */ IPin *ppin);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
+ IFilterGraph * This);
+
+ END_INTERFACE
+ } IFilterGraphVtbl;
+
+ interface IFilterGraph
+ {
+ CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy(
+ IFilterGraph * This,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [string][in] */ LPCWSTR pName);
+
+
+void __RPC_STUB IFilterGraph_AddFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy(
+ IFilterGraph * This,
+ /* [in] */ IBaseFilter *pFilter);
+
+
+void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy(
+ IFilterGraph * This,
+ /* [out] */ IEnumFilters **ppEnum);
+
+
+void __RPC_STUB IFilterGraph_EnumFilters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy(
+ IFilterGraph * This,
+ /* [string][in] */ LPCWSTR pName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+
+void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy(
+ IFilterGraph * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy(
+ IFilterGraph * This,
+ /* [in] */ IPin *ppin);
+
+
+void __RPC_STUB IFilterGraph_Reconnect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy(
+ IFilterGraph * This,
+ /* [in] */ IPin *ppin);
+
+
+void __RPC_STUB IFilterGraph_Disconnect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy(
+ IFilterGraph * This);
+
+
+void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFilterGraph_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0117 */
+/* [local] */
+
+typedef IFilterGraph *PFILTERGRAPH;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
+
+#ifndef __IEnumFilters_INTERFACE_DEFINED__
+#define __IEnumFilters_INTERFACE_DEFINED__
+
+/* interface IEnumFilters */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IEnumFilters;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
+ IEnumFilters : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG cFilters,
+ /* [out] */ IBaseFilter **ppFilter,
+ /* [out] */ ULONG *pcFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG cFilters) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IEnumFilters **ppEnum) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IEnumFiltersVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IEnumFilters * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IEnumFilters * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IEnumFilters * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IEnumFilters * This,
+ /* [in] */ ULONG cFilters,
+ /* [out] */ IBaseFilter **ppFilter,
+ /* [out] */ ULONG *pcFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IEnumFilters * This,
+ /* [in] */ ULONG cFilters);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IEnumFilters * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IEnumFilters * This,
+ /* [out] */ IEnumFilters **ppEnum);
+
+ END_INTERFACE
+ } IEnumFiltersVtbl;
+
+ interface IEnumFilters
+ {
+ CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy(
+ IEnumFilters * This,
+ /* [in] */ ULONG cFilters,
+ /* [out] */ IBaseFilter **ppFilter,
+ /* [out] */ ULONG *pcFetched);
+
+
+void __RPC_STUB IEnumFilters_Next_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy(
+ IEnumFilters * This,
+ /* [in] */ ULONG cFilters);
+
+
+void __RPC_STUB IEnumFilters_Skip_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy(
+ IEnumFilters * This);
+
+
+void __RPC_STUB IEnumFilters_Reset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy(
+ IEnumFilters * This,
+ /* [out] */ IEnumFilters **ppEnum);
+
+
+void __RPC_STUB IEnumFilters_Clone_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IEnumFilters_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0118 */
+/* [local] */
+
+typedef IEnumFilters *PENUMFILTERS;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
+
+#ifndef __IMediaFilter_INTERFACE_DEFINED__
+#define __IMediaFilter_INTERFACE_DEFINED__
+
+/* interface IMediaFilter */
+/* [unique][uuid][object] */
+
+typedef
+enum _FilterState
+ { State_Stopped = 0,
+ State_Paused = State_Stopped + 1,
+ State_Running = State_Paused + 1
+ } FILTER_STATE;
+
+
+EXTERN_C const IID IID_IMediaFilter;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
+ IMediaFilter : public IPersist
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Run(
+ REFERENCE_TIME tStart) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetState(
+ /* [in] */ DWORD dwMilliSecsTimeout,
+ /* [out] */ FILTER_STATE *State) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
+ /* [in] */ IReferenceClock *pClock) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSyncSource(
+ /* [out] */ IReferenceClock **pClock) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMediaFilterVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMediaFilter * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMediaFilter * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMediaFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassID )(
+ IMediaFilter * This,
+ /* [out] */ CLSID *pClassID);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ IMediaFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Pause )(
+ IMediaFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Run )(
+ IMediaFilter * This,
+ REFERENCE_TIME tStart);
+
+ HRESULT ( STDMETHODCALLTYPE *GetState )(
+ IMediaFilter * This,
+ /* [in] */ DWORD dwMilliSecsTimeout,
+ /* [out] */ FILTER_STATE *State);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
+ IMediaFilter * This,
+ /* [in] */ IReferenceClock *pClock);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
+ IMediaFilter * This,
+ /* [out] */ IReferenceClock **pClock);
+
+ END_INTERFACE
+ } IMediaFilterVtbl;
+
+ interface IMediaFilter
+ {
+ CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IMediaFilter_GetClassID(This,pClassID) \
+ (This)->lpVtbl -> GetClassID(This,pClassID)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy(
+ IMediaFilter * This);
+
+
+void __RPC_STUB IMediaFilter_Stop_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy(
+ IMediaFilter * This);
+
+
+void __RPC_STUB IMediaFilter_Pause_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy(
+ IMediaFilter * This,
+ REFERENCE_TIME tStart);
+
+
+void __RPC_STUB IMediaFilter_Run_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy(
+ IMediaFilter * This,
+ /* [in] */ DWORD dwMilliSecsTimeout,
+ /* [out] */ FILTER_STATE *State);
+
+
+void __RPC_STUB IMediaFilter_GetState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy(
+ IMediaFilter * This,
+ /* [in] */ IReferenceClock *pClock);
+
+
+void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy(
+ IMediaFilter * This,
+ /* [out] */ IReferenceClock **pClock);
+
+
+void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMediaFilter_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0119 */
+/* [local] */
+
+typedef IMediaFilter *PMEDIAFILTER;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
+
+#ifndef __IBaseFilter_INTERFACE_DEFINED__
+#define __IBaseFilter_INTERFACE_DEFINED__
+
+/* interface IBaseFilter */
+/* [unique][uuid][object] */
+
+typedef struct _FilterInfo
+ {
+ WCHAR achName[ 128 ];
+ IFilterGraph *pGraph;
+ } FILTER_INFO;
+
+
+EXTERN_C const IID IID_IBaseFilter;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
+ IBaseFilter : public IMediaFilter
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE EnumPins(
+ /* [out] */ IEnumPins **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE FindPin(
+ /* [string][in] */ LPCWSTR Id,
+ /* [out] */ IPin **ppPin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo(
+ /* [out] */ FILTER_INFO *pInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
+ /* [in] */ IFilterGraph *pGraph,
+ /* [string][in] */ LPCWSTR pName) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo(
+ /* [string][out] */ LPWSTR *pVendorInfo) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IBaseFilterVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IBaseFilter * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IBaseFilter * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IBaseFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassID )(
+ IBaseFilter * This,
+ /* [out] */ CLSID *pClassID);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ IBaseFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Pause )(
+ IBaseFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Run )(
+ IBaseFilter * This,
+ REFERENCE_TIME tStart);
+
+ HRESULT ( STDMETHODCALLTYPE *GetState )(
+ IBaseFilter * This,
+ /* [in] */ DWORD dwMilliSecsTimeout,
+ /* [out] */ FILTER_STATE *State);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
+ IBaseFilter * This,
+ /* [in] */ IReferenceClock *pClock);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
+ IBaseFilter * This,
+ /* [out] */ IReferenceClock **pClock);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumPins )(
+ IBaseFilter * This,
+ /* [out] */ IEnumPins **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *FindPin )(
+ IBaseFilter * This,
+ /* [string][in] */ LPCWSTR Id,
+ /* [out] */ IPin **ppPin);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )(
+ IBaseFilter * This,
+ /* [out] */ FILTER_INFO *pInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(
+ IBaseFilter * This,
+ /* [in] */ IFilterGraph *pGraph,
+ /* [string][in] */ LPCWSTR pName);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )(
+ IBaseFilter * This,
+ /* [string][out] */ LPWSTR *pVendorInfo);
+
+ END_INTERFACE
+ } IBaseFilterVtbl;
+
+ interface IBaseFilter
+ {
+ CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IBaseFilter_GetClassID(This,pClassID) \
+ (This)->lpVtbl -> GetClassID(This,pClassID)
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy(
+ IBaseFilter * This,
+ /* [out] */ IEnumPins **ppEnum);
+
+
+void __RPC_STUB IBaseFilter_EnumPins_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy(
+ IBaseFilter * This,
+ /* [string][in] */ LPCWSTR Id,
+ /* [out] */ IPin **ppPin);
+
+
+void __RPC_STUB IBaseFilter_FindPin_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy(
+ IBaseFilter * This,
+ /* [out] */ FILTER_INFO *pInfo);
+
+
+void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy(
+ IBaseFilter * This,
+ /* [in] */ IFilterGraph *pGraph,
+ /* [string][in] */ LPCWSTR pName);
+
+
+void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy(
+ IBaseFilter * This,
+ /* [string][out] */ LPWSTR *pVendorInfo);
+
+
+void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IBaseFilter_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0120 */
+/* [local] */
+
+typedef IBaseFilter *PFILTER;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
+
+#ifndef __IReferenceClock_INTERFACE_DEFINED__
+#define __IReferenceClock_INTERFACE_DEFINED__
+
+/* interface IReferenceClock */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IReferenceClock;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
+ IReferenceClock : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetTime(
+ /* [out] */ REFERENCE_TIME *pTime) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AdviseTime(
+ /* [in] */ REFERENCE_TIME baseTime,
+ /* [in] */ REFERENCE_TIME streamTime,
+ /* [in] */ HEVENT hEvent,
+ /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic(
+ /* [in] */ REFERENCE_TIME startTime,
+ /* [in] */ REFERENCE_TIME periodTime,
+ /* [in] */ HSEMAPHORE hSemaphore,
+ /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Unadvise(
+ /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IReferenceClockVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IReferenceClock * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IReferenceClock * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IReferenceClock * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTime )(
+ IReferenceClock * This,
+ /* [out] */ REFERENCE_TIME *pTime);
+
+ HRESULT ( STDMETHODCALLTYPE *AdviseTime )(
+ IReferenceClock * This,
+ /* [in] */ REFERENCE_TIME baseTime,
+ /* [in] */ REFERENCE_TIME streamTime,
+ /* [in] */ HEVENT hEvent,
+ /* [out] */ DWORD_PTR *pdwAdviseCookie);
+
+ HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(
+ IReferenceClock * This,
+ /* [in] */ REFERENCE_TIME startTime,
+ /* [in] */ REFERENCE_TIME periodTime,
+ /* [in] */ HSEMAPHORE hSemaphore,
+ /* [out] */ DWORD_PTR *pdwAdviseCookie);
+
+ HRESULT ( STDMETHODCALLTYPE *Unadvise )(
+ IReferenceClock * This,
+ /* [in] */ DWORD_PTR dwAdviseCookie);
+
+ END_INTERFACE
+ } IReferenceClockVtbl;
+
+ interface IReferenceClock
+ {
+ CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy(
+ IReferenceClock * This,
+ /* [out] */ REFERENCE_TIME *pTime);
+
+
+void __RPC_STUB IReferenceClock_GetTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy(
+ IReferenceClock * This,
+ /* [in] */ REFERENCE_TIME baseTime,
+ /* [in] */ REFERENCE_TIME streamTime,
+ /* [in] */ HEVENT hEvent,
+ /* [out] */ DWORD_PTR *pdwAdviseCookie);
+
+
+void __RPC_STUB IReferenceClock_AdviseTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy(
+ IReferenceClock * This,
+ /* [in] */ REFERENCE_TIME startTime,
+ /* [in] */ REFERENCE_TIME periodTime,
+ /* [in] */ HSEMAPHORE hSemaphore,
+ /* [out] */ DWORD_PTR *pdwAdviseCookie);
+
+
+void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy(
+ IReferenceClock * This,
+ /* [in] */ DWORD_PTR dwAdviseCookie);
+
+
+void __RPC_STUB IReferenceClock_Unadvise_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IReferenceClock_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0121 */
+/* [local] */
+
+typedef IReferenceClock *PREFERENCECLOCK;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
+
+#ifndef __IReferenceClock2_INTERFACE_DEFINED__
+#define __IReferenceClock2_INTERFACE_DEFINED__
+
+/* interface IReferenceClock2 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IReferenceClock2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
+ IReferenceClock2 : public IReferenceClock
+ {
+ public:
+ };
+
+#else /* C style interface */
+
+ typedef struct IReferenceClock2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IReferenceClock2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IReferenceClock2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IReferenceClock2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTime )(
+ IReferenceClock2 * This,
+ /* [out] */ REFERENCE_TIME *pTime);
+
+ HRESULT ( STDMETHODCALLTYPE *AdviseTime )(
+ IReferenceClock2 * This,
+ /* [in] */ REFERENCE_TIME baseTime,
+ /* [in] */ REFERENCE_TIME streamTime,
+ /* [in] */ HEVENT hEvent,
+ /* [out] */ DWORD_PTR *pdwAdviseCookie);
+
+ HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(
+ IReferenceClock2 * This,
+ /* [in] */ REFERENCE_TIME startTime,
+ /* [in] */ REFERENCE_TIME periodTime,
+ /* [in] */ HSEMAPHORE hSemaphore,
+ /* [out] */ DWORD_PTR *pdwAdviseCookie);
+
+ HRESULT ( STDMETHODCALLTYPE *Unadvise )(
+ IReferenceClock2 * This,
+ /* [in] */ DWORD_PTR dwAdviseCookie);
+
+ END_INTERFACE
+ } IReferenceClock2Vtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IReferenceClock2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0122 */
+/* [local] */
+
+typedef IReferenceClock2 *PREFERENCECLOCK2;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
+
+#ifndef __IMediaSample_INTERFACE_DEFINED__
+#define __IMediaSample_INTERFACE_DEFINED__
+
+/* interface IMediaSample */
+/* [unique][uuid][object][local] */
+
+
+EXTERN_C const IID IID_IMediaSample;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
+ IMediaSample : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetPointer(
+ /* [out] */ BYTE **ppBuffer) = 0;
+
+ virtual long STDMETHODCALLTYPE GetSize( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTime(
+ /* [out] */ REFERENCE_TIME *pTimeStart,
+ /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTime(
+ /* [in] */ REFERENCE_TIME *pTimeStart,
+ /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
+ BOOL bIsSyncPoint) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPreroll(
+ BOOL bIsPreroll) = 0;
+
+ virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
+ long __MIDL_0010) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMediaType(
+ AM_MEDIA_TYPE **ppMediaType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMediaType(
+ AM_MEDIA_TYPE *pMediaType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
+ BOOL bDiscontinuity) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
+ /* [out] */ LONGLONG *pTimeStart,
+ /* [out] */ LONGLONG *pTimeEnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
+ /* [in] */ LONGLONG *pTimeStart,
+ /* [in] */ LONGLONG *pTimeEnd) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMediaSampleVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMediaSample * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMediaSample * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMediaSample * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPointer )(
+ IMediaSample * This,
+ /* [out] */ BYTE **ppBuffer);
+
+ long ( STDMETHODCALLTYPE *GetSize )(
+ IMediaSample * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTime )(
+ IMediaSample * This,
+ /* [out] */ REFERENCE_TIME *pTimeStart,
+ /* [out] */ REFERENCE_TIME *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTime )(
+ IMediaSample * This,
+ /* [in] */ REFERENCE_TIME *pTimeStart,
+ /* [in] */ REFERENCE_TIME *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(
+ IMediaSample * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(
+ IMediaSample * This,
+ BOOL bIsSyncPoint);
+
+ HRESULT ( STDMETHODCALLTYPE *IsPreroll )(
+ IMediaSample * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
+ IMediaSample * This,
+ BOOL bIsPreroll);
+
+ long ( STDMETHODCALLTYPE *GetActualDataLength )(
+ IMediaSample * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(
+ IMediaSample * This,
+ long __MIDL_0010);
+
+ 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,
+ BOOL bDiscontinuity);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
+ IMediaSample * This,
+ /* [out] */ LONGLONG *pTimeStart,
+ /* [out] */ LONGLONG *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
+ IMediaSample * This,
+ /* [in] */ LONGLONG *pTimeStart,
+ /* [in] */ LONGLONG *pTimeEnd);
+
+ END_INTERFACE
+ } IMediaSampleVtbl;
+
+ interface IMediaSample
+ {
+ CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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,__MIDL_0010) \
+ (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy(
+ IMediaSample * This,
+ /* [out] */ BYTE **ppBuffer);
+
+
+void __RPC_STUB IMediaSample_GetPointer_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy(
+ IMediaSample * This);
+
+
+void __RPC_STUB IMediaSample_GetSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy(
+ IMediaSample * This,
+ /* [out] */ REFERENCE_TIME *pTimeStart,
+ /* [out] */ REFERENCE_TIME *pTimeEnd);
+
+
+void __RPC_STUB IMediaSample_GetTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy(
+ IMediaSample * This,
+ /* [in] */ REFERENCE_TIME *pTimeStart,
+ /* [in] */ REFERENCE_TIME *pTimeEnd);
+
+
+void __RPC_STUB IMediaSample_SetTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy(
+ IMediaSample * This);
+
+
+void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy(
+ IMediaSample * This,
+ BOOL bIsSyncPoint);
+
+
+void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy(
+ IMediaSample * This);
+
+
+void __RPC_STUB IMediaSample_IsPreroll_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy(
+ IMediaSample * This,
+ BOOL bIsPreroll);
+
+
+void __RPC_STUB IMediaSample_SetPreroll_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy(
+ IMediaSample * This);
+
+
+void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy(
+ IMediaSample * This,
+ long __MIDL_0010);
+
+
+void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy(
+ IMediaSample * This,
+ AM_MEDIA_TYPE **ppMediaType);
+
+
+void __RPC_STUB IMediaSample_GetMediaType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy(
+ IMediaSample * This,
+ AM_MEDIA_TYPE *pMediaType);
+
+
+void __RPC_STUB IMediaSample_SetMediaType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy(
+ IMediaSample * This);
+
+
+void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy(
+ IMediaSample * This,
+ BOOL bDiscontinuity);
+
+
+void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy(
+ IMediaSample * This,
+ /* [out] */ LONGLONG *pTimeStart,
+ /* [out] */ LONGLONG *pTimeEnd);
+
+
+void __RPC_STUB IMediaSample_GetMediaTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy(
+ IMediaSample * This,
+ /* [in] */ LONGLONG *pTimeStart,
+ /* [in] */ LONGLONG *pTimeEnd);
+
+
+void __RPC_STUB IMediaSample_SetMediaTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMediaSample_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0123 */
+/* [local] */
+
+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;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
+
+#ifndef __IMediaSample2_INTERFACE_DEFINED__
+#define __IMediaSample2_INTERFACE_DEFINED__
+
+/* interface IMediaSample2 */
+/* [unique][uuid][object][local] */
+
+
+EXTERN_C const IID IID_IMediaSample2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
+ IMediaSample2 : public IMediaSample
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetProperties(
+ /* [in] */ DWORD cbProperties,
+ /* [size_is][out] */ BYTE *pbProperties) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetProperties(
+ /* [in] */ DWORD cbProperties,
+ /* [size_is][in] */ const BYTE *pbProperties) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMediaSample2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMediaSample2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMediaSample2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMediaSample2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPointer )(
+ IMediaSample2 * This,
+ /* [out] */ BYTE **ppBuffer);
+
+ long ( STDMETHODCALLTYPE *GetSize )(
+ IMediaSample2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTime )(
+ IMediaSample2 * This,
+ /* [out] */ REFERENCE_TIME *pTimeStart,
+ /* [out] */ REFERENCE_TIME *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTime )(
+ IMediaSample2 * This,
+ /* [in] */ REFERENCE_TIME *pTimeStart,
+ /* [in] */ REFERENCE_TIME *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(
+ IMediaSample2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(
+ IMediaSample2 * This,
+ BOOL bIsSyncPoint);
+
+ HRESULT ( STDMETHODCALLTYPE *IsPreroll )(
+ IMediaSample2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
+ IMediaSample2 * This,
+ BOOL bIsPreroll);
+
+ long ( STDMETHODCALLTYPE *GetActualDataLength )(
+ IMediaSample2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(
+ IMediaSample2 * This,
+ long __MIDL_0010);
+
+ 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,
+ BOOL bDiscontinuity);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
+ IMediaSample2 * This,
+ /* [out] */ LONGLONG *pTimeStart,
+ /* [out] */ LONGLONG *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
+ IMediaSample2 * This,
+ /* [in] */ LONGLONG *pTimeStart,
+ /* [in] */ LONGLONG *pTimeEnd);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
+ IMediaSample2 * This,
+ /* [in] */ DWORD cbProperties,
+ /* [size_is][out] */ BYTE *pbProperties);
+
+ HRESULT ( STDMETHODCALLTYPE *SetProperties )(
+ IMediaSample2 * This,
+ /* [in] */ DWORD cbProperties,
+ /* [size_is][in] */ const BYTE *pbProperties);
+
+ END_INTERFACE
+ } IMediaSample2Vtbl;
+
+ interface IMediaSample2
+ {
+ CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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,__MIDL_0010) \
+ (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
+
+#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)
+
+
+#define IMediaSample2_GetProperties(This,cbProperties,pbProperties) \
+ (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
+
+#define IMediaSample2_SetProperties(This,cbProperties,pbProperties) \
+ (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy(
+ IMediaSample2 * This,
+ /* [in] */ DWORD cbProperties,
+ /* [size_is][out] */ BYTE *pbProperties);
+
+
+void __RPC_STUB IMediaSample2_GetProperties_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy(
+ IMediaSample2 * This,
+ /* [in] */ DWORD cbProperties,
+ /* [size_is][in] */ const BYTE *pbProperties);
+
+
+void __RPC_STUB IMediaSample2_SetProperties_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMediaSample2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0124 */
+/* [local] */
+
+typedef IMediaSample2 *PMEDIASAMPLE2;
+
+#define AM_GBF_PREVFRAMESKIPPED 1
+#define AM_GBF_NOTASYNCPOINT 2
+#define AM_GBF_NOWAIT 4
+#define AM_GBF_NODDSURFACELOCK 8
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
+
+#ifndef __IMemAllocator_INTERFACE_DEFINED__
+#define __IMemAllocator_INTERFACE_DEFINED__
+
+/* interface IMemAllocator */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IMemAllocator;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
+ IMemAllocator : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetProperties(
+ /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
+ /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetProperties(
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBuffer(
+ /* [out] */ IMediaSample **ppBuffer,
+ /* [in] */ REFERENCE_TIME *pStartTime,
+ /* [in] */ REFERENCE_TIME *pEndTime,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
+ /* [in] */ IMediaSample *pBuffer) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMemAllocatorVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMemAllocator * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMemAllocator * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMemAllocator * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetProperties )(
+ IMemAllocator * This,
+ /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
+ /* [out] */ ALLOCATOR_PROPERTIES *pActual);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
+ IMemAllocator * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps);
+
+ HRESULT ( STDMETHODCALLTYPE *Commit )(
+ IMemAllocator * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Decommit )(
+ IMemAllocator * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
+ IMemAllocator * This,
+ /* [out] */ IMediaSample **ppBuffer,
+ /* [in] */ REFERENCE_TIME *pStartTime,
+ /* [in] */ REFERENCE_TIME *pEndTime,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
+ IMemAllocator * This,
+ /* [in] */ IMediaSample *pBuffer);
+
+ END_INTERFACE
+ } IMemAllocatorVtbl;
+
+ interface IMemAllocator
+ {
+ CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy(
+ IMemAllocator * This,
+ /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
+ /* [out] */ ALLOCATOR_PROPERTIES *pActual);
+
+
+void __RPC_STUB IMemAllocator_SetProperties_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy(
+ IMemAllocator * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps);
+
+
+void __RPC_STUB IMemAllocator_GetProperties_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy(
+ IMemAllocator * This);
+
+
+void __RPC_STUB IMemAllocator_Commit_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy(
+ IMemAllocator * This);
+
+
+void __RPC_STUB IMemAllocator_Decommit_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy(
+ IMemAllocator * This,
+ /* [out] */ IMediaSample **ppBuffer,
+ /* [in] */ REFERENCE_TIME *pStartTime,
+ /* [in] */ REFERENCE_TIME *pEndTime,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IMemAllocator_GetBuffer_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy(
+ IMemAllocator * This,
+ /* [in] */ IMediaSample *pBuffer);
+
+
+void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMemAllocator_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0125 */
+/* [local] */
+
+typedef IMemAllocator *PMEMALLOCATOR;
+
+
+
+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 __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
+#define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
+
+/* interface IMemAllocatorCallbackTemp */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
+ IMemAllocatorCallbackTemp : public IMemAllocator
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetNotify(
+ /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFreeCount(
+ /* [out] */ LONG *plBuffersFree) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMemAllocatorCallbackTempVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMemAllocatorCallbackTemp * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMemAllocatorCallbackTemp * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMemAllocatorCallbackTemp * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetProperties )(
+ IMemAllocatorCallbackTemp * This,
+ /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
+ /* [out] */ ALLOCATOR_PROPERTIES *pActual);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProperties )(
+ IMemAllocatorCallbackTemp * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps);
+
+ HRESULT ( STDMETHODCALLTYPE *Commit )(
+ IMemAllocatorCallbackTemp * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Decommit )(
+ IMemAllocatorCallbackTemp * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
+ IMemAllocatorCallbackTemp * This,
+ /* [out] */ IMediaSample **ppBuffer,
+ /* [in] */ REFERENCE_TIME *pStartTime,
+ /* [in] */ REFERENCE_TIME *pEndTime,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
+ IMemAllocatorCallbackTemp * This,
+ /* [in] */ IMediaSample *pBuffer);
+
+ HRESULT ( STDMETHODCALLTYPE *SetNotify )(
+ IMemAllocatorCallbackTemp * This,
+ /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFreeCount )(
+ IMemAllocatorCallbackTemp * This,
+ /* [out] */ LONG *plBuffersFree);
+
+ END_INTERFACE
+ } IMemAllocatorCallbackTempVtbl;
+
+ interface IMemAllocatorCallbackTemp
+ {
+ CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+
+#define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) \
+ (This)->lpVtbl -> SetNotify(This,pNotify)
+
+#define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) \
+ (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy(
+ IMemAllocatorCallbackTemp * This,
+ /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
+
+
+void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy(
+ IMemAllocatorCallbackTemp * This,
+ /* [out] */ LONG *plBuffersFree);
+
+
+void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
+
+
+#ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
+#define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
+
+/* interface IMemAllocatorNotifyCallbackTemp */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
+ IMemAllocatorNotifyCallbackTemp : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMemAllocatorNotifyCallbackTempVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMemAllocatorNotifyCallbackTemp * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMemAllocatorNotifyCallbackTemp * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMemAllocatorNotifyCallbackTemp * This);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(
+ IMemAllocatorNotifyCallbackTemp * This);
+
+ END_INTERFACE
+ } IMemAllocatorNotifyCallbackTempVtbl;
+
+ interface IMemAllocatorNotifyCallbackTemp
+ {
+ CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) \
+ (This)->lpVtbl -> NotifyRelease(This)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(
+ IMemAllocatorNotifyCallbackTemp * This);
+
+
+void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
+
+
+#ifndef __IMemInputPin_INTERFACE_DEFINED__
+#define __IMemInputPin_INTERFACE_DEFINED__
+
+/* interface IMemInputPin */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IMemInputPin;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
+ IMemInputPin : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetAllocator(
+ /* [out] */ IMemAllocator **ppAllocator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyAllocator(
+ /* [in] */ IMemAllocator *pAllocator,
+ /* [in] */ BOOL bReadOnly) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Receive(
+ /* [in] */ IMediaSample *pSample) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple(
+ /* [size_is][in] */ IMediaSample **pSamples,
+ /* [in] */ long nSamples,
+ /* [out] */ long *nSamplesProcessed) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMemInputPinVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMemInputPin * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMemInputPin * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMemInputPin * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAllocator )(
+ IMemInputPin * This,
+ /* [out] */ IMemAllocator **ppAllocator);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )(
+ IMemInputPin * This,
+ /* [in] */ IMemAllocator *pAllocator,
+ /* [in] */ BOOL bReadOnly);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )(
+ IMemInputPin * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps);
+
+ HRESULT ( STDMETHODCALLTYPE *Receive )(
+ IMemInputPin * This,
+ /* [in] */ IMediaSample *pSample);
+
+ HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )(
+ IMemInputPin * This,
+ /* [size_is][in] */ IMediaSample **pSamples,
+ /* [in] */ long nSamples,
+ /* [out] */ long *nSamplesProcessed);
+
+ HRESULT ( STDMETHODCALLTYPE *ReceiveCanBlock )(
+ IMemInputPin * This);
+
+ END_INTERFACE
+ } IMemInputPinVtbl;
+
+ interface IMemInputPin
+ {
+ CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy(
+ IMemInputPin * This,
+ /* [out] */ IMemAllocator **ppAllocator);
+
+
+void __RPC_STUB IMemInputPin_GetAllocator_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy(
+ IMemInputPin * This,
+ /* [in] */ IMemAllocator *pAllocator,
+ /* [in] */ BOOL bReadOnly);
+
+
+void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy(
+ IMemInputPin * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pProps);
+
+
+void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy(
+ IMemInputPin * This,
+ /* [in] */ IMediaSample *pSample);
+
+
+void __RPC_STUB IMemInputPin_Receive_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy(
+ IMemInputPin * This,
+ /* [size_is][in] */ IMediaSample **pSamples,
+ /* [in] */ long nSamples,
+ /* [out] */ long *nSamplesProcessed);
+
+
+void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy(
+ IMemInputPin * This);
+
+
+void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMemInputPin_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0128 */
+/* [local] */
+
+typedef IMemInputPin *PMEMINPUTPIN;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;
+
+#ifndef __IAMovieSetup_INTERFACE_DEFINED__
+#define __IAMovieSetup_INTERFACE_DEFINED__
+
+/* interface IAMovieSetup */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMovieSetup;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
+ IAMovieSetup : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMovieSetupVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMovieSetup * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMovieSetup * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMovieSetup * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Register )(
+ IAMovieSetup * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Unregister )(
+ IAMovieSetup * This);
+
+ END_INTERFACE
+ } IAMovieSetupVtbl;
+
+ interface IAMovieSetup
+ {
+ CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMovieSetup_Register(This) \
+ (This)->lpVtbl -> Register(This)
+
+#define IAMovieSetup_Unregister(This) \
+ (This)->lpVtbl -> Unregister(This)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy(
+ IAMovieSetup * This);
+
+
+void __RPC_STUB IAMovieSetup_Register_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy(
+ IAMovieSetup * This);
+
+
+void __RPC_STUB IAMovieSetup_Unregister_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMovieSetup_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0129 */
+/* [local] */
+
+typedef IAMovieSetup *PAMOVIESETUP;
+
+typedef
+enum AM_SEEKING_SeekingFlags
+ { AM_SEEKING_NoPositioning = 0,
+ 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;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
+
+#ifndef __IMediaSeeking_INTERFACE_DEFINED__
+#define __IMediaSeeking_INTERFACE_DEFINED__
+
+/* interface IMediaSeeking */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IMediaSeeking;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
+ IMediaSeeking : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
+ /* [out] */ DWORD *pCapabilities) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckCapabilities(
+ /* [out][in] */ DWORD *pCapabilities) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
+ /* [in] */ const GUID *pFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat(
+ /* [out] */ GUID *pFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
+ /* [out] */ GUID *pFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat(
+ /* [in] */ const GUID *pFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(
+ /* [in] */ const GUID *pFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDuration(
+ /* [out] */ LONGLONG *pDuration) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetStopPosition(
+ /* [out] */ LONGLONG *pStop) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
+ /* [out] */ LONGLONG *pCurrent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat(
+ /* [out] */ LONGLONG *pTarget,
+ /* [in] */ const GUID *pTargetFormat,
+ /* [in] */ LONGLONG Source,
+ /* [in] */ const GUID *pSourceFormat) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPositions(
+ /* [out][in] */ LONGLONG *pCurrent,
+ /* [in] */ DWORD dwCurrentFlags,
+ /* [out][in] */ LONGLONG *pStop,
+ /* [in] */ DWORD dwStopFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPositions(
+ /* [out] */ LONGLONG *pCurrent,
+ /* [out] */ LONGLONG *pStop) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAvailable(
+ /* [out] */ LONGLONG *pEarliest,
+ /* [out] */ LONGLONG *pLatest) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetRate(
+ /* [in] */ double dRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRate(
+ /* [out] */ double *pdRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPreroll(
+ /* [out] */ LONGLONG *pllPreroll) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMediaSeekingVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMediaSeeking * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMediaSeeking * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMediaSeeking * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
+ IMediaSeeking * This,
+ /* [out] */ DWORD *pCapabilities);
+
+ HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )(
+ IMediaSeeking * This,
+ /* [out][in] */ DWORD *pCapabilities);
+
+ HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(
+ IMediaSeeking * This,
+ /* [in] */ const GUID *pFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )(
+ IMediaSeeking * This,
+ /* [out] */ GUID *pFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )(
+ IMediaSeeking * This,
+ /* [out] */ GUID *pFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )(
+ IMediaSeeking * This,
+ /* [in] */ const GUID *pFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )(
+ IMediaSeeking * This,
+ /* [in] */ const GUID *pFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDuration )(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pDuration);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStopPosition )(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pStop);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pCurrent);
+
+ HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pTarget,
+ /* [in] */ const GUID *pTargetFormat,
+ /* [in] */ LONGLONG Source,
+ /* [in] */ const GUID *pSourceFormat);
+
+ HRESULT ( STDMETHODCALLTYPE *SetPositions )(
+ IMediaSeeking * This,
+ /* [out][in] */ LONGLONG *pCurrent,
+ /* [in] */ DWORD dwCurrentFlags,
+ /* [out][in] */ LONGLONG *pStop,
+ /* [in] */ DWORD dwStopFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPositions )(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pCurrent,
+ /* [out] */ LONGLONG *pStop);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailable )(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pEarliest,
+ /* [out] */ LONGLONG *pLatest);
+
+ HRESULT ( STDMETHODCALLTYPE *SetRate )(
+ IMediaSeeking * This,
+ /* [in] */ double dRate);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRate )(
+ IMediaSeeking * This,
+ /* [out] */ double *pdRate);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPreroll )(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pllPreroll);
+
+ END_INTERFACE
+ } IMediaSeekingVtbl;
+
+ interface IMediaSeeking
+ {
+ CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ DWORD *pCapabilities);
+
+
+void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy(
+ IMediaSeeking * This,
+ /* [out][in] */ DWORD *pCapabilities);
+
+
+void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy(
+ IMediaSeeking * This,
+ /* [in] */ const GUID *pFormat);
+
+
+void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ GUID *pFormat);
+
+
+void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ GUID *pFormat);
+
+
+void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy(
+ IMediaSeeking * This,
+ /* [in] */ const GUID *pFormat);
+
+
+void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy(
+ IMediaSeeking * This,
+ /* [in] */ const GUID *pFormat);
+
+
+void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pDuration);
+
+
+void __RPC_STUB IMediaSeeking_GetDuration_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pStop);
+
+
+void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pCurrent);
+
+
+void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pTarget,
+ /* [in] */ const GUID *pTargetFormat,
+ /* [in] */ LONGLONG Source,
+ /* [in] */ const GUID *pSourceFormat);
+
+
+void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy(
+ IMediaSeeking * This,
+ /* [out][in] */ LONGLONG *pCurrent,
+ /* [in] */ DWORD dwCurrentFlags,
+ /* [out][in] */ LONGLONG *pStop,
+ /* [in] */ DWORD dwStopFlags);
+
+
+void __RPC_STUB IMediaSeeking_SetPositions_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pCurrent,
+ /* [out] */ LONGLONG *pStop);
+
+
+void __RPC_STUB IMediaSeeking_GetPositions_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pEarliest,
+ /* [out] */ LONGLONG *pLatest);
+
+
+void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy(
+ IMediaSeeking * This,
+ /* [in] */ double dRate);
+
+
+void __RPC_STUB IMediaSeeking_SetRate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ double *pdRate);
+
+
+void __RPC_STUB IMediaSeeking_GetRate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy(
+ IMediaSeeking * This,
+ /* [out] */ LONGLONG *pllPreroll);
+
+
+void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMediaSeeking_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0130 */
+/* [local] */
+
+typedef IMediaSeeking *PMEDIASEEKING;
+
+enum tagAM_MEDIAEVENT_FLAGS
+{
+ AM_MEDIAEVENT_NONOTIFY = 0x01
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0130_0001
+ {
+ CLSID Clsid;
+ LPWSTR Name;
+ } REGFILTER;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0130_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0130_v0_0_s_ifspec;
+
+#ifndef __IEnumRegFilters_INTERFACE_DEFINED__
+#define __IEnumRegFilters_INTERFACE_DEFINED__
+
+/* interface IEnumRegFilters */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IEnumRegFilters;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
+ IEnumRegFilters : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG cFilters,
+ /* [out] */ REGFILTER **apRegFilter,
+ /* [out] */ ULONG *pcFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG cFilters) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IEnumRegFilters **ppEnum) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IEnumRegFiltersVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IEnumRegFilters * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IEnumRegFilters * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IEnumRegFilters * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IEnumRegFilters * This,
+ /* [in] */ ULONG cFilters,
+ /* [out] */ REGFILTER **apRegFilter,
+ /* [out] */ ULONG *pcFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IEnumRegFilters * This,
+ /* [in] */ ULONG cFilters);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IEnumRegFilters * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IEnumRegFilters * This,
+ /* [out] */ IEnumRegFilters **ppEnum);
+
+ END_INTERFACE
+ } IEnumRegFiltersVtbl;
+
+ interface IEnumRegFilters
+ {
+ CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy(
+ IEnumRegFilters * This,
+ /* [in] */ ULONG cFilters,
+ /* [out] */ REGFILTER **apRegFilter,
+ /* [out] */ ULONG *pcFetched);
+
+
+void __RPC_STUB IEnumRegFilters_Next_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy(
+ IEnumRegFilters * This,
+ /* [in] */ ULONG cFilters);
+
+
+void __RPC_STUB IEnumRegFilters_Skip_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy(
+ IEnumRegFilters * This);
+
+
+void __RPC_STUB IEnumRegFilters_Reset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy(
+ IEnumRegFilters * This,
+ /* [out] */ IEnumRegFilters **ppEnum);
+
+
+void __RPC_STUB IEnumRegFilters_Clone_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0132 */
+/* [local] */
+
+typedef IEnumRegFilters *PENUMREGFILTERS;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_s_ifspec;
+
+#ifndef __IFilterMapper_INTERFACE_DEFINED__
+#define __IFilterMapper_INTERFACE_DEFINED__
+
+/* interface IFilterMapper */
+/* [unique][uuid][object] */
+
+
+enum __MIDL_IFilterMapper_0001
+ { MERIT_PREFERRED = 0x800000,
+ MERIT_NORMAL = 0x600000,
+ MERIT_UNLIKELY = 0x400000,
+ MERIT_DO_NOT_USE = 0x200000,
+ MERIT_SW_COMPRESSOR = 0x100000,
+ MERIT_HW_COMPRESSOR = 0x100050
+ } ;
+
+EXTERN_C const IID IID_IFilterMapper;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
+ IFilterMapper : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
+ /* [in] */ CLSID clsid,
+ /* [in] */ LPCWSTR Name,
+ /* [in] */ DWORD dwMerit) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance(
+ /* [in] */ CLSID clsid,
+ /* [in] */ LPCWSTR Name,
+ /* [out] */ CLSID *MRId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RegisterPin(
+ /* [in] */ CLSID Filter,
+ /* [in] */ LPCWSTR Name,
+ /* [in] */ BOOL bRendered,
+ /* [in] */ BOOL bOutput,
+ /* [in] */ BOOL bZero,
+ /* [in] */ BOOL bMany,
+ /* [in] */ CLSID ConnectsToFilter,
+ /* [in] */ LPCWSTR ConnectsToPin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RegisterPinType(
+ /* [in] */ CLSID clsFilter,
+ /* [in] */ LPCWSTR strName,
+ /* [in] */ CLSID clsMajorType,
+ /* [in] */ CLSID clsSubType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
+ /* [in] */ CLSID Filter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance(
+ /* [in] */ CLSID MRId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnregisterPin(
+ /* [in] */ CLSID Filter,
+ /* [in] */ LPCWSTR Name) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
+ /* [out] */ IEnumRegFilters **ppEnum,
+ /* [in] */ DWORD dwMerit,
+ /* [in] */ BOOL bInputNeeded,
+ /* [in] */ CLSID clsInMaj,
+ /* [in] */ CLSID clsInSub,
+ /* [in] */ BOOL bRender,
+ /* [in] */ BOOL bOututNeeded,
+ /* [in] */ CLSID clsOutMaj,
+ /* [in] */ CLSID clsOutSub) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFilterMapperVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFilterMapper * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFilterMapper * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFilterMapper * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
+ IFilterMapper * This,
+ /* [in] */ CLSID clsid,
+ /* [in] */ LPCWSTR Name,
+ /* [in] */ DWORD dwMerit);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterFilterInstance )(
+ IFilterMapper * This,
+ /* [in] */ CLSID clsid,
+ /* [in] */ LPCWSTR Name,
+ /* [out] */ CLSID *MRId);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterPin )(
+ IFilterMapper * This,
+ /* [in] */ CLSID Filter,
+ /* [in] */ LPCWSTR Name,
+ /* [in] */ BOOL bRendered,
+ /* [in] */ BOOL bOutput,
+ /* [in] */ BOOL bZero,
+ /* [in] */ BOOL bMany,
+ /* [in] */ CLSID ConnectsToFilter,
+ /* [in] */ LPCWSTR ConnectsToPin);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterPinType )(
+ IFilterMapper * This,
+ /* [in] */ CLSID clsFilter,
+ /* [in] */ LPCWSTR strName,
+ /* [in] */ CLSID clsMajorType,
+ /* [in] */ CLSID clsSubType);
+
+ HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
+ IFilterMapper * This,
+ /* [in] */ CLSID Filter);
+
+ HRESULT ( STDMETHODCALLTYPE *UnregisterFilterInstance )(
+ IFilterMapper * This,
+ /* [in] */ CLSID MRId);
+
+ HRESULT ( STDMETHODCALLTYPE *UnregisterPin )(
+ IFilterMapper * This,
+ /* [in] */ CLSID Filter,
+ /* [in] */ LPCWSTR Name);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
+ IFilterMapper * This,
+ /* [out] */ IEnumRegFilters **ppEnum,
+ /* [in] */ DWORD dwMerit,
+ /* [in] */ BOOL bInputNeeded,
+ /* [in] */ CLSID clsInMaj,
+ /* [in] */ CLSID clsInSub,
+ /* [in] */ BOOL bRender,
+ /* [in] */ BOOL bOututNeeded,
+ /* [in] */ CLSID clsOutMaj,
+ /* [in] */ CLSID clsOutSub);
+
+ END_INTERFACE
+ } IFilterMapperVtbl;
+
+ interface IFilterMapper
+ {
+ CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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,bOututNeeded,clsOutMaj,clsOutSub) \
+ (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy(
+ IFilterMapper * This,
+ /* [in] */ CLSID clsid,
+ /* [in] */ LPCWSTR Name,
+ /* [in] */ DWORD dwMerit);
+
+
+void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy(
+ IFilterMapper * This,
+ /* [in] */ CLSID clsid,
+ /* [in] */ LPCWSTR Name,
+ /* [out] */ CLSID *MRId);
+
+
+void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy(
+ IFilterMapper * This,
+ /* [in] */ CLSID Filter,
+ /* [in] */ LPCWSTR Name,
+ /* [in] */ BOOL bRendered,
+ /* [in] */ BOOL bOutput,
+ /* [in] */ BOOL bZero,
+ /* [in] */ BOOL bMany,
+ /* [in] */ CLSID ConnectsToFilter,
+ /* [in] */ LPCWSTR ConnectsToPin);
+
+
+void __RPC_STUB IFilterMapper_RegisterPin_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy(
+ IFilterMapper * This,
+ /* [in] */ CLSID clsFilter,
+ /* [in] */ LPCWSTR strName,
+ /* [in] */ CLSID clsMajorType,
+ /* [in] */ CLSID clsSubType);
+
+
+void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy(
+ IFilterMapper * This,
+ /* [in] */ CLSID Filter);
+
+
+void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy(
+ IFilterMapper * This,
+ /* [in] */ CLSID MRId);
+
+
+void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy(
+ IFilterMapper * This,
+ /* [in] */ CLSID Filter,
+ /* [in] */ LPCWSTR Name);
+
+
+void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy(
+ IFilterMapper * This,
+ /* [out] */ IEnumRegFilters **ppEnum,
+ /* [in] */ DWORD dwMerit,
+ /* [in] */ BOOL bInputNeeded,
+ /* [in] */ CLSID clsInMaj,
+ /* [in] */ CLSID clsInSub,
+ /* [in] */ BOOL bRender,
+ /* [in] */ BOOL bOututNeeded,
+ /* [in] */ CLSID clsOutMaj,
+ /* [in] */ CLSID clsOutSub);
+
+
+void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFilterMapper_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0134 */
+/* [local] */
+
+typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0001
+ {
+ const CLSID *clsMajorType;
+ const CLSID *clsMinorType;
+ } REGPINTYPES;
+
+typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0002
+ {
+ LPWSTR strName;
+ BOOL bRendered;
+ BOOL bOutput;
+ BOOL bZero;
+ BOOL bMany;
+ const CLSID *clsConnectsToFilter;
+ const WCHAR *strConnectsToPin;
+ UINT nMediaTypes;
+ const REGPINTYPES *lpMediaType;
+ } REGFILTERPINS;
+
+typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0003
+ {
+ CLSID clsMedium;
+ DWORD dw1;
+ DWORD dw2;
+ } REGPINMEDIUM;
+
+
+enum __MIDL___MIDL_itf_strmif_0134_0004
+ { REG_PINFLAG_B_ZERO = 0x1,
+ REG_PINFLAG_B_RENDERER = 0x2,
+ REG_PINFLAG_B_MANY = 0x4,
+ REG_PINFLAG_B_OUTPUT = 0x8
+ } ;
+typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0005
+ {
+ DWORD dwFlags;
+ UINT cInstances;
+ UINT nMediaTypes;
+ /* [size_is] */ const REGPINTYPES *lpMediaType;
+ UINT nMediums;
+ /* [size_is] */ const REGPINMEDIUM *lpMedium;
+ const CLSID *clsPinCategory;
+ } REGFILTERPINS2;
+
+typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0006
+ {
+ DWORD dwVersion;
+ DWORD dwMerit;
+ /* [switch_type][switch_is] */ union
+ {
+ /* [case()] */ struct
+ {
+ ULONG cPins;
+ /* [size_is] */ const REGFILTERPINS *rgPins;
+ } ;
+ /* [case()] */ struct
+ {
+ ULONG cPins2;
+ /* [size_is] */ const REGFILTERPINS2 *rgPins2;
+ } ;
+ /* [default] */ /* Empty union arm */
+ } ;
+ } REGFILTER2;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
+
+#ifndef __IFilterMapper2_INTERFACE_DEFINED__
+#define __IFilterMapper2_INTERFACE_DEFINED__
+
+/* interface IFilterMapper2 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IFilterMapper2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
+ IFilterMapper2 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreateCategory(
+ /* [in] */ REFCLSID clsidCategory,
+ /* [in] */ DWORD dwCategoryMerit,
+ /* [in] */ LPCWSTR Description) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
+ /* [in] */ const CLSID *pclsidCategory,
+ /* [in] */ const OLECHAR *szInstance,
+ /* [in] */ REFCLSID Filter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
+ /* [in] */ REFCLSID clsidFilter,
+ /* [in] */ LPCWSTR Name,
+ /* [out][in] */ IMoniker **ppMoniker,
+ /* [in] */ const CLSID *pclsidCategory,
+ /* [in] */ const OLECHAR *szInstance,
+ /* [in] */ const REGFILTER2 *prf2) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
+ /* [out] */ IEnumMoniker **ppEnum,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ BOOL bExactMatch,
+ /* [in] */ DWORD dwMerit,
+ /* [in] */ BOOL bInputNeeded,
+ /* [in] */ DWORD cInputTypes,
+ /* [size_is] */ const GUID *pInputTypes,
+ /* [in] */ const REGPINMEDIUM *pMedIn,
+ /* [in] */ const CLSID *pPinCategoryIn,
+ /* [in] */ BOOL bRender,
+ /* [in] */ BOOL bOutputNeeded,
+ /* [in] */ DWORD cOutputTypes,
+ /* [size_is] */ const GUID *pOutputTypes,
+ /* [in] */ const REGPINMEDIUM *pMedOut,
+ /* [in] */ const CLSID *pPinCategoryOut) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFilterMapper2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFilterMapper2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFilterMapper2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFilterMapper2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCategory )(
+ IFilterMapper2 * This,
+ /* [in] */ REFCLSID clsidCategory,
+ /* [in] */ DWORD dwCategoryMerit,
+ /* [in] */ LPCWSTR Description);
+
+ HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
+ IFilterMapper2 * This,
+ /* [in] */ const CLSID *pclsidCategory,
+ /* [in] */ const OLECHAR *szInstance,
+ /* [in] */ REFCLSID Filter);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
+ IFilterMapper2 * This,
+ /* [in] */ REFCLSID clsidFilter,
+ /* [in] */ LPCWSTR Name,
+ /* [out][in] */ IMoniker **ppMoniker,
+ /* [in] */ const CLSID *pclsidCategory,
+ /* [in] */ const OLECHAR *szInstance,
+ /* [in] */ const REGFILTER2 *prf2);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
+ IFilterMapper2 * This,
+ /* [out] */ IEnumMoniker **ppEnum,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ BOOL bExactMatch,
+ /* [in] */ DWORD dwMerit,
+ /* [in] */ BOOL bInputNeeded,
+ /* [in] */ DWORD cInputTypes,
+ /* [size_is] */ const GUID *pInputTypes,
+ /* [in] */ const REGPINMEDIUM *pMedIn,
+ /* [in] */ const CLSID *pPinCategoryIn,
+ /* [in] */ BOOL bRender,
+ /* [in] */ BOOL bOutputNeeded,
+ /* [in] */ DWORD cOutputTypes,
+ /* [size_is] */ const GUID *pOutputTypes,
+ /* [in] */ const REGPINMEDIUM *pMedOut,
+ /* [in] */ const CLSID *pPinCategoryOut);
+
+ END_INTERFACE
+ } IFilterMapper2Vtbl;
+
+ interface IFilterMapper2
+ {
+ CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy(
+ IFilterMapper2 * This,
+ /* [in] */ REFCLSID clsidCategory,
+ /* [in] */ DWORD dwCategoryMerit,
+ /* [in] */ LPCWSTR Description);
+
+
+void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy(
+ IFilterMapper2 * This,
+ /* [in] */ const CLSID *pclsidCategory,
+ /* [in] */ const OLECHAR *szInstance,
+ /* [in] */ REFCLSID Filter);
+
+
+void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy(
+ IFilterMapper2 * This,
+ /* [in] */ REFCLSID clsidFilter,
+ /* [in] */ LPCWSTR Name,
+ /* [out][in] */ IMoniker **ppMoniker,
+ /* [in] */ const CLSID *pclsidCategory,
+ /* [in] */ const OLECHAR *szInstance,
+ /* [in] */ const REGFILTER2 *prf2);
+
+
+void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy(
+ IFilterMapper2 * This,
+ /* [out] */ IEnumMoniker **ppEnum,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ BOOL bExactMatch,
+ /* [in] */ DWORD dwMerit,
+ /* [in] */ BOOL bInputNeeded,
+ /* [in] */ DWORD cInputTypes,
+ /* [size_is] */ const GUID *pInputTypes,
+ /* [in] */ const REGPINMEDIUM *pMedIn,
+ /* [in] */ const CLSID *pPinCategoryIn,
+ /* [in] */ BOOL bRender,
+ /* [in] */ BOOL bOutputNeeded,
+ /* [in] */ DWORD cOutputTypes,
+ /* [size_is] */ const GUID *pOutputTypes,
+ /* [in] */ const REGPINMEDIUM *pMedOut,
+ /* [in] */ const CLSID *pPinCategoryOut);
+
+
+void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFilterMapper2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IFilterMapper3_INTERFACE_DEFINED__
+#define __IFilterMapper3_INTERFACE_DEFINED__
+
+/* interface IFilterMapper3 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IFilterMapper3;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
+ IFilterMapper3 : public IFilterMapper2
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum(
+ /* [out] */ ICreateDevEnum **ppEnum) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFilterMapper3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFilterMapper3 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFilterMapper3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFilterMapper3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCategory )(
+ IFilterMapper3 * This,
+ /* [in] */ REFCLSID clsidCategory,
+ /* [in] */ DWORD dwCategoryMerit,
+ /* [in] */ LPCWSTR Description);
+
+ HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
+ IFilterMapper3 * This,
+ /* [in] */ const CLSID *pclsidCategory,
+ /* [in] */ const OLECHAR *szInstance,
+ /* [in] */ REFCLSID Filter);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
+ IFilterMapper3 * This,
+ /* [in] */ REFCLSID clsidFilter,
+ /* [in] */ LPCWSTR Name,
+ /* [out][in] */ IMoniker **ppMoniker,
+ /* [in] */ const CLSID *pclsidCategory,
+ /* [in] */ const OLECHAR *szInstance,
+ /* [in] */ const REGFILTER2 *prf2);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
+ IFilterMapper3 * This,
+ /* [out] */ IEnumMoniker **ppEnum,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ BOOL bExactMatch,
+ /* [in] */ DWORD dwMerit,
+ /* [in] */ BOOL bInputNeeded,
+ /* [in] */ DWORD cInputTypes,
+ /* [size_is] */ const GUID *pInputTypes,
+ /* [in] */ const REGPINMEDIUM *pMedIn,
+ /* [in] */ const CLSID *pPinCategoryIn,
+ /* [in] */ BOOL bRender,
+ /* [in] */ BOOL bOutputNeeded,
+ /* [in] */ DWORD cOutputTypes,
+ /* [size_is] */ const GUID *pOutputTypes,
+ /* [in] */ const REGPINMEDIUM *pMedOut,
+ /* [in] */ const CLSID *pPinCategoryOut);
+
+ HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )(
+ IFilterMapper3 * This,
+ /* [out] */ ICreateDevEnum **ppEnum);
+
+ END_INTERFACE
+ } IFilterMapper3Vtbl;
+
+ interface IFilterMapper3
+ {
+ CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+
+#define IFilterMapper3_GetICreateDevEnum(This,ppEnum) \
+ (This)->lpVtbl -> GetICreateDevEnum(This,ppEnum)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy(
+ IFilterMapper3 * This,
+ /* [out] */ ICreateDevEnum **ppEnum);
+
+
+void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFilterMapper3_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0137 */
+/* [local] */
+
+typedef
+enum tagQualityMessageType
+ { Famine = 0,
+ Flood = Famine + 1
+ } QualityMessageType;
+
+typedef struct tagQuality
+ {
+ QualityMessageType Type;
+ long Proportion;
+ REFERENCE_TIME Late;
+ REFERENCE_TIME TimeStamp;
+ } Quality;
+
+typedef IQualityControl *PQUALITYCONTROL;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_s_ifspec;
+
+#ifndef __IQualityControl_INTERFACE_DEFINED__
+#define __IQualityControl_INTERFACE_DEFINED__
+
+/* interface IQualityControl */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IQualityControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
+ IQualityControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Notify(
+ /* [in] */ IBaseFilter *pSelf,
+ /* [in] */ Quality q) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetSink(
+ /* [in] */ IQualityControl *piqc) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IQualityControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IQualityControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IQualityControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IQualityControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Notify )(
+ IQualityControl * This,
+ /* [in] */ IBaseFilter *pSelf,
+ /* [in] */ Quality q);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSink )(
+ IQualityControl * This,
+ /* [in] */ IQualityControl *piqc);
+
+ END_INTERFACE
+ } IQualityControlVtbl;
+
+ interface IQualityControl
+ {
+ CONST_VTBL struct IQualityControlVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IQualityControl_Notify(This,pSelf,q) \
+ (This)->lpVtbl -> Notify(This,pSelf,q)
+
+#define IQualityControl_SetSink(This,piqc) \
+ (This)->lpVtbl -> SetSink(This,piqc)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy(
+ IQualityControl * This,
+ /* [in] */ IBaseFilter *pSelf,
+ /* [in] */ Quality q);
+
+
+void __RPC_STUB IQualityControl_Notify_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy(
+ IQualityControl * This,
+ /* [in] */ IQualityControl *piqc);
+
+
+void __RPC_STUB IQualityControl_SetSink_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IQualityControl_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0138 */
+/* [local] */
+
+
+enum __MIDL___MIDL_itf_strmif_0138_0001
+ { CK_NOCOLORKEY = 0,
+ CK_INDEX = 0x1,
+ CK_RGB = 0x2
+ } ;
+typedef struct tagCOLORKEY
+ {
+ DWORD KeyType;
+ DWORD PaletteIndex;
+ COLORREF LowColorValue;
+ COLORREF HighColorValue;
+ } COLORKEY;
+
+
+enum __MIDL___MIDL_itf_strmif_0138_0002
+ { ADVISE_NONE = 0,
+ 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
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
+
+#ifndef __IOverlayNotify_INTERFACE_DEFINED__
+#define __IOverlayNotify_INTERFACE_DEFINED__
+
+/* interface IOverlayNotify */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IOverlayNotify;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
+ IOverlayNotify : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE OnPaletteChange(
+ /* [in] */ DWORD dwColors,
+ /* [in] */ const PALETTEENTRY *pPalette) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OnClipChange(
+ /* [in] */ const RECT *pSourceRect,
+ /* [in] */ const RECT *pDestinationRect,
+ /* [in] */ const RGNDATA *pRgnData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange(
+ /* [in] */ const COLORKEY *pColorKey) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OnPositionChange(
+ /* [in] */ const RECT *pSourceRect,
+ /* [in] */ const RECT *pDestinationRect) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IOverlayNotifyVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IOverlayNotify * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IOverlayNotify * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IOverlayNotify * This);
+
+ HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )(
+ IOverlayNotify * This,
+ /* [in] */ DWORD dwColors,
+ /* [in] */ const PALETTEENTRY *pPalette);
+
+ HRESULT ( STDMETHODCALLTYPE *OnClipChange )(
+ IOverlayNotify * This,
+ /* [in] */ const RECT *pSourceRect,
+ /* [in] */ const RECT *pDestinationRect,
+ /* [in] */ const RGNDATA *pRgnData);
+
+ HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )(
+ IOverlayNotify * This,
+ /* [in] */ const COLORKEY *pColorKey);
+
+ HRESULT ( STDMETHODCALLTYPE *OnPositionChange )(
+ IOverlayNotify * This,
+ /* [in] */ const RECT *pSourceRect,
+ /* [in] */ const RECT *pDestinationRect);
+
+ END_INTERFACE
+ } IOverlayNotifyVtbl;
+
+ interface IOverlayNotify
+ {
+ CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy(
+ IOverlayNotify * This,
+ /* [in] */ DWORD dwColors,
+ /* [in] */ const PALETTEENTRY *pPalette);
+
+
+void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy(
+ IOverlayNotify * This,
+ /* [in] */ const RECT *pSourceRect,
+ /* [in] */ const RECT *pDestinationRect,
+ /* [in] */ const RGNDATA *pRgnData);
+
+
+void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy(
+ IOverlayNotify * This,
+ /* [in] */ const COLORKEY *pColorKey);
+
+
+void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy(
+ IOverlayNotify * This,
+ /* [in] */ const RECT *pSourceRect,
+ /* [in] */ const RECT *pDestinationRect);
+
+
+void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IOverlayNotify_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0139 */
+/* [local] */
+
+typedef IOverlayNotify *POVERLAYNOTIFY;
+
+#if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
+#define HMONITOR_DECLARED
+#if 0
+typedef HANDLE HMONITOR;
+
+#endif
+DECLARE_HANDLE(HMONITOR);
+#endif
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_s_ifspec;
+
+#ifndef __IOverlayNotify2_INTERFACE_DEFINED__
+#define __IOverlayNotify2_INTERFACE_DEFINED__
+
+/* interface IOverlayNotify2 */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IOverlayNotify2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")
+ IOverlayNotify2 : public IOverlayNotify
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE OnDisplayChange(
+ HMONITOR hMonitor) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IOverlayNotify2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IOverlayNotify2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IOverlayNotify2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IOverlayNotify2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )(
+ IOverlayNotify2 * This,
+ /* [in] */ DWORD dwColors,
+ /* [in] */ const PALETTEENTRY *pPalette);
+
+ HRESULT ( STDMETHODCALLTYPE *OnClipChange )(
+ IOverlayNotify2 * This,
+ /* [in] */ const RECT *pSourceRect,
+ /* [in] */ const RECT *pDestinationRect,
+ /* [in] */ const RGNDATA *pRgnData);
+
+ HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )(
+ IOverlayNotify2 * This,
+ /* [in] */ const COLORKEY *pColorKey);
+
+ HRESULT ( STDMETHODCALLTYPE *OnPositionChange )(
+ IOverlayNotify2 * This,
+ /* [in] */ const RECT *pSourceRect,
+ /* [in] */ const RECT *pDestinationRect);
+
+ HRESULT ( STDMETHODCALLTYPE *OnDisplayChange )(
+ IOverlayNotify2 * This,
+ HMONITOR hMonitor);
+
+ END_INTERFACE
+ } IOverlayNotify2Vtbl;
+
+ interface IOverlayNotify2
+ {
+ CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+
+#define IOverlayNotify2_OnDisplayChange(This,hMonitor) \
+ (This)->lpVtbl -> OnDisplayChange(This,hMonitor)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy(
+ IOverlayNotify2 * This,
+ HMONITOR hMonitor);
+
+
+void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0140 */
+/* [local] */
+
+typedef IOverlayNotify2 *POVERLAYNOTIFY2;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_s_ifspec;
+
+#ifndef __IOverlay_INTERFACE_DEFINED__
+#define __IOverlay_INTERFACE_DEFINED__
+
+/* interface IOverlay */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IOverlay;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
+ IOverlay : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetPalette(
+ /* [out] */ DWORD *pdwColors,
+ /* [out] */ PALETTEENTRY **ppPalette) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPalette(
+ /* [in] */ DWORD dwColors,
+ /* [in] */ PALETTEENTRY *pPalette) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey(
+ /* [out] */ COLORKEY *pColorKey) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetColorKey(
+ /* [out] */ COLORKEY *pColorKey) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetColorKey(
+ /* [out][in] */ COLORKEY *pColorKey) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetWindowHandle(
+ /* [out] */ HWND *pHwnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetClipList(
+ /* [out] */ RECT *pSourceRect,
+ /* [out] */ RECT *pDestinationRect,
+ /* [out] */ RGNDATA **ppRgnData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
+ /* [out] */ RECT *pSourceRect,
+ /* [out] */ RECT *pDestinationRect) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Advise(
+ /* [in] */ IOverlayNotify *pOverlayNotify,
+ /* [in] */ DWORD dwInterests) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IOverlayVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IOverlay * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IOverlay * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IOverlay * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPalette )(
+ IOverlay * This,
+ /* [out] */ DWORD *pdwColors,
+ /* [out] */ PALETTEENTRY **ppPalette);
+
+ HRESULT ( STDMETHODCALLTYPE *SetPalette )(
+ IOverlay * This,
+ /* [in] */ DWORD dwColors,
+ /* [in] */ PALETTEENTRY *pPalette);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )(
+ IOverlay * This,
+ /* [out] */ COLORKEY *pColorKey);
+
+ HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
+ IOverlay * This,
+ /* [out] */ COLORKEY *pColorKey);
+
+ HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
+ IOverlay * This,
+ /* [out][in] */ COLORKEY *pColorKey);
+
+ HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )(
+ IOverlay * This,
+ /* [out] */ HWND *pHwnd);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClipList )(
+ IOverlay * This,
+ /* [out] */ RECT *pSourceRect,
+ /* [out] */ RECT *pDestinationRect,
+ /* [out] */ RGNDATA **ppRgnData);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(
+ IOverlay * This,
+ /* [out] */ RECT *pSourceRect,
+ /* [out] */ RECT *pDestinationRect);
+
+ HRESULT ( STDMETHODCALLTYPE *Advise )(
+ IOverlay * This,
+ /* [in] */ IOverlayNotify *pOverlayNotify,
+ /* [in] */ DWORD dwInterests);
+
+ HRESULT ( STDMETHODCALLTYPE *Unadvise )(
+ IOverlay * This);
+
+ END_INTERFACE
+ } IOverlayVtbl;
+
+ interface IOverlay
+ {
+ CONST_VTBL struct IOverlayVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy(
+ IOverlay * This,
+ /* [out] */ DWORD *pdwColors,
+ /* [out] */ PALETTEENTRY **ppPalette);
+
+
+void __RPC_STUB IOverlay_GetPalette_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy(
+ IOverlay * This,
+ /* [in] */ DWORD dwColors,
+ /* [in] */ PALETTEENTRY *pPalette);
+
+
+void __RPC_STUB IOverlay_SetPalette_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy(
+ IOverlay * This,
+ /* [out] */ COLORKEY *pColorKey);
+
+
+void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy(
+ IOverlay * This,
+ /* [out] */ COLORKEY *pColorKey);
+
+
+void __RPC_STUB IOverlay_GetColorKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy(
+ IOverlay * This,
+ /* [out][in] */ COLORKEY *pColorKey);
+
+
+void __RPC_STUB IOverlay_SetColorKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy(
+ IOverlay * This,
+ /* [out] */ HWND *pHwnd);
+
+
+void __RPC_STUB IOverlay_GetWindowHandle_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy(
+ IOverlay * This,
+ /* [out] */ RECT *pSourceRect,
+ /* [out] */ RECT *pDestinationRect,
+ /* [out] */ RGNDATA **ppRgnData);
+
+
+void __RPC_STUB IOverlay_GetClipList_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy(
+ IOverlay * This,
+ /* [out] */ RECT *pSourceRect,
+ /* [out] */ RECT *pDestinationRect);
+
+
+void __RPC_STUB IOverlay_GetVideoPosition_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy(
+ IOverlay * This,
+ /* [in] */ IOverlayNotify *pOverlayNotify,
+ /* [in] */ DWORD dwInterests);
+
+
+void __RPC_STUB IOverlay_Advise_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy(
+ IOverlay * This);
+
+
+void __RPC_STUB IOverlay_Unadvise_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IOverlay_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0141 */
+/* [local] */
+
+typedef IOverlay *POVERLAY;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
+
+#ifndef __IMediaEventSink_INTERFACE_DEFINED__
+#define __IMediaEventSink_INTERFACE_DEFINED__
+
+/* interface IMediaEventSink */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IMediaEventSink;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
+ IMediaEventSink : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Notify(
+ /* [in] */ long EventCode,
+ /* [in] */ LONG_PTR EventParam1,
+ /* [in] */ LONG_PTR EventParam2) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMediaEventSinkVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMediaEventSink * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMediaEventSink * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMediaEventSink * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Notify )(
+ IMediaEventSink * This,
+ /* [in] */ long EventCode,
+ /* [in] */ LONG_PTR EventParam1,
+ /* [in] */ LONG_PTR EventParam2);
+
+ END_INTERFACE
+ } IMediaEventSinkVtbl;
+
+ interface IMediaEventSink
+ {
+ CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) \
+ (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy(
+ IMediaEventSink * This,
+ /* [in] */ long EventCode,
+ /* [in] */ LONG_PTR EventParam1,
+ /* [in] */ LONG_PTR EventParam2);
+
+
+void __RPC_STUB IMediaEventSink_Notify_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMediaEventSink_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0142 */
+/* [local] */
+
+typedef IMediaEventSink *PMEDIAEVENTSINK;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
+
+#ifndef __IFileSourceFilter_INTERFACE_DEFINED__
+#define __IFileSourceFilter_INTERFACE_DEFINED__
+
+/* interface IFileSourceFilter */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IFileSourceFilter;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
+ IFileSourceFilter : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Load(
+ /* [in] */ LPCOLESTR pszFileName,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurFile(
+ /* [out] */ LPOLESTR *ppszFileName,
+ /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFileSourceFilterVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFileSourceFilter * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFileSourceFilter * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFileSourceFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Load )(
+ IFileSourceFilter * This,
+ /* [in] */ LPCOLESTR pszFileName,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
+ IFileSourceFilter * This,
+ /* [out] */ LPOLESTR *ppszFileName,
+ /* [out] */ AM_MEDIA_TYPE *pmt);
+
+ END_INTERFACE
+ } IFileSourceFilterVtbl;
+
+ interface IFileSourceFilter
+ {
+ CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IFileSourceFilter_Load(This,pszFileName,pmt) \
+ (This)->lpVtbl -> Load(This,pszFileName,pmt)
+
+#define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) \
+ (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy(
+ IFileSourceFilter * This,
+ /* [in] */ LPCOLESTR pszFileName,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IFileSourceFilter_Load_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy(
+ IFileSourceFilter * This,
+ /* [out] */ LPOLESTR *ppszFileName,
+ /* [out] */ AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0143 */
+/* [local] */
+
+typedef IFileSourceFilter *PFILTERFILESOURCE;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;
+
+#ifndef __IFileSinkFilter_INTERFACE_DEFINED__
+#define __IFileSinkFilter_INTERFACE_DEFINED__
+
+/* interface IFileSinkFilter */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IFileSinkFilter;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
+ IFileSinkFilter : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetFileName(
+ /* [in] */ LPCOLESTR pszFileName,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurFile(
+ /* [out] */ LPOLESTR *ppszFileName,
+ /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFileSinkFilterVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFileSinkFilter * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFileSinkFilter * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFileSinkFilter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFileName )(
+ IFileSinkFilter * This,
+ /* [in] */ LPCOLESTR pszFileName,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
+ IFileSinkFilter * This,
+ /* [out] */ LPOLESTR *ppszFileName,
+ /* [out] */ AM_MEDIA_TYPE *pmt);
+
+ END_INTERFACE
+ } IFileSinkFilterVtbl;
+
+ interface IFileSinkFilter
+ {
+ CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IFileSinkFilter_SetFileName(This,pszFileName,pmt) \
+ (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
+
+#define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) \
+ (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy(
+ IFileSinkFilter * This,
+ /* [in] */ LPCOLESTR pszFileName,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy(
+ IFileSinkFilter * This,
+ /* [out] */ LPOLESTR *ppszFileName,
+ /* [out] */ AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0144 */
+/* [local] */
+
+typedef IFileSinkFilter *PFILTERFILESINK;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
+
+#ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
+#define __IFileSinkFilter2_INTERFACE_DEFINED__
+
+/* interface IFileSinkFilter2 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IFileSinkFilter2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")
+ IFileSinkFilter2 : public IFileSinkFilter
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetMode(
+ /* [in] */ DWORD dwFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMode(
+ /* [out] */ DWORD *pdwFlags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFileSinkFilter2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFileSinkFilter2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFileSinkFilter2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFileSinkFilter2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFileName )(
+ IFileSinkFilter2 * This,
+ /* [in] */ LPCOLESTR pszFileName,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
+ IFileSinkFilter2 * This,
+ /* [out] */ LPOLESTR *ppszFileName,
+ /* [out] */ AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMode )(
+ IFileSinkFilter2 * This,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMode )(
+ IFileSinkFilter2 * This,
+ /* [out] */ DWORD *pdwFlags);
+
+ END_INTERFACE
+ } IFileSinkFilter2Vtbl;
+
+ interface IFileSinkFilter2
+ {
+ CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) \
+ (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
+
+#define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) \
+ (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
+
+
+#define IFileSinkFilter2_SetMode(This,dwFlags) \
+ (This)->lpVtbl -> SetMode(This,dwFlags)
+
+#define IFileSinkFilter2_GetMode(This,pdwFlags) \
+ (This)->lpVtbl -> GetMode(This,pdwFlags)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy(
+ IFileSinkFilter2 * This,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy(
+ IFileSinkFilter2 * This,
+ /* [out] */ DWORD *pdwFlags);
+
+
+void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0145 */
+/* [local] */
+
+typedef IFileSinkFilter2 *PFILESINKFILTER2;
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0145_0001
+ { AM_FILE_OVERWRITE = 0x1
+ } AM_FILESINK_FLAGS;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_s_ifspec;
+
+#ifndef __IGraphBuilder_INTERFACE_DEFINED__
+#define __IGraphBuilder_INTERFACE_DEFINED__
+
+/* interface IGraphBuilder */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IGraphBuilder;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
+ IGraphBuilder : public IFilterGraph
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Connect(
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Render(
+ /* [in] */ IPin *ppinOut) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RenderFile(
+ /* [in] */ LPCWSTR lpcwstrFile,
+ /* [unique][in] */ LPCWSTR lpcwstrPlayList) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AddSourceFilter(
+ /* [in] */ LPCWSTR lpcwstrFileName,
+ /* [unique][in] */ LPCWSTR lpcwstrFilterName,
+ /* [out] */ IBaseFilter **ppFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetLogFile(
+ /* [in] */ DWORD_PTR hFile) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGraphBuilderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGraphBuilder * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGraphBuilder * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGraphBuilder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *AddFilter )(
+ IGraphBuilder * This,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [string][in] */ LPCWSTR pName);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
+ IGraphBuilder * This,
+ /* [in] */ IBaseFilter *pFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
+ IGraphBuilder * This,
+ /* [out] */ IEnumFilters **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
+ IGraphBuilder * This,
+ /* [string][in] */ LPCWSTR pName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
+ IGraphBuilder * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reconnect )(
+ IGraphBuilder * This,
+ /* [in] */ IPin *ppin);
+
+ HRESULT ( STDMETHODCALLTYPE *Disconnect )(
+ IGraphBuilder * This,
+ /* [in] */ IPin *ppin);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
+ IGraphBuilder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Connect )(
+ IGraphBuilder * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn);
+
+ HRESULT ( STDMETHODCALLTYPE *Render )(
+ IGraphBuilder * This,
+ /* [in] */ IPin *ppinOut);
+
+ HRESULT ( STDMETHODCALLTYPE *RenderFile )(
+ IGraphBuilder * This,
+ /* [in] */ LPCWSTR lpcwstrFile,
+ /* [unique][in] */ LPCWSTR lpcwstrPlayList);
+
+ HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
+ IGraphBuilder * This,
+ /* [in] */ LPCWSTR lpcwstrFileName,
+ /* [unique][in] */ LPCWSTR lpcwstrFilterName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *SetLogFile )(
+ IGraphBuilder * This,
+ /* [in] */ DWORD_PTR hFile);
+
+ HRESULT ( STDMETHODCALLTYPE *Abort )(
+ IGraphBuilder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(
+ IGraphBuilder * This);
+
+ END_INTERFACE
+ } IGraphBuilderVtbl;
+
+ interface IGraphBuilder
+ {
+ CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy(
+ IGraphBuilder * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn);
+
+
+void __RPC_STUB IGraphBuilder_Connect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy(
+ IGraphBuilder * This,
+ /* [in] */ IPin *ppinOut);
+
+
+void __RPC_STUB IGraphBuilder_Render_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy(
+ IGraphBuilder * This,
+ /* [in] */ LPCWSTR lpcwstrFile,
+ /* [unique][in] */ LPCWSTR lpcwstrPlayList);
+
+
+void __RPC_STUB IGraphBuilder_RenderFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy(
+ IGraphBuilder * This,
+ /* [in] */ LPCWSTR lpcwstrFileName,
+ /* [unique][in] */ LPCWSTR lpcwstrFilterName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+
+void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy(
+ IGraphBuilder * This,
+ /* [in] */ DWORD_PTR hFile);
+
+
+void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy(
+ IGraphBuilder * This);
+
+
+void __RPC_STUB IGraphBuilder_Abort_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy(
+ IGraphBuilder * This);
+
+
+void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IGraphBuilder_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
+#define __ICaptureGraphBuilder_INTERFACE_DEFINED__
+
+/* interface ICaptureGraphBuilder */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICaptureGraphBuilder;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
+ ICaptureGraphBuilder : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
+ /* [in] */ IGraphBuilder *pfg) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
+ /* [out] */ IGraphBuilder **ppfg) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
+ /* [in] */ const GUID *pType,
+ /* [in] */ LPCOLESTR lpstrFile,
+ /* [out] */ IBaseFilter **ppf,
+ /* [out] */ IFileSinkFilter **ppSink) = 0;
+
+ virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(
+ /* [unique][in] */ const GUID *pCategory,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppint) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RenderStream(
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ IBaseFilter *pfCompressor,
+ /* [in] */ IBaseFilter *pfRenderer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ControlStream(
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ REFERENCE_TIME *pstart,
+ /* [in] */ REFERENCE_TIME *pstop,
+ /* [in] */ WORD wStartCookie,
+ /* [in] */ WORD wStopCookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
+ /* [in] */ LPCOLESTR lpstr,
+ /* [in] */ DWORDLONG dwlSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
+ /* [in] */ LPOLESTR lpwstrOld,
+ /* [in] */ LPOLESTR lpwstrNew,
+ /* [in] */ int fAllowEscAbort,
+ /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct ICaptureGraphBuilderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICaptureGraphBuilder * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICaptureGraphBuilder * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICaptureGraphBuilder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )(
+ ICaptureGraphBuilder * This,
+ /* [in] */ IGraphBuilder *pfg);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
+ ICaptureGraphBuilder * This,
+ /* [out] */ IGraphBuilder **ppfg);
+
+ HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(
+ ICaptureGraphBuilder * This,
+ /* [in] */ const GUID *pType,
+ /* [in] */ LPCOLESTR lpstrFile,
+ /* [out] */ IBaseFilter **ppf,
+ /* [out] */ IFileSinkFilter **ppSink);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(
+ ICaptureGraphBuilder * This,
+ /* [unique][in] */ const GUID *pCategory,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppint);
+
+ HRESULT ( STDMETHODCALLTYPE *RenderStream )(
+ ICaptureGraphBuilder * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ IBaseFilter *pfCompressor,
+ /* [in] */ IBaseFilter *pfRenderer);
+
+ HRESULT ( STDMETHODCALLTYPE *ControlStream )(
+ ICaptureGraphBuilder * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ REFERENCE_TIME *pstart,
+ /* [in] */ REFERENCE_TIME *pstop,
+ /* [in] */ WORD wStartCookie,
+ /* [in] */ WORD wStopCookie);
+
+ HRESULT ( STDMETHODCALLTYPE *AllocCapFile )(
+ ICaptureGraphBuilder * This,
+ /* [in] */ LPCOLESTR lpstr,
+ /* [in] */ DWORDLONG dwlSize);
+
+ HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )(
+ ICaptureGraphBuilder * This,
+ /* [in] */ LPOLESTR lpwstrOld,
+ /* [in] */ LPOLESTR lpwstrNew,
+ /* [in] */ int fAllowEscAbort,
+ /* [in] */ IAMCopyCaptureFileProgress *pCallback);
+
+ END_INTERFACE
+ } ICaptureGraphBuilderVtbl;
+
+ interface ICaptureGraphBuilder
+ {
+ CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [in] */ IGraphBuilder *pfg);
+
+
+void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [out] */ IGraphBuilder **ppfg);
+
+
+void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [in] */ const GUID *pType,
+ /* [in] */ LPCOLESTR lpstrFile,
+ /* [out] */ IBaseFilter **ppf,
+ /* [out] */ IFileSinkFilter **ppSink);
+
+
+void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [unique][in] */ const GUID *pCategory,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppint);
+
+
+void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ IBaseFilter *pfCompressor,
+ /* [in] */ IBaseFilter *pfRenderer);
+
+
+void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ REFERENCE_TIME *pstart,
+ /* [in] */ REFERENCE_TIME *pstop,
+ /* [in] */ WORD wStartCookie,
+ /* [in] */ WORD wStopCookie);
+
+
+void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [in] */ LPCOLESTR lpstr,
+ /* [in] */ DWORDLONG dwlSize);
+
+
+void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [in] */ LPOLESTR lpwstrOld,
+ /* [in] */ LPOLESTR lpwstrNew,
+ /* [in] */ int fAllowEscAbort,
+ /* [in] */ IAMCopyCaptureFileProgress *pCallback);
+
+
+void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
+#define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
+
+/* interface IAMCopyCaptureFileProgress */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
+ IAMCopyCaptureFileProgress : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Progress(
+ /* [in] */ int iProgress) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMCopyCaptureFileProgressVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMCopyCaptureFileProgress * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMCopyCaptureFileProgress * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMCopyCaptureFileProgress * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Progress )(
+ IAMCopyCaptureFileProgress * This,
+ /* [in] */ int iProgress);
+
+ END_INTERFACE
+ } IAMCopyCaptureFileProgressVtbl;
+
+ interface IAMCopyCaptureFileProgress
+ {
+ CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMCopyCaptureFileProgress_Progress(This,iProgress) \
+ (This)->lpVtbl -> Progress(This,iProgress)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy(
+ IAMCopyCaptureFileProgress * This,
+ /* [in] */ int iProgress);
+
+
+void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
+#define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
+
+/* interface ICaptureGraphBuilder2 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICaptureGraphBuilder2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")
+ ICaptureGraphBuilder2 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
+ /* [in] */ IGraphBuilder *pfg) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
+ /* [out] */ IGraphBuilder **ppfg) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
+ /* [in] */ const GUID *pType,
+ /* [in] */ LPCOLESTR lpstrFile,
+ /* [out] */ IBaseFilter **ppf,
+ /* [out] */ IFileSinkFilter **ppSink) = 0;
+
+ virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppint) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RenderStream(
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ IBaseFilter *pfCompressor,
+ /* [in] */ IBaseFilter *pfRenderer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ControlStream(
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ REFERENCE_TIME *pstart,
+ /* [in] */ REFERENCE_TIME *pstop,
+ /* [in] */ WORD wStartCookie,
+ /* [in] */ WORD wStopCookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
+ /* [in] */ LPCOLESTR lpstr,
+ /* [in] */ DWORDLONG dwlSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
+ /* [in] */ LPOLESTR lpwstrOld,
+ /* [in] */ LPOLESTR lpwstrNew,
+ /* [in] */ int fAllowEscAbort,
+ /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE FindPin(
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ PIN_DIRECTION pindir,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ BOOL fUnconnected,
+ /* [in] */ int num,
+ /* [out] */ IPin **ppPin) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct ICaptureGraphBuilder2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICaptureGraphBuilder2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICaptureGraphBuilder2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ IGraphBuilder *pfg);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
+ ICaptureGraphBuilder2 * This,
+ /* [out] */ IGraphBuilder **ppfg);
+
+ HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pType,
+ /* [in] */ LPCOLESTR lpstrFile,
+ /* [out] */ IBaseFilter **ppf,
+ /* [out] */ IFileSinkFilter **ppSink);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppint);
+
+ HRESULT ( STDMETHODCALLTYPE *RenderStream )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ IBaseFilter *pfCompressor,
+ /* [in] */ IBaseFilter *pfRenderer);
+
+ HRESULT ( STDMETHODCALLTYPE *ControlStream )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ REFERENCE_TIME *pstart,
+ /* [in] */ REFERENCE_TIME *pstop,
+ /* [in] */ WORD wStartCookie,
+ /* [in] */ WORD wStopCookie);
+
+ HRESULT ( STDMETHODCALLTYPE *AllocCapFile )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ LPCOLESTR lpstr,
+ /* [in] */ DWORDLONG dwlSize);
+
+ HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ LPOLESTR lpwstrOld,
+ /* [in] */ LPOLESTR lpwstrNew,
+ /* [in] */ int fAllowEscAbort,
+ /* [in] */ IAMCopyCaptureFileProgress *pCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *FindPin )(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ PIN_DIRECTION pindir,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ BOOL fUnconnected,
+ /* [in] */ int num,
+ /* [out] */ IPin **ppPin);
+
+ END_INTERFACE
+ } ICaptureGraphBuilder2Vtbl;
+
+ interface ICaptureGraphBuilder2
+ {
+ CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ IGraphBuilder *pfg);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [out] */ IGraphBuilder **ppfg);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pType,
+ /* [in] */ LPCOLESTR lpstrFile,
+ /* [out] */ IBaseFilter **ppf,
+ /* [out] */ IFileSinkFilter **ppSink);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppint);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ IBaseFilter *pfCompressor,
+ /* [in] */ IBaseFilter *pfRenderer);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ REFERENCE_TIME *pstart,
+ /* [in] */ REFERENCE_TIME *pstop,
+ /* [in] */ WORD wStartCookie,
+ /* [in] */ WORD wStopCookie);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ LPCOLESTR lpstr,
+ /* [in] */ DWORDLONG dwlSize);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ LPOLESTR lpwstrOld,
+ /* [in] */ LPOLESTR lpwstrNew,
+ /* [in] */ int fAllowEscAbort,
+ /* [in] */ IAMCopyCaptureFileProgress *pCallback);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ IUnknown *pSource,
+ /* [in] */ PIN_DIRECTION pindir,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ BOOL fUnconnected,
+ /* [in] */ int num,
+ /* [out] */ IPin **ppPin);
+
+
+void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0149 */
+/* [local] */
+
+
+enum _AM_RENSDEREXFLAGS
+ { AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_s_ifspec;
+
+#ifndef __IFilterGraph2_INTERFACE_DEFINED__
+#define __IFilterGraph2_INTERFACE_DEFINED__
+
+/* interface IFilterGraph2 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IFilterGraph2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
+ IFilterGraph2 : public IGraphBuilder
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker(
+ /* [in] */ IMoniker *pMoniker,
+ /* [in] */ IBindCtx *pCtx,
+ /* [unique][in] */ LPCWSTR lpcwstrFilterName,
+ /* [out] */ IBaseFilter **ppFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReconnectEx(
+ /* [in] */ IPin *ppin,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RenderEx(
+ /* [in] */ IPin *pPinOut,
+ /* [in] */ DWORD dwFlags,
+ /* [out][in] */ DWORD *pvContext) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFilterGraph2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFilterGraph2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFilterGraph2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFilterGraph2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *AddFilter )(
+ IFilterGraph2 * This,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [string][in] */ LPCWSTR pName);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
+ IFilterGraph2 * This,
+ /* [in] */ IBaseFilter *pFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
+ IFilterGraph2 * This,
+ /* [out] */ IEnumFilters **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
+ IFilterGraph2 * This,
+ /* [string][in] */ LPCWSTR pName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reconnect )(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *ppin);
+
+ HRESULT ( STDMETHODCALLTYPE *Disconnect )(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *ppin);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
+ IFilterGraph2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Connect )(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IPin *ppinIn);
+
+ HRESULT ( STDMETHODCALLTYPE *Render )(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *ppinOut);
+
+ HRESULT ( STDMETHODCALLTYPE *RenderFile )(
+ IFilterGraph2 * This,
+ /* [in] */ LPCWSTR lpcwstrFile,
+ /* [unique][in] */ LPCWSTR lpcwstrPlayList);
+
+ HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
+ IFilterGraph2 * This,
+ /* [in] */ LPCWSTR lpcwstrFileName,
+ /* [unique][in] */ LPCWSTR lpcwstrFilterName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *SetLogFile )(
+ IFilterGraph2 * This,
+ /* [in] */ DWORD_PTR hFile);
+
+ HRESULT ( STDMETHODCALLTYPE *Abort )(
+ IFilterGraph2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(
+ IFilterGraph2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )(
+ IFilterGraph2 * This,
+ /* [in] */ IMoniker *pMoniker,
+ /* [in] */ IBindCtx *pCtx,
+ /* [unique][in] */ LPCWSTR lpcwstrFilterName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *ReconnectEx )(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *ppin,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *RenderEx )(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *pPinOut,
+ /* [in] */ DWORD dwFlags,
+ /* [out][in] */ DWORD *pvContext);
+
+ END_INTERFACE
+ } IFilterGraph2Vtbl;
+
+ interface IFilterGraph2
+ {
+ CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy(
+ IFilterGraph2 * This,
+ /* [in] */ IMoniker *pMoniker,
+ /* [in] */ IBindCtx *pCtx,
+ /* [unique][in] */ LPCWSTR lpcwstrFilterName,
+ /* [out] */ IBaseFilter **ppFilter);
+
+
+void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *ppin,
+ /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy(
+ IFilterGraph2 * This,
+ /* [in] */ IPin *pPinOut,
+ /* [in] */ DWORD dwFlags,
+ /* [out][in] */ DWORD *pvContext);
+
+
+void __RPC_STUB IFilterGraph2_RenderEx_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFilterGraph2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IStreamBuilder_INTERFACE_DEFINED__
+#define __IStreamBuilder_INTERFACE_DEFINED__
+
+/* interface IStreamBuilder */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IStreamBuilder;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
+ IStreamBuilder : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Render(
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IGraphBuilder *pGraph) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Backout(
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IGraphBuilder *pGraph) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IStreamBuilderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IStreamBuilder * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IStreamBuilder * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IStreamBuilder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Render )(
+ IStreamBuilder * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IGraphBuilder *pGraph);
+
+ HRESULT ( STDMETHODCALLTYPE *Backout )(
+ IStreamBuilder * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IGraphBuilder *pGraph);
+
+ END_INTERFACE
+ } IStreamBuilderVtbl;
+
+ interface IStreamBuilder
+ {
+ CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IStreamBuilder_Render(This,ppinOut,pGraph) \
+ (This)->lpVtbl -> Render(This,ppinOut,pGraph)
+
+#define IStreamBuilder_Backout(This,ppinOut,pGraph) \
+ (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy(
+ IStreamBuilder * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IGraphBuilder *pGraph);
+
+
+void __RPC_STUB IStreamBuilder_Render_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy(
+ IStreamBuilder * This,
+ /* [in] */ IPin *ppinOut,
+ /* [in] */ IGraphBuilder *pGraph);
+
+
+void __RPC_STUB IStreamBuilder_Backout_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IStreamBuilder_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAsyncReader_INTERFACE_DEFINED__
+#define __IAsyncReader_INTERFACE_DEFINED__
+
+/* interface IAsyncReader */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAsyncReader;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
+ IAsyncReader : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE RequestAllocator(
+ /* [in] */ IMemAllocator *pPreferred,
+ /* [in] */ ALLOCATOR_PROPERTIES *pProps,
+ /* [out] */ IMemAllocator **ppActual) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Request(
+ /* [in] */ IMediaSample *pSample,
+ /* [in] */ DWORD_PTR dwUser) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE WaitForNext(
+ /* [in] */ DWORD dwTimeout,
+ /* [out] */ IMediaSample **ppSample,
+ /* [out] */ DWORD_PTR *pdwUser) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SyncReadAligned(
+ /* [in] */ IMediaSample *pSample) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SyncRead(
+ /* [in] */ LONGLONG llPosition,
+ /* [in] */ LONG lLength,
+ /* [size_is][out] */ BYTE *pBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Length(
+ /* [out] */ LONGLONG *pTotal,
+ /* [out] */ LONGLONG *pAvailable) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAsyncReaderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAsyncReader * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAsyncReader * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAsyncReader * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RequestAllocator )(
+ IAsyncReader * This,
+ /* [in] */ IMemAllocator *pPreferred,
+ /* [in] */ ALLOCATOR_PROPERTIES *pProps,
+ /* [out] */ IMemAllocator **ppActual);
+
+ HRESULT ( STDMETHODCALLTYPE *Request )(
+ IAsyncReader * This,
+ /* [in] */ IMediaSample *pSample,
+ /* [in] */ DWORD_PTR dwUser);
+
+ HRESULT ( STDMETHODCALLTYPE *WaitForNext )(
+ IAsyncReader * This,
+ /* [in] */ DWORD dwTimeout,
+ /* [out] */ IMediaSample **ppSample,
+ /* [out] */ DWORD_PTR *pdwUser);
+
+ HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )(
+ IAsyncReader * This,
+ /* [in] */ IMediaSample *pSample);
+
+ HRESULT ( STDMETHODCALLTYPE *SyncRead )(
+ IAsyncReader * This,
+ /* [in] */ LONGLONG llPosition,
+ /* [in] */ LONG lLength,
+ /* [size_is][out] */ BYTE *pBuffer);
+
+ HRESULT ( STDMETHODCALLTYPE *Length )(
+ IAsyncReader * This,
+ /* [out] */ LONGLONG *pTotal,
+ /* [out] */ LONGLONG *pAvailable);
+
+ HRESULT ( STDMETHODCALLTYPE *BeginFlush )(
+ IAsyncReader * This);
+
+ HRESULT ( STDMETHODCALLTYPE *EndFlush )(
+ IAsyncReader * This);
+
+ END_INTERFACE
+ } IAsyncReaderVtbl;
+
+ interface IAsyncReader
+ {
+ CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy(
+ IAsyncReader * This,
+ /* [in] */ IMemAllocator *pPreferred,
+ /* [in] */ ALLOCATOR_PROPERTIES *pProps,
+ /* [out] */ IMemAllocator **ppActual);
+
+
+void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy(
+ IAsyncReader * This,
+ /* [in] */ IMediaSample *pSample,
+ /* [in] */ DWORD_PTR dwUser);
+
+
+void __RPC_STUB IAsyncReader_Request_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy(
+ IAsyncReader * This,
+ /* [in] */ DWORD dwTimeout,
+ /* [out] */ IMediaSample **ppSample,
+ /* [out] */ DWORD_PTR *pdwUser);
+
+
+void __RPC_STUB IAsyncReader_WaitForNext_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy(
+ IAsyncReader * This,
+ /* [in] */ IMediaSample *pSample);
+
+
+void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy(
+ IAsyncReader * This,
+ /* [in] */ LONGLONG llPosition,
+ /* [in] */ LONG lLength,
+ /* [size_is][out] */ BYTE *pBuffer);
+
+
+void __RPC_STUB IAsyncReader_SyncRead_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy(
+ IAsyncReader * This,
+ /* [out] */ LONGLONG *pTotal,
+ /* [out] */ LONGLONG *pAvailable);
+
+
+void __RPC_STUB IAsyncReader_Length_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy(
+ IAsyncReader * This);
+
+
+void __RPC_STUB IAsyncReader_BeginFlush_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy(
+ IAsyncReader * This);
+
+
+void __RPC_STUB IAsyncReader_EndFlush_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAsyncReader_INTERFACE_DEFINED__ */
+
+
+#ifndef __IGraphVersion_INTERFACE_DEFINED__
+#define __IGraphVersion_INTERFACE_DEFINED__
+
+/* interface IGraphVersion */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IGraphVersion;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
+ IGraphVersion : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE QueryVersion(
+ LONG *pVersion) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGraphVersionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGraphVersion * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGraphVersion * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGraphVersion * This);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryVersion )(
+ IGraphVersion * This,
+ LONG *pVersion);
+
+ END_INTERFACE
+ } IGraphVersionVtbl;
+
+ interface IGraphVersion
+ {
+ CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IGraphVersion_QueryVersion(This,pVersion) \
+ (This)->lpVtbl -> QueryVersion(This,pVersion)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy(
+ IGraphVersion * This,
+ LONG *pVersion);
+
+
+void __RPC_STUB IGraphVersion_QueryVersion_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IGraphVersion_INTERFACE_DEFINED__ */
+
+
+#ifndef __IResourceConsumer_INTERFACE_DEFINED__
+#define __IResourceConsumer_INTERFACE_DEFINED__
+
+/* interface IResourceConsumer */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IResourceConsumer;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
+ IResourceConsumer : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE AcquireResource(
+ /* [in] */ LONG idResource) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReleaseResource(
+ /* [in] */ LONG idResource) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IResourceConsumerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IResourceConsumer * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IResourceConsumer * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IResourceConsumer * This);
+
+ HRESULT ( STDMETHODCALLTYPE *AcquireResource )(
+ IResourceConsumer * This,
+ /* [in] */ LONG idResource);
+
+ HRESULT ( STDMETHODCALLTYPE *ReleaseResource )(
+ IResourceConsumer * This,
+ /* [in] */ LONG idResource);
+
+ END_INTERFACE
+ } IResourceConsumerVtbl;
+
+ interface IResourceConsumer
+ {
+ CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IResourceConsumer_AcquireResource(This,idResource) \
+ (This)->lpVtbl -> AcquireResource(This,idResource)
+
+#define IResourceConsumer_ReleaseResource(This,idResource) \
+ (This)->lpVtbl -> ReleaseResource(This,idResource)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy(
+ IResourceConsumer * This,
+ /* [in] */ LONG idResource);
+
+
+void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy(
+ IResourceConsumer * This,
+ /* [in] */ LONG idResource);
+
+
+void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IResourceConsumer_INTERFACE_DEFINED__ */
+
+
+#ifndef __IResourceManager_INTERFACE_DEFINED__
+#define __IResourceManager_INTERFACE_DEFINED__
+
+/* interface IResourceManager */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IResourceManager;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
+ IResourceManager : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Register(
+ /* [in] */ LPCWSTR pName,
+ /* [in] */ LONG cResource,
+ /* [out] */ LONG *plToken) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RegisterGroup(
+ /* [in] */ LPCWSTR pName,
+ /* [in] */ LONG cResource,
+ /* [size_is][in] */ LONG *palTokens,
+ /* [out] */ LONG *plToken) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RequestResource(
+ /* [in] */ LONG idResource,
+ /* [in] */ IUnknown *pFocusObject,
+ /* [in] */ IResourceConsumer *pConsumer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyAcquire(
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer,
+ /* [in] */ HRESULT hr) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer,
+ /* [in] */ BOOL bStillWant) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CancelRequest(
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetFocus(
+ /* [in] */ IUnknown *pFocusObject) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReleaseFocus(
+ /* [in] */ IUnknown *pFocusObject) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IResourceManagerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IResourceManager * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IResourceManager * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IResourceManager * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Register )(
+ IResourceManager * This,
+ /* [in] */ LPCWSTR pName,
+ /* [in] */ LONG cResource,
+ /* [out] */ LONG *plToken);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterGroup )(
+ IResourceManager * This,
+ /* [in] */ LPCWSTR pName,
+ /* [in] */ LONG cResource,
+ /* [size_is][in] */ LONG *palTokens,
+ /* [out] */ LONG *plToken);
+
+ HRESULT ( STDMETHODCALLTYPE *RequestResource )(
+ IResourceManager * This,
+ /* [in] */ LONG idResource,
+ /* [in] */ IUnknown *pFocusObject,
+ /* [in] */ IResourceConsumer *pConsumer);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )(
+ IResourceManager * This,
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer,
+ /* [in] */ HRESULT hr);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(
+ IResourceManager * This,
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer,
+ /* [in] */ BOOL bStillWant);
+
+ HRESULT ( STDMETHODCALLTYPE *CancelRequest )(
+ IResourceManager * This,
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFocus )(
+ IResourceManager * This,
+ /* [in] */ IUnknown *pFocusObject);
+
+ HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )(
+ IResourceManager * This,
+ /* [in] */ IUnknown *pFocusObject);
+
+ END_INTERFACE
+ } IResourceManagerVtbl;
+
+ interface IResourceManager
+ {
+ CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy(
+ IResourceManager * This,
+ /* [in] */ LPCWSTR pName,
+ /* [in] */ LONG cResource,
+ /* [out] */ LONG *plToken);
+
+
+void __RPC_STUB IResourceManager_Register_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy(
+ IResourceManager * This,
+ /* [in] */ LPCWSTR pName,
+ /* [in] */ LONG cResource,
+ /* [size_is][in] */ LONG *palTokens,
+ /* [out] */ LONG *plToken);
+
+
+void __RPC_STUB IResourceManager_RegisterGroup_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy(
+ IResourceManager * This,
+ /* [in] */ LONG idResource,
+ /* [in] */ IUnknown *pFocusObject,
+ /* [in] */ IResourceConsumer *pConsumer);
+
+
+void __RPC_STUB IResourceManager_RequestResource_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy(
+ IResourceManager * This,
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer,
+ /* [in] */ HRESULT hr);
+
+
+void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy(
+ IResourceManager * This,
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer,
+ /* [in] */ BOOL bStillWant);
+
+
+void __RPC_STUB IResourceManager_NotifyRelease_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy(
+ IResourceManager * This,
+ /* [in] */ LONG idResource,
+ /* [in] */ IResourceConsumer *pConsumer);
+
+
+void __RPC_STUB IResourceManager_CancelRequest_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy(
+ IResourceManager * This,
+ /* [in] */ IUnknown *pFocusObject);
+
+
+void __RPC_STUB IResourceManager_SetFocus_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy(
+ IResourceManager * This,
+ /* [in] */ IUnknown *pFocusObject);
+
+
+void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IResourceManager_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDistributorNotify_INTERFACE_DEFINED__
+#define __IDistributorNotify_INTERFACE_DEFINED__
+
+/* interface IDistributorNotify */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDistributorNotify;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
+ IDistributorNotify : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Run(
+ REFERENCE_TIME tStart) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
+ /* [in] */ IReferenceClock *pClock) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDistributorNotifyVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDistributorNotify * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDistributorNotify * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDistributorNotify * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ IDistributorNotify * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Pause )(
+ IDistributorNotify * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Run )(
+ IDistributorNotify * This,
+ REFERENCE_TIME tStart);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
+ IDistributorNotify * This,
+ /* [in] */ IReferenceClock *pClock);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )(
+ IDistributorNotify * This);
+
+ END_INTERFACE
+ } IDistributorNotifyVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy(
+ IDistributorNotify * This);
+
+
+void __RPC_STUB IDistributorNotify_Stop_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy(
+ IDistributorNotify * This);
+
+
+void __RPC_STUB IDistributorNotify_Pause_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy(
+ IDistributorNotify * This,
+ REFERENCE_TIME tStart);
+
+
+void __RPC_STUB IDistributorNotify_Run_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy(
+ IDistributorNotify * This,
+ /* [in] */ IReferenceClock *pClock);
+
+
+void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy(
+ IDistributorNotify * This);
+
+
+void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDistributorNotify_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0156 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0156_0001
+ { 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 /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0156_0002
+ {
+ REFERENCE_TIME tStart;
+ REFERENCE_TIME tStop;
+ DWORD dwStartCookie;
+ DWORD dwStopCookie;
+ DWORD dwFlags;
+ } AM_STREAM_INFO;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0156_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0156_v0_0_s_ifspec;
+
+#ifndef __IAMStreamControl_INTERFACE_DEFINED__
+#define __IAMStreamControl_INTERFACE_DEFINED__
+
+/* interface IAMStreamControl */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMStreamControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
+ IAMStreamControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE StartAt(
+ /* [in] */ const REFERENCE_TIME *ptStart,
+ /* [in] */ DWORD dwCookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StopAt(
+ /* [in] */ const REFERENCE_TIME *ptStop,
+ /* [in] */ BOOL bSendExtra,
+ /* [in] */ DWORD dwCookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetInfo(
+ /* [out] */ AM_STREAM_INFO *pInfo) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMStreamControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMStreamControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMStreamControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMStreamControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *StartAt )(
+ IAMStreamControl * This,
+ /* [in] */ const REFERENCE_TIME *ptStart,
+ /* [in] */ DWORD dwCookie);
+
+ HRESULT ( STDMETHODCALLTYPE *StopAt )(
+ IAMStreamControl * This,
+ /* [in] */ const REFERENCE_TIME *ptStop,
+ /* [in] */ BOOL bSendExtra,
+ /* [in] */ DWORD dwCookie);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInfo )(
+ IAMStreamControl * This,
+ /* [out] */ AM_STREAM_INFO *pInfo);
+
+ END_INTERFACE
+ } IAMStreamControlVtbl;
+
+ interface IAMStreamControl
+ {
+ CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy(
+ IAMStreamControl * This,
+ /* [in] */ const REFERENCE_TIME *ptStart,
+ /* [in] */ DWORD dwCookie);
+
+
+void __RPC_STUB IAMStreamControl_StartAt_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy(
+ IAMStreamControl * This,
+ /* [in] */ const REFERENCE_TIME *ptStop,
+ /* [in] */ BOOL bSendExtra,
+ /* [in] */ DWORD dwCookie);
+
+
+void __RPC_STUB IAMStreamControl_StopAt_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy(
+ IAMStreamControl * This,
+ /* [out] */ AM_STREAM_INFO *pInfo);
+
+
+void __RPC_STUB IAMStreamControl_GetInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMStreamControl_INTERFACE_DEFINED__ */
+
+
+#ifndef __ISeekingPassThru_INTERFACE_DEFINED__
+#define __ISeekingPassThru_INTERFACE_DEFINED__
+
+/* interface ISeekingPassThru */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ISeekingPassThru;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
+ ISeekingPassThru : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Init(
+ /* [in] */ BOOL bSupportRendering,
+ /* [in] */ IPin *pPin) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct ISeekingPassThruVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ISeekingPassThru * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ISeekingPassThru * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ISeekingPassThru * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Init )(
+ ISeekingPassThru * This,
+ /* [in] */ BOOL bSupportRendering,
+ /* [in] */ IPin *pPin);
+
+ END_INTERFACE
+ } ISeekingPassThruVtbl;
+
+ interface ISeekingPassThru
+ {
+ CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define ISeekingPassThru_Init(This,bSupportRendering,pPin) \
+ (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy(
+ ISeekingPassThru * This,
+ /* [in] */ BOOL bSupportRendering,
+ /* [in] */ IPin *pPin);
+
+
+void __RPC_STUB ISeekingPassThru_Init_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __ISeekingPassThru_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMStreamConfig_INTERFACE_DEFINED__
+#define __IAMStreamConfig_INTERFACE_DEFINED__
+
+/* interface IAMStreamConfig */
+/* [unique][uuid][object] */
+
+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;
+
+
+EXTERN_C const IID IID_IAMStreamConfig;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
+ IAMStreamConfig : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetFormat(
+ /* [in] */ AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFormat(
+ /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(
+ /* [out] */ int *piCount,
+ /* [out] */ int *piSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(
+ /* [in] */ int iIndex,
+ /* [out] */ AM_MEDIA_TYPE **ppmt,
+ /* [out] */ BYTE *pSCC) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMStreamConfigVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMStreamConfig * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMStreamConfig * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMStreamConfig * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFormat )(
+ IAMStreamConfig * This,
+ /* [in] */ AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFormat )(
+ IAMStreamConfig * This,
+ /* [out] */ AM_MEDIA_TYPE **ppmt);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )(
+ IAMStreamConfig * This,
+ /* [out] */ int *piCount,
+ /* [out] */ int *piSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )(
+ IAMStreamConfig * This,
+ /* [in] */ int iIndex,
+ /* [out] */ AM_MEDIA_TYPE **ppmt,
+ /* [out] */ BYTE *pSCC);
+
+ END_INTERFACE
+ } IAMStreamConfigVtbl;
+
+ interface IAMStreamConfig
+ {
+ CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMStreamConfig_SetFormat(This,pmt) \
+ (This)->lpVtbl -> SetFormat(This,pmt)
+
+#define IAMStreamConfig_GetFormat(This,ppmt) \
+ (This)->lpVtbl -> GetFormat(This,ppmt)
+
+#define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) \
+ (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
+
+#define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC) \
+ (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy(
+ IAMStreamConfig * This,
+ /* [in] */ AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy(
+ IAMStreamConfig * This,
+ /* [out] */ AM_MEDIA_TYPE **ppmt);
+
+
+void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy(
+ IAMStreamConfig * This,
+ /* [out] */ int *piCount,
+ /* [out] */ int *piSize);
+
+
+void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy(
+ IAMStreamConfig * This,
+ /* [in] */ int iIndex,
+ /* [out] */ AM_MEDIA_TYPE **ppmt,
+ /* [out] */ BYTE *pSCC);
+
+
+void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMStreamConfig_INTERFACE_DEFINED__ */
+
+
+#ifndef __IConfigInterleaving_INTERFACE_DEFINED__
+#define __IConfigInterleaving_INTERFACE_DEFINED__
+
+/* interface IConfigInterleaving */
+/* [unique][uuid][object] */
+
+typedef /* [public][public][public] */
+enum __MIDL_IConfigInterleaving_0001
+ { INTERLEAVE_NONE = 0,
+ INTERLEAVE_CAPTURE = INTERLEAVE_NONE + 1,
+ INTERLEAVE_FULL = INTERLEAVE_CAPTURE + 1,
+ INTERLEAVE_NONE_BUFFERED = INTERLEAVE_FULL + 1
+ } InterleavingMode;
+
+
+EXTERN_C const IID IID_IConfigInterleaving;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
+ IConfigInterleaving : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE put_Mode(
+ /* [in] */ InterleavingMode mode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Mode(
+ /* [out] */ InterleavingMode *pMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Interleaving(
+ /* [in] */ const REFERENCE_TIME *prtInterleave,
+ /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Interleaving(
+ /* [out] */ REFERENCE_TIME *prtInterleave,
+ /* [out] */ REFERENCE_TIME *prtPreroll) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IConfigInterleavingVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IConfigInterleaving * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IConfigInterleaving * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IConfigInterleaving * This);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Mode )(
+ IConfigInterleaving * This,
+ /* [in] */ InterleavingMode mode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Mode )(
+ IConfigInterleaving * This,
+ /* [out] */ InterleavingMode *pMode);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Interleaving )(
+ IConfigInterleaving * This,
+ /* [in] */ const REFERENCE_TIME *prtInterleave,
+ /* [in] */ const REFERENCE_TIME *prtPreroll);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Interleaving )(
+ IConfigInterleaving * This,
+ /* [out] */ REFERENCE_TIME *prtInterleave,
+ /* [out] */ REFERENCE_TIME *prtPreroll);
+
+ END_INTERFACE
+ } IConfigInterleavingVtbl;
+
+ interface IConfigInterleaving
+ {
+ CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy(
+ IConfigInterleaving * This,
+ /* [in] */ InterleavingMode mode);
+
+
+void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy(
+ IConfigInterleaving * This,
+ /* [out] */ InterleavingMode *pMode);
+
+
+void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy(
+ IConfigInterleaving * This,
+ /* [in] */ const REFERENCE_TIME *prtInterleave,
+ /* [in] */ const REFERENCE_TIME *prtPreroll);
+
+
+void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy(
+ IConfigInterleaving * This,
+ /* [out] */ REFERENCE_TIME *prtInterleave,
+ /* [out] */ REFERENCE_TIME *prtPreroll);
+
+
+void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IConfigInterleaving_INTERFACE_DEFINED__ */
+
+
+#ifndef __IConfigAviMux_INTERFACE_DEFINED__
+#define __IConfigAviMux_INTERFACE_DEFINED__
+
+/* interface IConfigAviMux */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IConfigAviMux;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
+ IConfigAviMux : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetMasterStream(
+ /* [in] */ LONG iStream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMasterStream(
+ /* [out] */ LONG *pStream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex(
+ /* [in] */ BOOL fOldIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex(
+ /* [out] */ BOOL *pfOldIndex) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IConfigAviMuxVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IConfigAviMux * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IConfigAviMux * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IConfigAviMux * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMasterStream )(
+ IConfigAviMux * This,
+ /* [in] */ LONG iStream);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMasterStream )(
+ IConfigAviMux * This,
+ /* [out] */ LONG *pStream);
+
+ HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )(
+ IConfigAviMux * This,
+ /* [in] */ BOOL fOldIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )(
+ IConfigAviMux * This,
+ /* [out] */ BOOL *pfOldIndex);
+
+ END_INTERFACE
+ } IConfigAviMuxVtbl;
+
+ interface IConfigAviMux
+ {
+ CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy(
+ IConfigAviMux * This,
+ /* [in] */ LONG iStream);
+
+
+void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy(
+ IConfigAviMux * This,
+ /* [out] */ LONG *pStream);
+
+
+void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy(
+ IConfigAviMux * This,
+ /* [in] */ BOOL fOldIndex);
+
+
+void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy(
+ IConfigAviMux * This,
+ /* [out] */ BOOL *pfOldIndex);
+
+
+void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IConfigAviMux_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0163 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0163_0001
+ { CompressionCaps_CanQuality = 0x1,
+ CompressionCaps_CanCrunch = 0x2,
+ CompressionCaps_CanKeyFrame = 0x4,
+ CompressionCaps_CanBFrame = 0x8,
+ CompressionCaps_CanWindow = 0x10
+ } CompressionCaps;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_s_ifspec;
+
+#ifndef __IAMVideoCompression_INTERFACE_DEFINED__
+#define __IAMVideoCompression_INTERFACE_DEFINED__
+
+/* interface IAMVideoCompression */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMVideoCompression;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
+ IAMVideoCompression : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate(
+ /* [in] */ long KeyFrameRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate(
+ /* [out] */ long *pKeyFrameRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame(
+ /* [in] */ long PFramesPerKeyFrame) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame(
+ /* [out] */ long *pPFramesPerKeyFrame) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Quality(
+ /* [in] */ double Quality) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Quality(
+ /* [out] */ double *pQuality) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_WindowSize(
+ /* [in] */ DWORDLONG WindowSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_WindowSize(
+ /* [out] */ DWORDLONG *pWindowSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetInfo(
+ /* [size_is][out] */ WCHAR *pszVersion,
+ /* [out][in] */ int *pcbVersion,
+ /* [size_is][out] */ LPWSTR pszDescription,
+ /* [out][in] */ int *pcbDescription,
+ /* [out] */ long *pDefaultKeyFrameRate,
+ /* [out] */ long *pDefaultPFramesPerKey,
+ /* [out] */ double *pDefaultQuality,
+ /* [out] */ long *pCapabilities) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame(
+ /* [in] */ long FrameNumber) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize(
+ /* [in] */ long FrameNumber,
+ /* [in] */ long Size) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMVideoCompressionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMVideoCompression * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMVideoCompression * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMVideoCompression * This);
+
+ HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )(
+ IAMVideoCompression * This,
+ /* [in] */ long KeyFrameRate);
+
+ HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )(
+ IAMVideoCompression * This,
+ /* [out] */ long *pKeyFrameRate);
+
+ HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )(
+ IAMVideoCompression * This,
+ /* [in] */ long PFramesPerKeyFrame);
+
+ HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )(
+ IAMVideoCompression * This,
+ /* [out] */ long *pPFramesPerKeyFrame);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Quality )(
+ IAMVideoCompression * This,
+ /* [in] */ double Quality);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Quality )(
+ IAMVideoCompression * This,
+ /* [out] */ double *pQuality);
+
+ HRESULT ( STDMETHODCALLTYPE *put_WindowSize )(
+ IAMVideoCompression * This,
+ /* [in] */ DWORDLONG WindowSize);
+
+ HRESULT ( STDMETHODCALLTYPE *get_WindowSize )(
+ IAMVideoCompression * This,
+ /* [out] */ DWORDLONG *pWindowSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInfo )(
+ IAMVideoCompression * This,
+ /* [size_is][out] */ WCHAR *pszVersion,
+ /* [out][in] */ int *pcbVersion,
+ /* [size_is][out] */ LPWSTR pszDescription,
+ /* [out][in] */ int *pcbDescription,
+ /* [out] */ long *pDefaultKeyFrameRate,
+ /* [out] */ long *pDefaultPFramesPerKey,
+ /* [out] */ double *pDefaultQuality,
+ /* [out] */ long *pCapabilities);
+
+ HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )(
+ IAMVideoCompression * This,
+ /* [in] */ long FrameNumber);
+
+ HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )(
+ IAMVideoCompression * This,
+ /* [in] */ long FrameNumber,
+ /* [in] */ long Size);
+
+ END_INTERFACE
+ } IAMVideoCompressionVtbl;
+
+ interface IAMVideoCompression
+ {
+ CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate) \
+ (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
+
+#define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate) \
+ (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
+
+#define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) \
+ (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
+
+#define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) \
+ (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
+
+#define IAMVideoCompression_put_Quality(This,Quality) \
+ (This)->lpVtbl -> put_Quality(This,Quality)
+
+#define IAMVideoCompression_get_Quality(This,pQuality) \
+ (This)->lpVtbl -> get_Quality(This,pQuality)
+
+#define IAMVideoCompression_put_WindowSize(This,WindowSize) \
+ (This)->lpVtbl -> put_WindowSize(This,WindowSize)
+
+#define IAMVideoCompression_get_WindowSize(This,pWindowSize) \
+ (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
+
+#define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) \
+ (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
+
+#define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber) \
+ (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
+
+#define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size) \
+ (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy(
+ IAMVideoCompression * This,
+ /* [in] */ long KeyFrameRate);
+
+
+void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy(
+ IAMVideoCompression * This,
+ /* [out] */ long *pKeyFrameRate);
+
+
+void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(
+ IAMVideoCompression * This,
+ /* [in] */ long PFramesPerKeyFrame);
+
+
+void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(
+ IAMVideoCompression * This,
+ /* [out] */ long *pPFramesPerKeyFrame);
+
+
+void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy(
+ IAMVideoCompression * This,
+ /* [in] */ double Quality);
+
+
+void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy(
+ IAMVideoCompression * This,
+ /* [out] */ double *pQuality);
+
+
+void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy(
+ IAMVideoCompression * This,
+ /* [in] */ DWORDLONG WindowSize);
+
+
+void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy(
+ IAMVideoCompression * This,
+ /* [out] */ DWORDLONG *pWindowSize);
+
+
+void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy(
+ IAMVideoCompression * This,
+ /* [size_is][out] */ WCHAR *pszVersion,
+ /* [out][in] */ int *pcbVersion,
+ /* [size_is][out] */ LPWSTR pszDescription,
+ /* [out][in] */ int *pcbDescription,
+ /* [out] */ long *pDefaultKeyFrameRate,
+ /* [out] */ long *pDefaultPFramesPerKey,
+ /* [out] */ double *pDefaultQuality,
+ /* [out] */ long *pCapabilities);
+
+
+void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy(
+ IAMVideoCompression * This,
+ /* [in] */ long FrameNumber);
+
+
+void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy(
+ IAMVideoCompression * This,
+ /* [in] */ long FrameNumber,
+ /* [in] */ long Size);
+
+
+void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMVideoCompression_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0164 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0164_0001
+ { VfwCaptureDialog_Source = 0x1,
+ VfwCaptureDialog_Format = 0x2,
+ VfwCaptureDialog_Display = 0x4
+ } VfwCaptureDialogs;
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0164_0002
+ { VfwCompressDialog_Config = 0x1,
+ VfwCompressDialog_About = 0x2,
+ VfwCompressDialog_QueryConfig = 0x4,
+ VfwCompressDialog_QueryAbout = 0x8
+ } VfwCompressDialogs;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_s_ifspec;
+
+#ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
+#define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
+
+/* interface IAMVfwCaptureDialogs */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IAMVfwCaptureDialogs;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
+ IAMVfwCaptureDialogs : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE HasDialog(
+ /* [in] */ int iDialog) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ShowDialog(
+ /* [in] */ int iDialog,
+ /* [in] */ HWND hwnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(
+ /* [in] */ int iDialog,
+ /* [in] */ int uMsg,
+ /* [in] */ long dw1,
+ /* [in] */ long dw2) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMVfwCaptureDialogsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMVfwCaptureDialogs * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMVfwCaptureDialogs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMVfwCaptureDialogs * This);
+
+ HRESULT ( STDMETHODCALLTYPE *HasDialog )(
+ IAMVfwCaptureDialogs * This,
+ /* [in] */ int iDialog);
+
+ HRESULT ( STDMETHODCALLTYPE *ShowDialog )(
+ IAMVfwCaptureDialogs * This,
+ /* [in] */ int iDialog,
+ /* [in] */ HWND hwnd);
+
+ HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )(
+ IAMVfwCaptureDialogs * This,
+ /* [in] */ int iDialog,
+ /* [in] */ int uMsg,
+ /* [in] */ long dw1,
+ /* [in] */ long dw2);
+
+ END_INTERFACE
+ } IAMVfwCaptureDialogsVtbl;
+
+ interface IAMVfwCaptureDialogs
+ {
+ CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMVfwCaptureDialogs_HasDialog(This,iDialog) \
+ (This)->lpVtbl -> HasDialog(This,iDialog)
+
+#define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd) \
+ (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
+
+#define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2) \
+ (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy(
+ IAMVfwCaptureDialogs * This,
+ /* [in] */ int iDialog);
+
+
+void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy(
+ IAMVfwCaptureDialogs * This,
+ /* [in] */ int iDialog,
+ /* [in] */ HWND hwnd);
+
+
+void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy(
+ IAMVfwCaptureDialogs * This,
+ /* [in] */ int iDialog,
+ /* [in] */ int uMsg,
+ /* [in] */ long dw1,
+ /* [in] */ long dw2);
+
+
+void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
+#define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
+
+/* interface IAMVfwCompressDialogs */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IAMVfwCompressDialogs;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
+ IAMVfwCompressDialogs : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE ShowDialog(
+ /* [in] */ int iDialog,
+ /* [in] */ HWND hwnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetState(
+ /* [size_is][out] */ LPVOID pState,
+ /* [out][in] */ int *pcbState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetState(
+ /* [size_is][in] */ LPVOID pState,
+ /* [in] */ int cbState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(
+ /* [in] */ int uMsg,
+ /* [in] */ long dw1,
+ /* [in] */ long dw2) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMVfwCompressDialogsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMVfwCompressDialogs * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMVfwCompressDialogs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMVfwCompressDialogs * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ShowDialog )(
+ IAMVfwCompressDialogs * This,
+ /* [in] */ int iDialog,
+ /* [in] */ HWND hwnd);
+
+ HRESULT ( STDMETHODCALLTYPE *GetState )(
+ IAMVfwCompressDialogs * This,
+ /* [size_is][out] */ LPVOID pState,
+ /* [out][in] */ int *pcbState);
+
+ HRESULT ( STDMETHODCALLTYPE *SetState )(
+ IAMVfwCompressDialogs * This,
+ /* [size_is][in] */ LPVOID pState,
+ /* [in] */ int cbState);
+
+ HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )(
+ IAMVfwCompressDialogs * This,
+ /* [in] */ int uMsg,
+ /* [in] */ long dw1,
+ /* [in] */ long dw2);
+
+ END_INTERFACE
+ } IAMVfwCompressDialogsVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy(
+ IAMVfwCompressDialogs * This,
+ /* [in] */ int iDialog,
+ /* [in] */ HWND hwnd);
+
+
+void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy(
+ IAMVfwCompressDialogs * This,
+ /* [size_is][out] */ LPVOID pState,
+ /* [out][in] */ int *pcbState);
+
+
+void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy(
+ IAMVfwCompressDialogs * This,
+ /* [size_is][in] */ LPVOID pState,
+ /* [in] */ int cbState);
+
+
+void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy(
+ IAMVfwCompressDialogs * This,
+ /* [in] */ int uMsg,
+ /* [in] */ long dw1,
+ /* [in] */ long dw2);
+
+
+void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
+#define __IAMDroppedFrames_INTERFACE_DEFINED__
+
+/* interface IAMDroppedFrames */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMDroppedFrames;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
+ IAMDroppedFrames : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetNumDropped(
+ /* [out] */ long *plDropped) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped(
+ /* [out] */ long *plNotDropped) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo(
+ /* [in] */ long lSize,
+ /* [out] */ long *plArray,
+ /* [out] */ long *plNumCopied) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize(
+ /* [out] */ long *plAverageSize) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMDroppedFramesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMDroppedFrames * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMDroppedFrames * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMDroppedFrames * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNumDropped )(
+ IAMDroppedFrames * This,
+ /* [out] */ long *plDropped);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )(
+ IAMDroppedFrames * This,
+ /* [out] */ long *plNotDropped);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )(
+ IAMDroppedFrames * This,
+ /* [in] */ long lSize,
+ /* [out] */ long *plArray,
+ /* [out] */ long *plNumCopied);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )(
+ IAMDroppedFrames * This,
+ /* [out] */ long *plAverageSize);
+
+ END_INTERFACE
+ } IAMDroppedFramesVtbl;
+
+ interface IAMDroppedFrames
+ {
+ CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMDroppedFrames_GetNumDropped(This,plDropped) \
+ (This)->lpVtbl -> GetNumDropped(This,plDropped)
+
+#define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped) \
+ (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
+
+#define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied) \
+ (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
+
+#define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize) \
+ (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy(
+ IAMDroppedFrames * This,
+ /* [out] */ long *plDropped);
+
+
+void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy(
+ IAMDroppedFrames * This,
+ /* [out] */ long *plNotDropped);
+
+
+void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy(
+ IAMDroppedFrames * This,
+ /* [in] */ long lSize,
+ /* [out] */ long *plArray,
+ /* [out] */ long *plNumCopied);
+
+
+void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy(
+ IAMDroppedFrames * This,
+ /* [out] */ long *plAverageSize);
+
+
+void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0167 */
+/* [local] */
+
+#define AMF_AUTOMATICGAIN -1.0
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
+
+#ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
+#define __IAMAudioInputMixer_INTERFACE_DEFINED__
+
+/* interface IAMAudioInputMixer */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMAudioInputMixer;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
+ IAMAudioInputMixer : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE put_Enable(
+ /* [in] */ BOOL fEnable) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Enable(
+ /* [out] */ BOOL *pfEnable) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Mono(
+ /* [in] */ BOOL fMono) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Mono(
+ /* [out] */ BOOL *pfMono) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_MixLevel(
+ /* [in] */ double Level) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_MixLevel(
+ /* [out] */ double *pLevel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Pan(
+ /* [in] */ double Pan) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Pan(
+ /* [out] */ double *pPan) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Loudness(
+ /* [in] */ BOOL fLoudness) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Loudness(
+ /* [out] */ BOOL *pfLoudness) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Treble(
+ /* [in] */ double Treble) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Treble(
+ /* [out] */ double *pTreble) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_TrebleRange(
+ /* [out] */ double *pRange) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Bass(
+ /* [in] */ double Bass) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Bass(
+ /* [out] */ double *pBass) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_BassRange(
+ /* [out] */ double *pRange) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMAudioInputMixerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMAudioInputMixer * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMAudioInputMixer * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMAudioInputMixer * This);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Enable )(
+ IAMAudioInputMixer * This,
+ /* [in] */ BOOL fEnable);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Enable )(
+ IAMAudioInputMixer * This,
+ /* [out] */ BOOL *pfEnable);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Mono )(
+ IAMAudioInputMixer * This,
+ /* [in] */ BOOL fMono);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Mono )(
+ IAMAudioInputMixer * This,
+ /* [out] */ BOOL *pfMono);
+
+ HRESULT ( STDMETHODCALLTYPE *put_MixLevel )(
+ IAMAudioInputMixer * This,
+ /* [in] */ double Level);
+
+ HRESULT ( STDMETHODCALLTYPE *get_MixLevel )(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pLevel);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Pan )(
+ IAMAudioInputMixer * This,
+ /* [in] */ double Pan);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Pan )(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pPan);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Loudness )(
+ IAMAudioInputMixer * This,
+ /* [in] */ BOOL fLoudness);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Loudness )(
+ IAMAudioInputMixer * This,
+ /* [out] */ BOOL *pfLoudness);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Treble )(
+ IAMAudioInputMixer * This,
+ /* [in] */ double Treble);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Treble )(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pTreble);
+
+ HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pRange);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Bass )(
+ IAMAudioInputMixer * This,
+ /* [in] */ double Bass);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Bass )(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pBass);
+
+ HRESULT ( STDMETHODCALLTYPE *get_BassRange )(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pRange);
+
+ END_INTERFACE
+ } IAMAudioInputMixerVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy(
+ IAMAudioInputMixer * This,
+ /* [in] */ BOOL fEnable);
+
+
+void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ BOOL *pfEnable);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy(
+ IAMAudioInputMixer * This,
+ /* [in] */ BOOL fMono);
+
+
+void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ BOOL *pfMono);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy(
+ IAMAudioInputMixer * This,
+ /* [in] */ double Level);
+
+
+void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pLevel);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy(
+ IAMAudioInputMixer * This,
+ /* [in] */ double Pan);
+
+
+void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pPan);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy(
+ IAMAudioInputMixer * This,
+ /* [in] */ BOOL fLoudness);
+
+
+void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ BOOL *pfLoudness);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy(
+ IAMAudioInputMixer * This,
+ /* [in] */ double Treble);
+
+
+void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pTreble);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pRange);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy(
+ IAMAudioInputMixer * This,
+ /* [in] */ double Bass);
+
+
+void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pBass);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy(
+ IAMAudioInputMixer * This,
+ /* [out] */ double *pRange);
+
+
+void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
+#define __IAMBufferNegotiation_INTERFACE_DEFINED__
+
+/* interface IAMBufferNegotiation */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMBufferNegotiation;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
+ IAMBufferNegotiation : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties(
+ /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties(
+ /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMBufferNegotiationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMBufferNegotiation * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMBufferNegotiation * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMBufferNegotiation * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )(
+ IAMBufferNegotiation * This,
+ /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )(
+ IAMBufferNegotiation * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pprop);
+
+ END_INTERFACE
+ } IAMBufferNegotiationVtbl;
+
+ interface IAMBufferNegotiation
+ {
+ CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop) \
+ (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
+
+#define IAMBufferNegotiation_GetAllocatorProperties(This,pprop) \
+ (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(
+ IAMBufferNegotiation * This,
+ /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
+
+
+void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy(
+ IAMBufferNegotiation * This,
+ /* [out] */ ALLOCATOR_PROPERTIES *pprop);
+
+
+void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0169 */
+/* [local] */
+
+typedef
+enum tagAnalogVideoStandard
+ { AnalogVideo_None = 0,
+ 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
+ } AnalogVideoStandard;
+
+#define AnalogVideo_NTSC_Mask 0x00000007
+#define AnalogVideo_PAL_Mask 0x00100FF0
+#define AnalogVideo_SECAM_Mask 0x000FF000
+typedef
+enum tagTunerInputType
+ { TunerInputCable = 0,
+ TunerInputAntenna = TunerInputCable + 1
+ } TunerInputType;
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0169_0001
+ { VideoCopyProtectionMacrovisionBasic = 0,
+ VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
+ } VideoCopyProtectionType;
+
+typedef
+enum tagPhysicalConnectorType
+ { PhysConn_Video_Tuner = 1,
+ PhysConn_Video_Composite = PhysConn_Video_Tuner + 1,
+ PhysConn_Video_SVideo = PhysConn_Video_Composite + 1,
+ PhysConn_Video_RGB = PhysConn_Video_SVideo + 1,
+ PhysConn_Video_YRYBY = PhysConn_Video_RGB + 1,
+ PhysConn_Video_SerialDigital = PhysConn_Video_YRYBY + 1,
+ PhysConn_Video_ParallelDigital = PhysConn_Video_SerialDigital + 1,
+ PhysConn_Video_SCSI = PhysConn_Video_ParallelDigital + 1,
+ PhysConn_Video_AUX = PhysConn_Video_SCSI + 1,
+ PhysConn_Video_1394 = PhysConn_Video_AUX + 1,
+ PhysConn_Video_USB = PhysConn_Video_1394 + 1,
+ PhysConn_Video_VideoDecoder = PhysConn_Video_USB + 1,
+ PhysConn_Video_VideoEncoder = PhysConn_Video_VideoDecoder + 1,
+ PhysConn_Video_SCART = PhysConn_Video_VideoEncoder + 1,
+ PhysConn_Video_Black = PhysConn_Video_SCART + 1,
+ PhysConn_Audio_Tuner = 0x1000,
+ PhysConn_Audio_Line = PhysConn_Audio_Tuner + 1,
+ PhysConn_Audio_Mic = PhysConn_Audio_Line + 1,
+ PhysConn_Audio_AESDigital = PhysConn_Audio_Mic + 1,
+ PhysConn_Audio_SPDIFDigital = PhysConn_Audio_AESDigital + 1,
+ PhysConn_Audio_SCSI = PhysConn_Audio_SPDIFDigital + 1,
+ PhysConn_Audio_AUX = PhysConn_Audio_SCSI + 1,
+ PhysConn_Audio_1394 = PhysConn_Audio_AUX + 1,
+ PhysConn_Audio_USB = PhysConn_Audio_1394 + 1,
+ PhysConn_Audio_AudioDecoder = PhysConn_Audio_USB + 1
+ } PhysicalConnectorType;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_s_ifspec;
+
+#ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
+#define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
+
+/* interface IAMAnalogVideoDecoder */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMAnalogVideoDecoder;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
+ IAMAnalogVideoDecoder : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
+ /* [out] */ long *lAnalogVideoStandard) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_TVFormat(
+ /* [in] */ long lAnalogVideoStandard) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
+ /* [out] */ long *plAnalogVideoStandard) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked(
+ /* [out] */ long *plLocked) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking(
+ /* [in] */ long lVCRHorizontalLocking) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking(
+ /* [out] */ long *plVCRHorizontalLocking) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines(
+ /* [out] */ long *plNumberOfLines) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_OutputEnable(
+ /* [in] */ long lOutputEnable) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_OutputEnable(
+ /* [out] */ long *plOutputEnable) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMAnalogVideoDecoderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMAnalogVideoDecoder * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMAnalogVideoDecoder * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMAnalogVideoDecoder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *lAnalogVideoStandard);
+
+ HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(
+ IAMAnalogVideoDecoder * This,
+ /* [in] */ long lAnalogVideoStandard);
+
+ HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plAnalogVideoStandard);
+
+ HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plLocked);
+
+ HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )(
+ IAMAnalogVideoDecoder * This,
+ /* [in] */ long lVCRHorizontalLocking);
+
+ HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plVCRHorizontalLocking);
+
+ HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plNumberOfLines);
+
+ HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )(
+ IAMAnalogVideoDecoder * This,
+ /* [in] */ long lOutputEnable);
+
+ HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plOutputEnable);
+
+ END_INTERFACE
+ } IAMAnalogVideoDecoderVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *lAnalogVideoStandard);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [in] */ long lAnalogVideoStandard);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plAnalogVideoStandard);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plLocked);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [in] */ long lVCRHorizontalLocking);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plVCRHorizontalLocking);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plNumberOfLines);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [in] */ long lOutputEnable);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy(
+ IAMAnalogVideoDecoder * This,
+ /* [out] */ long *plOutputEnable);
+
+
+void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0170 */
+/* [local] */
+
+typedef
+enum tagVideoProcAmpProperty
+ { VideoProcAmp_Brightness = 0,
+ VideoProcAmp_Contrast = VideoProcAmp_Brightness + 1,
+ VideoProcAmp_Hue = VideoProcAmp_Contrast + 1,
+ VideoProcAmp_Saturation = VideoProcAmp_Hue + 1,
+ VideoProcAmp_Sharpness = VideoProcAmp_Saturation + 1,
+ VideoProcAmp_Gamma = VideoProcAmp_Sharpness + 1,
+ VideoProcAmp_ColorEnable = VideoProcAmp_Gamma + 1,
+ VideoProcAmp_WhiteBalance = VideoProcAmp_ColorEnable + 1,
+ VideoProcAmp_BacklightCompensation = VideoProcAmp_WhiteBalance + 1,
+ VideoProcAmp_Gain = VideoProcAmp_BacklightCompensation + 1
+ } VideoProcAmpProperty;
+
+typedef
+enum tagVideoProcAmpFlags
+ { VideoProcAmp_Flags_Auto = 0x1,
+ VideoProcAmp_Flags_Manual = 0x2
+ } VideoProcAmpFlags;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_s_ifspec;
+
+#ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
+#define __IAMVideoProcAmp_INTERFACE_DEFINED__
+
+/* interface IAMVideoProcAmp */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMVideoProcAmp;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
+ IAMVideoProcAmp : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetRange(
+ /* [in] */ long Property,
+ /* [out] */ long *pMin,
+ /* [out] */ long *pMax,
+ /* [out] */ long *pSteppingDelta,
+ /* [out] */ long *pDefault,
+ /* [out] */ long *pCapsFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Set(
+ /* [in] */ long Property,
+ /* [in] */ long lValue,
+ /* [in] */ long Flags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Get(
+ /* [in] */ long Property,
+ /* [out] */ long *lValue,
+ /* [out] */ long *Flags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMVideoProcAmpVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMVideoProcAmp * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMVideoProcAmp * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMVideoProcAmp * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRange )(
+ IAMVideoProcAmp * This,
+ /* [in] */ long Property,
+ /* [out] */ long *pMin,
+ /* [out] */ long *pMax,
+ /* [out] */ long *pSteppingDelta,
+ /* [out] */ long *pDefault,
+ /* [out] */ long *pCapsFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *Set )(
+ IAMVideoProcAmp * This,
+ /* [in] */ long Property,
+ /* [in] */ long lValue,
+ /* [in] */ long Flags);
+
+ HRESULT ( STDMETHODCALLTYPE *Get )(
+ IAMVideoProcAmp * This,
+ /* [in] */ long Property,
+ /* [out] */ long *lValue,
+ /* [out] */ long *Flags);
+
+ END_INTERFACE
+ } IAMVideoProcAmpVtbl;
+
+ interface IAMVideoProcAmp
+ {
+ CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy(
+ IAMVideoProcAmp * This,
+ /* [in] */ long Property,
+ /* [out] */ long *pMin,
+ /* [out] */ long *pMax,
+ /* [out] */ long *pSteppingDelta,
+ /* [out] */ long *pDefault,
+ /* [out] */ long *pCapsFlags);
+
+
+void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy(
+ IAMVideoProcAmp * This,
+ /* [in] */ long Property,
+ /* [in] */ long lValue,
+ /* [in] */ long Flags);
+
+
+void __RPC_STUB IAMVideoProcAmp_Set_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy(
+ IAMVideoProcAmp * This,
+ /* [in] */ long Property,
+ /* [out] */ long *lValue,
+ /* [out] */ long *Flags);
+
+
+void __RPC_STUB IAMVideoProcAmp_Get_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0171 */
+/* [local] */
+
+typedef
+enum tagCameraControlProperty
+ { CameraControl_Pan = 0,
+ CameraControl_Tilt = CameraControl_Pan + 1,
+ CameraControl_Roll = CameraControl_Tilt + 1,
+ CameraControl_Zoom = CameraControl_Roll + 1,
+ CameraControl_Exposure = CameraControl_Zoom + 1,
+ CameraControl_Iris = CameraControl_Exposure + 1,
+ CameraControl_Focus = CameraControl_Iris + 1
+ } CameraControlProperty;
+
+typedef
+enum tagCameraControlFlags
+ { CameraControl_Flags_Auto = 0x1,
+ CameraControl_Flags_Manual = 0x2
+ } CameraControlFlags;
+
+
+
+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 __IAMCameraControl_INTERFACE_DEFINED__
+#define __IAMCameraControl_INTERFACE_DEFINED__
+
+/* interface IAMCameraControl */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMCameraControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
+ IAMCameraControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetRange(
+ /* [in] */ long Property,
+ /* [out] */ long *pMin,
+ /* [out] */ long *pMax,
+ /* [out] */ long *pSteppingDelta,
+ /* [out] */ long *pDefault,
+ /* [out] */ long *pCapsFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Set(
+ /* [in] */ long Property,
+ /* [in] */ long lValue,
+ /* [in] */ long Flags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Get(
+ /* [in] */ long Property,
+ /* [out] */ long *lValue,
+ /* [out] */ long *Flags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMCameraControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMCameraControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMCameraControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMCameraControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRange )(
+ IAMCameraControl * This,
+ /* [in] */ long Property,
+ /* [out] */ long *pMin,
+ /* [out] */ long *pMax,
+ /* [out] */ long *pSteppingDelta,
+ /* [out] */ long *pDefault,
+ /* [out] */ long *pCapsFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *Set )(
+ IAMCameraControl * This,
+ /* [in] */ long Property,
+ /* [in] */ long lValue,
+ /* [in] */ long Flags);
+
+ HRESULT ( STDMETHODCALLTYPE *Get )(
+ IAMCameraControl * This,
+ /* [in] */ long Property,
+ /* [out] */ long *lValue,
+ /* [out] */ long *Flags);
+
+ END_INTERFACE
+ } IAMCameraControlVtbl;
+
+ interface IAMCameraControl
+ {
+ CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) \
+ (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
+
+#define IAMCameraControl_Set(This,Property,lValue,Flags) \
+ (This)->lpVtbl -> Set(This,Property,lValue,Flags)
+
+#define IAMCameraControl_Get(This,Property,lValue,Flags) \
+ (This)->lpVtbl -> Get(This,Property,lValue,Flags)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy(
+ IAMCameraControl * This,
+ /* [in] */ long Property,
+ /* [out] */ long *pMin,
+ /* [out] */ long *pMax,
+ /* [out] */ long *pSteppingDelta,
+ /* [out] */ long *pDefault,
+ /* [out] */ long *pCapsFlags);
+
+
+void __RPC_STUB IAMCameraControl_GetRange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy(
+ IAMCameraControl * This,
+ /* [in] */ long Property,
+ /* [in] */ long lValue,
+ /* [in] */ long Flags);
+
+
+void __RPC_STUB IAMCameraControl_Set_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy(
+ IAMCameraControl * This,
+ /* [in] */ long Property,
+ /* [out] */ long *lValue,
+ /* [out] */ long *Flags);
+
+
+void __RPC_STUB IAMCameraControl_Get_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMCameraControl_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0172 */
+/* [local] */
+
+typedef
+enum tagVideoControlFlags
+ { VideoControlFlag_FlipHorizontal = 0x1,
+ VideoControlFlag_FlipVertical = 0x2,
+ VideoControlFlag_ExternalTriggerEnable = 0x4,
+ VideoControlFlag_Trigger = 0x8
+ } VideoControlFlags;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_s_ifspec;
+
+#ifndef __IAMVideoControl_INTERFACE_DEFINED__
+#define __IAMVideoControl_INTERFACE_DEFINED__
+
+/* interface IAMVideoControl */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMVideoControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
+ IAMVideoControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetCaps(
+ /* [in] */ IPin *pPin,
+ /* [out] */ long *pCapsFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMode(
+ /* [in] */ IPin *pPin,
+ /* [in] */ long Mode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMode(
+ /* [in] */ IPin *pPin,
+ /* [out] */ long *Mode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate(
+ /* [in] */ IPin *pPin,
+ /* [out] */ LONGLONG *ActualFrameRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate(
+ /* [in] */ IPin *pPin,
+ /* [in] */ long iIndex,
+ /* [in] */ SIZE Dimensions,
+ /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFrameRateList(
+ /* [in] */ IPin *pPin,
+ /* [in] */ long iIndex,
+ /* [in] */ SIZE Dimensions,
+ /* [out] */ long *ListSize,
+ /* [out] */ LONGLONG **FrameRates) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMVideoControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMVideoControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMVideoControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMVideoControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCaps )(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [out] */ long *pCapsFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMode )(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [in] */ long Mode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMode )(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [out] */ long *Mode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [out] */ LONGLONG *ActualFrameRate);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [in] */ long iIndex,
+ /* [in] */ SIZE Dimensions,
+ /* [out] */ LONGLONG *MaxAvailableFrameRate);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [in] */ long iIndex,
+ /* [in] */ SIZE Dimensions,
+ /* [out] */ long *ListSize,
+ /* [out] */ LONGLONG **FrameRates);
+
+ END_INTERFACE
+ } IAMVideoControlVtbl;
+
+ interface IAMVideoControl
+ {
+ CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMVideoControl_GetCaps(This,pPin,pCapsFlags) \
+ (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
+
+#define IAMVideoControl_SetMode(This,pPin,Mode) \
+ (This)->lpVtbl -> SetMode(This,pPin,Mode)
+
+#define IAMVideoControl_GetMode(This,pPin,Mode) \
+ (This)->lpVtbl -> GetMode(This,pPin,Mode)
+
+#define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate) \
+ (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
+
+#define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) \
+ (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
+
+#define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) \
+ (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [out] */ long *pCapsFlags);
+
+
+void __RPC_STUB IAMVideoControl_GetCaps_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [in] */ long Mode);
+
+
+void __RPC_STUB IAMVideoControl_SetMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [out] */ long *Mode);
+
+
+void __RPC_STUB IAMVideoControl_GetMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [out] */ LONGLONG *ActualFrameRate);
+
+
+void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [in] */ long iIndex,
+ /* [in] */ SIZE Dimensions,
+ /* [out] */ LONGLONG *MaxAvailableFrameRate);
+
+
+void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy(
+ IAMVideoControl * This,
+ /* [in] */ IPin *pPin,
+ /* [in] */ long iIndex,
+ /* [in] */ SIZE Dimensions,
+ /* [out] */ long *ListSize,
+ /* [out] */ LONGLONG **FrameRates);
+
+
+void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMVideoControl_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMCrossbar_INTERFACE_DEFINED__
+#define __IAMCrossbar_INTERFACE_DEFINED__
+
+/* interface IAMCrossbar */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMCrossbar;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
+ IAMCrossbar : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE get_PinCounts(
+ /* [out] */ long *OutputPinCount,
+ /* [out] */ long *InputPinCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CanRoute(
+ /* [in] */ long OutputPinIndex,
+ /* [in] */ long InputPinIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Route(
+ /* [in] */ long OutputPinIndex,
+ /* [in] */ long InputPinIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo(
+ /* [in] */ long OutputPinIndex,
+ /* [out] */ long *InputPinIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo(
+ /* [in] */ BOOL IsInputPin,
+ /* [in] */ long PinIndex,
+ /* [out] */ long *PinIndexRelated,
+ /* [out] */ long *PhysicalType) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMCrossbarVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMCrossbar * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMCrossbar * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMCrossbar * This);
+
+ HRESULT ( STDMETHODCALLTYPE *get_PinCounts )(
+ IAMCrossbar * This,
+ /* [out] */ long *OutputPinCount,
+ /* [out] */ long *InputPinCount);
+
+ HRESULT ( STDMETHODCALLTYPE *CanRoute )(
+ IAMCrossbar * This,
+ /* [in] */ long OutputPinIndex,
+ /* [in] */ long InputPinIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *Route )(
+ IAMCrossbar * This,
+ /* [in] */ long OutputPinIndex,
+ /* [in] */ long InputPinIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )(
+ IAMCrossbar * This,
+ /* [in] */ long OutputPinIndex,
+ /* [out] */ long *InputPinIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )(
+ IAMCrossbar * This,
+ /* [in] */ BOOL IsInputPin,
+ /* [in] */ long PinIndex,
+ /* [out] */ long *PinIndexRelated,
+ /* [out] */ long *PhysicalType);
+
+ END_INTERFACE
+ } IAMCrossbarVtbl;
+
+ interface IAMCrossbar
+ {
+ CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount) \
+ (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
+
+#define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex) \
+ (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
+
+#define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex) \
+ (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
+
+#define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) \
+ (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
+
+#define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) \
+ (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy(
+ IAMCrossbar * This,
+ /* [out] */ long *OutputPinCount,
+ /* [out] */ long *InputPinCount);
+
+
+void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy(
+ IAMCrossbar * This,
+ /* [in] */ long OutputPinIndex,
+ /* [in] */ long InputPinIndex);
+
+
+void __RPC_STUB IAMCrossbar_CanRoute_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy(
+ IAMCrossbar * This,
+ /* [in] */ long OutputPinIndex,
+ /* [in] */ long InputPinIndex);
+
+
+void __RPC_STUB IAMCrossbar_Route_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy(
+ IAMCrossbar * This,
+ /* [in] */ long OutputPinIndex,
+ /* [out] */ long *InputPinIndex);
+
+
+void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy(
+ IAMCrossbar * This,
+ /* [in] */ BOOL IsInputPin,
+ /* [in] */ long PinIndex,
+ /* [out] */ long *PinIndexRelated,
+ /* [out] */ long *PhysicalType);
+
+
+void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMCrossbar_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0174 */
+/* [local] */
+
+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;
+
+typedef
+enum tagAMTunerModeType
+ { AMTUNER_MODE_DEFAULT = 0,
+ AMTUNER_MODE_TV = 0x1,
+ AMTUNER_MODE_FM_RADIO = 0x2,
+ AMTUNER_MODE_AM_RADIO = 0x4,
+ AMTUNER_MODE_DSS = 0x8
+ } AMTunerModeType;
+
+typedef
+enum tagAMTunerEventType
+ { AMTUNER_EVENT_CHANGED = 0x1
+ } AMTunerEventType;
+
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_s_ifspec;
+
+#ifndef __IAMTuner_INTERFACE_DEFINED__
+#define __IAMTuner_INTERFACE_DEFINED__
+
+/* interface IAMTuner */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMTuner;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
+ IAMTuner : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE put_Channel(
+ /* [in] */ long lChannel,
+ /* [in] */ long lVideoSubChannel,
+ /* [in] */ long lAudioSubChannel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Channel(
+ /* [out] */ long *plChannel,
+ /* [out] */ long *plVideoSubChannel,
+ /* [out] */ long *plAudioSubChannel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ChannelMinMax(
+ /* [out] */ long *lChannelMin,
+ /* [out] */ long *lChannelMax) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
+ /* [in] */ long lCountryCode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
+ /* [out] */ long *plCountryCode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_TuningSpace(
+ /* [in] */ long lTuningSpace) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_TuningSpace(
+ /* [out] */ long *plTuningSpace) = 0;
+
+ virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon(
+ /* [in] */ HANDLE hCurrentUser) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SignalPresent(
+ /* [out] */ long *plSignalStrength) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Mode(
+ /* [in] */ AMTunerModeType lMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Mode(
+ /* [out] */ AMTunerModeType *plMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableModes(
+ /* [out] */ long *plModes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(
+ /* [in] */ IAMTunerNotification *pNotify,
+ /* [in] */ long lEvents) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(
+ /* [in] */ IAMTunerNotification *pNotify) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMTunerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMTuner * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMTuner * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMTuner * This);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Channel )(
+ IAMTuner * This,
+ /* [in] */ long lChannel,
+ /* [in] */ long lVideoSubChannel,
+ /* [in] */ long lAudioSubChannel);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Channel )(
+ IAMTuner * This,
+ /* [out] */ long *plChannel,
+ /* [out] */ long *plVideoSubChannel,
+ /* [out] */ long *plAudioSubChannel);
+
+ HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
+ IAMTuner * This,
+ /* [out] */ long *lChannelMin,
+ /* [out] */ long *lChannelMax);
+
+ HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
+ IAMTuner * This,
+ /* [in] */ long lCountryCode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
+ IAMTuner * This,
+ /* [out] */ long *plCountryCode);
+
+ HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
+ IAMTuner * This,
+ /* [in] */ long lTuningSpace);
+
+ HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
+ IAMTuner * This,
+ /* [out] */ long *plTuningSpace);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
+ IAMTuner * This,
+ /* [in] */ HANDLE hCurrentUser);
+
+ HRESULT ( STDMETHODCALLTYPE *Logout )(
+ IAMTuner * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
+ IAMTuner * This,
+ /* [out] */ long *plSignalStrength);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Mode )(
+ IAMTuner * This,
+ /* [in] */ AMTunerModeType lMode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Mode )(
+ IAMTuner * This,
+ /* [out] */ AMTunerModeType *plMode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
+ IAMTuner * This,
+ /* [out] */ long *plModes);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
+ IAMTuner * This,
+ /* [in] */ IAMTunerNotification *pNotify,
+ /* [in] */ long lEvents);
+
+ HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
+ IAMTuner * This,
+ /* [in] */ IAMTunerNotification *pNotify);
+
+ END_INTERFACE
+ } IAMTunerVtbl;
+
+ interface IAMTuner
+ {
+ CONST_VTBL struct IAMTunerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) \
+ (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
+
+#define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) \
+ (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
+
+#define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax) \
+ (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
+
+#define IAMTuner_put_CountryCode(This,lCountryCode) \
+ (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
+
+#define IAMTuner_get_CountryCode(This,plCountryCode) \
+ (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
+
+#define IAMTuner_put_TuningSpace(This,lTuningSpace) \
+ (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
+
+#define IAMTuner_get_TuningSpace(This,plTuningSpace) \
+ (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
+
+#define IAMTuner_Logon(This,hCurrentUser) \
+ (This)->lpVtbl -> Logon(This,hCurrentUser)
+
+#define IAMTuner_Logout(This) \
+ (This)->lpVtbl -> Logout(This)
+
+#define IAMTuner_SignalPresent(This,plSignalStrength) \
+ (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
+
+#define IAMTuner_put_Mode(This,lMode) \
+ (This)->lpVtbl -> put_Mode(This,lMode)
+
+#define IAMTuner_get_Mode(This,plMode) \
+ (This)->lpVtbl -> get_Mode(This,plMode)
+
+#define IAMTuner_GetAvailableModes(This,plModes) \
+ (This)->lpVtbl -> GetAvailableModes(This,plModes)
+
+#define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents) \
+ (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
+
+#define IAMTuner_UnRegisterNotificationCallBack(This,pNotify) \
+ (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy(
+ IAMTuner * This,
+ /* [in] */ long lChannel,
+ /* [in] */ long lVideoSubChannel,
+ /* [in] */ long lAudioSubChannel);
+
+
+void __RPC_STUB IAMTuner_put_Channel_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy(
+ IAMTuner * This,
+ /* [out] */ long *plChannel,
+ /* [out] */ long *plVideoSubChannel,
+ /* [out] */ long *plAudioSubChannel);
+
+
+void __RPC_STUB IAMTuner_get_Channel_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy(
+ IAMTuner * This,
+ /* [out] */ long *lChannelMin,
+ /* [out] */ long *lChannelMax);
+
+
+void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy(
+ IAMTuner * This,
+ /* [in] */ long lCountryCode);
+
+
+void __RPC_STUB IAMTuner_put_CountryCode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy(
+ IAMTuner * This,
+ /* [out] */ long *plCountryCode);
+
+
+void __RPC_STUB IAMTuner_get_CountryCode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy(
+ IAMTuner * This,
+ /* [in] */ long lTuningSpace);
+
+
+void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy(
+ IAMTuner * This,
+ /* [out] */ long *plTuningSpace);
+
+
+void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy(
+ IAMTuner * This,
+ /* [in] */ HANDLE hCurrentUser);
+
+
+void __RPC_STUB IAMTuner_Logon_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy(
+ IAMTuner * This);
+
+
+void __RPC_STUB IAMTuner_Logout_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy(
+ IAMTuner * This,
+ /* [out] */ long *plSignalStrength);
+
+
+void __RPC_STUB IAMTuner_SignalPresent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy(
+ IAMTuner * This,
+ /* [in] */ AMTunerModeType lMode);
+
+
+void __RPC_STUB IAMTuner_put_Mode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy(
+ IAMTuner * This,
+ /* [out] */ AMTunerModeType *plMode);
+
+
+void __RPC_STUB IAMTuner_get_Mode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy(
+ IAMTuner * This,
+ /* [out] */ long *plModes);
+
+
+void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy(
+ IAMTuner * This,
+ /* [in] */ IAMTunerNotification *pNotify,
+ /* [in] */ long lEvents);
+
+
+void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy(
+ IAMTuner * This,
+ /* [in] */ IAMTunerNotification *pNotify);
+
+
+void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMTuner_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMTunerNotification_INTERFACE_DEFINED__
+#define __IAMTunerNotification_INTERFACE_DEFINED__
+
+/* interface IAMTunerNotification */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMTunerNotification;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
+ IAMTunerNotification : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE OnEvent(
+ /* [in] */ AMTunerEventType Event) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMTunerNotificationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMTunerNotification * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMTunerNotification * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMTunerNotification * This);
+
+ HRESULT ( STDMETHODCALLTYPE *OnEvent )(
+ IAMTunerNotification * This,
+ /* [in] */ AMTunerEventType Event);
+
+ END_INTERFACE
+ } IAMTunerNotificationVtbl;
+
+ interface IAMTunerNotification
+ {
+ CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMTunerNotification_OnEvent(This,Event) \
+ (This)->lpVtbl -> OnEvent(This,Event)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy(
+ IAMTunerNotification * This,
+ /* [in] */ AMTunerEventType Event);
+
+
+void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMTunerNotification_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMTVTuner_INTERFACE_DEFINED__
+#define __IAMTVTuner_INTERFACE_DEFINED__
+
+/* interface IAMTVTuner */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMTVTuner;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
+ IAMTVTuner : public IAMTuner
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
+ /* [out] */ long *lAnalogVideoStandard) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
+ /* [out] */ long *plAnalogVideoStandard) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AutoTune(
+ /* [in] */ long lChannel,
+ /* [out] */ long *plFoundSignal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections(
+ /* [out] */ long *plNumInputConnections) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_InputType(
+ /* [in] */ long lIndex,
+ /* [in] */ TunerInputType InputType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_InputType(
+ /* [in] */ long lIndex,
+ /* [out] */ TunerInputType *pInputType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_ConnectInput(
+ /* [in] */ long lIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_ConnectInput(
+ /* [out] */ long *plIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency(
+ /* [out] */ long *lFreq) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency(
+ /* [out] */ long *lFreq) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMTVTunerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMTVTuner * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMTVTuner * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMTVTuner * This);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Channel )(
+ IAMTVTuner * This,
+ /* [in] */ long lChannel,
+ /* [in] */ long lVideoSubChannel,
+ /* [in] */ long lAudioSubChannel);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Channel )(
+ IAMTVTuner * This,
+ /* [out] */ long *plChannel,
+ /* [out] */ long *plVideoSubChannel,
+ /* [out] */ long *plAudioSubChannel);
+
+ HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
+ IAMTVTuner * This,
+ /* [out] */ long *lChannelMin,
+ /* [out] */ long *lChannelMax);
+
+ HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
+ IAMTVTuner * This,
+ /* [in] */ long lCountryCode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
+ IAMTVTuner * This,
+ /* [out] */ long *plCountryCode);
+
+ HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
+ IAMTVTuner * This,
+ /* [in] */ long lTuningSpace);
+
+ HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
+ IAMTVTuner * This,
+ /* [out] */ long *plTuningSpace);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
+ IAMTVTuner * This,
+ /* [in] */ HANDLE hCurrentUser);
+
+ HRESULT ( STDMETHODCALLTYPE *Logout )(
+ IAMTVTuner * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
+ IAMTVTuner * This,
+ /* [out] */ long *plSignalStrength);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Mode )(
+ IAMTVTuner * This,
+ /* [in] */ AMTunerModeType lMode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Mode )(
+ IAMTVTuner * This,
+ /* [out] */ AMTunerModeType *plMode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
+ IAMTVTuner * This,
+ /* [out] */ long *plModes);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
+ IAMTVTuner * This,
+ /* [in] */ IAMTunerNotification *pNotify,
+ /* [in] */ long lEvents);
+
+ HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
+ IAMTVTuner * This,
+ /* [in] */ IAMTunerNotification *pNotify);
+
+ HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
+ IAMTVTuner * This,
+ /* [out] */ long *lAnalogVideoStandard);
+
+ HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
+ IAMTVTuner * This,
+ /* [out] */ long *plAnalogVideoStandard);
+
+ HRESULT ( STDMETHODCALLTYPE *AutoTune )(
+ IAMTVTuner * This,
+ /* [in] */ long lChannel,
+ /* [out] */ long *plFoundSignal);
+
+ HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )(
+ IAMTVTuner * This);
+
+ HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )(
+ IAMTVTuner * This,
+ /* [out] */ long *plNumInputConnections);
+
+ HRESULT ( STDMETHODCALLTYPE *put_InputType )(
+ IAMTVTuner * This,
+ /* [in] */ long lIndex,
+ /* [in] */ TunerInputType InputType);
+
+ HRESULT ( STDMETHODCALLTYPE *get_InputType )(
+ IAMTVTuner * This,
+ /* [in] */ long lIndex,
+ /* [out] */ TunerInputType *pInputType);
+
+ HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )(
+ IAMTVTuner * This,
+ /* [in] */ long lIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )(
+ IAMTVTuner * This,
+ /* [out] */ long *plIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )(
+ IAMTVTuner * This,
+ /* [out] */ long *lFreq);
+
+ HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )(
+ IAMTVTuner * This,
+ /* [out] */ long *lFreq);
+
+ END_INTERFACE
+ } IAMTVTunerVtbl;
+
+ interface IAMTVTuner
+ {
+ CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) \
+ (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
+
+#define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) \
+ (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
+
+#define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax) \
+ (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
+
+#define IAMTVTuner_put_CountryCode(This,lCountryCode) \
+ (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
+
+#define IAMTVTuner_get_CountryCode(This,plCountryCode) \
+ (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
+
+#define IAMTVTuner_put_TuningSpace(This,lTuningSpace) \
+ (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
+
+#define IAMTVTuner_get_TuningSpace(This,plTuningSpace) \
+ (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
+
+#define IAMTVTuner_Logon(This,hCurrentUser) \
+ (This)->lpVtbl -> Logon(This,hCurrentUser)
+
+#define IAMTVTuner_Logout(This) \
+ (This)->lpVtbl -> Logout(This)
+
+#define IAMTVTuner_SignalPresent(This,plSignalStrength) \
+ (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
+
+#define IAMTVTuner_put_Mode(This,lMode) \
+ (This)->lpVtbl -> put_Mode(This,lMode)
+
+#define IAMTVTuner_get_Mode(This,plMode) \
+ (This)->lpVtbl -> get_Mode(This,plMode)
+
+#define IAMTVTuner_GetAvailableModes(This,plModes) \
+ (This)->lpVtbl -> GetAvailableModes(This,plModes)
+
+#define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents) \
+ (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
+
+#define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify) \
+ (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
+
+
+#define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard) \
+ (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
+
+#define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard) \
+ (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
+
+#define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal) \
+ (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
+
+#define IAMTVTuner_StoreAutoTune(This) \
+ (This)->lpVtbl -> StoreAutoTune(This)
+
+#define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections) \
+ (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
+
+#define IAMTVTuner_put_InputType(This,lIndex,InputType) \
+ (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
+
+#define IAMTVTuner_get_InputType(This,lIndex,pInputType) \
+ (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
+
+#define IAMTVTuner_put_ConnectInput(This,lIndex) \
+ (This)->lpVtbl -> put_ConnectInput(This,lIndex)
+
+#define IAMTVTuner_get_ConnectInput(This,plIndex) \
+ (This)->lpVtbl -> get_ConnectInput(This,plIndex)
+
+#define IAMTVTuner_get_VideoFrequency(This,lFreq) \
+ (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
+
+#define IAMTVTuner_get_AudioFrequency(This,lFreq) \
+ (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy(
+ IAMTVTuner * This,
+ /* [out] */ long *lAnalogVideoStandard);
+
+
+void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy(
+ IAMTVTuner * This,
+ /* [out] */ long *plAnalogVideoStandard);
+
+
+void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy(
+ IAMTVTuner * This,
+ /* [in] */ long lChannel,
+ /* [out] */ long *plFoundSignal);
+
+
+void __RPC_STUB IAMTVTuner_AutoTune_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy(
+ IAMTVTuner * This);
+
+
+void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy(
+ IAMTVTuner * This,
+ /* [out] */ long *plNumInputConnections);
+
+
+void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy(
+ IAMTVTuner * This,
+ /* [in] */ long lIndex,
+ /* [in] */ TunerInputType InputType);
+
+
+void __RPC_STUB IAMTVTuner_put_InputType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy(
+ IAMTVTuner * This,
+ /* [in] */ long lIndex,
+ /* [out] */ TunerInputType *pInputType);
+
+
+void __RPC_STUB IAMTVTuner_get_InputType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy(
+ IAMTVTuner * This,
+ /* [in] */ long lIndex);
+
+
+void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy(
+ IAMTVTuner * This,
+ /* [out] */ long *plIndex);
+
+
+void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy(
+ IAMTVTuner * This,
+ /* [out] */ long *lFreq);
+
+
+void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy(
+ IAMTVTuner * This,
+ /* [out] */ long *lFreq);
+
+
+void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMTVTuner_INTERFACE_DEFINED__ */
+
+
+#ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
+#define __IBPCSatelliteTuner_INTERFACE_DEFINED__
+
+/* interface IBPCSatelliteTuner */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IBPCSatelliteTuner;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
+ IBPCSatelliteTuner : public IAMTuner
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes(
+ /* [out] */ long *plDefaultVideoType,
+ /* [out] */ long *plDefaultAudioType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes(
+ /* [in] */ long lDefaultVideoType,
+ /* [in] */ long lDefaultAudioType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IBPCSatelliteTunerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IBPCSatelliteTuner * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IBPCSatelliteTuner * This);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Channel )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ long lChannel,
+ /* [in] */ long lVideoSubChannel,
+ /* [in] */ long lAudioSubChannel);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Channel )(
+ IBPCSatelliteTuner * This,
+ /* [out] */ long *plChannel,
+ /* [out] */ long *plVideoSubChannel,
+ /* [out] */ long *plAudioSubChannel);
+
+ HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
+ IBPCSatelliteTuner * This,
+ /* [out] */ long *lChannelMin,
+ /* [out] */ long *lChannelMax);
+
+ HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ long lCountryCode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
+ IBPCSatelliteTuner * This,
+ /* [out] */ long *plCountryCode);
+
+ HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ long lTuningSpace);
+
+ HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
+ IBPCSatelliteTuner * This,
+ /* [out] */ long *plTuningSpace);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ HANDLE hCurrentUser);
+
+ HRESULT ( STDMETHODCALLTYPE *Logout )(
+ IBPCSatelliteTuner * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
+ IBPCSatelliteTuner * This,
+ /* [out] */ long *plSignalStrength);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Mode )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ AMTunerModeType lMode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Mode )(
+ IBPCSatelliteTuner * This,
+ /* [out] */ AMTunerModeType *plMode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
+ IBPCSatelliteTuner * This,
+ /* [out] */ long *plModes);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ IAMTunerNotification *pNotify,
+ /* [in] */ long lEvents);
+
+ HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ IAMTunerNotification *pNotify);
+
+ HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )(
+ IBPCSatelliteTuner * This,
+ /* [out] */ long *plDefaultVideoType,
+ /* [out] */ long *plDefaultAudioType);
+
+ HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )(
+ IBPCSatelliteTuner * This,
+ /* [in] */ long lDefaultVideoType,
+ /* [in] */ long lDefaultAudioType);
+
+ HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )(
+ IBPCSatelliteTuner * This);
+
+ END_INTERFACE
+ } IBPCSatelliteTunerVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(
+ IBPCSatelliteTuner * This,
+ /* [out] */ long *plDefaultVideoType,
+ /* [out] */ long *plDefaultAudioType);
+
+
+void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(
+ IBPCSatelliteTuner * This,
+ /* [in] */ long lDefaultVideoType,
+ /* [in] */ long lDefaultAudioType);
+
+
+void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy(
+ IBPCSatelliteTuner * This);
+
+
+void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0178 */
+/* [local] */
+
+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
+ } TVAudioMode;
+
+typedef
+enum tagAMTVAudioEventType
+ { AMTVAUDIO_EVENT_CHANGED = 0x1
+ } AMTVAudioEventType;
+
+
+
+
+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 __IAMTVAudio_INTERFACE_DEFINED__
+#define __IAMTVAudio_INTERFACE_DEFINED__
+
+/* interface IAMTVAudio */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IAMTVAudio;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
+ IAMTVAudio : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes(
+ /* [out] */ long *plModes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes(
+ /* [out] */ long *plModes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode(
+ /* [out] */ long *plMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode(
+ /* [in] */ long lMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(
+ /* [in] */ IAMTunerNotification *pNotify,
+ /* [in] */ long lEvents) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(
+ IAMTunerNotification *pNotify) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMTVAudioVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMTVAudio * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMTVAudio * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMTVAudio * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )(
+ IAMTVAudio * This,
+ /* [out] */ long *plModes);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )(
+ IAMTVAudio * This,
+ /* [out] */ long *plModes);
+
+ HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )(
+ IAMTVAudio * This,
+ /* [out] */ long *plMode);
+
+ HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )(
+ IAMTVAudio * This,
+ /* [in] */ long lMode);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
+ IAMTVAudio * This,
+ /* [in] */ IAMTunerNotification *pNotify,
+ /* [in] */ long lEvents);
+
+ HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
+ IAMTVAudio * This,
+ IAMTunerNotification *pNotify);
+
+ END_INTERFACE
+ } IAMTVAudioVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(
+ IAMTVAudio * This,
+ /* [out] */ long *plModes);
+
+
+void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy(
+ IAMTVAudio * This,
+ /* [out] */ long *plModes);
+
+
+void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy(
+ IAMTVAudio * This,
+ /* [out] */ long *plMode);
+
+
+void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy(
+ IAMTVAudio * This,
+ /* [in] */ long lMode);
+
+
+void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy(
+ IAMTVAudio * This,
+ /* [in] */ IAMTunerNotification *pNotify,
+ /* [in] */ long lEvents);
+
+
+void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy(
+ IAMTVAudio * This,
+ IAMTunerNotification *pNotify);
+
+
+void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMTVAudio_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
+#define __IAMTVAudioNotification_INTERFACE_DEFINED__
+
+/* interface IAMTVAudioNotification */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IAMTVAudioNotification;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
+ IAMTVAudioNotification : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE OnEvent(
+ /* [in] */ AMTVAudioEventType Event) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMTVAudioNotificationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMTVAudioNotification * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMTVAudioNotification * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMTVAudioNotification * This);
+
+ HRESULT ( STDMETHODCALLTYPE *OnEvent )(
+ IAMTVAudioNotification * This,
+ /* [in] */ AMTVAudioEventType Event);
+
+ END_INTERFACE
+ } IAMTVAudioNotificationVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy(
+ IAMTVAudioNotification * This,
+ /* [in] */ AMTVAudioEventType Event);
+
+
+void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
+#define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
+
+/* interface IAMAnalogVideoEncoder */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMAnalogVideoEncoder;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
+ IAMAnalogVideoEncoder : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
+ /* [out] */ long *lAnalogVideoStandard) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_TVFormat(
+ /* [in] */ long lAnalogVideoStandard) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
+ /* [out] */ long *plAnalogVideoStandard) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_CopyProtection(
+ /* [in] */ long lVideoCopyProtection) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_CopyProtection(
+ /* [out] */ long *lVideoCopyProtection) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_CCEnable(
+ /* [in] */ long lCCEnable) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_CCEnable(
+ /* [out] */ long *lCCEnable) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMAnalogVideoEncoderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMAnalogVideoEncoder * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMAnalogVideoEncoder * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMAnalogVideoEncoder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
+ IAMAnalogVideoEncoder * This,
+ /* [out] */ long *lAnalogVideoStandard);
+
+ HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(
+ IAMAnalogVideoEncoder * This,
+ /* [in] */ long lAnalogVideoStandard);
+
+ HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
+ IAMAnalogVideoEncoder * This,
+ /* [out] */ long *plAnalogVideoStandard);
+
+ HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )(
+ IAMAnalogVideoEncoder * This,
+ /* [in] */ long lVideoCopyProtection);
+
+ HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )(
+ IAMAnalogVideoEncoder * This,
+ /* [out] */ long *lVideoCopyProtection);
+
+ HRESULT ( STDMETHODCALLTYPE *put_CCEnable )(
+ IAMAnalogVideoEncoder * This,
+ /* [in] */ long lCCEnable);
+
+ HRESULT ( STDMETHODCALLTYPE *get_CCEnable )(
+ IAMAnalogVideoEncoder * This,
+ /* [out] */ long *lCCEnable);
+
+ END_INTERFACE
+ } IAMAnalogVideoEncoderVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(
+ IAMAnalogVideoEncoder * This,
+ /* [out] */ long *lAnalogVideoStandard);
+
+
+void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy(
+ IAMAnalogVideoEncoder * This,
+ /* [in] */ long lAnalogVideoStandard);
+
+
+void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy(
+ IAMAnalogVideoEncoder * This,
+ /* [out] */ long *plAnalogVideoStandard);
+
+
+void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy(
+ IAMAnalogVideoEncoder * This,
+ /* [in] */ long lVideoCopyProtection);
+
+
+void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy(
+ IAMAnalogVideoEncoder * This,
+ /* [out] */ long *lVideoCopyProtection);
+
+
+void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy(
+ IAMAnalogVideoEncoder * This,
+ /* [in] */ long lCCEnable);
+
+
+void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy(
+ IAMAnalogVideoEncoder * This,
+ /* [out] */ long *lCCEnable);
+
+
+void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0181 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0181_0001
+ { AMPROPERTY_PIN_CATEGORY = 0,
+ AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1
+ } AMPROPERTY_PIN;
+
+#ifndef _IKsPropertySet_
+#define _IKsPropertySet_
+#define KSPROPERTY_SUPPORT_GET 1
+#define KSPROPERTY_SUPPORT_SET 2
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_s_ifspec;
+
+#ifndef __IKsPropertySet_INTERFACE_DEFINED__
+#define __IKsPropertySet_INTERFACE_DEFINED__
+
+/* interface IKsPropertySet */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IKsPropertySet;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
+ IKsPropertySet : public IUnknown
+ {
+ public:
+ virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set(
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ LPVOID pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][in] */ LPVOID pPropData,
+ /* [in] */ DWORD cbPropData) = 0;
+
+ virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get(
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ LPVOID pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][out] */ LPVOID pPropData,
+ /* [in] */ DWORD cbPropData,
+ /* [out] */ DWORD *pcbReturned) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE QuerySupported(
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [out] */ DWORD *pTypeSupport) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IKsPropertySetVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IKsPropertySet * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IKsPropertySet * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IKsPropertySet * This);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ LPVOID pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][in] */ LPVOID pPropData,
+ /* [in] */ DWORD cbPropData);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ LPVOID pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][out] */ LPVOID pPropData,
+ /* [in] */ DWORD cbPropData,
+ /* [out] */ DWORD *pcbReturned);
+
+ HRESULT ( STDMETHODCALLTYPE *QuerySupported )(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [out] */ DWORD *pTypeSupport);
+
+ END_INTERFACE
+ } IKsPropertySetVtbl;
+
+ interface IKsPropertySet
+ {
+ CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ byte *pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][in] */ byte *pPropData,
+ /* [in] */ DWORD cbPropData);
+
+
+void __RPC_STUB IKsPropertySet_RemoteSet_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ byte *pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][out] */ byte *pPropData,
+ /* [in] */ DWORD cbPropData,
+ /* [out] */ DWORD *pcbReturned);
+
+
+void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [out] */ DWORD *pTypeSupport);
+
+
+void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IKsPropertySet_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0182 */
+/* [local] */
+
+#endif // _IKsPropertySet_
+
+
+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 __IMediaPropertyBag_INTERFACE_DEFINED__
+#define __IMediaPropertyBag_INTERFACE_DEFINED__
+
+/* interface IMediaPropertyBag */
+/* [unique][uuid][object] */
+
+typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
+
+
+EXTERN_C const IID IID_IMediaPropertyBag;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
+ IMediaPropertyBag : public IPropertyBag
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE EnumProperty(
+ /* [in] */ ULONG iProperty,
+ /* [out][in] */ VARIANT *pvarPropertyName,
+ /* [out][in] */ VARIANT *pvarPropertyValue) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMediaPropertyBagVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMediaPropertyBag * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMediaPropertyBag * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMediaPropertyBag * This);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
+ IMediaPropertyBag * This,
+ /* [in] */ LPCOLESTR pszPropName,
+ /* [out][in] */ VARIANT *pVar,
+ /* [in] */ IErrorLog *pErrorLog);
+
+ HRESULT ( STDMETHODCALLTYPE *Write )(
+ IMediaPropertyBag * This,
+ /* [in] */ LPCOLESTR pszPropName,
+ /* [in] */ VARIANT *pVar);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumProperty )(
+ IMediaPropertyBag * This,
+ /* [in] */ ULONG iProperty,
+ /* [out][in] */ VARIANT *pvarPropertyName,
+ /* [out][in] */ VARIANT *pvarPropertyValue);
+
+ END_INTERFACE
+ } IMediaPropertyBagVtbl;
+
+ interface IMediaPropertyBag
+ {
+ CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#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)
+
+
+#define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) \
+ (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy(
+ IMediaPropertyBag * This,
+ /* [in] */ ULONG iProperty,
+ /* [out][in] */ VARIANT *pvarPropertyName,
+ /* [out][in] */ VARIANT *pvarPropertyValue);
+
+
+void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
+
+
+#ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
+#define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
+
+/* interface IPersistMediaPropertyBag */
+/* [unique][uuid][object] */
+
+typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
+
+
+EXTERN_C const IID IID_IPersistMediaPropertyBag;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
+ IPersistMediaPropertyBag : public IPersist
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Load(
+ /* [in] */ IMediaPropertyBag *pPropBag,
+ /* [in] */ IErrorLog *pErrorLog) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Save(
+ /* [in] */ IMediaPropertyBag *pPropBag,
+ /* [in] */ BOOL fClearDirty,
+ /* [in] */ BOOL fSaveAllProperties) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IPersistMediaPropertyBagVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IPersistMediaPropertyBag * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IPersistMediaPropertyBag * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IPersistMediaPropertyBag * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassID )(
+ IPersistMediaPropertyBag * This,
+ /* [out] */ CLSID *pClassID);
+
+ HRESULT ( STDMETHODCALLTYPE *InitNew )(
+ IPersistMediaPropertyBag * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Load )(
+ IPersistMediaPropertyBag * This,
+ /* [in] */ IMediaPropertyBag *pPropBag,
+ /* [in] */ IErrorLog *pErrorLog);
+
+ HRESULT ( STDMETHODCALLTYPE *Save )(
+ IPersistMediaPropertyBag * This,
+ /* [in] */ IMediaPropertyBag *pPropBag,
+ /* [in] */ BOOL fClearDirty,
+ /* [in] */ BOOL fSaveAllProperties);
+
+ END_INTERFACE
+ } IPersistMediaPropertyBagVtbl;
+
+ interface IPersistMediaPropertyBag
+ {
+ CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IPersistMediaPropertyBag_GetClassID(This,pClassID) \
+ (This)->lpVtbl -> GetClassID(This,pClassID)
+
+
+#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)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy(
+ IPersistMediaPropertyBag * This);
+
+
+void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy(
+ IPersistMediaPropertyBag * This,
+ /* [in] */ IMediaPropertyBag *pPropBag,
+ /* [in] */ IErrorLog *pErrorLog);
+
+
+void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy(
+ IPersistMediaPropertyBag * This,
+ /* [in] */ IMediaPropertyBag *pPropBag,
+ /* [in] */ BOOL fClearDirty,
+ /* [in] */ BOOL fSaveAllProperties);
+
+
+void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
+#define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
+
+/* interface IAMPhysicalPinInfo */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMPhysicalPinInfo;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
+ IAMPhysicalPinInfo : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetPhysicalType(
+ /* [out] */ long *pType,
+ /* [out] */ LPOLESTR *ppszType) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMPhysicalPinInfoVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMPhysicalPinInfo * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMPhysicalPinInfo * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMPhysicalPinInfo * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )(
+ IAMPhysicalPinInfo * This,
+ /* [out] */ long *pType,
+ /* [out] */ LPOLESTR *ppszType);
+
+ END_INTERFACE
+ } IAMPhysicalPinInfoVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy(
+ IAMPhysicalPinInfo * This,
+ /* [out] */ long *pType,
+ /* [out] */ LPOLESTR *ppszType);
+
+
+void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0329 */
+/* [local] */
+
+typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_s_ifspec;
+
+#ifndef __IAMExtDevice_INTERFACE_DEFINED__
+#define __IAMExtDevice_INTERFACE_DEFINED__
+
+/* interface IAMExtDevice */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMExtDevice;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
+ IAMExtDevice : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetCapability(
+ /* [in] */ long Capability,
+ /* [out] */ long *pValue,
+ /* [out] */ double *pdblValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID(
+ /* [out] */ LPOLESTR *ppszData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion(
+ /* [out] */ LPOLESTR *ppszData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_DevicePower(
+ /* [in] */ long PowerMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_DevicePower(
+ /* [out] */ long *pPowerMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Calibrate(
+ /* [in] */ HEVENT hEvent,
+ /* [in] */ long Mode,
+ /* [out] */ long *pStatus) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_DevicePort(
+ /* [in] */ long DevicePort) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_DevicePort(
+ /* [out] */ long *pDevicePort) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMExtDeviceVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMExtDevice * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMExtDevice * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMExtDevice * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCapability )(
+ IAMExtDevice * This,
+ /* [in] */ long Capability,
+ /* [out] */ long *pValue,
+ /* [out] */ double *pdblValue);
+
+ HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )(
+ IAMExtDevice * This,
+ /* [out] */ LPOLESTR *ppszData);
+
+ HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )(
+ IAMExtDevice * This,
+ /* [out] */ LPOLESTR *ppszData);
+
+ HRESULT ( STDMETHODCALLTYPE *put_DevicePower )(
+ IAMExtDevice * This,
+ /* [in] */ long PowerMode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_DevicePower )(
+ IAMExtDevice * This,
+ /* [out] */ long *pPowerMode);
+
+ HRESULT ( STDMETHODCALLTYPE *Calibrate )(
+ IAMExtDevice * This,
+ /* [in] */ HEVENT hEvent,
+ /* [in] */ long Mode,
+ /* [out] */ long *pStatus);
+
+ HRESULT ( STDMETHODCALLTYPE *put_DevicePort )(
+ IAMExtDevice * This,
+ /* [in] */ long DevicePort);
+
+ HRESULT ( STDMETHODCALLTYPE *get_DevicePort )(
+ IAMExtDevice * This,
+ /* [out] */ long *pDevicePort);
+
+ END_INTERFACE
+ } IAMExtDeviceVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy(
+ IAMExtDevice * This,
+ /* [in] */ long Capability,
+ /* [out] */ long *pValue,
+ /* [out] */ double *pdblValue);
+
+
+void __RPC_STUB IAMExtDevice_GetCapability_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy(
+ IAMExtDevice * This,
+ /* [out] */ LPOLESTR *ppszData);
+
+
+void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy(
+ IAMExtDevice * This,
+ /* [out] */ LPOLESTR *ppszData);
+
+
+void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy(
+ IAMExtDevice * This,
+ /* [in] */ long PowerMode);
+
+
+void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy(
+ IAMExtDevice * This,
+ /* [out] */ long *pPowerMode);
+
+
+void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy(
+ IAMExtDevice * This,
+ /* [in] */ HEVENT hEvent,
+ /* [in] */ long Mode,
+ /* [out] */ long *pStatus);
+
+
+void __RPC_STUB IAMExtDevice_Calibrate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy(
+ IAMExtDevice * This,
+ /* [in] */ long DevicePort);
+
+
+void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy(
+ IAMExtDevice * This,
+ /* [out] */ long *pDevicePort);
+
+
+void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMExtDevice_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0330 */
+/* [local] */
+
+typedef IAMExtDevice *PEXTDEVICE;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_s_ifspec;
+
+#ifndef __IAMExtTransport_INTERFACE_DEFINED__
+#define __IAMExtTransport_INTERFACE_DEFINED__
+
+/* interface IAMExtTransport */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMExtTransport;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
+ IAMExtTransport : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetCapability(
+ /* [in] */ long Capability,
+ /* [out] */ long *pValue,
+ /* [out] */ double *pdblValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_MediaState(
+ /* [in] */ long State) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_MediaState(
+ /* [out] */ long *pState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_LocalControl(
+ /* [in] */ long State) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_LocalControl(
+ /* [out] */ long *pState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetStatus(
+ /* [in] */ long StatusItem,
+ /* [out] */ long *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters(
+ /* [in] */ long Param,
+ /* [out] */ long *pValue,
+ /* [out] */ LPOLESTR *ppszData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters(
+ /* [in] */ long Param,
+ /* [in] */ long Value,
+ /* [in] */ LPCOLESTR pszData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters(
+ /* [in] */ long Param,
+ /* [out] */ long *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters(
+ /* [in] */ long Param,
+ /* [in] */ long Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters(
+ /* [in] */ long Param,
+ /* [out] */ long *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters(
+ /* [in] */ long Param,
+ /* [in] */ long Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Mode(
+ /* [in] */ long Mode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Mode(
+ /* [out] */ long *pMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_Rate(
+ /* [in] */ double dblRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_Rate(
+ /* [out] */ double *pdblRate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetChase(
+ /* [out] */ long *pEnabled,
+ /* [out] */ long *pOffset,
+ /* [out] */ HEVENT *phEvent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetChase(
+ /* [in] */ long Enable,
+ /* [in] */ long Offset,
+ /* [in] */ HEVENT hEvent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBump(
+ /* [out] */ long *pSpeed,
+ /* [out] */ long *pDuration) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetBump(
+ /* [in] */ long Speed,
+ /* [in] */ long Duration) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl(
+ /* [out] */ long *pEnabled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl(
+ /* [in] */ long Enable) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet(
+ /* [in] */ long EditID,
+ /* [out] */ long *pState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet(
+ /* [out][in] */ long *pEditID,
+ /* [in] */ long State) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetEditProperty(
+ /* [in] */ long EditID,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetEditProperty(
+ /* [in] */ long EditID,
+ /* [in] */ long Param,
+ /* [in] */ long Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_EditStart(
+ /* [out] */ long *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_EditStart(
+ /* [in] */ long Value) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMExtTransportVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMExtTransport * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMExtTransport * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMExtTransport * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCapability )(
+ IAMExtTransport * This,
+ /* [in] */ long Capability,
+ /* [out] */ long *pValue,
+ /* [out] */ double *pdblValue);
+
+ HRESULT ( STDMETHODCALLTYPE *put_MediaState )(
+ IAMExtTransport * This,
+ /* [in] */ long State);
+
+ HRESULT ( STDMETHODCALLTYPE *get_MediaState )(
+ IAMExtTransport * This,
+ /* [out] */ long *pState);
+
+ HRESULT ( STDMETHODCALLTYPE *put_LocalControl )(
+ IAMExtTransport * This,
+ /* [in] */ long State);
+
+ HRESULT ( STDMETHODCALLTYPE *get_LocalControl )(
+ IAMExtTransport * This,
+ /* [out] */ long *pState);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStatus )(
+ IAMExtTransport * This,
+ /* [in] */ long StatusItem,
+ /* [out] */ long *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue,
+ /* [out] */ LPOLESTR *ppszData);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value,
+ /* [in] */ LPCOLESTR pszData);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Mode )(
+ IAMExtTransport * This,
+ /* [in] */ long Mode);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Mode )(
+ IAMExtTransport * This,
+ /* [out] */ long *pMode);
+
+ HRESULT ( STDMETHODCALLTYPE *put_Rate )(
+ IAMExtTransport * This,
+ /* [in] */ double dblRate);
+
+ HRESULT ( STDMETHODCALLTYPE *get_Rate )(
+ IAMExtTransport * This,
+ /* [out] */ double *pdblRate);
+
+ HRESULT ( STDMETHODCALLTYPE *GetChase )(
+ IAMExtTransport * This,
+ /* [out] */ long *pEnabled,
+ /* [out] */ long *pOffset,
+ /* [out] */ HEVENT *phEvent);
+
+ HRESULT ( STDMETHODCALLTYPE *SetChase )(
+ IAMExtTransport * This,
+ /* [in] */ long Enable,
+ /* [in] */ long Offset,
+ /* [in] */ HEVENT hEvent);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBump )(
+ IAMExtTransport * This,
+ /* [out] */ long *pSpeed,
+ /* [out] */ long *pDuration);
+
+ HRESULT ( STDMETHODCALLTYPE *SetBump )(
+ IAMExtTransport * This,
+ /* [in] */ long Speed,
+ /* [in] */ long Duration);
+
+ HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )(
+ IAMExtTransport * This,
+ /* [out] */ long *pEnabled);
+
+ HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )(
+ IAMExtTransport * This,
+ /* [in] */ long Enable);
+
+ HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )(
+ IAMExtTransport * This,
+ /* [in] */ long EditID,
+ /* [out] */ long *pState);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )(
+ IAMExtTransport * This,
+ /* [out][in] */ long *pEditID,
+ /* [in] */ long State);
+
+ HRESULT ( STDMETHODCALLTYPE *GetEditProperty )(
+ IAMExtTransport * This,
+ /* [in] */ long EditID,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEditProperty )(
+ IAMExtTransport * This,
+ /* [in] */ long EditID,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+ HRESULT ( STDMETHODCALLTYPE *get_EditStart )(
+ IAMExtTransport * This,
+ /* [out] */ long *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *put_EditStart )(
+ IAMExtTransport * This,
+ /* [in] */ long Value);
+
+ END_INTERFACE
+ } IAMExtTransportVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Capability,
+ /* [out] */ long *pValue,
+ /* [out] */ double *pdblValue);
+
+
+void __RPC_STUB IAMExtTransport_GetCapability_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long State);
+
+
+void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy(
+ IAMExtTransport * This,
+ /* [out] */ long *pState);
+
+
+void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long State);
+
+
+void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy(
+ IAMExtTransport * This,
+ /* [out] */ long *pState);
+
+
+void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long StatusItem,
+ /* [out] */ long *pValue);
+
+
+void __RPC_STUB IAMExtTransport_GetStatus_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue,
+ /* [out] */ LPOLESTR *ppszData);
+
+
+void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value,
+ /* [in] */ LPCOLESTR pszData);
+
+
+void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+
+void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+
+void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+
+void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+
+void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Mode);
+
+
+void __RPC_STUB IAMExtTransport_put_Mode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy(
+ IAMExtTransport * This,
+ /* [out] */ long *pMode);
+
+
+void __RPC_STUB IAMExtTransport_get_Mode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ double dblRate);
+
+
+void __RPC_STUB IAMExtTransport_put_Rate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy(
+ IAMExtTransport * This,
+ /* [out] */ double *pdblRate);
+
+
+void __RPC_STUB IAMExtTransport_get_Rate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy(
+ IAMExtTransport * This,
+ /* [out] */ long *pEnabled,
+ /* [out] */ long *pOffset,
+ /* [out] */ HEVENT *phEvent);
+
+
+void __RPC_STUB IAMExtTransport_GetChase_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Enable,
+ /* [in] */ long Offset,
+ /* [in] */ HEVENT hEvent);
+
+
+void __RPC_STUB IAMExtTransport_SetChase_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy(
+ IAMExtTransport * This,
+ /* [out] */ long *pSpeed,
+ /* [out] */ long *pDuration);
+
+
+void __RPC_STUB IAMExtTransport_GetBump_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Speed,
+ /* [in] */ long Duration);
+
+
+void __RPC_STUB IAMExtTransport_SetBump_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy(
+ IAMExtTransport * This,
+ /* [out] */ long *pEnabled);
+
+
+void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Enable);
+
+
+void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long EditID,
+ /* [out] */ long *pState);
+
+
+void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy(
+ IAMExtTransport * This,
+ /* [out][in] */ long *pEditID,
+ /* [in] */ long State);
+
+
+void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long EditID,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+
+void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long EditID,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+
+void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy(
+ IAMExtTransport * This,
+ /* [out] */ long *pValue);
+
+
+void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy(
+ IAMExtTransport * This,
+ /* [in] */ long Value);
+
+
+void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMExtTransport_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0331 */
+/* [local] */
+
+typedef IAMExtTransport *PIAMEXTTRANSPORT;
+
+#if 0
+/* the following is what MIDL knows how to remote */
+typedef struct tagTIMECODE
+ {
+ WORD wFrameRate;
+ WORD wFrameFract;
+ DWORD dwFrames;
+ } TIMECODE;
+
+#else /* 0 */
+#ifndef TIMECODE_DEFINED
+#define TIMECODE_DEFINED
+typedef union _timecode {
+ struct {
+ WORD wFrameRate;
+ WORD wFrameFract;
+ DWORD dwFrames;
+ };
+ DWORDLONG qw;
+ } TIMECODE;
+
+#endif /* TIMECODE_DEFINED */
+#endif /* 0 */
+typedef TIMECODE *PTIMECODE;
+
+typedef struct tagTIMECODE_SAMPLE
+ {
+ LONGLONG qwTick;
+ TIMECODE timecode;
+ DWORD dwUser;
+ DWORD dwFlags;
+ } TIMECODE_SAMPLE;
+
+typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_s_ifspec;
+
+#ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
+#define __IAMTimecodeReader_INTERFACE_DEFINED__
+
+/* interface IAMTimecodeReader */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMTimecodeReader;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
+ IAMTimecodeReader : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetTCRMode(
+ /* [in] */ long Param,
+ /* [out] */ long *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTCRMode(
+ /* [in] */ long Param,
+ /* [in] */ long Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_VITCLine(
+ /* [in] */ long Line) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_VITCLine(
+ /* [out] */ long *pLine) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTimecode(
+ /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMTimecodeReaderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMTimecodeReader * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMTimecodeReader * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMTimecodeReader * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTCRMode )(
+ IAMTimecodeReader * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTCRMode )(
+ IAMTimecodeReader * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+ HRESULT ( STDMETHODCALLTYPE *put_VITCLine )(
+ IAMTimecodeReader * This,
+ /* [in] */ long Line);
+
+ HRESULT ( STDMETHODCALLTYPE *get_VITCLine )(
+ IAMTimecodeReader * This,
+ /* [out] */ long *pLine);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
+ IAMTimecodeReader * This,
+ /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
+
+ END_INTERFACE
+ } IAMTimecodeReaderVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy(
+ IAMTimecodeReader * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+
+void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy(
+ IAMTimecodeReader * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+
+void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy(
+ IAMTimecodeReader * This,
+ /* [in] */ long Line);
+
+
+void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy(
+ IAMTimecodeReader * This,
+ /* [out] */ long *pLine);
+
+
+void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy(
+ IAMTimecodeReader * This,
+ /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
+
+
+void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0332 */
+/* [local] */
+
+typedef IAMTimecodeReader *PIAMTIMECODEREADER;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;
+
+#ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
+#define __IAMTimecodeGenerator_INTERFACE_DEFINED__
+
+/* interface IAMTimecodeGenerator */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMTimecodeGenerator;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
+ IAMTimecodeGenerator : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetTCGMode(
+ /* [in] */ long Param,
+ /* [out] */ long *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTCGMode(
+ /* [in] */ long Param,
+ /* [in] */ long Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_VITCLine(
+ /* [in] */ long Line) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_VITCLine(
+ /* [out] */ long *pLine) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTimecode(
+ /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTimecode(
+ /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMTimecodeGeneratorVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMTimecodeGenerator * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMTimecodeGenerator * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMTimecodeGenerator * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTCGMode )(
+ IAMTimecodeGenerator * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTCGMode )(
+ IAMTimecodeGenerator * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+ HRESULT ( STDMETHODCALLTYPE *put_VITCLine )(
+ IAMTimecodeGenerator * This,
+ /* [in] */ long Line);
+
+ HRESULT ( STDMETHODCALLTYPE *get_VITCLine )(
+ IAMTimecodeGenerator * This,
+ /* [out] */ long *pLine);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
+ IAMTimecodeGenerator * This,
+ /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
+ IAMTimecodeGenerator * This,
+ /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
+
+ END_INTERFACE
+ } IAMTimecodeGeneratorVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy(
+ IAMTimecodeGenerator * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+
+void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy(
+ IAMTimecodeGenerator * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+
+void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy(
+ IAMTimecodeGenerator * This,
+ /* [in] */ long Line);
+
+
+void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy(
+ IAMTimecodeGenerator * This,
+ /* [out] */ long *pLine);
+
+
+void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy(
+ IAMTimecodeGenerator * This,
+ /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
+
+
+void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy(
+ IAMTimecodeGenerator * This,
+ /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
+
+
+void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0333 */
+/* [local] */
+
+typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_s_ifspec;
+
+#ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
+#define __IAMTimecodeDisplay_INTERFACE_DEFINED__
+
+/* interface IAMTimecodeDisplay */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMTimecodeDisplay;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
+ IAMTimecodeDisplay : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable(
+ /* [out] */ long *pState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable(
+ /* [in] */ long State) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTCDisplay(
+ /* [in] */ long Param,
+ /* [out] */ long *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetTCDisplay(
+ /* [in] */ long Param,
+ /* [in] */ long Value) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMTimecodeDisplayVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMTimecodeDisplay * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMTimecodeDisplay * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMTimecodeDisplay * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )(
+ IAMTimecodeDisplay * This,
+ /* [out] */ long *pState);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )(
+ IAMTimecodeDisplay * This,
+ /* [in] */ long State);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )(
+ IAMTimecodeDisplay * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )(
+ IAMTimecodeDisplay * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+ END_INTERFACE
+ } IAMTimecodeDisplayVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(
+ IAMTimecodeDisplay * This,
+ /* [out] */ long *pState);
+
+
+void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(
+ IAMTimecodeDisplay * This,
+ /* [in] */ long State);
+
+
+void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy(
+ IAMTimecodeDisplay * This,
+ /* [in] */ long Param,
+ /* [out] */ long *pValue);
+
+
+void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy(
+ IAMTimecodeDisplay * This,
+ /* [in] */ long Param,
+ /* [in] */ long Value);
+
+
+void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0334 */
+/* [local] */
+
+typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;
+
+#ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
+#define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
+
+/* interface IAMDevMemoryAllocator */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMDevMemoryAllocator;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
+ IAMDevMemoryAllocator : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetInfo(
+ /* [out] */ DWORD *pdwcbTotalFree,
+ /* [out] */ DWORD *pdwcbLargestFree,
+ /* [out] */ DWORD *pdwcbTotalMemory,
+ /* [out] */ DWORD *pdwcbMinimumChunk) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckMemory(
+ /* [in] */ const BYTE *pBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Alloc(
+ /* [out] */ BYTE **ppBuffer,
+ /* [out][in] */ DWORD *pdwcbBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Free(
+ /* [in] */ BYTE *pBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject(
+ /* [out] */ IUnknown **ppUnkInnner,
+ /* [in] */ IUnknown *pUnkOuter) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMDevMemoryAllocatorVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMDevMemoryAllocator * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMDevMemoryAllocator * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMDevMemoryAllocator * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInfo )(
+ IAMDevMemoryAllocator * This,
+ /* [out] */ DWORD *pdwcbTotalFree,
+ /* [out] */ DWORD *pdwcbLargestFree,
+ /* [out] */ DWORD *pdwcbTotalMemory,
+ /* [out] */ DWORD *pdwcbMinimumChunk);
+
+ HRESULT ( STDMETHODCALLTYPE *CheckMemory )(
+ IAMDevMemoryAllocator * This,
+ /* [in] */ const BYTE *pBuffer);
+
+ HRESULT ( STDMETHODCALLTYPE *Alloc )(
+ IAMDevMemoryAllocator * This,
+ /* [out] */ BYTE **ppBuffer,
+ /* [out][in] */ DWORD *pdwcbBuffer);
+
+ HRESULT ( STDMETHODCALLTYPE *Free )(
+ IAMDevMemoryAllocator * This,
+ /* [in] */ BYTE *pBuffer);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )(
+ IAMDevMemoryAllocator * This,
+ /* [out] */ IUnknown **ppUnkInnner,
+ /* [in] */ IUnknown *pUnkOuter);
+
+ END_INTERFACE
+ } IAMDevMemoryAllocatorVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy(
+ IAMDevMemoryAllocator * This,
+ /* [out] */ DWORD *pdwcbTotalFree,
+ /* [out] */ DWORD *pdwcbLargestFree,
+ /* [out] */ DWORD *pdwcbTotalMemory,
+ /* [out] */ DWORD *pdwcbMinimumChunk);
+
+
+void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy(
+ IAMDevMemoryAllocator * This,
+ /* [in] */ const BYTE *pBuffer);
+
+
+void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy(
+ IAMDevMemoryAllocator * This,
+ /* [out] */ BYTE **ppBuffer,
+ /* [out][in] */ DWORD *pdwcbBuffer);
+
+
+void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy(
+ IAMDevMemoryAllocator * This,
+ /* [in] */ BYTE *pBuffer);
+
+
+void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(
+ IAMDevMemoryAllocator * This,
+ /* [out] */ IUnknown **ppUnkInnner,
+ /* [in] */ IUnknown *pUnkOuter);
+
+
+void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0335 */
+/* [local] */
+
+typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;
+
+#ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
+#define __IAMDevMemoryControl_INTERFACE_DEFINED__
+
+/* interface IAMDevMemoryControl */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMDevMemoryControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
+ IAMDevMemoryControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDevId(
+ /* [out] */ DWORD *pdwDevId) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMDevMemoryControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMDevMemoryControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMDevMemoryControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMDevMemoryControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )(
+ IAMDevMemoryControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *WriteSync )(
+ IAMDevMemoryControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevId )(
+ IAMDevMemoryControl * This,
+ /* [out] */ DWORD *pdwDevId);
+
+ END_INTERFACE
+ } IAMDevMemoryControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy(
+ IAMDevMemoryControl * This);
+
+
+void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy(
+ IAMDevMemoryControl * This);
+
+
+void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy(
+ IAMDevMemoryControl * This,
+ /* [out] */ DWORD *pdwDevId);
+
+
+void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0336 */
+/* [local] */
+
+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_0336_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_s_ifspec;
+
+#ifndef __IAMStreamSelect_INTERFACE_DEFINED__
+#define __IAMStreamSelect_INTERFACE_DEFINED__
+
+/* interface IAMStreamSelect */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMStreamSelect;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
+ IAMStreamSelect : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Count(
+ /* [out] */ DWORD *pcStreams) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Info(
+ /* [in] */ long lIndex,
+ /* [out] */ AM_MEDIA_TYPE **ppmt,
+ /* [out] */ DWORD *pdwFlags,
+ /* [out] */ LCID *plcid,
+ /* [out] */ DWORD *pdwGroup,
+ /* [out] */ WCHAR **ppszName,
+ /* [out] */ IUnknown **ppObject,
+ /* [out] */ IUnknown **ppUnk) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Enable(
+ /* [in] */ long lIndex,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMStreamSelectVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMStreamSelect * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMStreamSelect * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMStreamSelect * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Count )(
+ IAMStreamSelect * This,
+ /* [out] */ DWORD *pcStreams);
+
+ HRESULT ( STDMETHODCALLTYPE *Info )(
+ IAMStreamSelect * This,
+ /* [in] */ long lIndex,
+ /* [out] */ AM_MEDIA_TYPE **ppmt,
+ /* [out] */ DWORD *pdwFlags,
+ /* [out] */ LCID *plcid,
+ /* [out] */ DWORD *pdwGroup,
+ /* [out] */ WCHAR **ppszName,
+ /* [out] */ IUnknown **ppObject,
+ /* [out] */ IUnknown **ppUnk);
+
+ HRESULT ( STDMETHODCALLTYPE *Enable )(
+ IAMStreamSelect * This,
+ /* [in] */ long lIndex,
+ /* [in] */ DWORD dwFlags);
+
+ END_INTERFACE
+ } IAMStreamSelectVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy(
+ IAMStreamSelect * This,
+ /* [out] */ DWORD *pcStreams);
+
+
+void __RPC_STUB IAMStreamSelect_Count_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy(
+ IAMStreamSelect * This,
+ /* [in] */ long lIndex,
+ /* [out] */ AM_MEDIA_TYPE **ppmt,
+ /* [out] */ DWORD *pdwFlags,
+ /* [out] */ LCID *plcid,
+ /* [out] */ DWORD *pdwGroup,
+ /* [out] */ WCHAR **ppszName,
+ /* [out] */ IUnknown **ppObject,
+ /* [out] */ IUnknown **ppUnk);
+
+
+void __RPC_STUB IAMStreamSelect_Info_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy(
+ IAMStreamSelect * This,
+ /* [in] */ long lIndex,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IAMStreamSelect_Enable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMStreamSelect_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0337 */
+/* [local] */
+
+typedef IAMStreamSelect *PAMSTREAMSELECT;
+
+
+enum _AMRESCTL_RESERVEFLAGS
+ { AMRESCTL_RESERVEFLAGS_RESERVE = 0,
+ AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_s_ifspec;
+
+#ifndef __IAMResourceControl_INTERFACE_DEFINED__
+#define __IAMResourceControl_INTERFACE_DEFINED__
+
+/* interface IAMResourceControl */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMResourceControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
+ IAMResourceControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Reserve(
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ PVOID pvReserved) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMResourceControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMResourceControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMResourceControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMResourceControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Reserve )(
+ IAMResourceControl * This,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ PVOID pvReserved);
+
+ END_INTERFACE
+ } IAMResourceControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy(
+ IAMResourceControl * This,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ PVOID pvReserved);
+
+
+void __RPC_STUB IAMResourceControl_Reserve_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMResourceControl_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMClockAdjust_INTERFACE_DEFINED__
+#define __IAMClockAdjust_INTERFACE_DEFINED__
+
+/* interface IAMClockAdjust */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMClockAdjust;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
+ IAMClockAdjust : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetClockDelta(
+ /* [in] */ REFERENCE_TIME rtDelta) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMClockAdjustVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMClockAdjust * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMClockAdjust * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMClockAdjust * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetClockDelta )(
+ IAMClockAdjust * This,
+ /* [in] */ REFERENCE_TIME rtDelta);
+
+ END_INTERFACE
+ } IAMClockAdjustVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy(
+ IAMClockAdjust * This,
+ /* [in] */ REFERENCE_TIME rtDelta);
+
+
+void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMClockAdjust_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0339 */
+/* [local] */
+
+
+enum _AM_FILTER_MISC_FLAGS
+ { AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
+ AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
+ } ;
+
+
+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 __IAMFilterMiscFlags_INTERFACE_DEFINED__
+#define __IAMFilterMiscFlags_INTERFACE_DEFINED__
+
+/* interface IAMFilterMiscFlags */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMFilterMiscFlags;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
+ IAMFilterMiscFlags : public IUnknown
+ {
+ public:
+ virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMFilterMiscFlagsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMFilterMiscFlags * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMFilterMiscFlags * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMFilterMiscFlags * This);
+
+ ULONG ( STDMETHODCALLTYPE *GetMiscFlags )(
+ IAMFilterMiscFlags * This);
+
+ END_INTERFACE
+ } IAMFilterMiscFlagsVtbl;
+
+ interface IAMFilterMiscFlags
+ {
+ CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMFilterMiscFlags_GetMiscFlags(This) \
+ (This)->lpVtbl -> GetMiscFlags(This)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy(
+ IAMFilterMiscFlags * This);
+
+
+void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDrawVideoImage_INTERFACE_DEFINED__
+#define __IDrawVideoImage_INTERFACE_DEFINED__
+
+/* interface IDrawVideoImage */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IDrawVideoImage;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
+ IDrawVideoImage : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw(
+ /* [in] */ HDC hdc,
+ /* [in] */ LPRECT lprcSrc,
+ /* [in] */ LPRECT lprcDst) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDrawVideoImageVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDrawVideoImage * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDrawVideoImage * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDrawVideoImage * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )(
+ IDrawVideoImage * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )(
+ IDrawVideoImage * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )(
+ IDrawVideoImage * This,
+ /* [in] */ HDC hdc,
+ /* [in] */ LPRECT lprcSrc,
+ /* [in] */ LPRECT lprcDst);
+
+ END_INTERFACE
+ } IDrawVideoImageVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy(
+ IDrawVideoImage * This);
+
+
+void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy(
+ IDrawVideoImage * This);
+
+
+void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy(
+ IDrawVideoImage * This,
+ /* [in] */ HDC hdc,
+ /* [in] */ LPRECT lprcSrc,
+ /* [in] */ LPRECT lprcDst);
+
+
+void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDrawVideoImage_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
+#define __IDecimateVideoImage_INTERFACE_DEFINED__
+
+/* interface IDecimateVideoImage */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IDecimateVideoImage;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")
+ IDecimateVideoImage : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize(
+ /* [in] */ long lWidth,
+ /* [in] */ long lHeight) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDecimateVideoImageVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDecimateVideoImage * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDecimateVideoImage * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDecimateVideoImage * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )(
+ IDecimateVideoImage * This,
+ /* [in] */ long lWidth,
+ /* [in] */ long lHeight);
+
+ HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )(
+ IDecimateVideoImage * This);
+
+ END_INTERFACE
+ } IDecimateVideoImageVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy(
+ IDecimateVideoImage * This,
+ /* [in] */ long lWidth,
+ /* [in] */ long lHeight);
+
+
+void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy(
+ IDecimateVideoImage * This);
+
+
+void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0342 */
+/* [local] */
+
+typedef
+enum _DECIMATION_USAGE
+ { DECIMATION_LEGACY = 0,
+ DECIMATION_USE_DECODER_ONLY = DECIMATION_LEGACY + 1,
+ DECIMATION_USE_VIDEOPORT_ONLY = DECIMATION_USE_DECODER_ONLY + 1,
+ DECIMATION_USE_OVERLAY_ONLY = DECIMATION_USE_VIDEOPORT_ONLY + 1,
+ DECIMATION_DEFAULT = DECIMATION_USE_OVERLAY_ONLY + 1
+ } DECIMATION_USAGE;
+
+
+
+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 __IAMVideoDecimationProperties_INTERFACE_DEFINED__
+#define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
+
+/* interface IAMVideoDecimationProperties */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IAMVideoDecimationProperties;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")
+ IAMVideoDecimationProperties : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage(
+ /* [out] */ DECIMATION_USAGE *lpUsage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage(
+ /* [in] */ DECIMATION_USAGE Usage) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMVideoDecimationPropertiesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMVideoDecimationProperties * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMVideoDecimationProperties * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMVideoDecimationProperties * This);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )(
+ IAMVideoDecimationProperties * This,
+ /* [out] */ DECIMATION_USAGE *lpUsage);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )(
+ IAMVideoDecimationProperties * This,
+ /* [in] */ DECIMATION_USAGE Usage);
+
+ END_INTERFACE
+ } IAMVideoDecimationPropertiesVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(
+ IAMVideoDecimationProperties * This,
+ /* [out] */ DECIMATION_USAGE *lpUsage);
+
+
+void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy(
+ IAMVideoDecimationProperties * This,
+ /* [in] */ DECIMATION_USAGE Usage);
+
+
+void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVideoFrameStep_INTERFACE_DEFINED__
+#define __IVideoFrameStep_INTERFACE_DEFINED__
+
+/* interface IVideoFrameStep */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IVideoFrameStep;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
+ IVideoFrameStep : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Step(
+ DWORD dwFrames,
+ /* [unique] */ IUnknown *pStepObject) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CanStep(
+ long bMultiple,
+ /* [unique] */ IUnknown *pStepObject) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVideoFrameStepVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVideoFrameStep * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVideoFrameStep * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVideoFrameStep * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Step )(
+ IVideoFrameStep * This,
+ DWORD dwFrames,
+ /* [unique] */ IUnknown *pStepObject);
+
+ HRESULT ( STDMETHODCALLTYPE *CanStep )(
+ IVideoFrameStep * This,
+ long bMultiple,
+ /* [unique] */ IUnknown *pStepObject);
+
+ HRESULT ( STDMETHODCALLTYPE *CancelStep )(
+ IVideoFrameStep * This);
+
+ END_INTERFACE
+ } IVideoFrameStepVtbl;
+
+ interface IVideoFrameStep
+ {
+ CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IVideoFrameStep_Step(This,dwFrames,pStepObject) \
+ (This)->lpVtbl -> Step(This,dwFrames,pStepObject)
+
+#define IVideoFrameStep_CanStep(This,bMultiple,pStepObject) \
+ (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)
+
+#define IVideoFrameStep_CancelStep(This) \
+ (This)->lpVtbl -> CancelStep(This)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy(
+ IVideoFrameStep * This,
+ DWORD dwFrames,
+ /* [unique] */ IUnknown *pStepObject);
+
+
+void __RPC_STUB IVideoFrameStep_Step_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy(
+ IVideoFrameStep * This,
+ long bMultiple,
+ /* [unique] */ IUnknown *pStepObject);
+
+
+void __RPC_STUB IVideoFrameStep_CanStep_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy(
+ IVideoFrameStep * This);
+
+
+void __RPC_STUB IVideoFrameStep_CancelStep_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVideoFrameStep_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0344 */
+/* [local] */
+
+
+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
+ } ;
+
+
+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 __IAMLatency_INTERFACE_DEFINED__
+#define __IAMLatency_INTERFACE_DEFINED__
+
+/* interface IAMLatency */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMLatency;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")
+ IAMLatency : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetLatency(
+ /* [in] */ REFERENCE_TIME *prtLatency) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMLatencyVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMLatency * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMLatency * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMLatency * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetLatency )(
+ IAMLatency * This,
+ /* [in] */ REFERENCE_TIME *prtLatency);
+
+ END_INTERFACE
+ } IAMLatencyVtbl;
+
+ interface IAMLatency
+ {
+ CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMLatency_GetLatency(This,prtLatency) \
+ (This)->lpVtbl -> GetLatency(This,prtLatency)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy(
+ IAMLatency * This,
+ /* [in] */ REFERENCE_TIME *prtLatency);
+
+
+void __RPC_STUB IAMLatency_GetLatency_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMLatency_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMPushSource_INTERFACE_DEFINED__
+#define __IAMPushSource_INTERFACE_DEFINED__
+
+/* interface IAMPushSource */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMPushSource;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")
+ IAMPushSource : public IAMLatency
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags(
+ /* [out] */ ULONG *pFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags(
+ /* [in] */ ULONG Flags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetStreamOffset(
+ /* [in] */ REFERENCE_TIME rtOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetStreamOffset(
+ /* [out] */ REFERENCE_TIME *prtOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset(
+ /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset(
+ /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMPushSourceVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMPushSource * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMPushSource * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMPushSource * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetLatency )(
+ IAMPushSource * This,
+ /* [in] */ REFERENCE_TIME *prtLatency);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )(
+ IAMPushSource * This,
+ /* [out] */ ULONG *pFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )(
+ IAMPushSource * This,
+ /* [in] */ ULONG Flags);
+
+ HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )(
+ IAMPushSource * This,
+ /* [in] */ REFERENCE_TIME rtOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )(
+ IAMPushSource * This,
+ /* [out] */ REFERENCE_TIME *prtOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )(
+ IAMPushSource * This,
+ /* [out] */ REFERENCE_TIME *prtMaxOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )(
+ IAMPushSource * This,
+ /* [in] */ REFERENCE_TIME rtMaxOffset);
+
+ END_INTERFACE
+ } IAMPushSourceVtbl;
+
+ interface IAMPushSource
+ {
+ CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMPushSource_GetLatency(This,prtLatency) \
+ (This)->lpVtbl -> GetLatency(This,prtLatency)
+
+
+#define IAMPushSource_GetPushSourceFlags(This,pFlags) \
+ (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)
+
+#define IAMPushSource_SetPushSourceFlags(This,Flags) \
+ (This)->lpVtbl -> SetPushSourceFlags(This,Flags)
+
+#define IAMPushSource_SetStreamOffset(This,rtOffset) \
+ (This)->lpVtbl -> SetStreamOffset(This,rtOffset)
+
+#define IAMPushSource_GetStreamOffset(This,prtOffset) \
+ (This)->lpVtbl -> GetStreamOffset(This,prtOffset)
+
+#define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset) \
+ (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)
+
+#define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset) \
+ (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy(
+ IAMPushSource * This,
+ /* [out] */ ULONG *pFlags);
+
+
+void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy(
+ IAMPushSource * This,
+ /* [in] */ ULONG Flags);
+
+
+void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy(
+ IAMPushSource * This,
+ /* [in] */ REFERENCE_TIME rtOffset);
+
+
+void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy(
+ IAMPushSource * This,
+ /* [out] */ REFERENCE_TIME *prtOffset);
+
+
+void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy(
+ IAMPushSource * This,
+ /* [out] */ REFERENCE_TIME *prtMaxOffset);
+
+
+void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy(
+ IAMPushSource * This,
+ /* [in] */ REFERENCE_TIME rtMaxOffset);
+
+
+void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMPushSource_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
+#define __IAMDeviceRemoval_INTERFACE_DEFINED__
+
+/* interface IAMDeviceRemoval */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMDeviceRemoval;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")
+ IAMDeviceRemoval : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE DeviceInfo(
+ /* [out] */ CLSID *pclsidInterfaceClass,
+ /* [out] */ WCHAR **pwszSymbolicLink) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMDeviceRemovalVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMDeviceRemoval * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMDeviceRemoval * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMDeviceRemoval * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DeviceInfo )(
+ IAMDeviceRemoval * This,
+ /* [out] */ CLSID *pclsidInterfaceClass,
+ /* [out] */ WCHAR **pwszSymbolicLink);
+
+ HRESULT ( STDMETHODCALLTYPE *Reassociate )(
+ IAMDeviceRemoval * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Disassociate )(
+ IAMDeviceRemoval * This);
+
+ END_INTERFACE
+ } IAMDeviceRemovalVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy(
+ IAMDeviceRemoval * This,
+ /* [out] */ CLSID *pclsidInterfaceClass,
+ /* [out] */ WCHAR **pwszSymbolicLink);
+
+
+void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy(
+ IAMDeviceRemoval * This);
+
+
+void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy(
+ IAMDeviceRemoval * This);
+
+
+void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0346 */
+/* [local] */
+
+typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0346_0001
+ {
+ DWORD dwDVAAuxSrc;
+ DWORD dwDVAAuxCtl;
+ DWORD dwDVAAuxSrc1;
+ DWORD dwDVAAuxCtl1;
+ DWORD dwDVVAuxSrc;
+ DWORD dwDVVAuxCtl;
+ DWORD dwDVReserved[ 2 ];
+ } DVINFO;
+
+typedef struct __MIDL___MIDL_itf_strmif_0346_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_0346_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
+
+#ifndef __IDVEnc_INTERFACE_DEFINED__
+#define __IDVEnc_INTERFACE_DEFINED__
+
+/* interface IDVEnc */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDVEnc;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
+ IDVEnc : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution(
+ /* [out] */ int *VideoFormat,
+ /* [out] */ int *DVFormat,
+ /* [out] */ int *Resolution,
+ /* [in] */ BYTE fDVInfo,
+ /* [out] */ DVINFO *sDVInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution(
+ /* [in] */ int VideoFormat,
+ /* [in] */ int DVFormat,
+ /* [in] */ int Resolution,
+ /* [in] */ BYTE fDVInfo,
+ /* [in] */ DVINFO *sDVInfo) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDVEncVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDVEnc * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDVEnc * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDVEnc * This);
+
+ HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )(
+ IDVEnc * This,
+ /* [out] */ int *VideoFormat,
+ /* [out] */ int *DVFormat,
+ /* [out] */ int *Resolution,
+ /* [in] */ BYTE fDVInfo,
+ /* [out] */ DVINFO *sDVInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )(
+ IDVEnc * This,
+ /* [in] */ int VideoFormat,
+ /* [in] */ int DVFormat,
+ /* [in] */ int Resolution,
+ /* [in] */ BYTE fDVInfo,
+ /* [in] */ DVINFO *sDVInfo);
+
+ END_INTERFACE
+ } IDVEncVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy(
+ IDVEnc * This,
+ /* [out] */ int *VideoFormat,
+ /* [out] */ int *DVFormat,
+ /* [out] */ int *Resolution,
+ /* [in] */ BYTE fDVInfo,
+ /* [out] */ DVINFO *sDVInfo);
+
+
+void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy(
+ IDVEnc * This,
+ /* [in] */ int VideoFormat,
+ /* [in] */ int DVFormat,
+ /* [in] */ int Resolution,
+ /* [in] */ BYTE fDVInfo,
+ /* [in] */ DVINFO *sDVInfo);
+
+
+void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDVEnc_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0347 */
+/* [local] */
+
+
+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_0347_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0347_v0_0_s_ifspec;
+
+#ifndef __IIPDVDec_INTERFACE_DEFINED__
+#define __IIPDVDec_INTERFACE_DEFINED__
+
+/* interface IIPDVDec */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IIPDVDec;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
+ IIPDVDec : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE get_IPDisplay(
+ /* [out] */ int *displayPix) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE put_IPDisplay(
+ /* [in] */ int displayPix) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IIPDVDecVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IIPDVDec * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IIPDVDec * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IIPDVDec * This);
+
+ HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )(
+ IIPDVDec * This,
+ /* [out] */ int *displayPix);
+
+ HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )(
+ IIPDVDec * This,
+ /* [in] */ int displayPix);
+
+ END_INTERFACE
+ } IIPDVDecVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy(
+ IIPDVDec * This,
+ /* [out] */ int *displayPix);
+
+
+void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy(
+ IIPDVDec * This,
+ /* [in] */ int displayPix);
+
+
+void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IIPDVDec_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDVRGB219_INTERFACE_DEFINED__
+#define __IDVRGB219_INTERFACE_DEFINED__
+
+/* interface IDVRGB219 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDVRGB219;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("58473A19-2BC8-4663-8012-25F81BABDDD1")
+ IDVRGB219 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetRGB219(
+ /* [in] */ BOOL bState) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDVRGB219Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDVRGB219 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDVRGB219 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDVRGB219 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetRGB219 )(
+ IDVRGB219 * This,
+ /* [in] */ BOOL bState);
+
+ END_INTERFACE
+ } IDVRGB219Vtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDVRGB219_SetRGB219_Proxy(
+ IDVRGB219 * This,
+ /* [in] */ BOOL bState);
+
+
+void __RPC_STUB IDVRGB219_SetRGB219_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDVRGB219_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDVSplitter_INTERFACE_DEFINED__
+#define __IDVSplitter_INTERFACE_DEFINED__
+
+/* interface IDVSplitter */
+/* [uuid][object] */
+
+
+EXTERN_C const IID IID_IDVSplitter;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")
+ IDVSplitter : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames(
+ /* [in] */ int nDiscard) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDVSplitterVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDVSplitter * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDVSplitter * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDVSplitter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )(
+ IDVSplitter * This,
+ /* [in] */ int nDiscard);
+
+ END_INTERFACE
+ } IDVSplitterVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy(
+ IDVSplitter * This,
+ /* [in] */ int nDiscard);
+
+
+void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDVSplitter_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0350 */
+/* [local] */
+
+
+enum _AM_AUDIO_RENDERER_STAT_PARAM
+ { AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
+ AM_AUDREND_STAT_PARAM_SLAVE_MODE = AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,
+ AM_AUDREND_STAT_PARAM_SILENCE_DUR = AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,
+ AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR = AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,
+ AM_AUDREND_STAT_PARAM_DISCONTINUITIES = AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,
+ AM_AUDREND_STAT_PARAM_SLAVE_RATE = AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,
+ AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR = AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,
+ AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR = AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,
+ AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR = AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,
+ AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR = AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,
+ AM_AUDREND_STAT_PARAM_BUFFERFULLNESS = AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,
+ AM_AUDREND_STAT_PARAM_JITTER = AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0350_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0350_v0_0_s_ifspec;
+
+#ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
+#define __IAMAudioRendererStats_INTERFACE_DEFINED__
+
+/* interface IAMAudioRendererStats */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMAudioRendererStats;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")
+ IAMAudioRendererStats : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetStatParam(
+ /* [in] */ DWORD dwParam,
+ /* [out] */ DWORD *pdwParam1,
+ /* [out] */ DWORD *pdwParam2) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMAudioRendererStatsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMAudioRendererStats * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMAudioRendererStats * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMAudioRendererStats * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStatParam )(
+ IAMAudioRendererStats * This,
+ /* [in] */ DWORD dwParam,
+ /* [out] */ DWORD *pdwParam1,
+ /* [out] */ DWORD *pdwParam2);
+
+ END_INTERFACE
+ } IAMAudioRendererStatsVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy(
+ IAMAudioRendererStats * This,
+ /* [in] */ DWORD dwParam,
+ /* [out] */ DWORD *pdwParam1,
+ /* [out] */ DWORD *pdwParam2);
+
+
+void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0352 */
+/* [local] */
+
+
+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_0352_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_s_ifspec;
+
+#ifndef __IAMGraphStreams_INTERFACE_DEFINED__
+#define __IAMGraphStreams_INTERFACE_DEFINED__
+
+/* interface IAMGraphStreams */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMGraphStreams;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")
+ IAMGraphStreams : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface(
+ /* [in] */ IPin *pPin,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvInterface,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset(
+ /* [in] */ BOOL bUseStreamOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency(
+ /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMGraphStreamsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMGraphStreams * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMGraphStreams * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMGraphStreams * This);
+
+ HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )(
+ IAMGraphStreams * This,
+ /* [in] */ IPin *pPin,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvInterface,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )(
+ IAMGraphStreams * This,
+ /* [in] */ BOOL bUseStreamOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )(
+ IAMGraphStreams * This,
+ /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
+
+ END_INTERFACE
+ } IAMGraphStreamsVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy(
+ IAMGraphStreams * This,
+ /* [in] */ IPin *pPin,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvInterface,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy(
+ IAMGraphStreams * This,
+ /* [in] */ BOOL bUseStreamOffset);
+
+
+void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy(
+ IAMGraphStreams * This,
+ /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
+
+
+void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMGraphStreams_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0353 */
+/* [local] */
+
+
+enum AMOVERLAYFX
+ { AMOVERFX_NOFX = 0,
+ AMOVERFX_MIRRORLEFTRIGHT = 0x2,
+ AMOVERFX_MIRRORUPDOWN = 0x4,
+ AMOVERFX_DEINTERLACE = 0x8
+ } ;
+
+
+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 __IAMOverlayFX_INTERFACE_DEFINED__
+#define __IAMOverlayFX_INTERFACE_DEFINED__
+
+/* interface IAMOverlayFX */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMOverlayFX;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")
+ IAMOverlayFX : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps(
+ /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetOverlayFX(
+ /* [in] */ DWORD dwOverlayFX) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetOverlayFX(
+ /* [out] */ DWORD *lpdwOverlayFX) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMOverlayFXVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMOverlayFX * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMOverlayFX * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMOverlayFX * This);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )(
+ IAMOverlayFX * This,
+ /* [out] */ DWORD *lpdwOverlayFXCaps);
+
+ HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )(
+ IAMOverlayFX * This,
+ /* [in] */ DWORD dwOverlayFX);
+
+ HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )(
+ IAMOverlayFX * This,
+ /* [out] */ DWORD *lpdwOverlayFX);
+
+ END_INTERFACE
+ } IAMOverlayFXVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy(
+ IAMOverlayFX * This,
+ /* [out] */ DWORD *lpdwOverlayFXCaps);
+
+
+void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy(
+ IAMOverlayFX * This,
+ /* [in] */ DWORD dwOverlayFX);
+
+
+void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy(
+ IAMOverlayFX * This,
+ /* [out] */ DWORD *lpdwOverlayFX);
+
+
+void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMOverlayFX_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMOpenProgress_INTERFACE_DEFINED__
+#define __IAMOpenProgress_INTERFACE_DEFINED__
+
+/* interface IAMOpenProgress */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMOpenProgress;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")
+ IAMOpenProgress : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE QueryProgress(
+ /* [out] */ LONGLONG *pllTotal,
+ /* [out] */ LONGLONG *pllCurrent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMOpenProgressVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMOpenProgress * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMOpenProgress * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMOpenProgress * This);
+
+ HRESULT ( STDMETHODCALLTYPE *QueryProgress )(
+ IAMOpenProgress * This,
+ /* [out] */ LONGLONG *pllTotal,
+ /* [out] */ LONGLONG *pllCurrent);
+
+ HRESULT ( STDMETHODCALLTYPE *AbortOperation )(
+ IAMOpenProgress * This);
+
+ END_INTERFACE
+ } IAMOpenProgressVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy(
+ IAMOpenProgress * This,
+ /* [out] */ LONGLONG *pllTotal,
+ /* [out] */ LONGLONG *pllCurrent);
+
+
+void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy(
+ IAMOpenProgress * This);
+
+
+void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMOpenProgress_INTERFACE_DEFINED__ */
+
+
+#ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
+#define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
+
+/* interface IMpeg2Demultiplexer */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IMpeg2Demultiplexer;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")
+ IMpeg2Demultiplexer : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreateOutputPin(
+ /* [in] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ LPWSTR pszPinName,
+ /* [out] */ IPin **ppIPin) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType(
+ /* [in] */ LPWSTR pszPinName,
+ /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin(
+ /* [in] */ LPWSTR pszPinName) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMpeg2DemultiplexerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMpeg2Demultiplexer * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMpeg2Demultiplexer * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMpeg2Demultiplexer * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )(
+ IMpeg2Demultiplexer * This,
+ /* [in] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ LPWSTR pszPinName,
+ /* [out] */ IPin **ppIPin);
+
+ HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )(
+ IMpeg2Demultiplexer * This,
+ /* [in] */ LPWSTR pszPinName,
+ /* [in] */ AM_MEDIA_TYPE *pMediaType);
+
+ HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )(
+ IMpeg2Demultiplexer * This,
+ /* [in] */ LPWSTR pszPinName);
+
+ END_INTERFACE
+ } IMpeg2DemultiplexerVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy(
+ IMpeg2Demultiplexer * This,
+ /* [in] */ AM_MEDIA_TYPE *pMediaType,
+ /* [in] */ LPWSTR pszPinName,
+ /* [out] */ IPin **ppIPin);
+
+
+void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(
+ IMpeg2Demultiplexer * This,
+ /* [in] */ LPWSTR pszPinName,
+ /* [in] */ AM_MEDIA_TYPE *pMediaType);
+
+
+void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy(
+ IMpeg2Demultiplexer * This,
+ /* [in] */ LPWSTR pszPinName);
+
+
+void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0356 */
+/* [local] */
+
+#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 /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0356_0001
+ {
+ ULONG stream_id;
+ DWORD dwMediaSampleContent;
+ ULONG ulSubstreamFilterValue;
+ int iDataOffset;
+ } STREAM_ID_MAP;
+
+
+
+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 __IEnumStreamIdMap_INTERFACE_DEFINED__
+#define __IEnumStreamIdMap_INTERFACE_DEFINED__
+
+/* interface IEnumStreamIdMap */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IEnumStreamIdMap;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")
+ IEnumStreamIdMap : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG cRequest,
+ /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
+ /* [out] */ ULONG *pcReceived) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG cRecords) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IEnumStreamIdMapVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IEnumStreamIdMap * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IEnumStreamIdMap * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IEnumStreamIdMap * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IEnumStreamIdMap * This,
+ /* [in] */ ULONG cRequest,
+ /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
+ /* [out] */ ULONG *pcReceived);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IEnumStreamIdMap * This,
+ /* [in] */ ULONG cRecords);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IEnumStreamIdMap * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IEnumStreamIdMap * This,
+ /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
+
+ END_INTERFACE
+ } IEnumStreamIdMapVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy(
+ IEnumStreamIdMap * This,
+ /* [in] */ ULONG cRequest,
+ /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
+ /* [out] */ ULONG *pcReceived);
+
+
+void __RPC_STUB IEnumStreamIdMap_Next_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy(
+ IEnumStreamIdMap * This,
+ /* [in] */ ULONG cRecords);
+
+
+void __RPC_STUB IEnumStreamIdMap_Skip_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy(
+ IEnumStreamIdMap * This);
+
+
+void __RPC_STUB IEnumStreamIdMap_Reset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy(
+ IEnumStreamIdMap * This,
+ /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
+
+
+void __RPC_STUB IEnumStreamIdMap_Clone_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IEnumStreamIdMap_INTERFACE_DEFINED__ */
+
+
+#ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
+#define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
+
+/* interface IMPEG2StreamIdMap */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IMPEG2StreamIdMap;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")
+ IMPEG2StreamIdMap : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE MapStreamId(
+ /* [in] */ ULONG ulStreamId,
+ /* [in] */ DWORD MediaSampleContent,
+ /* [in] */ ULONG ulSubstreamFilterValue,
+ /* [in] */ int iDataOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnmapStreamId(
+ /* [in] */ ULONG culStreamId,
+ /* [in] */ ULONG *pulStreamId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap(
+ /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IMPEG2StreamIdMapVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMPEG2StreamIdMap * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMPEG2StreamIdMap * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMPEG2StreamIdMap * This);
+
+ HRESULT ( STDMETHODCALLTYPE *MapStreamId )(
+ IMPEG2StreamIdMap * This,
+ /* [in] */ ULONG ulStreamId,
+ /* [in] */ DWORD MediaSampleContent,
+ /* [in] */ ULONG ulSubstreamFilterValue,
+ /* [in] */ int iDataOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )(
+ IMPEG2StreamIdMap * This,
+ /* [in] */ ULONG culStreamId,
+ /* [in] */ ULONG *pulStreamId);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )(
+ IMPEG2StreamIdMap * This,
+ /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
+
+ END_INTERFACE
+ } IMPEG2StreamIdMapVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy(
+ IMPEG2StreamIdMap * This,
+ /* [in] */ ULONG ulStreamId,
+ /* [in] */ DWORD MediaSampleContent,
+ /* [in] */ ULONG ulSubstreamFilterValue,
+ /* [in] */ int iDataOffset);
+
+
+void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy(
+ IMPEG2StreamIdMap * This,
+ /* [in] */ ULONG culStreamId,
+ /* [in] */ ULONG *pulStreamId);
+
+
+void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(
+ IMPEG2StreamIdMap * This,
+ /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
+
+
+void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */
+
+
+#ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
+#define __IRegisterServiceProvider_INTERFACE_DEFINED__
+
+/* interface IRegisterServiceProvider */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IRegisterServiceProvider;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7B3A2F01-0751-48DD-B556-004785171C54")
+ IRegisterServiceProvider : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE RegisterService(
+ /* [in] */ REFGUID guidService,
+ /* [in] */ IUnknown *pUnkObject) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IRegisterServiceProviderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IRegisterServiceProvider * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IRegisterServiceProvider * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IRegisterServiceProvider * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterService )(
+ IRegisterServiceProvider * This,
+ /* [in] */ REFGUID guidService,
+ /* [in] */ IUnknown *pUnkObject);
+
+ END_INTERFACE
+ } IRegisterServiceProviderVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IRegisterServiceProvider_RegisterService_Proxy(
+ IRegisterServiceProvider * This,
+ /* [in] */ REFGUID guidService,
+ /* [in] */ IUnknown *pUnkObject);
+
+
+void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IRegisterServiceProvider_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMClockSlave_INTERFACE_DEFINED__
+#define __IAMClockSlave_INTERFACE_DEFINED__
+
+/* interface IAMClockSlave */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMClockSlave;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9FD52741-176D-4b36-8F51-CA8F933223BE")
+ IAMClockSlave : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance(
+ /* [in] */ DWORD dwTolerance) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance(
+ /* [out] */ DWORD *pdwTolerance) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMClockSlaveVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMClockSlave * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMClockSlave * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMClockSlave * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetErrorTolerance )(
+ IAMClockSlave * This,
+ /* [in] */ DWORD dwTolerance);
+
+ HRESULT ( STDMETHODCALLTYPE *GetErrorTolerance )(
+ IAMClockSlave * This,
+ /* [out] */ DWORD *pdwTolerance);
+
+ END_INTERFACE
+ } IAMClockSlaveVtbl;
+
+ interface IAMClockSlave
+ {
+ CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMClockSlave_SetErrorTolerance(This,dwTolerance) \
+ (This)->lpVtbl -> SetErrorTolerance(This,dwTolerance)
+
+#define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) \
+ (This)->lpVtbl -> GetErrorTolerance(This,pdwTolerance)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy(
+ IAMClockSlave * This,
+ /* [in] */ DWORD dwTolerance);
+
+
+void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy(
+ IAMClockSlave * This,
+ /* [out] */ DWORD *pdwTolerance);
+
+
+void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMClockSlave_INTERFACE_DEFINED__ */
+
+
+#ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
+#define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
+
+/* interface IAMGraphBuilderCallback */
+/* [unique][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IAMGraphBuilderCallback;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79")
+ IAMGraphBuilderCallback : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SelectedFilter(
+ /* [in] */ IMoniker *pMon) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreatedFilter(
+ /* [in] */ IBaseFilter *pFil) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMGraphBuilderCallbackVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMGraphBuilderCallback * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMGraphBuilderCallback * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMGraphBuilderCallback * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectedFilter )(
+ IAMGraphBuilderCallback * This,
+ /* [in] */ IMoniker *pMon);
+
+ HRESULT ( STDMETHODCALLTYPE *CreatedFilter )(
+ IAMGraphBuilderCallback * This,
+ /* [in] */ IBaseFilter *pFil);
+
+ END_INTERFACE
+ } IAMGraphBuilderCallbackVtbl;
+
+ interface IAMGraphBuilderCallback
+ {
+ CONST_VTBL struct IAMGraphBuilderCallbackVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#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)
+
+
+#define IAMGraphBuilderCallback_SelectedFilter(This,pMon) \
+ (This)->lpVtbl -> SelectedFilter(This,pMon)
+
+#define IAMGraphBuilderCallback_CreatedFilter(This,pFil) \
+ (This)->lpVtbl -> CreatedFilter(This,pFil)
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_SelectedFilter_Proxy(
+ IAMGraphBuilderCallback * This,
+ /* [in] */ IMoniker *pMon);
+
+
+void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_CreatedFilter_Proxy(
+ IAMGraphBuilderCallback * This,
+ /* [in] */ IBaseFilter *pFil);
+
+
+void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0361 */
+/* [local] */
+
+#ifdef __cplusplus
+#ifndef _IAMFilterGraphCallback_
+#define _IAMFilterGraphCallback_
+// Note: Because this interface was not defined as a proper interface it is
+// supported under C++ only. Methods aren't stdcall.
+EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
+interface IAMFilterGraphCallback : public IUnknown
+{
+ // S_OK means rendering complete, S_FALSE means retry now.
+ virtual HRESULT UnableToRender(IPin *pPin) = 0;
+
+};
+#endif // _IAMFilterGraphCallback_
+#endif
+struct CodecAPIEventData
+ {
+ GUID guid;
+ DWORD dataLength;
+ DWORD reserved[ 3 ];
+ } ;
+
+
+
+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 __ICodecAPI_INTERFACE_DEFINED__
+#define __ICodecAPI_INTERFACE_DEFINED__
+
+/* interface ICodecAPI */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICodecAPI;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("901db4c7-31ce-41a2-85dc-8fa0bf41b8da")
+ ICodecAPI : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE IsSupported(
+ /* [in] */ const GUID *Api) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsModifiable(
+ /* [in] */ const GUID *Api) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetParameterRange(
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *ValueMin,
+ /* [out] */ VARIANT *ValueMax,
+ /* [out] */ VARIANT *SteppingDelta) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
+ /* [in] */ const GUID *Api,
+ /* [size_is][size_is][out] */ VARIANT **Values,
+ /* [out] */ ULONG *ValuesCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetValue(
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetValue(
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RegisterForEvent(
+ /* [in] */ const GUID *Api,
+ /* [in] */ LONG_PTR userData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnregisterForEvent(
+ /* [in] */ const GUID *Api) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAllDefaults( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetValueWithNotify(
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value,
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAllDefaultsWithNotify(
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAllSettings(
+ /* [in] */ IStream *__MIDL_0016) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAllSettings(
+ /* [in] */ IStream *__MIDL_0017) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAllSettingsWithNotify(
+ IStream *__MIDL_0018,
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct ICodecAPIVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICodecAPI * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICodecAPI * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICodecAPI * This);
+
+ HRESULT ( STDMETHODCALLTYPE *IsSupported )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api);
+
+ HRESULT ( STDMETHODCALLTYPE *IsModifiable )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api);
+
+ HRESULT ( STDMETHODCALLTYPE *GetParameterRange )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *ValueMin,
+ /* [out] */ VARIANT *ValueMax,
+ /* [out] */ VARIANT *SteppingDelta);
+
+ HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [size_is][size_is][out] */ VARIANT **Values,
+ /* [out] */ ULONG *ValuesCount);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetValue )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+ HRESULT ( STDMETHODCALLTYPE *SetValue )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value);
+
+ HRESULT ( STDMETHODCALLTYPE *RegisterForEvent )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ LONG_PTR userData);
+
+ HRESULT ( STDMETHODCALLTYPE *UnregisterForEvent )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAllDefaults )(
+ ICodecAPI * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetValueWithNotify )(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value,
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAllDefaultsWithNotify )(
+ ICodecAPI * This,
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAllSettings )(
+ ICodecAPI * This,
+ /* [in] */ IStream *__MIDL_0016);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAllSettings )(
+ ICodecAPI * This,
+ /* [in] */ IStream *__MIDL_0017);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAllSettingsWithNotify )(
+ ICodecAPI * This,
+ IStream *__MIDL_0018,
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount);
+
+ END_INTERFACE
+ } ICodecAPIVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_IsSupported_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api);
+
+
+void __RPC_STUB ICodecAPI_IsSupported_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_IsModifiable_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api);
+
+
+void __RPC_STUB ICodecAPI_IsModifiable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterRange_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *ValueMin,
+ /* [out] */ VARIANT *ValueMax,
+ /* [out] */ VARIANT *SteppingDelta);
+
+
+void __RPC_STUB ICodecAPI_GetParameterRange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterValues_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [size_is][size_is][out] */ VARIANT **Values,
+ /* [out] */ ULONG *ValuesCount);
+
+
+void __RPC_STUB ICodecAPI_GetParameterValues_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_GetDefaultValue_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+
+void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_GetValue_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+
+void __RPC_STUB ICodecAPI_GetValue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_SetValue_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value);
+
+
+void __RPC_STUB ICodecAPI_SetValue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_RegisterForEvent_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ LONG_PTR userData);
+
+
+void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_UnregisterForEvent_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api);
+
+
+void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaults_Proxy(
+ ICodecAPI * This);
+
+
+void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_SetValueWithNotify_Proxy(
+ ICodecAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value,
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount);
+
+
+void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaultsWithNotify_Proxy(
+ ICodecAPI * This,
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount);
+
+
+void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_GetAllSettings_Proxy(
+ ICodecAPI * This,
+ /* [in] */ IStream *__MIDL_0016);
+
+
+void __RPC_STUB ICodecAPI_GetAllSettings_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettings_Proxy(
+ ICodecAPI * This,
+ /* [in] */ IStream *__MIDL_0017);
+
+
+void __RPC_STUB ICodecAPI_SetAllSettings_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettingsWithNotify_Proxy(
+ ICodecAPI * This,
+ IStream *__MIDL_0018,
+ /* [size_is][size_is][out] */ GUID **ChangedParam,
+ /* [out] */ ULONG *ChangedParamCount);
+
+
+void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __ICodecAPI_INTERFACE_DEFINED__ */
+
+
+#ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
+#define __IGetCapabilitiesKey_INTERFACE_DEFINED__
+
+/* interface IGetCapabilitiesKey */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IGetCapabilitiesKey;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("a8809222-07bb-48ea-951c-33158100625b")
+ IGetCapabilitiesKey : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetCapabilitiesKey(
+ /* [out] */ HKEY *pHKey) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGetCapabilitiesKeyVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGetCapabilitiesKey * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGetCapabilitiesKey * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGetCapabilitiesKey * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCapabilitiesKey )(
+ IGetCapabilitiesKey * This,
+ /* [out] */ HKEY *pHKey);
+
+ END_INTERFACE
+ } IGetCapabilitiesKeyVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(
+ IGetCapabilitiesKey * This,
+ /* [out] */ HKEY *pHKey);
+
+
+void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IGetCapabilitiesKey_INTERFACE_DEFINED__ */
+
+
+#ifndef __IEncoderAPI_INTERFACE_DEFINED__
+#define __IEncoderAPI_INTERFACE_DEFINED__
+
+/* interface IEncoderAPI */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IEncoderAPI;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("70423839-6ACC-4b23-B079-21DBF08156A5")
+ IEncoderAPI : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE IsSupported(
+ /* [in] */ const GUID *Api) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsAvailable(
+ /* [in] */ const GUID *Api) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetParameterRange(
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *ValueMin,
+ /* [out] */ VARIANT *ValueMax,
+ /* [out] */ VARIANT *SteppingDelta) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
+ /* [in] */ const GUID *Api,
+ /* [size_is][size_is][out] */ VARIANT **Values,
+ /* [out] */ ULONG *ValuesCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetValue(
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetValue(
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IEncoderAPIVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IEncoderAPI * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IEncoderAPI * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IEncoderAPI * This);
+
+ HRESULT ( STDMETHODCALLTYPE *IsSupported )(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api);
+
+ HRESULT ( STDMETHODCALLTYPE *IsAvailable )(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api);
+
+ HRESULT ( STDMETHODCALLTYPE *GetParameterRange )(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *ValueMin,
+ /* [out] */ VARIANT *ValueMax,
+ /* [out] */ VARIANT *SteppingDelta);
+
+ HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [size_is][size_is][out] */ VARIANT **Values,
+ /* [out] */ ULONG *ValuesCount);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetValue )(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+ HRESULT ( STDMETHODCALLTYPE *SetValue )(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value);
+
+ END_INTERFACE
+ } IEncoderAPIVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IEncoderAPI_IsSupported_Proxy(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api);
+
+
+void __RPC_STUB IEncoderAPI_IsSupported_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEncoderAPI_IsAvailable_Proxy(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api);
+
+
+void __RPC_STUB IEncoderAPI_IsAvailable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterRange_Proxy(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *ValueMin,
+ /* [out] */ VARIANT *ValueMax,
+ /* [out] */ VARIANT *SteppingDelta);
+
+
+void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterValues_Proxy(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [size_is][size_is][out] */ VARIANT **Values,
+ /* [out] */ ULONG *ValuesCount);
+
+
+void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEncoderAPI_GetDefaultValue_Proxy(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+
+void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEncoderAPI_GetValue_Proxy(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+
+void __RPC_STUB IEncoderAPI_GetValue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IEncoderAPI_SetValue_Proxy(
+ IEncoderAPI * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value);
+
+
+void __RPC_STUB IEncoderAPI_SetValue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IEncoderAPI_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVideoEncoder_INTERFACE_DEFINED__
+#define __IVideoEncoder_INTERFACE_DEFINED__
+
+/* interface IVideoEncoder */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IVideoEncoder;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("02997C3B-8E1B-460e-9270-545E0DE9563E")
+ IVideoEncoder : public IEncoderAPI
+ {
+ public:
+ };
+
+#else /* C style interface */
+
+ typedef struct IVideoEncoderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVideoEncoder * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVideoEncoder * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVideoEncoder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *IsSupported )(
+ IVideoEncoder * This,
+ /* [in] */ const GUID *Api);
+
+ HRESULT ( STDMETHODCALLTYPE *IsAvailable )(
+ IVideoEncoder * This,
+ /* [in] */ const GUID *Api);
+
+ HRESULT ( STDMETHODCALLTYPE *GetParameterRange )(
+ IVideoEncoder * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *ValueMin,
+ /* [out] */ VARIANT *ValueMax,
+ /* [out] */ VARIANT *SteppingDelta);
+
+ HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
+ IVideoEncoder * This,
+ /* [in] */ const GUID *Api,
+ /* [size_is][size_is][out] */ VARIANT **Values,
+ /* [out] */ ULONG *ValuesCount);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
+ IVideoEncoder * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetValue )(
+ IVideoEncoder * This,
+ /* [in] */ const GUID *Api,
+ /* [out] */ VARIANT *Value);
+
+ HRESULT ( STDMETHODCALLTYPE *SetValue )(
+ IVideoEncoder * This,
+ /* [in] */ const GUID *Api,
+ /* [in] */ VARIANT *Value);
+
+ END_INTERFACE
+ } IVideoEncoderVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IVideoEncoder_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0365 */
+/* [local] */
+
+#ifndef __ENCODER_API_DEFINES__
+#define __ENCODER_API_DEFINES__
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0365_0001
+ { ConstantBitRate = 0,
+ VariableBitRateAverage = ConstantBitRate + 1,
+ VariableBitRatePeak = VariableBitRateAverage + 1
+ } VIDEOENCODER_BITRATE_MODE;
+
+#endif // __ENCODER_API_DEFINES__
+#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_0365_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec;
+
+#ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
+#define __IAMDecoderCaps_INTERFACE_DEFINED__
+
+/* interface IAMDecoderCaps */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IAMDecoderCaps;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("c0dff467-d499-4986-972b-e1d9090fa941")
+ IAMDecoderCaps : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(
+ /* [in] */ DWORD dwCapIndex,
+ /* [out] */ DWORD *lpdwCap) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IAMDecoderCapsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IAMDecoderCaps * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IAMDecoderCaps * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IAMDecoderCaps * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(
+ IAMDecoderCaps * This,
+ /* [in] */ DWORD dwCapIndex,
+ /* [out] */ DWORD *lpdwCap);
+
+ END_INTERFACE
+ } IAMDecoderCapsVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IAMDecoderCaps_GetDecoderCaps_Proxy(
+ IAMDecoderCaps * This,
+ /* [in] */ DWORD dwCapIndex,
+ /* [out] */ DWORD *lpdwCap);
+
+
+void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IAMDecoderCaps_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0366 */
+/* [local] */
+
+#include <ddraw.h>
+
+
+
+
+
+
+
+
+
+typedef
+enum tagDVD_DOMAIN
+ { DVD_DOMAIN_FirstPlay = 1,
+ DVD_DOMAIN_VideoManagerMenu = DVD_DOMAIN_FirstPlay + 1,
+ DVD_DOMAIN_VideoTitleSetMenu = DVD_DOMAIN_VideoManagerMenu + 1,
+ DVD_DOMAIN_Title = DVD_DOMAIN_VideoTitleSetMenu + 1,
+ DVD_DOMAIN_Stop = DVD_DOMAIN_Title + 1
+ } 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; // Hours
+ ULONG Hours10 :4; // Tens of Hours
+
+ ULONG Minutes1 :4; // Minutes
+ ULONG Minutes10:4; // Tens of Minutes
+
+ ULONG Seconds1 :4; // Seconds
+ ULONG Seconds10:4; // Tens of Seconds
+
+ ULONG Frames1 :4; // Frames
+ ULONG Frames10 :2; // Tens of Frames
+
+ ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
+} 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 /* [public] */
+enum __MIDL___MIDL_itf_strmif_0366_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 /* [public] */
+enum __MIDL___MIDL_itf_strmif_0366_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 /* [public][public] */
+enum __MIDL___MIDL_itf_strmif_0366_0003
+ { DVD_ResetOnStop = 1,
+ DVD_NotifyParentalLevelChange = 2,
+ DVD_HMSF_TimeCodeEvents = 3,
+ DVD_AudioDuringFFwdRew = 4
+ } DVD_OPTION_FLAG;
+
+typedef /* [public][public] */
+enum __MIDL___MIDL_itf_strmif_0366_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;
+ BOOL fHasMultichannelInfo;
+ DWORD dwFrequency;
+ BYTE bQuantization;
+ BYTE bNumberOfChannels;
+ DWORD dwReserved[ 2 ];
+ } DVD_AudioAttributes;
+
+typedef struct tagDVD_MUA_MixingInfo
+ {
+ BOOL fMixTo0;
+ BOOL fMixTo1;
+ BOOL fMix0InPhase;
+ BOOL 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;
+ BOOL fMasterOfCeremoniesInGuideVocal1;
+ BOOL 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
+ {
+ BOOL fPanscanPermitted;
+ BOOL fLetterboxPermitted;
+ ULONG ulAspectX;
+ ULONG ulAspectY;
+ ULONG ulFrameRate;
+ ULONG ulFrameHeight;
+ DVD_VIDEO_COMPRESSION Compression;
+ BOOL fLine21Field1InGOP;
+ BOOL fLine21Field2InGOP;
+ ULONG ulSourceResolutionX;
+ ULONG ulSourceResolutionY;
+ BOOL fIsSourceLetterboxed;
+ BOOL 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
+ {
+ BOOL fCompatibleRegion[ 8 ];
+ DVD_VideoAttributes VideoAttributes;
+ BOOL fAudioPresent;
+ DVD_AudioAttributes AudioAttributes;
+ BOOL fSubpicturePresent;
+ DVD_SubpictureAttributes SubpictureAttributes;
+ } DVD_MenuAttributes;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0366_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0366_v0_0_s_ifspec;
+
+#ifndef __IDvdControl_INTERFACE_DEFINED__
+#define __IDvdControl_INTERFACE_DEFINED__
+
+/* interface IDvdControl */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDvdControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")
+ IDvdControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE TitlePlay(
+ /* [in] */ ULONG ulTitle) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ChapterPlay(
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE TimePlay(
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG bcdTime) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE TimeSearch(
+ /* [in] */ ULONG bcdTime) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ChapterSearch(
+ /* [in] */ ULONG ulChapter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ForwardScan(
+ /* [in] */ double dwSpeed) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE BackwardScan(
+ /* [in] */ double dwSpeed) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE MenuCall(
+ /* [in] */ DVD_MENU_ID MenuID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate(
+ /* [in] */ ULONG ulButton) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect(
+ /* [in] */ LCID Language) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AudioStreamChange(
+ /* [in] */ ULONG ulAudio) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange(
+ /* [in] */ ULONG ulSubPicture,
+ /* [in] */ BOOL bDisplay) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AngleChange(
+ /* [in] */ ULONG ulAngle) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect(
+ /* [in] */ ULONG ulParentalLevel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect(
+ /* [in] */ WORD wCountry) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange(
+ /* [in] */ ULONG ulMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence(
+ /* [in] */ ULONG ulPreferredDisplayMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetRoot(
+ /* [in] */ LPCWSTR pszPath) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE MouseActivate(
+ /* [in] */ POINT point) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE MouseSelect(
+ /* [in] */ POINT point) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop(
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ ULONG ulChaptersToPlay) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDvdControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDvdControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDvdControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *TitlePlay )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulTitle);
+
+ HRESULT ( STDMETHODCALLTYPE *ChapterPlay )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter);
+
+ HRESULT ( STDMETHODCALLTYPE *TimePlay )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG bcdTime);
+
+ HRESULT ( STDMETHODCALLTYPE *StopForResume )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoUp )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *TimeSearch )(
+ IDvdControl * This,
+ /* [in] */ ULONG bcdTime);
+
+ HRESULT ( STDMETHODCALLTYPE *ChapterSearch )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulChapter);
+
+ HRESULT ( STDMETHODCALLTYPE *PrevPGSearch )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *TopPGSearch )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *NextPGSearch )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ForwardScan )(
+ IDvdControl * This,
+ /* [in] */ double dwSpeed);
+
+ HRESULT ( STDMETHODCALLTYPE *BackwardScan )(
+ IDvdControl * This,
+ /* [in] */ double dwSpeed);
+
+ HRESULT ( STDMETHODCALLTYPE *MenuCall )(
+ IDvdControl * This,
+ /* [in] */ DVD_MENU_ID MenuID);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *UpperButtonSelect )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *LowerButtonSelect )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *LeftButtonSelect )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RightButtonSelect )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ButtonActivate )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ButtonSelectAndActivate )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulButton);
+
+ HRESULT ( STDMETHODCALLTYPE *StillOff )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PauseOn )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PauseOff )(
+ IDvdControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *MenuLanguageSelect )(
+ IDvdControl * This,
+ /* [in] */ LCID Language);
+
+ HRESULT ( STDMETHODCALLTYPE *AudioStreamChange )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulAudio);
+
+ HRESULT ( STDMETHODCALLTYPE *SubpictureStreamChange )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulSubPicture,
+ /* [in] */ BOOL bDisplay);
+
+ HRESULT ( STDMETHODCALLTYPE *AngleChange )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulAngle);
+
+ HRESULT ( STDMETHODCALLTYPE *ParentalLevelSelect )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulParentalLevel);
+
+ HRESULT ( STDMETHODCALLTYPE *ParentalCountrySelect )(
+ IDvdControl * This,
+ /* [in] */ WORD wCountry);
+
+ HRESULT ( STDMETHODCALLTYPE *KaraokeAudioPresentationModeChange )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulMode);
+
+ HRESULT ( STDMETHODCALLTYPE *VideoModePreferrence )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulPreferredDisplayMode);
+
+ HRESULT ( STDMETHODCALLTYPE *SetRoot )(
+ IDvdControl * This,
+ /* [in] */ LPCWSTR pszPath);
+
+ HRESULT ( STDMETHODCALLTYPE *MouseActivate )(
+ IDvdControl * This,
+ /* [in] */ POINT point);
+
+ HRESULT ( STDMETHODCALLTYPE *MouseSelect )(
+ IDvdControl * This,
+ /* [in] */ POINT point);
+
+ HRESULT ( STDMETHODCALLTYPE *ChapterPlayAutoStop )(
+ IDvdControl * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ ULONG ulChaptersToPlay);
+
+ END_INTERFACE
+ } IDvdControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulTitle);
+
+
+void __RPC_STUB IDvdControl_TitlePlay_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter);
+
+
+void __RPC_STUB IDvdControl_ChapterPlay_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG bcdTime);
+
+
+void __RPC_STUB IDvdControl_TimePlay_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_StopForResume_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_GoUp_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG bcdTime);
+
+
+void __RPC_STUB IDvdControl_TimeSearch_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulChapter);
+
+
+void __RPC_STUB IDvdControl_ChapterSearch_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_PrevPGSearch_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_TopPGSearch_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_NextPGSearch_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy(
+ IDvdControl * This,
+ /* [in] */ double dwSpeed);
+
+
+void __RPC_STUB IDvdControl_ForwardScan_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy(
+ IDvdControl * This,
+ /* [in] */ double dwSpeed);
+
+
+void __RPC_STUB IDvdControl_BackwardScan_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy(
+ IDvdControl * This,
+ /* [in] */ DVD_MENU_ID MenuID);
+
+
+void __RPC_STUB IDvdControl_MenuCall_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_Resume_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_RightButtonSelect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_ButtonActivate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulButton);
+
+
+void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_StillOff_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_PauseOn_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy(
+ IDvdControl * This);
+
+
+void __RPC_STUB IDvdControl_PauseOff_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy(
+ IDvdControl * This,
+ /* [in] */ LCID Language);
+
+
+void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulAudio);
+
+
+void __RPC_STUB IDvdControl_AudioStreamChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulSubPicture,
+ /* [in] */ BOOL bDisplay);
+
+
+void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulAngle);
+
+
+void __RPC_STUB IDvdControl_AngleChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulParentalLevel);
+
+
+void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy(
+ IDvdControl * This,
+ /* [in] */ WORD wCountry);
+
+
+void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulMode);
+
+
+void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulPreferredDisplayMode);
+
+
+void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy(
+ IDvdControl * This,
+ /* [in] */ LPCWSTR pszPath);
+
+
+void __RPC_STUB IDvdControl_SetRoot_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy(
+ IDvdControl * This,
+ /* [in] */ POINT point);
+
+
+void __RPC_STUB IDvdControl_MouseActivate_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy(
+ IDvdControl * This,
+ /* [in] */ POINT point);
+
+
+void __RPC_STUB IDvdControl_MouseSelect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy(
+ IDvdControl * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ ULONG ulChaptersToPlay);
+
+
+void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDvdControl_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDvdInfo_INTERFACE_DEFINED__
+#define __IDvdInfo_INTERFACE_DEFINED__
+
+/* interface IDvdInfo */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDvdInfo;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")
+ IDvdInfo : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain(
+ /* [out] */ DVD_DOMAIN *pDomain) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(
+ /* [out] */ DVD_PLAYBACK_LOCATION *pLocation) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(
+ /* [out] */ ULONG *pulTotalTime) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(
+ /* [out] */ ULONG *pulButtonsAvailable,
+ /* [out] */ ULONG *pulCurrentButton) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(
+ /* [out] */ ULONG *pulAnglesAvailable,
+ /* [out] */ ULONG *pulCurrentAngle) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream,
+ /* [out] */ BOOL *pIsDisabled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(
+ /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(
+ /* [out] */ SPRMARRAY *pRegisterArray) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(
+ /* [out] */ GPRMARRAY *pRegisterArray) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ DVD_ATR *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(
+ /* [out] */ DVD_ATR *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(
+ /* [out] */ DVD_VideoATR *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes(
+ /* [out] */ DVD_AudioATR *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes(
+ /* [out] */ DVD_SubpictureATR *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo(
+ /* [out] */ ULONG *pulNumOfVol,
+ /* [out] */ ULONG *pulThisVolNum,
+ /* [out] */ DVD_DISC_SIDE *pSide,
+ /* [out] */ ULONG *pulNumOfTitles) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo(
+ /* [size_is][out] */ BYTE *pTextManager,
+ /* [in] */ ULONG ulBufSize,
+ /* [out] */ ULONG *pulActualSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(
+ /* [out] */ ULONG *pulParentalLevel,
+ /* [out] */ ULONG *pulCountryCode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulNumberOfChapters) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulParentalLevels) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRoot(
+ /* [size_is][out] */ LPSTR pRoot,
+ /* [in] */ ULONG ulBufSize,
+ /* [out] */ ULONG *pulActualSize) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDvdInfoVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDvdInfo * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDvdInfo * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDvdInfo * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(
+ IDvdInfo * This,
+ /* [out] */ DVD_DOMAIN *pDomain);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(
+ IDvdInfo * This,
+ /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulTotalTime);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulButtonsAvailable,
+ /* [out] */ ULONG *pulCurrentButton);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulAnglesAvailable,
+ /* [out] */ ULONG *pulCurrentAngle);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream,
+ /* [out] */ BOOL *pIsDisabled);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(
+ IDvdInfo * This,
+ /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(
+ IDvdInfo * This,
+ /* [out] */ SPRMARRAY *pRegisterArray);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(
+ IDvdInfo * This,
+ /* [out] */ GPRMARRAY *pRegisterArray);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ DVD_ATR *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(
+ IDvdInfo * This,
+ /* [out] */ DVD_ATR *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(
+ IDvdInfo * This,
+ /* [out] */ DVD_VideoATR *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )(
+ IDvdInfo * This,
+ /* [out] */ DVD_AudioATR *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )(
+ IDvdInfo * This,
+ /* [out] */ DVD_SubpictureATR *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulNumOfVol,
+ /* [out] */ ULONG *pulThisVolNum,
+ /* [out] */ DVD_DISC_SIDE *pSide,
+ /* [out] */ ULONG *pulNumOfTitles);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )(
+ IDvdInfo * This,
+ /* [size_is][out] */ BYTE *pTextManager,
+ /* [in] */ ULONG ulBufSize,
+ /* [out] */ ULONG *pulActualSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulParentalLevel,
+ /* [out] */ ULONG *pulCountryCode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulNumberOfChapters);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulParentalLevels);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRoot )(
+ IDvdInfo * This,
+ /* [size_is][out] */ LPSTR pRoot,
+ /* [in] */ ULONG ulBufSize,
+ /* [out] */ ULONG *pulActualSize);
+
+ END_INTERFACE
+ } IDvdInfoVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy(
+ IDvdInfo * This,
+ /* [out] */ DVD_DOMAIN *pDomain);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy(
+ IDvdInfo * This,
+ /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulTotalTime);
+
+
+void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulButtonsAvailable,
+ /* [out] */ ULONG *pulCurrentButton);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulAnglesAvailable,
+ /* [out] */ ULONG *pulCurrentAngle);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream,
+ /* [out] */ BOOL *pIsDisabled);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy(
+ IDvdInfo * This,
+ /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy(
+ IDvdInfo * This,
+ /* [out] */ SPRMARRAY *pRegisterArray);
+
+
+void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy(
+ IDvdInfo * This,
+ /* [out] */ GPRMARRAY *pRegisterArray);
+
+
+void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage);
+
+
+void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage);
+
+
+void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ DVD_ATR *pATR);
+
+
+void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy(
+ IDvdInfo * This,
+ /* [out] */ DVD_ATR *pATR);
+
+
+void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy(
+ IDvdInfo * This,
+ /* [out] */ DVD_VideoATR *pATR);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy(
+ IDvdInfo * This,
+ /* [out] */ DVD_AudioATR *pATR);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy(
+ IDvdInfo * This,
+ /* [out] */ DVD_SubpictureATR *pATR);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulNumOfVol,
+ /* [out] */ ULONG *pulThisVolNum,
+ /* [out] */ DVD_DISC_SIDE *pSide,
+ /* [out] */ ULONG *pulNumOfTitles);
+
+
+void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy(
+ IDvdInfo * This,
+ /* [size_is][out] */ BYTE *pTextManager,
+ /* [in] */ ULONG ulBufSize,
+ /* [out] */ ULONG *pulActualSize);
+
+
+void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy(
+ IDvdInfo * This,
+ /* [out] */ ULONG *pulParentalLevel,
+ /* [out] */ ULONG *pulCountryCode);
+
+
+void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulNumberOfChapters);
+
+
+void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy(
+ IDvdInfo * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulParentalLevels);
+
+
+void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy(
+ IDvdInfo * This,
+ /* [size_is][out] */ LPSTR pRoot,
+ /* [in] */ ULONG ulBufSize,
+ /* [out] */ ULONG *pulActualSize);
+
+
+void __RPC_STUB IDvdInfo_GetRoot_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDvdInfo_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDvdCmd_INTERFACE_DEFINED__
+#define __IDvdCmd_INTERFACE_DEFINED__
+
+/* interface IDvdCmd */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDvdCmd;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5a4a97e4-94ee-4a55-9751-74b5643aa27d")
+ IDvdCmd : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE WaitForStart( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE WaitForEnd( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDvdCmdVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDvdCmd * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDvdCmd * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDvdCmd * This);
+
+ HRESULT ( STDMETHODCALLTYPE *WaitForStart )(
+ IDvdCmd * This);
+
+ HRESULT ( STDMETHODCALLTYPE *WaitForEnd )(
+ IDvdCmd * This);
+
+ END_INTERFACE
+ } IDvdCmdVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForStart_Proxy(
+ IDvdCmd * This);
+
+
+void __RPC_STUB IDvdCmd_WaitForStart_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForEnd_Proxy(
+ IDvdCmd * This);
+
+
+void __RPC_STUB IDvdCmd_WaitForEnd_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDvdCmd_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDvdState_INTERFACE_DEFINED__
+#define __IDvdState_INTERFACE_DEFINED__
+
+/* interface IDvdState */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDvdState;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("86303d6d-1c4a-4087-ab42-f711167048ef")
+ IDvdState : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetDiscID(
+ /* [out] */ ULONGLONG *pullUniqueID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetParentalLevel(
+ /* [out] */ ULONG *pulParentalLevel) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDvdStateVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDvdState * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDvdState * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDvdState * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDiscID )(
+ IDvdState * This,
+ /* [out] */ ULONGLONG *pullUniqueID);
+
+ HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )(
+ IDvdState * This,
+ /* [out] */ ULONG *pulParentalLevel);
+
+ END_INTERFACE
+ } IDvdStateVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDvdState_GetDiscID_Proxy(
+ IDvdState * This,
+ /* [out] */ ULONGLONG *pullUniqueID);
+
+
+void __RPC_STUB IDvdState_GetDiscID_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdState_GetParentalLevel_Proxy(
+ IDvdState * This,
+ /* [out] */ ULONG *pulParentalLevel);
+
+
+void __RPC_STUB IDvdState_GetParentalLevel_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDvdState_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDvdControl2_INTERFACE_DEFINED__
+#define __IDvdControl2_INTERFACE_DEFINED__
+
+/* interface IDvdControl2 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDvdControl2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("33BC7430-EEC0-11D2-8201-00A0C9D74842")
+ IDvdControl2 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE PlayTitle(
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle(
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle(
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu(
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayAtTime(
+ /* [in] */ DVD_HMSF_TIMECODE *pTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayChapter(
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter(
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReplayChapter(
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayNextChapter(
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayForwards(
+ /* [in] */ double dSpeed,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayBackwards(
+ /* [in] */ double dSpeed,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ShowMenu(
+ /* [in] */ DVD_MENU_ID MenuID,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Resume(
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectRelativeButton(
+ DVD_RELATIVE_BUTTON buttonDir) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectButton(
+ /* [in] */ ULONG ulButton) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectAndActivateButton(
+ /* [in] */ ULONG ulButton) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Pause(
+ /* [in] */ BOOL bState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectAudioStream(
+ /* [in] */ ULONG ulAudio,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream(
+ /* [in] */ ULONG ulSubPicture,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetSubpictureState(
+ /* [in] */ BOOL bState,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectAngle(
+ /* [in] */ ULONG ulAngle,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectParentalLevel(
+ /* [in] */ ULONG ulParentalLevel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectParentalCountry(
+ /* [in] */ BYTE bCountry[ 2 ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectKaraokeAudioPresentationMode(
+ /* [in] */ ULONG ulMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectVideoModePreference(
+ /* [in] */ ULONG ulPreferredDisplayMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDVDDirectory(
+ /* [in] */ LPCWSTR pszwPath) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ActivateAtPosition(
+ /* [in] */ POINT point) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectAtPosition(
+ /* [in] */ POINT point) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop(
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ ULONG ulChaptersToPlay,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange(
+ /* [in] */ BOOL bAccept) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetOption(
+ /* [in] */ DVD_OPTION_FLAG flag,
+ /* [in] */ BOOL fState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetState(
+ /* [in] */ IDvdState *pState,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop(
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
+ /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetGPRM(
+ /* [in] */ ULONG ulIndex,
+ /* [in] */ WORD wValue,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectDefaultMenuLanguage(
+ /* [in] */ LCID Language) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage(
+ /* [in] */ LCID Language,
+ /* [in] */ DVD_AUDIO_LANG_EXT audioExtension) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage(
+ /* [in] */ LCID Language,
+ /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDvdControl2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDvdControl2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDvdControl2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDvdControl2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayTitle )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ IDvdControl2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayAtTime )(
+ IDvdControl2 * This,
+ /* [in] */ DVD_HMSF_TIMECODE *pTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayChapter )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *ReplayChapter )(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayForwards )(
+ IDvdControl2 * This,
+ /* [in] */ double dSpeed,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayBackwards )(
+ IDvdControl2 * This,
+ /* [in] */ double dSpeed,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *ShowMenu )(
+ IDvdControl2 * This,
+ /* [in] */ DVD_MENU_ID MenuID,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectRelativeButton )(
+ IDvdControl2 * This,
+ DVD_RELATIVE_BUTTON buttonDir);
+
+ HRESULT ( STDMETHODCALLTYPE *ActivateButton )(
+ IDvdControl2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectButton )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulButton);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulButton);
+
+ HRESULT ( STDMETHODCALLTYPE *StillOff )(
+ IDvdControl2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Pause )(
+ IDvdControl2 * This,
+ /* [in] */ BOOL bState);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectAudioStream )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulAudio,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulSubPicture,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )(
+ IDvdControl2 * This,
+ /* [in] */ BOOL bState,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectAngle )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulAngle,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulParentalLevel);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )(
+ IDvdControl2 * This,
+ /* [in] */ BYTE bCountry[ 2 ]);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectKaraokeAudioPresentationMode )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulMode);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectVideoModePreference )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulPreferredDisplayMode);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDVDDirectory )(
+ IDvdControl2 * This,
+ /* [in] */ LPCWSTR pszwPath);
+
+ HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )(
+ IDvdControl2 * This,
+ /* [in] */ POINT point);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )(
+ IDvdControl2 * This,
+ /* [in] */ POINT point);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ ULONG ulChaptersToPlay,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )(
+ IDvdControl2 * This,
+ /* [in] */ BOOL bAccept);
+
+ HRESULT ( STDMETHODCALLTYPE *SetOption )(
+ IDvdControl2 * This,
+ /* [in] */ DVD_OPTION_FLAG flag,
+ /* [in] */ BOOL fState);
+
+ HRESULT ( STDMETHODCALLTYPE *SetState )(
+ IDvdControl2 * This,
+ /* [in] */ IDvdState *pState,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
+ /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *SetGPRM )(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulIndex,
+ /* [in] */ WORD wValue,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectDefaultMenuLanguage )(
+ IDvdControl2 * This,
+ /* [in] */ LCID Language);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )(
+ IDvdControl2 * This,
+ /* [in] */ LCID Language,
+ /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
+
+ HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )(
+ IDvdControl2 * This,
+ /* [in] */ LCID Language,
+ /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
+
+ END_INTERFACE
+ } IDvdControl2Vtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayTitle_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayTitle_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapterInTitle_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTimeInTitle_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_Stop_Proxy(
+ IDvdControl2 * This);
+
+
+void __RPC_STUB IDvdControl2_Stop_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_ReturnFromSubmenu_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTime_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ DVD_HMSF_TIMECODE *pTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayAtTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapter_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayChapter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPrevChapter_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_ReplayChapter_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_ReplayChapter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayNextChapter_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayForwards_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ double dSpeed,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayForwards_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayBackwards_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ double dSpeed,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayBackwards_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_ShowMenu_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ DVD_MENU_ID MenuID,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_ShowMenu_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_Resume_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_Resume_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IDvdControl2_ActivateButton_Proxy(
+ IDvdControl2 * This);
+
+
+void __RPC_STUB IDvdControl2_ActivateButton_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectButton_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulButton);
+
+
+void __RPC_STUB IDvdControl2_SelectButton_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAndActivateButton_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulButton);
+
+
+void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_StillOff_Proxy(
+ IDvdControl2 * This);
+
+
+void __RPC_STUB IDvdControl2_StillOff_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_Pause_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ BOOL bState);
+
+
+void __RPC_STUB IDvdControl2_Pause_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAudioStream_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulAudio,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectSubpictureStream_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulSubPicture,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SetSubpictureState_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ BOOL bState,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAngle_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulAngle,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_SelectAngle_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalLevel_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulParentalLevel);
+
+
+void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalCountry_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ BYTE bCountry[ 2 ]);
+
+
+void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulMode);
+
+
+void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectVideoModePreference_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulPreferredDisplayMode);
+
+
+void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SetDVDDirectory_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ LPCWSTR pszwPath);
+
+
+void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateAtPosition_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ POINT point);
+
+
+void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAtPosition_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ POINT point);
+
+
+void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChaptersAutoStop_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ ULONG ulChapter,
+ /* [in] */ ULONG ulChaptersToPlay,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_AcceptParentalLevelChange_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ BOOL bAccept);
+
+
+void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SetOption_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ DVD_OPTION_FLAG flag,
+ /* [in] */ BOOL fState);
+
+
+void __RPC_STUB IDvdControl2_SetOption_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SetState_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ IDvdState *pState,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_SetState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
+ /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SetGPRM_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ ULONG ulIndex,
+ /* [in] */ WORD wValue,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ IDvdCmd **ppCmd);
+
+
+void __RPC_STUB IDvdControl2_SetGPRM_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultMenuLanguage_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ LCID Language);
+
+
+void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultAudioLanguage_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ LCID Language,
+ /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
+
+
+void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(
+ IDvdControl2 * This,
+ /* [in] */ LCID Language,
+ /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
+
+
+void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDvdControl2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0377 */
+/* [local] */
+
+
+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_0377_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0377_v0_0_s_ifspec;
+
+#ifndef __IDvdInfo2_INTERFACE_DEFINED__
+#define __IDvdInfo2_INTERFACE_DEFINED__
+
+/* interface IDvdInfo2 */
+/* [unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IDvdInfo2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("34151510-EEC0-11D2-8201-00A0C9D74842")
+ IDvdInfo2 : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain(
+ /* [out] */ DVD_DOMAIN *pDomain) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(
+ /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(
+ /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
+ /* [out] */ ULONG *ulTimeCodeFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(
+ /* [out] */ ULONG *pulButtonsAvailable,
+ /* [out] */ ULONG *pulCurrentButton) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(
+ /* [out] */ ULONG *pulAnglesAvailable,
+ /* [out] */ ULONG *pulCurrentAngle) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream,
+ /* [out] */ BOOL *pbIsDisabled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(
+ /* [out] */ ULONG *pulUOPs) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(
+ /* [out] */ SPRMARRAY *pRegisterArray) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(
+ /* [out] */ GPRMARRAY *pRegisterArray) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ DVD_MenuAttributes *pMenu,
+ /* [out] */ DVD_TitleAttributes *pTitle) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(
+ /* [out] */ DVD_MenuAttributes *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(
+ /* [out] */ DVD_VideoAttributes *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes(
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_AudioAttributes *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes(
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_KaraokeAttributes *pAttributes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes(
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_SubpictureAttributes *pATR) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo(
+ /* [out] */ ULONG *pulNumOfVolumes,
+ /* [out] */ ULONG *pulVolume,
+ /* [out] */ DVD_DISC_SIDE *pSide,
+ /* [out] */ ULONG *pulNumOfTitles) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages(
+ /* [out] */ ULONG *pulNumOfLangs) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo(
+ /* [in] */ ULONG ulLangIndex,
+ /* [out] */ ULONG *pulNumOfStrings,
+ /* [out] */ LCID *pLangCode,
+ /* [out] */ enum DVD_TextCharSet *pbCharacterSet) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative(
+ /* [in] */ ULONG ulLangIndex,
+ /* [in] */ ULONG ulStringIndex,
+ /* [out] */ BYTE *pbBuffer,
+ /* [in] */ ULONG ulMaxBufferSize,
+ /* [out] */ ULONG *pulActualSize,
+ /* [out] */ enum DVD_TextStringType *pType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode(
+ /* [in] */ ULONG ulLangIndex,
+ /* [in] */ ULONG ulStringIndex,
+ /* [out] */ WCHAR *pchwBuffer,
+ /* [in] */ ULONG ulMaxBufferSize,
+ /* [out] */ ULONG *pulActualSize,
+ /* [out] */ enum DVD_TextStringType *pType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(
+ /* [out] */ ULONG *pulParentalLevel,
+ /* [out] */ BYTE pbCountryCode[ 2 ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulNumOfChapters) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulParentalLevels) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory(
+ /* [size_is][out] */ LPWSTR pszwPath,
+ /* [in] */ ULONG ulMaxSize,
+ /* [out] */ ULONG *pulActualSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled(
+ /* [in] */ ULONG ulStreamNum,
+ /* [out] */ BOOL *pbEnabled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDiscID(
+ /* [in] */ LPCWSTR pszwPath,
+ /* [out] */ ULONGLONG *pullDiscID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetState(
+ /* [out] */ IDvdState **pStateData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages(
+ /* [out] */ LCID *pLanguages,
+ /* [in] */ ULONG ulMaxLanguages,
+ /* [out] */ ULONG *pulActualLanguages) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition(
+ /* [in] */ POINT point,
+ /* [out] */ ULONG *pulButtonIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent(
+ /* [in] */ LONG_PTR lParam1,
+ /* [out] */ IDvdCmd **pCmdObj) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage(
+ /* [out] */ LCID *pLanguage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage(
+ /* [out] */ LCID *pLanguage,
+ /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage(
+ /* [out] */ LCID *pLanguage,
+ /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(
+ /* [out] */ DVD_DECODER_CAPS *pCaps) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetButtonRect(
+ /* [in] */ ULONG ulButton,
+ /* [out] */ RECT *pRect) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled(
+ /* [in] */ ULONG ulStreamNum,
+ /* [out] */ BOOL *pbEnabled) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDvdInfo2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDvdInfo2 * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDvdInfo2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDvdInfo2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_DOMAIN *pDomain);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
+ /* [out] */ ULONG *ulTimeCodeFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulButtonsAvailable,
+ /* [out] */ ULONG *pulCurrentButton);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulAnglesAvailable,
+ /* [out] */ ULONG *pulCurrentAngle);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream,
+ /* [out] */ BOOL *pbIsDisabled);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulUOPs);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(
+ IDvdInfo2 * This,
+ /* [out] */ SPRMARRAY *pRegisterArray);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(
+ IDvdInfo2 * This,
+ /* [out] */ GPRMARRAY *pRegisterArray);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ DVD_MenuAttributes *pMenu,
+ /* [out] */ DVD_TitleAttributes *pTitle);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_MenuAttributes *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_VideoAttributes *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_AudioAttributes *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_KaraokeAttributes *pAttributes);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_SubpictureAttributes *pATR);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulNumOfVolumes,
+ /* [out] */ ULONG *pulVolume,
+ /* [out] */ DVD_DISC_SIDE *pSide,
+ /* [out] */ ULONG *pulNumOfTitles);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulNumOfLangs);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulLangIndex,
+ /* [out] */ ULONG *pulNumOfStrings,
+ /* [out] */ LCID *pLangCode,
+ /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulLangIndex,
+ /* [in] */ ULONG ulStringIndex,
+ /* [out] */ BYTE *pbBuffer,
+ /* [in] */ ULONG ulMaxBufferSize,
+ /* [out] */ ULONG *pulActualSize,
+ /* [out] */ enum DVD_TextStringType *pType);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulLangIndex,
+ /* [in] */ ULONG ulStringIndex,
+ /* [out] */ WCHAR *pchwBuffer,
+ /* [in] */ ULONG ulMaxBufferSize,
+ /* [out] */ ULONG *pulActualSize,
+ /* [out] */ enum DVD_TextStringType *pType);
+
+ HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulParentalLevel,
+ /* [out] */ BYTE pbCountryCode[ 2 ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulNumOfChapters);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulParentalLevels);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )(
+ IDvdInfo2 * This,
+ /* [size_is][out] */ LPWSTR pszwPath,
+ /* [in] */ ULONG ulMaxSize,
+ /* [out] */ ULONG *pulActualSize);
+
+ HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStreamNum,
+ /* [out] */ BOOL *pbEnabled);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDiscID )(
+ IDvdInfo2 * This,
+ /* [in] */ LPCWSTR pszwPath,
+ /* [out] */ ULONGLONG *pullDiscID);
+
+ HRESULT ( STDMETHODCALLTYPE *GetState )(
+ IDvdInfo2 * This,
+ /* [out] */ IDvdState **pStateData);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )(
+ IDvdInfo2 * This,
+ /* [out] */ LCID *pLanguages,
+ /* [in] */ ULONG ulMaxLanguages,
+ /* [out] */ ULONG *pulActualLanguages);
+
+ HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )(
+ IDvdInfo2 * This,
+ /* [in] */ POINT point,
+ /* [out] */ ULONG *pulButtonIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )(
+ IDvdInfo2 * This,
+ /* [in] */ LONG_PTR lParam1,
+ /* [out] */ IDvdCmd **pCmdObj);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )(
+ IDvdInfo2 * This,
+ /* [out] */ LCID *pLanguage);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )(
+ IDvdInfo2 * This,
+ /* [out] */ LCID *pLanguage,
+ /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )(
+ IDvdInfo2 * This,
+ /* [out] */ LCID *pLanguage,
+ /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_DECODER_CAPS *pCaps);
+
+ HRESULT ( STDMETHODCALLTYPE *GetButtonRect )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulButton,
+ /* [out] */ RECT *pRect);
+
+ HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStreamNum,
+ /* [out] */ BOOL *pbEnabled);
+
+ END_INTERFACE
+ } IDvdInfo2Vtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentDomain_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_DOMAIN *pDomain);
+
+
+void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentLocation_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
+
+
+void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTotalTitleTime_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
+ /* [out] */ ULONG *ulTimeCodeFlags);
+
+
+void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentButton_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulButtonsAvailable,
+ /* [out] */ ULONG *pulCurrentButton);
+
+
+void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAngle_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulAnglesAvailable,
+ /* [out] */ ULONG *pulCurrentAngle);
+
+
+void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAudio_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream);
+
+
+void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentSubpicture_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulStreamsAvailable,
+ /* [out] */ ULONG *pulCurrentStream,
+ /* [out] */ BOOL *pbIsDisabled);
+
+
+void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentUOPS_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulUOPs);
+
+
+void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllSPRMs_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ SPRMARRAY *pRegisterArray);
+
+
+void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllGPRMs_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ GPRMARRAY *pRegisterArray);
+
+
+void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioLanguage_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage);
+
+
+void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureLanguage_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ LCID *pLanguage);
+
+
+void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleAttributes_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ DVD_MenuAttributes *pMenu,
+ /* [out] */ DVD_TitleAttributes *pTitle);
+
+
+void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetVMGAttributes_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_MenuAttributes *pATR);
+
+
+void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentVideoAttributes_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_VideoAttributes *pATR);
+
+
+void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioAttributes_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_AudioAttributes *pATR);
+
+
+void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetKaraokeAttributes_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_KaraokeAttributes *pAttributes);
+
+
+void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureAttributes_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStream,
+ /* [out] */ DVD_SubpictureAttributes *pATR);
+
+
+void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDVolumeInfo_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulNumOfVolumes,
+ /* [out] */ ULONG *pulVolume,
+ /* [out] */ DVD_DISC_SIDE *pSide,
+ /* [out] */ ULONG *pulNumOfTitles);
+
+
+void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulNumOfLangs);
+
+
+void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextLanguageInfo_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulLangIndex,
+ /* [out] */ ULONG *pulNumOfStrings,
+ /* [out] */ LCID *pLangCode,
+ /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
+
+
+void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsNative_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulLangIndex,
+ /* [in] */ ULONG ulStringIndex,
+ /* [out] */ BYTE *pbBuffer,
+ /* [in] */ ULONG ulMaxBufferSize,
+ /* [out] */ ULONG *pulActualSize,
+ /* [out] */ enum DVD_TextStringType *pType);
+
+
+void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulLangIndex,
+ /* [in] */ ULONG ulStringIndex,
+ /* [out] */ WCHAR *pchwBuffer,
+ /* [in] */ ULONG ulMaxBufferSize,
+ /* [out] */ ULONG *pulActualSize,
+ /* [out] */ enum DVD_TextStringType *pType);
+
+
+void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetPlayerParentalLevel_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ ULONG *pulParentalLevel,
+ /* [out] */ BYTE pbCountryCode[ 2 ]);
+
+
+void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetNumberOfChapters_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulNumOfChapters);
+
+
+void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleParentalLevels_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulTitle,
+ /* [out] */ ULONG *pulParentalLevels);
+
+
+void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDDirectory_Proxy(
+ IDvdInfo2 * This,
+ /* [size_is][out] */ LPWSTR pszwPath,
+ /* [in] */ ULONG ulMaxSize,
+ /* [out] */ ULONG *pulActualSize);
+
+
+void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_IsAudioStreamEnabled_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStreamNum,
+ /* [out] */ BOOL *pbEnabled);
+
+
+void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDiscID_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ LPCWSTR pszwPath,
+ /* [out] */ ULONGLONG *pullDiscID);
+
+
+void __RPC_STUB IDvdInfo2_GetDiscID_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetState_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ IDvdState **pStateData);
+
+
+void __RPC_STUB IDvdInfo2_GetState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetMenuLanguages_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ LCID *pLanguages,
+ /* [in] */ ULONG ulMaxLanguages,
+ /* [out] */ ULONG *pulActualLanguages);
+
+
+void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonAtPosition_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ POINT point,
+ /* [out] */ ULONG *pulButtonIndex);
+
+
+void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCmdFromEvent_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ LONG_PTR lParam1,
+ /* [out] */ IDvdCmd **pCmdObj);
+
+
+void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultMenuLanguage_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ LCID *pLanguage);
+
+
+void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultAudioLanguage_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ LCID *pLanguage,
+ /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
+
+
+void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ LCID *pLanguage,
+ /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
+
+
+void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDecoderCaps_Proxy(
+ IDvdInfo2 * This,
+ /* [out] */ DVD_DECODER_CAPS *pCaps);
+
+
+void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonRect_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulButton,
+ /* [out] */ RECT *pRect);
+
+
+void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdInfo2_IsSubpictureStreamEnabled_Proxy(
+ IDvdInfo2 * This,
+ /* [in] */ ULONG ulStreamNum,
+ /* [out] */ BOOL *pbEnabled);
+
+
+void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDvdInfo2_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0379 */
+/* [local] */
+
+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 /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0379_0001
+ {
+ HRESULT hrVPEStatus;
+ BOOL bDvdVolInvalid;
+ BOOL bDvdVolUnknown;
+ BOOL bNoLine21In;
+ BOOL bNoLine21Out;
+ int iNumStreams;
+ int iNumStreamsFailed;
+ DWORD dwFailedStreamsFlag;
+ } AM_DVD_RENDERSTATUS;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0379_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0379_v0_0_s_ifspec;
+
+#ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
+#define __IDvdGraphBuilder_INTERFACE_DEFINED__
+
+/* interface IDvdGraphBuilder */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IDvdGraphBuilder;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")
+ IDvdGraphBuilder : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
+ /* [out] */ IGraphBuilder **ppGB) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDvdInterface(
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppvIF) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume(
+ /* [in] */ LPCWSTR lpcwszPathName,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ AM_DVD_RENDERSTATUS *pStatus) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDvdGraphBuilderVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDvdGraphBuilder * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDvdGraphBuilder * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDvdGraphBuilder * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
+ IDvdGraphBuilder * This,
+ /* [out] */ IGraphBuilder **ppGB);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )(
+ IDvdGraphBuilder * This,
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppvIF);
+
+ HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )(
+ IDvdGraphBuilder * This,
+ /* [in] */ LPCWSTR lpcwszPathName,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
+
+ END_INTERFACE
+ } IDvdGraphBuilderVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy(
+ IDvdGraphBuilder * This,
+ /* [out] */ IGraphBuilder **ppGB);
+
+
+void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy(
+ IDvdGraphBuilder * This,
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppvIF);
+
+
+void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(
+ IDvdGraphBuilder * This,
+ /* [in] */ LPCWSTR lpcwszPathName,
+ /* [in] */ DWORD dwFlags,
+ /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
+
+
+void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDvdGraphBuilder_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
+#define __IDDrawExclModeVideo_INTERFACE_DEFINED__
+
+/* interface IDDrawExclModeVideo */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IDDrawExclModeVideo;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")
+ IDDrawExclModeVideo : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetDDrawObject(
+ /* [in] */ IDirectDraw *pDDrawObject) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDDrawObject(
+ /* [out] */ IDirectDraw **ppDDrawObject,
+ /* [out] */ BOOL *pbUsingExternal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface(
+ /* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface(
+ /* [out] */ IDirectDrawSurface **ppDDrawSurface,
+ /* [out] */ BOOL *pbUsingExternal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDrawParameters(
+ /* [in] */ const RECT *prcSource,
+ /* [in] */ const RECT *prcTarget) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps(
+ /* [out] */ DWORD *pdwVideoWidth,
+ /* [out] */ DWORD *pdwVideoHeight,
+ /* [out] */ DWORD *pdwPictAspectRatioX,
+ /* [out] */ DWORD *pdwPictAspectRatioY) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface(
+ /* [in] */ IDDrawExclModeVideoCallback *pCallback,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDDrawExclModeVideoVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDDrawExclModeVideo * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDDrawExclModeVideo * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDDrawExclModeVideo * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDDrawObject )(
+ IDDrawExclModeVideo * This,
+ /* [in] */ IDirectDraw *pDDrawObject);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDDrawObject )(
+ IDDrawExclModeVideo * This,
+ /* [out] */ IDirectDraw **ppDDrawObject,
+ /* [out] */ BOOL *pbUsingExternal);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )(
+ IDDrawExclModeVideo * This,
+ /* [in] */ IDirectDrawSurface *pDDrawSurface);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )(
+ IDDrawExclModeVideo * This,
+ /* [out] */ IDirectDrawSurface **ppDDrawSurface,
+ /* [out] */ BOOL *pbUsingExternal);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )(
+ IDDrawExclModeVideo * This,
+ /* [in] */ const RECT *prcSource,
+ /* [in] */ const RECT *prcTarget);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )(
+ IDDrawExclModeVideo * This,
+ /* [out] */ DWORD *pdwVideoWidth,
+ /* [out] */ DWORD *pdwVideoHeight,
+ /* [out] */ DWORD *pdwPictAspectRatioX,
+ /* [out] */ DWORD *pdwPictAspectRatioY);
+
+ HRESULT ( STDMETHODCALLTYPE *SetCallbackInterface )(
+ IDDrawExclModeVideo * This,
+ /* [in] */ IDDrawExclModeVideoCallback *pCallback,
+ /* [in] */ DWORD dwFlags);
+
+ END_INTERFACE
+ } IDDrawExclModeVideoVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy(
+ IDDrawExclModeVideo * This,
+ /* [in] */ IDirectDraw *pDDrawObject);
+
+
+void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy(
+ IDDrawExclModeVideo * This,
+ /* [out] */ IDirectDraw **ppDDrawObject,
+ /* [out] */ BOOL *pbUsingExternal);
+
+
+void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy(
+ IDDrawExclModeVideo * This,
+ /* [in] */ IDirectDrawSurface *pDDrawSurface);
+
+
+void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy(
+ IDDrawExclModeVideo * This,
+ /* [out] */ IDirectDrawSurface **ppDDrawSurface,
+ /* [out] */ BOOL *pbUsingExternal);
+
+
+void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy(
+ IDDrawExclModeVideo * This,
+ /* [in] */ const RECT *prcSource,
+ /* [in] */ const RECT *prcTarget);
+
+
+void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy(
+ IDDrawExclModeVideo * This,
+ /* [out] */ DWORD *pdwVideoWidth,
+ /* [out] */ DWORD *pdwVideoHeight,
+ /* [out] */ DWORD *pdwPictAspectRatioX,
+ /* [out] */ DWORD *pdwPictAspectRatioY);
+
+
+void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy(
+ IDDrawExclModeVideo * This,
+ /* [in] */ IDDrawExclModeVideoCallback *pCallback,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0381 */
+/* [local] */
+
+
+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_0381_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0381_v0_0_s_ifspec;
+
+#ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
+#define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
+
+/* interface IDDrawExclModeVideoCallback */
+/* [unique][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")
+ IDDrawExclModeVideoCallback : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay(
+ /* [in] */ BOOL bBefore,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ BOOL bOldVisible,
+ /* [in] */ const RECT *prcOldSrc,
+ /* [in] */ const RECT *prcOldDest,
+ /* [in] */ BOOL bNewVisible,
+ /* [in] */ const RECT *prcNewSrc,
+ /* [in] */ const RECT *prcNewDest) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey(
+ /* [in] */ const COLORKEY *pKey,
+ /* [in] */ DWORD dwColor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OnUpdateSize(
+ /* [in] */ DWORD dwWidth,
+ /* [in] */ DWORD dwHeight,
+ /* [in] */ DWORD dwARWidth,
+ /* [in] */ DWORD dwARHeight) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IDDrawExclModeVideoCallbackVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDDrawExclModeVideoCallback * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDDrawExclModeVideoCallback * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDDrawExclModeVideoCallback * This);
+
+ HRESULT ( STDMETHODCALLTYPE *OnUpdateOverlay )(
+ IDDrawExclModeVideoCallback * This,
+ /* [in] */ BOOL bBefore,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ BOOL bOldVisible,
+ /* [in] */ const RECT *prcOldSrc,
+ /* [in] */ const RECT *prcOldDest,
+ /* [in] */ BOOL bNewVisible,
+ /* [in] */ const RECT *prcNewSrc,
+ /* [in] */ const RECT *prcNewDest);
+
+ HRESULT ( STDMETHODCALLTYPE *OnUpdateColorKey )(
+ IDDrawExclModeVideoCallback * This,
+ /* [in] */ const COLORKEY *pKey,
+ /* [in] */ DWORD dwColor);
+
+ HRESULT ( STDMETHODCALLTYPE *OnUpdateSize )(
+ IDDrawExclModeVideoCallback * This,
+ /* [in] */ DWORD dwWidth,
+ /* [in] */ DWORD dwHeight,
+ /* [in] */ DWORD dwARWidth,
+ /* [in] */ DWORD dwARHeight);
+
+ END_INTERFACE
+ } IDDrawExclModeVideoCallbackVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy(
+ IDDrawExclModeVideoCallback * This,
+ /* [in] */ BOOL bBefore,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ BOOL bOldVisible,
+ /* [in] */ const RECT *prcOldSrc,
+ /* [in] */ const RECT *prcOldDest,
+ /* [in] */ BOOL bNewVisible,
+ /* [in] */ const RECT *prcNewSrc,
+ /* [in] */ const RECT *prcNewDest);
+
+
+void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(
+ IDDrawExclModeVideoCallback * This,
+ /* [in] */ const COLORKEY *pKey,
+ /* [in] */ DWORD dwColor);
+
+
+void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(
+ IDDrawExclModeVideoCallback * This,
+ /* [in] */ DWORD dwWidth,
+ /* [in] */ DWORD dwHeight,
+ /* [in] */ DWORD dwARWidth,
+ /* [in] */ DWORD dwARHeight);
+
+
+void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0382 */
+/* [local] */
+
+
+
+
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_s_ifspec;
+
+#ifndef __IPinConnection_INTERFACE_DEFINED__
+#define __IPinConnection_INTERFACE_DEFINED__
+
+/* interface IPinConnection */
+/* [unique][uuid][object][local] */
+
+
+EXTERN_C const IID IID_IPinConnection;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")
+ IPinConnection : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept(
+ /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream(
+ /* [in] */ HANDLE hNotifyEvent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsEndPin( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( void) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IPinConnectionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IPinConnection * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IPinConnection * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IPinConnection * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DynamicQueryAccept )(
+ IPinConnection * This,
+ /* [in] */ const AM_MEDIA_TYPE *pmt);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyEndOfStream )(
+ IPinConnection * This,
+ /* [in] */ HANDLE hNotifyEvent);
+
+ HRESULT ( STDMETHODCALLTYPE *IsEndPin )(
+ IPinConnection * This);
+
+ HRESULT ( STDMETHODCALLTYPE *DynamicDisconnect )(
+ IPinConnection * This);
+
+ END_INTERFACE
+ } IPinConnectionVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IPinConnection_DynamicQueryAccept_Proxy(
+ IPinConnection * This,
+ /* [in] */ const AM_MEDIA_TYPE *pmt);
+
+
+void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPinConnection_NotifyEndOfStream_Proxy(
+ IPinConnection * This,
+ /* [in] */ HANDLE hNotifyEvent);
+
+
+void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPinConnection_IsEndPin_Proxy(
+ IPinConnection * This);
+
+
+void __RPC_STUB IPinConnection_IsEndPin_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IPinConnection_DynamicDisconnect_Proxy(
+ IPinConnection * This);
+
+
+void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IPinConnection_INTERFACE_DEFINED__ */
+
+
+#ifndef __IPinFlowControl_INTERFACE_DEFINED__
+#define __IPinFlowControl_INTERFACE_DEFINED__
+
+/* interface IPinFlowControl */
+/* [unique][uuid][object][local] */
+
+
+EXTERN_C const IID IID_IPinFlowControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")
+ IPinFlowControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Block(
+ /* [in] */ DWORD dwBlockFlags,
+ /* [in] */ HANDLE hEvent) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IPinFlowControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IPinFlowControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IPinFlowControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IPinFlowControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Block )(
+ IPinFlowControl * This,
+ /* [in] */ DWORD dwBlockFlags,
+ /* [in] */ HANDLE hEvent);
+
+ END_INTERFACE
+ } IPinFlowControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IPinFlowControl_Block_Proxy(
+ IPinFlowControl * This,
+ /* [in] */ DWORD dwBlockFlags,
+ /* [in] */ HANDLE hEvent);
+
+
+void __RPC_STUB IPinFlowControl_Block_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IPinFlowControl_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0384 */
+/* [local] */
+
+
+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_0384_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_s_ifspec;
+
+#ifndef __IGraphConfig_INTERFACE_DEFINED__
+#define __IGraphConfig_INTERFACE_DEFINED__
+
+/* interface IGraphConfig */
+/* [unique][uuid][object][local] */
+
+
+EXTERN_C const IID IID_IGraphConfig;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("03A1EB8E-32BF-4245-8502-114D08A9CB88")
+ IGraphConfig : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Reconnect(
+ /* [in] */ IPin *pOutputPin,
+ /* [in] */ IPin *pInputPin,
+ /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
+ /* [in] */ IBaseFilter *pUsingFilter,
+ /* [in] */ HANDLE hAbortEvent,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reconfigure(
+ /* [in] */ IGraphConfigCallback *pCallback,
+ /* [in] */ PVOID pvContext,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ HANDLE hAbortEvent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AddFilterToCache(
+ /* [in] */ IBaseFilter *pFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter(
+ /* [out] */ IEnumFilters **pEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache(
+ /* [in] */ IBaseFilter *pFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetStartTime(
+ /* [out] */ REFERENCE_TIME *prtStart) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PushThroughData(
+ /* [in] */ IPin *pOutputPin,
+ /* [in] */ IPinConnection *pConnection,
+ /* [in] */ HANDLE hEventAbort) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetFilterFlags(
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ DWORD dwFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFilterFlags(
+ /* [in] */ IBaseFilter *pFilter,
+ /* [out] */ DWORD *pdwFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx(
+ /* [in] */ IBaseFilter *pFilter,
+ DWORD Flags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGraphConfigVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGraphConfig * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGraphConfig * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGraphConfig * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Reconnect )(
+ IGraphConfig * This,
+ /* [in] */ IPin *pOutputPin,
+ /* [in] */ IPin *pInputPin,
+ /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
+ /* [in] */ IBaseFilter *pUsingFilter,
+ /* [in] */ HANDLE hAbortEvent,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *Reconfigure )(
+ IGraphConfig * This,
+ /* [in] */ IGraphConfigCallback *pCallback,
+ /* [in] */ PVOID pvContext,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ HANDLE hAbortEvent);
+
+ HRESULT ( STDMETHODCALLTYPE *AddFilterToCache )(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumCacheFilter )(
+ IGraphConfig * This,
+ /* [out] */ IEnumFilters **pEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveFilterFromCache )(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStartTime )(
+ IGraphConfig * This,
+ /* [out] */ REFERENCE_TIME *prtStart);
+
+ HRESULT ( STDMETHODCALLTYPE *PushThroughData )(
+ IGraphConfig * This,
+ /* [in] */ IPin *pOutputPin,
+ /* [in] */ IPinConnection *pConnection,
+ /* [in] */ HANDLE hEventAbort);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFilterFlags )(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ DWORD dwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFilterFlags )(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [out] */ DWORD *pdwFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveFilterEx )(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter,
+ DWORD Flags);
+
+ END_INTERFACE
+ } IGraphConfigVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_Reconnect_Proxy(
+ IGraphConfig * This,
+ /* [in] */ IPin *pOutputPin,
+ /* [in] */ IPin *pInputPin,
+ /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
+ /* [in] */ IBaseFilter *pUsingFilter,
+ /* [in] */ HANDLE hAbortEvent,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IGraphConfig_Reconnect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_Reconfigure_Proxy(
+ IGraphConfig * This,
+ /* [in] */ IGraphConfigCallback *pCallback,
+ /* [in] */ PVOID pvContext,
+ /* [in] */ DWORD dwFlags,
+ /* [in] */ HANDLE hAbortEvent);
+
+
+void __RPC_STUB IGraphConfig_Reconfigure_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_AddFilterToCache_Proxy(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter);
+
+
+void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_EnumCacheFilter_Proxy(
+ IGraphConfig * This,
+ /* [out] */ IEnumFilters **pEnum);
+
+
+void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterFromCache_Proxy(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter);
+
+
+void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_GetStartTime_Proxy(
+ IGraphConfig * This,
+ /* [out] */ REFERENCE_TIME *prtStart);
+
+
+void __RPC_STUB IGraphConfig_GetStartTime_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_PushThroughData_Proxy(
+ IGraphConfig * This,
+ /* [in] */ IPin *pOutputPin,
+ /* [in] */ IPinConnection *pConnection,
+ /* [in] */ HANDLE hEventAbort);
+
+
+void __RPC_STUB IGraphConfig_PushThroughData_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_SetFilterFlags_Proxy(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [in] */ DWORD dwFlags);
+
+
+void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_GetFilterFlags_Proxy(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter,
+ /* [out] */ DWORD *pdwFlags);
+
+
+void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterEx_Proxy(
+ IGraphConfig * This,
+ /* [in] */ IBaseFilter *pFilter,
+ DWORD Flags);
+
+
+void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IGraphConfig_INTERFACE_DEFINED__ */
+
+
+#ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
+#define __IGraphConfigCallback_INTERFACE_DEFINED__
+
+/* interface IGraphConfigCallback */
+/* [unique][uuid][object][local] */
+
+
+EXTERN_C const IID IID_IGraphConfigCallback;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")
+ IGraphConfigCallback : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Reconfigure(
+ PVOID pvContext,
+ DWORD dwFlags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGraphConfigCallbackVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGraphConfigCallback * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGraphConfigCallback * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGraphConfigCallback * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Reconfigure )(
+ IGraphConfigCallback * This,
+ PVOID pvContext,
+ DWORD dwFlags);
+
+ END_INTERFACE
+ } IGraphConfigCallbackVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE 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 /* __IGraphConfigCallback_INTERFACE_DEFINED__ */
+
+
+#ifndef __IFilterChain_INTERFACE_DEFINED__
+#define __IFilterChain_INTERFACE_DEFINED__
+
+/* interface IFilterChain */
+/* [unique][uuid][object][local] */
+
+
+EXTERN_C const IID IID_IFilterChain;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29")
+ IFilterChain : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE StartChain(
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PauseChain(
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StopChain(
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveChain(
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IFilterChainVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IFilterChain * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IFilterChain * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IFilterChain * This);
+
+ HRESULT ( STDMETHODCALLTYPE *StartChain )(
+ IFilterChain * This,
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *PauseChain )(
+ IFilterChain * This,
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *StopChain )(
+ IFilterChain * This,
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveChain )(
+ IFilterChain * This,
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter);
+
+ END_INTERFACE
+ } IFilterChainVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IFilterChain_StartChain_Proxy(
+ IFilterChain * This,
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter);
+
+
+void __RPC_STUB IFilterChain_StartChain_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterChain_PauseChain_Proxy(
+ IFilterChain * This,
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter);
+
+
+void __RPC_STUB IFilterChain_PauseChain_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterChain_StopChain_Proxy(
+ IFilterChain * This,
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter);
+
+
+void __RPC_STUB IFilterChain_StopChain_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IFilterChain_RemoveChain_Proxy(
+ IFilterChain * This,
+ /* [in] */ IBaseFilter *pStartFilter,
+ /* [in] */ IBaseFilter *pEndFilter);
+
+
+void __RPC_STUB IFilterChain_RemoveChain_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IFilterChain_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0387 */
+/* [local] */
+
+#if 0
+typedef DWORD *LPDIRECTDRAW7;
+
+typedef DWORD *LPDIRECTDRAWSURFACE7;
+
+typedef DWORD *LPDDPIXELFORMAT;
+
+typedef DWORD *LPBITMAPINFOHEADER;
+
+typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0387_0001
+ {
+ DWORD dw1;
+ DWORD dw2;
+ } DDCOLORKEY;
+
+typedef DDCOLORKEY *LPDDCOLORKEY;
+
+#endif
+#include <ddraw.h>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0387_0002
+ { VMRSample_SyncPoint = 0x1,
+ VMRSample_Preroll = 0x2,
+ VMRSample_Discontinuity = 0x4,
+ VMRSample_TimeValid = 0x8
+ } 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_0387_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
+
+#ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
+#define __IVMRImagePresenter_INTERFACE_DEFINED__
+
+/* interface IVMRImagePresenter */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRImagePresenter;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("CE704FE7-E71E-41fb-BAA2-C4403E1182F5")
+ IVMRImagePresenter : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE StartPresenting(
+ /* [in] */ DWORD_PTR dwUserID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE StopPresenting(
+ /* [in] */ DWORD_PTR dwUserID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PresentImage(
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ VMRPRESENTATIONINFO *lpPresInfo) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRImagePresenterVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRImagePresenter * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRImagePresenter * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRImagePresenter * This);
+
+ HRESULT ( STDMETHODCALLTYPE *StartPresenting )(
+ IVMRImagePresenter * This,
+ /* [in] */ DWORD_PTR dwUserID);
+
+ HRESULT ( STDMETHODCALLTYPE *StopPresenting )(
+ IVMRImagePresenter * This,
+ /* [in] */ DWORD_PTR dwUserID);
+
+ HRESULT ( STDMETHODCALLTYPE *PresentImage )(
+ IVMRImagePresenter * This,
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
+
+ END_INTERFACE
+ } IVMRImagePresenterVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StartPresenting_Proxy(
+ IVMRImagePresenter * This,
+ /* [in] */ DWORD_PTR dwUserID);
+
+
+void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StopPresenting_Proxy(
+ IVMRImagePresenter * This,
+ /* [in] */ DWORD_PTR dwUserID);
+
+
+void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRImagePresenter_PresentImage_Proxy(
+ IVMRImagePresenter * This,
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
+
+
+void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRImagePresenter_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0388 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0388_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_0388_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0388_v0_0_s_ifspec;
+
+#ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
+#define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
+
+/* interface IVMRSurfaceAllocator */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRSurfaceAllocator;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("31ce832e-4484-458b-8cca-f4d7e3db0b52")
+ IVMRSurfaceAllocator : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE AllocateSurface(
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
+ /* [out][in] */ DWORD *lpdwActualBuffers,
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE FreeSurface(
+ /* [in] */ DWORD_PTR dwID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PrepareSurface(
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
+ /* [in] */ DWORD dwSurfaceFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AdviseNotify(
+ /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRSurfaceAllocatorVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRSurfaceAllocator * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRSurfaceAllocator * This);
+
+ HRESULT ( STDMETHODCALLTYPE *AllocateSurface )(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
+ /* [out][in] */ DWORD *lpdwActualBuffers,
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
+
+ HRESULT ( STDMETHODCALLTYPE *FreeSurface )(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ DWORD_PTR dwID);
+
+ HRESULT ( STDMETHODCALLTYPE *PrepareSurface )(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
+ /* [in] */ DWORD dwSurfaceFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *AdviseNotify )(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
+
+ END_INTERFACE
+ } IVMRSurfaceAllocatorVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AllocateSurface_Proxy(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
+ /* [out][in] */ DWORD *lpdwActualBuffers,
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
+
+
+void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_FreeSurface_Proxy(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ DWORD_PTR dwID);
+
+
+void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_PrepareSurface_Proxy(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
+ /* [in] */ DWORD dwSurfaceFlags);
+
+
+void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AdviseNotify_Proxy(
+ IVMRSurfaceAllocator * This,
+ /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
+
+
+void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRSurfaceAllocator_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
+#define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
+
+/* interface IVMRSurfaceAllocatorNotify */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("aada05a8-5a4e-4729-af0b-cea27aed51e2")
+ IVMRSurfaceAllocatorNotify : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator(
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDDrawDevice(
+ /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
+ /* [in] */ HMONITOR hMonitor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ChangeDDrawDevice(
+ /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
+ /* [in] */ HMONITOR hMonitor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RestoreDDrawSurfaces( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyEvent(
+ /* [in] */ LONG EventCode,
+ /* [in] */ LONG_PTR Param1,
+ /* [in] */ LONG_PTR Param2) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
+ /* [in] */ COLORREF clrBorder) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRSurfaceAllocatorNotifyVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRSurfaceAllocatorNotify * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRSurfaceAllocatorNotify * This);
+
+ HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDDrawDevice )(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
+ /* [in] */ HMONITOR hMonitor);
+
+ HRESULT ( STDMETHODCALLTYPE *ChangeDDrawDevice )(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
+ /* [in] */ HMONITOR hMonitor);
+
+ HRESULT ( STDMETHODCALLTYPE *RestoreDDrawSurfaces )(
+ IVMRSurfaceAllocatorNotify * This);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyEvent )(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ LONG EventCode,
+ /* [in] */ LONG_PTR Param1,
+ /* [in] */ LONG_PTR Param2);
+
+ HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ COLORREF clrBorder);
+
+ END_INTERFACE
+ } IVMRSurfaceAllocatorNotifyVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ DWORD_PTR dwUserID,
+ /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
+
+
+void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
+ /* [in] */ HMONITOR hMonitor);
+
+
+void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
+ /* [in] */ HMONITOR hMonitor);
+
+
+void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(
+ IVMRSurfaceAllocatorNotify * This);
+
+
+void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ LONG EventCode,
+ /* [in] */ LONG_PTR Param1,
+ /* [in] */ LONG_PTR Param2);
+
+
+void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(
+ IVMRSurfaceAllocatorNotify * This,
+ /* [in] */ COLORREF clrBorder);
+
+
+void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0390 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0390_0001
+ { VMR_ARMODE_NONE = 0,
+ VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1
+ } VMR_ASPECT_RATIO_MODE;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_s_ifspec;
+
+#ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
+#define __IVMRWindowlessControl_INTERFACE_DEFINED__
+
+/* interface IVMRWindowlessControl */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRWindowlessControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0eb1088c-4dcd-46f0-878f-39dae86a51b7")
+ IVMRWindowlessControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize(
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight,
+ /* [out] */ LONG *lpARWidth,
+ /* [out] */ LONG *lpARHeight) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize(
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize(
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVideoPosition(
+ /* [in] */ const LPRECT lpSRCRect,
+ /* [in] */ const LPRECT lpDSTRect) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
+ /* [out] */ LPRECT lpSRCRect,
+ /* [out] */ LPRECT lpDSTRect) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
+ /* [out] */ DWORD *lpAspectRatioMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
+ /* [in] */ DWORD AspectRatioMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow(
+ /* [in] */ HWND hwnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RepaintVideo(
+ /* [in] */ HWND hwnd,
+ /* [in] */ HDC hdc) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentImage(
+ /* [out] */ BYTE **lpDib) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
+ /* [in] */ COLORREF Clr) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBorderColor(
+ /* [out] */ COLORREF *lpClr) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetColorKey(
+ /* [in] */ COLORREF Clr) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetColorKey(
+ /* [out] */ COLORREF *lpClr) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRWindowlessControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRWindowlessControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRWindowlessControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRWindowlessControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )(
+ IVMRWindowlessControl * This,
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight,
+ /* [out] */ LONG *lpARWidth,
+ /* [out] */ LONG *lpARHeight);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )(
+ IVMRWindowlessControl * This,
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )(
+ IVMRWindowlessControl * This,
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )(
+ IVMRWindowlessControl * This,
+ /* [in] */ const LPRECT lpSRCRect,
+ /* [in] */ const LPRECT lpDSTRect);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(
+ IVMRWindowlessControl * This,
+ /* [out] */ LPRECT lpSRCRect,
+ /* [out] */ LPRECT lpDSTRect);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )(
+ IVMRWindowlessControl * This,
+ /* [out] */ DWORD *lpAspectRatioMode);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )(
+ IVMRWindowlessControl * This,
+ /* [in] */ DWORD AspectRatioMode);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )(
+ IVMRWindowlessControl * This,
+ /* [in] */ HWND hwnd);
+
+ HRESULT ( STDMETHODCALLTYPE *RepaintVideo )(
+ IVMRWindowlessControl * This,
+ /* [in] */ HWND hwnd,
+ /* [in] */ HDC hdc);
+
+ HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )(
+ IVMRWindowlessControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )(
+ IVMRWindowlessControl * This,
+ /* [out] */ BYTE **lpDib);
+
+ HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(
+ IVMRWindowlessControl * This,
+ /* [in] */ COLORREF Clr);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBorderColor )(
+ IVMRWindowlessControl * This,
+ /* [out] */ COLORREF *lpClr);
+
+ HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
+ IVMRWindowlessControl * This,
+ /* [in] */ COLORREF Clr);
+
+ HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
+ IVMRWindowlessControl * This,
+ /* [out] */ COLORREF *lpClr);
+
+ END_INTERFACE
+ } IVMRWindowlessControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetNativeVideoSize_Proxy(
+ IVMRWindowlessControl * This,
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight,
+ /* [out] */ LONG *lpARWidth,
+ /* [out] */ LONG *lpARHeight);
+
+
+void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(
+ IVMRWindowlessControl * This,
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight);
+
+
+void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(
+ IVMRWindowlessControl * This,
+ /* [out] */ LONG *lpWidth,
+ /* [out] */ LONG *lpHeight);
+
+
+void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoPosition_Proxy(
+ IVMRWindowlessControl * This,
+ /* [in] */ const LPRECT lpSRCRect,
+ /* [in] */ const LPRECT lpDSTRect);
+
+
+void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetVideoPosition_Proxy(
+ IVMRWindowlessControl * This,
+ /* [out] */ LPRECT lpSRCRect,
+ /* [out] */ LPRECT lpDSTRect);
+
+
+void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetAspectRatioMode_Proxy(
+ IVMRWindowlessControl * This,
+ /* [out] */ DWORD *lpAspectRatioMode);
+
+
+void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetAspectRatioMode_Proxy(
+ IVMRWindowlessControl * This,
+ /* [in] */ DWORD AspectRatioMode);
+
+
+void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoClippingWindow_Proxy(
+ IVMRWindowlessControl * This,
+ /* [in] */ HWND hwnd);
+
+
+void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_RepaintVideo_Proxy(
+ IVMRWindowlessControl * This,
+ /* [in] */ HWND hwnd,
+ /* [in] */ HDC hdc);
+
+
+void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_DisplayModeChanged_Proxy(
+ IVMRWindowlessControl * This);
+
+
+void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetCurrentImage_Proxy(
+ IVMRWindowlessControl * This,
+ /* [out] */ BYTE **lpDib);
+
+
+void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetBorderColor_Proxy(
+ IVMRWindowlessControl * This,
+ /* [in] */ COLORREF Clr);
+
+
+void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetBorderColor_Proxy(
+ IVMRWindowlessControl * This,
+ /* [out] */ COLORREF *lpClr);
+
+
+void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetColorKey_Proxy(
+ IVMRWindowlessControl * This,
+ /* [in] */ COLORREF Clr);
+
+
+void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetColorKey_Proxy(
+ IVMRWindowlessControl * This,
+ /* [out] */ COLORREF *lpClr);
+
+
+void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRWindowlessControl_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0391 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0391_0001
+ { MixerPref_NoDecimation = 0x1,
+ MixerPref_DecimateOutput = 0x2,
+ MixerPref_DecimateMask = 0xf,
+ MixerPref_BiLinearFiltering = 0x10,
+ MixerPref_PointFiltering = 0x20,
+ MixerPref_FilteringMask = 0xf0,
+ MixerPref_RenderTargetRGB = 0x100,
+ MixerPref_RenderTargetYUV420 = 0x200,
+ MixerPref_RenderTargetYUV422 = 0x400,
+ MixerPref_RenderTargetYUV444 = 0x800,
+ MixerPref_RenderTargetReserved = 0xf000,
+ MixerPref_RenderTargetMask = 0xff00
+ } VMRMixerPrefs;
+
+typedef struct _NORMALIZEDRECT
+ {
+ float left;
+ float top;
+ float right;
+ float bottom;
+ } NORMALIZEDRECT;
+
+typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
+
+
+
+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 __IVMRMixerControl_INTERFACE_DEFINED__
+#define __IVMRMixerControl_INTERFACE_DEFINED__
+
+/* interface IVMRMixerControl */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRMixerControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("1c1a17b0-bed0-415d-974b-dc6696131599")
+ IVMRMixerControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetAlpha(
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ float Alpha) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAlpha(
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ float *pAlpha) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetZOrder(
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ DWORD dwZ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetZOrder(
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ DWORD *pZ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetOutputRect(
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ const NORMALIZEDRECT *pRect) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetOutputRect(
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ NORMALIZEDRECT *pRect) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr(
+ /* [in] */ COLORREF ClrBkg) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr(
+ /* [in] */ COLORREF *lpClrBkg) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs(
+ /* [in] */ DWORD dwMixerPrefs) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs(
+ /* [out] */ DWORD *pdwMixerPrefs) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRMixerControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRMixerControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRMixerControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRMixerControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAlpha )(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ float Alpha);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAlpha )(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ float *pAlpha);
+
+ HRESULT ( STDMETHODCALLTYPE *SetZOrder )(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ DWORD dwZ);
+
+ HRESULT ( STDMETHODCALLTYPE *GetZOrder )(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ DWORD *pZ);
+
+ HRESULT ( STDMETHODCALLTYPE *SetOutputRect )(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ const NORMALIZEDRECT *pRect);
+
+ HRESULT ( STDMETHODCALLTYPE *GetOutputRect )(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ NORMALIZEDRECT *pRect);
+
+ HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )(
+ IVMRMixerControl * This,
+ /* [in] */ COLORREF ClrBkg);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )(
+ IVMRMixerControl * This,
+ /* [in] */ COLORREF *lpClrBkg);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwMixerPrefs);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )(
+ IVMRMixerControl * This,
+ /* [out] */ DWORD *pdwMixerPrefs);
+
+ END_INTERFACE
+ } IVMRMixerControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetAlpha_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ float Alpha);
+
+
+void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetAlpha_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ float *pAlpha);
+
+
+void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetZOrder_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ DWORD dwZ);
+
+
+void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetZOrder_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ DWORD *pZ);
+
+
+void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetOutputRect_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ const NORMALIZEDRECT *pRect);
+
+
+void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetOutputRect_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ NORMALIZEDRECT *pRect);
+
+
+void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetBackgroundClr_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ COLORREF ClrBkg);
+
+
+void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetBackgroundClr_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ COLORREF *lpClrBkg);
+
+
+void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetMixingPrefs_Proxy(
+ IVMRMixerControl * This,
+ /* [in] */ DWORD dwMixerPrefs);
+
+
+void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetMixingPrefs_Proxy(
+ IVMRMixerControl * This,
+ /* [out] */ DWORD *pdwMixerPrefs);
+
+
+void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRMixerControl_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0392 */
+/* [local] */
+
+typedef struct tagVMRGUID
+ {
+ GUID *pGUID;
+ GUID GUID;
+ } VMRGUID;
+
+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_0392_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_s_ifspec;
+
+#ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
+#define __IVMRMonitorConfig_INTERFACE_DEFINED__
+
+/* interface IVMRMonitorConfig */
+/* [unique][helpstring][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IVMRMonitorConfig;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce")
+ IVMRMonitorConfig : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetMonitor(
+ /* [in] */ const VMRGUID *pGUID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetMonitor(
+ /* [out] */ VMRGUID *pGUID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor(
+ /* [in] */ const VMRGUID *pGUID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor(
+ /* [out] */ VMRGUID *pGUID) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors(
+ /* [size_is][out] */ VMRMONITORINFO *pInfo,
+ /* [in] */ DWORD dwMaxInfoArraySize,
+ /* [out] */ DWORD *pdwNumDevices) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRMonitorConfigVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRMonitorConfig * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRMonitorConfig * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRMonitorConfig * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetMonitor )(
+ IVMRMonitorConfig * This,
+ /* [in] */ const VMRGUID *pGUID);
+
+ HRESULT ( STDMETHODCALLTYPE *GetMonitor )(
+ IVMRMonitorConfig * This,
+ /* [out] */ VMRGUID *pGUID);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )(
+ IVMRMonitorConfig * This,
+ /* [in] */ const VMRGUID *pGUID);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )(
+ IVMRMonitorConfig * This,
+ /* [out] */ VMRGUID *pGUID);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )(
+ IVMRMonitorConfig * This,
+ /* [size_is][out] */ VMRMONITORINFO *pInfo,
+ /* [in] */ DWORD dwMaxInfoArraySize,
+ /* [out] */ DWORD *pdwNumDevices);
+
+ END_INTERFACE
+ } IVMRMonitorConfigVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetMonitor_Proxy(
+ IVMRMonitorConfig * This,
+ /* [in] */ const VMRGUID *pGUID);
+
+
+void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetMonitor_Proxy(
+ IVMRMonitorConfig * This,
+ /* [out] */ VMRGUID *pGUID);
+
+
+void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetDefaultMonitor_Proxy(
+ IVMRMonitorConfig * This,
+ /* [in] */ const VMRGUID *pGUID);
+
+
+void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetDefaultMonitor_Proxy(
+ IVMRMonitorConfig * This,
+ /* [out] */ VMRGUID *pGUID);
+
+
+void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetAvailableMonitors_Proxy(
+ IVMRMonitorConfig * This,
+ /* [size_is][out] */ VMRMONITORINFO *pInfo,
+ /* [in] */ DWORD dwMaxInfoArraySize,
+ /* [out] */ DWORD *pdwNumDevices);
+
+
+void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRMonitorConfig_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0393 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0393_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 /* [public] */
+enum __MIDL___MIDL_itf_strmif_0393_0002
+ { VMRMode_Windowed = 0x1,
+ VMRMode_Windowless = 0x2,
+ VMRMode_Renderless = 0x4,
+ VMRMode_Mask = 0x7
+ } VMRMode;
+
+
+enum __MIDL___MIDL_itf_strmif_0393_0003
+ { MAX_NUMBER_OF_STREAMS = 16
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_s_ifspec;
+
+#ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
+#define __IVMRFilterConfig_INTERFACE_DEFINED__
+
+/* interface IVMRFilterConfig */
+/* [unique][helpstring][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IVMRFilterConfig;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9e5530c5-7034-48b4-bb46-0b8a6efc8e36")
+ IVMRFilterConfig : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetImageCompositor(
+ /* [in] */ IVMRImageCompositor *lpVMRImgCompositor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams(
+ /* [in] */ DWORD dwMaxStreams) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams(
+ /* [out] */ DWORD *pdwMaxStreams) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
+ /* [in] */ DWORD dwRenderFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
+ /* [out] */ DWORD *pdwRenderFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetRenderingMode(
+ /* [in] */ DWORD Mode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRenderingMode(
+ /* [out] */ DWORD *pMode) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRFilterConfigVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRFilterConfig * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRFilterConfig * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRFilterConfig * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )(
+ IVMRFilterConfig * This,
+ /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
+
+ HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )(
+ IVMRFilterConfig * This,
+ /* [in] */ DWORD dwMaxStreams);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )(
+ IVMRFilterConfig * This,
+ /* [out] */ DWORD *pdwMaxStreams);
+
+ HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
+ IVMRFilterConfig * This,
+ /* [in] */ DWORD dwRenderFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
+ IVMRFilterConfig * This,
+ /* [out] */ DWORD *pdwRenderFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )(
+ IVMRFilterConfig * This,
+ /* [in] */ DWORD Mode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )(
+ IVMRFilterConfig * This,
+ /* [out] */ DWORD *pMode);
+
+ END_INTERFACE
+ } IVMRFilterConfigVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetImageCompositor_Proxy(
+ IVMRFilterConfig * This,
+ /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
+
+
+void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetNumberOfStreams_Proxy(
+ IVMRFilterConfig * This,
+ /* [in] */ DWORD dwMaxStreams);
+
+
+void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetNumberOfStreams_Proxy(
+ IVMRFilterConfig * This,
+ /* [out] */ DWORD *pdwMaxStreams);
+
+
+void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingPrefs_Proxy(
+ IVMRFilterConfig * This,
+ /* [in] */ DWORD dwRenderFlags);
+
+
+void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingPrefs_Proxy(
+ IVMRFilterConfig * This,
+ /* [out] */ DWORD *pdwRenderFlags);
+
+
+void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingMode_Proxy(
+ IVMRFilterConfig * This,
+ /* [in] */ DWORD Mode);
+
+
+void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingMode_Proxy(
+ IVMRFilterConfig * This,
+ /* [out] */ DWORD *pMode);
+
+
+void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRFilterConfig_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
+#define __IVMRAspectRatioControl_INTERFACE_DEFINED__
+
+/* interface IVMRAspectRatioControl */
+/* [unique][helpstring][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IVMRAspectRatioControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ede80b5c-bad6-4623-b537-65586c9f8dfd")
+ IVMRAspectRatioControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
+ /* [out] */ LPDWORD lpdwARMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
+ /* [in] */ DWORD dwARMode) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRAspectRatioControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRAspectRatioControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRAspectRatioControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRAspectRatioControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )(
+ IVMRAspectRatioControl * This,
+ /* [out] */ LPDWORD lpdwARMode);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )(
+ IVMRAspectRatioControl * This,
+ /* [in] */ DWORD dwARMode);
+
+ END_INTERFACE
+ } IVMRAspectRatioControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_GetAspectRatioMode_Proxy(
+ IVMRAspectRatioControl * This,
+ /* [out] */ LPDWORD lpdwARMode);
+
+
+void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_SetAspectRatioMode_Proxy(
+ IVMRAspectRatioControl * This,
+ /* [in] */ DWORD dwARMode);
+
+
+void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRAspectRatioControl_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0395 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_strmif_0395_0001
+ { DeinterlacePref_NextBest = 0x1,
+ DeinterlacePref_BOB = 0x2,
+ DeinterlacePref_Weave = 0x4,
+ DeinterlacePref_Mask = 0x7
+ } VMRDeinterlacePrefs;
+
+typedef /* [public][public][public] */
+enum __MIDL___MIDL_itf_strmif_0395_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;
+ BOOL 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_0395_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_s_ifspec;
+
+#ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
+#define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
+
+/* interface IVMRDeinterlaceControl */
+/* [unique][helpstring][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IVMRDeinterlaceControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("bb057577-0db8-4e6a-87a7-1a8c9a505a0f")
+ IVMRDeinterlaceControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes(
+ /* [in] */ VMRVideoDesc *lpVideoDescription,
+ /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
+ /* [out] */ LPGUID lpDeinterlaceModes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps(
+ /* [in] */ LPGUID lpDeinterlaceMode,
+ /* [in] */ VMRVideoDesc *lpVideoDescription,
+ /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode(
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ LPGUID lpDeinterlaceMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode(
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ LPGUID lpDeinterlaceMode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs(
+ /* [out] */ LPDWORD lpdwDeinterlacePrefs) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs(
+ /* [in] */ DWORD dwDeinterlacePrefs) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode(
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ LPGUID lpDeinterlaceMode) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRDeinterlaceControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRDeinterlaceControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRDeinterlaceControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes )(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ VMRVideoDesc *lpVideoDescription,
+ /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
+ /* [out] */ LPGUID lpDeinterlaceModes);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceModeCaps )(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ LPGUID lpDeinterlaceMode,
+ /* [in] */ VMRVideoDesc *lpVideoDescription,
+ /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceMode )(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ LPGUID lpDeinterlaceMode);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDeinterlaceMode )(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ LPGUID lpDeinterlaceMode);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeinterlacePrefs )(
+ IVMRDeinterlaceControl * This,
+ /* [out] */ LPDWORD lpdwDeinterlacePrefs);
+
+ HRESULT ( STDMETHODCALLTYPE *SetDeinterlacePrefs )(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ DWORD dwDeinterlacePrefs);
+
+ HRESULT ( STDMETHODCALLTYPE *GetActualDeinterlaceMode )(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ LPGUID lpDeinterlaceMode);
+
+ END_INTERFACE
+ } IVMRDeinterlaceControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ VMRVideoDesc *lpVideoDescription,
+ /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
+ /* [out] */ LPGUID lpDeinterlaceModes);
+
+
+void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ LPGUID lpDeinterlaceMode,
+ /* [in] */ VMRVideoDesc *lpVideoDescription,
+ /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
+
+
+void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ LPGUID lpDeinterlaceMode);
+
+
+void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [in] */ LPGUID lpDeinterlaceMode);
+
+
+void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(
+ IVMRDeinterlaceControl * This,
+ /* [out] */ LPDWORD lpdwDeinterlacePrefs);
+
+
+void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ DWORD dwDeinterlacePrefs);
+
+
+void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(
+ IVMRDeinterlaceControl * This,
+ /* [in] */ DWORD dwStreamID,
+ /* [out] */ LPGUID lpDeinterlaceMode);
+
+
+void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRDeinterlaceControl_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0396 */
+/* [local] */
+
+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_0396_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_s_ifspec;
+
+#ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
+#define __IVMRMixerBitmap_INTERFACE_DEFINED__
+
+/* interface IVMRMixerBitmap */
+/* [unique][helpstring][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IVMRMixerBitmap;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("1E673275-0257-40aa-AF20-7C608D4A0428")
+ IVMRMixerBitmap : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(
+ /* [in] */ const VMRALPHABITMAP *pBmpParms) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(
+ /* [in] */ PVMRALPHABITMAP pBmpParms) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(
+ /* [out] */ PVMRALPHABITMAP pBmpParms) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRMixerBitmapVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRMixerBitmap * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRMixerBitmap * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRMixerBitmap * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )(
+ IVMRMixerBitmap * This,
+ /* [in] */ const VMRALPHABITMAP *pBmpParms);
+
+ HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )(
+ IVMRMixerBitmap * This,
+ /* [in] */ PVMRALPHABITMAP pBmpParms);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )(
+ IVMRMixerBitmap * This,
+ /* [out] */ PVMRALPHABITMAP pBmpParms);
+
+ END_INTERFACE
+ } IVMRMixerBitmapVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_SetAlphaBitmap_Proxy(
+ IVMRMixerBitmap * This,
+ /* [in] */ const VMRALPHABITMAP *pBmpParms);
+
+
+void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(
+ IVMRMixerBitmap * This,
+ /* [in] */ PVMRALPHABITMAP pBmpParms);
+
+
+void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(
+ IVMRMixerBitmap * This,
+ /* [out] */ PVMRALPHABITMAP pBmpParms);
+
+
+void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRMixerBitmap_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0397 */
+/* [local] */
+
+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_0397_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec;
+
+#ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
+#define __IVMRImageCompositor_INTERFACE_DEFINED__
+
+/* interface IVMRImageCompositor */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRImageCompositor;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7a4fb5af-479f-4074-bb40-ce6722e43c82")
+ IVMRImageCompositor : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE InitCompositionTarget(
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE TermCompositionTarget(
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType(
+ /* [in] */ DWORD dwStrmID,
+ /* [in] */ AM_MEDIA_TYPE *pmt,
+ /* [in] */ BOOL fTexture) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CompositeImage(
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
+ /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
+ /* [in] */ REFERENCE_TIME rtStart,
+ /* [in] */ REFERENCE_TIME rtEnd,
+ /* [in] */ DWORD dwClrBkGnd,
+ /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
+ /* [in] */ UINT cStreams) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRImageCompositorVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRImageCompositor * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRImageCompositor * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRImageCompositor * This);
+
+ HRESULT ( STDMETHODCALLTYPE *InitCompositionTarget )(
+ IVMRImageCompositor * This,
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
+
+ HRESULT ( STDMETHODCALLTYPE *TermCompositionTarget )(
+ IVMRImageCompositor * This,
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
+
+ HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )(
+ IVMRImageCompositor * This,
+ /* [in] */ DWORD dwStrmID,
+ /* [in] */ AM_MEDIA_TYPE *pmt,
+ /* [in] */ BOOL fTexture);
+
+ HRESULT ( STDMETHODCALLTYPE *CompositeImage )(
+ IVMRImageCompositor * This,
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
+ /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
+ /* [in] */ REFERENCE_TIME rtStart,
+ /* [in] */ REFERENCE_TIME rtEnd,
+ /* [in] */ DWORD dwClrBkGnd,
+ /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
+ /* [in] */ UINT cStreams);
+
+ END_INTERFACE
+ } IVMRImageCompositorVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRImageCompositor_InitCompositionTarget_Proxy(
+ IVMRImageCompositor * This,
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
+
+
+void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRImageCompositor_TermCompositionTarget_Proxy(
+ IVMRImageCompositor * This,
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
+
+
+void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRImageCompositor_SetStreamMediaType_Proxy(
+ IVMRImageCompositor * This,
+ /* [in] */ DWORD dwStrmID,
+ /* [in] */ AM_MEDIA_TYPE *pmt,
+ /* [in] */ BOOL fTexture);
+
+
+void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRImageCompositor_CompositeImage_Proxy(
+ IVMRImageCompositor * This,
+ /* [in] */ IUnknown *pD3DDevice,
+ /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
+ /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
+ /* [in] */ REFERENCE_TIME rtStart,
+ /* [in] */ REFERENCE_TIME rtEnd,
+ /* [in] */ DWORD dwClrBkGnd,
+ /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
+ /* [in] */ UINT cStreams);
+
+
+void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRImageCompositor_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
+#define __IVMRVideoStreamControl_INTERFACE_DEFINED__
+
+/* interface IVMRVideoStreamControl */
+/* [unique][helpstring][uuid][local][object] */
+
+
+EXTERN_C const IID IID_IVMRVideoStreamControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("058d1f11-2a54-4bef-bd54-df706626b727")
+ IVMRVideoStreamControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetColorKey(
+ /* [in] */ LPDDCOLORKEY lpClrKey) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetColorKey(
+ /* [out] */ LPDDCOLORKEY lpClrKey) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState(
+ /* [in] */ BOOL fActive) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState(
+ /* [out] */ BOOL *lpfActive) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRVideoStreamControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRVideoStreamControl * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRVideoStreamControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRVideoStreamControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
+ IVMRVideoStreamControl * This,
+ /* [in] */ LPDDCOLORKEY lpClrKey);
+
+ HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
+ IVMRVideoStreamControl * This,
+ /* [out] */ LPDDCOLORKEY lpClrKey);
+
+ HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )(
+ IVMRVideoStreamControl * This,
+ /* [in] */ BOOL fActive);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )(
+ IVMRVideoStreamControl * This,
+ /* [out] */ BOOL *lpfActive);
+
+ END_INTERFACE
+ } IVMRVideoStreamControlVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetColorKey_Proxy(
+ IVMRVideoStreamControl * This,
+ /* [in] */ LPDDCOLORKEY lpClrKey);
+
+
+void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetColorKey_Proxy(
+ IVMRVideoStreamControl * This,
+ /* [out] */ LPDDCOLORKEY lpClrKey);
+
+
+void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetStreamActiveState_Proxy(
+ IVMRVideoStreamControl * This,
+ /* [in] */ BOOL fActive);
+
+
+void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetStreamActiveState_Proxy(
+ IVMRVideoStreamControl * This,
+ /* [out] */ BOOL *lpfActive);
+
+
+void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRVideoStreamControl_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVMRSurface_INTERFACE_DEFINED__
+#define __IVMRSurface_INTERFACE_DEFINED__
+
+/* interface IVMRSurface */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRSurface;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("a9849bbe-9ec8-4263-b764-62730f0d15d0")
+ IVMRSurface : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE LockSurface(
+ /* [out] */ BYTE **lpSurface) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSurface(
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRSurfaceVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRSurface * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRSurface * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRSurface * This);
+
+ HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )(
+ IVMRSurface * This);
+
+ HRESULT ( STDMETHODCALLTYPE *LockSurface )(
+ IVMRSurface * This,
+ /* [out] */ BYTE **lpSurface);
+
+ HRESULT ( STDMETHODCALLTYPE *UnlockSurface )(
+ IVMRSurface * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSurface )(
+ IVMRSurface * This,
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
+
+ END_INTERFACE
+ } IVMRSurfaceVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurface_IsSurfaceLocked_Proxy(
+ IVMRSurface * This);
+
+
+void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurface_LockSurface_Proxy(
+ IVMRSurface * This,
+ /* [out] */ BYTE **lpSurface);
+
+
+void __RPC_STUB IVMRSurface_LockSurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurface_UnlockSurface_Proxy(
+ IVMRSurface * This);
+
+
+void __RPC_STUB IVMRSurface_UnlockSurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRSurface_GetSurface_Proxy(
+ IVMRSurface * This,
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
+
+
+void __RPC_STUB IVMRSurface_GetSurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRSurface_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
+#define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
+
+/* interface IVMRImagePresenterConfig */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRImagePresenterConfig;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9f3a1c85-8555-49ba-935f-be5b5b29d178")
+ IVMRImagePresenterConfig : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
+ /* [in] */ DWORD dwRenderFlags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
+ /* [out] */ DWORD *dwRenderFlags) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRImagePresenterConfigVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRImagePresenterConfig * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRImagePresenterConfig * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRImagePresenterConfig * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
+ IVMRImagePresenterConfig * This,
+ /* [in] */ DWORD dwRenderFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
+ IVMRImagePresenterConfig * This,
+ /* [out] */ DWORD *dwRenderFlags);
+
+ END_INTERFACE
+ } IVMRImagePresenterConfigVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(
+ IVMRImagePresenterConfig * This,
+ /* [in] */ DWORD dwRenderFlags);
+
+
+void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(
+ IVMRImagePresenterConfig * This,
+ /* [out] */ DWORD *dwRenderFlags);
+
+
+void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRImagePresenterConfig_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
+#define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
+
+/* interface IVMRImagePresenterExclModeConfig */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e6f7ce40-4673-44f1-8f77-5499d68cb4ea")
+ IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetXlcModeDDObjAndPrimarySurface(
+ /* [in] */ LPDIRECTDRAW7 lpDDObj,
+ /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetXlcModeDDObjAndPrimarySurface(
+ /* [out] */ LPDIRECTDRAW7 *lpDDObj,
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVMRImagePresenterExclModeConfigVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVMRImagePresenterExclModeConfig * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVMRImagePresenterExclModeConfig * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVMRImagePresenterExclModeConfig * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
+ IVMRImagePresenterExclModeConfig * This,
+ /* [in] */ DWORD dwRenderFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
+ IVMRImagePresenterExclModeConfig * This,
+ /* [out] */ DWORD *dwRenderFlags);
+
+ HRESULT ( STDMETHODCALLTYPE *SetXlcModeDDObjAndPrimarySurface )(
+ IVMRImagePresenterExclModeConfig * This,
+ /* [in] */ LPDIRECTDRAW7 lpDDObj,
+ /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
+
+ HRESULT ( STDMETHODCALLTYPE *GetXlcModeDDObjAndPrimarySurface )(
+ IVMRImagePresenterExclModeConfig * This,
+ /* [out] */ LPDIRECTDRAW7 *lpDDObj,
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
+
+ END_INTERFACE
+ } IVMRImagePresenterExclModeConfigVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(
+ IVMRImagePresenterExclModeConfig * This,
+ /* [in] */ LPDIRECTDRAW7 lpDDObj,
+ /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
+
+
+void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(
+ IVMRImagePresenterExclModeConfig * This,
+ /* [out] */ LPDIRECTDRAW7 *lpDDObj,
+ /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
+
+
+void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ */
+
+
+#ifndef __IVPManager_INTERFACE_DEFINED__
+#define __IVPManager_INTERFACE_DEFINED__
+
+/* interface IVPManager */
+/* [unique][helpstring][uuid][local][object][local] */
+
+
+EXTERN_C const IID IID_IVPManager;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("aac18c18-e186-46d2-825d-a1f8dc8e395a")
+ IVPManager : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetVideoPortIndex(
+ /* [in] */ DWORD dwVideoPortIndex) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoPortIndex(
+ /* [out] */ DWORD *pdwVideoPortIndex) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IVPManagerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IVPManager * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IVPManager * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IVPManager * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVideoPortIndex )(
+ IVPManager * This,
+ /* [in] */ DWORD dwVideoPortIndex);
+
+ HRESULT ( STDMETHODCALLTYPE *GetVideoPortIndex )(
+ IVPManager * This,
+ /* [out] */ DWORD *pdwVideoPortIndex);
+
+ END_INTERFACE
+ } IVPManagerVtbl;
+
+ interface 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 /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+HRESULT STDMETHODCALLTYPE IVPManager_SetVideoPortIndex_Proxy(
+ IVPManager * This,
+ /* [in] */ DWORD dwVideoPortIndex);
+
+
+void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IVPManager_GetVideoPortIndex_Proxy(
+ IVPManager * This,
+ /* [out] */ DWORD *pdwVideoPortIndex);
+
+
+void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IVPManager_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_strmif_0403 */
+/* [local] */
+
+// Restore the previous setting for C4201 compiler warning
+#pragma warning(pop)
+
+
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec;
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
+void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
+
+/* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy(
+ ICaptureGraphBuilder * This,
+ /* [unique][in] */ const GUID *pCategory,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppint);
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Stub(
+ ICaptureGraphBuilder * This,
+ /* [unique][in] */ const GUID *pCategory,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppint);
+
+/* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ void **ppint);
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Stub(
+ ICaptureGraphBuilder2 * This,
+ /* [in] */ const GUID *pCategory,
+ /* [in] */ const GUID *pType,
+ /* [in] */ IBaseFilter *pf,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppint);
+
+/* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ LPVOID pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][in] */ LPVOID pPropData,
+ /* [in] */ DWORD cbPropData);
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Stub(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ byte *pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][in] */ byte *pPropData,
+ /* [in] */ DWORD cbPropData);
+
+/* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ LPVOID pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][out] */ LPVOID pPropData,
+ /* [in] */ DWORD cbPropData,
+ /* [out] */ DWORD *pcbReturned);
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Stub(
+ IKsPropertySet * This,
+ /* [in] */ REFGUID guidPropSet,
+ /* [in] */ DWORD dwPropID,
+ /* [size_is][in] */ byte *pInstanceData,
+ /* [in] */ DWORD cbInstanceData,
+ /* [size_is][out] */ byte *pPropData,
+ /* [in] */ DWORD cbPropData,
+ /* [out] */ DWORD *pcbReturned);
+
+
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+