xpmgr/BuildTools/Include/strmif.h

23639 lines
696 KiB
C++

/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */
/* Compiler settings for strmif.idl:
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
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( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#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 __IReferenceClockTimerControl_FWD_DEFINED__
#define __IReferenceClockTimerControl_FWD_DEFINED__
typedef interface IReferenceClockTimerControl IReferenceClockTimerControl;
#endif /* __IReferenceClockTimerControl_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 __IMediaSample2Config_FWD_DEFINED__
#define __IMediaSample2Config_FWD_DEFINED__
typedef interface IMediaSample2Config IMediaSample2Config;
#endif /* __IMediaSample2Config_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 __IFilterGraph3_FWD_DEFINED__
#define __IFilterGraph3_FWD_DEFINED__
typedef interface IFilterGraph3 IFilterGraph3;
#endif /* __IFilterGraph3_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 __IAMCertifiedOutputProtection_FWD_DEFINED__
#define __IAMCertifiedOutputProtection_FWD_DEFINED__
typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
#endif /* __IAMCertifiedOutputProtection_FWD_DEFINED__ */
#ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
#define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
typedef interface IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling;
#endif /* __IAMAsyncReaderTimestampScaling_FWD_DEFINED__ */
#ifndef __IAMPluginControl_FWD_DEFINED__
#define __IAMPluginControl_FWD_DEFINED__
typedef interface IAMPluginControl IAMPluginControl;
#endif /* __IAMPluginControl_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
/* interface __MIDL_itf_strmif_0000_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_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0000_v0_0_s_ifspec;
#ifndef __ICreateDevEnum_INTERFACE_DEFINED__
#define __ICreateDevEnum_INTERFACE_DEFINED__
/* interface ICreateDevEnum */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out IEnumMoniker **ppEnumMoniker,
/* [in] */ DWORD dwFlags) = 0;
};
#else /* C style interface */
typedef struct ICreateDevEnumVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICreateDevEnum * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICreateDevEnum * This);
ULONG ( STDMETHODCALLTYPE *Release )(
ICreateDevEnum * This);
HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )(
ICreateDevEnum * This,
/* [in] */ REFCLSID clsidDeviceClass,
/* [annotation][out] */
__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 */
#endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0001 */
/* [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;
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_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0001_v0_0_s_ifspec;
#ifndef __IPin_INTERFACE_DEFINED__
#define __IPin_INTERFACE_DEFINED__
/* interface IPin */
/* [unique][uuid][object][local] */
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,
/* [annotation][in] */
__in_opt 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(
/* [annotation][out] */
__out IPin **pPin) = 0;
virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType(
/* [annotation][out] */
__out AM_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryPinInfo(
/* [annotation][out] */
__out PIN_INFO *pInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryDirection(
/* [annotation][out] */
__out PIN_DIRECTION *pPinDir) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryId(
/* [annotation][out] */
__out LPWSTR *Id) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryAccept(
/* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes(
/* [annotation][out] */
__out IEnumMediaTypes **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections(
/* [annotation][out] */
__out_ecount_part_opt(*nPin, *nPin) 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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IPin * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IPin * This);
HRESULT ( STDMETHODCALLTYPE *Connect )(
IPin * This,
/* [in] */ IPin *pReceivePin,
/* [annotation][in] */
__in_opt 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,
/* [annotation][out] */
__out IPin **pPin);
HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )(
IPin * This,
/* [annotation][out] */
__out AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )(
IPin * This,
/* [annotation][out] */
__out PIN_INFO *pInfo);
HRESULT ( STDMETHODCALLTYPE *QueryDirection )(
IPin * This,
/* [annotation][out] */
__out PIN_DIRECTION *pPinDir);
HRESULT ( STDMETHODCALLTYPE *QueryId )(
IPin * This,
/* [annotation][out] */
__out LPWSTR *Id);
HRESULT ( STDMETHODCALLTYPE *QueryAccept )(
IPin * This,
/* [in] */ const AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )(
IPin * This,
/* [annotation][out] */
__out IEnumMediaTypes **ppEnum);
HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )(
IPin * This,
/* [annotation][out] */
__out_ecount_part_opt(*nPin, *nPin) 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 */
#endif /* __IPin_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0002 */
/* [local] */
typedef IPin *PPIN;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0002_v0_0_s_ifspec;
#ifndef __IEnumPins_INTERFACE_DEFINED__
#define __IEnumPins_INTERFACE_DEFINED__
/* interface IEnumPins */
/* [unique][uuid][object][local] */
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,
/* [annotation][size_is][out] */
__out_ecount_part(cPins, *pcFetched) IPin **ppPins,
/* [annotation][out] */
__out_opt ULONG *pcFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
/* [in] */ ULONG cPins) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [annotation][out] */
__out IEnumPins **ppEnum) = 0;
};
#else /* C style interface */
typedef struct IEnumPinsVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IEnumPins * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IEnumPins * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IEnumPins * This);
HRESULT ( STDMETHODCALLTYPE *Next )(
IEnumPins * This,
/* [in] */ ULONG cPins,
/* [annotation][size_is][out] */
__out_ecount_part(cPins, *pcFetched) IPin **ppPins,
/* [annotation][out] */
__out_opt ULONG *pcFetched);
HRESULT ( STDMETHODCALLTYPE *Skip )(
IEnumPins * This,
/* [in] */ ULONG cPins);
HRESULT ( STDMETHODCALLTYPE *Reset )(
IEnumPins * This);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IEnumPins * This,
/* [annotation][out] */
__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 */
#endif /* __IEnumPins_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0003 */
/* [local] */
typedef IEnumPins *PENUMPINS;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0003_v0_0_s_ifspec;
#ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
#define __IEnumMediaTypes_INTERFACE_DEFINED__
/* interface IEnumMediaTypes */
/* [unique][uuid][object][local] */
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,
/* [annotation][size_is][out] */
__out_ecount_part(cMediaTypes, *pcFetched) AM_MEDIA_TYPE **ppMediaTypes,
/* [annotation][out] */
__out_opt ULONG *pcFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
/* [in] */ ULONG cMediaTypes) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [annotation][out] */
__out IEnumMediaTypes **ppEnum) = 0;
};
#else /* C style interface */
typedef struct IEnumMediaTypesVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IEnumMediaTypes * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IEnumMediaTypes * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IEnumMediaTypes * This);
HRESULT ( STDMETHODCALLTYPE *Next )(
IEnumMediaTypes * This,
/* [in] */ ULONG cMediaTypes,
/* [annotation][size_is][out] */
__out_ecount_part(cMediaTypes, *pcFetched) AM_MEDIA_TYPE **ppMediaTypes,
/* [annotation][out] */
__out_opt ULONG *pcFetched);
HRESULT ( STDMETHODCALLTYPE *Skip )(
IEnumMediaTypes * This,
/* [in] */ ULONG cMediaTypes);
HRESULT ( STDMETHODCALLTYPE *Reset )(
IEnumMediaTypes * This);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IEnumMediaTypes * This,
/* [annotation][out] */
__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 */
#endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0004 */
/* [local] */
typedef IEnumMediaTypes *PENUMMEDIATYPES;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0004_v0_0_s_ifspec;
#ifndef __IFilterGraph_INTERFACE_DEFINED__
#define __IFilterGraph_INTERFACE_DEFINED__
/* interface IFilterGraph */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out IEnumFilters **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE FindFilterByName(
/* [string][in] */ LPCWSTR pName,
/* [annotation][out] */
__out IBaseFilter **ppFilter) = 0;
virtual HRESULT STDMETHODCALLTYPE ConnectDirect(
/* [in] */ IPin *ppinOut,
/* [in] */ IPin *ppinIn,
/* [annotation][unique][in] */
__in_opt 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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out IEnumFilters **ppEnum);
HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
IFilterGraph * This,
/* [string][in] */ LPCWSTR pName,
/* [annotation][out] */
__out IBaseFilter **ppFilter);
HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
IFilterGraph * This,
/* [in] */ IPin *ppinOut,
/* [in] */ IPin *ppinIn,
/* [annotation][unique][in] */
__in_opt 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 */
#endif /* __IFilterGraph_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0005 */
/* [local] */
typedef IFilterGraph *PFILTERGRAPH;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0005_v0_0_s_ifspec;
#ifndef __IEnumFilters_INTERFACE_DEFINED__
#define __IEnumFilters_INTERFACE_DEFINED__
/* interface IEnumFilters */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out_ecount_part(cFilters, *pcFetched) IBaseFilter **ppFilter,
/* [annotation][out] */
__out ULONG *pcFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
/* [in] */ ULONG cFilters) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [annotation][out] */
__out IEnumFilters **ppEnum) = 0;
};
#else /* C style interface */
typedef struct IEnumFiltersVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IEnumFilters * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IEnumFilters * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IEnumFilters * This);
HRESULT ( STDMETHODCALLTYPE *Next )(
IEnumFilters * This,
/* [in] */ ULONG cFilters,
/* [annotation][out] */
__out_ecount_part(cFilters, *pcFetched) IBaseFilter **ppFilter,
/* [annotation][out] */
__out ULONG *pcFetched);
HRESULT ( STDMETHODCALLTYPE *Skip )(
IEnumFilters * This,
/* [in] */ ULONG cFilters);
HRESULT ( STDMETHODCALLTYPE *Reset )(
IEnumFilters * This);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IEnumFilters * This,
/* [annotation][out] */
__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 */
#endif /* __IEnumFilters_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0006 */
/* [local] */
typedef IEnumFilters *PENUMFILTERS;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0006_v0_0_s_ifspec;
#ifndef __IMediaFilter_INTERFACE_DEFINED__
#define __IMediaFilter_INTERFACE_DEFINED__
/* interface IMediaFilter */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out FILTER_STATE *State) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
/* [annotation][in] */
__in_opt IReferenceClock *pClock) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSyncSource(
/* [annotation][out] */
__deref_out_opt IReferenceClock **pClock) = 0;
};
#else /* C style interface */
typedef struct IMediaFilterVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMediaFilter * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out FILTER_STATE *State);
HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
IMediaFilter * This,
/* [annotation][in] */
__in_opt IReferenceClock *pClock);
HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
IMediaFilter * This,
/* [annotation][out] */
__deref_out_opt 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 */
#endif /* __IMediaFilter_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0007 */
/* [local] */
typedef IMediaFilter *PMEDIAFILTER;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0007_v0_0_s_ifspec;
#ifndef __IBaseFilter_INTERFACE_DEFINED__
#define __IBaseFilter_INTERFACE_DEFINED__
/* interface IBaseFilter */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out IEnumPins **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE FindPin(
/* [string][in] */ LPCWSTR Id,
/* [annotation][out] */
__out IPin **ppPin) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo(
/* [annotation][out] */
__out FILTER_INFO *pInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
/* [annotation][in] */
__in_opt IFilterGraph *pGraph,
/* [annotation][string][in] */
__in_opt LPCWSTR pName) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo(
/* [annotation][string][out] */
__out LPWSTR *pVendorInfo) = 0;
};
#else /* C style interface */
typedef struct IBaseFilterVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IBaseFilter * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out FILTER_STATE *State);
HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
IBaseFilter * This,
/* [annotation][in] */
__in_opt IReferenceClock *pClock);
HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
IBaseFilter * This,
/* [annotation][out] */
__deref_out_opt IReferenceClock **pClock);
HRESULT ( STDMETHODCALLTYPE *EnumPins )(
IBaseFilter * This,
/* [annotation][out] */
__out IEnumPins **ppEnum);
HRESULT ( STDMETHODCALLTYPE *FindPin )(
IBaseFilter * This,
/* [string][in] */ LPCWSTR Id,
/* [annotation][out] */
__out IPin **ppPin);
HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )(
IBaseFilter * This,
/* [annotation][out] */
__out FILTER_INFO *pInfo);
HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(
IBaseFilter * This,
/* [annotation][in] */
__in_opt IFilterGraph *pGraph,
/* [annotation][string][in] */
__in_opt LPCWSTR pName);
HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )(
IBaseFilter * This,
/* [annotation][string][out] */
__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 */
#endif /* __IBaseFilter_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0008 */
/* [local] */
typedef IBaseFilter *PFILTER;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0008_v0_0_s_ifspec;
#ifndef __IReferenceClock_INTERFACE_DEFINED__
#define __IReferenceClock_INTERFACE_DEFINED__
/* interface IReferenceClock */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out REFERENCE_TIME *pTime) = 0;
virtual HRESULT STDMETHODCALLTYPE AdviseTime(
/* [in] */ REFERENCE_TIME baseTime,
/* [in] */ REFERENCE_TIME streamTime,
/* [in] */ HEVENT hEvent,
/* [annotation][out] */
__out DWORD_PTR *pdwAdviseCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic(
/* [in] */ REFERENCE_TIME startTime,
/* [in] */ REFERENCE_TIME periodTime,
/* [in] */ HSEMAPHORE hSemaphore,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IReferenceClock * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IReferenceClock * This);
HRESULT ( STDMETHODCALLTYPE *GetTime )(
IReferenceClock * This,
/* [annotation][out] */
__out REFERENCE_TIME *pTime);
HRESULT ( STDMETHODCALLTYPE *AdviseTime )(
IReferenceClock * This,
/* [in] */ REFERENCE_TIME baseTime,
/* [in] */ REFERENCE_TIME streamTime,
/* [in] */ HEVENT hEvent,
/* [annotation][out] */
__out DWORD_PTR *pdwAdviseCookie);
HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(
IReferenceClock * This,
/* [in] */ REFERENCE_TIME startTime,
/* [in] */ REFERENCE_TIME periodTime,
/* [in] */ HSEMAPHORE hSemaphore,
/* [annotation][out] */
__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 */
#endif /* __IReferenceClock_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0009 */
/* [local] */
typedef IReferenceClock *PREFERENCECLOCK;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0009_v0_0_s_ifspec;
#ifndef __IReferenceClockTimerControl_INTERFACE_DEFINED__
#define __IReferenceClockTimerControl_INTERFACE_DEFINED__
/* interface IReferenceClockTimerControl */
/* [unique][uuid][object][local] */
EXTERN_C const IID IID_IReferenceClockTimerControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ebec459c-2eca-4d42-a8af-30df557614b8")
IReferenceClockTimerControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetDefaultTimerResolution(
REFERENCE_TIME timerResolution) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultTimerResolution(
/* [annotation] */
__out REFERENCE_TIME *pTimerResolution) = 0;
};
#else /* C style interface */
typedef struct IReferenceClockTimerControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IReferenceClockTimerControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IReferenceClockTimerControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IReferenceClockTimerControl * This);
HRESULT ( STDMETHODCALLTYPE *SetDefaultTimerResolution )(
IReferenceClockTimerControl * This,
REFERENCE_TIME timerResolution);
HRESULT ( STDMETHODCALLTYPE *GetDefaultTimerResolution )(
IReferenceClockTimerControl * This,
/* [annotation] */
__out REFERENCE_TIME *pTimerResolution);
END_INTERFACE
} IReferenceClockTimerControlVtbl;
interface IReferenceClockTimerControl
{
CONST_VTBL struct IReferenceClockTimerControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IReferenceClockTimerControl_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IReferenceClockTimerControl_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IReferenceClockTimerControl_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IReferenceClockTimerControl_SetDefaultTimerResolution(This,timerResolution) \
( (This)->lpVtbl -> SetDefaultTimerResolution(This,timerResolution) )
#define IReferenceClockTimerControl_GetDefaultTimerResolution(This,pTimerResolution) \
( (This)->lpVtbl -> GetDefaultTimerResolution(This,pTimerResolution) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IReferenceClockTimerControl_INTERFACE_DEFINED__ */
#ifndef __IReferenceClock2_INTERFACE_DEFINED__
#define __IReferenceClock2_INTERFACE_DEFINED__
/* interface IReferenceClock2 */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IReferenceClock2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IReferenceClock2 * This);
HRESULT ( STDMETHODCALLTYPE *GetTime )(
IReferenceClock2 * This,
/* [annotation][out] */
__out REFERENCE_TIME *pTime);
HRESULT ( STDMETHODCALLTYPE *AdviseTime )(
IReferenceClock2 * This,
/* [in] */ REFERENCE_TIME baseTime,
/* [in] */ REFERENCE_TIME streamTime,
/* [in] */ HEVENT hEvent,
/* [annotation][out] */
__out DWORD_PTR *pdwAdviseCookie);
HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(
IReferenceClock2 * This,
/* [in] */ REFERENCE_TIME startTime,
/* [in] */ REFERENCE_TIME periodTime,
/* [in] */ HSEMAPHORE hSemaphore,
/* [annotation][out] */
__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_0000_0011 */
/* [local] */
typedef IReferenceClock2 *PREFERENCECLOCK2;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0011_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(
/* [annotation][out] */
__out BYTE **ppBuffer) = 0;
virtual long STDMETHODCALLTYPE GetSize( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTime(
/* [annotation][out] */
__out REFERENCE_TIME *pTimeStart,
/* [annotation][out] */
__out REFERENCE_TIME *pTimeEnd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTime(
/* [annotation][in] */
__in_opt REFERENCE_TIME *pTimeStart,
/* [annotation][in] */
__in_opt 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__IMediaSample0000) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMediaType(
/* [annotation][out] */
__out AM_MEDIA_TYPE **ppMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMediaType(
/* [annotation][in] */
__in AM_MEDIA_TYPE *pMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
BOOL bDiscontinuity) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
/* [annotation][out] */
__out LONGLONG *pTimeStart,
/* [annotation][out] */
__out LONGLONG *pTimeEnd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
/* [annotation][in] */
__in_opt LONGLONG *pTimeStart,
/* [annotation][in] */
__in_opt LONGLONG *pTimeEnd) = 0;
};
#else /* C style interface */
typedef struct IMediaSampleVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMediaSample * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMediaSample * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMediaSample * This);
HRESULT ( STDMETHODCALLTYPE *GetPointer )(
IMediaSample * This,
/* [annotation][out] */
__out BYTE **ppBuffer);
long ( STDMETHODCALLTYPE *GetSize )(
IMediaSample * This);
HRESULT ( STDMETHODCALLTYPE *GetTime )(
IMediaSample * This,
/* [annotation][out] */
__out REFERENCE_TIME *pTimeStart,
/* [annotation][out] */
__out REFERENCE_TIME *pTimeEnd);
HRESULT ( STDMETHODCALLTYPE *SetTime )(
IMediaSample * This,
/* [annotation][in] */
__in_opt REFERENCE_TIME *pTimeStart,
/* [annotation][in] */
__in_opt 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__IMediaSample0000);
HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
IMediaSample * This,
/* [annotation][out] */
__out AM_MEDIA_TYPE **ppMediaType);
HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
IMediaSample * This,
/* [annotation][in] */
__in AM_MEDIA_TYPE *pMediaType);
HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(
IMediaSample * This);
HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(
IMediaSample * This,
BOOL bDiscontinuity);
HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
IMediaSample * This,
/* [annotation][out] */
__out LONGLONG *pTimeStart,
/* [annotation][out] */
__out LONGLONG *pTimeEnd);
HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
IMediaSample * This,
/* [annotation][in] */
__in_opt LONGLONG *pTimeStart,
/* [annotation][in] */
__in_opt 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__IMediaSample0000) \
( (This)->lpVtbl -> SetActualDataLength(This,__MIDL__IMediaSample0000) )
#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 */
#endif /* __IMediaSample_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0012 */
/* [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_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0012_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,
/* [annotation][size_is][out] */
__out_bcount(cbProperties) BYTE *pbProperties) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProperties(
/* [in] */ DWORD cbProperties,
/* [annotation][size_is][in] */
__in_bcount(cbProperties) const BYTE *pbProperties) = 0;
};
#else /* C style interface */
typedef struct IMediaSample2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMediaSample2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMediaSample2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMediaSample2 * This);
HRESULT ( STDMETHODCALLTYPE *GetPointer )(
IMediaSample2 * This,
/* [annotation][out] */
__out BYTE **ppBuffer);
long ( STDMETHODCALLTYPE *GetSize )(
IMediaSample2 * This);
HRESULT ( STDMETHODCALLTYPE *GetTime )(
IMediaSample2 * This,
/* [annotation][out] */
__out REFERENCE_TIME *pTimeStart,
/* [annotation][out] */
__out REFERENCE_TIME *pTimeEnd);
HRESULT ( STDMETHODCALLTYPE *SetTime )(
IMediaSample2 * This,
/* [annotation][in] */
__in_opt REFERENCE_TIME *pTimeStart,
/* [annotation][in] */
__in_opt 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__IMediaSample0000);
HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
IMediaSample2 * This,
/* [annotation][out] */
__out AM_MEDIA_TYPE **ppMediaType);
HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
IMediaSample2 * This,
/* [annotation][in] */
__in AM_MEDIA_TYPE *pMediaType);
HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(
IMediaSample2 * This);
HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(
IMediaSample2 * This,
BOOL bDiscontinuity);
HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
IMediaSample2 * This,
/* [annotation][out] */
__out LONGLONG *pTimeStart,
/* [annotation][out] */
__out LONGLONG *pTimeEnd);
HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
IMediaSample2 * This,
/* [annotation][in] */
__in_opt LONGLONG *pTimeStart,
/* [annotation][in] */
__in_opt LONGLONG *pTimeEnd);
HRESULT ( STDMETHODCALLTYPE *GetProperties )(
IMediaSample2 * This,
/* [in] */ DWORD cbProperties,
/* [annotation][size_is][out] */
__out_bcount(cbProperties) BYTE *pbProperties);
HRESULT ( STDMETHODCALLTYPE *SetProperties )(
IMediaSample2 * This,
/* [in] */ DWORD cbProperties,
/* [annotation][size_is][in] */
__in_bcount(cbProperties) 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__IMediaSample0000) \
( (This)->lpVtbl -> SetActualDataLength(This,__MIDL__IMediaSample0000) )
#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 */
#endif /* __IMediaSample2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0013 */
/* [local] */
typedef IMediaSample2 *PMEDIASAMPLE2;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0013_v0_0_s_ifspec;
#ifndef __IMediaSample2Config_INTERFACE_DEFINED__
#define __IMediaSample2Config_INTERFACE_DEFINED__
/* interface IMediaSample2Config */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IMediaSample2Config;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("68961E68-832B-41ea-BC91-63593F3E70E3")
IMediaSample2Config : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetSurface(
/* [out] */ __RPC__deref_out_opt IUnknown **ppDirect3DSurface9) = 0;
};
#else /* C style interface */
typedef struct IMediaSample2ConfigVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMediaSample2Config * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMediaSample2Config * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMediaSample2Config * This);
HRESULT ( STDMETHODCALLTYPE *GetSurface )(
__RPC__in IMediaSample2Config * This,
/* [out] */ __RPC__deref_out_opt IUnknown **ppDirect3DSurface9);
END_INTERFACE
} IMediaSample2ConfigVtbl;
interface IMediaSample2Config
{
CONST_VTBL struct IMediaSample2ConfigVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMediaSample2Config_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMediaSample2Config_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMediaSample2Config_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMediaSample2Config_GetSurface(This,ppDirect3DSurface9) \
( (This)->lpVtbl -> GetSurface(This,ppDirect3DSurface9) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMediaSample2Config_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0014 */
/* [local] */
#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_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0014_v0_0_s_ifspec;
#ifndef __IMemAllocator_INTERFACE_DEFINED__
#define __IMemAllocator_INTERFACE_DEFINED__
/* interface IMemAllocator */
/* [unique][uuid][object][local] */
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(
/* [annotation][in] */
__in ALLOCATOR_PROPERTIES *pRequest,
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pActual) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProperties(
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pProps) = 0;
virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBuffer(
/* [annotation][out] */
__out IMediaSample **ppBuffer,
/* [annotation][unique][in] */
__in_opt REFERENCE_TIME *pStartTime,
/* [annotation][unique][in] */
__in_opt 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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMemAllocator * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMemAllocator * This);
HRESULT ( STDMETHODCALLTYPE *SetProperties )(
IMemAllocator * This,
/* [annotation][in] */
__in ALLOCATOR_PROPERTIES *pRequest,
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pActual);
HRESULT ( STDMETHODCALLTYPE *GetProperties )(
IMemAllocator * This,
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pProps);
HRESULT ( STDMETHODCALLTYPE *Commit )(
IMemAllocator * This);
HRESULT ( STDMETHODCALLTYPE *Decommit )(
IMemAllocator * This);
HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
IMemAllocator * This,
/* [annotation][out] */
__out IMediaSample **ppBuffer,
/* [annotation][unique][in] */
__in_opt REFERENCE_TIME *pStartTime,
/* [annotation][unique][in] */
__in_opt 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 */
#endif /* __IMemAllocator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0015 */
/* [local] */
typedef IMemAllocator *PMEMALLOCATOR;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0015_v0_0_s_ifspec;
#ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
#define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
/* interface IMemAllocatorCallbackTemp */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out LONG *plBuffersFree) = 0;
};
#else /* C style interface */
typedef struct IMemAllocatorCallbackTempVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMemAllocatorCallbackTemp * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMemAllocatorCallbackTemp * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMemAllocatorCallbackTemp * This);
HRESULT ( STDMETHODCALLTYPE *SetProperties )(
IMemAllocatorCallbackTemp * This,
/* [annotation][in] */
__in ALLOCATOR_PROPERTIES *pRequest,
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pActual);
HRESULT ( STDMETHODCALLTYPE *GetProperties )(
IMemAllocatorCallbackTemp * This,
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pProps);
HRESULT ( STDMETHODCALLTYPE *Commit )(
IMemAllocatorCallbackTemp * This);
HRESULT ( STDMETHODCALLTYPE *Decommit )(
IMemAllocatorCallbackTemp * This);
HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
IMemAllocatorCallbackTemp * This,
/* [annotation][out] */
__out IMediaSample **ppBuffer,
/* [annotation][unique][in] */
__in_opt REFERENCE_TIME *pStartTime,
/* [annotation][unique][in] */
__in_opt 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,
/* [annotation][out] */
__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 */
#endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
#ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
#define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
/* interface IMemAllocatorNotifyCallbackTemp */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
#ifndef __IMemInputPin_INTERFACE_DEFINED__
#define __IMemInputPin_INTERFACE_DEFINED__
/* interface IMemInputPin */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out IMemAllocator **ppAllocator) = 0;
virtual HRESULT STDMETHODCALLTYPE NotifyAllocator(
/* [in] */ IMemAllocator *pAllocator,
/* [in] */ BOOL bReadOnly) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pProps) = 0;
virtual HRESULT STDMETHODCALLTYPE Receive(
/* [in] */ IMediaSample *pSample) = 0;
virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple(
/* [annotation][size_is][in] */
__in_ecount(nSamples) IMediaSample **pSamples,
/* [in] */ long nSamples,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMemInputPin * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMemInputPin * This);
HRESULT ( STDMETHODCALLTYPE *GetAllocator )(
IMemInputPin * This,
/* [annotation][out] */
__out IMemAllocator **ppAllocator);
HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )(
IMemInputPin * This,
/* [in] */ IMemAllocator *pAllocator,
/* [in] */ BOOL bReadOnly);
HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )(
IMemInputPin * This,
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pProps);
HRESULT ( STDMETHODCALLTYPE *Receive )(
IMemInputPin * This,
/* [in] */ IMediaSample *pSample);
HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )(
IMemInputPin * This,
/* [annotation][size_is][in] */
__in_ecount(nSamples) IMediaSample **pSamples,
/* [in] */ long nSamples,
/* [annotation][out] */
__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 */
#endif /* __IMemInputPin_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0018 */
/* [local] */
typedef IMemInputPin *PMEMINPUTPIN;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0018_v0_0_s_ifspec;
#ifndef __IAMovieSetup_INTERFACE_DEFINED__
#define __IAMovieSetup_INTERFACE_DEFINED__
/* interface IAMovieSetup */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IAMovieSetup_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0019 */
/* [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_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0019_v0_0_s_ifspec;
#ifndef __IMediaSeeking_INTERFACE_DEFINED__
#define __IMediaSeeking_INTERFACE_DEFINED__
/* interface IMediaSeeking */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__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(
/* [annotation][out] */
__out GUID *pFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
/* [annotation][out] */
__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(
/* [annotation][out] */
__out LONGLONG *pDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStopPosition(
/* [annotation][out] */
__out LONGLONG *pStop) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
/* [annotation][out] */
__out LONGLONG *pCurrent) = 0;
virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat(
/* [annotation][out] */
__out LONGLONG *pTarget,
/* [annotation][in] */
__in_opt const GUID *pTargetFormat,
/* [in] */ LONGLONG Source,
/* [annotation][in] */
__in_opt const GUID *pSourceFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPositions(
/* [annotation][out][in] */
__inout_opt LONGLONG *pCurrent,
/* [in] */ DWORD dwCurrentFlags,
/* [annotation][out][in] */
__inout_opt LONGLONG *pStop,
/* [in] */ DWORD dwStopFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPositions(
/* [annotation][out] */
__out_opt LONGLONG *pCurrent,
/* [annotation][out] */
__out_opt LONGLONG *pStop) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailable(
/* [annotation][out] */
__out_opt LONGLONG *pEarliest,
/* [annotation][out] */
__out_opt LONGLONG *pLatest) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRate(
/* [in] */ double dRate) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRate(
/* [annotation][out] */
__out double *pdRate) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPreroll(
/* [annotation][out] */
__out LONGLONG *pllPreroll) = 0;
};
#else /* C style interface */
typedef struct IMediaSeekingVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMediaSeeking * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMediaSeeking * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMediaSeeking * This);
HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
IMediaSeeking * This,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out GUID *pFormat);
HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )(
IMediaSeeking * This,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out LONGLONG *pDuration);
HRESULT ( STDMETHODCALLTYPE *GetStopPosition )(
IMediaSeeking * This,
/* [annotation][out] */
__out LONGLONG *pStop);
HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )(
IMediaSeeking * This,
/* [annotation][out] */
__out LONGLONG *pCurrent);
HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )(
IMediaSeeking * This,
/* [annotation][out] */
__out LONGLONG *pTarget,
/* [annotation][in] */
__in_opt const GUID *pTargetFormat,
/* [in] */ LONGLONG Source,
/* [annotation][in] */
__in_opt const GUID *pSourceFormat);
HRESULT ( STDMETHODCALLTYPE *SetPositions )(
IMediaSeeking * This,
/* [annotation][out][in] */
__inout_opt LONGLONG *pCurrent,
/* [in] */ DWORD dwCurrentFlags,
/* [annotation][out][in] */
__inout_opt LONGLONG *pStop,
/* [in] */ DWORD dwStopFlags);
HRESULT ( STDMETHODCALLTYPE *GetPositions )(
IMediaSeeking * This,
/* [annotation][out] */
__out_opt LONGLONG *pCurrent,
/* [annotation][out] */
__out_opt LONGLONG *pStop);
HRESULT ( STDMETHODCALLTYPE *GetAvailable )(
IMediaSeeking * This,
/* [annotation][out] */
__out_opt LONGLONG *pEarliest,
/* [annotation][out] */
__out_opt LONGLONG *pLatest);
HRESULT ( STDMETHODCALLTYPE *SetRate )(
IMediaSeeking * This,
/* [in] */ double dRate);
HRESULT ( STDMETHODCALLTYPE *GetRate )(
IMediaSeeking * This,
/* [annotation][out] */
__out double *pdRate);
HRESULT ( STDMETHODCALLTYPE *GetPreroll )(
IMediaSeeking * This,
/* [annotation][out] */
__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 */
#endif /* __IMediaSeeking_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0020 */
/* [local] */
typedef IMediaSeeking *PMEDIASEEKING;
enum tagAM_MEDIAEVENT_FLAGS
{
AM_MEDIAEVENT_NONOTIFY = 0x01
};
typedef struct REGFILTER
{
CLSID Clsid;
LPWSTR Name;
} REGFILTER;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0020_v0_0_s_ifspec;
#ifndef __IEnumRegFilters_INTERFACE_DEFINED__
#define __IEnumRegFilters_INTERFACE_DEFINED__
/* interface IEnumRegFilters */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out_ecount_part(cFilters, *pcFetched) REGFILTER **apRegFilter,
/* [annotation][out] */
__inout_opt ULONG *pcFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
/* [in] */ ULONG cFilters) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [annotation][out] */
__out IEnumRegFilters **ppEnum) = 0;
};
#else /* C style interface */
typedef struct IEnumRegFiltersVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IEnumRegFilters * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IEnumRegFilters * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IEnumRegFilters * This);
HRESULT ( STDMETHODCALLTYPE *Next )(
IEnumRegFilters * This,
/* [in] */ ULONG cFilters,
/* [annotation][out] */
__out_ecount_part(cFilters, *pcFetched) REGFILTER **apRegFilter,
/* [annotation][out] */
__inout_opt ULONG *pcFetched);
HRESULT ( STDMETHODCALLTYPE *Skip )(
IEnumRegFilters * This,
/* [in] */ ULONG cFilters);
HRESULT ( STDMETHODCALLTYPE *Reset )(
IEnumRegFilters * This);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IEnumRegFilters * This,
/* [annotation][out] */
__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 */
#endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0021 */
/* [local] */
typedef IEnumRegFilters *PENUMREGFILTERS;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0021_v0_0_s_ifspec;
#ifndef __IFilterMapper_INTERFACE_DEFINED__
#define __IFilterMapper_INTERFACE_DEFINED__
/* interface IFilterMapper */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__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(
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__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,
/* [annotation][out] */
__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 */
#endif /* __IFilterMapper_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0022 */
/* [local] */
typedef struct REGPINTYPES
{
const CLSID *clsMajorType;
const CLSID *clsMinorType;
} REGPINTYPES;
typedef struct REGFILTERPINS
{
LPWSTR strName;
BOOL bRendered;
BOOL bOutput;
BOOL bZero;
BOOL bMany;
const CLSID *clsConnectsToFilter;
const WCHAR *strConnectsToPin;
UINT nMediaTypes;
const REGPINTYPES *lpMediaType;
} REGFILTERPINS;
typedef struct REGPINMEDIUM
{
CLSID clsMedium;
DWORD dw1;
DWORD dw2;
} REGPINMEDIUM;
enum __MIDL___MIDL_itf_strmif_0000_0022_0001
{ REG_PINFLAG_B_ZERO = 0x1,
REG_PINFLAG_B_RENDERER = 0x2,
REG_PINFLAG_B_MANY = 0x4,
REG_PINFLAG_B_OUTPUT = 0x8
} ;
typedef struct REGFILTERPINS2
{
DWORD dwFlags;
UINT cInstances;
UINT nMediaTypes;
const REGPINTYPES *lpMediaType;
UINT nMediums;
const REGPINMEDIUM *lpMedium;
const CLSID *clsPinCategory;
} REGFILTERPINS2;
typedef struct REGFILTER2
{
DWORD dwVersion;
DWORD dwMerit;
union
{
struct
{
ULONG cPins;
const REGFILTERPINS *rgPins;
} ;
struct
{
ULONG cPins2;
const REGFILTERPINS2 *rgPins2;
} ;
} ;
} REGFILTER2;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0022_v0_0_s_ifspec;
#ifndef __IFilterMapper2_INTERFACE_DEFINED__
#define __IFilterMapper2_INTERFACE_DEFINED__
/* interface IFilterMapper2 */
/* [unique][uuid][object][local] */
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] */ LPCOLESTR szInstance,
/* [in] */ REFCLSID Filter) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
/* [in] */ REFCLSID clsidFilter,
/* [in] */ LPCWSTR Name,
/* [annotation][out][in] */
__deref_opt_inout_opt IMoniker **ppMoniker,
/* [in] */ const CLSID *pclsidCategory,
/* [annotation][in] */
__in LPCOLESTR szInstance,
/* [in] */ const REGFILTER2 *prf2) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
/* [annotation][out] */
__out IEnumMoniker **ppEnum,
/* [in] */ DWORD dwFlags,
/* [in] */ BOOL bExactMatch,
/* [in] */ DWORD dwMerit,
/* [in] */ BOOL bInputNeeded,
/* [in] */ DWORD cInputTypes,
/* [annotation][size_is] */
__in_ecount_opt(cInputTypes * 2) const GUID *pInputTypes,
/* [annotation][in] */
__in_opt const REGPINMEDIUM *pMedIn,
/* [annotation][in] */
__in_opt const CLSID *pPinCategoryIn,
/* [in] */ BOOL bRender,
/* [in] */ BOOL bOutputNeeded,
/* [in] */ DWORD cOutputTypes,
/* [annotation][size_is] */
__in_ecount_opt(cOutputTypes * 2) const GUID *pOutputTypes,
/* [annotation][in] */
__in_opt const REGPINMEDIUM *pMedOut,
/* [annotation][in] */
__in_opt const CLSID *pPinCategoryOut) = 0;
};
#else /* C style interface */
typedef struct IFilterMapper2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IFilterMapper2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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] */ LPCOLESTR szInstance,
/* [in] */ REFCLSID Filter);
HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
IFilterMapper2 * This,
/* [in] */ REFCLSID clsidFilter,
/* [in] */ LPCWSTR Name,
/* [annotation][out][in] */
__deref_opt_inout_opt IMoniker **ppMoniker,
/* [in] */ const CLSID *pclsidCategory,
/* [annotation][in] */
__in LPCOLESTR szInstance,
/* [in] */ const REGFILTER2 *prf2);
HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
IFilterMapper2 * This,
/* [annotation][out] */
__out IEnumMoniker **ppEnum,
/* [in] */ DWORD dwFlags,
/* [in] */ BOOL bExactMatch,
/* [in] */ DWORD dwMerit,
/* [in] */ BOOL bInputNeeded,
/* [in] */ DWORD cInputTypes,
/* [annotation][size_is] */
__in_ecount_opt(cInputTypes * 2) const GUID *pInputTypes,
/* [annotation][in] */
__in_opt const REGPINMEDIUM *pMedIn,
/* [annotation][in] */
__in_opt const CLSID *pPinCategoryIn,
/* [in] */ BOOL bRender,
/* [in] */ BOOL bOutputNeeded,
/* [in] */ DWORD cOutputTypes,
/* [annotation][size_is] */
__in_ecount_opt(cOutputTypes * 2) const GUID *pOutputTypes,
/* [annotation][in] */
__in_opt const REGPINMEDIUM *pMedOut,
/* [annotation][in] */
__in_opt 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 */
#endif /* __IFilterMapper2_INTERFACE_DEFINED__ */
#ifndef __IFilterMapper3_INTERFACE_DEFINED__
#define __IFilterMapper3_INTERFACE_DEFINED__
/* interface IFilterMapper3 */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out ICreateDevEnum **ppEnum) = 0;
};
#else /* C style interface */
typedef struct IFilterMapper3Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IFilterMapper3 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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] */ LPCOLESTR szInstance,
/* [in] */ REFCLSID Filter);
HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
IFilterMapper3 * This,
/* [in] */ REFCLSID clsidFilter,
/* [in] */ LPCWSTR Name,
/* [annotation][out][in] */
__deref_opt_inout_opt IMoniker **ppMoniker,
/* [in] */ const CLSID *pclsidCategory,
/* [annotation][in] */
__in LPCOLESTR szInstance,
/* [in] */ const REGFILTER2 *prf2);
HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
IFilterMapper3 * This,
/* [annotation][out] */
__out IEnumMoniker **ppEnum,
/* [in] */ DWORD dwFlags,
/* [in] */ BOOL bExactMatch,
/* [in] */ DWORD dwMerit,
/* [in] */ BOOL bInputNeeded,
/* [in] */ DWORD cInputTypes,
/* [annotation][size_is] */
__in_ecount_opt(cInputTypes * 2) const GUID *pInputTypes,
/* [annotation][in] */
__in_opt const REGPINMEDIUM *pMedIn,
/* [annotation][in] */
__in_opt const CLSID *pPinCategoryIn,
/* [in] */ BOOL bRender,
/* [in] */ BOOL bOutputNeeded,
/* [in] */ DWORD cOutputTypes,
/* [annotation][size_is] */
__in_ecount_opt(cOutputTypes * 2) const GUID *pOutputTypes,
/* [annotation][in] */
__in_opt const REGPINMEDIUM *pMedOut,
/* [annotation][in] */
__in_opt const CLSID *pPinCategoryOut);
HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )(
IFilterMapper3 * This,
/* [annotation][out] */
__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 */
#endif /* __IFilterMapper3_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0024 */
/* [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_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0024_v0_0_s_ifspec;
#ifndef __IQualityControl_INTERFACE_DEFINED__
#define __IQualityControl_INTERFACE_DEFINED__
/* interface IQualityControl */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IQualityControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0025 */
/* [local] */
enum __MIDL___MIDL_itf_strmif_0000_0025_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_0000_0025_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_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0025_v0_0_s_ifspec;
#ifndef __IOverlayNotify_INTERFACE_DEFINED__
#define __IOverlayNotify_INTERFACE_DEFINED__
/* interface IOverlayNotify */
/* [unique][uuid][local][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IOverlayNotify_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0026 */
/* [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_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0026_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0027 */
/* [local] */
typedef IOverlayNotify2 *POVERLAYNOTIFY2;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0027_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(
/* [annotation][out] */
__inout DWORD *pdwColors,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount_part(*pdwColors, *pdwColors) PALETTEENTRY **ppPalette) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPalette(
/* [in] */ DWORD dwColors,
/* [annotation][size_is][in] */
__in_ecount(dwColors) PALETTEENTRY *pPalette) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey(
/* [annotation][out] */
__out COLORKEY *pColorKey) = 0;
virtual HRESULT STDMETHODCALLTYPE GetColorKey(
/* [annotation][out] */
__out COLORKEY *pColorKey) = 0;
virtual HRESULT STDMETHODCALLTYPE SetColorKey(
/* [out][in] */ COLORKEY *pColorKey) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWindowHandle(
/* [annotation][out] */
__out HWND *pHwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClipList(
/* [annotation][out] */
__out RECT *pSourceRect,
/* [annotation][out] */
__out RECT *pDestinationRect,
/* [annotation][out] */
__out RGNDATA **ppRgnData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
/* [annotation][out] */
__out RECT *pSourceRect,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IOverlay * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IOverlay * This);
HRESULT ( STDMETHODCALLTYPE *GetPalette )(
IOverlay * This,
/* [annotation][out] */
__inout DWORD *pdwColors,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount_part(*pdwColors, *pdwColors) PALETTEENTRY **ppPalette);
HRESULT ( STDMETHODCALLTYPE *SetPalette )(
IOverlay * This,
/* [in] */ DWORD dwColors,
/* [annotation][size_is][in] */
__in_ecount(dwColors) PALETTEENTRY *pPalette);
HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )(
IOverlay * This,
/* [annotation][out] */
__out COLORKEY *pColorKey);
HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
IOverlay * This,
/* [annotation][out] */
__out COLORKEY *pColorKey);
HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
IOverlay * This,
/* [out][in] */ COLORKEY *pColorKey);
HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )(
IOverlay * This,
/* [annotation][out] */
__out HWND *pHwnd);
HRESULT ( STDMETHODCALLTYPE *GetClipList )(
IOverlay * This,
/* [annotation][out] */
__out RECT *pSourceRect,
/* [annotation][out] */
__out RECT *pDestinationRect,
/* [annotation][out] */
__out RGNDATA **ppRgnData);
HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(
IOverlay * This,
/* [annotation][out] */
__out RECT *pSourceRect,
/* [annotation][out] */
__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 */
#endif /* __IOverlay_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0028 */
/* [local] */
typedef IOverlay *POVERLAY;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0028_v0_0_s_ifspec;
#ifndef __IMediaEventSink_INTERFACE_DEFINED__
#define __IMediaEventSink_INTERFACE_DEFINED__
/* interface IMediaEventSink */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IMediaEventSink_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0029 */
/* [local] */
typedef IMediaEventSink *PMEDIAEVENTSINK;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0029_v0_0_s_ifspec;
#ifndef __IFileSourceFilter_INTERFACE_DEFINED__
#define __IFileSourceFilter_INTERFACE_DEFINED__
/* interface IFileSourceFilter */
/* [unique][uuid][object][local] */
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,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurFile(
/* [annotation][out] */
__out LPOLESTR *ppszFileName,
/* [annotation][out] */
__out_opt AM_MEDIA_TYPE *pmt) = 0;
};
#else /* C style interface */
typedef struct IFileSourceFilterVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IFileSourceFilter * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IFileSourceFilter * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IFileSourceFilter * This);
HRESULT ( STDMETHODCALLTYPE *Load )(
IFileSourceFilter * This,
/* [in] */ LPCOLESTR pszFileName,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
IFileSourceFilter * This,
/* [annotation][out] */
__out LPOLESTR *ppszFileName,
/* [annotation][out] */
__out_opt 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 */
#endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0030 */
/* [local] */
typedef IFileSourceFilter *PFILTERFILESOURCE;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0030_v0_0_s_ifspec;
#ifndef __IFileSinkFilter_INTERFACE_DEFINED__
#define __IFileSinkFilter_INTERFACE_DEFINED__
/* interface IFileSinkFilter */
/* [unique][uuid][object][local] */
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,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurFile(
/* [annotation][out] */
__out LPOLESTR *ppszFileName,
/* [annotation][out] */
__out AM_MEDIA_TYPE *pmt) = 0;
};
#else /* C style interface */
typedef struct IFileSinkFilterVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IFileSinkFilter * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IFileSinkFilter * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IFileSinkFilter * This);
HRESULT ( STDMETHODCALLTYPE *SetFileName )(
IFileSinkFilter * This,
/* [in] */ LPCOLESTR pszFileName,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
IFileSinkFilter * This,
/* [annotation][out] */
__out LPOLESTR *ppszFileName,
/* [annotation][out] */
__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 */
#endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0031 */
/* [local] */
typedef IFileSinkFilter *PFILTERFILESINK;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0031_v0_0_s_ifspec;
#ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
#define __IFileSinkFilter2_INTERFACE_DEFINED__
/* interface IFileSinkFilter2 */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out DWORD *pdwFlags) = 0;
};
#else /* C style interface */
typedef struct IFileSinkFilter2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IFileSinkFilter2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IFileSinkFilter2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IFileSinkFilter2 * This);
HRESULT ( STDMETHODCALLTYPE *SetFileName )(
IFileSinkFilter2 * This,
/* [in] */ LPCOLESTR pszFileName,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
IFileSinkFilter2 * This,
/* [annotation][out] */
__out LPOLESTR *ppszFileName,
/* [annotation][out] */
__out AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *SetMode )(
IFileSinkFilter2 * This,
/* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE *GetMode )(
IFileSinkFilter2 * This,
/* [annotation][out] */
__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 */
#endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0032 */
/* [local] */
typedef IFileSinkFilter2 *PFILESINKFILTER2;
typedef
enum AM_FILESINK_FLAGS
{ AM_FILE_OVERWRITE = 0x1
} AM_FILESINK_FLAGS;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0032_v0_0_s_ifspec;
#ifndef __IGraphBuilder_INTERFACE_DEFINED__
#define __IGraphBuilder_INTERFACE_DEFINED__
/* interface IGraphBuilder */
/* [unique][uuid][object][local] */
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,
/* [annotation][unique][in] */
__in_opt LPCWSTR lpcwstrPlayList) = 0;
virtual HRESULT STDMETHODCALLTYPE AddSourceFilter(
/* [in] */ LPCWSTR lpcwstrFileName,
/* [annotation][unique][in] */
__in_opt LPCWSTR lpcwstrFilterName,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out IEnumFilters **ppEnum);
HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
IGraphBuilder * This,
/* [string][in] */ LPCWSTR pName,
/* [annotation][out] */
__out IBaseFilter **ppFilter);
HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
IGraphBuilder * This,
/* [in] */ IPin *ppinOut,
/* [in] */ IPin *ppinIn,
/* [annotation][unique][in] */
__in_opt 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,
/* [annotation][unique][in] */
__in_opt LPCWSTR lpcwstrPlayList);
HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
IGraphBuilder * This,
/* [in] */ LPCWSTR lpcwstrFileName,
/* [annotation][unique][in] */
__in_opt LPCWSTR lpcwstrFilterName,
/* [annotation][out] */
__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 */
#endif /* __IGraphBuilder_INTERFACE_DEFINED__ */
#ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
#define __ICaptureGraphBuilder_INTERFACE_DEFINED__
/* interface ICaptureGraphBuilder */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out IGraphBuilder **ppfg) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
/* [in] */ const GUID *pType,
/* [in] */ LPCOLESTR lpstrFile,
/* [annotation][out] */
__out IBaseFilter **ppf,
/* [annotation][out] */
__out IFileSinkFilter **ppSink) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(
/* [annotation][unique][in] */
__in_opt const GUID *pCategory,
/* [in] */ IBaseFilter *pf,
/* [in] */ REFIID riid,
/* [annotation][out] */
__out void **ppint) = 0;
virtual HRESULT STDMETHODCALLTYPE RenderStream(
/* [annotation][in] */
__in_opt const GUID *pCategory,
/* [in] */ IUnknown *pSource,
/* [in] */ IBaseFilter *pfCompressor,
/* [in] */ IBaseFilter *pfRenderer) = 0;
virtual HRESULT STDMETHODCALLTYPE ControlStream(
/* [annotation][in] */
__in_opt 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(
/* [annotation][in] */
__in LPOLESTR lpwstrOld,
/* [annotation][in] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out IGraphBuilder **ppfg);
HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(
ICaptureGraphBuilder * This,
/* [in] */ const GUID *pType,
/* [in] */ LPCOLESTR lpstrFile,
/* [annotation][out] */
__out IBaseFilter **ppf,
/* [annotation][out] */
__out IFileSinkFilter **ppSink);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(
ICaptureGraphBuilder * This,
/* [annotation][unique][in] */
__in_opt const GUID *pCategory,
/* [in] */ IBaseFilter *pf,
/* [in] */ REFIID riid,
/* [annotation][out] */
__out void **ppint);
HRESULT ( STDMETHODCALLTYPE *RenderStream )(
ICaptureGraphBuilder * This,
/* [annotation][in] */
__in_opt const GUID *pCategory,
/* [in] */ IUnknown *pSource,
/* [in] */ IBaseFilter *pfCompressor,
/* [in] */ IBaseFilter *pfRenderer);
HRESULT ( STDMETHODCALLTYPE *ControlStream )(
ICaptureGraphBuilder * This,
/* [annotation][in] */
__in_opt 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,
/* [annotation][in] */
__in LPOLESTR lpwstrOld,
/* [annotation][in] */
__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 */
/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy(
ICaptureGraphBuilder * This,
/* [annotation][unique][in] */
__in_opt const GUID *pCategory,
/* [in] */ IBaseFilter *pf,
/* [in] */ REFIID riid,
/* [annotation][out] */
__out IUnknown **ppint);
void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_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][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
#ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
#define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
/* interface ICaptureGraphBuilder2 */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out IGraphBuilder **ppfg) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
/* [in] */ const GUID *pType,
/* [in] */ LPCOLESTR lpstrFile,
/* [annotation][out] */
__out IBaseFilter **ppf,
/* [annotation][out] */
__out IFileSinkFilter **ppSink) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(
/* [annotation][in] */
__in_opt const GUID *pCategory,
/* [annotation][in] */
__in_opt const GUID *pType,
/* [in] */ IBaseFilter *pf,
/* [in] */ REFIID riid,
/* [annotation][out] */
__out void **ppint) = 0;
virtual HRESULT STDMETHODCALLTYPE RenderStream(
/* [annotation][in] */
__in_opt 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,
/* [annotation][in] */
__in_opt REFERENCE_TIME *pstart,
/* [annotation][in] */
__in_opt 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(
/* [annotation][in] */
__in LPOLESTR lpwstrOld,
/* [annotation][in] */
__in LPOLESTR lpwstrNew,
/* [in] */ int fAllowEscAbort,
/* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE FindPin(
/* [in] */ IUnknown *pSource,
/* [in] */ PIN_DIRECTION pindir,
/* [annotation][in] */
__in_opt const GUID *pCategory,
/* [annotation][in] */
__in_opt const GUID *pType,
/* [in] */ BOOL fUnconnected,
/* [in] */ int num,
/* [annotation][out] */
__out IPin **ppPin) = 0;
};
#else /* C style interface */
typedef struct ICaptureGraphBuilder2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICaptureGraphBuilder2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out IGraphBuilder **ppfg);
HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(
ICaptureGraphBuilder2 * This,
/* [in] */ const GUID *pType,
/* [in] */ LPCOLESTR lpstrFile,
/* [annotation][out] */
__out IBaseFilter **ppf,
/* [annotation][out] */
__out IFileSinkFilter **ppSink);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(
ICaptureGraphBuilder2 * This,
/* [annotation][in] */
__in_opt const GUID *pCategory,
/* [annotation][in] */
__in_opt const GUID *pType,
/* [in] */ IBaseFilter *pf,
/* [in] */ REFIID riid,
/* [annotation][out] */
__out void **ppint);
HRESULT ( STDMETHODCALLTYPE *RenderStream )(
ICaptureGraphBuilder2 * This,
/* [annotation][in] */
__in_opt 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,
/* [annotation][in] */
__in_opt REFERENCE_TIME *pstart,
/* [annotation][in] */
__in_opt 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,
/* [annotation][in] */
__in LPOLESTR lpwstrOld,
/* [annotation][in] */
__in LPOLESTR lpwstrNew,
/* [in] */ int fAllowEscAbort,
/* [in] */ IAMCopyCaptureFileProgress *pCallback);
HRESULT ( STDMETHODCALLTYPE *FindPin )(
ICaptureGraphBuilder2 * This,
/* [in] */ IUnknown *pSource,
/* [in] */ PIN_DIRECTION pindir,
/* [annotation][in] */
__in_opt const GUID *pCategory,
/* [annotation][in] */
__in_opt const GUID *pType,
/* [in] */ BOOL fUnconnected,
/* [in] */ int num,
/* [annotation][out] */
__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 */
/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy(
ICaptureGraphBuilder2 * This,
/* [annotation][in] */
__in_opt const GUID *pCategory,
/* [annotation][in] */
__in_opt const GUID *pType,
/* [in] */ IBaseFilter *pf,
/* [in] */ REFIID riid,
/* [annotation][out] */
__out IUnknown **ppint);
void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0036 */
/* [local] */
enum _AM_RENSDEREXFLAGS
{ AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
} ;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0036_v0_0_s_ifspec;
#ifndef __IFilterGraph2_INTERFACE_DEFINED__
#define __IFilterGraph2_INTERFACE_DEFINED__
/* interface IFilterGraph2 */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out IBaseFilter **ppFilter) = 0;
virtual HRESULT STDMETHODCALLTYPE ReconnectEx(
/* [in] */ IPin *ppin,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE RenderEx(
/* [in] */ IPin *pPinOut,
/* [in] */ DWORD dwFlags,
/* [annotation][out][in] */
__reserved DWORD *pvContext) = 0;
};
#else /* C style interface */
typedef struct IFilterGraph2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IFilterGraph2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out IEnumFilters **ppEnum);
HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
IFilterGraph2 * This,
/* [string][in] */ LPCWSTR pName,
/* [annotation][out] */
__out IBaseFilter **ppFilter);
HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
IFilterGraph2 * This,
/* [in] */ IPin *ppinOut,
/* [in] */ IPin *ppinIn,
/* [annotation][unique][in] */
__in_opt 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,
/* [annotation][unique][in] */
__in_opt LPCWSTR lpcwstrPlayList);
HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
IFilterGraph2 * This,
/* [in] */ LPCWSTR lpcwstrFileName,
/* [annotation][unique][in] */
__in_opt LPCWSTR lpcwstrFilterName,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out IBaseFilter **ppFilter);
HRESULT ( STDMETHODCALLTYPE *ReconnectEx )(
IFilterGraph2 * This,
/* [in] */ IPin *ppin,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *RenderEx )(
IFilterGraph2 * This,
/* [in] */ IPin *pPinOut,
/* [in] */ DWORD dwFlags,
/* [annotation][out][in] */
__reserved 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 */
#endif /* __IFilterGraph2_INTERFACE_DEFINED__ */
#ifndef __IFilterGraph3_INTERFACE_DEFINED__
#define __IFilterGraph3_INTERFACE_DEFINED__
/* interface IFilterGraph3 */
/* [unique][uuid][object][local] */
EXTERN_C const IID IID_IFilterGraph3;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("aaf38154-b80b-422f-91e6-b66467509a07")
IFilterGraph3 : public IFilterGraph2
{
public:
virtual HRESULT STDMETHODCALLTYPE SetSyncSourceEx(
/* [annotation][in] */
__in IReferenceClock *pClockForMostOfFilterGraph,
/* [annotation][in] */
__in IReferenceClock *pClockForFilter,
/* [annotation][in] */
__in IBaseFilter *pFilter) = 0;
};
#else /* C style interface */
typedef struct IFilterGraph3Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IFilterGraph3 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IFilterGraph3 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IFilterGraph3 * This);
HRESULT ( STDMETHODCALLTYPE *AddFilter )(
IFilterGraph3 * This,
/* [in] */ IBaseFilter *pFilter,
/* [string][in] */ LPCWSTR pName);
HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
IFilterGraph3 * This,
/* [in] */ IBaseFilter *pFilter);
HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
IFilterGraph3 * This,
/* [annotation][out] */
__out IEnumFilters **ppEnum);
HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
IFilterGraph3 * This,
/* [string][in] */ LPCWSTR pName,
/* [annotation][out] */
__out IBaseFilter **ppFilter);
HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
IFilterGraph3 * This,
/* [in] */ IPin *ppinOut,
/* [in] */ IPin *ppinIn,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *Reconnect )(
IFilterGraph3 * This,
/* [in] */ IPin *ppin);
HRESULT ( STDMETHODCALLTYPE *Disconnect )(
IFilterGraph3 * This,
/* [in] */ IPin *ppin);
HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
IFilterGraph3 * This);
HRESULT ( STDMETHODCALLTYPE *Connect )(
IFilterGraph3 * This,
/* [in] */ IPin *ppinOut,
/* [in] */ IPin *ppinIn);
HRESULT ( STDMETHODCALLTYPE *Render )(
IFilterGraph3 * This,
/* [in] */ IPin *ppinOut);
HRESULT ( STDMETHODCALLTYPE *RenderFile )(
IFilterGraph3 * This,
/* [in] */ LPCWSTR lpcwstrFile,
/* [annotation][unique][in] */
__in_opt LPCWSTR lpcwstrPlayList);
HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
IFilterGraph3 * This,
/* [in] */ LPCWSTR lpcwstrFileName,
/* [annotation][unique][in] */
__in_opt LPCWSTR lpcwstrFilterName,
/* [annotation][out] */
__out IBaseFilter **ppFilter);
HRESULT ( STDMETHODCALLTYPE *SetLogFile )(
IFilterGraph3 * This,
/* [in] */ DWORD_PTR hFile);
HRESULT ( STDMETHODCALLTYPE *Abort )(
IFilterGraph3 * This);
HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(
IFilterGraph3 * This);
HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )(
IFilterGraph3 * This,
/* [in] */ IMoniker *pMoniker,
/* [in] */ IBindCtx *pCtx,
/* [unique][in] */ LPCWSTR lpcwstrFilterName,
/* [annotation][out] */
__out IBaseFilter **ppFilter);
HRESULT ( STDMETHODCALLTYPE *ReconnectEx )(
IFilterGraph3 * This,
/* [in] */ IPin *ppin,
/* [annotation][unique][in] */
__in_opt const AM_MEDIA_TYPE *pmt);
HRESULT ( STDMETHODCALLTYPE *RenderEx )(
IFilterGraph3 * This,
/* [in] */ IPin *pPinOut,
/* [in] */ DWORD dwFlags,
/* [annotation][out][in] */
__reserved DWORD *pvContext);
HRESULT ( STDMETHODCALLTYPE *SetSyncSourceEx )(
IFilterGraph3 * This,
/* [annotation][in] */
__in IReferenceClock *pClockForMostOfFilterGraph,
/* [annotation][in] */
__in IReferenceClock *pClockForFilter,
/* [annotation][in] */
__in IBaseFilter *pFilter);
END_INTERFACE
} IFilterGraph3Vtbl;
interface IFilterGraph3
{
CONST_VTBL struct IFilterGraph3Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IFilterGraph3_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IFilterGraph3_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IFilterGraph3_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IFilterGraph3_AddFilter(This,pFilter,pName) \
( (This)->lpVtbl -> AddFilter(This,pFilter,pName) )
#define IFilterGraph3_RemoveFilter(This,pFilter) \
( (This)->lpVtbl -> RemoveFilter(This,pFilter) )
#define IFilterGraph3_EnumFilters(This,ppEnum) \
( (This)->lpVtbl -> EnumFilters(This,ppEnum) )
#define IFilterGraph3_FindFilterByName(This,pName,ppFilter) \
( (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter) )
#define IFilterGraph3_ConnectDirect(This,ppinOut,ppinIn,pmt) \
( (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt) )
#define IFilterGraph3_Reconnect(This,ppin) \
( (This)->lpVtbl -> Reconnect(This,ppin) )
#define IFilterGraph3_Disconnect(This,ppin) \
( (This)->lpVtbl -> Disconnect(This,ppin) )
#define IFilterGraph3_SetDefaultSyncSource(This) \
( (This)->lpVtbl -> SetDefaultSyncSource(This) )
#define IFilterGraph3_Connect(This,ppinOut,ppinIn) \
( (This)->lpVtbl -> Connect(This,ppinOut,ppinIn) )
#define IFilterGraph3_Render(This,ppinOut) \
( (This)->lpVtbl -> Render(This,ppinOut) )
#define IFilterGraph3_RenderFile(This,lpcwstrFile,lpcwstrPlayList) \
( (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList) )
#define IFilterGraph3_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) \
( (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) )
#define IFilterGraph3_SetLogFile(This,hFile) \
( (This)->lpVtbl -> SetLogFile(This,hFile) )
#define IFilterGraph3_Abort(This) \
( (This)->lpVtbl -> Abort(This) )
#define IFilterGraph3_ShouldOperationContinue(This) \
( (This)->lpVtbl -> ShouldOperationContinue(This) )
#define IFilterGraph3_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) \
( (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) )
#define IFilterGraph3_ReconnectEx(This,ppin,pmt) \
( (This)->lpVtbl -> ReconnectEx(This,ppin,pmt) )
#define IFilterGraph3_RenderEx(This,pPinOut,dwFlags,pvContext) \
( (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext) )
#define IFilterGraph3_SetSyncSourceEx(This,pClockForMostOfFilterGraph,pClockForFilter,pFilter) \
( (This)->lpVtbl -> SetSyncSourceEx(This,pClockForMostOfFilterGraph,pClockForFilter,pFilter) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IFilterGraph3_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IStreamBuilder_INTERFACE_DEFINED__ */
#ifndef __IAsyncReader_INTERFACE_DEFINED__
#define __IAsyncReader_INTERFACE_DEFINED__
/* interface IAsyncReader */
/* [unique][uuid][object][local] */
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,
/* [annotation][in] */
__in ALLOCATOR_PROPERTIES *pProps,
/* [annotation][out] */
__out IMemAllocator **ppActual) = 0;
virtual HRESULT STDMETHODCALLTYPE Request(
/* [in] */ IMediaSample *pSample,
/* [in] */ DWORD_PTR dwUser) = 0;
virtual HRESULT STDMETHODCALLTYPE WaitForNext(
/* [in] */ DWORD dwTimeout,
/* [annotation][out] */
__out_opt IMediaSample **ppSample,
/* [annotation][out] */
__out DWORD_PTR *pdwUser) = 0;
virtual HRESULT STDMETHODCALLTYPE SyncReadAligned(
/* [in] */ IMediaSample *pSample) = 0;
virtual HRESULT STDMETHODCALLTYPE SyncRead(
/* [in] */ LONGLONG llPosition,
/* [in] */ LONG lLength,
/* [annotation][size_is][out] */
__out_bcount(lLength) BYTE *pBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE Length(
/* [annotation][out] */
__out LONGLONG *pTotal,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAsyncReader * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAsyncReader * This);
HRESULT ( STDMETHODCALLTYPE *RequestAllocator )(
IAsyncReader * This,
/* [in] */ IMemAllocator *pPreferred,
/* [annotation][in] */
__in ALLOCATOR_PROPERTIES *pProps,
/* [annotation][out] */
__out IMemAllocator **ppActual);
HRESULT ( STDMETHODCALLTYPE *Request )(
IAsyncReader * This,
/* [in] */ IMediaSample *pSample,
/* [in] */ DWORD_PTR dwUser);
HRESULT ( STDMETHODCALLTYPE *WaitForNext )(
IAsyncReader * This,
/* [in] */ DWORD dwTimeout,
/* [annotation][out] */
__out_opt IMediaSample **ppSample,
/* [annotation][out] */
__out DWORD_PTR *pdwUser);
HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )(
IAsyncReader * This,
/* [in] */ IMediaSample *pSample);
HRESULT ( STDMETHODCALLTYPE *SyncRead )(
IAsyncReader * This,
/* [in] */ LONGLONG llPosition,
/* [in] */ LONG lLength,
/* [annotation][size_is][out] */
__out_bcount(lLength) BYTE *pBuffer);
HRESULT ( STDMETHODCALLTYPE *Length )(
IAsyncReader * This,
/* [annotation][out] */
__out LONGLONG *pTotal,
/* [annotation][out] */
__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 */
#endif /* __IAsyncReader_INTERFACE_DEFINED__ */
#ifndef __IGraphVersion_INTERFACE_DEFINED__
#define __IGraphVersion_INTERFACE_DEFINED__
/* interface IGraphVersion */
/* [unique][uuid][object][local] */
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(
/* [annotation] */
__out LONG *pVersion) = 0;
};
#else /* C style interface */
typedef struct IGraphVersionVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGraphVersion * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGraphVersion * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IGraphVersion * This);
HRESULT ( STDMETHODCALLTYPE *QueryVersion )(
IGraphVersion * This,
/* [annotation] */
__out 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 */
#endif /* __IGraphVersion_INTERFACE_DEFINED__ */
#ifndef __IResourceConsumer_INTERFACE_DEFINED__
#define __IResourceConsumer_INTERFACE_DEFINED__
/* interface IResourceConsumer */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IResourceConsumer_INTERFACE_DEFINED__ */
#ifndef __IResourceManager_INTERFACE_DEFINED__
#define __IResourceManager_INTERFACE_DEFINED__
/* interface IResourceManager */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out LONG *plToken) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterGroup(
/* [in] */ LPCWSTR pName,
/* [in] */ LONG cResource,
/* [annotation][size_is][in] */
__in_ecount(cResource) LONG *palTokens,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IResourceManager * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IResourceManager * This);
HRESULT ( STDMETHODCALLTYPE *Register )(
IResourceManager * This,
/* [in] */ LPCWSTR pName,
/* [in] */ LONG cResource,
/* [annotation][out] */
__out LONG *plToken);
HRESULT ( STDMETHODCALLTYPE *RegisterGroup )(
IResourceManager * This,
/* [in] */ LPCWSTR pName,
/* [in] */ LONG cResource,
/* [annotation][size_is][in] */
__in_ecount(cResource) LONG *palTokens,
/* [annotation][out] */
__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 */
#endif /* __IResourceManager_INTERFACE_DEFINED__ */
#ifndef __IDistributorNotify_INTERFACE_DEFINED__
#define __IDistributorNotify_INTERFACE_DEFINED__
/* interface IDistributorNotify */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IDistributorNotify_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0044 */
/* [local] */
typedef
enum AM_STREAM_INFO_FLAGS
{ AM_STREAM_INFO_START_DEFINED = 0x1,
AM_STREAM_INFO_STOP_DEFINED = 0x2,
AM_STREAM_INFO_DISCARDING = 0x4,
AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
} AM_STREAM_INFO_FLAGS;
typedef struct AM_STREAM_INFO
{
REFERENCE_TIME tStart;
REFERENCE_TIME tStop;
DWORD dwStartCookie;
DWORD dwStopCookie;
DWORD dwFlags;
} AM_STREAM_INFO;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0044_v0_0_s_ifspec;
#ifndef __IAMStreamControl_INTERFACE_DEFINED__
#define __IAMStreamControl_INTERFACE_DEFINED__
/* interface IAMStreamControl */
/* [unique][uuid][object][local] */
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(
/* [annotation][in] */
__in_opt const REFERENCE_TIME *ptStart,
/* [in] */ DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE StopAt(
/* [annotation][in] */
__in_opt const REFERENCE_TIME *ptStop,
/* [in] */ BOOL bSendExtra,
/* [in] */ DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInfo(
/* [annotation][out] */
__out AM_STREAM_INFO *pInfo) = 0;
};
#else /* C style interface */
typedef struct IAMStreamControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMStreamControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMStreamControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMStreamControl * This);
HRESULT ( STDMETHODCALLTYPE *StartAt )(
IAMStreamControl * This,
/* [annotation][in] */
__in_opt const REFERENCE_TIME *ptStart,
/* [in] */ DWORD dwCookie);
HRESULT ( STDMETHODCALLTYPE *StopAt )(
IAMStreamControl * This,
/* [annotation][in] */
__in_opt const REFERENCE_TIME *ptStop,
/* [in] */ BOOL bSendExtra,
/* [in] */ DWORD dwCookie);
HRESULT ( STDMETHODCALLTYPE *GetInfo )(
IAMStreamControl * This,
/* [annotation][out] */
__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 */
#endif /* __IAMStreamControl_INTERFACE_DEFINED__ */
#ifndef __ISeekingPassThru_INTERFACE_DEFINED__
#define __ISeekingPassThru_INTERFACE_DEFINED__
/* interface ISeekingPassThru */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __ISeekingPassThru_INTERFACE_DEFINED__ */
#ifndef __IAMStreamConfig_INTERFACE_DEFINED__
#define __IAMStreamConfig_INTERFACE_DEFINED__
/* interface IAMStreamConfig */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out AM_MEDIA_TYPE **ppmt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(
/* [annotation][out] */
__out int *piCount,
/* [annotation][out] */
__out int *piSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(
/* [in] */ int iIndex,
/* [annotation][out] */
__out AM_MEDIA_TYPE **ppmt,
/* [annotation][out] */
__out BYTE *pSCC) = 0;
};
#else /* C style interface */
typedef struct IAMStreamConfigVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMStreamConfig * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out AM_MEDIA_TYPE **ppmt);
HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )(
IAMStreamConfig * This,
/* [annotation][out] */
__out int *piCount,
/* [annotation][out] */
__out int *piSize);
HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )(
IAMStreamConfig * This,
/* [in] */ int iIndex,
/* [annotation][out] */
__out AM_MEDIA_TYPE **ppmt,
/* [annotation][out] */
__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 */
#endif /* __IAMStreamConfig_INTERFACE_DEFINED__ */
#ifndef __IConfigInterleaving_INTERFACE_DEFINED__
#define __IConfigInterleaving_INTERFACE_DEFINED__
/* interface IConfigInterleaving */
/* [unique][uuid][object][local] */
typedef
enum InterleavingMode
{ 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(
/* [annotation][out] */
__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(
/* [annotation][out] */
__out REFERENCE_TIME *prtInterleave,
/* [annotation][out] */
__out REFERENCE_TIME *prtPreroll) = 0;
};
#else /* C style interface */
typedef struct IConfigInterleavingVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IConfigInterleaving * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out REFERENCE_TIME *prtInterleave,
/* [annotation][out] */
__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 */
#endif /* __IConfigInterleaving_INTERFACE_DEFINED__ */
#ifndef __IConfigAviMux_INTERFACE_DEFINED__
#define __IConfigAviMux_INTERFACE_DEFINED__
/* interface IConfigAviMux */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out LONG *pStream) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex(
/* [in] */ BOOL fOldIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex(
/* [annotation][out] */
__out BOOL *pfOldIndex) = 0;
};
#else /* C style interface */
typedef struct IConfigAviMuxVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IConfigAviMux * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out LONG *pStream);
HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )(
IConfigAviMux * This,
/* [in] */ BOOL fOldIndex);
HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )(
IConfigAviMux * This,
/* [annotation][out] */
__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 */
#endif /* __IConfigAviMux_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0049 */
/* [local] */
typedef
enum CompressionCaps
{ CompressionCaps_CanQuality = 0x1,
CompressionCaps_CanCrunch = 0x2,
CompressionCaps_CanKeyFrame = 0x4,
CompressionCaps_CanBFrame = 0x8,
CompressionCaps_CanWindow = 0x10
} CompressionCaps;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0049_v0_0_s_ifspec;
#ifndef __IAMVideoCompression_INTERFACE_DEFINED__
#define __IAMVideoCompression_INTERFACE_DEFINED__
/* interface IAMVideoCompression */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *pKeyFrameRate) = 0;
virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame(
/* [in] */ long PFramesPerKeyFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame(
/* [annotation][out] */
__out long *pPFramesPerKeyFrame) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Quality(
/* [in] */ double Quality) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Quality(
/* [annotation][out] */
__out double *pQuality) = 0;
virtual HRESULT STDMETHODCALLTYPE put_WindowSize(
/* [in] */ DWORDLONG WindowSize) = 0;
virtual HRESULT STDMETHODCALLTYPE get_WindowSize(
/* [annotation][out] */
__out DWORDLONG *pWindowSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInfo(
/* [annotation][size_is][out] */
__out_bcount_opt(*pcbVersion) LPWSTR pszVersion,
/* [annotation][out][in] */
__inout_opt int *pcbVersion,
/* [annotation][size_is][out] */
__out_bcount_opt(*pcbDescription) LPWSTR pszDescription,
/* [annotation][out][in] */
__inout_opt int *pcbDescription,
/* [annotation][out] */
__out_opt long *pDefaultKeyFrameRate,
/* [annotation][out] */
__out_opt long *pDefaultPFramesPerKey,
/* [annotation][out] */
__out_opt double *pDefaultQuality,
/* [annotation][out] */
__out_opt 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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out long *pKeyFrameRate);
HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )(
IAMVideoCompression * This,
/* [in] */ long PFramesPerKeyFrame);
HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )(
IAMVideoCompression * This,
/* [annotation][out] */
__out long *pPFramesPerKeyFrame);
HRESULT ( STDMETHODCALLTYPE *put_Quality )(
IAMVideoCompression * This,
/* [in] */ double Quality);
HRESULT ( STDMETHODCALLTYPE *get_Quality )(
IAMVideoCompression * This,
/* [annotation][out] */
__out double *pQuality);
HRESULT ( STDMETHODCALLTYPE *put_WindowSize )(
IAMVideoCompression * This,
/* [in] */ DWORDLONG WindowSize);
HRESULT ( STDMETHODCALLTYPE *get_WindowSize )(
IAMVideoCompression * This,
/* [annotation][out] */
__out DWORDLONG *pWindowSize);
HRESULT ( STDMETHODCALLTYPE *GetInfo )(
IAMVideoCompression * This,
/* [annotation][size_is][out] */
__out_bcount_opt(*pcbVersion) LPWSTR pszVersion,
/* [annotation][out][in] */
__inout_opt int *pcbVersion,
/* [annotation][size_is][out] */
__out_bcount_opt(*pcbDescription) LPWSTR pszDescription,
/* [annotation][out][in] */
__inout_opt int *pcbDescription,
/* [annotation][out] */
__out_opt long *pDefaultKeyFrameRate,
/* [annotation][out] */
__out_opt long *pDefaultPFramesPerKey,
/* [annotation][out] */
__out_opt double *pDefaultQuality,
/* [annotation][out] */
__out_opt 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 */
#endif /* __IAMVideoCompression_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0050 */
/* [local] */
typedef
enum VfwCaptureDialogs
{ VfwCaptureDialog_Source = 0x1,
VfwCaptureDialog_Format = 0x2,
VfwCaptureDialog_Display = 0x4
} VfwCaptureDialogs;
typedef
enum VfwCompressDialogs
{ VfwCompressDialog_Config = 0x1,
VfwCompressDialog_About = 0x2,
VfwCompressDialog_QueryConfig = 0x4,
VfwCompressDialog_QueryAbout = 0x8
} VfwCompressDialogs;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0050_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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(
/* [annotation][size_is][out] */
__out_bcount_part(*pcbState, *pcbState) LPVOID pState,
/* [annotation][out][in] */
__inout int *pcbState) = 0;
virtual HRESULT STDMETHODCALLTYPE SetState(
/* [annotation][size_is][in] */
__in_bcount(cbState) 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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][size_is][out] */
__out_bcount_part(*pcbState, *pcbState) LPVOID pState,
/* [annotation][out][in] */
__inout int *pcbState);
HRESULT ( STDMETHODCALLTYPE *SetState )(
IAMVfwCompressDialogs * This,
/* [annotation][size_is][in] */
__in_bcount(cbState) 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 */
#endif /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
#ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
#define __IAMDroppedFrames_INTERFACE_DEFINED__
/* interface IAMDroppedFrames */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *plDropped) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped(
/* [annotation][out] */
__out long *plNotDropped) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo(
/* [in] */ long lSize,
/* [annotation][out] */
__out long *plArray,
/* [annotation][out] */
__out long *plNumCopied) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize(
/* [annotation][out] */
__out long *plAverageSize) = 0;
};
#else /* C style interface */
typedef struct IAMDroppedFramesVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMDroppedFrames * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMDroppedFrames * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMDroppedFrames * This);
HRESULT ( STDMETHODCALLTYPE *GetNumDropped )(
IAMDroppedFrames * This,
/* [annotation][out] */
__out long *plDropped);
HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )(
IAMDroppedFrames * This,
/* [annotation][out] */
__out long *plNotDropped);
HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )(
IAMDroppedFrames * This,
/* [in] */ long lSize,
/* [annotation][out] */
__out long *plArray,
/* [annotation][out] */
__out long *plNumCopied);
HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )(
IAMDroppedFrames * This,
/* [annotation][out] */
__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 */
#endif /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0053 */
/* [local] */
#define AMF_AUTOMATICGAIN -1.0
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0053_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0053_v0_0_s_ifspec;
#ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
#define __IAMAudioInputMixer_INTERFACE_DEFINED__
/* interface IAMAudioInputMixer */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out BOOL *pfEnable) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Mono(
/* [in] */ BOOL fMono) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Mono(
/* [annotation][out] */
__out BOOL *pfMono) = 0;
virtual HRESULT STDMETHODCALLTYPE put_MixLevel(
/* [in] */ double Level) = 0;
virtual HRESULT STDMETHODCALLTYPE get_MixLevel(
/* [annotation][out] */
__out double *pLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Pan(
/* [in] */ double Pan) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Pan(
/* [annotation][out] */
__out double *pPan) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Loudness(
/* [in] */ BOOL fLoudness) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Loudness(
/* [annotation][out] */
__out BOOL *pfLoudness) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Treble(
/* [in] */ double Treble) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Treble(
/* [annotation][out] */
__out double *pTreble) = 0;
virtual HRESULT STDMETHODCALLTYPE get_TrebleRange(
/* [annotation][out] */
__out double *pRange) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Bass(
/* [in] */ double Bass) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Bass(
/* [annotation][out] */
__out double *pBass) = 0;
virtual HRESULT STDMETHODCALLTYPE get_BassRange(
/* [annotation][out] */
__out double *pRange) = 0;
};
#else /* C style interface */
typedef struct IAMAudioInputMixerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMAudioInputMixer * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out BOOL *pfEnable);
HRESULT ( STDMETHODCALLTYPE *put_Mono )(
IAMAudioInputMixer * This,
/* [in] */ BOOL fMono);
HRESULT ( STDMETHODCALLTYPE *get_Mono )(
IAMAudioInputMixer * This,
/* [annotation][out] */
__out BOOL *pfMono);
HRESULT ( STDMETHODCALLTYPE *put_MixLevel )(
IAMAudioInputMixer * This,
/* [in] */ double Level);
HRESULT ( STDMETHODCALLTYPE *get_MixLevel )(
IAMAudioInputMixer * This,
/* [annotation][out] */
__out double *pLevel);
HRESULT ( STDMETHODCALLTYPE *put_Pan )(
IAMAudioInputMixer * This,
/* [in] */ double Pan);
HRESULT ( STDMETHODCALLTYPE *get_Pan )(
IAMAudioInputMixer * This,
/* [annotation][out] */
__out double *pPan);
HRESULT ( STDMETHODCALLTYPE *put_Loudness )(
IAMAudioInputMixer * This,
/* [in] */ BOOL fLoudness);
HRESULT ( STDMETHODCALLTYPE *get_Loudness )(
IAMAudioInputMixer * This,
/* [annotation][out] */
__out BOOL *pfLoudness);
HRESULT ( STDMETHODCALLTYPE *put_Treble )(
IAMAudioInputMixer * This,
/* [in] */ double Treble);
HRESULT ( STDMETHODCALLTYPE *get_Treble )(
IAMAudioInputMixer * This,
/* [annotation][out] */
__out double *pTreble);
HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )(
IAMAudioInputMixer * This,
/* [annotation][out] */
__out double *pRange);
HRESULT ( STDMETHODCALLTYPE *put_Bass )(
IAMAudioInputMixer * This,
/* [in] */ double Bass);
HRESULT ( STDMETHODCALLTYPE *get_Bass )(
IAMAudioInputMixer * This,
/* [annotation][out] */
__out double *pBass);
HRESULT ( STDMETHODCALLTYPE *get_BassRange )(
IAMAudioInputMixer * This,
/* [annotation][out] */
__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 */
#endif /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
#ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
#define __IAMBufferNegotiation_INTERFACE_DEFINED__
/* interface IAMBufferNegotiation */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out ALLOCATOR_PROPERTIES *pprop) = 0;
};
#else /* C style interface */
typedef struct IAMBufferNegotiationVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMBufferNegotiation * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__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 */
#endif /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0055 */
/* [local] */
typedef /* [v1_enum] */
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,
AnalogVideoMask_MCE_NTSC = ( ( ( ( ( ( AnalogVideo_NTSC_M | AnalogVideo_NTSC_M_J ) | AnalogVideo_NTSC_433 ) | AnalogVideo_PAL_M ) | AnalogVideo_PAL_N ) | AnalogVideo_PAL_60 ) | AnalogVideo_PAL_N_COMBO ) ,
AnalogVideoMask_MCE_PAL = ( ( ( ( AnalogVideo_PAL_B | AnalogVideo_PAL_D ) | AnalogVideo_PAL_G ) | AnalogVideo_PAL_H ) | AnalogVideo_PAL_I ) ,
AnalogVideoMask_MCE_SECAM = ( ( ( ( ( ( ( AnalogVideo_SECAM_B | AnalogVideo_SECAM_D ) | AnalogVideo_SECAM_G ) | AnalogVideo_SECAM_H ) | AnalogVideo_SECAM_K ) | AnalogVideo_SECAM_K1 ) | AnalogVideo_SECAM_L ) | AnalogVideo_SECAM_L1 )
} AnalogVideoStandard;
typedef
enum tagTunerInputType
{ TunerInputCable = 0,
TunerInputAntenna = ( TunerInputCable + 1 )
} TunerInputType;
#define AnalogVideo_NTSC_Mask 0x00000007
#define AnalogVideo_PAL_Mask 0x00100FF0
#define AnalogVideo_SECAM_Mask 0x000FF000
typedef
enum VideoCopyProtectionType
{ 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_0000_0055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0055_v0_0_s_ifspec;
#ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
#define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
/* interface IAMAnalogVideoDecoder */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *lAnalogVideoStandard) = 0;
virtual HRESULT STDMETHODCALLTYPE put_TVFormat(
/* [in] */ long lAnalogVideoStandard) = 0;
virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
/* [annotation][out] */
__out long *plAnalogVideoStandard) = 0;
virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked(
/* [annotation][out] */
__out long *plLocked) = 0;
virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking(
/* [in] */ long lVCRHorizontalLocking) = 0;
virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking(
/* [annotation][out] */
__out long *plVCRHorizontalLocking) = 0;
virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines(
/* [annotation][out] */
__out long *plNumberOfLines) = 0;
virtual HRESULT STDMETHODCALLTYPE put_OutputEnable(
/* [in] */ long lOutputEnable) = 0;
virtual HRESULT STDMETHODCALLTYPE get_OutputEnable(
/* [annotation][out] */
__out long *plOutputEnable) = 0;
};
#else /* C style interface */
typedef struct IAMAnalogVideoDecoderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMAnalogVideoDecoder * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMAnalogVideoDecoder * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMAnalogVideoDecoder * This);
HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
IAMAnalogVideoDecoder * This,
/* [annotation][out] */
__out long *lAnalogVideoStandard);
HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(
IAMAnalogVideoDecoder * This,
/* [in] */ long lAnalogVideoStandard);
HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
IAMAnalogVideoDecoder * This,
/* [annotation][out] */
__out long *plAnalogVideoStandard);
HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )(
IAMAnalogVideoDecoder * This,
/* [annotation][out] */
__out long *plLocked);
HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )(
IAMAnalogVideoDecoder * This,
/* [in] */ long lVCRHorizontalLocking);
HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )(
IAMAnalogVideoDecoder * This,
/* [annotation][out] */
__out long *plVCRHorizontalLocking);
HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )(
IAMAnalogVideoDecoder * This,
/* [annotation][out] */
__out long *plNumberOfLines);
HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )(
IAMAnalogVideoDecoder * This,
/* [in] */ long lOutputEnable);
HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )(
IAMAnalogVideoDecoder * This,
/* [annotation][out] */
__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 */
#endif /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0056 */
/* [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_0000_0056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0056_v0_0_s_ifspec;
#ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
#define __IAMVideoProcAmp_INTERFACE_DEFINED__
/* interface IAMVideoProcAmp */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out long *pMin,
/* [annotation][out] */
__out long *pMax,
/* [annotation][out] */
__out long *pSteppingDelta,
/* [annotation][out] */
__out long *pDefault,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *lValue,
/* [annotation][out] */
__out long *Flags) = 0;
};
#else /* C style interface */
typedef struct IAMVideoProcAmpVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMVideoProcAmp * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMVideoProcAmp * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMVideoProcAmp * This);
HRESULT ( STDMETHODCALLTYPE *GetRange )(
IAMVideoProcAmp * This,
/* [in] */ long Property,
/* [annotation][out] */
__out long *pMin,
/* [annotation][out] */
__out long *pMax,
/* [annotation][out] */
__out long *pSteppingDelta,
/* [annotation][out] */
__out long *pDefault,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *lValue,
/* [annotation][out] */
__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 */
#endif /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0057 */
/* [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_0000_0057_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0057_v0_0_s_ifspec;
#ifndef __IAMCameraControl_INTERFACE_DEFINED__
#define __IAMCameraControl_INTERFACE_DEFINED__
/* interface IAMCameraControl */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out long *pMin,
/* [annotation][out] */
__out long *pMax,
/* [annotation][out] */
__out long *pSteppingDelta,
/* [annotation][out] */
__out long *pDefault,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *lValue,
/* [annotation][out] */
__out long *Flags) = 0;
};
#else /* C style interface */
typedef struct IAMCameraControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMCameraControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMCameraControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMCameraControl * This);
HRESULT ( STDMETHODCALLTYPE *GetRange )(
IAMCameraControl * This,
/* [in] */ long Property,
/* [annotation][out] */
__out long *pMin,
/* [annotation][out] */
__out long *pMax,
/* [annotation][out] */
__out long *pSteppingDelta,
/* [annotation][out] */
__out long *pDefault,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *lValue,
/* [annotation][out] */
__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 */
#endif /* __IAMCameraControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0058 */
/* [local] */
typedef
enum tagVideoControlFlags
{ VideoControlFlag_FlipHorizontal = 0x1,
VideoControlFlag_FlipVertical = 0x2,
VideoControlFlag_ExternalTriggerEnable = 0x4,
VideoControlFlag_Trigger = 0x8
} VideoControlFlags;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0058_v0_0_s_ifspec;
#ifndef __IAMVideoControl_INTERFACE_DEFINED__
#define __IAMVideoControl_INTERFACE_DEFINED__
/* interface IAMVideoControl */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out long *pCapsFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMode(
/* [in] */ IPin *pPin,
/* [in] */ long Mode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMode(
/* [in] */ IPin *pPin,
/* [annotation][out] */
__out long *Mode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate(
/* [in] */ IPin *pPin,
/* [annotation][out] */
__out LONGLONG *ActualFrameRate) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate(
/* [in] */ IPin *pPin,
/* [in] */ long iIndex,
/* [in] */ SIZE Dimensions,
/* [annotation][out] */
__out LONGLONG *MaxAvailableFrameRate) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFrameRateList(
/* [in] */ IPin *pPin,
/* [in] */ long iIndex,
/* [in] */ SIZE Dimensions,
/* [annotation][out] */
__out long *ListSize,
/* [annotation][out] */
__out LONGLONG **FrameRates) = 0;
};
#else /* C style interface */
typedef struct IAMVideoControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMVideoControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMVideoControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMVideoControl * This);
HRESULT ( STDMETHODCALLTYPE *GetCaps )(
IAMVideoControl * This,
/* [in] */ IPin *pPin,
/* [annotation][out] */
__out long *pCapsFlags);
HRESULT ( STDMETHODCALLTYPE *SetMode )(
IAMVideoControl * This,
/* [in] */ IPin *pPin,
/* [in] */ long Mode);
HRESULT ( STDMETHODCALLTYPE *GetMode )(
IAMVideoControl * This,
/* [in] */ IPin *pPin,
/* [annotation][out] */
__out long *Mode);
HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )(
IAMVideoControl * This,
/* [in] */ IPin *pPin,
/* [annotation][out] */
__out LONGLONG *ActualFrameRate);
HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )(
IAMVideoControl * This,
/* [in] */ IPin *pPin,
/* [in] */ long iIndex,
/* [in] */ SIZE Dimensions,
/* [annotation][out] */
__out LONGLONG *MaxAvailableFrameRate);
HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )(
IAMVideoControl * This,
/* [in] */ IPin *pPin,
/* [in] */ long iIndex,
/* [in] */ SIZE Dimensions,
/* [annotation][out] */
__out long *ListSize,
/* [annotation][out] */
__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 */
#endif /* __IAMVideoControl_INTERFACE_DEFINED__ */
#ifndef __IAMCrossbar_INTERFACE_DEFINED__
#define __IAMCrossbar_INTERFACE_DEFINED__
/* interface IAMCrossbar */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *OutputPinCount,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *InputPinIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo(
/* [in] */ BOOL IsInputPin,
/* [in] */ long PinIndex,
/* [annotation][out] */
__out long *PinIndexRelated,
/* [annotation][out] */
__out long *PhysicalType) = 0;
};
#else /* C style interface */
typedef struct IAMCrossbarVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMCrossbar * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMCrossbar * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMCrossbar * This);
HRESULT ( STDMETHODCALLTYPE *get_PinCounts )(
IAMCrossbar * This,
/* [annotation][out] */
__out long *OutputPinCount,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *InputPinIndex);
HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )(
IAMCrossbar * This,
/* [in] */ BOOL IsInputPin,
/* [in] */ long PinIndex,
/* [annotation][out] */
__out long *PinIndexRelated,
/* [annotation][out] */
__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 */
#endif /* __IAMCrossbar_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0060 */
/* [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_0000_0060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0060_v0_0_s_ifspec;
#ifndef __IAMTuner_INTERFACE_DEFINED__
#define __IAMTuner_INTERFACE_DEFINED__
/* interface IAMTuner */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *plChannel,
/* [annotation][out] */
__out long *plVideoSubChannel,
/* [annotation][out] */
__out long *plAudioSubChannel) = 0;
virtual HRESULT STDMETHODCALLTYPE ChannelMinMax(
/* [annotation][out] */
__out long *lChannelMin,
/* [annotation][out] */
__out long *lChannelMax) = 0;
virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
/* [in] */ long lCountryCode) = 0;
virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
/* [annotation][out] */
__out long *plCountryCode) = 0;
virtual HRESULT STDMETHODCALLTYPE put_TuningSpace(
/* [in] */ long lTuningSpace) = 0;
virtual HRESULT STDMETHODCALLTYPE get_TuningSpace(
/* [annotation][out] */
__out long *plTuningSpace) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon(
/* [in] */ HANDLE hCurrentUser) = 0;
virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SignalPresent(
/* [annotation][out] */
__out long *plSignalStrength) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Mode(
/* [in] */ AMTunerModeType lMode) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Mode(
/* [annotation][out] */
__out AMTunerModeType *plMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableModes(
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out long *plChannel,
/* [annotation][out] */
__out long *plVideoSubChannel,
/* [annotation][out] */
__out long *plAudioSubChannel);
HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
IAMTuner * This,
/* [annotation][out] */
__out long *lChannelMin,
/* [annotation][out] */
__out long *lChannelMax);
HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
IAMTuner * This,
/* [in] */ long lCountryCode);
HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
IAMTuner * This,
/* [annotation][out] */
__out long *plCountryCode);
HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
IAMTuner * This,
/* [in] */ long lTuningSpace);
HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
IAMTuner * This,
/* [annotation][out] */
__out long *plTuningSpace);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
IAMTuner * This,
/* [in] */ HANDLE hCurrentUser);
HRESULT ( STDMETHODCALLTYPE *Logout )(
IAMTuner * This);
HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
IAMTuner * This,
/* [annotation][out] */
__out long *plSignalStrength);
HRESULT ( STDMETHODCALLTYPE *put_Mode )(
IAMTuner * This,
/* [in] */ AMTunerModeType lMode);
HRESULT ( STDMETHODCALLTYPE *get_Mode )(
IAMTuner * This,
/* [annotation][out] */
__out AMTunerModeType *plMode);
HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
IAMTuner * This,
/* [annotation][out] */
__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 */
#endif /* __IAMTuner_INTERFACE_DEFINED__ */
#ifndef __IAMTunerNotification_INTERFACE_DEFINED__
#define __IAMTunerNotification_INTERFACE_DEFINED__
/* interface IAMTunerNotification */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IAMTunerNotification_INTERFACE_DEFINED__ */
#ifndef __IAMTVTuner_INTERFACE_DEFINED__
#define __IAMTVTuner_INTERFACE_DEFINED__
/* interface IAMTVTuner */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *lAnalogVideoStandard) = 0;
virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
/* [annotation][out] */
__out long *plAnalogVideoStandard) = 0;
virtual HRESULT STDMETHODCALLTYPE AutoTune(
/* [in] */ long lChannel,
/* [annotation][out] */
__out long *plFoundSignal) = 0;
virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections(
/* [annotation][out] */
__out long *plNumInputConnections) = 0;
virtual HRESULT STDMETHODCALLTYPE put_InputType(
/* [in] */ long lIndex,
/* [in] */ TunerInputType InputType) = 0;
virtual HRESULT STDMETHODCALLTYPE get_InputType(
/* [in] */ long lIndex,
/* [annotation][out] */
__out TunerInputType *pInputType) = 0;
virtual HRESULT STDMETHODCALLTYPE put_ConnectInput(
/* [in] */ long lIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE get_ConnectInput(
/* [annotation][out] */
__out long *plIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency(
/* [annotation][out] */
__out long *lFreq) = 0;
virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency(
/* [annotation][out] */
__out long *lFreq) = 0;
};
#else /* C style interface */
typedef struct IAMTVTunerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMTVTuner * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out long *plChannel,
/* [annotation][out] */
__out long *plVideoSubChannel,
/* [annotation][out] */
__out long *plAudioSubChannel);
HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
IAMTVTuner * This,
/* [annotation][out] */
__out long *lChannelMin,
/* [annotation][out] */
__out long *lChannelMax);
HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
IAMTVTuner * This,
/* [in] */ long lCountryCode);
HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
IAMTVTuner * This,
/* [annotation][out] */
__out long *plCountryCode);
HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
IAMTVTuner * This,
/* [in] */ long lTuningSpace);
HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
IAMTVTuner * This,
/* [annotation][out] */
__out long *plTuningSpace);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
IAMTVTuner * This,
/* [in] */ HANDLE hCurrentUser);
HRESULT ( STDMETHODCALLTYPE *Logout )(
IAMTVTuner * This);
HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
IAMTVTuner * This,
/* [annotation][out] */
__out long *plSignalStrength);
HRESULT ( STDMETHODCALLTYPE *put_Mode )(
IAMTVTuner * This,
/* [in] */ AMTunerModeType lMode);
HRESULT ( STDMETHODCALLTYPE *get_Mode )(
IAMTVTuner * This,
/* [annotation][out] */
__out AMTunerModeType *plMode);
HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
IAMTVTuner * This,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *lAnalogVideoStandard);
HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
IAMTVTuner * This,
/* [annotation][out] */
__out long *plAnalogVideoStandard);
HRESULT ( STDMETHODCALLTYPE *AutoTune )(
IAMTVTuner * This,
/* [in] */ long lChannel,
/* [annotation][out] */
__out long *plFoundSignal);
HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )(
IAMTVTuner * This);
HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )(
IAMTVTuner * This,
/* [annotation][out] */
__out long *plNumInputConnections);
HRESULT ( STDMETHODCALLTYPE *put_InputType )(
IAMTVTuner * This,
/* [in] */ long lIndex,
/* [in] */ TunerInputType InputType);
HRESULT ( STDMETHODCALLTYPE *get_InputType )(
IAMTVTuner * This,
/* [in] */ long lIndex,
/* [annotation][out] */
__out TunerInputType *pInputType);
HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )(
IAMTVTuner * This,
/* [in] */ long lIndex);
HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )(
IAMTVTuner * This,
/* [annotation][out] */
__out long *plIndex);
HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )(
IAMTVTuner * This,
/* [annotation][out] */
__out long *lFreq);
HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )(
IAMTVTuner * This,
/* [annotation][out] */
__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 */
#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(
/* [annotation][out] */
__out long *plDefaultVideoType,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out long *plChannel,
/* [annotation][out] */
__out long *plVideoSubChannel,
/* [annotation][out] */
__out long *plAudioSubChannel);
HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
IBPCSatelliteTuner * This,
/* [annotation][out] */
__out long *lChannelMin,
/* [annotation][out] */
__out long *lChannelMax);
HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
IBPCSatelliteTuner * This,
/* [in] */ long lCountryCode);
HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
IBPCSatelliteTuner * This,
/* [annotation][out] */
__out long *plCountryCode);
HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
IBPCSatelliteTuner * This,
/* [in] */ long lTuningSpace);
HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
IBPCSatelliteTuner * This,
/* [annotation][out] */
__out long *plTuningSpace);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
IBPCSatelliteTuner * This,
/* [in] */ HANDLE hCurrentUser);
HRESULT ( STDMETHODCALLTYPE *Logout )(
IBPCSatelliteTuner * This);
HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
IBPCSatelliteTuner * This,
/* [annotation][out] */
__out long *plSignalStrength);
HRESULT ( STDMETHODCALLTYPE *put_Mode )(
IBPCSatelliteTuner * This,
/* [in] */ AMTunerModeType lMode);
HRESULT ( STDMETHODCALLTYPE *get_Mode )(
IBPCSatelliteTuner * This,
/* [annotation][out] */
__out AMTunerModeType *plMode);
HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
IBPCSatelliteTuner * This,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *plDefaultVideoType,
/* [annotation][out] */
__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 */
#endif /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0064 */
/* [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,
AMTVAUDIO_PRESET_STEREO = 0x200,
AMTVAUDIO_PRESET_LANG_A = 0x1000,
AMTVAUDIO_PRESET_LANG_B = 0x2000,
AMTVAUDIO_PRESET_LANG_C = 0x4000
} TVAudioMode;
typedef
enum tagAMTVAudioEventType
{ AMTVAUDIO_EVENT_CHANGED = 0x1
} AMTVAudioEventType;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0064_v0_0_s_ifspec;
#ifndef __IAMTVAudio_INTERFACE_DEFINED__
#define __IAMTVAudio_INTERFACE_DEFINED__
/* interface IAMTVAudio */
/* [unique][uuid][local][object][local] */
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(
/* [annotation][out] */
__out long *plModes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes(
/* [annotation][out] */
__out long *plModes) = 0;
virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode(
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMTVAudio * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMTVAudio * This);
HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )(
IAMTVAudio * This,
/* [annotation][out] */
__out long *plModes);
HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )(
IAMTVAudio * This,
/* [annotation][out] */
__out long *plModes);
HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )(
IAMTVAudio * This,
/* [annotation][out] */
__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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
#ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
#define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
/* interface IAMAnalogVideoEncoder */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *lAnalogVideoStandard) = 0;
virtual HRESULT STDMETHODCALLTYPE put_TVFormat(
/* [in] */ long lAnalogVideoStandard) = 0;
virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
/* [annotation][out] */
__out long *plAnalogVideoStandard) = 0;
virtual HRESULT STDMETHODCALLTYPE put_CopyProtection(
/* [in] */ long lVideoCopyProtection) = 0;
virtual HRESULT STDMETHODCALLTYPE get_CopyProtection(
/* [annotation][out] */
__out long *lVideoCopyProtection) = 0;
virtual HRESULT STDMETHODCALLTYPE put_CCEnable(
/* [in] */ long lCCEnable) = 0;
virtual HRESULT STDMETHODCALLTYPE get_CCEnable(
/* [annotation][out] */
__out long *lCCEnable) = 0;
};
#else /* C style interface */
typedef struct IAMAnalogVideoEncoderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMAnalogVideoEncoder * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMAnalogVideoEncoder * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMAnalogVideoEncoder * This);
HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
IAMAnalogVideoEncoder * This,
/* [annotation][out] */
__out long *lAnalogVideoStandard);
HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(
IAMAnalogVideoEncoder * This,
/* [in] */ long lAnalogVideoStandard);
HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
IAMAnalogVideoEncoder * This,
/* [annotation][out] */
__out long *plAnalogVideoStandard);
HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )(
IAMAnalogVideoEncoder * This,
/* [in] */ long lVideoCopyProtection);
HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )(
IAMAnalogVideoEncoder * This,
/* [annotation][out] */
__out long *lVideoCopyProtection);
HRESULT ( STDMETHODCALLTYPE *put_CCEnable )(
IAMAnalogVideoEncoder * This,
/* [in] */ long lCCEnable);
HRESULT ( STDMETHODCALLTYPE *get_CCEnable )(
IAMAnalogVideoEncoder * This,
/* [annotation][out] */
__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 */
#endif /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0067 */
/* [local] */
typedef
enum AMPROPERTY_PIN
{ 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_0000_0067_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0067_v0_0_s_ifspec;
#ifndef __IKsPropertySet_INTERFACE_DEFINED__
#define __IKsPropertySet_INTERFACE_DEFINED__
/* interface IKsPropertySet */
/* [unique][uuid][object][local] */
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,
/* [annotation][size_is][in] */
__in_bcount(cbInstanceData) LPVOID pInstanceData,
/* [in] */ DWORD cbInstanceData,
/* [annotation][size_is][in] */
__in_bcount(cbPropData) LPVOID pPropData,
/* [in] */ DWORD cbPropData) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get(
/* [in] */ REFGUID guidPropSet,
/* [in] */ DWORD dwPropID,
/* [annotation][size_is][in] */
__in_bcount(cbInstanceData) LPVOID pInstanceData,
/* [in] */ DWORD cbInstanceData,
/* [annotation][size_is][out] */
__out_bcount_part(cbPropData, *pcbReturned) LPVOID pPropData,
/* [in] */ DWORD cbPropData,
/* [annotation][out] */
__out DWORD *pcbReturned) = 0;
virtual HRESULT STDMETHODCALLTYPE QuerySupported(
/* [in] */ REFGUID guidPropSet,
/* [in] */ DWORD dwPropID,
/* [annotation][out] */
__out DWORD *pTypeSupport) = 0;
};
#else /* C style interface */
typedef struct IKsPropertySetVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IKsPropertySet * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][size_is][in] */
__in_bcount(cbInstanceData) LPVOID pInstanceData,
/* [in] */ DWORD cbInstanceData,
/* [annotation][size_is][in] */
__in_bcount(cbPropData) LPVOID pPropData,
/* [in] */ DWORD cbPropData);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )(
IKsPropertySet * This,
/* [in] */ REFGUID guidPropSet,
/* [in] */ DWORD dwPropID,
/* [annotation][size_is][in] */
__in_bcount(cbInstanceData) LPVOID pInstanceData,
/* [in] */ DWORD cbInstanceData,
/* [annotation][size_is][out] */
__out_bcount_part(cbPropData, *pcbReturned) LPVOID pPropData,
/* [in] */ DWORD cbPropData,
/* [annotation][out] */
__out DWORD *pcbReturned);
HRESULT ( STDMETHODCALLTYPE *QuerySupported )(
IKsPropertySet * This,
/* [in] */ REFGUID guidPropSet,
/* [in] */ DWORD dwPropID,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out DWORD *pcbReturned);
void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IKsPropertySet_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0068 */
/* [local] */
#endif // _IKsPropertySet_
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0068_v0_0_s_ifspec;
#ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
#define __IMediaPropertyBag_INTERFACE_DEFINED__
/* interface IMediaPropertyBag */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [unique][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 */
#endif /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
#ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
#define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
/* interface IPersistMediaPropertyBag */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
#ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
#define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
/* interface IAMPhysicalPinInfo */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *pType,
/* [annotation][out] */
__out LPOLESTR *ppszType) = 0;
};
#else /* C style interface */
typedef struct IAMPhysicalPinInfoVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMPhysicalPinInfo * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMPhysicalPinInfo * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMPhysicalPinInfo * This);
HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )(
IAMPhysicalPinInfo * This,
/* [annotation][out] */
__out long *pType,
/* [annotation][out] */
__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 */
#endif /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0071 */
/* [local] */
typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0071_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0071_v0_0_s_ifspec;
#ifndef __IAMExtDevice_INTERFACE_DEFINED__
#define __IAMExtDevice_INTERFACE_DEFINED__
/* interface IAMExtDevice */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out long *pValue,
/* [annotation][out] */
__out double *pdblValue) = 0;
virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID(
/* [annotation][out] */
__out LPOLESTR *ppszData) = 0;
virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion(
/* [annotation][out] */
__out LPOLESTR *ppszData) = 0;
virtual HRESULT STDMETHODCALLTYPE put_DevicePower(
/* [in] */ long PowerMode) = 0;
virtual HRESULT STDMETHODCALLTYPE get_DevicePower(
/* [annotation][out] */
__out long *pPowerMode) = 0;
virtual HRESULT STDMETHODCALLTYPE Calibrate(
/* [in] */ HEVENT hEvent,
/* [in] */ long Mode,
/* [annotation][out] */
__out long *pStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE put_DevicePort(
/* [in] */ long DevicePort) = 0;
virtual HRESULT STDMETHODCALLTYPE get_DevicePort(
/* [annotation][out] */
__out long *pDevicePort) = 0;
};
#else /* C style interface */
typedef struct IAMExtDeviceVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMExtDevice * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMExtDevice * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMExtDevice * This);
HRESULT ( STDMETHODCALLTYPE *GetCapability )(
IAMExtDevice * This,
/* [in] */ long Capability,
/* [annotation][out] */
__out long *pValue,
/* [annotation][out] */
__out double *pdblValue);
HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )(
IAMExtDevice * This,
/* [annotation][out] */
__out LPOLESTR *ppszData);
HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )(
IAMExtDevice * This,
/* [annotation][out] */
__out LPOLESTR *ppszData);
HRESULT ( STDMETHODCALLTYPE *put_DevicePower )(
IAMExtDevice * This,
/* [in] */ long PowerMode);
HRESULT ( STDMETHODCALLTYPE *get_DevicePower )(
IAMExtDevice * This,
/* [annotation][out] */
__out long *pPowerMode);
HRESULT ( STDMETHODCALLTYPE *Calibrate )(
IAMExtDevice * This,
/* [in] */ HEVENT hEvent,
/* [in] */ long Mode,
/* [annotation][out] */
__out long *pStatus);
HRESULT ( STDMETHODCALLTYPE *put_DevicePort )(
IAMExtDevice * This,
/* [in] */ long DevicePort);
HRESULT ( STDMETHODCALLTYPE *get_DevicePort )(
IAMExtDevice * This,
/* [annotation][out] */
__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 */
#endif /* __IAMExtDevice_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0072 */
/* [local] */
typedef IAMExtDevice *PEXTDEVICE;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0072_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0072_v0_0_s_ifspec;
#ifndef __IAMExtTransport_INTERFACE_DEFINED__
#define __IAMExtTransport_INTERFACE_DEFINED__
/* interface IAMExtTransport */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out long *pValue,
/* [annotation][out] */
__out double *pdblValue) = 0;
virtual HRESULT STDMETHODCALLTYPE put_MediaState(
/* [in] */ long State) = 0;
virtual HRESULT STDMETHODCALLTYPE get_MediaState(
/* [annotation][out] */
__out long *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE put_LocalControl(
/* [in] */ long State) = 0;
virtual HRESULT STDMETHODCALLTYPE get_LocalControl(
/* [annotation][out] */
__out long *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus(
/* [in] */ long StatusItem,
/* [annotation][out] */
__out long *pValue) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetTransportBasicParameters(
/* [in] */ long Param,
/* [annotation][out][in] */
__inout long *pValue,
/* [annotation][out][in] */
__inout LPOLESTR *ppszData) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters(
/* [in] */ long Param,
/* [in] */ long Value,
/* [in] */ LPCOLESTR pszData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters(
/* [in] */ long Param,
/* [annotation][out] */
__out long *pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters(
/* [in] */ long Param,
/* [in] */ long Value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters(
/* [in] */ long Param,
/* [annotation][out] */
__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(
/* [annotation][out] */
__out long *pMode) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Rate(
/* [in] */ double dblRate) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Rate(
/* [annotation][out] */
__out double *pdblRate) = 0;
virtual HRESULT STDMETHODCALLTYPE GetChase(
/* [annotation][out] */
__out long *pEnabled,
/* [annotation][out] */
__out long *pOffset,
/* [annotation][out] */
__out HEVENT *phEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE SetChase(
/* [in] */ long Enable,
/* [in] */ long Offset,
/* [in] */ HEVENT hEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBump(
/* [annotation][out] */
__out long *pSpeed,
/* [annotation][out] */
__out long *pDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBump(
/* [in] */ long Speed,
/* [in] */ long Duration) = 0;
virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl(
/* [annotation][out] */
__out long *pEnabled) = 0;
virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl(
/* [in] */ long Enable) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet(
/* [in] */ long EditID,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEditProperty(
/* [in] */ long EditID,
/* [in] */ long Param,
/* [in] */ long Value) = 0;
virtual HRESULT STDMETHODCALLTYPE get_EditStart(
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMExtTransport * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMExtTransport * This);
HRESULT ( STDMETHODCALLTYPE *GetCapability )(
IAMExtTransport * This,
/* [in] */ long Capability,
/* [annotation][out] */
__out long *pValue,
/* [annotation][out] */
__out double *pdblValue);
HRESULT ( STDMETHODCALLTYPE *put_MediaState )(
IAMExtTransport * This,
/* [in] */ long State);
HRESULT ( STDMETHODCALLTYPE *get_MediaState )(
IAMExtTransport * This,
/* [annotation][out] */
__out long *pState);
HRESULT ( STDMETHODCALLTYPE *put_LocalControl )(
IAMExtTransport * This,
/* [in] */ long State);
HRESULT ( STDMETHODCALLTYPE *get_LocalControl )(
IAMExtTransport * This,
/* [annotation][out] */
__out long *pState);
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
IAMExtTransport * This,
/* [in] */ long StatusItem,
/* [annotation][out] */
__out long *pValue);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )(
IAMExtTransport * This,
/* [in] */ long Param,
/* [annotation][out][in] */
__inout long *pValue,
/* [annotation][out][in] */
__inout LPOLESTR *ppszData);
HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )(
IAMExtTransport * This,
/* [in] */ long Param,
/* [in] */ long Value,
/* [in] */ LPCOLESTR pszData);
HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )(
IAMExtTransport * This,
/* [in] */ long Param,
/* [annotation][out] */
__out long *pValue);
HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )(
IAMExtTransport * This,
/* [in] */ long Param,
/* [in] */ long Value);
HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )(
IAMExtTransport * This,
/* [in] */ long Param,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *pMode);
HRESULT ( STDMETHODCALLTYPE *put_Rate )(
IAMExtTransport * This,
/* [in] */ double dblRate);
HRESULT ( STDMETHODCALLTYPE *get_Rate )(
IAMExtTransport * This,
/* [annotation][out] */
__out double *pdblRate);
HRESULT ( STDMETHODCALLTYPE *GetChase )(
IAMExtTransport * This,
/* [annotation][out] */
__out long *pEnabled,
/* [annotation][out] */
__out long *pOffset,
/* [annotation][out] */
__out HEVENT *phEvent);
HRESULT ( STDMETHODCALLTYPE *SetChase )(
IAMExtTransport * This,
/* [in] */ long Enable,
/* [in] */ long Offset,
/* [in] */ HEVENT hEvent);
HRESULT ( STDMETHODCALLTYPE *GetBump )(
IAMExtTransport * This,
/* [annotation][out] */
__out long *pSpeed,
/* [annotation][out] */
__out long *pDuration);
HRESULT ( STDMETHODCALLTYPE *SetBump )(
IAMExtTransport * This,
/* [in] */ long Speed,
/* [in] */ long Duration);
HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )(
IAMExtTransport * This,
/* [annotation][out] */
__out long *pEnabled);
HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )(
IAMExtTransport * This,
/* [in] */ long Enable);
HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )(
IAMExtTransport * This,
/* [in] */ long EditID,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *pValue);
HRESULT ( STDMETHODCALLTYPE *SetEditProperty )(
IAMExtTransport * This,
/* [in] */ long EditID,
/* [in] */ long Param,
/* [in] */ long Value);
HRESULT ( STDMETHODCALLTYPE *get_EditStart )(
IAMExtTransport * This,
/* [annotation][out] */
__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 */
#endif /* __IAMExtTransport_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0073 */
/* [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_0000_0073_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0073_v0_0_s_ifspec;
#ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
#define __IAMTimecodeReader_INTERFACE_DEFINED__
/* interface IAMTimecodeReader */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__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(
/* [annotation][out] */
__out long *pLine) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
/* [annotation][out] */
__out PTIMECODE_SAMPLE pTimecodeSample) = 0;
};
#else /* C style interface */
typedef struct IAMTimecodeReaderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMTimecodeReader * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMTimecodeReader * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMTimecodeReader * This);
HRESULT ( STDMETHODCALLTYPE *GetTCRMode )(
IAMTimecodeReader * This,
/* [in] */ long Param,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *pLine);
HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
IAMTimecodeReader * This,
/* [annotation][out] */
__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 */
#endif /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0074 */
/* [local] */
typedef IAMTimecodeReader *PIAMTIMECODEREADER;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0074_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0074_v0_0_s_ifspec;
#ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
#define __IAMTimecodeGenerator_INTERFACE_DEFINED__
/* interface IAMTimecodeGenerator */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__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(
/* [annotation][out] */
__out long *pLine) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimecode(
/* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimecode(
/* [annotation][out] */
__out PTIMECODE_SAMPLE pTimecodeSample) = 0;
};
#else /* C style interface */
typedef struct IAMTimecodeGeneratorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMTimecodeGenerator * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMTimecodeGenerator * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMTimecodeGenerator * This);
HRESULT ( STDMETHODCALLTYPE *GetTCGMode )(
IAMTimecodeGenerator * This,
/* [in] */ long Param,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out long *pLine);
HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
IAMTimecodeGenerator * This,
/* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
IAMTimecodeGenerator * This,
/* [annotation][out] */
__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 */
#endif /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0075 */
/* [local] */
typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0075_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0075_v0_0_s_ifspec;
#ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
#define __IAMTimecodeDisplay_INTERFACE_DEFINED__
/* interface IAMTimecodeDisplay */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out long *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable(
/* [in] */ long State) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTCDisplay(
/* [in] */ long Param,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMTimecodeDisplay * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMTimecodeDisplay * This);
HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )(
IAMTimecodeDisplay * This,
/* [annotation][out] */
__out long *pState);
HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )(
IAMTimecodeDisplay * This,
/* [in] */ long State);
HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )(
IAMTimecodeDisplay * This,
/* [in] */ long Param,
/* [annotation][out] */
__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 */
#endif /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0076 */
/* [local] */
typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0076_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0076_v0_0_s_ifspec;
#ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
#define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
/* interface IAMDevMemoryAllocator */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out DWORD *pdwcbTotalFree,
/* [annotation][out] */
__out DWORD *pdwcbLargestFree,
/* [annotation][out] */
__out DWORD *pdwcbTotalMemory,
/* [annotation][out] */
__out DWORD *pdwcbMinimumChunk) = 0;
virtual HRESULT STDMETHODCALLTYPE CheckMemory(
/* [in] */ const BYTE *pBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE Alloc(
/* [annotation][out] */
__deref_out_bcount(*pdwcbBuffer) BYTE **ppBuffer,
/* [annotation][out][in] */
__inout DWORD *pdwcbBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE Free(
/* [in] */ BYTE *pBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject(
/* [annotation][out] */
__out IUnknown **ppUnkInnner,
/* [in] */ IUnknown *pUnkOuter) = 0;
};
#else /* C style interface */
typedef struct IAMDevMemoryAllocatorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMDevMemoryAllocator * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMDevMemoryAllocator * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMDevMemoryAllocator * This);
HRESULT ( STDMETHODCALLTYPE *GetInfo )(
IAMDevMemoryAllocator * This,
/* [annotation][out] */
__out DWORD *pdwcbTotalFree,
/* [annotation][out] */
__out DWORD *pdwcbLargestFree,
/* [annotation][out] */
__out DWORD *pdwcbTotalMemory,
/* [annotation][out] */
__out DWORD *pdwcbMinimumChunk);
HRESULT ( STDMETHODCALLTYPE *CheckMemory )(
IAMDevMemoryAllocator * This,
/* [in] */ const BYTE *pBuffer);
HRESULT ( STDMETHODCALLTYPE *Alloc )(
IAMDevMemoryAllocator * This,
/* [annotation][out] */
__deref_out_bcount(*pdwcbBuffer) BYTE **ppBuffer,
/* [annotation][out][in] */
__inout DWORD *pdwcbBuffer);
HRESULT ( STDMETHODCALLTYPE *Free )(
IAMDevMemoryAllocator * This,
/* [in] */ BYTE *pBuffer);
HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )(
IAMDevMemoryAllocator * This,
/* [annotation][out] */
__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 */
#endif /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0077 */
/* [local] */
typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0077_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0077_v0_0_s_ifspec;
#ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
#define __IAMDevMemoryControl_INTERFACE_DEFINED__
/* interface IAMDevMemoryControl */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out DWORD *pdwDevId) = 0;
};
#else /* C style interface */
typedef struct IAMDevMemoryControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMDevMemoryControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__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 */
#endif /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0078 */
/* [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_0000_0078_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0078_v0_0_s_ifspec;
#ifndef __IAMStreamSelect_INTERFACE_DEFINED__
#define __IAMStreamSelect_INTERFACE_DEFINED__
/* interface IAMStreamSelect */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out DWORD *pcStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE Info(
/* [in] */ long lIndex,
/* [annotation][out] */
__out_opt AM_MEDIA_TYPE **ppmt,
/* [annotation][out] */
__out_opt DWORD *pdwFlags,
/* [annotation][out] */
__out_opt LCID *plcid,
/* [annotation][out] */
__out_opt DWORD *pdwGroup,
/* [annotation][out] */
__out_opt LPWSTR *ppszName,
/* [annotation][out] */
__out_opt IUnknown **ppObject,
/* [annotation][out] */
__out_opt 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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMStreamSelect * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMStreamSelect * This);
HRESULT ( STDMETHODCALLTYPE *Count )(
IAMStreamSelect * This,
/* [annotation][out] */
__out DWORD *pcStreams);
HRESULT ( STDMETHODCALLTYPE *Info )(
IAMStreamSelect * This,
/* [in] */ long lIndex,
/* [annotation][out] */
__out_opt AM_MEDIA_TYPE **ppmt,
/* [annotation][out] */
__out_opt DWORD *pdwFlags,
/* [annotation][out] */
__out_opt LCID *plcid,
/* [annotation][out] */
__out_opt DWORD *pdwGroup,
/* [annotation][out] */
__out_opt LPWSTR *ppszName,
/* [annotation][out] */
__out_opt IUnknown **ppObject,
/* [annotation][out] */
__out_opt 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 */
#endif /* __IAMStreamSelect_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0079 */
/* [local] */
typedef IAMStreamSelect *PAMSTREAMSELECT;
enum _AMRESCTL_RESERVEFLAGS
{ AMRESCTL_RESERVEFLAGS_RESERVE = 0,
AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
} ;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0079_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0079_v0_0_s_ifspec;
#ifndef __IAMResourceControl_INTERFACE_DEFINED__
#define __IAMResourceControl_INTERFACE_DEFINED__
/* interface IAMResourceControl */
/* [local][unique][uuid][object][local] */
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,
/* [annotation][in] */
__reserved PVOID pvReserved) = 0;
};
#else /* C style interface */
typedef struct IAMResourceControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMResourceControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMResourceControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMResourceControl * This);
HRESULT ( STDMETHODCALLTYPE *Reserve )(
IAMResourceControl * This,
/* [in] */ DWORD dwFlags,
/* [annotation][in] */
__reserved 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 */
#endif /* __IAMResourceControl_INTERFACE_DEFINED__ */
#ifndef __IAMClockAdjust_INTERFACE_DEFINED__
#define __IAMClockAdjust_INTERFACE_DEFINED__
/* interface IAMClockAdjust */
/* [local][unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IAMClockAdjust_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0081 */
/* [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_0000_0081_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0081_v0_0_s_ifspec;
#ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
#define __IAMFilterMiscFlags_INTERFACE_DEFINED__
/* interface IAMFilterMiscFlags */
/* [local][unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
#ifndef __IDrawVideoImage_INTERFACE_DEFINED__
#define __IDrawVideoImage_INTERFACE_DEFINED__
/* interface IDrawVideoImage */
/* [unique][uuid][local][object][local] */
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,
/* [annotation][in] */
__in LPRECT lprcSrc,
/* [annotation][in] */
__in LPRECT lprcDst) = 0;
};
#else /* C style interface */
typedef struct IDrawVideoImageVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDrawVideoImage * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][in] */
__in LPRECT lprcSrc,
/* [annotation][in] */
__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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0084 */
/* [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_0000_0084_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0084_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(
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMVideoDecimationProperties * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMVideoDecimationProperties * This);
HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )(
IAMVideoDecimationProperties * This,
/* [annotation][out] */
__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 */
#endif /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
#ifndef __IVideoFrameStep_INTERFACE_DEFINED__
#define __IVideoFrameStep_INTERFACE_DEFINED__
/* interface IVideoFrameStep */
/* [unique][uuid][object][local] */
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,
/* [annotation][unique] */
__in_opt IUnknown *pStepObject) = 0;
virtual HRESULT STDMETHODCALLTYPE CanStep(
long bMultiple,
/* [annotation][unique] */
__in_opt 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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IVideoFrameStep * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IVideoFrameStep * This);
HRESULT ( STDMETHODCALLTYPE *Step )(
IVideoFrameStep * This,
DWORD dwFrames,
/* [annotation][unique] */
__in_opt IUnknown *pStepObject);
HRESULT ( STDMETHODCALLTYPE *CanStep )(
IVideoFrameStep * This,
long bMultiple,
/* [annotation][unique] */
__in_opt 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 */
#endif /* __IVideoFrameStep_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0086 */
/* [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,
AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000
} ;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0086_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0086_v0_0_s_ifspec;
#ifndef __IAMLatency_INTERFACE_DEFINED__
#define __IAMLatency_INTERFACE_DEFINED__
/* interface IAMLatency */
/* [unique][uuid][object][local] */
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(
/* [annotation][in] */
__out REFERENCE_TIME *prtLatency) = 0;
};
#else /* C style interface */
typedef struct IAMLatencyVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMLatency * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMLatency * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMLatency * This);
HRESULT ( STDMETHODCALLTYPE *GetLatency )(
IAMLatency * This,
/* [annotation][in] */
__out 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 */
#endif /* __IAMLatency_INTERFACE_DEFINED__ */
#ifndef __IAMPushSource_INTERFACE_DEFINED__
#define __IAMPushSource_INTERFACE_DEFINED__
/* interface IAMPushSource */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__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(
/* [annotation][out] */
__out REFERENCE_TIME *prtOffset) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset(
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMPushSource * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMPushSource * This);
HRESULT ( STDMETHODCALLTYPE *GetLatency )(
IAMPushSource * This,
/* [annotation][in] */
__out REFERENCE_TIME *prtLatency);
HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )(
IAMPushSource * This,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out REFERENCE_TIME *prtOffset);
HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )(
IAMPushSource * This,
/* [annotation][out] */
__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 */
#endif /* __IAMPushSource_INTERFACE_DEFINED__ */
#ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
#define __IAMDeviceRemoval_INTERFACE_DEFINED__
/* interface IAMDeviceRemoval */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out CLSID *pclsidInterfaceClass,
/* [annotation][out] */
__out LPWSTR *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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMDeviceRemoval * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMDeviceRemoval * This);
HRESULT ( STDMETHODCALLTYPE *DeviceInfo )(
IAMDeviceRemoval * This,
/* [annotation][out] */
__out CLSID *pclsidInterfaceClass,
/* [annotation][out] */
__out LPWSTR *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 */
#endif /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0088 */
/* [local] */
typedef struct DVINFO
{
DWORD dwDVAAuxSrc;
DWORD dwDVAAuxCtl;
DWORD dwDVAAuxSrc1;
DWORD dwDVAAuxCtl1;
DWORD dwDVVAuxSrc;
DWORD dwDVVAuxCtl;
DWORD dwDVReserved[ 2 ];
} DVINFO;
typedef struct DVINFO *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_0000_0088_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0088_v0_0_s_ifspec;
#ifndef __IDVEnc_INTERFACE_DEFINED__
#define __IDVEnc_INTERFACE_DEFINED__
/* interface IDVEnc */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out int *VideoFormat,
/* [annotation][out] */
__out int *DVFormat,
/* [annotation][out] */
__out int *Resolution,
/* [in] */ BYTE fDVInfo,
/* [annotation][out] */
__out DVINFO *sDVInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution(
/* [in] */ int VideoFormat,
/* [in] */ int DVFormat,
/* [in] */ int Resolution,
/* [in] */ BYTE fDVInfo,
/* [annotation][in] */
__in DVINFO *sDVInfo) = 0;
};
#else /* C style interface */
typedef struct IDVEncVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDVEnc * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDVEnc * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IDVEnc * This);
HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )(
IDVEnc * This,
/* [annotation][out] */
__out int *VideoFormat,
/* [annotation][out] */
__out int *DVFormat,
/* [annotation][out] */
__out int *Resolution,
/* [in] */ BYTE fDVInfo,
/* [annotation][out] */
__out DVINFO *sDVInfo);
HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )(
IDVEnc * This,
/* [in] */ int VideoFormat,
/* [in] */ int DVFormat,
/* [in] */ int Resolution,
/* [in] */ BYTE fDVInfo,
/* [annotation][in] */
__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 */
#endif /* __IDVEnc_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0089 */
/* [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_0000_0089_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0089_v0_0_s_ifspec;
#ifndef __IIPDVDec_INTERFACE_DEFINED__
#define __IIPDVDec_INTERFACE_DEFINED__
/* interface IIPDVDec */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IIPDVDec * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IIPDVDec * This);
HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )(
IIPDVDec * This,
/* [annotation][out] */
__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 */
#endif /* __IIPDVDec_INTERFACE_DEFINED__ */
#ifndef __IDVRGB219_INTERFACE_DEFINED__
#define __IDVRGB219_INTERFACE_DEFINED__
/* interface IDVRGB219 */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IDVRGB219_INTERFACE_DEFINED__ */
#ifndef __IDVSplitter_INTERFACE_DEFINED__
#define __IDVSplitter_INTERFACE_DEFINED__
/* interface IDVSplitter */
/* [uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IDVSplitter_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0092 */
/* [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_0000_0092_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0092_v0_0_s_ifspec;
#ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
#define __IAMAudioRendererStats_INTERFACE_DEFINED__
/* interface IAMAudioRendererStats */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out DWORD *pdwParam1,
/* [annotation][out] */
__out DWORD *pdwParam2) = 0;
};
#else /* C style interface */
typedef struct IAMAudioRendererStatsVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMAudioRendererStats * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMAudioRendererStats * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMAudioRendererStats * This);
HRESULT ( STDMETHODCALLTYPE *GetStatParam )(
IAMAudioRendererStats * This,
/* [in] */ DWORD dwParam,
/* [annotation][out] */
__out DWORD *pdwParam1,
/* [annotation][out] */
__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 */
#endif /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0094 */
/* [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_0000_0094_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0094_v0_0_s_ifspec;
#ifndef __IAMGraphStreams_INTERFACE_DEFINED__
#define __IAMGraphStreams_INTERFACE_DEFINED__
/* interface IAMGraphStreams */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMGraphStreams * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMGraphStreams * This);
HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )(
IAMGraphStreams * This,
/* [in] */ IPin *pPin,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__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 */
#endif /* __IAMGraphStreams_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0095 */
/* [local] */
enum AMOVERLAYFX
{ AMOVERFX_NOFX = 0,
AMOVERFX_MIRRORLEFTRIGHT = 0x2,
AMOVERFX_MIRRORUPDOWN = 0x4,
AMOVERFX_DEINTERLACE = 0x8
} ;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0095_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0095_v0_0_s_ifspec;
#ifndef __IAMOverlayFX_INTERFACE_DEFINED__
#define __IAMOverlayFX_INTERFACE_DEFINED__
/* interface IAMOverlayFX */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out DWORD *lpdwOverlayFXCaps) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOverlayFX(
/* [in] */ DWORD dwOverlayFX) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOverlayFX(
/* [annotation][out] */
__out DWORD *lpdwOverlayFX) = 0;
};
#else /* C style interface */
typedef struct IAMOverlayFXVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMOverlayFX * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMOverlayFX * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMOverlayFX * This);
HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )(
IAMOverlayFX * This,
/* [annotation][out] */
__out DWORD *lpdwOverlayFXCaps);
HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )(
IAMOverlayFX * This,
/* [in] */ DWORD dwOverlayFX);
HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )(
IAMOverlayFX * This,
/* [annotation][out] */
__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 */
#endif /* __IAMOverlayFX_INTERFACE_DEFINED__ */
#ifndef __IAMOpenProgress_INTERFACE_DEFINED__
#define __IAMOpenProgress_INTERFACE_DEFINED__
/* interface IAMOpenProgress */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out LONGLONG *pllTotal,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMOpenProgress * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMOpenProgress * This);
HRESULT ( STDMETHODCALLTYPE *QueryProgress )(
IAMOpenProgress * This,
/* [annotation][out] */
__out LONGLONG *pllTotal,
/* [annotation][out] */
__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 */
#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,
/* [annotation][in] */
__in LPWSTR pszPinName,
/* [annotation][out] */
__out IPin **ppIPin) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType(
/* [annotation][in] */
__in LPWSTR pszPinName,
/* [annotation][in] */
__in AM_MEDIA_TYPE *pMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin(
/* [annotation][in] */
__in LPWSTR pszPinName) = 0;
};
#else /* C style interface */
typedef struct IMpeg2DemultiplexerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMpeg2Demultiplexer * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMpeg2Demultiplexer * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMpeg2Demultiplexer * This);
HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )(
IMpeg2Demultiplexer * This,
/* [in] */ AM_MEDIA_TYPE *pMediaType,
/* [annotation][in] */
__in LPWSTR pszPinName,
/* [annotation][out] */
__out IPin **ppIPin);
HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )(
IMpeg2Demultiplexer * This,
/* [annotation][in] */
__in LPWSTR pszPinName,
/* [annotation][in] */
__in AM_MEDIA_TYPE *pMediaType);
HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )(
IMpeg2Demultiplexer * This,
/* [annotation][in] */
__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 */
#endif /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0098 */
/* [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 struct STREAM_ID_MAP
{
ULONG stream_id;
DWORD dwMediaSampleContent;
ULONG ulSubstreamFilterValue;
int iDataOffset;
} STREAM_ID_MAP;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0098_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0098_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,
/* [annotation][size_is][out][in] */
__out_ecount_part(cRequest, *pcReceived) STREAM_ID_MAP *pStreamIdMap,
/* [annotation][out] */
__out_opt ULONG *pcReceived) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
/* [in] */ ULONG cRecords) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [annotation][out] */
__out IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
};
#else /* C style interface */
typedef struct IEnumStreamIdMapVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IEnumStreamIdMap * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IEnumStreamIdMap * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IEnumStreamIdMap * This);
HRESULT ( STDMETHODCALLTYPE *Next )(
IEnumStreamIdMap * This,
/* [in] */ ULONG cRequest,
/* [annotation][size_is][out][in] */
__out_ecount_part(cRequest, *pcReceived) STREAM_ID_MAP *pStreamIdMap,
/* [annotation][out] */
__out_opt ULONG *pcReceived);
HRESULT ( STDMETHODCALLTYPE *Skip )(
IEnumStreamIdMap * This,
/* [in] */ ULONG cRecords);
HRESULT ( STDMETHODCALLTYPE *Reset )(
IEnumStreamIdMap * This);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IEnumStreamIdMap * This,
/* [annotation][out] */
__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 */
#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,
/* [annotation][in] */
__in_ecount(culStreamId) ULONG *pulStreamId) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap(
/* [annotation][out] */
__out IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
};
#else /* C style interface */
typedef struct IMPEG2StreamIdMapVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMPEG2StreamIdMap * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][in] */
__in_ecount(culStreamId) ULONG *pulStreamId);
HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )(
IMPEG2StreamIdMap * This,
/* [annotation][out] */
__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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IRegisterServiceProvider_INTERFACE_DEFINED__ */
#ifndef __IAMClockSlave_INTERFACE_DEFINED__
#define __IAMClockSlave_INTERFACE_DEFINED__
/* interface IAMClockSlave */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out DWORD *pdwTolerance) = 0;
};
#else /* C style interface */
typedef struct IAMClockSlaveVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMClockSlave * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0103 */
/* [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_0000_0103_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0103_v0_0_s_ifspec;
#ifndef __ICodecAPI_INTERFACE_DEFINED__
#define __ICodecAPI_INTERFACE_DEFINED__
/* interface ICodecAPI */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out VARIANT *ValueMin,
/* [annotation][out] */
__out VARIANT *ValueMax,
/* [annotation][out] */
__out VARIANT *SteppingDelta) = 0;
virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
/* [in] */ const GUID *Api,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount(*ValuesCount) VARIANT **Values,
/* [annotation][out] */
__out ULONG *ValuesCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetValue(
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetValue(
/* [in] */ const GUID *Api,
/* [annotation][in] */
__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,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount(*ChangedParamCount) GUID **ChangedParam,
/* [annotation][out] */
__out ULONG *ChangedParamCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAllDefaultsWithNotify(
/* [annotation][size_is][size_is][out] */
__deref_out_ecount(*ChangedParamCount) GUID **ChangedParam,
/* [annotation][out] */
__out ULONG *ChangedParamCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllSettings(
/* [in] */ IStream *__MIDL__ICodecAPI0000) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAllSettings(
/* [in] */ IStream *__MIDL__ICodecAPI0001) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAllSettingsWithNotify(
IStream *__MIDL__ICodecAPI0002,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount(*ChangedParamCount) GUID **ChangedParam,
/* [annotation][out] */
__out ULONG *ChangedParamCount) = 0;
};
#else /* C style interface */
typedef struct ICodecAPIVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICodecAPI * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out VARIANT *ValueMin,
/* [annotation][out] */
__out VARIANT *ValueMax,
/* [annotation][out] */
__out VARIANT *SteppingDelta);
HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
ICodecAPI * This,
/* [in] */ const GUID *Api,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount(*ValuesCount) VARIANT **Values,
/* [annotation][out] */
__out ULONG *ValuesCount);
HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
ICodecAPI * This,
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value);
HRESULT ( STDMETHODCALLTYPE *GetValue )(
ICodecAPI * This,
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value);
HRESULT ( STDMETHODCALLTYPE *SetValue )(
ICodecAPI * This,
/* [in] */ const GUID *Api,
/* [annotation][in] */
__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,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount(*ChangedParamCount) GUID **ChangedParam,
/* [annotation][out] */
__out ULONG *ChangedParamCount);
HRESULT ( STDMETHODCALLTYPE *SetAllDefaultsWithNotify )(
ICodecAPI * This,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount(*ChangedParamCount) GUID **ChangedParam,
/* [annotation][out] */
__out ULONG *ChangedParamCount);
HRESULT ( STDMETHODCALLTYPE *GetAllSettings )(
ICodecAPI * This,
/* [in] */ IStream *__MIDL__ICodecAPI0000);
HRESULT ( STDMETHODCALLTYPE *SetAllSettings )(
ICodecAPI * This,
/* [in] */ IStream *__MIDL__ICodecAPI0001);
HRESULT ( STDMETHODCALLTYPE *SetAllSettingsWithNotify )(
ICodecAPI * This,
IStream *__MIDL__ICodecAPI0002,
/* [annotation][size_is][size_is][out] */
__deref_out_ecount(*ChangedParamCount) GUID **ChangedParam,
/* [annotation][out] */
__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__ICodecAPI0000) \
( (This)->lpVtbl -> GetAllSettings(This,__MIDL__ICodecAPI0000) )
#define ICodecAPI_SetAllSettings(This,__MIDL__ICodecAPI0001) \
( (This)->lpVtbl -> SetAllSettings(This,__MIDL__ICodecAPI0001) )
#define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL__ICodecAPI0002,ChangedParam,ChangedParamCount) \
( (This)->lpVtbl -> SetAllSettingsWithNotify(This,__MIDL__ICodecAPI0002,ChangedParam,ChangedParamCount) )
#endif /* COBJMACROS */
#endif /* C style interface */
#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(
/* [annotation][out] */
__out HKEY *pHKey) = 0;
};
#else /* C style interface */
typedef struct IGetCapabilitiesKeyVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGetCapabilitiesKey * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGetCapabilitiesKey * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IGetCapabilitiesKey * This);
HRESULT ( STDMETHODCALLTYPE *GetCapabilitiesKey )(
IGetCapabilitiesKey * This,
/* [annotation][out] */
__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 */
#endif /* __IGetCapabilitiesKey_INTERFACE_DEFINED__ */
#ifndef __IEncoderAPI_INTERFACE_DEFINED__
#define __IEncoderAPI_INTERFACE_DEFINED__
/* interface IEncoderAPI */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out VARIANT *ValueMin,
/* [annotation][out] */
__out VARIANT *ValueMax,
/* [annotation][out] */
__out VARIANT *SteppingDelta) = 0;
virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
/* [in] */ const GUID *Api,
/* [annotation][size_is][size_is][out] */
__out_ecount(*ValuesCount) VARIANT **Values,
/* [annotation][out] */
__out ULONG *ValuesCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetValue(
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetValue(
/* [in] */ const GUID *Api,
/* [annotation][in] */
__in VARIANT *Value) = 0;
};
#else /* C style interface */
typedef struct IEncoderAPIVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IEncoderAPI * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out VARIANT *ValueMin,
/* [annotation][out] */
__out VARIANT *ValueMax,
/* [annotation][out] */
__out VARIANT *SteppingDelta);
HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
IEncoderAPI * This,
/* [in] */ const GUID *Api,
/* [annotation][size_is][size_is][out] */
__out_ecount(*ValuesCount) VARIANT **Values,
/* [annotation][out] */
__out ULONG *ValuesCount);
HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
IEncoderAPI * This,
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value);
HRESULT ( STDMETHODCALLTYPE *GetValue )(
IEncoderAPI * This,
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value);
HRESULT ( STDMETHODCALLTYPE *SetValue )(
IEncoderAPI * This,
/* [in] */ const GUID *Api,
/* [annotation][in] */
__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 */
#endif /* __IEncoderAPI_INTERFACE_DEFINED__ */
#ifndef __IVideoEncoder_INTERFACE_DEFINED__
#define __IVideoEncoder_INTERFACE_DEFINED__
/* interface IVideoEncoder */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out VARIANT *ValueMin,
/* [annotation][out] */
__out VARIANT *ValueMax,
/* [annotation][out] */
__out VARIANT *SteppingDelta);
HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
IVideoEncoder * This,
/* [in] */ const GUID *Api,
/* [annotation][size_is][size_is][out] */
__out_ecount(*ValuesCount) VARIANT **Values,
/* [annotation][out] */
__out ULONG *ValuesCount);
HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
IVideoEncoder * This,
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value);
HRESULT ( STDMETHODCALLTYPE *GetValue )(
IVideoEncoder * This,
/* [in] */ const GUID *Api,
/* [annotation][out] */
__out VARIANT *Value);
HRESULT ( STDMETHODCALLTYPE *SetValue )(
IVideoEncoder * This,
/* [in] */ const GUID *Api,
/* [annotation][in] */
__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_0000_0107 */
/* [local] */
#ifndef __ENCODER_API_DEFINES__
#define __ENCODER_API_DEFINES__
typedef
enum VIDEOENCODER_BITRATE_MODE
{ 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 AM_GETDECODERCAP_QUERY_EVR_SUPPORT 0x00000007
#define DECODER_CAP_NOTSUPPORTED 0x00000000
#define DECODER_CAP_SUPPORTED 0x00000001
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0107_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0107_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,
/* [annotation][out] */
__out DWORD *lpdwCap) = 0;
};
#else /* C style interface */
typedef struct IAMDecoderCapsVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMDecoderCaps * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMDecoderCaps * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMDecoderCaps * This);
HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(
IAMDecoderCaps * This,
/* [in] */ DWORD dwCapIndex,
/* [annotation][out] */
__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 */
#endif /* __IAMDecoderCaps_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0108 */
/* [local] */
typedef struct _AMCOPPSignature
{
BYTE Signature[ 256 ];
} AMCOPPSignature;
typedef struct _AMCOPPCommand
{
GUID macKDI;
GUID guidCommandID;
DWORD dwSequence;
DWORD cbSizeData;
BYTE CommandData[ 4056 ];
} AMCOPPCommand;
typedef struct _AMCOPPCommand *LPAMCOPPCommand;
typedef struct _AMCOPPStatusInput
{
GUID rApp;
GUID guidStatusRequestID;
DWORD dwSequence;
DWORD cbSizeData;
BYTE StatusData[ 4056 ];
} AMCOPPStatusInput;
typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput;
typedef struct _AMCOPPStatusOutput
{
GUID macKDI;
DWORD cbSizeData;
BYTE COPPStatus[ 4076 ];
} AMCOPPStatusOutput;
typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0108_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0108_v0_0_s_ifspec;
#ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
#define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
/* interface IAMCertifiedOutputProtection */
/* [unique][uuid][local][object] */
EXTERN_C const IID IID_IAMCertifiedOutputProtection;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515")
IAMCertifiedOutputProtection : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE KeyExchange(
/* [annotation][out] */
__out GUID *pRandom,
/* [annotation][out] */
__deref_out_bcount(*pdwLengthCertGH) BYTE **VarLenCertGH,
/* [annotation][out] */
__out DWORD *pdwLengthCertGH) = 0;
virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart(
/* [in] */ AMCOPPSignature *pSig) = 0;
virtual HRESULT STDMETHODCALLTYPE ProtectionCommand(
/* [in] */ const AMCOPPCommand *cmd) = 0;
virtual HRESULT STDMETHODCALLTYPE ProtectionStatus(
/* [in] */ const AMCOPPStatusInput *pStatusInput,
/* [annotation][out] */
__out AMCOPPStatusOutput *pStatusOutput) = 0;
};
#else /* C style interface */
typedef struct IAMCertifiedOutputProtectionVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMCertifiedOutputProtection * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMCertifiedOutputProtection * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMCertifiedOutputProtection * This);
HRESULT ( STDMETHODCALLTYPE *KeyExchange )(
IAMCertifiedOutputProtection * This,
/* [annotation][out] */
__out GUID *pRandom,
/* [annotation][out] */
__deref_out_bcount(*pdwLengthCertGH) BYTE **VarLenCertGH,
/* [annotation][out] */
__out DWORD *pdwLengthCertGH);
HRESULT ( STDMETHODCALLTYPE *SessionSequenceStart )(
IAMCertifiedOutputProtection * This,
/* [in] */ AMCOPPSignature *pSig);
HRESULT ( STDMETHODCALLTYPE *ProtectionCommand )(
IAMCertifiedOutputProtection * This,
/* [in] */ const AMCOPPCommand *cmd);
HRESULT ( STDMETHODCALLTYPE *ProtectionStatus )(
IAMCertifiedOutputProtection * This,
/* [in] */ const AMCOPPStatusInput *pStatusInput,
/* [annotation][out] */
__out AMCOPPStatusOutput *pStatusOutput);
END_INTERFACE
} IAMCertifiedOutputProtectionVtbl;
interface IAMCertifiedOutputProtection
{
CONST_VTBL struct IAMCertifiedOutputProtectionVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IAMCertifiedOutputProtection_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IAMCertifiedOutputProtection_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) \
( (This)->lpVtbl -> KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) )
#define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) \
( (This)->lpVtbl -> SessionSequenceStart(This,pSig) )
#define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) \
( (This)->lpVtbl -> ProtectionCommand(This,cmd) )
#define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) \
( (This)->lpVtbl -> ProtectionStatus(This,pStatusInput,pStatusOutput) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */
#ifndef __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__
#define __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__
/* interface IAMAsyncReaderTimestampScaling */
/* [unique][uuid][local][object] */
EXTERN_C const IID IID_IAMAsyncReaderTimestampScaling;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cf7b26fc-9a00-485b-8147-3e789d5e8f67")
IAMAsyncReaderTimestampScaling : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetTimestampMode(
/* [annotation] */
__out BOOL *pfRaw) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimestampMode(
BOOL fRaw) = 0;
};
#else /* C style interface */
typedef struct IAMAsyncReaderTimestampScalingVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMAsyncReaderTimestampScaling * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMAsyncReaderTimestampScaling * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMAsyncReaderTimestampScaling * This);
HRESULT ( STDMETHODCALLTYPE *GetTimestampMode )(
IAMAsyncReaderTimestampScaling * This,
/* [annotation] */
__out BOOL *pfRaw);
HRESULT ( STDMETHODCALLTYPE *SetTimestampMode )(
IAMAsyncReaderTimestampScaling * This,
BOOL fRaw);
END_INTERFACE
} IAMAsyncReaderTimestampScalingVtbl;
interface IAMAsyncReaderTimestampScaling
{
CONST_VTBL struct IAMAsyncReaderTimestampScalingVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IAMAsyncReaderTimestampScaling_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IAMAsyncReaderTimestampScaling_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IAMAsyncReaderTimestampScaling_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IAMAsyncReaderTimestampScaling_GetTimestampMode(This,pfRaw) \
( (This)->lpVtbl -> GetTimestampMode(This,pfRaw) )
#define IAMAsyncReaderTimestampScaling_SetTimestampMode(This,fRaw) \
( (This)->lpVtbl -> SetTimestampMode(This,fRaw) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IAMAsyncReaderTimestampScaling_INTERFACE_DEFINED__ */
#ifndef __IAMPluginControl_INTERFACE_DEFINED__
#define __IAMPluginControl_INTERFACE_DEFINED__
/* interface IAMPluginControl */
/* [unique][uuid][local][object] */
EXTERN_C const IID IID_IAMPluginControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0e26a181-f40c-4635-8786-976284b52981")
IAMPluginControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid(
/* [annotation] */
__in REFGUID subType,
/* [annotation] */
__out CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex(
DWORD index,
/* [annotation] */
__out GUID *subType,
/* [annotation] */
__out CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid(
/* [annotation] */
__in REFGUID subType,
/* [annotation] */
__in_opt const CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE IsDisabled(
REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex(
DWORD index,
/* [annotation] */
__out CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDisabled(
REFCLSID clsid,
BOOL disabled) = 0;
virtual HRESULT STDMETHODCALLTYPE IsLegacyDisabled(
LPCWSTR dllName) = 0;
};
#else /* C style interface */
typedef struct IAMPluginControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAMPluginControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAMPluginControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IAMPluginControl * This);
HRESULT ( STDMETHODCALLTYPE *GetPreferredClsid )(
IAMPluginControl * This,
/* [annotation] */
__in REFGUID subType,
/* [annotation] */
__out CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *GetPreferredClsidByIndex )(
IAMPluginControl * This,
DWORD index,
/* [annotation] */
__out GUID *subType,
/* [annotation] */
__out CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *SetPreferredClsid )(
IAMPluginControl * This,
/* [annotation] */
__in REFGUID subType,
/* [annotation] */
__in_opt const CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *IsDisabled )(
IAMPluginControl * This,
REFCLSID clsid);
HRESULT ( STDMETHODCALLTYPE *GetDisabledByIndex )(
IAMPluginControl * This,
DWORD index,
/* [annotation] */
__out CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *SetDisabled )(
IAMPluginControl * This,
REFCLSID clsid,
BOOL disabled);
HRESULT ( STDMETHODCALLTYPE *IsLegacyDisabled )(
IAMPluginControl * This,
LPCWSTR dllName);
END_INTERFACE
} IAMPluginControlVtbl;
interface IAMPluginControl
{
CONST_VTBL struct IAMPluginControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IAMPluginControl_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IAMPluginControl_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IAMPluginControl_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IAMPluginControl_GetPreferredClsid(This,subType,clsid) \
( (This)->lpVtbl -> GetPreferredClsid(This,subType,clsid) )
#define IAMPluginControl_GetPreferredClsidByIndex(This,index,subType,clsid) \
( (This)->lpVtbl -> GetPreferredClsidByIndex(This,index,subType,clsid) )
#define IAMPluginControl_SetPreferredClsid(This,subType,clsid) \
( (This)->lpVtbl -> SetPreferredClsid(This,subType,clsid) )
#define IAMPluginControl_IsDisabled(This,clsid) \
( (This)->lpVtbl -> IsDisabled(This,clsid) )
#define IAMPluginControl_GetDisabledByIndex(This,index,clsid) \
( (This)->lpVtbl -> GetDisabledByIndex(This,index,clsid) )
#define IAMPluginControl_SetDisabled(This,clsid,disabled) \
( (This)->lpVtbl -> SetDisabled(This,clsid,disabled) )
#define IAMPluginControl_IsLegacyDisabled(This,dllName) \
( (This)->lpVtbl -> IsLegacyDisabled(This,dllName) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IAMPluginControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0111 */
/* [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_NavCmdType
{ DVD_NavCmdType_Pre = 1,
DVD_NavCmdType_Post = 2,
DVD_NavCmdType_Cell = 3,
DVD_NavCmdType_Button = 4
} DVD_NavCmdType;
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_0000_0111_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_0000_0111_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_0000_0111_0003
{ DVD_ResetOnStop = 1,
DVD_NotifyParentalLevelChange = 2,
DVD_HMSF_TimeCodeEvents = 3,
DVD_AudioDuringFFwdRew = 4,
DVD_EnableNonblockingAPIs = 5,
DVD_CacheSizeInMB = 6,
DVD_EnablePortableBookmarks = 7,
DVD_EnableExtendedCopyProtectErrors = 8,
DVD_NotifyPositionChange = 9,
DVD_IncreaseOutputControl = 10,
DVD_EnableStreaming = 11,
DVD_EnableESOutput = 12,
DVD_EnableTitleLength = 13,
DVD_DisableStillThrottle = 14,
DVD_EnableLoggingEvents = 15,
DVD_MaxReadBurstInKB = 16,
DVD_ReadBurstPeriodInMS = 17
} DVD_OPTION_FLAG;
typedef /* [public][public] */
enum __MIDL___MIDL_itf_strmif_0000_0111_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
{
union
{
DVD_TITLE_APPMODE AppMode;
DVD_HMSF_TIMECODE TitleLength;
} ;
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_0000_0111_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0111_v0_0_s_ifspec;
#ifndef __IDvdControl_INTERFACE_DEFINED__
#define __IDvdControl_INTERFACE_DEFINED__
/* interface IDvdControl */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IDvdControl_INTERFACE_DEFINED__ */
#ifndef __IDvdInfo_INTERFACE_DEFINED__
#define __IDvdInfo_INTERFACE_DEFINED__
/* interface IDvdInfo */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out DVD_PLAYBACK_LOCATION *pLocation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(
/* [annotation][out] */
__out ULONG *pulTotalTime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(
/* [annotation][out] */
__out ULONG *pulButtonsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentButton) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(
/* [annotation][out] */
__out ULONG *pulAnglesAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentAngle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(
/* [annotation][out] */
__out ULONG *pulStreamsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentStream) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(
/* [annotation][out] */
__out ULONG *pulStreamsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentStream,
/* [annotation][out] */
__out BOOL *pIsDisabled) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(
/* [annotation][out] */
__out VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(
/* [annotation][out] */
__out SPRMARRAY *pRegisterArray) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(
/* [annotation][out] */
__out GPRMARRAY *pRegisterArray) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out LCID *pLanguage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out LCID *pLanguage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out DVD_ATR *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(
/* [annotation][out] */
__out DVD_ATR *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(
/* [annotation][out] */
__out DVD_VideoATR *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes(
/* [annotation][out] */
__out DVD_AudioATR *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes(
/* [annotation][out] */
__out DVD_SubpictureATR *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo(
/* [annotation][out] */
__out ULONG *pulNumOfVol,
/* [annotation][out] */
__out ULONG *pulThisVolNum,
/* [annotation][out] */
__out DVD_DISC_SIDE *pSide,
/* [annotation][out] */
__out ULONG *pulNumOfTitles) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo(
/* [annotation][size_is][out] */
__out_bcount_part(ulBufSize, *pulActualSize) BYTE *pTextManager,
/* [in] */ ULONG ulBufSize,
/* [annotation][out] */
__out ULONG *pulActualSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(
/* [annotation][out] */
__out ULONG *pulParentalLevel,
/* [annotation][out] */
__out ULONG *pulCountryCode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out ULONG *pulNumberOfChapters) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out ULONG *pulParentalLevels) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRoot(
/* [annotation][size_is][out] */
__out_ecount_part(ulBufSize, *pulActualSize) LPSTR pRoot,
/* [in] */ ULONG ulBufSize,
/* [annotation][out] */
__out ULONG *pulActualSize) = 0;
};
#else /* C style interface */
typedef struct IDvdInfoVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDvdInfo * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out DVD_PLAYBACK_LOCATION *pLocation);
HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(
IDvdInfo * This,
/* [annotation][out] */
__out ULONG *pulTotalTime);
HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(
IDvdInfo * This,
/* [annotation][out] */
__out ULONG *pulButtonsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentButton);
HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(
IDvdInfo * This,
/* [annotation][out] */
__out ULONG *pulAnglesAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentAngle);
HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(
IDvdInfo * This,
/* [annotation][out] */
__out ULONG *pulStreamsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentStream);
HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(
IDvdInfo * This,
/* [annotation][out] */
__out ULONG *pulStreamsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentStream,
/* [annotation][out] */
__out BOOL *pIsDisabled);
HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(
IDvdInfo * This,
/* [annotation][out] */
__out VALID_UOP_SOMTHING_OR_OTHER *pUOP);
HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(
IDvdInfo * This,
/* [annotation][out] */
__out SPRMARRAY *pRegisterArray);
HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(
IDvdInfo * This,
/* [annotation][out] */
__out GPRMARRAY *pRegisterArray);
HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(
IDvdInfo * This,
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out LCID *pLanguage);
HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(
IDvdInfo * This,
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out LCID *pLanguage);
HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(
IDvdInfo * This,
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out DVD_ATR *pATR);
HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(
IDvdInfo * This,
/* [annotation][out] */
__out DVD_ATR *pATR);
HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(
IDvdInfo * This,
/* [annotation][out] */
__out DVD_VideoATR *pATR);
HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )(
IDvdInfo * This,
/* [annotation][out] */
__out DVD_AudioATR *pATR);
HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )(
IDvdInfo * This,
/* [annotation][out] */
__out DVD_SubpictureATR *pATR);
HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )(
IDvdInfo * This,
/* [annotation][out] */
__out ULONG *pulNumOfVol,
/* [annotation][out] */
__out ULONG *pulThisVolNum,
/* [annotation][out] */
__out DVD_DISC_SIDE *pSide,
/* [annotation][out] */
__out ULONG *pulNumOfTitles);
HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )(
IDvdInfo * This,
/* [annotation][size_is][out] */
__out_bcount_part(ulBufSize, *pulActualSize) BYTE *pTextManager,
/* [in] */ ULONG ulBufSize,
/* [annotation][out] */
__out ULONG *pulActualSize);
HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(
IDvdInfo * This,
/* [annotation][out] */
__out ULONG *pulParentalLevel,
/* [annotation][out] */
__out ULONG *pulCountryCode);
HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(
IDvdInfo * This,
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out ULONG *pulNumberOfChapters);
HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(
IDvdInfo * This,
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out ULONG *pulParentalLevels);
HRESULT ( STDMETHODCALLTYPE *GetRoot )(
IDvdInfo * This,
/* [annotation][size_is][out] */
__out_ecount_part(ulBufSize, *pulActualSize) LPSTR pRoot,
/* [in] */ ULONG ulBufSize,
/* [annotation][out] */
__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 */
#endif /* __IDvdInfo_INTERFACE_DEFINED__ */
#ifndef __IDvdCmd_INTERFACE_DEFINED__
#define __IDvdCmd_INTERFACE_DEFINED__
/* interface IDvdCmd */
/* [unique][uuid][object][local] */
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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IDvdCmd_INTERFACE_DEFINED__ */
#ifndef __IDvdState_INTERFACE_DEFINED__
#define __IDvdState_INTERFACE_DEFINED__
/* interface IDvdState */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out ULONGLONG *pullUniqueID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetParentalLevel(
/* [annotation][out] */
__out ULONG *pulParentalLevel) = 0;
};
#else /* C style interface */
typedef struct IDvdStateVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDvdState * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDvdState * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IDvdState * This);
HRESULT ( STDMETHODCALLTYPE *GetDiscID )(
IDvdState * This,
/* [annotation][out] */
__out ULONGLONG *pullUniqueID);
HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )(
IDvdState * This,
/* [annotation][out] */
__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 */
#endif /* __IDvdState_INTERFACE_DEFINED__ */
#ifndef __IDvdControl2_INTERFACE_DEFINED__
#define __IDvdControl2_INTERFACE_DEFINED__
/* interface IDvdControl2 */
/* [unique][uuid][object][local] */
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,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle(
/* [in] */ ULONG ulTitle,
/* [in] */ ULONG ulChapter,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle(
/* [in] */ ULONG ulTitle,
/* [in] */ DVD_HMSF_TIMECODE *pStartTime,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu(
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayAtTime(
/* [in] */ DVD_HMSF_TIMECODE *pTime,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayChapter(
/* [in] */ ULONG ulChapter,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter(
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE ReplayChapter(
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayNextChapter(
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayForwards(
/* [in] */ double dSpeed,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayBackwards(
/* [in] */ double dSpeed,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE ShowMenu(
/* [in] */ DVD_MENU_ID MenuID,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE Resume(
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream(
/* [in] */ ULONG ulSubPicture,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSubpictureState(
/* [in] */ BOOL bState,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectAngle(
/* [in] */ ULONG ulAngle,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__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,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop(
/* [in] */ ULONG ulTitle,
/* [in] */ DVD_HMSF_TIMECODE *pStartTime,
/* [in] */ DVD_HMSF_TIMECODE *pEndTime,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGPRM(
/* [in] */ ULONG ulIndex,
/* [in] */ WORD wValue,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDvdControl2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IDvdControl2 * This);
HRESULT ( STDMETHODCALLTYPE *PlayTitle )(
IDvdControl2 * This,
/* [in] */ ULONG ulTitle,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )(
IDvdControl2 * This,
/* [in] */ ULONG ulTitle,
/* [in] */ ULONG ulChapter,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )(
IDvdControl2 * This,
/* [in] */ ULONG ulTitle,
/* [in] */ DVD_HMSF_TIMECODE *pStartTime,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *Stop )(
IDvdControl2 * This);
HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )(
IDvdControl2 * This,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayAtTime )(
IDvdControl2 * This,
/* [in] */ DVD_HMSF_TIMECODE *pTime,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayChapter )(
IDvdControl2 * This,
/* [in] */ ULONG ulChapter,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )(
IDvdControl2 * This,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *ReplayChapter )(
IDvdControl2 * This,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )(
IDvdControl2 * This,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayForwards )(
IDvdControl2 * This,
/* [in] */ double dSpeed,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayBackwards )(
IDvdControl2 * This,
/* [in] */ double dSpeed,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *ShowMenu )(
IDvdControl2 * This,
/* [in] */ DVD_MENU_ID MenuID,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *Resume )(
IDvdControl2 * This,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )(
IDvdControl2 * This,
/* [in] */ ULONG ulSubPicture,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )(
IDvdControl2 * This,
/* [in] */ BOOL bState,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *SelectAngle )(
IDvdControl2 * This,
/* [in] */ ULONG ulAngle,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__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,
/* [annotation][out] */
__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,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )(
IDvdControl2 * This,
/* [in] */ ULONG ulTitle,
/* [in] */ DVD_HMSF_TIMECODE *pStartTime,
/* [in] */ DVD_HMSF_TIMECODE *pEndTime,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out IDvdCmd **ppCmd);
HRESULT ( STDMETHODCALLTYPE *SetGPRM )(
IDvdControl2 * This,
/* [in] */ ULONG ulIndex,
/* [in] */ WORD wValue,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__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 */
#endif /* __IDvdControl2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0116 */
/* [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_0000_0116_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0116_v0_0_s_ifspec;
#ifndef __IDvdInfo2_INTERFACE_DEFINED__
#define __IDvdInfo2_INTERFACE_DEFINED__
/* interface IDvdInfo2 */
/* [unique][uuid][object][local] */
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(
/* [annotation][out] */
__out DVD_DOMAIN *pDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(
/* [annotation][out] */
__out DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(
/* [annotation][out] */
__out DVD_HMSF_TIMECODE *pTotalTime,
/* [annotation][out] */
__out ULONG *ulTimeCodeFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(
/* [annotation][out] */
__out ULONG *pulButtonsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentButton) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(
/* [annotation][out] */
__out ULONG *pulAnglesAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentAngle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(
/* [annotation][out] */
__out ULONG *pulStreamsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentStream) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(
/* [annotation][out] */
__out ULONG *pulStreamsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentStream,
/* [annotation][out] */
__out BOOL *pbIsDisabled) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(
/* [annotation][out] */
__out ULONG *pulUOPs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(
/* [annotation][out] */
__out SPRMARRAY *pRegisterArray) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(
/* [annotation][out] */
__out GPRMARRAY *pRegisterArray) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out LCID *pLanguage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out LCID *pLanguage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out DVD_MenuAttributes *pMenu,
/* [annotation][out] */
__out DVD_TitleAttributes *pTitle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(
/* [annotation][out] */
__out DVD_MenuAttributes *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(
/* [annotation][out] */
__out DVD_VideoAttributes *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes(
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out DVD_AudioAttributes *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes(
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out DVD_KaraokeAttributes *pAttributes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes(
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out DVD_SubpictureAttributes *pATR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo(
/* [annotation][out] */
__out ULONG *pulNumOfVolumes,
/* [annotation][out] */
__out ULONG *pulVolume,
/* [annotation][out] */
__out DVD_DISC_SIDE *pSide,
/* [annotation][out] */
__out ULONG *pulNumOfTitles) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages(
/* [annotation][out] */
__out ULONG *pulNumOfLangs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo(
/* [in] */ ULONG ulLangIndex,
/* [annotation][out] */
__out ULONG *pulNumOfStrings,
/* [annotation][out] */
__out LCID *pLangCode,
/* [annotation][out] */
__out enum DVD_TextCharSet *pbCharacterSet) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative(
/* [in] */ ULONG ulLangIndex,
/* [in] */ ULONG ulStringIndex,
/* [annotation][out] */
__out BYTE *pbBuffer,
/* [in] */ ULONG ulMaxBufferSize,
/* [annotation][out] */
__out ULONG *pulActualSize,
/* [annotation][out] */
__out enum DVD_TextStringType *pType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode(
/* [in] */ ULONG ulLangIndex,
/* [in] */ ULONG ulStringIndex,
/* [annotation][out] */
__out WCHAR *pchwBuffer,
/* [in] */ ULONG ulMaxBufferSize,
/* [annotation][out] */
__out ULONG *pulActualSize,
/* [annotation][out] */
__out enum DVD_TextStringType *pType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(
/* [annotation][out] */
__out ULONG *pulParentalLevel,
/* [annotation][out] */
__out BYTE pbCountryCode[ 2 ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out ULONG *pulNumOfChapters) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out ULONG *pulParentalLevels) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory(
/* [annotation][size_is][out] */
__out_ecount_part(ulMaxSize, *pulActualSize) LPWSTR pszwPath,
/* [in] */ ULONG ulMaxSize,
/* [annotation][out] */
__out ULONG *pulActualSize) = 0;
virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled(
/* [in] */ ULONG ulStreamNum,
/* [annotation][out] */
__out BOOL *pbEnabled) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDiscID(
/* [in] */ LPCWSTR pszwPath,
/* [annotation][out] */
__out ULONGLONG *pullDiscID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetState(
/* [annotation][out] */
__out IDvdState **pStateData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages(
/* [annotation][out] */
__out LCID *pLanguages,
/* [in] */ ULONG ulMaxLanguages,
/* [annotation][out] */
__out ULONG *pulActualLanguages) = 0;
virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition(
/* [in] */ POINT point,
/* [annotation][out] */
__out ULONG *pulButtonIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent(
/* [in] */ LONG_PTR lParam1,
/* [annotation][out] */
__out IDvdCmd **pCmdObj) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage(
/* [annotation][out] */
__out LCID *pLanguage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage(
/* [annotation][out] */
__out LCID *pLanguage,
/* [annotation][out] */
__out DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage(
/* [annotation][out] */
__out LCID *pLanguage,
/* [annotation][out] */
__out DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(
/* [annotation][out] */
__out DVD_DECODER_CAPS *pCaps) = 0;
virtual HRESULT STDMETHODCALLTYPE GetButtonRect(
/* [in] */ ULONG ulButton,
/* [annotation][out] */
__out RECT *pRect) = 0;
virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled(
/* [in] */ ULONG ulStreamNum,
/* [annotation][out] */
__out BOOL *pbEnabled) = 0;
};
#else /* C style interface */
typedef struct IDvdInfo2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDvdInfo2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDvdInfo2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IDvdInfo2 * This);
HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(
IDvdInfo2 * This,
/* [annotation][out] */
__out DVD_DOMAIN *pDomain);
HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(
IDvdInfo2 * This,
/* [annotation][out] */
__out DVD_PLAYBACK_LOCATION2 *pLocation);
HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(
IDvdInfo2 * This,
/* [annotation][out] */
__out DVD_HMSF_TIMECODE *pTotalTime,
/* [annotation][out] */
__out ULONG *ulTimeCodeFlags);
HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(
IDvdInfo2 * This,
/* [annotation][out] */
__out ULONG *pulButtonsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentButton);
HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(
IDvdInfo2 * This,
/* [annotation][out] */
__out ULONG *pulAnglesAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentAngle);
HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(
IDvdInfo2 * This,
/* [annotation][out] */
__out ULONG *pulStreamsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentStream);
HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(
IDvdInfo2 * This,
/* [annotation][out] */
__out ULONG *pulStreamsAvailable,
/* [annotation][out] */
__out ULONG *pulCurrentStream,
/* [annotation][out] */
__out BOOL *pbIsDisabled);
HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(
IDvdInfo2 * This,
/* [annotation][out] */
__out ULONG *pulUOPs);
HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(
IDvdInfo2 * This,
/* [annotation][out] */
__out SPRMARRAY *pRegisterArray);
HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(
IDvdInfo2 * This,
/* [annotation][out] */
__out GPRMARRAY *pRegisterArray);
HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(
IDvdInfo2 * This,
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out LCID *pLanguage);
HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(
IDvdInfo2 * This,
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out LCID *pLanguage);
HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(
IDvdInfo2 * This,
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out DVD_MenuAttributes *pMenu,
/* [annotation][out] */
__out DVD_TitleAttributes *pTitle);
HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(
IDvdInfo2 * This,
/* [annotation][out] */
__out DVD_MenuAttributes *pATR);
HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(
IDvdInfo2 * This,
/* [annotation][out] */
__out DVD_VideoAttributes *pATR);
HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )(
IDvdInfo2 * This,
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out DVD_AudioAttributes *pATR);
HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )(
IDvdInfo2 * This,
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out DVD_KaraokeAttributes *pAttributes);
HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )(
IDvdInfo2 * This,
/* [in] */ ULONG ulStream,
/* [annotation][out] */
__out DVD_SubpictureAttributes *pATR);
HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )(
IDvdInfo2 * This,
/* [annotation][out] */
__out ULONG *pulNumOfVolumes,
/* [annotation][out] */
__out ULONG *pulVolume,
/* [annotation][out] */
__out DVD_DISC_SIDE *pSide,
/* [annotation][out] */
__out ULONG *pulNumOfTitles);
HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )(
IDvdInfo2 * This,
/* [annotation][out] */
__out ULONG *pulNumOfLangs);
HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )(
IDvdInfo2 * This,
/* [in] */ ULONG ulLangIndex,
/* [annotation][out] */
__out ULONG *pulNumOfStrings,
/* [annotation][out] */
__out LCID *pLangCode,
/* [annotation][out] */
__out enum DVD_TextCharSet *pbCharacterSet);
HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )(
IDvdInfo2 * This,
/* [in] */ ULONG ulLangIndex,
/* [in] */ ULONG ulStringIndex,
/* [annotation][out] */
__out BYTE *pbBuffer,
/* [in] */ ULONG ulMaxBufferSize,
/* [annotation][out] */
__out ULONG *pulActualSize,
/* [annotation][out] */
__out enum DVD_TextStringType *pType);
HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )(
IDvdInfo2 * This,
/* [in] */ ULONG ulLangIndex,
/* [in] */ ULONG ulStringIndex,
/* [annotation][out] */
__out WCHAR *pchwBuffer,
/* [in] */ ULONG ulMaxBufferSize,
/* [annotation][out] */
__out ULONG *pulActualSize,
/* [annotation][out] */
__out enum DVD_TextStringType *pType);
HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(
IDvdInfo2 * This,
/* [annotation][out] */
__out ULONG *pulParentalLevel,
/* [annotation][out] */
__out BYTE pbCountryCode[ 2 ]);
HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(
IDvdInfo2 * This,
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out ULONG *pulNumOfChapters);
HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(
IDvdInfo2 * This,
/* [in] */ ULONG ulTitle,
/* [annotation][out] */
__out ULONG *pulParentalLevels);
HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )(
IDvdInfo2 * This,
/* [annotation][size_is][out] */
__out_ecount_part(ulMaxSize, *pulActualSize) LPWSTR pszwPath,
/* [in] */ ULONG ulMaxSize,
/* [annotation][out] */
__out ULONG *pulActualSize);
HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )(
IDvdInfo2 * This,
/* [in] */ ULONG ulStreamNum,
/* [annotation][out] */
__out BOOL *pbEnabled);
HRESULT ( STDMETHODCALLTYPE *GetDiscID )(
IDvdInfo2 * This,
/* [in] */ LPCWSTR pszwPath,
/* [annotation][out] */
__out ULONGLONG *pullDiscID);
HRESULT ( STDMETHODCALLTYPE *GetState )(
IDvdInfo2 * This,
/* [annotation][out] */
__out IDvdState **pStateData);
HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )(
IDvdInfo2 * This,
/* [annotation][out] */
__out LCID *pLanguages,
/* [in] */ ULONG ulMaxLanguages,
/* [annotation][out] */
__out ULONG *pulActualLanguages);
HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )(
IDvdInfo2 * This,
/* [in] */ POINT point,
/* [annotation][out] */
__out ULONG *pulButtonIndex);
HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )(
IDvdInfo2 * This,
/* [in] */ LONG_PTR lParam1,
/* [annotation][out] */
__out IDvdCmd **pCmdObj);
HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )(
IDvdInfo2 * This,
/* [annotation][out] */
__out LCID *pLanguage);
HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )(
IDvdInfo2 * This,
/* [annotation][out] */
__out LCID *pLanguage,
/* [annotation][out] */
__out DVD_AUDIO_LANG_EXT *pAudioExtension);
HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )(
IDvdInfo2 * This,
/* [annotation][out] */
__out LCID *pLanguage,
/* [annotation][out] */
__out DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(
IDvdInfo2 * This,
/* [annotation][out] */
__out DVD_DECODER_CAPS *pCaps);
HRESULT ( STDMETHODCALLTYPE *GetButtonRect )(
IDvdInfo2 * This,
/* [in] */ ULONG ulButton,
/* [annotation][out] */
__out RECT *pRect);
HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )(
IDvdInfo2 * This,
/* [in] */ ULONG ulStreamNum,
/* [annotation][out] */
__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 */
#endif /* __IDvdInfo2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0117 */
/* [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_DO_NOT_CLEAR = 0x200,
AM_DVD_VMR9_ONLY = 0x800,
AM_DVD_EVR_ONLY = 0x1000,
AM_DVD_EVR_QOS = 0x2000,
AM_DVD_ADAPT_GRAPH = 0x4000,
AM_DVD_MASK = 0xffff
} 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_0000_0117_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_0000_0117_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0117_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(
/* [annotation][out] */
__out IGraphBuilder **ppGB) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDvdInterface(
/* [in] */ REFIID riid,
/* [annotation][out] */
__out void **ppvIF) = 0;
virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume(
/* [in] */ LPCWSTR lpcwszPathName,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out AM_DVD_RENDERSTATUS *pStatus) = 0;
};
#else /* C style interface */
typedef struct IDvdGraphBuilderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDvdGraphBuilder * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDvdGraphBuilder * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IDvdGraphBuilder * This);
HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
IDvdGraphBuilder * This,
/* [annotation][out] */
__out IGraphBuilder **ppGB);
HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )(
IDvdGraphBuilder * This,
/* [in] */ REFIID riid,
/* [annotation][out] */
__out void **ppvIF);
HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )(
IDvdGraphBuilder * This,
/* [in] */ LPCWSTR lpcwszPathName,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__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 */
#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(
/* [annotation][out] */
__out IDirectDraw **ppDDrawObject,
/* [annotation][out] */
__out BOOL *pbUsingExternal) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface(
/* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface(
/* [annotation][out] */
__out IDirectDrawSurface **ppDDrawSurface,
/* [annotation][out] */
__out BOOL *pbUsingExternal) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDrawParameters(
/* [in] */ const RECT *prcSource,
/* [in] */ const RECT *prcTarget) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps(
/* [annotation][out] */
__out DWORD *pdwVideoWidth,
/* [annotation][out] */
__out DWORD *pdwVideoHeight,
/* [annotation][out] */
__out DWORD *pdwPictAspectRatioX,
/* [annotation][out] */
__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,
/* [annotation][iid_is][out] */
__RPC__deref_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,
/* [annotation][out] */
__out IDirectDraw **ppDDrawObject,
/* [annotation][out] */
__out BOOL *pbUsingExternal);
HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )(
IDDrawExclModeVideo * This,
/* [in] */ IDirectDrawSurface *pDDrawSurface);
HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )(
IDDrawExclModeVideo * This,
/* [annotation][out] */
__out IDirectDrawSurface **ppDDrawSurface,
/* [annotation][out] */
__out BOOL *pbUsingExternal);
HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )(
IDDrawExclModeVideo * This,
/* [in] */ const RECT *prcSource,
/* [in] */ const RECT *prcTarget);
HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )(
IDDrawExclModeVideo * This,
/* [annotation][out] */
__out DWORD *pdwVideoWidth,
/* [annotation][out] */
__out DWORD *pdwVideoHeight,
/* [annotation][out] */
__out DWORD *pdwPictAspectRatioX,
/* [annotation][out] */
__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 */
#endif /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0119 */
/* [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_0000_0119_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0119_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0120 */
/* [local] */
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0120_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0120_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IPinFlowControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0122 */
/* [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_0000_0122_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0122_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IFilterChain_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0125 */
/* [local] */
#if 0
typedef DWORD *LPDIRECTDRAW7;
typedef DWORD *LPDIRECTDRAWSURFACE7;
typedef DWORD *LPDDPIXELFORMAT;
typedef DWORD *LPBITMAPINFOHEADER;
typedef struct DDCOLORKEY
{
DWORD dw1;
DWORD dw2;
} DDCOLORKEY;
typedef DDCOLORKEY *LPDDCOLORKEY;
#endif
#include <ddraw.h>
typedef
enum VMRPresentationFlags
{ VMRSample_SyncPoint = 0x1,
VMRSample_Preroll = 0x2,
VMRSample_Discontinuity = 0x4,
VMRSample_TimeValid = 0x8,
VMRSample_SrcDstRectsValid = 0x10
} VMRPresentationFlags;
typedef struct tagVMRPRESENTATIONINFO
{
DWORD dwFlags;
LPDIRECTDRAWSURFACE7 lpSurf;
REFERENCE_TIME rtStart;
REFERENCE_TIME rtEnd;
SIZE szAspectRatio;
RECT rcSrc;
RECT rcDst;
DWORD dwTypeSpecificFlags;
DWORD dwInterlaceFlags;
} VMRPRESENTATIONINFO;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0125_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0125_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVMRImagePresenter_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0126 */
/* [local] */
typedef
enum VMRSurfaceAllocationFlags
{ 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_0000_0126_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0126_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0128 */
/* [local] */
typedef
enum VMR_ASPECT_RATIO_MODE
{ VMR_ARMODE_NONE = 0,
VMR_ARMODE_LETTER_BOX = ( VMR_ARMODE_NONE + 1 )
} VMR_ASPECT_RATIO_MODE;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0128_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0128_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVMRWindowlessControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0129 */
/* [local] */
typedef
enum VMRMixerPrefs
{ MixerPref_NoDecimation = 0x1,
MixerPref_DecimateOutput = 0x2,
MixerPref_ARAdjustXorY = 0x4,
MixerPref_DecimationReserved = 0x8,
MixerPref_DecimateMask = 0xf,
MixerPref_BiLinearFiltering = 0x10,
MixerPref_PointFiltering = 0x20,
MixerPref_FilteringMask = 0xf0,
MixerPref_RenderTargetRGB = 0x100,
MixerPref_RenderTargetYUV = 0x1000,
MixerPref_RenderTargetYUV420 = 0x200,
MixerPref_RenderTargetYUV422 = 0x400,
MixerPref_RenderTargetYUV444 = 0x800,
MixerPref_RenderTargetReserved = 0xe000,
MixerPref_RenderTargetMask = 0xff00,
MixerPref_DynamicSwitchToBOB = 0x10000,
MixerPref_DynamicDecimateBy2 = 0x20000,
MixerPref_DynamicReserved = 0xc0000,
MixerPref_DynamicMask = 0xf0000
} VMRMixerPrefs;
typedef struct _NORMALIZEDRECT
{
float left;
float top;
float right;
float bottom;
} NORMALIZEDRECT;
typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0129_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0129_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVMRMixerControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0130 */
/* [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_0000_0130_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0130_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVMRMonitorConfig_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0131 */
/* [local] */
typedef
enum VMRRenderPrefs
{ RenderPrefs_RestrictToInitialMonitor = 0,
RenderPrefs_ForceOffscreen = 0x1,
RenderPrefs_ForceOverlays = 0x2,
RenderPrefs_AllowOverlays = 0,
RenderPrefs_AllowOffscreen = 0,
RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,
RenderPrefs_Reserved = 0x10,
RenderPrefs_PreferAGPMemWhenMixing = 0x20,
RenderPrefs_Mask = 0x3f
} VMRRenderPrefs;
typedef
enum VMRMode
{ VMRMode_Windowed = 0x1,
VMRMode_Windowless = 0x2,
VMRMode_Renderless = 0x4,
VMRMode_Mask = 0x7
} VMRMode;
enum __MIDL___MIDL_itf_strmif_0000_0131_0001
{ MAX_NUMBER_OF_STREAMS = 16
} ;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0131_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0131_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVMRAspectRatioControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0133 */
/* [local] */
typedef
enum VMRDeinterlacePrefs
{ DeinterlacePref_NextBest = 0x1,
DeinterlacePref_BOB = 0x2,
DeinterlacePref_Weave = 0x4,
DeinterlacePref_Mask = 0x7
} VMRDeinterlacePrefs;
typedef
enum VMRDeinterlaceTech
{ 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_0000_0133_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0133_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVMRDeinterlaceControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0134 */
/* [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_0000_0134_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0134_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVMRMixerBitmap_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0135 */
/* [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_0000_0135_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0135_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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#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,
/* [annotation][iid_is][out] */
__RPC__deref_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 */
#endif /* __IVPManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_strmif_0000_0141 */
/* [local] */
// Restore the previous setting for C4201 compiler warning
#pragma warning(pop)
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0141_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_0141_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif