MultiVMR9MixerControl</h4>
   class MultiVMR9MixerControl MultiVMR9MixerControl;
  else
  typedef struct MultiVMR9MixerControl MultiVMR9MixerControl;
  endif /* __cplusplus */
  
  endif         /* __MultiVMR9MixerControl_FWD_DEFINED__ */
  
  /* header files for imported files */
  include <unknwn.h>
  
  ifdef __cplusplus
  extern "C"{
  endif 
  
  void * __RPC_USER MIDL_user_allocate(size_t);
  void __RPC_USER MIDL_user_free( void * ); 
  
  /* interface __MIDL_itf_MultiVMR9_0000 */
  /* [local] */ 
  
  if 0
  typedef LPVOID *IBaseFilter;
  
  typedef LPVOID *IFilterGraph;
  
  typedef LPVOID *LPDIRECT3DTEXTURE9;
  
  typedef LPVOID *IDirect3DDevice9;
  
  typedef LPVOID *IVMRSurfaceAllocator9;
  
  typedef LPVOID *IVMRImagePresenter9;
  
  typedef LPVOID *IVMRSurfaceAllocatorNotify;
  
  typedef DWORD DWORD_PTR;
  
  endif
  include <d3d9.h>
  include <dshow.h>
  include <vmr9.h>
  ifndef VIDEO_SOURCE_TAG
  define VIDEO_SOURCE_TAG 0x12345
  endif
  ifndef DWORD_PTR
  define DWORD_PTR DWORD
  endif
  
  extern RPC_IF_HANDLE __MIDL_itf_MultiVMR9_0000_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_MultiVMR9_0000_v0_0_s_ifspec;
  
  ifndef __IMultiVMR9Wizard_INTERFACE_DEFINED__
  define __IMultiVMR9Wizard_INTERFACE_DEFINED__
  
  /* interface IMultiVMR9Wizard */
  /* [unique][helpstring][uuid][object][local] */ 
  
  EXTERN_C const IID IID_IMultiVMR9Wizard;
  
  if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("3A54122C-1180-4468-B997-3A427841D6DE")
      IMultiVMR9Wizard : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE Initialize( 
              /* [in] */ DWORD dwFlags,
              /* [in] */ HWND hWnd,
              /* [in] */ IMultiVMR9RenderEngine *pRenderEngine) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Attach( 
              /* [in] */ IBaseFilter *pVMR,
              /* [out] */ DWORD_PTR *pdwID) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Detach( 
              /* [in] */ DWORD_PTR dwID) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE BeginDeviceLoss( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE EndDeviceLoss( 
              IDirect3DDevice9 *pDevice) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE VerifyID( 
              /* [in] */ DWORD_PTR dwID) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetGraph( 
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ IFilterGraph **ppGraph) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetRenderEngine( 
              /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetMixerControl( 
              /* [out] */ IMultiVMR9MixerControl **ppMixerControl) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetTexture( 
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ LPDIRECT3DTEXTURE9 *ppTexture) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetVideoSize( 
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ LONG *plWidth,
              /* [out] */ LONG *plHeight) = 0;
          
      };
      
  else         /* C style interface */
  
      typedef struct IMultiVMR9WizardVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IMultiVMR9Wizard * This,
              /* [in] */ REFIID riid,
              /* [iid_is][out] */ void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IMultiVMR9Wizard * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IMultiVMR9Wizard * This);
          
          HRESULT ( STDMETHODCALLTYPE *Initialize )( 
              IMultiVMR9Wizard * This,
              /* [in] */ DWORD dwFlags,
              /* [in] */ HWND hWnd,
              /* [in] */ IMultiVMR9RenderEngine *pRenderEngine);
          
          HRESULT ( STDMETHODCALLTYPE *Terminate )( 
              IMultiVMR9Wizard * This);
          
          HRESULT ( STDMETHODCALLTYPE *Attach )( 
              IMultiVMR9Wizard * This,
              /* [in] */ IBaseFilter *pVMR,
              /* [out] */ DWORD_PTR *pdwID);
          
          HRESULT ( STDMETHODCALLTYPE *Detach )( 
              IMultiVMR9Wizard * This,
              /* [in] */ DWORD_PTR dwID);
          
          HRESULT ( STDMETHODCALLTYPE *BeginDeviceLoss )( 
              IMultiVMR9Wizard * This);
          
          HRESULT ( STDMETHODCALLTYPE *EndDeviceLoss )( 
              IMultiVMR9Wizard * This,
              IDirect3DDevice9 *pDevice);
          
          HRESULT ( STDMETHODCALLTYPE *VerifyID )( 
              IMultiVMR9Wizard * This,
              /* [in] */ DWORD_PTR dwID);
          
          HRESULT ( STDMETHODCALLTYPE *GetGraph )( 
              IMultiVMR9Wizard * This,
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ IFilterGraph **ppGraph);
          
          HRESULT ( STDMETHODCALLTYPE *GetRenderEngine )( 
              IMultiVMR9Wizard * This,
              /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine);
          
          HRESULT ( STDMETHODCALLTYPE *GetMixerControl )( 
              IMultiVMR9Wizard * This,
              /* [out] */ IMultiVMR9MixerControl **ppMixerControl);
          
          HRESULT ( STDMETHODCALLTYPE *GetTexture )( 
              IMultiVMR9Wizard * This,
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ LPDIRECT3DTEXTURE9 *ppTexture);
          
          HRESULT ( STDMETHODCALLTYPE *GetVideoSize )( 
              IMultiVMR9Wizard * This,
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ LONG *plWidth,
              /* [out] */ LONG *plHeight);
          
          END_INTERFACE
      } IMultiVMR9WizardVtbl;