The DejaVU Framework -- hush 3.1

include: hush-src-multi-DLL-MultiVMR9.h /home/ae/media


- [up] [top] - index make include source logic grammar scripts html configure mx slides talks scenes reports projects
<body bgcolor="#FFFFFF" text="#000000">



/* this ALWAYS GENERATED file contains the definitions for the interfaces */

 /* File created by MIDL compiler version 6.00.0366 */
/* at Thu Mar 12 09:06:13 2009
 */
/* Compiler settings for .\MultiVMR9.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(  )

#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__ 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 __MultiVMR9_h__
define __MultiVMR9_h__

if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
endif

/* Forward Declarations */ 

ifndef __IMultiVMR9Wizard_FWD_DEFINED__
define __IMultiVMR9Wizard_FWD_DEFINED__
typedef
<h4 align=right text=red> IMultiVMR9Wizard</h4><hr>
   interface IMultiVMR9Wizard IMultiVMR9Wizard;
endif         /* __IMultiVMR9Wizard_FWD_DEFINED__ */

ifndef __IMultiVMR9RenderEngine_FWD_DEFINED__
define __IMultiVMR9RenderEngine_FWD_DEFINED__
typedef
<hr>

IMultiVMR9RenderEngine</h4>
   interface IMultiVMR9RenderEngine IMultiVMR9RenderEngine;
  endif         /* __IMultiVMR9RenderEngine_FWD_DEFINED__ */
  
  ifndef __IMultiVMR9UILayer_FWD_DEFINED__
  define __IMultiVMR9UILayer_FWD_DEFINED__
  typedef

IMultiVMR9UILayer</h4>
   interface IMultiVMR9UILayer IMultiVMR9UILayer;
  endif         /* __IMultiVMR9UILayer_FWD_DEFINED__ */
  
  ifndef __IMultiVMR9MixerControl_FWD_DEFINED__
  define __IMultiVMR9MixerControl_FWD_DEFINED__
  typedef

IMultiVMR9MixerControl</h4>
   interface IMultiVMR9MixerControl IMultiVMR9MixerControl;
  endif         /* __IMultiVMR9MixerControl_FWD_DEFINED__ */
  
  ifndef __MultiVMR9Wizard_FWD_DEFINED__
  define __MultiVMR9Wizard_FWD_DEFINED__
  
  ifdef __cplusplus
  typedef

MultiVMR9Wizard</h4>
   class MultiVMR9Wizard MultiVMR9Wizard;
  else
  typedef struct MultiVMR9Wizard MultiVMR9Wizard;
  endif /* __cplusplus */
  
  endif         /* __MultiVMR9Wizard_FWD_DEFINED__ */
  
  ifndef __MultiVMR9RenderEngine_FWD_DEFINED__
  define __MultiVMR9RenderEngine_FWD_DEFINED__
  
  ifdef __cplusplus
  typedef

MultiVMR9RenderEngine</h4>
   class MultiVMR9RenderEngine MultiVMR9RenderEngine;
  else
  typedef struct MultiVMR9RenderEngine MultiVMR9RenderEngine;
  endif /* __cplusplus */
  
  endif         /* __MultiVMR9RenderEngine_FWD_DEFINED__ */
  
  ifndef __MultiVMR9UILayer_FWD_DEFINED__
  define __MultiVMR9UILayer_FWD_DEFINED__
  
  ifdef __cplusplus
  typedef

MultiVMR9UILayer</h4>
   class MultiVMR9UILayer MultiVMR9UILayer;
  else
  typedef struct MultiVMR9UILayer MultiVMR9UILayer;
  endif /* __cplusplus */
  
  endif         /* __MultiVMR9UILayer_FWD_DEFINED__ */
  
  ifndef __MultiVMR9MixerControl_FWD_DEFINED__
  define __MultiVMR9MixerControl_FWD_DEFINED__
  
  ifdef __cplusplus
  typedef

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;
  
  

