text: 
  #pragma warning( disable: 4049 )  /* more than 64k source lines */
  
  /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  
  
   /* File created by MIDL compiler version 6.00.0347 */
  /* Compiler settings for msvidctl.idl:
      Oicf, W1, Zp8, env=Win32 (32b run)
      protocol : dce , ms_ext, c_ext, robust
      error checks: allocation ref bounds_check enum stub_data 
      VC __declspec() decoration level: 
           __declspec(uuid()), __declspec(selectany), __declspec(novtable)
           DECLSPEC_UUID(), MIDL_INTERFACE()
  */
  //@@MIDL_FILE_HEADING(  )
  
  
  #ifndef __LPCGUID_DEFINED__
  #define __LPCGUID_DEFINED__
  typedef const GUID *LPCGUID;
  #endif // __LPCGUID_DEFINED__
  
  /* verify that the <rpcndr.h> version is high enough to compile this file*/
  #ifndef __REQUIRED_RPCNDR_H_VERSION__
  #define __REQUIRED_RPCNDR_H_VERSION__ 475
  #endif
  
  #include "rpc.h"
  #include "rpcndr.h"
  
  #ifndef __RPCNDR_H_VERSION__
  #error this stub requires an updated version of <rpcndr.h>
  #endif // __RPCNDR_H_VERSION__
  
  #ifndef COM_NO_WINDOWS_H
  #include "windows.h"
  #include "ole2.h"
  #endif /*COM_NO_WINDOWS_H*/
  
  #ifndef __msvidctl_h__
  #define __msvidctl_h__
  
  #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  #pragma once
  #endif
  
  /* Forward Declarations */ 
  
  #ifndef __IMSVidCtl_FWD_DEFINED__
  #define __IMSVidCtl_FWD_DEFINED__
  typedef interface IMSVidCtl IMSVidCtl;
  #endif 	/* __IMSVidCtl_FWD_DEFINED__ */
  
  
  #ifndef __IMSEventBinder_FWD_DEFINED__
  #define __IMSEventBinder_FWD_DEFINED__
  typedef interface IMSEventBinder IMSEventBinder;
  #endif 	/* __IMSEventBinder_FWD_DEFINED__ */
  
  
  #ifndef ___IMSVidCtlEvents_FWD_DEFINED__
  #define ___IMSVidCtlEvents_FWD_DEFINED__
  typedef interface _IMSVidCtlEvents _IMSVidCtlEvents;
  #endif 	/* ___IMSVidCtlEvents_FWD_DEFINED__ */
  
  
  #ifndef __MSVidAnalogTunerDevice_FWD_DEFINED__
  #define __MSVidAnalogTunerDevice_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidAnalogTunerDevice MSVidAnalogTunerDevice;
  #else
  typedef struct MSVidAnalogTunerDevice MSVidAnalogTunerDevice;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidAnalogTunerDevice_FWD_DEFINED__ */
  
  
  #ifndef __MSVidBDATunerDevice_FWD_DEFINED__
  #define __MSVidBDATunerDevice_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidBDATunerDevice MSVidBDATunerDevice;
  #else
  typedef struct MSVidBDATunerDevice MSVidBDATunerDevice;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidBDATunerDevice_FWD_DEFINED__ */
  
  
  #ifndef __MSVidFilePlaybackDevice_FWD_DEFINED__
  #define __MSVidFilePlaybackDevice_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidFilePlaybackDevice MSVidFilePlaybackDevice;
  #else
  typedef struct MSVidFilePlaybackDevice MSVidFilePlaybackDevice;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidFilePlaybackDevice_FWD_DEFINED__ */
  
  
  #ifndef __MSVidWebDVD_FWD_DEFINED__
  #define __MSVidWebDVD_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidWebDVD MSVidWebDVD;
  #else
  typedef struct MSVidWebDVD MSVidWebDVD;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidWebDVD_FWD_DEFINED__ */
  
  
  #ifndef __MSVidWebDVDAdm_FWD_DEFINED__
  #define __MSVidWebDVDAdm_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidWebDVDAdm MSVidWebDVDAdm;
  #else
  typedef struct MSVidWebDVDAdm MSVidWebDVDAdm;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidWebDVDAdm_FWD_DEFINED__ */
  
  
  #ifndef __MSVidVideoRenderer_FWD_DEFINED__
  #define __MSVidVideoRenderer_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidVideoRenderer MSVidVideoRenderer;
  #else
  typedef struct MSVidVideoRenderer MSVidVideoRenderer;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidVideoRenderer_FWD_DEFINED__ */
  
  
  #ifndef __MSVidAudioRenderer_FWD_DEFINED__
  #define __MSVidAudioRenderer_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidAudioRenderer MSVidAudioRenderer;
  #else
  typedef struct MSVidAudioRenderer MSVidAudioRenderer;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidAudioRenderer_FWD_DEFINED__ */
  
  
  #ifndef __MSVidDataServices_FWD_DEFINED__
  #define __MSVidDataServices_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidDataServices MSVidDataServices;
  #else
  typedef struct MSVidDataServices MSVidDataServices;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidDataServices_FWD_DEFINED__ */
  
  
  #ifndef __MSVidClosedCaptioning_FWD_DEFINED__
  #define __MSVidClosedCaptioning_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidClosedCaptioning MSVidClosedCaptioning;
  #else
  typedef struct MSVidClosedCaptioning MSVidClosedCaptioning;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidClosedCaptioning_FWD_DEFINED__ */
  
  
  #ifndef __MSVidTVEGSeg_FWD_DEFINED__
  #define __MSVidTVEGSeg_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidTVEGSeg MSVidTVEGSeg;
  #else
  typedef struct MSVidTVEGSeg MSVidTVEGSeg;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidTVEGSeg_FWD_DEFINED__ */
  
  
  #ifndef __MSVidCAGSeg_FWD_DEFINED__
  #define __MSVidCAGSeg_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidCAGSeg MSVidCAGSeg;
  #else
  typedef struct MSVidCAGSeg MSVidCAGSeg;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidCAGSeg_FWD_DEFINED__ */
  
  
  #ifndef __MSVidCtl_FWD_DEFINED__
  #define __MSVidCtl_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidCtl MSVidCtl;
  #else
  typedef struct MSVidCtl MSVidCtl;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidCtl_FWD_DEFINED__ */
  
  
  #ifndef __MSVidInputDevices_FWD_DEFINED__
  #define __MSVidInputDevices_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidInputDevices MSVidInputDevices;
  #else
  typedef struct MSVidInputDevices MSVidInputDevices;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidInputDevices_FWD_DEFINED__ */
  
  
  #ifndef __MSVidOutputDevices_FWD_DEFINED__
  #define __MSVidOutputDevices_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidOutputDevices MSVidOutputDevices;
  #else
  typedef struct MSVidOutputDevices MSVidOutputDevices;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidOutputDevices_FWD_DEFINED__ */
  
  
  #ifndef __MSVidVideoRendererDevices_FWD_DEFINED__
  #define __MSVidVideoRendererDevices_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidVideoRendererDevices MSVidVideoRendererDevices;
  #else
  typedef struct MSVidVideoRendererDevices MSVidVideoRendererDevices;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidVideoRendererDevices_FWD_DEFINED__ */
  
  
  #ifndef __MSVidAudioRendererDevices_FWD_DEFINED__
  #define __MSVidAudioRendererDevices_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidAudioRendererDevices MSVidAudioRendererDevices;
  #else
  typedef struct MSVidAudioRendererDevices MSVidAudioRendererDevices;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidAudioRendererDevices_FWD_DEFINED__ */
  
  
  #ifndef __MSVidFeatures_FWD_DEFINED__
  #define __MSVidFeatures_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidFeatures MSVidFeatures;
  #else
  typedef struct MSVidFeatures MSVidFeatures;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidFeatures_FWD_DEFINED__ */
  
  
  #ifndef __MSVidGenericComposite_FWD_DEFINED__
  #define __MSVidGenericComposite_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidGenericComposite MSVidGenericComposite;
  #else
  typedef struct MSVidGenericComposite MSVidGenericComposite;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidGenericComposite_FWD_DEFINED__ */
  
  
  #ifndef __MSVidAnalogCaptureToOverlayMixer_FWD_DEFINED__
  #define __MSVidAnalogCaptureToOverlayMixer_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidAnalogCaptureToOverlayMixer MSVidAnalogCaptureToOverlayMixer;
  #else
  typedef struct MSVidAnalogCaptureToOverlayMixer MSVidAnalogCaptureToOverlayMixer;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidAnalogCaptureToOverlayMixer_FWD_DEFINED__ */
  
  
  #ifndef __MSVidAnalogCaptureToDataServices_FWD_DEFINED__
  #define __MSVidAnalogCaptureToDataServices_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidAnalogCaptureToDataServices MSVidAnalogCaptureToDataServices;
  #else
  typedef struct MSVidAnalogCaptureToDataServices MSVidAnalogCaptureToDataServices;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidAnalogCaptureToDataServices_FWD_DEFINED__ */
  
  
  #ifndef __MSVidWebDVDToVideoRenderer_FWD_DEFINED__
  #define __MSVidWebDVDToVideoRenderer_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidWebDVDToVideoRenderer MSVidWebDVDToVideoRenderer;
  #else
  typedef struct MSVidWebDVDToVideoRenderer MSVidWebDVDToVideoRenderer;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidWebDVDToVideoRenderer_FWD_DEFINED__ */
  
  
  #ifndef __MSVidMPEG2DecoderToClosedCaptioning_FWD_DEFINED__
  #define __MSVidMPEG2DecoderToClosedCaptioning_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidMPEG2DecoderToClosedCaptioning MSVidMPEG2DecoderToClosedCaptioning;
  #else
  typedef struct MSVidMPEG2DecoderToClosedCaptioning MSVidMPEG2DecoderToClosedCaptioning;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidMPEG2DecoderToClosedCaptioning_FWD_DEFINED__ */
  
  
  #ifndef __MSVidRenderFactory_FWD_DEFINED__
  #define __MSVidRenderFactory_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidRenderFactory MSVidRenderFactory;
  #else
  typedef struct MSVidRenderFactory MSVidRenderFactory;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidRenderFactory_FWD_DEFINED__ */
  
  
  #ifndef __MSEventBinder_FWD_DEFINED__
  #define __MSEventBinder_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSEventBinder MSEventBinder;
  #else
  typedef struct MSEventBinder MSEventBinder;
  #endif /* __cplusplus */
  
  #endif 	/* __MSEventBinder_FWD_DEFINED__ */
  
  
  #ifndef __MSVidRect_FWD_DEFINED__
  #define __MSVidRect_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidRect MSVidRect;
  #else
  typedef struct MSVidRect MSVidRect;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidRect_FWD_DEFINED__ */
  
  
  #ifndef __MSVidDevice_FWD_DEFINED__
  #define __MSVidDevice_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidDevice MSVidDevice;
  #else
  typedef struct MSVidDevice MSVidDevice;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidDevice_FWD_DEFINED__ */
  
  
  #ifndef __MSVidInputDevice_FWD_DEFINED__
  #define __MSVidInputDevice_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidInputDevice MSVidInputDevice;
  #else
  typedef struct MSVidInputDevice MSVidInputDevice;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidInputDevice_FWD_DEFINED__ */
  
  
  #ifndef __MSVidVideoInputDevice_FWD_DEFINED__
  #define __MSVidVideoInputDevice_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidVideoInputDevice MSVidVideoInputDevice;
  #else
  typedef struct MSVidVideoInputDevice MSVidVideoInputDevice;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidVideoInputDevice_FWD_DEFINED__ */
  
  
  #ifndef __MSVidVideoPlaybackDevice_FWD_DEFINED__
  #define __MSVidVideoPlaybackDevice_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidVideoPlaybackDevice MSVidVideoPlaybackDevice;
  #else
  typedef struct MSVidVideoPlaybackDevice MSVidVideoPlaybackDevice;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidVideoPlaybackDevice_FWD_DEFINED__ */
  
  
  #ifndef __MSVidFeature_FWD_DEFINED__
  #define __MSVidFeature_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidFeature MSVidFeature;
  #else
  typedef struct MSVidFeature MSVidFeature;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidFeature_FWD_DEFINED__ */
  
  
  #ifndef __MSVidOutput_FWD_DEFINED__
  #define __MSVidOutput_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class MSVidOutput MSVidOutput;
  #else
  typedef struct MSVidOutput MSVidOutput;
  #endif /* __cplusplus */
  
  #endif 	/* __MSVidOutput_FWD_DEFINED__ */
  
  
  /* header files for imported files */
  #include "mshtml.h"
  #include "mstve.h"
  #include "mstvca.h"
  #include "segment.h"
  
  #ifdef __cplusplus
  extern "C"{
  #endif 
  
  void * __RPC_USER MIDL_user_allocate(size_t);
  void __RPC_USER MIDL_user_free( void * ); 
  
  /* interface __MIDL_itf_msvidctl_0000 */
  /* [local] */ 
  
  //+-------------------------------------------------------------------------
  //
  //  Microsoft Windows
  //  Copyright (C) Microsoft Corporation, 1999-2001.
  //
  //--------------------------------------------------------------------------
  #pragma once
  typedef /* [public] */ 
  enum __MIDL___MIDL_itf_msvidctl_0000_0001
      {	dispidInputs	= 0,
  	dispidOutputs	= dispidInputs + 1,
  	dispid_Inputs	= dispidOutputs + 1,
  	dispid_Outputs	= dispid_Inputs + 1,
  	dispidVideoRenderers	= dispid_Outputs + 1,
  	dispidAudioRenderers	= dispidVideoRenderers + 1,
  	dispidFeatures	= dispidAudioRenderers + 1,
  	dispidInput	= dispidFeatures + 1,
  	dispidOutput	= dispidInput + 1,
  	dispidVideoRenderer	= dispidOutput + 1,
  	dispidAudioRenderer	= dispidVideoRenderer + 1,
  	dispidSelectedFeatures	= dispidAudioRenderer + 1,
  	dispidView	= dispidSelectedFeatures + 1,
  	dispidBuild	= dispidView + 1,
  	dispidPause	= dispidBuild + 1,
  	dispidRun	= dispidPause + 1,
  	dispidStop	= dispidRun + 1,
  	dispidDecompose	= dispidStop + 1,
  	dispidDisplaySize	= dispidDecompose + 1,
  	dispidMaintainAspectRatio	= dispidDisplaySize + 1,
  	dispidColorKey	= dispidMaintainAspectRatio + 1,
  	dispidStateChange	= dispidColorKey + 1,
  	dispidgetState	= dispidStateChange + 1,
  	dispidunbind	= dispidgetState + 1,
  	dispidbind	= dispidunbind + 1,
  	dispidDisableVideo	= dispidbind + 1,
  	dispidDisableAudio	= dispidDisableVideo + 1,
  	dispidViewNext	= dispidDisableAudio + 1
      } 	MSViddispidList;
  
  typedef /* [public][public][public] */ 
  enum __MIDL___MIDL_itf_msvidctl_0000_0002
      {	dslDefaultSize	= 0,
  	dslSourceSize	= 0,
  	dslHalfSourceSize	= dslSourceSize + 1,
  	dslDoubleSourceSize	= dslHalfSourceSize + 1,
  	dslFullScreen	= dslDoubleSourceSize + 1,
  	dslHalfScreen	= dslFullScreen + 1,
  	dslQuarterScreen	= dslHalfScreen + 1,
  	dslSixteenthScreen	= dslQuarterScreen + 1
      } 	DisplaySizeList;
  
  typedef /* [public][public][public][public] */ 
  enum __MIDL___MIDL_itf_msvidctl_0000_0003
      {	STATE_UNBUILT	= -1,
  	STATE_STOP	= STATE_UNBUILT + 1,
  	STATE_PAUSE	= STATE_STOP + 1,
  	STATE_PLAY	= STATE_PAUSE + 1
      } 	MSVidCtlStateList;
  
  
  
  extern RPC_IF_HANDLE __MIDL_itf_msvidctl_0000_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_msvidctl_0000_v0_0_s_ifspec;
  
  #ifndef __IMSVidCtl_INTERFACE_DEFINED__
  #define __IMSVidCtl_INTERFACE_DEFINED__
  
  /* interface IMSVidCtl */
  /* [unique][helpstring][nonextensible][hidden][dual][uuid][object] */ 
  
  
  EXTERN_C const IID IID_IMSVidCtl;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("B0EDF162-910A-11D2-B632-00C04F79498E")
      IMSVidCtl : public IDispatch
      {
      public:
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSize( 
              /* [retval][out] */ VARIANT_BOOL *pbool) = 0;
          
          virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSize( 
              /* [in] */ VARIANT_BOOL vbool) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_BackColor( 
              /* [retval][out] */ OLE_COLOR *backcolor) = 0;
          
          virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_BackColor( 
              /* [in] */ OLE_COLOR backcolor) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
              /* [retval][out] */ VARIANT_BOOL *pbool) = 0;
          
          virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
              /* [in] */ VARIANT_BOOL vbool) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_TabStop( 
              /* [retval][out] */ VARIANT_BOOL *pbool) = 0;
          
          virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_TabStop( 
              /* [in] */ VARIANT_BOOL vbool) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Window( 
              /* [retval][out] */ HWND *phwnd) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplaySize( 
              /* [retval][out] */ DisplaySizeList *CurrentValue) = 0;
          
          virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_DisplaySize( 
              /* [in] */ DisplaySizeList NewValue) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MaintainAspectRatio( 
              /* [retval][out] */ VARIANT_BOOL *CurrentValue) = 0;
          
          virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_MaintainAspectRatio( 
              /* [in] */ VARIANT_BOOL NewValue) = 0;
          
          virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ColorKey( 
              /* [retval][out] */ OLE_COLOR *CurrentValue) = 0;
          
          virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ColorKey( 
              /* [in] */ OLE_COLOR NewValue) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputsAvailable( 
              /* [in] */ BSTR CategoryGuid,
              /* [retval][out] */ IMSVidInputDevices **pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OutputsAvailable( 
              /* [in] */ BSTR CategoryGuid,
              /* [retval][out] */ IMSVidOutputDevices **pVal) = 0;
          
          virtual /* [helpstring][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__InputsAvailable( 
              /* [in] */ LPCGUID CategoryGuid,
              /* [retval][out] */ IMSVidInputDevices **pVal) = 0;
          
          virtual /* [helpstring][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__OutputsAvailable( 
              /* [in] */ LPCGUID CategoryGuid,
              /* [retval][out] */ IMSVidOutputDevices **pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VideoRenderersAvailable( 
              /* [retval][out] */ IMSVidVideoRendererDevices **pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AudioRenderersAvailable( 
              /* [retval][out] */ IMSVidAudioRendererDevices **pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FeaturesAvailable( 
              /* [retval][out] */ IMSVidFeatures **pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputActive( 
              /* [retval][out] */ IMSVidInputDevice **pVal) = 0;
          
          virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_InputActive( 
              /* [in] */ IMSVidInputDevice *pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OutputsActive( 
              /* [retval][out] */ IMSVidOutputDevices **pVal) = 0;
          
          virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OutputsActive( 
              /* [in] */ IMSVidOutputDevices *pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VideoRendererActive( 
              /* [retval][out] */ IMSVidVideoRenderer **pVal) = 0;
          
          virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_VideoRendererActive( 
              /* [in] */ IMSVidVideoRenderer *pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AudioRendererActive( 
              /* [retval][out] */ IMSVidAudioRenderer **pVal) = 0;
          
          virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AudioRendererActive( 
              /* [in] */ IMSVidAudioRenderer *pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FeaturesActive( 
              /* [retval][out] */ IMSVidFeatures **pVal) = 0;
          
          virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FeaturesActive( 
              /* [in] */ IMSVidFeatures *pVal) = 0;
          
          virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
              /* [retval][out] */ MSVidCtlStateList *lState) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE View( 
              /* [in] */ VARIANT *v) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Build( void) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Run( void) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Decompose( void) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisableVideo( void) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisableAudio( void) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ViewNext( 
              /* [in] */ VARIANT *v) = 0;
          
      };
      
  #else 	/* C style interface */
  
      typedef struct IMSVidCtlVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IMSVidCtl * This,
              /* [in] */ REFIID riid,
              /* [iid_is][out] */ void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IMSVidCtl * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IMSVidCtl * This);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              IMSVidCtl * This,
              /* [out] */ UINT *pctinfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              IMSVidCtl * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ ITypeInfo **ppTInfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              IMSVidCtl * This,
              /* [in] */ REFIID riid,
              /* [size_is][in] */ LPOLESTR *rgszNames,
              /* [in] */ UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ DISPID *rgDispId);
          
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              IMSVidCtl * This,
              /* [in] */ DISPID dispIdMember,
              /* [in] */ REFIID riid,
              /* [in] */ LCID lcid,
              /* [in] */ WORD wFlags,
              /* [out][in] */ DISPPARAMS *pDispParams,
              /* [out] */ VARIANT *pVarResult,
              /* [out] */ EXCEPINFO *pExcepInfo,
              /* [out] */ UINT *puArgErr);
          
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSize )( 
              IMSVidCtl * This,
              /* [retval][out] */ VARIANT_BOOL *pbool);
          
          /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSize )( 
              IMSVidCtl * This,
              /* [in] */ VARIANT_BOOL vbool);
          
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackColor )( 
              IMSVidCtl * This,
              /* [retval][out] */ OLE_COLOR *backcolor);
          
          /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackColor )( 
              IMSVidCtl * This,
              /* [in] */ OLE_COLOR backcolor);
          
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
              IMSVidCtl * This,
              /* [retval][out] */ VARIANT_BOOL *pbool);
          
          /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
              IMSVidCtl * This,
              /* [in] */ VARIANT_BOOL vbool);
          
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TabStop )( 
              IMSVidCtl * This,
              /* [retval][out] */ VARIANT_BOOL *pbool);
          
          /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TabStop )( 
              IMSVidCtl * This,
              /* [in] */ VARIANT_BOOL vbool);
          
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Window )( 
              IMSVidCtl * This,
              /* [retval][out] */ HWND *phwnd);
          
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
              IMSVidCtl * This);
          
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplaySize )( 
              IMSVidCtl * This,
              /* [retval][out] */ DisplaySizeList *CurrentValue);
          
          /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplaySize )( 
              IMSVidCtl * This,
              /* [in] */ DisplaySizeList NewValue);
          
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAspectRatio )( 
              IMSVidCtl * This,
              /* [retval][out] */ VARIANT_BOOL *CurrentValue);
          
          /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAspectRatio )( 
              IMSVidCtl * This,
              /* [in] */ VARIANT_BOOL NewValue);
          
          /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorKey )( 
              IMSVidCtl * This,
              /* [retval][out] */ OLE_COLOR *CurrentValue);
          
          /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorKey )( 
              IMSVidCtl * This,
              /* [in] */ OLE_COLOR NewValue);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputsAvailable )( 
              IMSVidCtl * This,
              /* [in] */ BSTR CategoryGuid,
              /* [retval][out] */ IMSVidInputDevices **pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputsAvailable )( 
              IMSVidCtl * This,
              /* [in] */ BSTR CategoryGuid,
              /* [retval][out] */ IMSVidOutputDevices **pVal);
          
          /* [helpstring][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__InputsAvailable )( 
              IMSVidCtl * This,
              /* [in] */ LPCGUID CategoryGuid,
              /* [retval][out] */ IMSVidInputDevices **pVal);
          
          /* [helpstring][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__OutputsAvailable )( 
              IMSVidCtl * This,
              /* [in] */ LPCGUID CategoryGuid,
              /* [retval][out] */ IMSVidOutputDevices **pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoRenderersAvailable )( 
              IMSVidCtl * This,
              /* [retval][out] */ IMSVidVideoRendererDevices **pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRenderersAvailable )( 
              IMSVidCtl * This,
              /* [retval][out] */ IMSVidAudioRendererDevices **pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FeaturesAvailable )( 
              IMSVidCtl * This,
              /* [retval][out] */ IMSVidFeatures **pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputActive )( 
              IMSVidCtl * This,
              /* [retval][out] */ IMSVidInputDevice **pVal);
          
          /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InputActive )( 
              IMSVidCtl * This,
              /* [in] */ IMSVidInputDevice *pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputsActive )( 
              IMSVidCtl * This,
              /* [retval][out] */ IMSVidOutputDevices **pVal);
          
          /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutputsActive )( 
              IMSVidCtl * This,
              /* [in] */ IMSVidOutputDevices *pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoRendererActive )( 
              IMSVidCtl * This,
              /* [retval][out] */ IMSVidVideoRenderer **pVal);
          
          /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoRendererActive )( 
              IMSVidCtl * This,
              /* [in] */ IMSVidVideoRenderer *pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRendererActive )( 
              IMSVidCtl * This,
              /* [retval][out] */ IMSVidAudioRenderer **pVal);
          
          /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioRendererActive )( 
              IMSVidCtl * This,
              /* [in] */ IMSVidAudioRenderer *pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FeaturesActive )( 
              IMSVidCtl * This,
              /* [retval][out] */ IMSVidFeatures **pVal);
          
          /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FeaturesActive )( 
              IMSVidCtl * This,
              /* [in] */ IMSVidFeatures *pVal);
          
          /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
              IMSVidCtl * This,
              /* [retval][out] */ MSVidCtlStateList *lState);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
              IMSVidCtl * This,
              /* [in] */ VARIANT *v);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Build )( 
              IMSVidCtl * This);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
              IMSVidCtl * This);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
              IMSVidCtl * This);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
              IMSVidCtl * This);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Decompose )( 
              IMSVidCtl * This);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisableVideo )( 
              IMSVidCtl * This);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisableAudio )( 
              IMSVidCtl * This);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ViewNext )( 
              IMSVidCtl * This,
              /* [in] */ VARIANT *v);
          
          END_INTERFACE
      } IMSVidCtlVtbl;
  
      interface IMSVidCtl
      {
          CONST_VTBL struct IMSVidCtlVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IMSVidCtl_QueryInterface(This,riid,ppvObject)	\
      (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  
  #define IMSVidCtl_AddRef(This)	\
      (This)->lpVtbl -> AddRef(This)
  
  #define IMSVidCtl_Release(This)	\
      (This)->lpVtbl -> Release(This)
  
  
  #define IMSVidCtl_GetTypeInfoCount(This,pctinfo)	\
      (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  
  #define IMSVidCtl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  
  #define IMSVidCtl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  
  #define IMSVidCtl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  
  
  #define IMSVidCtl_get_AutoSize(This,pbool)	\
      (This)->lpVtbl -> get_AutoSize(This,pbool)
  
  #define IMSVidCtl_put_AutoSize(This,vbool)	\
      (This)->lpVtbl -> put_AutoSize(This,vbool)
  
  #define IMSVidCtl_get_BackColor(This,backcolor)	\
      (This)->lpVtbl -> get_BackColor(This,backcolor)
  
  #define IMSVidCtl_put_BackColor(This,backcolor)	\
      (This)->lpVtbl -> put_BackColor(This,backcolor)
  
  #define IMSVidCtl_get_Enabled(This,pbool)	\
      (This)->lpVtbl -> get_Enabled(This,pbool)
  
  #define IMSVidCtl_put_Enabled(This,vbool)	\
      (This)->lpVtbl -> put_Enabled(This,vbool)
  
  #define IMSVidCtl_get_TabStop(This,pbool)	\
      (This)->lpVtbl -> get_TabStop(This,pbool)
  
  #define IMSVidCtl_put_TabStop(This,vbool)	\
      (This)->lpVtbl -> put_TabStop(This,vbool)
  
  #define IMSVidCtl_get_Window(This,phwnd)	\
      (This)->lpVtbl -> get_Window(This,phwnd)
  
  #define IMSVidCtl_Refresh(This)	\
      (This)->lpVtbl -> Refresh(This)
  
  #define IMSVidCtl_get_DisplaySize(This,CurrentValue)	\
      (This)->lpVtbl -> get_DisplaySize(This,CurrentValue)
  
  #define IMSVidCtl_put_DisplaySize(This,NewValue)	\
      (This)->lpVtbl -> put_DisplaySize(This,NewValue)
  
  #define IMSVidCtl_get_MaintainAspectRatio(This,CurrentValue)	\
      (This)->lpVtbl -> get_MaintainAspectRatio(This,CurrentValue)
  
  #define IMSVidCtl_put_MaintainAspectRatio(This,NewValue)	\
      (This)->lpVtbl -> put_MaintainAspectRatio(This,NewValue)
  
  #define IMSVidCtl_get_ColorKey(This,CurrentValue)	\
      (This)->lpVtbl -> get_ColorKey(This,CurrentValue)
  
  #define IMSVidCtl_put_ColorKey(This,NewValue)	\
      (This)->lpVtbl -> put_ColorKey(This,NewValue)
  
  #define IMSVidCtl_get_InputsAvailable(This,CategoryGuid,pVal)	\
      (This)->lpVtbl -> get_InputsAvailable(This,CategoryGuid,pVal)
  
  #define IMSVidCtl_get_OutputsAvailable(This,CategoryGuid,pVal)	\
      (This)->lpVtbl -> get_OutputsAvailable(This,CategoryGuid,pVal)
  
  #define IMSVidCtl_get__InputsAvailable(This,CategoryGuid,pVal)	\
      (This)->lpVtbl -> get__InputsAvailable(This,CategoryGuid,pVal)
  
  #define IMSVidCtl_get__OutputsAvailable(This,CategoryGuid,pVal)	\
      (This)->lpVtbl -> get__OutputsAvailable(This,CategoryGuid,pVal)
  
  #define IMSVidCtl_get_VideoRenderersAvailable(This,pVal)	\
      (This)->lpVtbl -> get_VideoRenderersAvailable(This,pVal)
  
  #define IMSVidCtl_get_AudioRenderersAvailable(This,pVal)	\
      (This)->lpVtbl -> get_AudioRenderersAvailable(This,pVal)
  
  #define IMSVidCtl_get_FeaturesAvailable(This,pVal)	\
      (This)->lpVtbl -> get_FeaturesAvailable(This,pVal)
  
  #define IMSVidCtl_get_InputActive(This,pVal)	\
      (This)->lpVtbl -> get_InputActive(This,pVal)
  
  #define IMSVidCtl_put_InputActive(This,pVal)	\
      (This)->lpVtbl -> put_InputActive(This,pVal)
  
  #define IMSVidCtl_get_OutputsActive(This,pVal)	\
      (This)->lpVtbl -> get_OutputsActive(This,pVal)
  
  #define IMSVidCtl_put_OutputsActive(This,pVal)	\
      (This)->lpVtbl -> put_OutputsActive(This,pVal)
  
  #define IMSVidCtl_get_VideoRendererActive(This,pVal)	\
      (This)->lpVtbl -> get_VideoRendererActive(This,pVal)
  
  #define IMSVidCtl_put_VideoRendererActive(This,pVal)	\
      (This)->lpVtbl -> put_VideoRendererActive(This,pVal)
  
  #define IMSVidCtl_get_AudioRendererActive(This,pVal)	\
      (This)->lpVtbl -> get_AudioRendererActive(This,pVal)
  
  #define IMSVidCtl_put_AudioRendererActive(This,pVal)	\
      (This)->lpVtbl -> put_AudioRendererActive(This,pVal)
  
  #define IMSVidCtl_get_FeaturesActive(This,pVal)	\
      (This)->lpVtbl -> get_FeaturesActive(This,pVal)
  
  #define IMSVidCtl_put_FeaturesActive(This,pVal)	\
      (This)->lpVtbl -> put_FeaturesActive(This,pVal)
  
  #define IMSVidCtl_get_State(This,lState)	\
      (This)->lpVtbl -> get_State(This,lState)
  
  #define IMSVidCtl_View(This,v)	\
      (This)->lpVtbl -> View(This,v)
  
  #define IMSVidCtl_Build(This)	\
      (This)->lpVtbl -> Build(This)
  
  #define IMSVidCtl_Pause(This)	\
      (This)->lpVtbl -> Pause(This)
  
  #define IMSVidCtl_Run(This)	\
      (This)->lpVtbl -> Run(This)
  
  #define IMSVidCtl_Stop(This)	\
      (This)->lpVtbl -> Stop(This)
  
  #define IMSVidCtl_Decompose(This)	\
      (This)->lpVtbl -> Decompose(This)
  
  #define IMSVidCtl_DisableVideo(This)	\
      (This)->lpVtbl -> DisableVideo(This)
  
  #define IMSVidCtl_DisableAudio(This)	\
      (This)->lpVtbl -> DisableAudio(This)
  
  #define IMSVidCtl_ViewNext(This,v)	\
      (This)->lpVtbl -> ViewNext(This,v)
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_AutoSize_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ VARIANT_BOOL *pbool);
  
  
  void __RPC_STUB IMSVidCtl_get_AutoSize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_AutoSize_Proxy( 
      IMSVidCtl * This,
      /* [in] */ VARIANT_BOOL vbool);
  
  
  void __RPC_STUB IMSVidCtl_put_AutoSize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_BackColor_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ OLE_COLOR *backcolor);
  
  
  void __RPC_STUB IMSVidCtl_get_BackColor_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_BackColor_Proxy( 
      IMSVidCtl * This,
      /* [in] */ OLE_COLOR backcolor);
  
  
  void __RPC_STUB IMSVidCtl_put_BackColor_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_Enabled_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ VARIANT_BOOL *pbool);
  
  
  void __RPC_STUB IMSVidCtl_get_Enabled_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_Enabled_Proxy( 
      IMSVidCtl * This,
      /* [in] */ VARIANT_BOOL vbool);
  
  
  void __RPC_STUB IMSVidCtl_put_Enabled_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_TabStop_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ VARIANT_BOOL *pbool);
  
  
  void __RPC_STUB IMSVidCtl_get_TabStop_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_TabStop_Proxy( 
      IMSVidCtl * This,
      /* [in] */ VARIANT_BOOL vbool);
  
  
  void __RPC_STUB IMSVidCtl_put_TabStop_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_Window_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ HWND *phwnd);
  
  
  void __RPC_STUB IMSVidCtl_get_Window_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Refresh_Proxy( 
      IMSVidCtl * This);
  
  
  void __RPC_STUB IMSVidCtl_Refresh_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_DisplaySize_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ DisplaySizeList *CurrentValue);
  
  
  void __RPC_STUB IMSVidCtl_get_DisplaySize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_DisplaySize_Proxy( 
      IMSVidCtl * This,
      /* [in] */ DisplaySizeList NewValue);
  
  
  void __RPC_STUB IMSVidCtl_put_DisplaySize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_MaintainAspectRatio_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ VARIANT_BOOL *CurrentValue);
  
  
  void __RPC_STUB IMSVidCtl_get_MaintainAspectRatio_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_MaintainAspectRatio_Proxy( 
      IMSVidCtl * This,
      /* [in] */ VARIANT_BOOL NewValue);
  
  
  void __RPC_STUB IMSVidCtl_put_MaintainAspectRatio_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_ColorKey_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ OLE_COLOR *CurrentValue);
  
  
  void __RPC_STUB IMSVidCtl_get_ColorKey_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_ColorKey_Proxy( 
      IMSVidCtl * This,
      /* [in] */ OLE_COLOR NewValue);
  
  
  void __RPC_STUB IMSVidCtl_put_ColorKey_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_InputsAvailable_Proxy( 
      IMSVidCtl * This,
      /* [in] */ BSTR CategoryGuid,
      /* [retval][out] */ IMSVidInputDevices **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_InputsAvailable_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_OutputsAvailable_Proxy( 
      IMSVidCtl * This,
      /* [in] */ BSTR CategoryGuid,
      /* [retval][out] */ IMSVidOutputDevices **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_OutputsAvailable_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get__InputsAvailable_Proxy( 
      IMSVidCtl * This,
      /* [in] */ LPCGUID CategoryGuid,
      /* [retval][out] */ IMSVidInputDevices **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get__InputsAvailable_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get__OutputsAvailable_Proxy( 
      IMSVidCtl * This,
      /* [in] */ LPCGUID CategoryGuid,
      /* [retval][out] */ IMSVidOutputDevices **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get__OutputsAvailable_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_VideoRenderersAvailable_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ IMSVidVideoRendererDevices **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_VideoRenderersAvailable_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_AudioRenderersAvailable_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ IMSVidAudioRendererDevices **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_AudioRenderersAvailable_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_FeaturesAvailable_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ IMSVidFeatures **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_FeaturesAvailable_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_InputActive_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ IMSVidInputDevice **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_InputActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_InputActive_Proxy( 
      IMSVidCtl * This,
      /* [in] */ IMSVidInputDevice *pVal);
  
  
  void __RPC_STUB IMSVidCtl_put_InputActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_OutputsActive_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ IMSVidOutputDevices **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_OutputsActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_OutputsActive_Proxy( 
      IMSVidCtl * This,
      /* [in] */ IMSVidOutputDevices *pVal);
  
  
  void __RPC_STUB IMSVidCtl_put_OutputsActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_VideoRendererActive_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ IMSVidVideoRenderer **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_VideoRendererActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_VideoRendererActive_Proxy( 
      IMSVidCtl * This,
      /* [in] */ IMSVidVideoRenderer *pVal);
  
  
  void __RPC_STUB IMSVidCtl_put_VideoRendererActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_AudioRendererActive_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ IMSVidAudioRenderer **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_AudioRendererActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_AudioRendererActive_Proxy( 
      IMSVidCtl * This,
      /* [in] */ IMSVidAudioRenderer *pVal);
  
  
  void __RPC_STUB IMSVidCtl_put_AudioRendererActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_FeaturesActive_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ IMSVidFeatures **pVal);
  
  
  void __RPC_STUB IMSVidCtl_get_FeaturesActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_FeaturesActive_Proxy( 
      IMSVidCtl * This,
      /* [in] */ IMSVidFeatures *pVal);
  
  
  void __RPC_STUB IMSVidCtl_put_FeaturesActive_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_State_Proxy( 
      IMSVidCtl * This,
      /* [retval][out] */ MSVidCtlStateList *lState);
  
  
  void __RPC_STUB IMSVidCtl_get_State_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_View_Proxy( 
      IMSVidCtl * This,
      /* [in] */ VARIANT *v);
  
  
  void __RPC_STUB IMSVidCtl_View_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Build_Proxy( 
      IMSVidCtl * This);
  
  
  void __RPC_STUB IMSVidCtl_Build_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Pause_Proxy( 
      IMSVidCtl * This);
  
  
  void __RPC_STUB IMSVidCtl_Pause_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Run_Proxy( 
      IMSVidCtl * This);
  
  
  void __RPC_STUB IMSVidCtl_Run_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Stop_Proxy( 
      IMSVidCtl * This);
  
  
  void __RPC_STUB IMSVidCtl_Stop_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Decompose_Proxy( 
      IMSVidCtl * This);
  
  
  void __RPC_STUB IMSVidCtl_Decompose_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_DisableVideo_Proxy( 
      IMSVidCtl * This);
  
  
  void __RPC_STUB IMSVidCtl_DisableVideo_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_DisableAudio_Proxy( 
      IMSVidCtl * This);
  
  
  void __RPC_STUB IMSVidCtl_DisableAudio_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_ViewNext_Proxy( 
      IMSVidCtl * This,
      /* [in] */ VARIANT *v);
  
  
  void __RPC_STUB IMSVidCtl_ViewNext_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  
  #endif 	/* __IMSVidCtl_INTERFACE_DEFINED__ */
  
  
  #ifndef __IMSEventBinder_INTERFACE_DEFINED__
  #define __IMSEventBinder_INTERFACE_DEFINED__
  
  /* interface IMSEventBinder */
  /* [helpstring][uuid][unique][nonextensible][hidden][oleautomation][dual][object] */ 
  
  
  EXTERN_C const IID IID_IMSEventBinder;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("C3A9F406-2222-436D-86D5-BA3229279EFB")
      IMSEventBinder : public IDispatch
      {
      public:
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Bind( 
              /* [in] */ LPDISPATCH pEventObject,
              /* [in] */ BSTR EventName,
              /* [in] */ BSTR EventHandler,
              /* [retval][out] */ LONG *CancelID) = 0;
          
          virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Unbind( 
              /* [in] */ DWORD CancelCookie) = 0;
          
      };
      
  #else 	/* C style interface */
  
      typedef struct IMSEventBinderVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IMSEventBinder * This,
              /* [in] */ REFIID riid,
              /* [iid_is][out] */ void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IMSEventBinder * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IMSEventBinder * This);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              IMSEventBinder * This,
              /* [out] */ UINT *pctinfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              IMSEventBinder * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ ITypeInfo **ppTInfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              IMSEventBinder * This,
              /* [in] */ REFIID riid,
              /* [size_is][in] */ LPOLESTR *rgszNames,
              /* [in] */ UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ DISPID *rgDispId);
          
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              IMSEventBinder * This,
              /* [in] */ DISPID dispIdMember,
              /* [in] */ REFIID riid,
              /* [in] */ LCID lcid,
              /* [in] */ WORD wFlags,
              /* [out][in] */ DISPPARAMS *pDispParams,
              /* [out] */ VARIANT *pVarResult,
              /* [out] */ EXCEPINFO *pExcepInfo,
              /* [out] */ UINT *puArgErr);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Bind )( 
              IMSEventBinder * This,
              /* [in] */ LPDISPATCH pEventObject,
              /* [in] */ BSTR EventName,
              /* [in] */ BSTR EventHandler,
              /* [retval][out] */ LONG *CancelID);
          
          /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Unbind )( 
              IMSEventBinder * This,
              /* [in] */ DWORD CancelCookie);
          
          END_INTERFACE
      } IMSEventBinderVtbl;
  
      interface IMSEventBinder
      {
          CONST_VTBL struct IMSEventBinderVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IMSEventBinder_QueryInterface(This,riid,ppvObject)	\
      (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  
  #define IMSEventBinder_AddRef(This)	\
      (This)->lpVtbl -> AddRef(This)
  
  #define IMSEventBinder_Release(This)	\
      (This)->lpVtbl -> Release(This)
  
  
  #define IMSEventBinder_GetTypeInfoCount(This,pctinfo)	\
      (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  
  #define IMSEventBinder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  
  #define IMSEventBinder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  
  #define IMSEventBinder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  
  
  #define IMSEventBinder_Bind(This,pEventObject,EventName,EventHandler,CancelID)	\
      (This)->lpVtbl -> Bind(This,pEventObject,EventName,EventHandler,CancelID)
  
  #define IMSEventBinder_Unbind(This,CancelCookie)	\
      (This)->lpVtbl -> Unbind(This,CancelCookie)
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSEventBinder_Bind_Proxy( 
      IMSEventBinder * This,
      /* [in] */ LPDISPATCH pEventObject,
      /* [in] */ BSTR EventName,
      /* [in] */ BSTR EventHandler,
      /* [retval][out] */ LONG *CancelID);
  
  
  void __RPC_STUB IMSEventBinder_Bind_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSEventBinder_Unbind_Proxy( 
      IMSEventBinder * This,
      /* [in] */ DWORD CancelCookie);
  
  
  void __RPC_STUB IMSEventBinder_Unbind_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  
  
  #endif 	/* __IMSEventBinder_INTERFACE_DEFINED__ */
  
  
  
  #ifndef __MSVidCtlLib_LIBRARY_DEFINED__
  #define __MSVidCtlLib_LIBRARY_DEFINED__
  
  /* library MSVidCtlLib */
  /* [helpstring][version][uuid] */ 
  
  
  EXTERN_C const IID LIBID_MSVidCtlLib;
  
  #ifndef ___IMSVidCtlEvents_DISPINTERFACE_DEFINED__
  #define ___IMSVidCtlEvents_DISPINTERFACE_DEFINED__
  
  /* dispinterface _IMSVidCtlEvents */
  /* [helpstring][uuid] */ 
  
  
  EXTERN_C const IID DIID__IMSVidCtlEvents;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
  
      MIDL_INTERFACE("B0EDF164-910A-11D2-B632-00C04F79498E")
      _IMSVidCtlEvents : public IDispatch
      {
      };
      
  #else 	/* C style interface */
  
      typedef struct _IMSVidCtlEventsVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              _IMSVidCtlEvents * This,
              /* [in] */ REFIID riid,
              /* [iid_is][out] */ void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              _IMSVidCtlEvents * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              _IMSVidCtlEvents * This);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              _IMSVidCtlEvents * This,
              /* [out] */ UINT *pctinfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              _IMSVidCtlEvents * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ ITypeInfo **ppTInfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              _IMSVidCtlEvents * This,
              /* [in] */ REFIID riid,
              /* [size_is][in] */ LPOLESTR *rgszNames,
              /* [in] */ UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ DISPID *rgDispId);
          
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              _IMSVidCtlEvents * This,
              /* [in] */ DISPID dispIdMember,
              /* [in] */ REFIID riid,
              /* [in] */ LCID lcid,
              /* [in] */ WORD wFlags,
              /* [out][in] */ DISPPARAMS *pDispParams,
              /* [out] */ VARIANT *pVarResult,
              /* [out] */ EXCEPINFO *pExcepInfo,
              /* [out] */ UINT *puArgErr);
          
          END_INTERFACE
      } _IMSVidCtlEventsVtbl;
  
      interface _IMSVidCtlEvents
      {
          CONST_VTBL struct _IMSVidCtlEventsVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define _IMSVidCtlEvents_QueryInterface(This,riid,ppvObject)	\
      (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  
  #define _IMSVidCtlEvents_AddRef(This)	\
      (This)->lpVtbl -> AddRef(This)
  
  #define _IMSVidCtlEvents_Release(This)	\
      (This)->lpVtbl -> Release(This)
  
  
  #define _IMSVidCtlEvents_GetTypeInfoCount(This,pctinfo)	\
      (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  
  #define _IMSVidCtlEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  
  #define _IMSVidCtlEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  
  #define _IMSVidCtlEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  #endif 	/* ___IMSVidCtlEvents_DISPINTERFACE_DEFINED__ */
  
  
  EXTERN_C const CLSID CLSID_MSVidAnalogTunerDevice;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("1C15D484-911D-11d2-B632-00C04F79498E")
  MSVidAnalogTunerDevice;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidBDATunerDevice;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("A2E3074E-6C3D-11d3-B653-00C04F79498E")
  MSVidBDATunerDevice;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidFilePlaybackDevice;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("37B0353C-A4C8-11d2-B634-00C04F79498E")
  MSVidFilePlaybackDevice;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidWebDVD;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("011B3619-FE63-4814-8A84-15A194CE9CE3")
  MSVidWebDVD;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidWebDVDAdm;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("FA7C375B-66A7-4280-879D-FD459C84BB02")
  MSVidWebDVDAdm;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidVideoRenderer;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("37B03543-A4C8-11d2-B634-00C04F79498E")
  MSVidVideoRenderer;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidAudioRenderer;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("37B03544-A4C8-11d2-B634-00C04F79498E")
  MSVidAudioRenderer;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidDataServices;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("334125C0-77E5-11d3-B653-00C04F79498E")
  MSVidDataServices;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidClosedCaptioning;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("7F9CB14D-48E4-43b6-9346-1AEBC39C64D3")
  MSVidClosedCaptioning;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidTVEGSeg;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("1600F001-6666-4f66-B1E2-BF3C9FBB9BA6")
  MSVidTVEGSeg;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidCAGSeg;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("1600F101-6666-4f66-B1E2-BF3C9FBB9BA6")
  MSVidCAGSeg;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidCtl;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("B0EDF163-910A-11D2-B632-00C04F79498E")
  MSVidCtl;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidInputDevices;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("C5702CCC-9B79-11d3-B654-00C04F79498E")
  MSVidInputDevices;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidOutputDevices;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("C5702CCD-9B79-11d3-B654-00C04F79498E")
  MSVidOutputDevices;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidVideoRendererDevices;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("C5702CCE-9B79-11d3-B654-00C04F79498E")
  MSVidVideoRendererDevices;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidAudioRendererDevices;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("C5702CCF-9B79-11d3-B654-00C04F79498E")
  MSVidAudioRendererDevices;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidFeatures;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("C5702CD0-9B79-11d3-B654-00C04F79498E")
  MSVidFeatures;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidGenericComposite;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("2764BCE5-CC39-11D2-B639-00C04F79498E")
  MSVidGenericComposite;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidAnalogCaptureToOverlayMixer;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("E18AF75A-08AF-11d3-B64A-00C04F79498E")
  MSVidAnalogCaptureToOverlayMixer;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidAnalogCaptureToDataServices;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("C5702CD6-9B79-11d3-B654-00C04F79498E")
  MSVidAnalogCaptureToDataServices;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidWebDVDToVideoRenderer;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("267db0b3-55e3-4902-949b-df8f5cec0191")
  MSVidWebDVDToVideoRenderer;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidMPEG2DecoderToClosedCaptioning;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("6AD28EE1-5002-4e71-AAF7-BD077907B1A4")
  MSVidMPEG2DecoderToClosedCaptioning;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidRenderFactory;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("11973C25-3529-40e4-9AB1-DDC164CBEF49")
  MSVidRenderFactory;
  #endif
  
  EXTERN_C const CLSID CLSID_MSEventBinder;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("577FAA18-4518-445E-8F70-1473F8CF4BA4")
  MSEventBinder;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidRect;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("CB4276E6-7D5F-4cf1-9727-629C5E6DB6AE")
  MSVidRect;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidDevice;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("6E40476F-9C49-4c3e-8BB9-8587958EFF74")
  MSVidDevice;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidInputDevice;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("AC1972F2-138A-4ca3-90DA-AE51112EDA28")
  MSVidInputDevice;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidVideoInputDevice;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("95F4820B-BB3A-4e2d-BC64-5B817BC2C30E")
  MSVidVideoInputDevice;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidVideoPlaybackDevice;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("1990D634-1A5E-4071-A34A-53AAFFCE9F36")
  MSVidVideoPlaybackDevice;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidFeature;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("7748530B-C08A-47ea-B24C-BE8695FF405F")
  MSVidFeature;
  #endif
  
  EXTERN_C const CLSID CLSID_MSVidOutput;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("87EB890D-03AD-4e9d-9866-376E5EC572ED")
  MSVidOutput;
  #endif
  #endif /* __MSVidCtlLib_LIBRARY_DEFINED__ */
  
  /* Additional Prototypes for ALL interfaces */
  
  unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  
  unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
  unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
  unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
  void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 
  
  unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  
  /* end of Additional Prototypes */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  
  
  