home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the 3D Game Programming Gurus / gurus.iso / DirectX / dx9sdkcp.exe / SDK (C++) / Include / vmr9.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-12-04  |  95.6 KB  |  3,204 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0357 */
  8. /* Compiler settings for vmr9.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext, robust
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31. #ifndef COM_NO_WINDOWS_H
  32. #include "windows.h"
  33. #include "ole2.h"
  34. #endif /*COM_NO_WINDOWS_H*/
  35.  
  36. #ifndef __vmr9_h__
  37. #define __vmr9_h__
  38.  
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42.  
  43. /* Forward Declarations */ 
  44.  
  45. #ifndef __IVMRImagePresenter9_FWD_DEFINED__
  46. #define __IVMRImagePresenter9_FWD_DEFINED__
  47. typedef interface IVMRImagePresenter9 IVMRImagePresenter9;
  48. #endif     /* __IVMRImagePresenter9_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__
  52. #define __IVMRSurfaceAllocator9_FWD_DEFINED__
  53. typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9;
  54. #endif     /* __IVMRSurfaceAllocator9_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__
  58. #define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__
  59. typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9;
  60. #endif     /* __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ */
  61.  
  62.  
  63. #ifndef __IVMRWindowlessControl9_FWD_DEFINED__
  64. #define __IVMRWindowlessControl9_FWD_DEFINED__
  65. typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9;
  66. #endif     /* __IVMRWindowlessControl9_FWD_DEFINED__ */
  67.  
  68.  
  69. #ifndef __IVMRMixerControl9_FWD_DEFINED__
  70. #define __IVMRMixerControl9_FWD_DEFINED__
  71. typedef interface IVMRMixerControl9 IVMRMixerControl9;
  72. #endif     /* __IVMRMixerControl9_FWD_DEFINED__ */
  73.  
  74.  
  75. #ifndef __IVMRMixerBitmap9_FWD_DEFINED__
  76. #define __IVMRMixerBitmap9_FWD_DEFINED__
  77. typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9;
  78. #endif     /* __IVMRMixerBitmap9_FWD_DEFINED__ */
  79.  
  80.  
  81. #ifndef __IVMRSurface9_FWD_DEFINED__
  82. #define __IVMRSurface9_FWD_DEFINED__
  83. typedef interface IVMRSurface9 IVMRSurface9;
  84. #endif     /* __IVMRSurface9_FWD_DEFINED__ */
  85.  
  86.  
  87. #ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__
  88. #define __IVMRImagePresenterConfig9_FWD_DEFINED__
  89. typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9;
  90. #endif     /* __IVMRImagePresenterConfig9_FWD_DEFINED__ */
  91.  
  92.  
  93. #ifndef __IVMRVideoStreamControl9_FWD_DEFINED__
  94. #define __IVMRVideoStreamControl9_FWD_DEFINED__
  95. typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9;
  96. #endif     /* __IVMRVideoStreamControl9_FWD_DEFINED__ */
  97.  
  98.  
  99. #ifndef __IVMRFilterConfig9_FWD_DEFINED__
  100. #define __IVMRFilterConfig9_FWD_DEFINED__
  101. typedef interface IVMRFilterConfig9 IVMRFilterConfig9;
  102. #endif     /* __IVMRFilterConfig9_FWD_DEFINED__ */
  103.  
  104.  
  105. #ifndef __IVMRAspectRatioControl9_FWD_DEFINED__
  106. #define __IVMRAspectRatioControl9_FWD_DEFINED__
  107. typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9;
  108. #endif     /* __IVMRAspectRatioControl9_FWD_DEFINED__ */
  109.  
  110.  
  111. #ifndef __IVMRMonitorConfig9_FWD_DEFINED__
  112. #define __IVMRMonitorConfig9_FWD_DEFINED__
  113. typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9;
  114. #endif     /* __IVMRMonitorConfig9_FWD_DEFINED__ */
  115.  
  116.  
  117. #ifndef __IVMRDeinterlaceControl9_FWD_DEFINED__
  118. #define __IVMRDeinterlaceControl9_FWD_DEFINED__
  119. typedef interface IVMRDeinterlaceControl9 IVMRDeinterlaceControl9;
  120. #endif     /* __IVMRDeinterlaceControl9_FWD_DEFINED__ */
  121.  
  122.  
  123. #ifndef __IVMRImageCompositor9_FWD_DEFINED__
  124. #define __IVMRImageCompositor9_FWD_DEFINED__
  125. typedef interface IVMRImageCompositor9 IVMRImageCompositor9;
  126. #endif     /* __IVMRImageCompositor9_FWD_DEFINED__ */
  127.  
  128.  
  129. /* header files for imported files */
  130. #include "unknwn.h"
  131.  
  132. #ifdef __cplusplus
  133. extern "C"{
  134. #endif 
  135.  
  136. void * __RPC_USER MIDL_user_allocate(size_t);
  137. void __RPC_USER MIDL_user_free( void * ); 
  138.  
  139. /* interface __MIDL_itf_vmr9_0000 */
  140. /* [local] */ 
  141.  
  142. #if 0
  143. typedef DWORD IDirect3DDevice9;
  144.  
  145. typedef DWORD IDirect3DSurface9;
  146.  
  147. typedef DWORD D3DFORMAT;
  148.  
  149. typedef DWORD D3DCOLOR;
  150.  
  151. typedef DWORD D3DPOOL;
  152.  
  153. typedef LONGLONG REFERENCE_TIME;
  154.  
  155. typedef DWORD *HMONITOR;
  156.  
  157. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_vmr9_0000_0001
  158.     {
  159.     DWORD dw1;
  160.     DWORD dw2;
  161.     }     AM_MEDIA_TYPE;
  162.  
  163. #endif
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177. typedef /* [public] */ 
  178. enum __MIDL___MIDL_itf_vmr9_0000_0002
  179.     {    VMR9Sample_SyncPoint    = 0x1,
  180.     VMR9Sample_Preroll    = 0x2,
  181.     VMR9Sample_Discontinuity    = 0x4,
  182.     VMR9Sample_TimeValid    = 0x8
  183.     }     VMR9PresentationFlags;
  184.  
  185. typedef struct _VMR9PresentationInfo
  186.     {
  187.     DWORD dwFlags;
  188.     IDirect3DSurface9 *lpSurf;
  189.     REFERENCE_TIME rtStart;
  190.     REFERENCE_TIME rtEnd;
  191.     SIZE szAspectRatio;
  192.     RECT rcSrc;
  193.     RECT rcDst;
  194.     DWORD dwReserved1;
  195.     DWORD dwReserved2;
  196.     }     VMR9PresentationInfo;
  197.  
  198.  
  199.  
  200. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0000_v0_0_c_ifspec;
  201. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0000_v0_0_s_ifspec;
  202.  
  203. #ifndef __IVMRImagePresenter9_INTERFACE_DEFINED__
  204. #define __IVMRImagePresenter9_INTERFACE_DEFINED__
  205.  
  206. /* interface IVMRImagePresenter9 */
  207. /* [unique][helpstring][uuid][local][object][local] */ 
  208.  
  209.  
  210. EXTERN_C const IID IID_IVMRImagePresenter9;
  211.  
  212. #if defined(__cplusplus) && !defined(CINTERFACE)
  213.     
  214.     MIDL_INTERFACE("69188c61-12a3-40f0-8ffc-342e7b433fd7")
  215.     IVMRImagePresenter9 : public IUnknown
  216.     {
  217.     public:
  218.         virtual HRESULT STDMETHODCALLTYPE StartPresenting( 
  219.             /* [in] */ DWORD_PTR dwUserID) = 0;
  220.         
  221.         virtual HRESULT STDMETHODCALLTYPE StopPresenting( 
  222.             /* [in] */ DWORD_PTR dwUserID) = 0;
  223.         
  224.         virtual HRESULT STDMETHODCALLTYPE PresentImage( 
  225.             /* [in] */ DWORD_PTR dwUserID,
  226.             /* [in] */ VMR9PresentationInfo *lpPresInfo) = 0;
  227.         
  228.     };
  229.     
  230. #else     /* C style interface */
  231.  
  232.     typedef struct IVMRImagePresenter9Vtbl
  233.     {
  234.         BEGIN_INTERFACE
  235.         
  236.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  237.             IVMRImagePresenter9 * This,
  238.             /* [in] */ REFIID riid,
  239.             /* [iid_is][out] */ void **ppvObject);
  240.         
  241.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  242.             IVMRImagePresenter9 * This);
  243.         
  244.         ULONG ( STDMETHODCALLTYPE *Release )( 
  245.             IVMRImagePresenter9 * This);
  246.         
  247.         HRESULT ( STDMETHODCALLTYPE *StartPresenting )( 
  248.             IVMRImagePresenter9 * This,
  249.             /* [in] */ DWORD_PTR dwUserID);
  250.         
  251.         HRESULT ( STDMETHODCALLTYPE *StopPresenting )( 
  252.             IVMRImagePresenter9 * This,
  253.             /* [in] */ DWORD_PTR dwUserID);
  254.         
  255.         HRESULT ( STDMETHODCALLTYPE *PresentImage )( 
  256.             IVMRImagePresenter9 * This,
  257.             /* [in] */ DWORD_PTR dwUserID,
  258.             /* [in] */ VMR9PresentationInfo *lpPresInfo);
  259.         
  260.         END_INTERFACE
  261.     } IVMRImagePresenter9Vtbl;
  262.  
  263.     interface IVMRImagePresenter9
  264.     {
  265.         CONST_VTBL struct IVMRImagePresenter9Vtbl *lpVtbl;
  266.     };
  267.  
  268.     
  269.  
  270. #ifdef COBJMACROS
  271.  
  272.  
  273. #define IVMRImagePresenter9_QueryInterface(This,riid,ppvObject)    \
  274.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  275.  
  276. #define IVMRImagePresenter9_AddRef(This)    \
  277.     (This)->lpVtbl -> AddRef(This)
  278.  
  279. #define IVMRImagePresenter9_Release(This)    \
  280.     (This)->lpVtbl -> Release(This)
  281.  
  282.  
  283. #define IVMRImagePresenter9_StartPresenting(This,dwUserID)    \
  284.     (This)->lpVtbl -> StartPresenting(This,dwUserID)
  285.  
  286. #define IVMRImagePresenter9_StopPresenting(This,dwUserID)    \
  287.     (This)->lpVtbl -> StopPresenting(This,dwUserID)
  288.  
  289. #define IVMRImagePresenter9_PresentImage(This,dwUserID,lpPresInfo)    \
  290.     (This)->lpVtbl -> PresentImage(This,dwUserID,lpPresInfo)
  291.  
  292. #endif /* COBJMACROS */
  293.  
  294.  
  295. #endif     /* C style interface */
  296.  
  297.  
  298.  
  299. HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StartPresenting_Proxy( 
  300.     IVMRImagePresenter9 * This,
  301.     /* [in] */ DWORD_PTR dwUserID);
  302.  
  303.  
  304. void __RPC_STUB IVMRImagePresenter9_StartPresenting_Stub(
  305.     IRpcStubBuffer *This,
  306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  307.     PRPC_MESSAGE _pRpcMessage,
  308.     DWORD *_pdwStubPhase);
  309.  
  310.  
  311. HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StopPresenting_Proxy( 
  312.     IVMRImagePresenter9 * This,
  313.     /* [in] */ DWORD_PTR dwUserID);
  314.  
  315.  
  316. void __RPC_STUB IVMRImagePresenter9_StopPresenting_Stub(
  317.     IRpcStubBuffer *This,
  318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  319.     PRPC_MESSAGE _pRpcMessage,
  320.     DWORD *_pdwStubPhase);
  321.  
  322.  
  323. HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_PresentImage_Proxy( 
  324.     IVMRImagePresenter9 * This,
  325.     /* [in] */ DWORD_PTR dwUserID,
  326.     /* [in] */ VMR9PresentationInfo *lpPresInfo);
  327.  
  328.  
  329. void __RPC_STUB IVMRImagePresenter9_PresentImage_Stub(
  330.     IRpcStubBuffer *This,
  331.     IRpcChannelBuffer *_pRpcChannelBuffer,
  332.     PRPC_MESSAGE _pRpcMessage,
  333.     DWORD *_pdwStubPhase);
  334.  
  335.  
  336.  
  337. #endif     /* __IVMRImagePresenter9_INTERFACE_DEFINED__ */
  338.  
  339.  
  340. /* interface __MIDL_itf_vmr9_0009 */
  341. /* [local] */ 
  342.  
  343. typedef /* [public] */ 
  344. enum __MIDL___MIDL_itf_vmr9_0009_0001
  345.     {    VMR9AllocFlag_3DRenderTarget    = 0x1,
  346.     VMR9AllocFlag_DXVATarget    = 0x2,
  347.     VMR9AllocFlag_TextureSurface    = 0x4,
  348.     VMR9AllocFlag_OffscreenSurface    = 0x8,
  349.     VMR9AllocFlag_UsageReserved    = 0xf0,
  350.     VMR9AllocFlag_UsageMask    = 0xff
  351.     }     VMR9SurfaceAllocationFlags;
  352.  
  353. typedef struct _VMR9AllocationInfo
  354.     {
  355.     DWORD dwFlags;
  356.     DWORD dwWidth;
  357.     DWORD dwHeight;
  358.     D3DFORMAT Format;
  359.     D3DPOOL Pool;
  360.     DWORD MinBuffers;
  361.     SIZE szAspectRatio;
  362.     SIZE szNativeSize;
  363.     }     VMR9AllocationInfo;
  364.  
  365.  
  366.  
  367. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0009_v0_0_c_ifspec;
  368. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0009_v0_0_s_ifspec;
  369.  
  370. #ifndef __IVMRSurfaceAllocator9_INTERFACE_DEFINED__
  371. #define __IVMRSurfaceAllocator9_INTERFACE_DEFINED__
  372.  
  373. /* interface IVMRSurfaceAllocator9 */
  374. /* [unique][helpstring][uuid][local][object][local] */ 
  375.  
  376.  
  377. EXTERN_C const IID IID_IVMRSurfaceAllocator9;
  378.  
  379. #if defined(__cplusplus) && !defined(CINTERFACE)
  380.     
  381.     MIDL_INTERFACE("8d5148ea-3f5d-46cf-9df1-d1b896eedb1f")
  382.     IVMRSurfaceAllocator9 : public IUnknown
  383.     {
  384.     public:
  385.         virtual HRESULT STDMETHODCALLTYPE InitializeDevice( 
  386.             /* [in] */ DWORD_PTR dwUserID,
  387.             /* [in] */ VMR9AllocationInfo *lpAllocInfo,
  388.             /* [out][in] */ DWORD *lpNumBuffers) = 0;
  389.         
  390.         virtual HRESULT STDMETHODCALLTYPE TerminateDevice( 
  391.             /* [in] */ DWORD_PTR dwID) = 0;
  392.         
  393.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  394.             /* [in] */ DWORD_PTR dwUserID,
  395.             /* [in] */ DWORD SurfaceIndex,
  396.             /* [in] */ DWORD SurfaceFlags,
  397.             /* [out] */ IDirect3DSurface9 **lplpSurface) = 0;
  398.         
  399.         virtual HRESULT STDMETHODCALLTYPE AdviseNotify( 
  400.             /* [in] */ IVMRSurfaceAllocatorNotify9 *lpIVMRSurfAllocNotify) = 0;
  401.         
  402.     };
  403.     
  404. #else     /* C style interface */
  405.  
  406.     typedef struct IVMRSurfaceAllocator9Vtbl
  407.     {
  408.         BEGIN_INTERFACE
  409.         
  410.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  411.             IVMRSurfaceAllocator9 * This,
  412.             /* [in] */ REFIID riid,
  413.             /* [iid_is][out] */ void **ppvObject);
  414.         
  415.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  416.             IVMRSurfaceAllocator9 * This);
  417.         
  418.         ULONG ( STDMETHODCALLTYPE *Release )( 
  419.             IVMRSurfaceAllocator9 * This);
  420.         
  421.         HRESULT ( STDMETHODCALLTYPE *InitializeDevice )( 
  422.             IVMRSurfaceAllocator9 * This,
  423.             /* [in] */ DWORD_PTR dwUserID,
  424.             /* [in] */ VMR9AllocationInfo *lpAllocInfo,
  425.             /* [out][in] */ DWORD *lpNumBuffers);
  426.         
  427.         HRESULT ( STDMETHODCALLTYPE *TerminateDevice )( 
  428.             IVMRSurfaceAllocator9 * This,
  429.             /* [in] */ DWORD_PTR dwID);
  430.         
  431.         HRESULT ( STDMETHODCALLTYPE *GetSurface )( 
  432.             IVMRSurfaceAllocator9 * This,
  433.             /* [in] */ DWORD_PTR dwUserID,
  434.             /* [in] */ DWORD SurfaceIndex,
  435.             /* [in] */ DWORD SurfaceFlags,
  436.             /* [out] */ IDirect3DSurface9 **lplpSurface);
  437.         
  438.         HRESULT ( STDMETHODCALLTYPE *AdviseNotify )( 
  439.             IVMRSurfaceAllocator9 * This,
  440.             /* [in] */ IVMRSurfaceAllocatorNotify9 *lpIVMRSurfAllocNotify);
  441.         
  442.         END_INTERFACE
  443.     } IVMRSurfaceAllocator9Vtbl;
  444.  
  445.     interface IVMRSurfaceAllocator9
  446.     {
  447.         CONST_VTBL struct IVMRSurfaceAllocator9Vtbl *lpVtbl;
  448.     };
  449.  
  450.     
  451.  
  452. #ifdef COBJMACROS
  453.  
  454.  
  455. #define IVMRSurfaceAllocator9_QueryInterface(This,riid,ppvObject)    \
  456.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  457.  
  458. #define IVMRSurfaceAllocator9_AddRef(This)    \
  459.     (This)->lpVtbl -> AddRef(This)
  460.  
  461. #define IVMRSurfaceAllocator9_Release(This)    \
  462.     (This)->lpVtbl -> Release(This)
  463.  
  464.  
  465. #define IVMRSurfaceAllocator9_InitializeDevice(This,dwUserID,lpAllocInfo,lpNumBuffers)    \
  466.     (This)->lpVtbl -> InitializeDevice(This,dwUserID,lpAllocInfo,lpNumBuffers)
  467.  
  468. #define IVMRSurfaceAllocator9_TerminateDevice(This,dwID)    \
  469.     (This)->lpVtbl -> TerminateDevice(This,dwID)
  470.  
  471. #define IVMRSurfaceAllocator9_GetSurface(This,dwUserID,SurfaceIndex,SurfaceFlags,lplpSurface)    \
  472.     (This)->lpVtbl -> GetSurface(This,dwUserID,SurfaceIndex,SurfaceFlags,lplpSurface)
  473.  
  474. #define IVMRSurfaceAllocator9_AdviseNotify(This,lpIVMRSurfAllocNotify)    \
  475.     (This)->lpVtbl -> AdviseNotify(This,lpIVMRSurfAllocNotify)
  476.  
  477. #endif /* COBJMACROS */
  478.  
  479.  
  480. #endif     /* C style interface */
  481.  
  482.  
  483.  
  484. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_InitializeDevice_Proxy( 
  485.     IVMRSurfaceAllocator9 * This,
  486.     /* [in] */ DWORD_PTR dwUserID,
  487.     /* [in] */ VMR9AllocationInfo *lpAllocInfo,
  488.     /* [out][in] */ DWORD *lpNumBuffers);
  489.  
  490.  
  491. void __RPC_STUB IVMRSurfaceAllocator9_InitializeDevice_Stub(
  492.     IRpcStubBuffer *This,
  493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  494.     PRPC_MESSAGE _pRpcMessage,
  495.     DWORD *_pdwStubPhase);
  496.  
  497.  
  498. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_TerminateDevice_Proxy( 
  499.     IVMRSurfaceAllocator9 * This,
  500.     /* [in] */ DWORD_PTR dwID);
  501.  
  502.  
  503. void __RPC_STUB IVMRSurfaceAllocator9_TerminateDevice_Stub(
  504.     IRpcStubBuffer *This,
  505.     IRpcChannelBuffer *_pRpcChannelBuffer,
  506.     PRPC_MESSAGE _pRpcMessage,
  507.     DWORD *_pdwStubPhase);
  508.  
  509.  
  510. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_GetSurface_Proxy( 
  511.     IVMRSurfaceAllocator9 * This,
  512.     /* [in] */ DWORD_PTR dwUserID,
  513.     /* [in] */ DWORD SurfaceIndex,
  514.     /* [in] */ DWORD SurfaceFlags,
  515.     /* [out] */ IDirect3DSurface9 **lplpSurface);
  516.  
  517.  
  518. void __RPC_STUB IVMRSurfaceAllocator9_GetSurface_Stub(
  519.     IRpcStubBuffer *This,
  520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  521.     PRPC_MESSAGE _pRpcMessage,
  522.     DWORD *_pdwStubPhase);
  523.  
  524.  
  525. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_AdviseNotify_Proxy( 
  526.     IVMRSurfaceAllocator9 * This,
  527.     /* [in] */ IVMRSurfaceAllocatorNotify9 *lpIVMRSurfAllocNotify);
  528.  
  529.  
  530. void __RPC_STUB IVMRSurfaceAllocator9_AdviseNotify_Stub(
  531.     IRpcStubBuffer *This,
  532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  533.     PRPC_MESSAGE _pRpcMessage,
  534.     DWORD *_pdwStubPhase);
  535.  
  536.  
  537.  
  538. #endif     /* __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ */
  539.  
  540.  
  541. #ifndef __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__
  542. #define __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__
  543.  
  544. /* interface IVMRSurfaceAllocatorNotify9 */
  545. /* [unique][helpstring][uuid][local][object][local] */ 
  546.  
  547.  
  548. EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify9;
  549.  
  550. #if defined(__cplusplus) && !defined(CINTERFACE)
  551.     
  552.     MIDL_INTERFACE("dca3f5df-bb3a-4d03-bd81-84614bfbfa0c")
  553.     IVMRSurfaceAllocatorNotify9 : public IUnknown
  554.     {
  555.     public:
  556.         virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator( 
  557.             /* [in] */ DWORD_PTR dwUserID,
  558.             /* [in] */ IVMRSurfaceAllocator9 *lpIVRMSurfaceAllocator) = 0;
  559.         
  560.         virtual HRESULT STDMETHODCALLTYPE SetD3DDevice( 
  561.             /* [in] */ IDirect3DDevice9 *lpD3DDevice,
  562.             /* [in] */ HMONITOR hMonitor) = 0;
  563.         
  564.         virtual HRESULT STDMETHODCALLTYPE ChangeD3DDevice( 
  565.             /* [in] */ IDirect3DDevice9 *lpD3DDevice,
  566.             /* [in] */ HMONITOR hMonitor) = 0;
  567.         
  568.         virtual HRESULT STDMETHODCALLTYPE AllocateSurfaceHelper( 
  569.             /* [in] */ VMR9AllocationInfo *lpAllocInfo,
  570.             /* [out][in] */ DWORD *lpNumBuffers,
  571.             /* [out] */ IDirect3DSurface9 **lplpSurface) = 0;
  572.         
  573.         virtual HRESULT STDMETHODCALLTYPE NotifyEvent( 
  574.             /* [in] */ LONG EventCode,
  575.             /* [in] */ LONG_PTR Param1,
  576.             /* [in] */ LONG_PTR Param2) = 0;
  577.         
  578.     };
  579.     
  580. #else     /* C style interface */
  581.  
  582.     typedef struct IVMRSurfaceAllocatorNotify9Vtbl
  583.     {
  584.         BEGIN_INTERFACE
  585.         
  586.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  587.             IVMRSurfaceAllocatorNotify9 * This,
  588.             /* [in] */ REFIID riid,
  589.             /* [iid_is][out] */ void **ppvObject);
  590.         
  591.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  592.             IVMRSurfaceAllocatorNotify9 * This);
  593.         
  594.         ULONG ( STDMETHODCALLTYPE *Release )( 
  595.             IVMRSurfaceAllocatorNotify9 * This);
  596.         
  597.         HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )( 
  598.             IVMRSurfaceAllocatorNotify9 * This,
  599.             /* [in] */ DWORD_PTR dwUserID,
  600.             /* [in] */ IVMRSurfaceAllocator9 *lpIVRMSurfaceAllocator);
  601.         
  602.         HRESULT ( STDMETHODCALLTYPE *SetD3DDevice )( 
  603.             IVMRSurfaceAllocatorNotify9 * This,
  604.             /* [in] */ IDirect3DDevice9 *lpD3DDevice,
  605.             /* [in] */ HMONITOR hMonitor);
  606.         
  607.         HRESULT ( STDMETHODCALLTYPE *ChangeD3DDevice )( 
  608.             IVMRSurfaceAllocatorNotify9 * This,
  609.             /* [in] */ IDirect3DDevice9 *lpD3DDevice,
  610.             /* [in] */ HMONITOR hMonitor);
  611.         
  612.         HRESULT ( STDMETHODCALLTYPE *AllocateSurfaceHelper )( 
  613.             IVMRSurfaceAllocatorNotify9 * This,
  614.             /* [in] */ VMR9AllocationInfo *lpAllocInfo,
  615.             /* [out][in] */ DWORD *lpNumBuffers,
  616.             /* [out] */ IDirect3DSurface9 **lplpSurface);
  617.         
  618.         HRESULT ( STDMETHODCALLTYPE *NotifyEvent )( 
  619.             IVMRSurfaceAllocatorNotify9 * This,
  620.             /* [in] */ LONG EventCode,
  621.             /* [in] */ LONG_PTR Param1,
  622.             /* [in] */ LONG_PTR Param2);
  623.         
  624.         END_INTERFACE
  625.     } IVMRSurfaceAllocatorNotify9Vtbl;
  626.  
  627.     interface IVMRSurfaceAllocatorNotify9
  628.     {
  629.         CONST_VTBL struct IVMRSurfaceAllocatorNotify9Vtbl *lpVtbl;
  630.     };
  631.  
  632.     
  633.  
  634. #ifdef COBJMACROS
  635.  
  636.  
  637. #define IVMRSurfaceAllocatorNotify9_QueryInterface(This,riid,ppvObject)    \
  638.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  639.  
  640. #define IVMRSurfaceAllocatorNotify9_AddRef(This)    \
  641.     (This)->lpVtbl -> AddRef(This)
  642.  
  643. #define IVMRSurfaceAllocatorNotify9_Release(This)    \
  644.     (This)->lpVtbl -> Release(This)
  645.  
  646.  
  647. #define IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)    \
  648.     (This)->lpVtbl -> AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
  649.  
  650. #define IVMRSurfaceAllocatorNotify9_SetD3DDevice(This,lpD3DDevice,hMonitor)    \
  651.     (This)->lpVtbl -> SetD3DDevice(This,lpD3DDevice,hMonitor)
  652.  
  653. #define IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(This,lpD3DDevice,hMonitor)    \
  654.     (This)->lpVtbl -> ChangeD3DDevice(This,lpD3DDevice,hMonitor)
  655.  
  656. #define IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(This,lpAllocInfo,lpNumBuffers,lplpSurface)    \
  657.     (This)->lpVtbl -> AllocateSurfaceHelper(This,lpAllocInfo,lpNumBuffers,lplpSurface)
  658.  
  659. #define IVMRSurfaceAllocatorNotify9_NotifyEvent(This,EventCode,Param1,Param2)    \
  660.     (This)->lpVtbl -> NotifyEvent(This,EventCode,Param1,Param2)
  661.  
  662. #endif /* COBJMACROS */
  663.  
  664.  
  665. #endif     /* C style interface */
  666.  
  667.  
  668.  
  669. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Proxy( 
  670.     IVMRSurfaceAllocatorNotify9 * This,
  671.     /* [in] */ DWORD_PTR dwUserID,
  672.     /* [in] */ IVMRSurfaceAllocator9 *lpIVRMSurfaceAllocator);
  673.  
  674.  
  675. void __RPC_STUB IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Stub(
  676.     IRpcStubBuffer *This,
  677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  678.     PRPC_MESSAGE _pRpcMessage,
  679.     DWORD *_pdwStubPhase);
  680.  
  681.  
  682. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_SetD3DDevice_Proxy( 
  683.     IVMRSurfaceAllocatorNotify9 * This,
  684.     /* [in] */ IDirect3DDevice9 *lpD3DDevice,
  685.     /* [in] */ HMONITOR hMonitor);
  686.  
  687.  
  688. void __RPC_STUB IVMRSurfaceAllocatorNotify9_SetD3DDevice_Stub(
  689.     IRpcStubBuffer *This,
  690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  691.     PRPC_MESSAGE _pRpcMessage,
  692.     DWORD *_pdwStubPhase);
  693.  
  694.  
  695. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Proxy( 
  696.     IVMRSurfaceAllocatorNotify9 * This,
  697.     /* [in] */ IDirect3DDevice9 *lpD3DDevice,
  698.     /* [in] */ HMONITOR hMonitor);
  699.  
  700.  
  701. void __RPC_STUB IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Stub(
  702.     IRpcStubBuffer *This,
  703.     IRpcChannelBuffer *_pRpcChannelBuffer,
  704.     PRPC_MESSAGE _pRpcMessage,
  705.     DWORD *_pdwStubPhase);
  706.  
  707.  
  708. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Proxy( 
  709.     IVMRSurfaceAllocatorNotify9 * This,
  710.     /* [in] */ VMR9AllocationInfo *lpAllocInfo,
  711.     /* [out][in] */ DWORD *lpNumBuffers,
  712.     /* [out] */ IDirect3DSurface9 **lplpSurface);
  713.  
  714.  
  715. void __RPC_STUB IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Stub(
  716.     IRpcStubBuffer *This,
  717.     IRpcChannelBuffer *_pRpcChannelBuffer,
  718.     PRPC_MESSAGE _pRpcMessage,
  719.     DWORD *_pdwStubPhase);
  720.  
  721.  
  722. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_NotifyEvent_Proxy( 
  723.     IVMRSurfaceAllocatorNotify9 * This,
  724.     /* [in] */ LONG EventCode,
  725.     /* [in] */ LONG_PTR Param1,
  726.     /* [in] */ LONG_PTR Param2);
  727.  
  728.  
  729. void __RPC_STUB IVMRSurfaceAllocatorNotify9_NotifyEvent_Stub(
  730.     IRpcStubBuffer *This,
  731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  732.     PRPC_MESSAGE _pRpcMessage,
  733.     DWORD *_pdwStubPhase);
  734.  
  735.  
  736.  
  737. #endif     /* __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ */
  738.  
  739.  
  740. /* interface __MIDL_itf_vmr9_0011 */
  741. /* [local] */ 
  742.  
  743. typedef /* [public] */ 
  744. enum __MIDL___MIDL_itf_vmr9_0011_0001
  745.     {    VMR9ARMode_None    = 0,
  746.     VMR9ARMode_LetterBox    = VMR9ARMode_None + 1
  747.     }     VMR9AspectRatioMode;
  748.  
  749.  
  750.  
  751. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0011_v0_0_c_ifspec;
  752. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0011_v0_0_s_ifspec;
  753.  
  754. #ifndef __IVMRWindowlessControl9_INTERFACE_DEFINED__
  755. #define __IVMRWindowlessControl9_INTERFACE_DEFINED__
  756.  
  757. /* interface IVMRWindowlessControl9 */
  758. /* [unique][helpstring][uuid][local][object][local] */ 
  759.  
  760.  
  761. EXTERN_C const IID IID_IVMRWindowlessControl9;
  762.  
  763. #if defined(__cplusplus) && !defined(CINTERFACE)
  764.     
  765.     MIDL_INTERFACE("8f537d09-f85e-4414-b23b-502e54c79927")
  766.     IVMRWindowlessControl9 : public IUnknown
  767.     {
  768.     public:
  769.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( 
  770.             /* [out] */ LONG *lpWidth,
  771.             /* [out] */ LONG *lpHeight,
  772.             /* [out] */ LONG *lpARWidth,
  773.             /* [out] */ LONG *lpARHeight) = 0;
  774.         
  775.         virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize( 
  776.             /* [out] */ LONG *lpWidth,
  777.             /* [out] */ LONG *lpHeight) = 0;
  778.         
  779.         virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize( 
  780.             /* [out] */ LONG *lpWidth,
  781.             /* [out] */ LONG *lpHeight) = 0;
  782.         
  783.         virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( 
  784.             /* [in] */ const LPRECT lpSRCRect,
  785.             /* [in] */ const LPRECT lpDSTRect) = 0;
  786.         
  787.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  788.             /* [out] */ LPRECT lpSRCRect,
  789.             /* [out] */ LPRECT lpDSTRect) = 0;
  790.         
  791.         virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 
  792.             /* [out] */ DWORD *lpAspectRatioMode) = 0;
  793.         
  794.         virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 
  795.             /* [in] */ DWORD AspectRatioMode) = 0;
  796.         
  797.         virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow( 
  798.             /* [in] */ HWND hwnd) = 0;
  799.         
  800.         virtual HRESULT STDMETHODCALLTYPE RepaintVideo( 
  801.             /* [in] */ HWND hwnd,
  802.             /* [in] */ HDC hdc) = 0;
  803.         
  804.         virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;
  805.         
  806.         virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( 
  807.             /* [out] */ BYTE **lpDib) = 0;
  808.         
  809.         virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 
  810.             /* [in] */ COLORREF Clr) = 0;
  811.         
  812.         virtual HRESULT STDMETHODCALLTYPE GetBorderColor( 
  813.             /* [out] */ COLORREF *lpClr) = 0;
  814.         
  815.     };
  816.     
  817. #else     /* C style interface */
  818.  
  819.     typedef struct IVMRWindowlessControl9Vtbl
  820.     {
  821.         BEGIN_INTERFACE
  822.         
  823.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  824.             IVMRWindowlessControl9 * This,
  825.             /* [in] */ REFIID riid,
  826.             /* [iid_is][out] */ void **ppvObject);
  827.         
  828.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  829.             IVMRWindowlessControl9 * This);
  830.         
  831.         ULONG ( STDMETHODCALLTYPE *Release )( 
  832.             IVMRWindowlessControl9 * This);
  833.         
  834.         HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )( 
  835.             IVMRWindowlessControl9 * This,
  836.             /* [out] */ LONG *lpWidth,
  837.             /* [out] */ LONG *lpHeight,
  838.             /* [out] */ LONG *lpARWidth,
  839.             /* [out] */ LONG *lpARHeight);
  840.         
  841.         HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )( 
  842.             IVMRWindowlessControl9 * This,
  843.             /* [out] */ LONG *lpWidth,
  844.             /* [out] */ LONG *lpHeight);
  845.         
  846.         HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )( 
  847.             IVMRWindowlessControl9 * This,
  848.             /* [out] */ LONG *lpWidth,
  849.             /* [out] */ LONG *lpHeight);
  850.         
  851.         HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )( 
  852.             IVMRWindowlessControl9 * This,
  853.             /* [in] */ const LPRECT lpSRCRect,
  854.             /* [in] */ const LPRECT lpDSTRect);
  855.         
  856.         HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( 
  857.             IVMRWindowlessControl9 * This,
  858.             /* [out] */ LPRECT lpSRCRect,
  859.             /* [out] */ LPRECT lpDSTRect);
  860.         
  861.         HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( 
  862.             IVMRWindowlessControl9 * This,
  863.             /* [out] */ DWORD *lpAspectRatioMode);
  864.         
  865.         HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( 
  866.             IVMRWindowlessControl9 * This,
  867.             /* [in] */ DWORD AspectRatioMode);
  868.         
  869.         HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )( 
  870.             IVMRWindowlessControl9 * This,
  871.             /* [in] */ HWND hwnd);
  872.         
  873.         HRESULT ( STDMETHODCALLTYPE *RepaintVideo )( 
  874.             IVMRWindowlessControl9 * This,
  875.             /* [in] */ HWND hwnd,
  876.             /* [in] */ HDC hdc);
  877.         
  878.         HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )( 
  879.             IVMRWindowlessControl9 * This);
  880.         
  881.         HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( 
  882.             IVMRWindowlessControl9 * This,
  883.             /* [out] */ BYTE **lpDib);
  884.         
  885.         HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( 
  886.             IVMRWindowlessControl9 * This,
  887.             /* [in] */ COLORREF Clr);
  888.         
  889.         HRESULT ( STDMETHODCALLTYPE *GetBorderColor )( 
  890.             IVMRWindowlessControl9 * This,
  891.             /* [out] */ COLORREF *lpClr);
  892.         
  893.         END_INTERFACE
  894.     } IVMRWindowlessControl9Vtbl;
  895.  
  896.     interface IVMRWindowlessControl9
  897.     {
  898.         CONST_VTBL struct IVMRWindowlessControl9Vtbl *lpVtbl;
  899.     };
  900.  
  901.     
  902.  
  903. #ifdef COBJMACROS
  904.  
  905.  
  906. #define IVMRWindowlessControl9_QueryInterface(This,riid,ppvObject)    \
  907.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  908.  
  909. #define IVMRWindowlessControl9_AddRef(This)    \
  910.     (This)->lpVtbl -> AddRef(This)
  911.  
  912. #define IVMRWindowlessControl9_Release(This)    \
  913.     (This)->lpVtbl -> Release(This)
  914.  
  915.  
  916. #define IVMRWindowlessControl9_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)    \
  917.     (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
  918.  
  919. #define IVMRWindowlessControl9_GetMinIdealVideoSize(This,lpWidth,lpHeight)    \
  920.     (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight)
  921.  
  922. #define IVMRWindowlessControl9_GetMaxIdealVideoSize(This,lpWidth,lpHeight)    \
  923.     (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight)
  924.  
  925. #define IVMRWindowlessControl9_SetVideoPosition(This,lpSRCRect,lpDSTRect)    \
  926.     (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect)
  927.  
  928. #define IVMRWindowlessControl9_GetVideoPosition(This,lpSRCRect,lpDSTRect)    \
  929.     (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect)
  930.  
  931. #define IVMRWindowlessControl9_GetAspectRatioMode(This,lpAspectRatioMode)    \
  932.     (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode)
  933.  
  934. #define IVMRWindowlessControl9_SetAspectRatioMode(This,AspectRatioMode)    \
  935.     (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode)
  936.  
  937. #define IVMRWindowlessControl9_SetVideoClippingWindow(This,hwnd)    \
  938.     (This)->lpVtbl -> SetVideoClippingWindow(This,hwnd)
  939.  
  940. #define IVMRWindowlessControl9_RepaintVideo(This,hwnd,hdc)    \
  941.     (This)->lpVtbl -> RepaintVideo(This,hwnd,hdc)
  942.  
  943. #define IVMRWindowlessControl9_DisplayModeChanged(This)    \
  944.     (This)->lpVtbl -> DisplayModeChanged(This)
  945.  
  946. #define IVMRWindowlessControl9_GetCurrentImage(This,lpDib)    \
  947.     (This)->lpVtbl -> GetCurrentImage(This,lpDib)
  948.  
  949. #define IVMRWindowlessControl9_SetBorderColor(This,Clr)    \
  950.     (This)->lpVtbl -> SetBorderColor(This,Clr)
  951.  
  952. #define IVMRWindowlessControl9_GetBorderColor(This,lpClr)    \
  953.     (This)->lpVtbl -> GetBorderColor(This,lpClr)
  954.  
  955. #endif /* COBJMACROS */
  956.  
  957.  
  958. #endif     /* C style interface */
  959.  
  960.  
  961.  
  962. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetNativeVideoSize_Proxy( 
  963.     IVMRWindowlessControl9 * This,
  964.     /* [out] */ LONG *lpWidth,
  965.     /* [out] */ LONG *lpHeight,
  966.     /* [out] */ LONG *lpARWidth,
  967.     /* [out] */ LONG *lpARHeight);
  968.  
  969.  
  970. void __RPC_STUB IVMRWindowlessControl9_GetNativeVideoSize_Stub(
  971.     IRpcStubBuffer *This,
  972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  973.     PRPC_MESSAGE _pRpcMessage,
  974.     DWORD *_pdwStubPhase);
  975.  
  976.  
  977. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMinIdealVideoSize_Proxy( 
  978.     IVMRWindowlessControl9 * This,
  979.     /* [out] */ LONG *lpWidth,
  980.     /* [out] */ LONG *lpHeight);
  981.  
  982.  
  983. void __RPC_STUB IVMRWindowlessControl9_GetMinIdealVideoSize_Stub(
  984.     IRpcStubBuffer *This,
  985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  986.     PRPC_MESSAGE _pRpcMessage,
  987.     DWORD *_pdwStubPhase);
  988.  
  989.  
  990. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMaxIdealVideoSize_Proxy( 
  991.     IVMRWindowlessControl9 * This,
  992.     /* [out] */ LONG *lpWidth,
  993.     /* [out] */ LONG *lpHeight);
  994.  
  995.  
  996. void __RPC_STUB IVMRWindowlessControl9_GetMaxIdealVideoSize_Stub(
  997.     IRpcStubBuffer *This,
  998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  999.     PRPC_MESSAGE _pRpcMessage,
  1000.     DWORD *_pdwStubPhase);
  1001.  
  1002.  
  1003. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoPosition_Proxy( 
  1004.     IVMRWindowlessControl9 * This,
  1005.     /* [in] */ const LPRECT lpSRCRect,
  1006.     /* [in] */ const LPRECT lpDSTRect);
  1007.  
  1008.  
  1009. void __RPC_STUB IVMRWindowlessControl9_SetVideoPosition_Stub(
  1010.     IRpcStubBuffer *This,
  1011.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1012.     PRPC_MESSAGE _pRpcMessage,
  1013.     DWORD *_pdwStubPhase);
  1014.  
  1015.  
  1016. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetVideoPosition_Proxy( 
  1017.     IVMRWindowlessControl9 * This,
  1018.     /* [out] */ LPRECT lpSRCRect,
  1019.     /* [out] */ LPRECT lpDSTRect);
  1020.  
  1021.  
  1022. void __RPC_STUB IVMRWindowlessControl9_GetVideoPosition_Stub(
  1023.     IRpcStubBuffer *This,
  1024.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1025.     PRPC_MESSAGE _pRpcMessage,
  1026.     DWORD *_pdwStubPhase);
  1027.  
  1028.  
  1029. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetAspectRatioMode_Proxy( 
  1030.     IVMRWindowlessControl9 * This,
  1031.     /* [out] */ DWORD *lpAspectRatioMode);
  1032.  
  1033.  
  1034. void __RPC_STUB IVMRWindowlessControl9_GetAspectRatioMode_Stub(
  1035.     IRpcStubBuffer *This,
  1036.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1037.     PRPC_MESSAGE _pRpcMessage,
  1038.     DWORD *_pdwStubPhase);
  1039.  
  1040.  
  1041. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetAspectRatioMode_Proxy( 
  1042.     IVMRWindowlessControl9 * This,
  1043.     /* [in] */ DWORD AspectRatioMode);
  1044.  
  1045.  
  1046. void __RPC_STUB IVMRWindowlessControl9_SetAspectRatioMode_Stub(
  1047.     IRpcStubBuffer *This,
  1048.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1049.     PRPC_MESSAGE _pRpcMessage,
  1050.     DWORD *_pdwStubPhase);
  1051.  
  1052.  
  1053. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoClippingWindow_Proxy( 
  1054.     IVMRWindowlessControl9 * This,
  1055.     /* [in] */ HWND hwnd);
  1056.  
  1057.  
  1058. void __RPC_STUB IVMRWindowlessControl9_SetVideoClippingWindow_Stub(
  1059.     IRpcStubBuffer *This,
  1060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1061.     PRPC_MESSAGE _pRpcMessage,
  1062.     DWORD *_pdwStubPhase);
  1063.  
  1064.  
  1065. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_RepaintVideo_Proxy( 
  1066.     IVMRWindowlessControl9 * This,
  1067.     /* [in] */ HWND hwnd,
  1068.     /* [in] */ HDC hdc);
  1069.  
  1070.  
  1071. void __RPC_STUB IVMRWindowlessControl9_RepaintVideo_Stub(
  1072.     IRpcStubBuffer *This,
  1073.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1074.     PRPC_MESSAGE _pRpcMessage,
  1075.     DWORD *_pdwStubPhase);
  1076.  
  1077.  
  1078. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_DisplayModeChanged_Proxy( 
  1079.     IVMRWindowlessControl9 * This);
  1080.  
  1081.  
  1082. void __RPC_STUB IVMRWindowlessControl9_DisplayModeChanged_Stub(
  1083.     IRpcStubBuffer *This,
  1084.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1085.     PRPC_MESSAGE _pRpcMessage,
  1086.     DWORD *_pdwStubPhase);
  1087.  
  1088.  
  1089. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetCurrentImage_Proxy( 
  1090.     IVMRWindowlessControl9 * This,
  1091.     /* [out] */ BYTE **lpDib);
  1092.  
  1093.  
  1094. void __RPC_STUB IVMRWindowlessControl9_GetCurrentImage_Stub(
  1095.     IRpcStubBuffer *This,
  1096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1097.     PRPC_MESSAGE _pRpcMessage,
  1098.     DWORD *_pdwStubPhase);
  1099.  
  1100.  
  1101. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetBorderColor_Proxy( 
  1102.     IVMRWindowlessControl9 * This,
  1103.     /* [in] */ COLORREF Clr);
  1104.  
  1105.  
  1106. void __RPC_STUB IVMRWindowlessControl9_SetBorderColor_Stub(
  1107.     IRpcStubBuffer *This,
  1108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1109.     PRPC_MESSAGE _pRpcMessage,
  1110.     DWORD *_pdwStubPhase);
  1111.  
  1112.  
  1113. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetBorderColor_Proxy( 
  1114.     IVMRWindowlessControl9 * This,
  1115.     /* [out] */ COLORREF *lpClr);
  1116.  
  1117.  
  1118. void __RPC_STUB IVMRWindowlessControl9_GetBorderColor_Stub(
  1119.     IRpcStubBuffer *This,
  1120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1121.     PRPC_MESSAGE _pRpcMessage,
  1122.     DWORD *_pdwStubPhase);
  1123.  
  1124.  
  1125.  
  1126. #endif     /* __IVMRWindowlessControl9_INTERFACE_DEFINED__ */
  1127.  
  1128.  
  1129. /* interface __MIDL_itf_vmr9_0012 */
  1130. /* [local] */ 
  1131.  
  1132. typedef /* [public] */ 
  1133. enum __MIDL___MIDL_itf_vmr9_0012_0001
  1134.     {    MixerPref9_NoDecimation    = 0x1,
  1135.     MixerPref9_DecimateOutput    = 0x2,
  1136.     MixerPref9_DecimationReserved    = 0xc,
  1137.     MixerPref9_DecimateMask    = 0xf,
  1138.     MixerPref9_BiLinearFiltering    = 0x10,
  1139.     MixerPref9_PointFiltering    = 0x20,
  1140.     MixerPref9_AnisotropicFiltering    = 0x40,
  1141.     MixerPref9_PyramidalQuadFiltering    = 0x80,
  1142.     MixerPref9_GaussianQuadFiltering    = 0x100,
  1143.     MixerPref9_FilteringReserved    = 0xe00,
  1144.     MixerPref9_FilteringMask    = 0xff0,
  1145.     MixerPref9_RenderTargetRGB    = 0x1000,
  1146.     MixerPref9_RenderTargetReserved    = 0xfe000,
  1147.     MixerPref9_RenderTargetMask    = 0xff000
  1148.     }     VMR9MixerPrefs;
  1149.  
  1150. typedef struct _VMR9NormalizedRect
  1151.     {
  1152.     float left;
  1153.     float top;
  1154.     float right;
  1155.     float bottom;
  1156.     }     VMR9NormalizedRect;
  1157.  
  1158. typedef /* [public][public][public] */ 
  1159. enum __MIDL___MIDL_itf_vmr9_0012_0002
  1160.     {    ProcAmpControl9_Brightness    = 0x1,
  1161.     ProcAmpControl9_Contrast    = 0x2,
  1162.     ProcAmpControl9_Hue    = 0x4,
  1163.     ProcAmpControl9_Saturation    = 0x8,
  1164.     ProcAmpControl9_Mask    = 0xf
  1165.     }     VMR9ProcAmpControlFlags;
  1166.  
  1167. typedef struct _VMR9ProcAmpControl
  1168.     {
  1169.     DWORD dwSize;
  1170.     DWORD dwFlags;
  1171.     float Brightness;
  1172.     float Contrast;
  1173.     float Hue;
  1174.     float Saturation;
  1175.     }     VMR9ProcAmpControl;
  1176.  
  1177. typedef struct _VMR9ProcAmpControlRange
  1178.     {
  1179.     DWORD dwSize;
  1180.     VMR9ProcAmpControlFlags dwProperty;
  1181.     float MinValue;
  1182.     float MaxValue;
  1183.     float DefaultValue;
  1184.     float StepSize;
  1185.     }     VMR9ProcAmpControlRange;
  1186.  
  1187.  
  1188.  
  1189. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0012_v0_0_c_ifspec;
  1190. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0012_v0_0_s_ifspec;
  1191.  
  1192. #ifndef __IVMRMixerControl9_INTERFACE_DEFINED__
  1193. #define __IVMRMixerControl9_INTERFACE_DEFINED__
  1194.  
  1195. /* interface IVMRMixerControl9 */
  1196. /* [unique][helpstring][uuid][local][object][local] */ 
  1197.  
  1198.  
  1199. EXTERN_C const IID IID_IVMRMixerControl9;
  1200.  
  1201. #if defined(__cplusplus) && !defined(CINTERFACE)
  1202.     
  1203.     MIDL_INTERFACE("1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b")
  1204.     IVMRMixerControl9 : public IUnknown
  1205.     {
  1206.     public:
  1207.         virtual HRESULT STDMETHODCALLTYPE SetAlpha( 
  1208.             /* [in] */ DWORD dwStreamID,
  1209.             /* [in] */ float Alpha) = 0;
  1210.         
  1211.         virtual HRESULT STDMETHODCALLTYPE GetAlpha( 
  1212.             /* [in] */ DWORD dwStreamID,
  1213.             /* [out] */ float *pAlpha) = 0;
  1214.         
  1215.         virtual HRESULT STDMETHODCALLTYPE SetZOrder( 
  1216.             /* [in] */ DWORD dwStreamID,
  1217.             /* [in] */ DWORD dwZ) = 0;
  1218.         
  1219.         virtual HRESULT STDMETHODCALLTYPE GetZOrder( 
  1220.             /* [in] */ DWORD dwStreamID,
  1221.             /* [out] */ DWORD *pZ) = 0;
  1222.         
  1223.         virtual HRESULT STDMETHODCALLTYPE SetOutputRect( 
  1224.             /* [in] */ DWORD dwStreamID,
  1225.             /* [in] */ const VMR9NormalizedRect *pRect) = 0;
  1226.         
  1227.         virtual HRESULT STDMETHODCALLTYPE GetOutputRect( 
  1228.             /* [in] */ DWORD dwStreamID,
  1229.             /* [out] */ VMR9NormalizedRect *pRect) = 0;
  1230.         
  1231.         virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr( 
  1232.             /* [in] */ COLORREF ClrBkg) = 0;
  1233.         
  1234.         virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr( 
  1235.             /* [in] */ COLORREF *lpClrBkg) = 0;
  1236.         
  1237.         virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( 
  1238.             /* [in] */ DWORD dwMixerPrefs) = 0;
  1239.         
  1240.         virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( 
  1241.             /* [out] */ DWORD *pdwMixerPrefs) = 0;
  1242.         
  1243.         virtual HRESULT STDMETHODCALLTYPE SetProcAmpControl( 
  1244.             /* [in] */ DWORD dwStreamID,
  1245.             /* [in] */ VMR9ProcAmpControl *lpClrControl) = 0;
  1246.         
  1247.         virtual HRESULT STDMETHODCALLTYPE GetProcAmpControl( 
  1248.             /* [in] */ DWORD dwStreamID,
  1249.             /* [out][in] */ VMR9ProcAmpControl *lpClrControl) = 0;
  1250.         
  1251.         virtual HRESULT STDMETHODCALLTYPE GetProcAmpControlRange( 
  1252.             /* [in] */ DWORD dwStreamID,
  1253.             /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl) = 0;
  1254.         
  1255.     };
  1256.     
  1257. #else     /* C style interface */
  1258.  
  1259.     typedef struct IVMRMixerControl9Vtbl
  1260.     {
  1261.         BEGIN_INTERFACE
  1262.         
  1263.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1264.             IVMRMixerControl9 * This,
  1265.             /* [in] */ REFIID riid,
  1266.             /* [iid_is][out] */ void **ppvObject);
  1267.         
  1268.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1269.             IVMRMixerControl9 * This);
  1270.         
  1271.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1272.             IVMRMixerControl9 * This);
  1273.         
  1274.         HRESULT ( STDMETHODCALLTYPE *SetAlpha )( 
  1275.             IVMRMixerControl9 * This,
  1276.             /* [in] */ DWORD dwStreamID,
  1277.             /* [in] */ float Alpha);
  1278.         
  1279.         HRESULT ( STDMETHODCALLTYPE *GetAlpha )( 
  1280.             IVMRMixerControl9 * This,
  1281.             /* [in] */ DWORD dwStreamID,
  1282.             /* [out] */ float *pAlpha);
  1283.         
  1284.         HRESULT ( STDMETHODCALLTYPE *SetZOrder )( 
  1285.             IVMRMixerControl9 * This,
  1286.             /* [in] */ DWORD dwStreamID,
  1287.             /* [in] */ DWORD dwZ);
  1288.         
  1289.         HRESULT ( STDMETHODCALLTYPE *GetZOrder )( 
  1290.             IVMRMixerControl9 * This,
  1291.             /* [in] */ DWORD dwStreamID,
  1292.             /* [out] */ DWORD *pZ);
  1293.         
  1294.         HRESULT ( STDMETHODCALLTYPE *SetOutputRect )( 
  1295.             IVMRMixerControl9 * This,
  1296.             /* [in] */ DWORD dwStreamID,
  1297.             /* [in] */ const VMR9NormalizedRect *pRect);
  1298.         
  1299.         HRESULT ( STDMETHODCALLTYPE *GetOutputRect )( 
  1300.             IVMRMixerControl9 * This,
  1301.             /* [in] */ DWORD dwStreamID,
  1302.             /* [out] */ VMR9NormalizedRect *pRect);
  1303.         
  1304.         HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )( 
  1305.             IVMRMixerControl9 * This,
  1306.             /* [in] */ COLORREF ClrBkg);
  1307.         
  1308.         HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )( 
  1309.             IVMRMixerControl9 * This,
  1310.             /* [in] */ COLORREF *lpClrBkg);
  1311.         
  1312.         HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )( 
  1313.             IVMRMixerControl9 * This,
  1314.             /* [in] */ DWORD dwMixerPrefs);
  1315.         
  1316.         HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )( 
  1317.             IVMRMixerControl9 * This,
  1318.             /* [out] */ DWORD *pdwMixerPrefs);
  1319.         
  1320.         HRESULT ( STDMETHODCALLTYPE *SetProcAmpControl )( 
  1321.             IVMRMixerControl9 * This,
  1322.             /* [in] */ DWORD dwStreamID,
  1323.             /* [in] */ VMR9ProcAmpControl *lpClrControl);
  1324.         
  1325.         HRESULT ( STDMETHODCALLTYPE *GetProcAmpControl )( 
  1326.             IVMRMixerControl9 * This,
  1327.             /* [in] */ DWORD dwStreamID,
  1328.             /* [out][in] */ VMR9ProcAmpControl *lpClrControl);
  1329.         
  1330.         HRESULT ( STDMETHODCALLTYPE *GetProcAmpControlRange )( 
  1331.             IVMRMixerControl9 * This,
  1332.             /* [in] */ DWORD dwStreamID,
  1333.             /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl);
  1334.         
  1335.         END_INTERFACE
  1336.     } IVMRMixerControl9Vtbl;
  1337.  
  1338.     interface IVMRMixerControl9
  1339.     {
  1340.         CONST_VTBL struct IVMRMixerControl9Vtbl *lpVtbl;
  1341.     };
  1342.  
  1343.     
  1344.  
  1345. #ifdef COBJMACROS
  1346.  
  1347.  
  1348. #define IVMRMixerControl9_QueryInterface(This,riid,ppvObject)    \
  1349.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1350.  
  1351. #define IVMRMixerControl9_AddRef(This)    \
  1352.     (This)->lpVtbl -> AddRef(This)
  1353.  
  1354. #define IVMRMixerControl9_Release(This)    \
  1355.     (This)->lpVtbl -> Release(This)
  1356.  
  1357.  
  1358. #define IVMRMixerControl9_SetAlpha(This,dwStreamID,Alpha)    \
  1359.     (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha)
  1360.  
  1361. #define IVMRMixerControl9_GetAlpha(This,dwStreamID,pAlpha)    \
  1362.     (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha)
  1363.  
  1364. #define IVMRMixerControl9_SetZOrder(This,dwStreamID,dwZ)    \
  1365.     (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ)
  1366.  
  1367. #define IVMRMixerControl9_GetZOrder(This,dwStreamID,pZ)    \
  1368.     (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ)
  1369.  
  1370. #define IVMRMixerControl9_SetOutputRect(This,dwStreamID,pRect)    \
  1371.     (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect)
  1372.  
  1373. #define IVMRMixerControl9_GetOutputRect(This,dwStreamID,pRect)    \
  1374.     (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect)
  1375.  
  1376. #define IVMRMixerControl9_SetBackgroundClr(This,ClrBkg)    \
  1377.     (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg)
  1378.  
  1379. #define IVMRMixerControl9_GetBackgroundClr(This,lpClrBkg)    \
  1380.     (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg)
  1381.  
  1382. #define IVMRMixerControl9_SetMixingPrefs(This,dwMixerPrefs)    \
  1383.     (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs)
  1384.  
  1385. #define IVMRMixerControl9_GetMixingPrefs(This,pdwMixerPrefs)    \
  1386.     (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs)
  1387.  
  1388. #define IVMRMixerControl9_SetProcAmpControl(This,dwStreamID,lpClrControl)    \
  1389.     (This)->lpVtbl -> SetProcAmpControl(This,dwStreamID,lpClrControl)
  1390.  
  1391. #define IVMRMixerControl9_GetProcAmpControl(This,dwStreamID,lpClrControl)    \
  1392.     (This)->lpVtbl -> GetProcAmpControl(This,dwStreamID,lpClrControl)
  1393.  
  1394. #define IVMRMixerControl9_GetProcAmpControlRange(This,dwStreamID,lpClrControl)    \
  1395.     (This)->lpVtbl -> GetProcAmpControlRange(This,dwStreamID,lpClrControl)
  1396.  
  1397. #endif /* COBJMACROS */
  1398.  
  1399.  
  1400. #endif     /* C style interface */
  1401.  
  1402.  
  1403.  
  1404. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetAlpha_Proxy( 
  1405.     IVMRMixerControl9 * This,
  1406.     /* [in] */ DWORD dwStreamID,
  1407.     /* [in] */ float Alpha);
  1408.  
  1409.  
  1410. void __RPC_STUB IVMRMixerControl9_SetAlpha_Stub(
  1411.     IRpcStubBuffer *This,
  1412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1413.     PRPC_MESSAGE _pRpcMessage,
  1414.     DWORD *_pdwStubPhase);
  1415.  
  1416.  
  1417. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetAlpha_Proxy( 
  1418.     IVMRMixerControl9 * This,
  1419.     /* [in] */ DWORD dwStreamID,
  1420.     /* [out] */ float *pAlpha);
  1421.  
  1422.  
  1423. void __RPC_STUB IVMRMixerControl9_GetAlpha_Stub(
  1424.     IRpcStubBuffer *This,
  1425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1426.     PRPC_MESSAGE _pRpcMessage,
  1427.     DWORD *_pdwStubPhase);
  1428.  
  1429.  
  1430. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetZOrder_Proxy( 
  1431.     IVMRMixerControl9 * This,
  1432.     /* [in] */ DWORD dwStreamID,
  1433.     /* [in] */ DWORD dwZ);
  1434.  
  1435.  
  1436. void __RPC_STUB IVMRMixerControl9_SetZOrder_Stub(
  1437.     IRpcStubBuffer *This,
  1438.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1439.     PRPC_MESSAGE _pRpcMessage,
  1440.     DWORD *_pdwStubPhase);
  1441.  
  1442.  
  1443. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetZOrder_Proxy( 
  1444.     IVMRMixerControl9 * This,
  1445.     /* [in] */ DWORD dwStreamID,
  1446.     /* [out] */ DWORD *pZ);
  1447.  
  1448.  
  1449. void __RPC_STUB IVMRMixerControl9_GetZOrder_Stub(
  1450.     IRpcStubBuffer *This,
  1451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1452.     PRPC_MESSAGE _pRpcMessage,
  1453.     DWORD *_pdwStubPhase);
  1454.  
  1455.  
  1456. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetOutputRect_Proxy( 
  1457.     IVMRMixerControl9 * This,
  1458.     /* [in] */ DWORD dwStreamID,
  1459.     /* [in] */ const VMR9NormalizedRect *pRect);
  1460.  
  1461.  
  1462. void __RPC_STUB IVMRMixerControl9_SetOutputRect_Stub(
  1463.     IRpcStubBuffer *This,
  1464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1465.     PRPC_MESSAGE _pRpcMessage,
  1466.     DWORD *_pdwStubPhase);
  1467.  
  1468.  
  1469. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetOutputRect_Proxy( 
  1470.     IVMRMixerControl9 * This,
  1471.     /* [in] */ DWORD dwStreamID,
  1472.     /* [out] */ VMR9NormalizedRect *pRect);
  1473.  
  1474.  
  1475. void __RPC_STUB IVMRMixerControl9_GetOutputRect_Stub(
  1476.     IRpcStubBuffer *This,
  1477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1478.     PRPC_MESSAGE _pRpcMessage,
  1479.     DWORD *_pdwStubPhase);
  1480.  
  1481.  
  1482. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetBackgroundClr_Proxy( 
  1483.     IVMRMixerControl9 * This,
  1484.     /* [in] */ COLORREF ClrBkg);
  1485.  
  1486.  
  1487. void __RPC_STUB IVMRMixerControl9_SetBackgroundClr_Stub(
  1488.     IRpcStubBuffer *This,
  1489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1490.     PRPC_MESSAGE _pRpcMessage,
  1491.     DWORD *_pdwStubPhase);
  1492.  
  1493.  
  1494. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetBackgroundClr_Proxy( 
  1495.     IVMRMixerControl9 * This,
  1496.     /* [in] */ COLORREF *lpClrBkg);
  1497.  
  1498.  
  1499. void __RPC_STUB IVMRMixerControl9_GetBackgroundClr_Stub(
  1500.     IRpcStubBuffer *This,
  1501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1502.     PRPC_MESSAGE _pRpcMessage,
  1503.     DWORD *_pdwStubPhase);
  1504.  
  1505.  
  1506. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetMixingPrefs_Proxy( 
  1507.     IVMRMixerControl9 * This,
  1508.     /* [in] */ DWORD dwMixerPrefs);
  1509.  
  1510.  
  1511. void __RPC_STUB IVMRMixerControl9_SetMixingPrefs_Stub(
  1512.     IRpcStubBuffer *This,
  1513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1514.     PRPC_MESSAGE _pRpcMessage,
  1515.     DWORD *_pdwStubPhase);
  1516.  
  1517.  
  1518. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetMixingPrefs_Proxy( 
  1519.     IVMRMixerControl9 * This,
  1520.     /* [out] */ DWORD *pdwMixerPrefs);
  1521.  
  1522.  
  1523. void __RPC_STUB IVMRMixerControl9_GetMixingPrefs_Stub(
  1524.     IRpcStubBuffer *This,
  1525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1526.     PRPC_MESSAGE _pRpcMessage,
  1527.     DWORD *_pdwStubPhase);
  1528.  
  1529.  
  1530. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetProcAmpControl_Proxy( 
  1531.     IVMRMixerControl9 * This,
  1532.     /* [in] */ DWORD dwStreamID,
  1533.     /* [in] */ VMR9ProcAmpControl *lpClrControl);
  1534.  
  1535.  
  1536. void __RPC_STUB IVMRMixerControl9_SetProcAmpControl_Stub(
  1537.     IRpcStubBuffer *This,
  1538.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1539.     PRPC_MESSAGE _pRpcMessage,
  1540.     DWORD *_pdwStubPhase);
  1541.  
  1542.  
  1543. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControl_Proxy( 
  1544.     IVMRMixerControl9 * This,
  1545.     /* [in] */ DWORD dwStreamID,
  1546.     /* [out][in] */ VMR9ProcAmpControl *lpClrControl);
  1547.  
  1548.  
  1549. void __RPC_STUB IVMRMixerControl9_GetProcAmpControl_Stub(
  1550.     IRpcStubBuffer *This,
  1551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1552.     PRPC_MESSAGE _pRpcMessage,
  1553.     DWORD *_pdwStubPhase);
  1554.  
  1555.  
  1556. HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControlRange_Proxy( 
  1557.     IVMRMixerControl9 * This,
  1558.     /* [in] */ DWORD dwStreamID,
  1559.     /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl);
  1560.  
  1561.  
  1562. void __RPC_STUB IVMRMixerControl9_GetProcAmpControlRange_Stub(
  1563.     IRpcStubBuffer *This,
  1564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1565.     PRPC_MESSAGE _pRpcMessage,
  1566.     DWORD *_pdwStubPhase);
  1567.  
  1568.  
  1569.  
  1570. #endif     /* __IVMRMixerControl9_INTERFACE_DEFINED__ */
  1571.  
  1572.  
  1573. /* interface __MIDL_itf_vmr9_0013 */
  1574. /* [local] */ 
  1575.  
  1576. typedef struct _VMR9AlphaBitmap
  1577.     {
  1578.     DWORD dwFlags;
  1579.     HDC hdc;
  1580.     IDirect3DSurface9 *pDDS;
  1581.     RECT rSrc;
  1582.     VMR9NormalizedRect rDest;
  1583.     FLOAT fAlpha;
  1584.     COLORREF clrSrcKey;
  1585.     DWORD dwFilterMode;
  1586.     }     VMR9AlphaBitmap;
  1587.  
  1588. typedef /* [public] */ 
  1589. enum __MIDL___MIDL_itf_vmr9_0013_0001
  1590.     {    VMR9AlphaBitmap_Disable    = 0x1,
  1591.     VMR9AlphaBitmap_hDC    = 0x2,
  1592.     VMR9AlphaBitmap_EntireDDS    = 0x4,
  1593.     VMR9AlphaBitmap_SrcColorKey    = 0x8,
  1594.     VMR9AlphaBitmap_SrcRect    = 0x10,
  1595.     VMR9AlphaBitmap_FilterMode    = 0x20
  1596.     }     VMR9AlphaBitmapFlags;
  1597.  
  1598.  
  1599.  
  1600. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0013_v0_0_c_ifspec;
  1601. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0013_v0_0_s_ifspec;
  1602.  
  1603. #ifndef __IVMRMixerBitmap9_INTERFACE_DEFINED__
  1604. #define __IVMRMixerBitmap9_INTERFACE_DEFINED__
  1605.  
  1606. /* interface IVMRMixerBitmap9 */
  1607. /* [unique][helpstring][uuid][local][object] */ 
  1608.  
  1609.  
  1610. EXTERN_C const IID IID_IVMRMixerBitmap9;
  1611.  
  1612. #if defined(__cplusplus) && !defined(CINTERFACE)
  1613.     
  1614.     MIDL_INTERFACE("ced175e5-1935-4820-81bd-ff6ad00c9108")
  1615.     IVMRMixerBitmap9 : public IUnknown
  1616.     {
  1617.     public:
  1618.         virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap( 
  1619.             /* [in] */ const VMR9AlphaBitmap *pBmpParms) = 0;
  1620.         
  1621.         virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters( 
  1622.             /* [in] */ const VMR9AlphaBitmap *pBmpParms) = 0;
  1623.         
  1624.         virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters( 
  1625.             /* [out] */ VMR9AlphaBitmap *pBmpParms) = 0;
  1626.         
  1627.     };
  1628.     
  1629. #else     /* C style interface */
  1630.  
  1631.     typedef struct IVMRMixerBitmap9Vtbl
  1632.     {
  1633.         BEGIN_INTERFACE
  1634.         
  1635.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1636.             IVMRMixerBitmap9 * This,
  1637.             /* [in] */ REFIID riid,
  1638.             /* [iid_is][out] */ void **ppvObject);
  1639.         
  1640.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1641.             IVMRMixerBitmap9 * This);
  1642.         
  1643.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1644.             IVMRMixerBitmap9 * This);
  1645.         
  1646.         HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )( 
  1647.             IVMRMixerBitmap9 * This,
  1648.             /* [in] */ const VMR9AlphaBitmap *pBmpParms);
  1649.         
  1650.         HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )( 
  1651.             IVMRMixerBitmap9 * This,
  1652.             /* [in] */ const VMR9AlphaBitmap *pBmpParms);
  1653.         
  1654.         HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )( 
  1655.             IVMRMixerBitmap9 * This,
  1656.             /* [out] */ VMR9AlphaBitmap *pBmpParms);
  1657.         
  1658.         END_INTERFACE
  1659.     } IVMRMixerBitmap9Vtbl;
  1660.  
  1661.     interface IVMRMixerBitmap9
  1662.     {
  1663.         CONST_VTBL struct IVMRMixerBitmap9Vtbl *lpVtbl;
  1664.     };
  1665.  
  1666.     
  1667.  
  1668. #ifdef COBJMACROS
  1669.  
  1670.  
  1671. #define IVMRMixerBitmap9_QueryInterface(This,riid,ppvObject)    \
  1672.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1673.  
  1674. #define IVMRMixerBitmap9_AddRef(This)    \
  1675.     (This)->lpVtbl -> AddRef(This)
  1676.  
  1677. #define IVMRMixerBitmap9_Release(This)    \
  1678.     (This)->lpVtbl -> Release(This)
  1679.  
  1680.  
  1681. #define IVMRMixerBitmap9_SetAlphaBitmap(This,pBmpParms)    \
  1682.     (This)->lpVtbl -> SetAlphaBitmap(This,pBmpParms)
  1683.  
  1684. #define IVMRMixerBitmap9_UpdateAlphaBitmapParameters(This,pBmpParms)    \
  1685.     (This)->lpVtbl -> UpdateAlphaBitmapParameters(This,pBmpParms)
  1686.  
  1687. #define IVMRMixerBitmap9_GetAlphaBitmapParameters(This,pBmpParms)    \
  1688.     (This)->lpVtbl -> GetAlphaBitmapParameters(This,pBmpParms)
  1689.  
  1690. #endif /* COBJMACROS */
  1691.  
  1692.  
  1693. #endif     /* C style interface */
  1694.  
  1695.  
  1696.  
  1697. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_SetAlphaBitmap_Proxy( 
  1698.     IVMRMixerBitmap9 * This,
  1699.     /* [in] */ const VMR9AlphaBitmap *pBmpParms);
  1700.  
  1701.  
  1702. void __RPC_STUB IVMRMixerBitmap9_SetAlphaBitmap_Stub(
  1703.     IRpcStubBuffer *This,
  1704.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1705.     PRPC_MESSAGE _pRpcMessage,
  1706.     DWORD *_pdwStubPhase);
  1707.  
  1708.  
  1709. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Proxy( 
  1710.     IVMRMixerBitmap9 * This,
  1711.     /* [in] */ const VMR9AlphaBitmap *pBmpParms);
  1712.  
  1713.  
  1714. void __RPC_STUB IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Stub(
  1715.     IRpcStubBuffer *This,
  1716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1717.     PRPC_MESSAGE _pRpcMessage,
  1718.     DWORD *_pdwStubPhase);
  1719.  
  1720.  
  1721. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_GetAlphaBitmapParameters_Proxy( 
  1722.     IVMRMixerBitmap9 * This,
  1723.     /* [out] */ VMR9AlphaBitmap *pBmpParms);
  1724.  
  1725.  
  1726. void __RPC_STUB IVMRMixerBitmap9_GetAlphaBitmapParameters_Stub(
  1727.     IRpcStubBuffer *This,
  1728.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1729.     PRPC_MESSAGE _pRpcMessage,
  1730.     DWORD *_pdwStubPhase);
  1731.  
  1732.  
  1733.  
  1734. #endif     /* __IVMRMixerBitmap9_INTERFACE_DEFINED__ */
  1735.  
  1736.  
  1737. #ifndef __IVMRSurface9_INTERFACE_DEFINED__
  1738. #define __IVMRSurface9_INTERFACE_DEFINED__
  1739.  
  1740. /* interface IVMRSurface9 */
  1741. /* [unique][helpstring][uuid][local][object][local] */ 
  1742.  
  1743.  
  1744. EXTERN_C const IID IID_IVMRSurface9;
  1745.  
  1746. #if defined(__cplusplus) && !defined(CINTERFACE)
  1747.     
  1748.     MIDL_INTERFACE("dfc581a1-6e1f-4c3a-8d0a-5e9792ea2afc")
  1749.     IVMRSurface9 : public IUnknown
  1750.     {
  1751.     public:
  1752.         virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0;
  1753.         
  1754.         virtual HRESULT STDMETHODCALLTYPE LockSurface( 
  1755.             /* [out] */ BYTE **lpSurface) = 0;
  1756.         
  1757.         virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0;
  1758.         
  1759.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  1760.             /* [out] */ IDirect3DSurface9 **lplpSurface) = 0;
  1761.         
  1762.     };
  1763.     
  1764. #else     /* C style interface */
  1765.  
  1766.     typedef struct IVMRSurface9Vtbl
  1767.     {
  1768.         BEGIN_INTERFACE
  1769.         
  1770.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1771.             IVMRSurface9 * This,
  1772.             /* [in] */ REFIID riid,
  1773.             /* [iid_is][out] */ void **ppvObject);
  1774.         
  1775.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1776.             IVMRSurface9 * This);
  1777.         
  1778.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1779.             IVMRSurface9 * This);
  1780.         
  1781.         HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )( 
  1782.             IVMRSurface9 * This);
  1783.         
  1784.         HRESULT ( STDMETHODCALLTYPE *LockSurface )( 
  1785.             IVMRSurface9 * This,
  1786.             /* [out] */ BYTE **lpSurface);
  1787.         
  1788.         HRESULT ( STDMETHODCALLTYPE *UnlockSurface )( 
  1789.             IVMRSurface9 * This);
  1790.         
  1791.         HRESULT ( STDMETHODCALLTYPE *GetSurface )( 
  1792.             IVMRSurface9 * This,
  1793.             /* [out] */ IDirect3DSurface9 **lplpSurface);
  1794.         
  1795.         END_INTERFACE
  1796.     } IVMRSurface9Vtbl;
  1797.  
  1798.     interface IVMRSurface9
  1799.     {
  1800.         CONST_VTBL struct IVMRSurface9Vtbl *lpVtbl;
  1801.     };
  1802.  
  1803.     
  1804.  
  1805. #ifdef COBJMACROS
  1806.  
  1807.  
  1808. #define IVMRSurface9_QueryInterface(This,riid,ppvObject)    \
  1809.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1810.  
  1811. #define IVMRSurface9_AddRef(This)    \
  1812.     (This)->lpVtbl -> AddRef(This)
  1813.  
  1814. #define IVMRSurface9_Release(This)    \
  1815.     (This)->lpVtbl -> Release(This)
  1816.  
  1817.  
  1818. #define IVMRSurface9_IsSurfaceLocked(This)    \
  1819.     (This)->lpVtbl -> IsSurfaceLocked(This)
  1820.  
  1821. #define IVMRSurface9_LockSurface(This,lpSurface)    \
  1822.     (This)->lpVtbl -> LockSurface(This,lpSurface)
  1823.  
  1824. #define IVMRSurface9_UnlockSurface(This)    \
  1825.     (This)->lpVtbl -> UnlockSurface(This)
  1826.  
  1827. #define IVMRSurface9_GetSurface(This,lplpSurface)    \
  1828.     (This)->lpVtbl -> GetSurface(This,lplpSurface)
  1829.  
  1830. #endif /* COBJMACROS */
  1831.  
  1832.  
  1833. #endif     /* C style interface */
  1834.  
  1835.  
  1836.  
  1837. HRESULT STDMETHODCALLTYPE IVMRSurface9_IsSurfaceLocked_Proxy( 
  1838.     IVMRSurface9 * This);
  1839.  
  1840.  
  1841. void __RPC_STUB IVMRSurface9_IsSurfaceLocked_Stub(
  1842.     IRpcStubBuffer *This,
  1843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1844.     PRPC_MESSAGE _pRpcMessage,
  1845.     DWORD *_pdwStubPhase);
  1846.  
  1847.  
  1848. HRESULT STDMETHODCALLTYPE IVMRSurface9_LockSurface_Proxy( 
  1849.     IVMRSurface9 * This,
  1850.     /* [out] */ BYTE **lpSurface);
  1851.  
  1852.  
  1853. void __RPC_STUB IVMRSurface9_LockSurface_Stub(
  1854.     IRpcStubBuffer *This,
  1855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1856.     PRPC_MESSAGE _pRpcMessage,
  1857.     DWORD *_pdwStubPhase);
  1858.  
  1859.  
  1860. HRESULT STDMETHODCALLTYPE IVMRSurface9_UnlockSurface_Proxy( 
  1861.     IVMRSurface9 * This);
  1862.  
  1863.  
  1864. void __RPC_STUB IVMRSurface9_UnlockSurface_Stub(
  1865.     IRpcStubBuffer *This,
  1866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1867.     PRPC_MESSAGE _pRpcMessage,
  1868.     DWORD *_pdwStubPhase);
  1869.  
  1870.  
  1871. HRESULT STDMETHODCALLTYPE IVMRSurface9_GetSurface_Proxy( 
  1872.     IVMRSurface9 * This,
  1873.     /* [out] */ IDirect3DSurface9 **lplpSurface);
  1874.  
  1875.  
  1876. void __RPC_STUB IVMRSurface9_GetSurface_Stub(
  1877.     IRpcStubBuffer *This,
  1878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1879.     PRPC_MESSAGE _pRpcMessage,
  1880.     DWORD *_pdwStubPhase);
  1881.  
  1882.  
  1883.  
  1884. #endif     /* __IVMRSurface9_INTERFACE_DEFINED__ */
  1885.  
  1886.  
  1887. /* interface __MIDL_itf_vmr9_0015 */
  1888. /* [local] */ 
  1889.  
  1890. typedef /* [public] */ 
  1891. enum __MIDL___MIDL_itf_vmr9_0015_0001
  1892.     {    RenderPrefs9_DoNotRenderBorder    = 0x1,
  1893.     RenderPrefs9_Mask    = 0x1
  1894.     }     VMR9RenderPrefs;
  1895.  
  1896.  
  1897.  
  1898. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0015_v0_0_c_ifspec;
  1899. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0015_v0_0_s_ifspec;
  1900.  
  1901. #ifndef __IVMRImagePresenterConfig9_INTERFACE_DEFINED__
  1902. #define __IVMRImagePresenterConfig9_INTERFACE_DEFINED__
  1903.  
  1904. /* interface IVMRImagePresenterConfig9 */
  1905. /* [unique][helpstring][uuid][local][object][local] */ 
  1906.  
  1907.  
  1908. EXTERN_C const IID IID_IVMRImagePresenterConfig9;
  1909.  
  1910. #if defined(__cplusplus) && !defined(CINTERFACE)
  1911.     
  1912.     MIDL_INTERFACE("45c15cab-6e22-420a-8043-ae1f0ac02c7d")
  1913.     IVMRImagePresenterConfig9 : public IUnknown
  1914.     {
  1915.     public:
  1916.         virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 
  1917.             /* [in] */ DWORD dwRenderFlags) = 0;
  1918.         
  1919.         virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 
  1920.             /* [out] */ DWORD *dwRenderFlags) = 0;
  1921.         
  1922.     };
  1923.     
  1924. #else     /* C style interface */
  1925.  
  1926.     typedef struct IVMRImagePresenterConfig9Vtbl
  1927.     {
  1928.         BEGIN_INTERFACE
  1929.         
  1930.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1931.             IVMRImagePresenterConfig9 * This,
  1932.             /* [in] */ REFIID riid,
  1933.             /* [iid_is][out] */ void **ppvObject);
  1934.         
  1935.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1936.             IVMRImagePresenterConfig9 * This);
  1937.         
  1938.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1939.             IVMRImagePresenterConfig9 * This);
  1940.         
  1941.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  1942.             IVMRImagePresenterConfig9 * This,
  1943.             /* [in] */ DWORD dwRenderFlags);
  1944.         
  1945.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  1946.             IVMRImagePresenterConfig9 * This,
  1947.             /* [out] */ DWORD *dwRenderFlags);
  1948.         
  1949.         END_INTERFACE
  1950.     } IVMRImagePresenterConfig9Vtbl;
  1951.  
  1952.     interface IVMRImagePresenterConfig9
  1953.     {
  1954.         CONST_VTBL struct IVMRImagePresenterConfig9Vtbl *lpVtbl;
  1955.     };
  1956.  
  1957.     
  1958.  
  1959. #ifdef COBJMACROS
  1960.  
  1961.  
  1962. #define IVMRImagePresenterConfig9_QueryInterface(This,riid,ppvObject)    \
  1963.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1964.  
  1965. #define IVMRImagePresenterConfig9_AddRef(This)    \
  1966.     (This)->lpVtbl -> AddRef(This)
  1967.  
  1968. #define IVMRImagePresenterConfig9_Release(This)    \
  1969.     (This)->lpVtbl -> Release(This)
  1970.  
  1971.  
  1972. #define IVMRImagePresenterConfig9_SetRenderingPrefs(This,dwRenderFlags)    \
  1973.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  1974.  
  1975. #define IVMRImagePresenterConfig9_GetRenderingPrefs(This,dwRenderFlags)    \
  1976.     (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  1977.  
  1978. #endif /* COBJMACROS */
  1979.  
  1980.  
  1981. #endif     /* C style interface */
  1982.  
  1983.  
  1984.  
  1985. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_SetRenderingPrefs_Proxy( 
  1986.     IVMRImagePresenterConfig9 * This,
  1987.     /* [in] */ DWORD dwRenderFlags);
  1988.  
  1989.  
  1990. void __RPC_STUB IVMRImagePresenterConfig9_SetRenderingPrefs_Stub(
  1991.     IRpcStubBuffer *This,
  1992.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1993.     PRPC_MESSAGE _pRpcMessage,
  1994.     DWORD *_pdwStubPhase);
  1995.  
  1996.  
  1997. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_GetRenderingPrefs_Proxy( 
  1998.     IVMRImagePresenterConfig9 * This,
  1999.     /* [out] */ DWORD *dwRenderFlags);
  2000.  
  2001.  
  2002. void __RPC_STUB IVMRImagePresenterConfig9_GetRenderingPrefs_Stub(
  2003.     IRpcStubBuffer *This,
  2004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2005.     PRPC_MESSAGE _pRpcMessage,
  2006.     DWORD *_pdwStubPhase);
  2007.  
  2008.  
  2009.  
  2010. #endif     /* __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ */
  2011.  
  2012.  
  2013. #ifndef __IVMRVideoStreamControl9_INTERFACE_DEFINED__
  2014. #define __IVMRVideoStreamControl9_INTERFACE_DEFINED__
  2015.  
  2016. /* interface IVMRVideoStreamControl9 */
  2017. /* [unique][helpstring][uuid][local][object] */ 
  2018.  
  2019.  
  2020. EXTERN_C const IID IID_IVMRVideoStreamControl9;
  2021.  
  2022. #if defined(__cplusplus) && !defined(CINTERFACE)
  2023.     
  2024.     MIDL_INTERFACE("d0cfe38b-93e7-4772-8957-0400c49a4485")
  2025.     IVMRVideoStreamControl9 : public IUnknown
  2026.     {
  2027.     public:
  2028.         virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState( 
  2029.             /* [in] */ BOOL fActive) = 0;
  2030.         
  2031.         virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState( 
  2032.             /* [out] */ BOOL *lpfActive) = 0;
  2033.         
  2034.     };
  2035.     
  2036. #else     /* C style interface */
  2037.  
  2038.     typedef struct IVMRVideoStreamControl9Vtbl
  2039.     {
  2040.         BEGIN_INTERFACE
  2041.         
  2042.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2043.             IVMRVideoStreamControl9 * This,
  2044.             /* [in] */ REFIID riid,
  2045.             /* [iid_is][out] */ void **ppvObject);
  2046.         
  2047.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2048.             IVMRVideoStreamControl9 * This);
  2049.         
  2050.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2051.             IVMRVideoStreamControl9 * This);
  2052.         
  2053.         HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )( 
  2054.             IVMRVideoStreamControl9 * This,
  2055.             /* [in] */ BOOL fActive);
  2056.         
  2057.         HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )( 
  2058.             IVMRVideoStreamControl9 * This,
  2059.             /* [out] */ BOOL *lpfActive);
  2060.         
  2061.         END_INTERFACE
  2062.     } IVMRVideoStreamControl9Vtbl;
  2063.  
  2064.     interface IVMRVideoStreamControl9
  2065.     {
  2066.         CONST_VTBL struct IVMRVideoStreamControl9Vtbl *lpVtbl;
  2067.     };
  2068.  
  2069.     
  2070.  
  2071. #ifdef COBJMACROS
  2072.  
  2073.  
  2074. #define IVMRVideoStreamControl9_QueryInterface(This,riid,ppvObject)    \
  2075.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2076.  
  2077. #define IVMRVideoStreamControl9_AddRef(This)    \
  2078.     (This)->lpVtbl -> AddRef(This)
  2079.  
  2080. #define IVMRVideoStreamControl9_Release(This)    \
  2081.     (This)->lpVtbl -> Release(This)
  2082.  
  2083.  
  2084. #define IVMRVideoStreamControl9_SetStreamActiveState(This,fActive)    \
  2085.     (This)->lpVtbl -> SetStreamActiveState(This,fActive)
  2086.  
  2087. #define IVMRVideoStreamControl9_GetStreamActiveState(This,lpfActive)    \
  2088.     (This)->lpVtbl -> GetStreamActiveState(This,lpfActive)
  2089.  
  2090. #endif /* COBJMACROS */
  2091.  
  2092.  
  2093. #endif     /* C style interface */
  2094.  
  2095.  
  2096.  
  2097. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_SetStreamActiveState_Proxy( 
  2098.     IVMRVideoStreamControl9 * This,
  2099.     /* [in] */ BOOL fActive);
  2100.  
  2101.  
  2102. void __RPC_STUB IVMRVideoStreamControl9_SetStreamActiveState_Stub(
  2103.     IRpcStubBuffer *This,
  2104.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2105.     PRPC_MESSAGE _pRpcMessage,
  2106.     DWORD *_pdwStubPhase);
  2107.  
  2108.  
  2109. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_GetStreamActiveState_Proxy( 
  2110.     IVMRVideoStreamControl9 * This,
  2111.     /* [out] */ BOOL *lpfActive);
  2112.  
  2113.  
  2114. void __RPC_STUB IVMRVideoStreamControl9_GetStreamActiveState_Stub(
  2115.     IRpcStubBuffer *This,
  2116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2117.     PRPC_MESSAGE _pRpcMessage,
  2118.     DWORD *_pdwStubPhase);
  2119.  
  2120.  
  2121.  
  2122. #endif     /* __IVMRVideoStreamControl9_INTERFACE_DEFINED__ */
  2123.  
  2124.  
  2125. /* interface __MIDL_itf_vmr9_0017 */
  2126. /* [local] */ 
  2127.  
  2128. typedef /* [public] */ 
  2129. enum __MIDL___MIDL_itf_vmr9_0017_0001
  2130.     {    VMR9Mode_Windowed    = 0x1,
  2131.     VMR9Mode_Windowless    = 0x2,
  2132.     VMR9Mode_Renderless    = 0x4,
  2133.     VMR9Mode_Mask    = 0x7
  2134.     }     VMR9Mode;
  2135.  
  2136.  
  2137.  
  2138. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0017_v0_0_c_ifspec;
  2139. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0017_v0_0_s_ifspec;
  2140.  
  2141. #ifndef __IVMRFilterConfig9_INTERFACE_DEFINED__
  2142. #define __IVMRFilterConfig9_INTERFACE_DEFINED__
  2143.  
  2144. /* interface IVMRFilterConfig9 */
  2145. /* [unique][helpstring][uuid][local][object] */ 
  2146.  
  2147.  
  2148. EXTERN_C const IID IID_IVMRFilterConfig9;
  2149.  
  2150. #if defined(__cplusplus) && !defined(CINTERFACE)
  2151.     
  2152.     MIDL_INTERFACE("5a804648-4f66-4867-9c43-4f5c822cf1b8")
  2153.     IVMRFilterConfig9 : public IUnknown
  2154.     {
  2155.     public:
  2156.         virtual HRESULT STDMETHODCALLTYPE SetImageCompositor( 
  2157.             /* [in] */ IVMRImageCompositor9 *lpVMRImgCompositor) = 0;
  2158.         
  2159.         virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( 
  2160.             /* [in] */ DWORD dwMaxStreams) = 0;
  2161.         
  2162.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( 
  2163.             /* [out] */ DWORD *pdwMaxStreams) = 0;
  2164.         
  2165.         virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 
  2166.             /* [in] */ DWORD dwRenderFlags) = 0;
  2167.         
  2168.         virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 
  2169.             /* [out] */ DWORD *pdwRenderFlags) = 0;
  2170.         
  2171.         virtual HRESULT STDMETHODCALLTYPE SetRenderingMode( 
  2172.             /* [in] */ DWORD Mode) = 0;
  2173.         
  2174.         virtual HRESULT STDMETHODCALLTYPE GetRenderingMode( 
  2175.             /* [out] */ DWORD *pMode) = 0;
  2176.         
  2177.     };
  2178.     
  2179. #else     /* C style interface */
  2180.  
  2181.     typedef struct IVMRFilterConfig9Vtbl
  2182.     {
  2183.         BEGIN_INTERFACE
  2184.         
  2185.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2186.             IVMRFilterConfig9 * This,
  2187.             /* [in] */ REFIID riid,
  2188.             /* [iid_is][out] */ void **ppvObject);
  2189.         
  2190.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2191.             IVMRFilterConfig9 * This);
  2192.         
  2193.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2194.             IVMRFilterConfig9 * This);
  2195.         
  2196.         HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )( 
  2197.             IVMRFilterConfig9 * This,
  2198.             /* [in] */ IVMRImageCompositor9 *lpVMRImgCompositor);
  2199.         
  2200.         HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( 
  2201.             IVMRFilterConfig9 * This,
  2202.             /* [in] */ DWORD dwMaxStreams);
  2203.         
  2204.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( 
  2205.             IVMRFilterConfig9 * This,
  2206.             /* [out] */ DWORD *pdwMaxStreams);
  2207.         
  2208.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  2209.             IVMRFilterConfig9 * This,
  2210.             /* [in] */ DWORD dwRenderFlags);
  2211.         
  2212.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  2213.             IVMRFilterConfig9 * This,
  2214.             /* [out] */ DWORD *pdwRenderFlags);
  2215.         
  2216.         HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )( 
  2217.             IVMRFilterConfig9 * This,
  2218.             /* [in] */ DWORD Mode);
  2219.         
  2220.         HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )( 
  2221.             IVMRFilterConfig9 * This,
  2222.             /* [out] */ DWORD *pMode);
  2223.         
  2224.         END_INTERFACE
  2225.     } IVMRFilterConfig9Vtbl;
  2226.  
  2227.     interface IVMRFilterConfig9
  2228.     {
  2229.         CONST_VTBL struct IVMRFilterConfig9Vtbl *lpVtbl;
  2230.     };
  2231.  
  2232.     
  2233.  
  2234. #ifdef COBJMACROS
  2235.  
  2236.  
  2237. #define IVMRFilterConfig9_QueryInterface(This,riid,ppvObject)    \
  2238.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2239.  
  2240. #define IVMRFilterConfig9_AddRef(This)    \
  2241.     (This)->lpVtbl -> AddRef(This)
  2242.  
  2243. #define IVMRFilterConfig9_Release(This)    \
  2244.     (This)->lpVtbl -> Release(This)
  2245.  
  2246.  
  2247. #define IVMRFilterConfig9_SetImageCompositor(This,lpVMRImgCompositor)    \
  2248.     (This)->lpVtbl -> SetImageCompositor(This,lpVMRImgCompositor)
  2249.  
  2250. #define IVMRFilterConfig9_SetNumberOfStreams(This,dwMaxStreams)    \
  2251.     (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams)
  2252.  
  2253. #define IVMRFilterConfig9_GetNumberOfStreams(This,pdwMaxStreams)    \
  2254.     (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams)
  2255.  
  2256. #define IVMRFilterConfig9_SetRenderingPrefs(This,dwRenderFlags)    \
  2257.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  2258.  
  2259. #define IVMRFilterConfig9_GetRenderingPrefs(This,pdwRenderFlags)    \
  2260.     (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags)
  2261.  
  2262. #define IVMRFilterConfig9_SetRenderingMode(This,Mode)    \
  2263.     (This)->lpVtbl -> SetRenderingMode(This,Mode)
  2264.  
  2265. #define IVMRFilterConfig9_GetRenderingMode(This,pMode)    \
  2266.     (This)->lpVtbl -> GetRenderingMode(This,pMode)
  2267.  
  2268. #endif /* COBJMACROS */
  2269.  
  2270.  
  2271. #endif     /* C style interface */
  2272.  
  2273.  
  2274.  
  2275. HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetImageCompositor_Proxy( 
  2276.     IVMRFilterConfig9 * This,
  2277.     /* [in] */ IVMRImageCompositor9 *lpVMRImgCompositor);
  2278.  
  2279.  
  2280. void __RPC_STUB IVMRFilterConfig9_SetImageCompositor_Stub(
  2281.     IRpcStubBuffer *This,
  2282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2283.     PRPC_MESSAGE _pRpcMessage,
  2284.     DWORD *_pdwStubPhase);
  2285.  
  2286.  
  2287. HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetNumberOfStreams_Proxy( 
  2288.     IVMRFilterConfig9 * This,
  2289.     /* [in] */ DWORD dwMaxStreams);
  2290.  
  2291.  
  2292. void __RPC_STUB IVMRFilterConfig9_SetNumberOfStreams_Stub(
  2293.     IRpcStubBuffer *This,
  2294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2295.     PRPC_MESSAGE _pRpcMessage,
  2296.     DWORD *_pdwStubPhase);
  2297.  
  2298.  
  2299. HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetNumberOfStreams_Proxy( 
  2300.     IVMRFilterConfig9 * This,
  2301.     /* [out] */ DWORD *pdwMaxStreams);
  2302.  
  2303.  
  2304. void __RPC_STUB IVMRFilterConfig9_GetNumberOfStreams_Stub(
  2305.     IRpcStubBuffer *This,
  2306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2307.     PRPC_MESSAGE _pRpcMessage,
  2308.     DWORD *_pdwStubPhase);
  2309.  
  2310.  
  2311. HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingPrefs_Proxy( 
  2312.     IVMRFilterConfig9 * This,
  2313.     /* [in] */ DWORD dwRenderFlags);
  2314.  
  2315.  
  2316. void __RPC_STUB IVMRFilterConfig9_SetRenderingPrefs_Stub(
  2317.     IRpcStubBuffer *This,
  2318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2319.     PRPC_MESSAGE _pRpcMessage,
  2320.     DWORD *_pdwStubPhase);
  2321.  
  2322.  
  2323. HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingPrefs_Proxy( 
  2324.     IVMRFilterConfig9 * This,
  2325.     /* [out] */ DWORD *pdwRenderFlags);
  2326.  
  2327.  
  2328. void __RPC_STUB IVMRFilterConfig9_GetRenderingPrefs_Stub(
  2329.     IRpcStubBuffer *This,
  2330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2331.     PRPC_MESSAGE _pRpcMessage,
  2332.     DWORD *_pdwStubPhase);
  2333.  
  2334.  
  2335. HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingMode_Proxy( 
  2336.     IVMRFilterConfig9 * This,
  2337.     /* [in] */ DWORD Mode);
  2338.  
  2339.  
  2340. void __RPC_STUB IVMRFilterConfig9_SetRenderingMode_Stub(
  2341.     IRpcStubBuffer *This,
  2342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2343.     PRPC_MESSAGE _pRpcMessage,
  2344.     DWORD *_pdwStubPhase);
  2345.  
  2346.  
  2347. HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingMode_Proxy( 
  2348.     IVMRFilterConfig9 * This,
  2349.     /* [out] */ DWORD *pMode);
  2350.  
  2351.  
  2352. void __RPC_STUB IVMRFilterConfig9_GetRenderingMode_Stub(
  2353.     IRpcStubBuffer *This,
  2354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2355.     PRPC_MESSAGE _pRpcMessage,
  2356.     DWORD *_pdwStubPhase);
  2357.  
  2358.  
  2359.  
  2360. #endif     /* __IVMRFilterConfig9_INTERFACE_DEFINED__ */
  2361.  
  2362.  
  2363. #ifndef __IVMRAspectRatioControl9_INTERFACE_DEFINED__
  2364. #define __IVMRAspectRatioControl9_INTERFACE_DEFINED__
  2365.  
  2366. /* interface IVMRAspectRatioControl9 */
  2367. /* [unique][helpstring][uuid][local][object] */ 
  2368.  
  2369.  
  2370. EXTERN_C const IID IID_IVMRAspectRatioControl9;
  2371.  
  2372. #if defined(__cplusplus) && !defined(CINTERFACE)
  2373.     
  2374.     MIDL_INTERFACE("00d96c29-bbde-4efc-9901-bb5036392146")
  2375.     IVMRAspectRatioControl9 : public IUnknown
  2376.     {
  2377.     public:
  2378.         virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 
  2379.             /* [out] */ LPDWORD lpdwARMode) = 0;
  2380.         
  2381.         virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 
  2382.             /* [in] */ DWORD dwARMode) = 0;
  2383.         
  2384.     };
  2385.     
  2386. #else     /* C style interface */
  2387.  
  2388.     typedef struct IVMRAspectRatioControl9Vtbl
  2389.     {
  2390.         BEGIN_INTERFACE
  2391.         
  2392.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2393.             IVMRAspectRatioControl9 * This,
  2394.             /* [in] */ REFIID riid,
  2395.             /* [iid_is][out] */ void **ppvObject);
  2396.         
  2397.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2398.             IVMRAspectRatioControl9 * This);
  2399.         
  2400.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2401.             IVMRAspectRatioControl9 * This);
  2402.         
  2403.         HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( 
  2404.             IVMRAspectRatioControl9 * This,
  2405.             /* [out] */ LPDWORD lpdwARMode);
  2406.         
  2407.         HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( 
  2408.             IVMRAspectRatioControl9 * This,
  2409.             /* [in] */ DWORD dwARMode);
  2410.         
  2411.         END_INTERFACE
  2412.     } IVMRAspectRatioControl9Vtbl;
  2413.  
  2414.     interface IVMRAspectRatioControl9
  2415.     {
  2416.         CONST_VTBL struct IVMRAspectRatioControl9Vtbl *lpVtbl;
  2417.     };
  2418.  
  2419.     
  2420.  
  2421. #ifdef COBJMACROS
  2422.  
  2423.  
  2424. #define IVMRAspectRatioControl9_QueryInterface(This,riid,ppvObject)    \
  2425.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2426.  
  2427. #define IVMRAspectRatioControl9_AddRef(This)    \
  2428.     (This)->lpVtbl -> AddRef(This)
  2429.  
  2430. #define IVMRAspectRatioControl9_Release(This)    \
  2431.     (This)->lpVtbl -> Release(This)
  2432.  
  2433.  
  2434. #define IVMRAspectRatioControl9_GetAspectRatioMode(This,lpdwARMode)    \
  2435.     (This)->lpVtbl -> GetAspectRatioMode(This,lpdwARMode)
  2436.  
  2437. #define IVMRAspectRatioControl9_SetAspectRatioMode(This,dwARMode)    \
  2438.     (This)->lpVtbl -> SetAspectRatioMode(This,dwARMode)
  2439.  
  2440. #endif /* COBJMACROS */
  2441.  
  2442.  
  2443. #endif     /* C style interface */
  2444.  
  2445.  
  2446.  
  2447. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_GetAspectRatioMode_Proxy( 
  2448.     IVMRAspectRatioControl9 * This,
  2449.     /* [out] */ LPDWORD lpdwARMode);
  2450.  
  2451.  
  2452. void __RPC_STUB IVMRAspectRatioControl9_GetAspectRatioMode_Stub(
  2453.     IRpcStubBuffer *This,
  2454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2455.     PRPC_MESSAGE _pRpcMessage,
  2456.     DWORD *_pdwStubPhase);
  2457.  
  2458.  
  2459. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_SetAspectRatioMode_Proxy( 
  2460.     IVMRAspectRatioControl9 * This,
  2461.     /* [in] */ DWORD dwARMode);
  2462.  
  2463.  
  2464. void __RPC_STUB IVMRAspectRatioControl9_SetAspectRatioMode_Stub(
  2465.     IRpcStubBuffer *This,
  2466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2467.     PRPC_MESSAGE _pRpcMessage,
  2468.     DWORD *_pdwStubPhase);
  2469.  
  2470.  
  2471.  
  2472. #endif     /* __IVMRAspectRatioControl9_INTERFACE_DEFINED__ */
  2473.  
  2474.  
  2475. /* interface __MIDL_itf_vmr9_0019 */
  2476. /* [local] */ 
  2477.  
  2478. typedef struct _VMR9MonitorInfo
  2479.     {
  2480.     UINT uDevID;
  2481.     RECT rcMonitor;
  2482.     HMONITOR hMon;
  2483.     DWORD dwFlags;
  2484.     wchar_t szDevice[ 32 ];
  2485.     wchar_t szDescription[ 512 ];
  2486.     LARGE_INTEGER liDriverVersion;
  2487.     DWORD dwVendorId;
  2488.     DWORD dwDeviceId;
  2489.     DWORD dwSubSysId;
  2490.     DWORD dwRevision;
  2491.     }     VMR9MonitorInfo;
  2492.  
  2493.  
  2494.  
  2495. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0019_v0_0_c_ifspec;
  2496. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0019_v0_0_s_ifspec;
  2497.  
  2498. #ifndef __IVMRMonitorConfig9_INTERFACE_DEFINED__
  2499. #define __IVMRMonitorConfig9_INTERFACE_DEFINED__
  2500.  
  2501. /* interface IVMRMonitorConfig9 */
  2502. /* [unique][helpstring][uuid][local][object] */ 
  2503.  
  2504.  
  2505. EXTERN_C const IID IID_IVMRMonitorConfig9;
  2506.  
  2507. #if defined(__cplusplus) && !defined(CINTERFACE)
  2508.     
  2509.     MIDL_INTERFACE("46c2e457-8ba0-4eef-b80b-0680f0978749")
  2510.     IVMRMonitorConfig9 : public IUnknown
  2511.     {
  2512.     public:
  2513.         virtual HRESULT STDMETHODCALLTYPE SetMonitor( 
  2514.             /* [in] */ UINT uDev) = 0;
  2515.         
  2516.         virtual HRESULT STDMETHODCALLTYPE GetMonitor( 
  2517.             /* [out] */ UINT *puDev) = 0;
  2518.         
  2519.         virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor( 
  2520.             /* [in] */ UINT uDev) = 0;
  2521.         
  2522.         virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor( 
  2523.             /* [out] */ UINT *puDev) = 0;
  2524.         
  2525.         virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors( 
  2526.             /* [size_is][out] */ VMR9MonitorInfo *pInfo,
  2527.             /* [in] */ DWORD dwMaxInfoArraySize,
  2528.             /* [out] */ DWORD *pdwNumDevices) = 0;
  2529.         
  2530.     };
  2531.     
  2532. #else     /* C style interface */
  2533.  
  2534.     typedef struct IVMRMonitorConfig9Vtbl
  2535.     {
  2536.         BEGIN_INTERFACE
  2537.         
  2538.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2539.             IVMRMonitorConfig9 * This,
  2540.             /* [in] */ REFIID riid,
  2541.             /* [iid_is][out] */ void **ppvObject);
  2542.         
  2543.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2544.             IVMRMonitorConfig9 * This);
  2545.         
  2546.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2547.             IVMRMonitorConfig9 * This);
  2548.         
  2549.         HRESULT ( STDMETHODCALLTYPE *SetMonitor )( 
  2550.             IVMRMonitorConfig9 * This,
  2551.             /* [in] */ UINT uDev);
  2552.         
  2553.         HRESULT ( STDMETHODCALLTYPE *GetMonitor )( 
  2554.             IVMRMonitorConfig9 * This,
  2555.             /* [out] */ UINT *puDev);
  2556.         
  2557.         HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )( 
  2558.             IVMRMonitorConfig9 * This,
  2559.             /* [in] */ UINT uDev);
  2560.         
  2561.         HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )( 
  2562.             IVMRMonitorConfig9 * This,
  2563.             /* [out] */ UINT *puDev);
  2564.         
  2565.         HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )( 
  2566.             IVMRMonitorConfig9 * This,
  2567.             /* [size_is][out] */ VMR9MonitorInfo *pInfo,
  2568.             /* [in] */ DWORD dwMaxInfoArraySize,
  2569.             /* [out] */ DWORD *pdwNumDevices);
  2570.         
  2571.         END_INTERFACE
  2572.     } IVMRMonitorConfig9Vtbl;
  2573.  
  2574.     interface IVMRMonitorConfig9
  2575.     {
  2576.         CONST_VTBL struct IVMRMonitorConfig9Vtbl *lpVtbl;
  2577.     };
  2578.  
  2579.     
  2580.  
  2581. #ifdef COBJMACROS
  2582.  
  2583.  
  2584. #define IVMRMonitorConfig9_QueryInterface(This,riid,ppvObject)    \
  2585.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2586.  
  2587. #define IVMRMonitorConfig9_AddRef(This)    \
  2588.     (This)->lpVtbl -> AddRef(This)
  2589.  
  2590. #define IVMRMonitorConfig9_Release(This)    \
  2591.     (This)->lpVtbl -> Release(This)
  2592.  
  2593.  
  2594. #define IVMRMonitorConfig9_SetMonitor(This,uDev)    \
  2595.     (This)->lpVtbl -> SetMonitor(This,uDev)
  2596.  
  2597. #define IVMRMonitorConfig9_GetMonitor(This,puDev)    \
  2598.     (This)->lpVtbl -> GetMonitor(This,puDev)
  2599.  
  2600. #define IVMRMonitorConfig9_SetDefaultMonitor(This,uDev)    \
  2601.     (This)->lpVtbl -> SetDefaultMonitor(This,uDev)
  2602.  
  2603. #define IVMRMonitorConfig9_GetDefaultMonitor(This,puDev)    \
  2604.     (This)->lpVtbl -> GetDefaultMonitor(This,puDev)
  2605.  
  2606. #define IVMRMonitorConfig9_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)    \
  2607.     (This)->lpVtbl -> GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
  2608.  
  2609. #endif /* COBJMACROS */
  2610.  
  2611.  
  2612. #endif     /* C style interface */
  2613.  
  2614.  
  2615.  
  2616. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetMonitor_Proxy( 
  2617.     IVMRMonitorConfig9 * This,
  2618.     /* [in] */ UINT uDev);
  2619.  
  2620.  
  2621. void __RPC_STUB IVMRMonitorConfig9_SetMonitor_Stub(
  2622.     IRpcStubBuffer *This,
  2623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2624.     PRPC_MESSAGE _pRpcMessage,
  2625.     DWORD *_pdwStubPhase);
  2626.  
  2627.  
  2628. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetMonitor_Proxy( 
  2629.     IVMRMonitorConfig9 * This,
  2630.     /* [out] */ UINT *puDev);
  2631.  
  2632.  
  2633. void __RPC_STUB IVMRMonitorConfig9_GetMonitor_Stub(
  2634.     IRpcStubBuffer *This,
  2635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2636.     PRPC_MESSAGE _pRpcMessage,
  2637.     DWORD *_pdwStubPhase);
  2638.  
  2639.  
  2640. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetDefaultMonitor_Proxy( 
  2641.     IVMRMonitorConfig9 * This,
  2642.     /* [in] */ UINT uDev);
  2643.  
  2644.  
  2645. void __RPC_STUB IVMRMonitorConfig9_SetDefaultMonitor_Stub(
  2646.     IRpcStubBuffer *This,
  2647.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2648.     PRPC_MESSAGE _pRpcMessage,
  2649.     DWORD *_pdwStubPhase);
  2650.  
  2651.  
  2652. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetDefaultMonitor_Proxy( 
  2653.     IVMRMonitorConfig9 * This,
  2654.     /* [out] */ UINT *puDev);
  2655.  
  2656.  
  2657. void __RPC_STUB IVMRMonitorConfig9_GetDefaultMonitor_Stub(
  2658.     IRpcStubBuffer *This,
  2659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2660.     PRPC_MESSAGE _pRpcMessage,
  2661.     DWORD *_pdwStubPhase);
  2662.  
  2663.  
  2664. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetAvailableMonitors_Proxy( 
  2665.     IVMRMonitorConfig9 * This,
  2666.     /* [size_is][out] */ VMR9MonitorInfo *pInfo,
  2667.     /* [in] */ DWORD dwMaxInfoArraySize,
  2668.     /* [out] */ DWORD *pdwNumDevices);
  2669.  
  2670.  
  2671. void __RPC_STUB IVMRMonitorConfig9_GetAvailableMonitors_Stub(
  2672.     IRpcStubBuffer *This,
  2673.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2674.     PRPC_MESSAGE _pRpcMessage,
  2675.     DWORD *_pdwStubPhase);
  2676.  
  2677.  
  2678.  
  2679. #endif     /* __IVMRMonitorConfig9_INTERFACE_DEFINED__ */
  2680.  
  2681.  
  2682. /* interface __MIDL_itf_vmr9_0020 */
  2683. /* [local] */ 
  2684.  
  2685. typedef /* [public] */ 
  2686. enum __MIDL___MIDL_itf_vmr9_0020_0001
  2687.     {    DeinterlacePref9_NextBest    = 0x1,
  2688.     DeinterlacePref9_BOB    = 0x2,
  2689.     DeinterlacePref9_Weave    = 0x4,
  2690.     DeinterlacePref9_Mask    = 0x7
  2691.     }     VMR9DeinterlacePrefs;
  2692.  
  2693. typedef /* [public][public][public] */ 
  2694. enum __MIDL___MIDL_itf_vmr9_0020_0002
  2695.     {    DeinterlaceTech9_Unknown    = 0,
  2696.     DeinterlaceTech9_BOBLineReplicate    = 0x1,
  2697.     DeinterlaceTech9_BOBVerticalStretch    = 0x2,
  2698.     DeinterlaceTech9_MedianFiltering    = 0x4,
  2699.     DeinterlaceTech9_EdgeFiltering    = 0x10,
  2700.     DeinterlaceTech9_FieldAdaptive    = 0x20,
  2701.     DeinterlaceTech9_PixelAdaptive    = 0x40,
  2702.     DeinterlaceTech9_MotionVectorSteered    = 0x80
  2703.     }     VMR9DeinterlaceTech;
  2704.  
  2705. typedef struct _VMR9Frequency
  2706.     {
  2707.     DWORD dwNumerator;
  2708.     DWORD dwDenominator;
  2709.     }     VMR9Frequency;
  2710.  
  2711. typedef 
  2712. enum _VMR9_SampleFormat
  2713.     {    VMR9_SampleReserved    = 1,
  2714.     VMR9_SampleProgressiveFrame    = 2,
  2715.     VMR9_SampleFieldInterleavedEvenFirst    = 3,
  2716.     VMR9_SampleFieldInterleavedOddFirst    = 4,
  2717.     VMR9_SampleFieldSingleEven    = 5,
  2718.     VMR9_SampleFieldSingleOdd    = 6
  2719.     }     VMR9_SampleFormat;
  2720.  
  2721. typedef struct _VMR9VideoDesc
  2722.     {
  2723.     DWORD dwSize;
  2724.     DWORD dwSampleWidth;
  2725.     DWORD dwSampleHeight;
  2726.     VMR9_SampleFormat SampleFormat;
  2727.     DWORD dwFourCC;
  2728.     VMR9Frequency InputSampleFreq;
  2729.     VMR9Frequency OutputFrameFreq;
  2730.     }     VMR9VideoDesc;
  2731.  
  2732. typedef struct _VMR9DeinterlaceCaps
  2733.     {
  2734.     DWORD dwSize;
  2735.     DWORD dwNumPreviousOutputFrames;
  2736.     DWORD dwNumForwardRefSamples;
  2737.     DWORD dwNumBackwardRefSamples;
  2738.     VMR9DeinterlaceTech DeinterlaceTechnology;
  2739.     }     VMR9DeinterlaceCaps;
  2740.  
  2741.  
  2742.  
  2743. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0020_v0_0_c_ifspec;
  2744. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0020_v0_0_s_ifspec;
  2745.  
  2746. #ifndef __IVMRDeinterlaceControl9_INTERFACE_DEFINED__
  2747. #define __IVMRDeinterlaceControl9_INTERFACE_DEFINED__
  2748.  
  2749. /* interface IVMRDeinterlaceControl9 */
  2750. /* [unique][helpstring][uuid][local][object] */ 
  2751.  
  2752.  
  2753. EXTERN_C const IID IID_IVMRDeinterlaceControl9;
  2754.  
  2755. #if defined(__cplusplus) && !defined(CINTERFACE)
  2756.     
  2757.     MIDL_INTERFACE("a215fb8d-13c2-4f7f-993c-003d6271a459")
  2758.     IVMRDeinterlaceControl9 : public IUnknown
  2759.     {
  2760.     public:
  2761.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes( 
  2762.             /* [in] */ VMR9VideoDesc *lpVideoDescription,
  2763.             /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  2764.             /* [out] */ LPGUID lpDeinterlaceModes) = 0;
  2765.         
  2766.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps( 
  2767.             /* [in] */ LPGUID lpDeinterlaceMode,
  2768.             /* [in] */ VMR9VideoDesc *lpVideoDescription,
  2769.             /* [out] */ VMR9DeinterlaceCaps *lpDeinterlaceCaps) = 0;
  2770.         
  2771.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode( 
  2772.             /* [in] */ DWORD dwStreamID,
  2773.             /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  2774.         
  2775.         virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode( 
  2776.             /* [in] */ DWORD dwStreamID,
  2777.             /* [in] */ LPGUID lpDeinterlaceMode) = 0;
  2778.         
  2779.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs( 
  2780.             /* [out] */ LPDWORD lpdwDeinterlacePrefs) = 0;
  2781.         
  2782.         virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs( 
  2783.             /* [in] */ DWORD dwDeinterlacePrefs) = 0;
  2784.         
  2785.         virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode( 
  2786.             /* [in] */ DWORD dwStreamID,
  2787.             /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  2788.         
  2789.     };
  2790.     
  2791. #else     /* C style interface */
  2792.  
  2793.     typedef struct IVMRDeinterlaceControl9Vtbl
  2794.     {
  2795.         BEGIN_INTERFACE
  2796.         
  2797.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2798.             IVMRDeinterlaceControl9 * This,
  2799.             /* [in] */ REFIID riid,
  2800.             /* [iid_is][out] */ void **ppvObject);
  2801.         
  2802.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2803.             IVMRDeinterlaceControl9 * This);
  2804.         
  2805.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2806.             IVMRDeinterlaceControl9 * This);
  2807.         
  2808.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes )( 
  2809.             IVMRDeinterlaceControl9 * This,
  2810.             /* [in] */ VMR9VideoDesc *lpVideoDescription,
  2811.             /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  2812.             /* [out] */ LPGUID lpDeinterlaceModes);
  2813.         
  2814.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceModeCaps )( 
  2815.             IVMRDeinterlaceControl9 * This,
  2816.             /* [in] */ LPGUID lpDeinterlaceMode,
  2817.             /* [in] */ VMR9VideoDesc *lpVideoDescription,
  2818.             /* [out] */ VMR9DeinterlaceCaps *lpDeinterlaceCaps);
  2819.         
  2820.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceMode )( 
  2821.             IVMRDeinterlaceControl9 * This,
  2822.             /* [in] */ DWORD dwStreamID,
  2823.             /* [out] */ LPGUID lpDeinterlaceMode);
  2824.         
  2825.         HRESULT ( STDMETHODCALLTYPE *SetDeinterlaceMode )( 
  2826.             IVMRDeinterlaceControl9 * This,
  2827.             /* [in] */ DWORD dwStreamID,
  2828.             /* [in] */ LPGUID lpDeinterlaceMode);
  2829.         
  2830.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlacePrefs )( 
  2831.             IVMRDeinterlaceControl9 * This,
  2832.             /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  2833.         
  2834.         HRESULT ( STDMETHODCALLTYPE *SetDeinterlacePrefs )( 
  2835.             IVMRDeinterlaceControl9 * This,
  2836.             /* [in] */ DWORD dwDeinterlacePrefs);
  2837.         
  2838.         HRESULT ( STDMETHODCALLTYPE *GetActualDeinterlaceMode )( 
  2839.             IVMRDeinterlaceControl9 * This,
  2840.             /* [in] */ DWORD dwStreamID,
  2841.             /* [out] */ LPGUID lpDeinterlaceMode);
  2842.         
  2843.         END_INTERFACE
  2844.     } IVMRDeinterlaceControl9Vtbl;
  2845.  
  2846.     interface IVMRDeinterlaceControl9
  2847.     {
  2848.         CONST_VTBL struct IVMRDeinterlaceControl9Vtbl *lpVtbl;
  2849.     };
  2850.  
  2851.     
  2852.  
  2853. #ifdef COBJMACROS
  2854.  
  2855.  
  2856. #define IVMRDeinterlaceControl9_QueryInterface(This,riid,ppvObject)    \
  2857.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2858.  
  2859. #define IVMRDeinterlaceControl9_AddRef(This)    \
  2860.     (This)->lpVtbl -> AddRef(This)
  2861.  
  2862. #define IVMRDeinterlaceControl9_Release(This)    \
  2863.     (This)->lpVtbl -> Release(This)
  2864.  
  2865.  
  2866. #define IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)    \
  2867.     (This)->lpVtbl -> GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
  2868.  
  2869. #define IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)    \
  2870.     (This)->lpVtbl -> GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
  2871.  
  2872. #define IVMRDeinterlaceControl9_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  2873.     (This)->lpVtbl -> GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  2874.  
  2875. #define IVMRDeinterlaceControl9_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  2876.     (This)->lpVtbl -> SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  2877.  
  2878. #define IVMRDeinterlaceControl9_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)    \
  2879.     (This)->lpVtbl -> GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
  2880.  
  2881. #define IVMRDeinterlaceControl9_SetDeinterlacePrefs(This,dwDeinterlacePrefs)    \
  2882.     (This)->lpVtbl -> SetDeinterlacePrefs(This,dwDeinterlacePrefs)
  2883.  
  2884. #define IVMRDeinterlaceControl9_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  2885.     (This)->lpVtbl -> GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  2886.  
  2887. #endif /* COBJMACROS */
  2888.  
  2889.  
  2890. #endif     /* C style interface */
  2891.  
  2892.  
  2893.  
  2894. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Proxy( 
  2895.     IVMRDeinterlaceControl9 * This,
  2896.     /* [in] */ VMR9VideoDesc *lpVideoDescription,
  2897.     /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  2898.     /* [out] */ LPGUID lpDeinterlaceModes);
  2899.  
  2900.  
  2901. void __RPC_STUB IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Stub(
  2902.     IRpcStubBuffer *This,
  2903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2904.     PRPC_MESSAGE _pRpcMessage,
  2905.     DWORD *_pdwStubPhase);
  2906.  
  2907.  
  2908. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Proxy( 
  2909.     IVMRDeinterlaceControl9 * This,
  2910.     /* [in] */ LPGUID lpDeinterlaceMode,
  2911.     /* [in] */ VMR9VideoDesc *lpVideoDescription,
  2912.     /* [out] */ VMR9DeinterlaceCaps *lpDeinterlaceCaps);
  2913.  
  2914.  
  2915. void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Stub(
  2916.     IRpcStubBuffer *This,
  2917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2918.     PRPC_MESSAGE _pRpcMessage,
  2919.     DWORD *_pdwStubPhase);
  2920.  
  2921.  
  2922. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceMode_Proxy( 
  2923.     IVMRDeinterlaceControl9 * This,
  2924.     /* [in] */ DWORD dwStreamID,
  2925.     /* [out] */ LPGUID lpDeinterlaceMode);
  2926.  
  2927.  
  2928. void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceMode_Stub(
  2929.     IRpcStubBuffer *This,
  2930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2931.     PRPC_MESSAGE _pRpcMessage,
  2932.     DWORD *_pdwStubPhase);
  2933.  
  2934.  
  2935. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlaceMode_Proxy( 
  2936.     IVMRDeinterlaceControl9 * This,
  2937.     /* [in] */ DWORD dwStreamID,
  2938.     /* [in] */ LPGUID lpDeinterlaceMode);
  2939.  
  2940.  
  2941. void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlaceMode_Stub(
  2942.     IRpcStubBuffer *This,
  2943.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2944.     PRPC_MESSAGE _pRpcMessage,
  2945.     DWORD *_pdwStubPhase);
  2946.  
  2947.  
  2948. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlacePrefs_Proxy( 
  2949.     IVMRDeinterlaceControl9 * This,
  2950.     /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  2951.  
  2952.  
  2953. void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlacePrefs_Stub(
  2954.     IRpcStubBuffer *This,
  2955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2956.     PRPC_MESSAGE _pRpcMessage,
  2957.     DWORD *_pdwStubPhase);
  2958.  
  2959.  
  2960. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlacePrefs_Proxy( 
  2961.     IVMRDeinterlaceControl9 * This,
  2962.     /* [in] */ DWORD dwDeinterlacePrefs);
  2963.  
  2964.  
  2965. void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlacePrefs_Stub(
  2966.     IRpcStubBuffer *This,
  2967.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2968.     PRPC_MESSAGE _pRpcMessage,
  2969.     DWORD *_pdwStubPhase);
  2970.  
  2971.  
  2972. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Proxy( 
  2973.     IVMRDeinterlaceControl9 * This,
  2974.     /* [in] */ DWORD dwStreamID,
  2975.     /* [out] */ LPGUID lpDeinterlaceMode);
  2976.  
  2977.  
  2978. void __RPC_STUB IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Stub(
  2979.     IRpcStubBuffer *This,
  2980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2981.     PRPC_MESSAGE _pRpcMessage,
  2982.     DWORD *_pdwStubPhase);
  2983.  
  2984.  
  2985.  
  2986. #endif     /* __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ */
  2987.  
  2988.  
  2989. /* interface __MIDL_itf_vmr9_0021 */
  2990. /* [local] */ 
  2991.  
  2992. typedef struct _VMR9VideoStreamInfo
  2993.     {
  2994.     IDirect3DSurface9 *pddsVideoSurface;
  2995.     DWORD dwWidth;
  2996.     DWORD dwHeight;
  2997.     DWORD dwStrmID;
  2998.     FLOAT fAlpha;
  2999.     VMR9NormalizedRect rNormal;
  3000.     REFERENCE_TIME rtStart;
  3001.     REFERENCE_TIME rtEnd;
  3002.     VMR9_SampleFormat SampleFormat;
  3003.     }     VMR9VideoStreamInfo;
  3004.  
  3005.  
  3006.  
  3007. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0021_v0_0_c_ifspec;
  3008. extern RPC_IF_HANDLE __MIDL_itf_vmr9_0021_v0_0_s_ifspec;
  3009.  
  3010. #ifndef __IVMRImageCompositor9_INTERFACE_DEFINED__
  3011. #define __IVMRImageCompositor9_INTERFACE_DEFINED__
  3012.  
  3013. /* interface IVMRImageCompositor9 */
  3014. /* [unique][helpstring][uuid][local][object][local] */ 
  3015.  
  3016.  
  3017. EXTERN_C const IID IID_IVMRImageCompositor9;
  3018.  
  3019. #if defined(__cplusplus) && !defined(CINTERFACE)
  3020.     
  3021.     MIDL_INTERFACE("4a5c89eb-df51-4654-ac2a-e48e02bbabf6")
  3022.     IVMRImageCompositor9 : public IUnknown
  3023.     {
  3024.     public:
  3025.         virtual HRESULT STDMETHODCALLTYPE InitCompositionDevice( 
  3026.             /* [in] */ IUnknown *pD3DDevice) = 0;
  3027.         
  3028.         virtual HRESULT STDMETHODCALLTYPE TermCompositionDevice( 
  3029.             /* [in] */ IUnknown *pD3DDevice) = 0;
  3030.         
  3031.         virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType( 
  3032.             /* [in] */ DWORD dwStrmID,
  3033.             /* [in] */ AM_MEDIA_TYPE *pmt,
  3034.             /* [in] */ BOOL fTexture) = 0;
  3035.         
  3036.         virtual HRESULT STDMETHODCALLTYPE CompositeImage( 
  3037.             /* [in] */ IUnknown *pD3DDevice,
  3038.             /* [in] */ IDirect3DSurface9 *pddsRenderTarget,
  3039.             /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  3040.             /* [in] */ REFERENCE_TIME rtStart,
  3041.             /* [in] */ REFERENCE_TIME rtEnd,
  3042.             /* [in] */ D3DCOLOR dwClrBkGnd,
  3043.             /* [in] */ VMR9VideoStreamInfo *pVideoStreamInfo,
  3044.             /* [in] */ UINT cStreams) = 0;
  3045.         
  3046.     };
  3047.     
  3048. #else     /* C style interface */
  3049.  
  3050.     typedef struct IVMRImageCompositor9Vtbl
  3051.     {
  3052.         BEGIN_INTERFACE
  3053.         
  3054.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3055.             IVMRImageCompositor9 * This,
  3056.             /* [in] */ REFIID riid,
  3057.             /* [iid_is][out] */ void **ppvObject);
  3058.         
  3059.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3060.             IVMRImageCompositor9 * This);
  3061.         
  3062.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3063.             IVMRImageCompositor9 * This);
  3064.         
  3065.         HRESULT ( STDMETHODCALLTYPE *InitCompositionDevice )( 
  3066.             IVMRImageCompositor9 * This,
  3067.             /* [in] */ IUnknown *pD3DDevice);
  3068.         
  3069.         HRESULT ( STDMETHODCALLTYPE *TermCompositionDevice )( 
  3070.             IVMRImageCompositor9 * This,
  3071.             /* [in] */ IUnknown *pD3DDevice);
  3072.         
  3073.         HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )( 
  3074.             IVMRImageCompositor9 * This,
  3075.             /* [in] */ DWORD dwStrmID,
  3076.             /* [in] */ AM_MEDIA_TYPE *pmt,
  3077.             /* [in] */ BOOL fTexture);
  3078.         
  3079.         HRESULT ( STDMETHODCALLTYPE *CompositeImage )( 
  3080.             IVMRImageCompositor9 * This,
  3081.             /* [in] */ IUnknown *pD3DDevice,
  3082.             /* [in] */ IDirect3DSurface9 *pddsRenderTarget,
  3083.             /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  3084.             /* [in] */ REFERENCE_TIME rtStart,
  3085.             /* [in] */ REFERENCE_TIME rtEnd,
  3086.             /* [in] */ D3DCOLOR dwClrBkGnd,
  3087.             /* [in] */ VMR9VideoStreamInfo *pVideoStreamInfo,
  3088.             /* [in] */ UINT cStreams);
  3089.         
  3090.         END_INTERFACE
  3091.     } IVMRImageCompositor9Vtbl;
  3092.  
  3093.     interface IVMRImageCompositor9
  3094.     {
  3095.         CONST_VTBL struct IVMRImageCompositor9Vtbl *lpVtbl;
  3096.     };
  3097.  
  3098.     
  3099.  
  3100. #ifdef COBJMACROS
  3101.  
  3102.  
  3103. #define IVMRImageCompositor9_QueryInterface(This,riid,ppvObject)    \
  3104.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3105.  
  3106. #define IVMRImageCompositor9_AddRef(This)    \
  3107.     (This)->lpVtbl -> AddRef(This)
  3108.  
  3109. #define IVMRImageCompositor9_Release(This)    \
  3110.     (This)->lpVtbl -> Release(This)
  3111.  
  3112.  
  3113. #define IVMRImageCompositor9_InitCompositionDevice(This,pD3DDevice)    \
  3114.     (This)->lpVtbl -> InitCompositionDevice(This,pD3DDevice)
  3115.  
  3116. #define IVMRImageCompositor9_TermCompositionDevice(This,pD3DDevice)    \
  3117.     (This)->lpVtbl -> TermCompositionDevice(This,pD3DDevice)
  3118.  
  3119. #define IVMRImageCompositor9_SetStreamMediaType(This,dwStrmID,pmt,fTexture)    \
  3120.     (This)->lpVtbl -> SetStreamMediaType(This,dwStrmID,pmt,fTexture)
  3121.  
  3122. #define IVMRImageCompositor9_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)    \
  3123.     (This)->lpVtbl -> CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
  3124.  
  3125. #endif /* COBJMACROS */
  3126.  
  3127.  
  3128. #endif     /* C style interface */
  3129.  
  3130.  
  3131.  
  3132. HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_InitCompositionDevice_Proxy( 
  3133.     IVMRImageCompositor9 * This,
  3134.     /* [in] */ IUnknown *pD3DDevice);
  3135.  
  3136.  
  3137. void __RPC_STUB IVMRImageCompositor9_InitCompositionDevice_Stub(
  3138.     IRpcStubBuffer *This,
  3139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3140.     PRPC_MESSAGE _pRpcMessage,
  3141.     DWORD *_pdwStubPhase);
  3142.  
  3143.  
  3144. HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_TermCompositionDevice_Proxy( 
  3145.     IVMRImageCompositor9 * This,
  3146.     /* [in] */ IUnknown *pD3DDevice);
  3147.  
  3148.  
  3149. void __RPC_STUB IVMRImageCompositor9_TermCompositionDevice_Stub(
  3150.     IRpcStubBuffer *This,
  3151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3152.     PRPC_MESSAGE _pRpcMessage,
  3153.     DWORD *_pdwStubPhase);
  3154.  
  3155.  
  3156. HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_SetStreamMediaType_Proxy( 
  3157.     IVMRImageCompositor9 * This,
  3158.     /* [in] */ DWORD dwStrmID,
  3159.     /* [in] */ AM_MEDIA_TYPE *pmt,
  3160.     /* [in] */ BOOL fTexture);
  3161.  
  3162.  
  3163. void __RPC_STUB IVMRImageCompositor9_SetStreamMediaType_Stub(
  3164.     IRpcStubBuffer *This,
  3165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3166.     PRPC_MESSAGE _pRpcMessage,
  3167.     DWORD *_pdwStubPhase);
  3168.  
  3169.  
  3170. HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_CompositeImage_Proxy( 
  3171.     IVMRImageCompositor9 * This,
  3172.     /* [in] */ IUnknown *pD3DDevice,
  3173.     /* [in] */ IDirect3DSurface9 *pddsRenderTarget,
  3174.     /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  3175.     /* [in] */ REFERENCE_TIME rtStart,
  3176.     /* [in] */ REFERENCE_TIME rtEnd,
  3177.     /* [in] */ D3DCOLOR dwClrBkGnd,
  3178.     /* [in] */ VMR9VideoStreamInfo *pVideoStreamInfo,
  3179.     /* [in] */ UINT cStreams);
  3180.  
  3181.  
  3182. void __RPC_STUB IVMRImageCompositor9_CompositeImage_Stub(
  3183.     IRpcStubBuffer *This,
  3184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3185.     PRPC_MESSAGE _pRpcMessage,
  3186.     DWORD *_pdwStubPhase);
  3187.  
  3188.  
  3189.  
  3190. #endif     /* __IVMRImageCompositor9_INTERFACE_DEFINED__ */
  3191.  
  3192.  
  3193. /* Additional Prototypes for ALL interfaces */
  3194.  
  3195. /* end of Additional Prototypes */
  3196.  
  3197. #ifdef __cplusplus
  3198. }
  3199. #endif
  3200.  
  3201. #endif
  3202.  
  3203.  
  3204.