IMultiVMR9Wizard</h4>
      interface IMultiVMR9Wizard
      {
          CONST_VTBL struct IMultiVMR9WizardVtbl *lpVtbl;
      };


  
      
  
  ifdef COBJMACROS
  
  define IMultiVMR9Wizard_QueryInterface(This,riid,ppvObject)        \
      (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  
  define IMultiVMR9Wizard_AddRef(This)        \
      (This)->lpVtbl -> AddRef(This)
  
  define IMultiVMR9Wizard_Release(This)        \
      (This)->lpVtbl -> Release(This)
  
  define IMultiVMR9Wizard_Initialize(This,dwFlags,hWnd,pRenderEngine)        \
      (This)->lpVtbl -> Initialize(This,dwFlags,hWnd,pRenderEngine)
  
  define IMultiVMR9Wizard_Terminate(This)        \
      (This)->lpVtbl -> Terminate(This)
  
  define IMultiVMR9Wizard_Attach(This,pVMR,pdwID)        \
      (This)->lpVtbl -> Attach(This,pVMR,pdwID)
  
  define IMultiVMR9Wizard_Detach(This,dwID)        \
      (This)->lpVtbl -> Detach(This,dwID)
  
  define IMultiVMR9Wizard_BeginDeviceLoss(This)        \
      (This)->lpVtbl -> BeginDeviceLoss(This)
  
  define IMultiVMR9Wizard_EndDeviceLoss(This,pDevice)        \
      (This)->lpVtbl -> EndDeviceLoss(This,pDevice)
  
  define IMultiVMR9Wizard_VerifyID(This,dwID)        \
      (This)->lpVtbl -> VerifyID(This,dwID)
  
  define IMultiVMR9Wizard_GetGraph(This,dwID,ppGraph)        \
      (This)->lpVtbl -> GetGraph(This,dwID,ppGraph)
  
  define IMultiVMR9Wizard_GetRenderEngine(This,ppRenderEngine)        \
      (This)->lpVtbl -> GetRenderEngine(This,ppRenderEngine)
  
  define IMultiVMR9Wizard_GetMixerControl(This,ppMixerControl)        \
      (This)->lpVtbl -> GetMixerControl(This,ppMixerControl)
  
  define IMultiVMR9Wizard_GetTexture(This,dwID,ppTexture)        \
      (This)->lpVtbl -> GetTexture(This,dwID,ppTexture)
  
  define IMultiVMR9Wizard_GetVideoSize(This,dwID,plWidth,plHeight)        \
      (This)->lpVtbl -> GetVideoSize(This,dwID,plWidth,plHeight)
  
  endif /* COBJMACROS */
  
  endif         /* C style interface */
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_Initialize_Proxy( 
      IMultiVMR9Wizard * This,
      /* [in] */ DWORD dwFlags,
      /* [in] */ HWND hWnd,
      /* [in] */ IMultiVMR9RenderEngine *pRenderEngine);
  
  void __RPC_STUB IMultiVMR9Wizard_Initialize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_Terminate_Proxy( 
      IMultiVMR9Wizard * This);
  
  void __RPC_STUB IMultiVMR9Wizard_Terminate_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_Attach_Proxy( 
      IMultiVMR9Wizard * This,
      /* [in] */ IBaseFilter *pVMR,
      /* [out] */ DWORD_PTR *pdwID);
  
  void __RPC_STUB IMultiVMR9Wizard_Attach_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_Detach_Proxy( 
      IMultiVMR9Wizard * This,
      /* [in] */ DWORD_PTR dwID);
  
  void __RPC_STUB IMultiVMR9Wizard_Detach_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_BeginDeviceLoss_Proxy( 
      IMultiVMR9Wizard * This);
  
  void __RPC_STUB IMultiVMR9Wizard_BeginDeviceLoss_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_EndDeviceLoss_Proxy( 
      IMultiVMR9Wizard * This,
      IDirect3DDevice9 *pDevice);
  
  void __RPC_STUB IMultiVMR9Wizard_EndDeviceLoss_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_VerifyID_Proxy( 
      IMultiVMR9Wizard * This,
      /* [in] */ DWORD_PTR dwID);
  
  void __RPC_STUB IMultiVMR9Wizard_VerifyID_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_GetGraph_Proxy( 
      IMultiVMR9Wizard * This,
      /* [in] */ DWORD_PTR dwID,
      /* [out] */ IFilterGraph **ppGraph);
  
  void __RPC_STUB IMultiVMR9Wizard_GetGraph_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_GetRenderEngine_Proxy( 
      IMultiVMR9Wizard * This,
      /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine);
  
  void __RPC_STUB IMultiVMR9Wizard_GetRenderEngine_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_GetMixerControl_Proxy( 
      IMultiVMR9Wizard * This,
      /* [out] */ IMultiVMR9MixerControl **ppMixerControl);
  
  void __RPC_STUB IMultiVMR9Wizard_GetMixerControl_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_GetTexture_Proxy( 
      IMultiVMR9Wizard * This,
      /* [in] */ DWORD_PTR dwID,
      /* [out] */ LPDIRECT3DTEXTURE9 *ppTexture);
  
  void __RPC_STUB IMultiVMR9Wizard_GetTexture_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9Wizard_GetVideoSize_Proxy( 
      IMultiVMR9Wizard * This,
      /* [in] */ DWORD_PTR dwID,
      /* [out] */ LONG *plWidth,
      /* [out] */ LONG *plHeight);
  
  void __RPC_STUB IMultiVMR9Wizard_GetVideoSize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  endif         /* __IMultiVMR9Wizard_INTERFACE_DEFINED__ */
  
  ifndef __IMultiVMR9RenderEngine_INTERFACE_DEFINED__
  define __IMultiVMR9RenderEngine_INTERFACE_DEFINED__
  
  /* interface IMultiVMR9RenderEngine */
  /* [unique][helpstring][uuid][object][local] */ 
  
  EXTERN_C const IID IID_IMultiVMR9RenderEngine;
  
  if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("476B9DBC-D303-4E71-A568-2738F81E58AE")
      IMultiVMR9RenderEngine : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE Initialize( 
              /* [in] */ HWND hWnd,
              /* [in] */ DWORD dwFlags,
              /* [in] */ IMultiVMR9MixerControl *pMixerControl,
              /* [in] */ IMultiVMR9UILayer *pUILayer) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Render( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE ProcessLostDevice( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetUILayer( 
              /* [out] */ IMultiVMR9UILayer **ppUILayer) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE SetFrameRate( 
              /* [in] */ int nFramesPerSecBy100) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetFrameRate( 
              /* [out] */ int *pnFramesPerSecBy100) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetFrameRateAvg( 
              /* [out] */ int *pnFramesPerSecBy100) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( 
              /* [out] */ DWORD *pdwPrefs) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE SetWizardOwner( 
              /* [in] */ IMultiVMR9Wizard *pWizard) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetWizardOwner( 
              /* [out] */ IMultiVMR9Wizard **ppWizard) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetMixerControl( 
              /* [out] */ IMultiVMR9MixerControl **ppMixerControl) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Get3DDevice( 
              /* [out] */ IDirect3DDevice9 **ppDevice) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetVideoWindow( 
              /* [out] */ HWND *phwnd) = 0;
          
      };


      
  else         /* C style interface */
  
      typedef struct IMultiVMR9RenderEngineVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IMultiVMR9RenderEngine * This,
              /* [in] */ REFIID riid,
              /* [iid_is][out] */ void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IMultiVMR9RenderEngine * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IMultiVMR9RenderEngine * This);
          
          HRESULT ( STDMETHODCALLTYPE *Initialize )( 
              IMultiVMR9RenderEngine * This,
              /* [in] */ HWND hWnd,
              /* [in] */ DWORD dwFlags,
              /* [in] */ IMultiVMR9MixerControl *pMixerControl,
              /* [in] */ IMultiVMR9UILayer *pUILayer);
          
          HRESULT ( STDMETHODCALLTYPE *Terminate )( 
              IMultiVMR9RenderEngine * This);
          
          HRESULT ( STDMETHODCALLTYPE *Render )( 
              IMultiVMR9RenderEngine * This);
          
          HRESULT ( STDMETHODCALLTYPE *ProcessLostDevice )( 
              IMultiVMR9RenderEngine * This);
          
          HRESULT ( STDMETHODCALLTYPE *GetUILayer )( 
              IMultiVMR9RenderEngine * This,
              /* [out] */ IMultiVMR9UILayer **ppUILayer);
          
          HRESULT ( STDMETHODCALLTYPE *SetFrameRate )( 
              IMultiVMR9RenderEngine * This,
              /* [in] */ int nFramesPerSecBy100);
          
          HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( 
              IMultiVMR9RenderEngine * This,
              /* [out] */ int *pnFramesPerSecBy100);
          
          HRESULT ( STDMETHODCALLTYPE *GetFrameRateAvg )( 
              IMultiVMR9RenderEngine * This,
              /* [out] */ int *pnFramesPerSecBy100);
          
          HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )( 
              IMultiVMR9RenderEngine * This,
              /* [out] */ DWORD *pdwPrefs);
          
          HRESULT ( STDMETHODCALLTYPE *SetWizardOwner )( 
              IMultiVMR9RenderEngine * This,
              /* [in] */ IMultiVMR9Wizard *pWizard);
          
          HRESULT ( STDMETHODCALLTYPE *GetWizardOwner )( 
              IMultiVMR9RenderEngine * This,
              /* [out] */ IMultiVMR9Wizard **ppWizard);
          
          HRESULT ( STDMETHODCALLTYPE *GetMixerControl )( 
              IMultiVMR9RenderEngine * This,
              /* [out] */ IMultiVMR9MixerControl **ppMixerControl);
          
          HRESULT ( STDMETHODCALLTYPE *Get3DDevice )( 
              IMultiVMR9RenderEngine * This,
              /* [out] */ IDirect3DDevice9 **ppDevice);
          
          HRESULT ( STDMETHODCALLTYPE *GetVideoWindow )( 
              IMultiVMR9RenderEngine * This,
              /* [out] */ HWND *phwnd);
          
          END_INTERFACE
      } IMultiVMR9RenderEngineVtbl;
  
  

IMultiVMR9RenderEngine</h4>
      interface IMultiVMR9RenderEngine
      {
          CONST_VTBL struct IMultiVMR9RenderEngineVtbl *lpVtbl;
      };


  
      
  
  ifdef COBJMACROS
  
  define IMultiVMR9RenderEngine_QueryInterface(This,riid,ppvObject)        \
      (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  
  define IMultiVMR9RenderEngine_AddRef(This)        \
      (This)->lpVtbl -> AddRef(This)
  
  define IMultiVMR9RenderEngine_Release(This)        \
      (This)->lpVtbl -> Release(This)
  
  define IMultiVMR9RenderEngine_Initialize(This,hWnd,dwFlags,pMixerControl,pUILayer)        \
      (This)->lpVtbl -> Initialize(This,hWnd,dwFlags,pMixerControl,pUILayer)
  
  define IMultiVMR9RenderEngine_Terminate(This)        \
      (This)->lpVtbl -> Terminate(This)
  
  define IMultiVMR9RenderEngine_Render(This)        \
      (This)->lpVtbl -> Render(This)
  
  define IMultiVMR9RenderEngine_ProcessLostDevice(This)        \
      (This)->lpVtbl -> ProcessLostDevice(This)
  
  define IMultiVMR9RenderEngine_GetUILayer(This,ppUILayer)        \
      (This)->lpVtbl -> GetUILayer(This,ppUILayer)
  
  define IMultiVMR9RenderEngine_SetFrameRate(This,nFramesPerSecBy100)        \
      (This)->lpVtbl -> SetFrameRate(This,nFramesPerSecBy100)
  
  define IMultiVMR9RenderEngine_GetFrameRate(This,pnFramesPerSecBy100)        \
      (This)->lpVtbl -> GetFrameRate(This,pnFramesPerSecBy100)
  
  define IMultiVMR9RenderEngine_GetFrameRateAvg(This,pnFramesPerSecBy100)        \
      (This)->lpVtbl -> GetFrameRateAvg(This,pnFramesPerSecBy100)
  
  define IMultiVMR9RenderEngine_GetMixingPrefs(This,pdwPrefs)        \
      (This)->lpVtbl -> GetMixingPrefs(This,pdwPrefs)
  
  define IMultiVMR9RenderEngine_SetWizardOwner(This,pWizard)        \
      (This)->lpVtbl -> SetWizardOwner(This,pWizard)
  
  define IMultiVMR9RenderEngine_GetWizardOwner(This,ppWizard)        \
      (This)->lpVtbl -> GetWizardOwner(This,ppWizard)
  
  define IMultiVMR9RenderEngine_GetMixerControl(This,ppMixerControl)        \
      (This)->lpVtbl -> GetMixerControl(This,ppMixerControl)
  
  define IMultiVMR9RenderEngine_Get3DDevice(This,ppDevice)        \
      (This)->lpVtbl -> Get3DDevice(This,ppDevice)
  
  define IMultiVMR9RenderEngine_GetVideoWindow(This,phwnd)        \
      (This)->lpVtbl -> GetVideoWindow(This,phwnd)
  
  endif /* COBJMACROS */
  
  endif         /* C style interface */
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_Initialize_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [in] */ HWND hWnd,
      /* [in] */ DWORD dwFlags,
      /* [in] */ IMultiVMR9MixerControl *pMixerControl,
      /* [in] */ IMultiVMR9UILayer *pUILayer);
  
  void __RPC_STUB IMultiVMR9RenderEngine_Initialize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_Terminate_Proxy( 
      IMultiVMR9RenderEngine * This);
  
  void __RPC_STUB IMultiVMR9RenderEngine_Terminate_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_Render_Proxy( 
      IMultiVMR9RenderEngine * This);
  
  void __RPC_STUB IMultiVMR9RenderEngine_Render_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_ProcessLostDevice_Proxy( 
      IMultiVMR9RenderEngine * This);
  
  void __RPC_STUB IMultiVMR9RenderEngine_ProcessLostDevice_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_GetUILayer_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [out] */ IMultiVMR9UILayer **ppUILayer);
  
  void __RPC_STUB IMultiVMR9RenderEngine_GetUILayer_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_SetFrameRate_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [in] */ int nFramesPerSecBy100);
  
  void __RPC_STUB IMultiVMR9RenderEngine_SetFrameRate_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_GetFrameRate_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [out] */ int *pnFramesPerSecBy100);
  
  void __RPC_STUB IMultiVMR9RenderEngine_GetFrameRate_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_GetFrameRateAvg_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [out] */ int *pnFramesPerSecBy100);
  
  void __RPC_STUB IMultiVMR9RenderEngine_GetFrameRateAvg_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_GetMixingPrefs_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [out] */ DWORD *pdwPrefs);
  
  void __RPC_STUB IMultiVMR9RenderEngine_GetMixingPrefs_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_SetWizardOwner_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [in] */ IMultiVMR9Wizard *pWizard);
  
  void __RPC_STUB IMultiVMR9RenderEngine_SetWizardOwner_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_GetWizardOwner_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [out] */ IMultiVMR9Wizard **ppWizard);
  
  void __RPC_STUB IMultiVMR9RenderEngine_GetWizardOwner_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_GetMixerControl_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [out] */ IMultiVMR9MixerControl **ppMixerControl);
  
  void __RPC_STUB IMultiVMR9RenderEngine_GetMixerControl_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_Get3DDevice_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [out] */ IDirect3DDevice9 **ppDevice);
  
  void __RPC_STUB IMultiVMR9RenderEngine_Get3DDevice_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9RenderEngine_GetVideoWindow_Proxy( 
      IMultiVMR9RenderEngine * This,
      /* [out] */ HWND *phwnd);
  
  void __RPC_STUB IMultiVMR9RenderEngine_GetVideoWindow_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  endif         /* __IMultiVMR9RenderEngine_INTERFACE_DEFINED__ */
  
  ifndef __IMultiVMR9UILayer_INTERFACE_DEFINED__
  define __IMultiVMR9UILayer_INTERFACE_DEFINED__
  
  /* interface IMultiVMR9UILayer */
  /* [unique][helpstring][uuid][object][local] */ 
  
  EXTERN_C const IID IID_IMultiVMR9UILayer;
  
  if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("102A1639-48DA-4C93-8B2E-EFF597B01E01")
      IMultiVMR9UILayer : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE Initialize( 
              /* [in] */ IDirect3DDevice9 *pDevice) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE ProcessMessage( 
              /* [in] */ UINT msg,
              /* [in] */ UINT wParam,
              /* [in] */ LONG lParam) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Render( 
              /* [in] */ IDirect3DDevice9 *pDevice) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE BeginDeviceLoss( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE EndDeviceLoss( 
              IDirect3DDevice9 *pDevice) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE SetRenderEngineOwner( 
              /* [in] */ IMultiVMR9RenderEngine *pRenderEngine) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetRenderEngineOwner( 
              /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine) = 0;
          
      };


      
  else         /* C style interface */
  
      typedef struct IMultiVMR9UILayerVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IMultiVMR9UILayer * This,
              /* [in] */ REFIID riid,
              /* [iid_is][out] */ void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IMultiVMR9UILayer * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IMultiVMR9UILayer * This);
          
          HRESULT ( STDMETHODCALLTYPE *Initialize )( 
              IMultiVMR9UILayer * This,
              /* [in] */ IDirect3DDevice9 *pDevice);
          
          HRESULT ( STDMETHODCALLTYPE *ProcessMessage )( 
              IMultiVMR9UILayer * This,
              /* [in] */ UINT msg,
              /* [in] */ UINT wParam,
              /* [in] */ LONG lParam);
          
          HRESULT ( STDMETHODCALLTYPE *Render )( 
              IMultiVMR9UILayer * This,
              /* [in] */ IDirect3DDevice9 *pDevice);
          
          HRESULT ( STDMETHODCALLTYPE *BeginDeviceLoss )( 
              IMultiVMR9UILayer * This);
          
          HRESULT ( STDMETHODCALLTYPE *EndDeviceLoss )( 
              IMultiVMR9UILayer * This,
              IDirect3DDevice9 *pDevice);
          
          HRESULT ( STDMETHODCALLTYPE *SetRenderEngineOwner )( 
              IMultiVMR9UILayer * This,
              /* [in] */ IMultiVMR9RenderEngine *pRenderEngine);
          
          HRESULT ( STDMETHODCALLTYPE *GetRenderEngineOwner )( 
              IMultiVMR9UILayer * This,
              /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine);
          
          END_INTERFACE
      } IMultiVMR9UILayerVtbl;
  
  

IMultiVMR9UILayer</h4>
      interface IMultiVMR9UILayer
      {
          CONST_VTBL struct IMultiVMR9UILayerVtbl *lpVtbl;
      };


  
      
  
  ifdef COBJMACROS
  
  define IMultiVMR9UILayer_QueryInterface(This,riid,ppvObject)        \
      (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  
  define IMultiVMR9UILayer_AddRef(This)        \
      (This)->lpVtbl -> AddRef(This)
  
  define IMultiVMR9UILayer_Release(This)        \
      (This)->lpVtbl -> Release(This)
  
  define IMultiVMR9UILayer_Initialize(This,pDevice)        \
      (This)->lpVtbl -> Initialize(This,pDevice)
  
  define IMultiVMR9UILayer_ProcessMessage(This,msg,wParam,lParam)        \
      (This)->lpVtbl -> ProcessMessage(This,msg,wParam,lParam)
  
  define IMultiVMR9UILayer_Render(This,pDevice)        \
      (This)->lpVtbl -> Render(This,pDevice)
  
  define IMultiVMR9UILayer_BeginDeviceLoss(This)        \
      (This)->lpVtbl -> BeginDeviceLoss(This)
  
  define IMultiVMR9UILayer_EndDeviceLoss(This,pDevice)        \
      (This)->lpVtbl -> EndDeviceLoss(This,pDevice)
  
  define IMultiVMR9UILayer_SetRenderEngineOwner(This,pRenderEngine)        \
      (This)->lpVtbl -> SetRenderEngineOwner(This,pRenderEngine)
  
  define IMultiVMR9UILayer_GetRenderEngineOwner(This,ppRenderEngine)        \
      (This)->lpVtbl -> GetRenderEngineOwner(This,ppRenderEngine)
  
  endif /* COBJMACROS */
  
  endif         /* C style interface */
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9UILayer_Initialize_Proxy( 
      IMultiVMR9UILayer * This,
      /* [in] */ IDirect3DDevice9 *pDevice);
  
  void __RPC_STUB IMultiVMR9UILayer_Initialize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9UILayer_ProcessMessage_Proxy( 
      IMultiVMR9UILayer * This,
      /* [in] */ UINT msg,
      /* [in] */ UINT wParam,
      /* [in] */ LONG lParam);
  
  void __RPC_STUB IMultiVMR9UILayer_ProcessMessage_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9UILayer_Render_Proxy( 
      IMultiVMR9UILayer * This,
      /* [in] */ IDirect3DDevice9 *pDevice);
  
  void __RPC_STUB IMultiVMR9UILayer_Render_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9UILayer_BeginDeviceLoss_Proxy( 
      IMultiVMR9UILayer * This);
  
  void __RPC_STUB IMultiVMR9UILayer_BeginDeviceLoss_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9UILayer_EndDeviceLoss_Proxy( 
      IMultiVMR9UILayer * This,
      IDirect3DDevice9 *pDevice);
  
  void __RPC_STUB IMultiVMR9UILayer_EndDeviceLoss_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9UILayer_SetRenderEngineOwner_Proxy( 
      IMultiVMR9UILayer * This,
      /* [in] */ IMultiVMR9RenderEngine *pRenderEngine);
  
  void __RPC_STUB IMultiVMR9UILayer_SetRenderEngineOwner_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9UILayer_GetRenderEngineOwner_Proxy( 
      IMultiVMR9UILayer * This,
      /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine);
  
  void __RPC_STUB IMultiVMR9UILayer_GetRenderEngineOwner_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  endif         /* __IMultiVMR9UILayer_INTERFACE_DEFINED__ */
  
  /* interface __MIDL_itf_MultiVMR9_0011 */
  /* [local] */ 
  
  if 0
  typedef struct _NORMALIZEDRECT
      {
      float left;
      float top;
      float right;
      float bottom;
      }         NORMALIZEDRECT;
  
  typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
  
  endif
  
  extern RPC_IF_HANDLE __MIDL_itf_MultiVMR9_0011_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_MultiVMR9_0011_v0_0_s_ifspec;
  
  ifndef __IMultiVMR9MixerControl_INTERFACE_DEFINED__
  define __IMultiVMR9MixerControl_INTERFACE_DEFINED__
  
  /* interface IMultiVMR9MixerControl */
  /* [unique][helpstring][uuid][object][local] */ 
  
  EXTERN_C const IID IID_IMultiVMR9MixerControl;
  
  if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("35CE8FF4-3673-42F8-A2FF-544F3AFA2DE2")
      IMultiVMR9MixerControl : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE SetRenderEngineOwner( 
              /* [in] */ IMultiVMR9RenderEngine *pRenderEngine) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetRenderEngineOwner( 
              /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Initialize( 
              /* [in] */ IDirect3DDevice9 *pDevice) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE BeginDeviceLoss( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE EndDeviceLoss( 
              IDirect3DDevice9 *pDevice) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Compose( 
              /* [in] */ void *lpParam) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Render( 
              /* [in] */ IDirect3DDevice9 *pDevice,
              /* [in] */ void *lpParam) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetOutputRect( 
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ NORMALIZEDRECT *lpNormRect) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE SetOutputRect( 
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ NORMALIZEDRECT *lpNormRect) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetIdealOutputRect( 
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ DWORD dwWidth,
              /* [in] */ DWORD dwHeight,
              /* [out] */ NORMALIZEDRECT *lpNormRect) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetZOrder( 
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ DWORD *pdwZOrder) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE SetZOrder( 
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ DWORD dwZOrder) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetAlpha( 
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ float *pAlpha) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE SetAlpha( 
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ float Alpha) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor( 
              /* [out] */ COLORREF *pColor) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor( 
              /* [in] */ COLORREF Color) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE AddVideoSource( 
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ LONG lImageWidth,
              /* [in] */ LONG lImageHeight,
              /* [in] */ LONG lTextureWidth,
              /* [in] */ LONG lTextureHeight) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE DeleteVideoSource( 
              /* [in] */ DWORD_PTR dwID) = 0;
          
      };


      
  else         /* C style interface */
  
      typedef struct IMultiVMR9MixerControlVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ REFIID riid,
              /* [iid_is][out] */ void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IMultiVMR9MixerControl * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IMultiVMR9MixerControl * This);
          
          HRESULT ( STDMETHODCALLTYPE *SetRenderEngineOwner )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ IMultiVMR9RenderEngine *pRenderEngine);
          
          HRESULT ( STDMETHODCALLTYPE *GetRenderEngineOwner )( 
              IMultiVMR9MixerControl * This,
              /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine);
          
          HRESULT ( STDMETHODCALLTYPE *Initialize )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ IDirect3DDevice9 *pDevice);
          
          HRESULT ( STDMETHODCALLTYPE *BeginDeviceLoss )( 
              IMultiVMR9MixerControl * This);
          
          HRESULT ( STDMETHODCALLTYPE *EndDeviceLoss )( 
              IMultiVMR9MixerControl * This,
              IDirect3DDevice9 *pDevice);
          
          HRESULT ( STDMETHODCALLTYPE *Compose )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ void *lpParam);
          
          HRESULT ( STDMETHODCALLTYPE *Render )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ IDirect3DDevice9 *pDevice,
              /* [in] */ void *lpParam);
          
          HRESULT ( STDMETHODCALLTYPE *GetOutputRect )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ NORMALIZEDRECT *lpNormRect);
          
          HRESULT ( STDMETHODCALLTYPE *SetOutputRect )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ NORMALIZEDRECT *lpNormRect);
          
          HRESULT ( STDMETHODCALLTYPE *GetIdealOutputRect )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ DWORD dwWidth,
              /* [in] */ DWORD dwHeight,
              /* [out] */ NORMALIZEDRECT *lpNormRect);
          
          HRESULT ( STDMETHODCALLTYPE *GetZOrder )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ DWORD *pdwZOrder);
          
          HRESULT ( STDMETHODCALLTYPE *SetZOrder )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ DWORD dwZOrder);
          
          HRESULT ( STDMETHODCALLTYPE *GetAlpha )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID,
              /* [out] */ float *pAlpha);
          
          HRESULT ( STDMETHODCALLTYPE *SetAlpha )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ float Alpha);
          
          HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )( 
              IMultiVMR9MixerControl * This,
              /* [out] */ COLORREF *pColor);
          
          HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ COLORREF Color);
          
          HRESULT ( STDMETHODCALLTYPE *AddVideoSource )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID,
              /* [in] */ LONG lImageWidth,
              /* [in] */ LONG lImageHeight,
              /* [in] */ LONG lTextureWidth,
              /* [in] */ LONG lTextureHeight);
          
          HRESULT ( STDMETHODCALLTYPE *DeleteVideoSource )( 
              IMultiVMR9MixerControl * This,
              /* [in] */ DWORD_PTR dwID);
          
          END_INTERFACE
      } IMultiVMR9MixerControlVtbl;
  
  

IMultiVMR9MixerControl</h4>
      interface IMultiVMR9MixerControl
      {
          CONST_VTBL struct IMultiVMR9MixerControlVtbl *lpVtbl;
      };


  
      
  
  ifdef COBJMACROS
  
  define IMultiVMR9MixerControl_QueryInterface(This,riid,ppvObject)        \
      (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  
  define IMultiVMR9MixerControl_AddRef(This)        \
      (This)->lpVtbl -> AddRef(This)
  
  define IMultiVMR9MixerControl_Release(This)        \
      (This)->lpVtbl -> Release(This)
  
  define IMultiVMR9MixerControl_SetRenderEngineOwner(This,pRenderEngine)        \
      (This)->lpVtbl -> SetRenderEngineOwner(This,pRenderEngine)
  
  define IMultiVMR9MixerControl_GetRenderEngineOwner(This,ppRenderEngine)        \
      (This)->lpVtbl -> GetRenderEngineOwner(This,ppRenderEngine)
  
  define IMultiVMR9MixerControl_Initialize(This,pDevice)        \
      (This)->lpVtbl -> Initialize(This,pDevice)
  
  define IMultiVMR9MixerControl_BeginDeviceLoss(This)        \
      (This)->lpVtbl -> BeginDeviceLoss(This)
  
  define IMultiVMR9MixerControl_EndDeviceLoss(This,pDevice)        \
      (This)->lpVtbl -> EndDeviceLoss(This,pDevice)
  
  define IMultiVMR9MixerControl_Compose(This,lpParam)        \
      (This)->lpVtbl -> Compose(This,lpParam)
  
  define IMultiVMR9MixerControl_Render(This,pDevice,lpParam)        \
      (This)->lpVtbl -> Render(This,pDevice,lpParam)
  
  define IMultiVMR9MixerControl_GetOutputRect(This,dwID,lpNormRect)        \
      (This)->lpVtbl -> GetOutputRect(This,dwID,lpNormRect)
  
  define IMultiVMR9MixerControl_SetOutputRect(This,dwID,lpNormRect)        \
      (This)->lpVtbl -> SetOutputRect(This,dwID,lpNormRect)
  
  define IMultiVMR9MixerControl_GetIdealOutputRect(This,dwID,dwWidth,dwHeight,lpNormRect)        \
      (This)->lpVtbl -> GetIdealOutputRect(This,dwID,dwWidth,dwHeight,lpNormRect)
  
  define IMultiVMR9MixerControl_GetZOrder(This,dwID,pdwZOrder)        \
      (This)->lpVtbl -> GetZOrder(This,dwID,pdwZOrder)
  
  define IMultiVMR9MixerControl_SetZOrder(This,dwID,dwZOrder)        \
      (This)->lpVtbl -> SetZOrder(This,dwID,dwZOrder)
  
  define IMultiVMR9MixerControl_GetAlpha(This,dwID,pAlpha)        \
      (This)->lpVtbl -> GetAlpha(This,dwID,pAlpha)
  
  define IMultiVMR9MixerControl_SetAlpha(This,dwID,Alpha)        \
      (This)->lpVtbl -> SetAlpha(This,dwID,Alpha)
  
  define IMultiVMR9MixerControl_GetBackgroundColor(This,pColor)        \
      (This)->lpVtbl -> GetBackgroundColor(This,pColor)
  
  define IMultiVMR9MixerControl_SetBackgroundColor(This,Color)        \
      (This)->lpVtbl -> SetBackgroundColor(This,Color)
  
  define IMultiVMR9MixerControl_AddVideoSource(This,dwID,lImageWidth,lImageHeight,lTextureWidth,lTextureHeight)        \
      (This)->lpVtbl -> AddVideoSource(This,dwID,lImageWidth,lImageHeight,lTextureWidth,lTextureHeight)
  
  define IMultiVMR9MixerControl_DeleteVideoSource(This,dwID)        \
      (This)->lpVtbl -> DeleteVideoSource(This,dwID)
  
  endif /* COBJMACROS */
  
  endif         /* C style interface */
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_SetRenderEngineOwner_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ IMultiVMR9RenderEngine *pRenderEngine);
  
  void __RPC_STUB IMultiVMR9MixerControl_SetRenderEngineOwner_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_GetRenderEngineOwner_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [out] */ IMultiVMR9RenderEngine **ppRenderEngine);
  
  void __RPC_STUB IMultiVMR9MixerControl_GetRenderEngineOwner_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_Initialize_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ IDirect3DDevice9 *pDevice);
  
  void __RPC_STUB IMultiVMR9MixerControl_Initialize_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_BeginDeviceLoss_Proxy( 
      IMultiVMR9MixerControl * This);
  
  void __RPC_STUB IMultiVMR9MixerControl_BeginDeviceLoss_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_EndDeviceLoss_Proxy( 
      IMultiVMR9MixerControl * This,
      IDirect3DDevice9 *pDevice);
  
  void __RPC_STUB IMultiVMR9MixerControl_EndDeviceLoss_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_Compose_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ void *lpParam);
  
  void __RPC_STUB IMultiVMR9MixerControl_Compose_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_Render_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ IDirect3DDevice9 *pDevice,
      /* [in] */ void *lpParam);
  
  void __RPC_STUB IMultiVMR9MixerControl_Render_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_GetOutputRect_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID,
      /* [out] */ NORMALIZEDRECT *lpNormRect);
  
  void __RPC_STUB IMultiVMR9MixerControl_GetOutputRect_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_SetOutputRect_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID,
      /* [in] */ NORMALIZEDRECT *lpNormRect);
  
  void __RPC_STUB IMultiVMR9MixerControl_SetOutputRect_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_GetIdealOutputRect_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID,
      /* [in] */ DWORD dwWidth,
      /* [in] */ DWORD dwHeight,
      /* [out] */ NORMALIZEDRECT *lpNormRect);
  
  void __RPC_STUB IMultiVMR9MixerControl_GetIdealOutputRect_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_GetZOrder_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID,
      /* [out] */ DWORD *pdwZOrder);
  
  void __RPC_STUB IMultiVMR9MixerControl_GetZOrder_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_SetZOrder_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID,
      /* [in] */ DWORD dwZOrder);
  
  void __RPC_STUB IMultiVMR9MixerControl_SetZOrder_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_GetAlpha_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID,
      /* [out] */ float *pAlpha);
  
  void __RPC_STUB IMultiVMR9MixerControl_GetAlpha_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_SetAlpha_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID,
      /* [in] */ float Alpha);
  
  void __RPC_STUB IMultiVMR9MixerControl_SetAlpha_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_GetBackgroundColor_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [out] */ COLORREF *pColor);
  
  void __RPC_STUB IMultiVMR9MixerControl_GetBackgroundColor_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_SetBackgroundColor_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ COLORREF Color);
  
  void __RPC_STUB IMultiVMR9MixerControl_SetBackgroundColor_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_AddVideoSource_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID,
      /* [in] */ LONG lImageWidth,
      /* [in] */ LONG lImageHeight,
      /* [in] */ LONG lTextureWidth,
      /* [in] */ LONG lTextureHeight);
  
  void __RPC_STUB IMultiVMR9MixerControl_AddVideoSource_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  HRESULT STDMETHODCALLTYPE IMultiVMR9MixerControl_DeleteVideoSource_Proxy( 
      IMultiVMR9MixerControl * This,
      /* [in] */ DWORD_PTR dwID);
  
  void __RPC_STUB IMultiVMR9MixerControl_DeleteVideoSource_Stub(
      IRpcStubBuffer *This,
      IRpcChannelBuffer *_pRpcChannelBuffer,
      PRPC_MESSAGE _pRpcMessage,
      DWORD *_pdwStubPhase);
  
  endif         /* __IMultiVMR9MixerControl_INTERFACE_DEFINED__ */
  
  ifndef __MultiVMR9Lib_LIBRARY_DEFINED__
  define __MultiVMR9Lib_LIBRARY_DEFINED__
  
  /* library MultiVMR9Lib */
  /* [helpstring][version][uuid] */ 
  
  EXTERN_C const IID LIBID_MultiVMR9Lib;
  
  EXTERN_C const CLSID CLSID_MultiVMR9Wizard;
  
  ifdef __cplusplus
  
  

DECLSPEC_UUID("CE8ED243-0078-41A2-B56C-EC9CF0E887C2")


class DECLSPEC_UUID("CE8ED243-0078-41A2-B56C-EC9CF0E887C2") MultiVMR9Wizard; endif EXTERN_C const CLSID CLSID_MultiVMR9RenderEngine; ifdef __cplusplus

DECLSPEC_UUID("8BBB5505-250D-486D-BB49-F74141880490")


class DECLSPEC_UUID("8BBB5505-250D-486D-BB49-F74141880490") MultiVMR9RenderEngine; endif EXTERN_C const CLSID CLSID_MultiVMR9UILayer; ifdef __cplusplus

DECLSPEC_UUID("70A2E5FE-981E-4518-83C7-9324DC957DA4")


class DECLSPEC_UUID("70A2E5FE-981E-4518-83C7-9324DC957DA4") MultiVMR9UILayer; endif EXTERN_C const CLSID CLSID_MultiVMR9MixerControl; ifdef __cplusplus

DECLSPEC_UUID("BB22E7B6-54E1-4C4D-ABF7-99193550A3F4")


class DECLSPEC_UUID("BB22E7B6-54E1-4C4D-ABF7-99193550A3F4") MultiVMR9MixerControl; endif endif /* __MultiVMR9Lib_LIBRARY_DEFINED__ */ /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ ifdef __cplusplus } endif endif

(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script>

Hush Online Technology
hush@cs.vu.nl
03/12/09