segment.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:458k
源码类别:

模拟服务器

开发平台:

C/C++

  1.             /* [retval][out] */ BSTR *Clsid);
  2.         
  3.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  4.             IMSVidDataServices * This,
  5.             /* [retval][out] */ GUID *Guid);
  6.         
  7.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  8.             IMSVidDataServices * This,
  9.             /* [retval][out] */ GUID *Clsid);
  10.         
  11.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  12.             IMSVidDataServices * This,
  13.             /* [in] */ IMSVidDevice *Device,
  14.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  15.         
  16.         END_INTERFACE
  17.     } IMSVidDataServicesVtbl;
  18.     interface IMSVidDataServices
  19.     {
  20.         CONST_VTBL struct IMSVidDataServicesVtbl *lpVtbl;
  21.     };
  22.     
  23. #ifdef COBJMACROS
  24. #define IMSVidDataServices_QueryInterface(This,riid,ppvObject)
  25.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26. #define IMSVidDataServices_AddRef(This)
  27.     (This)->lpVtbl -> AddRef(This)
  28. #define IMSVidDataServices_Release(This)
  29.     (This)->lpVtbl -> Release(This)
  30. #define IMSVidDataServices_GetTypeInfoCount(This,pctinfo)
  31.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  32. #define IMSVidDataServices_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  33.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  34. #define IMSVidDataServices_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  35.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  36. #define IMSVidDataServices_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  37.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  38. #define IMSVidDataServices_get_Name(This,Name)
  39.     (This)->lpVtbl -> get_Name(This,Name)
  40. #define IMSVidDataServices_get_Status(This,Status)
  41.     (This)->lpVtbl -> get_Status(This,Status)
  42. #define IMSVidDataServices_put_Power(This,Power)
  43.     (This)->lpVtbl -> put_Power(This,Power)
  44. #define IMSVidDataServices_get_Power(This,Power)
  45.     (This)->lpVtbl -> get_Power(This,Power)
  46. #define IMSVidDataServices_get_Category(This,Guid)
  47.     (This)->lpVtbl -> get_Category(This,Guid)
  48. #define IMSVidDataServices_get_ClassID(This,Clsid)
  49.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  50. #define IMSVidDataServices_get__Category(This,Guid)
  51.     (This)->lpVtbl -> get__Category(This,Guid)
  52. #define IMSVidDataServices_get__ClassID(This,Clsid)
  53.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  54. #define IMSVidDataServices_IsEqualDevice(This,Device,IsEqual)
  55.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  56. #endif /* COBJMACROS */
  57. #endif  /* C style interface */
  58. #endif  /* __IMSVidDataServices_INTERFACE_DEFINED__ */
  59. #ifndef __IMSVidDataServicesEvent_INTERFACE_DEFINED__
  60. #define __IMSVidDataServicesEvent_INTERFACE_DEFINED__
  61. /* interface IMSVidDataServicesEvent */
  62. /* [unique][helpstring][uuid][hidden][oleautomation][object] */ 
  63. EXTERN_C const IID IID_IMSVidDataServicesEvent;
  64. #if defined(__cplusplus) && !defined(CINTERFACE)
  65.     
  66.     MIDL_INTERFACE("334125C2-77E5-11d3-B653-00C04F79498E")
  67.     IMSVidDataServicesEvent : public IMSVidDeviceEvent
  68.     {
  69.     public:
  70.     };
  71.     
  72. #else  /* C style interface */
  73.     typedef struct IMSVidDataServicesEventVtbl
  74.     {
  75.         BEGIN_INTERFACE
  76.         
  77.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  78.             IMSVidDataServicesEvent * This,
  79.             /* [in] */ REFIID riid,
  80.             /* [iid_is][out] */ void **ppvObject);
  81.         
  82.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  83.             IMSVidDataServicesEvent * This);
  84.         
  85.         ULONG ( STDMETHODCALLTYPE *Release )( 
  86.             IMSVidDataServicesEvent * This);
  87.         
  88.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  89.             IMSVidDataServicesEvent * This,
  90.             /* [out] */ UINT *pctinfo);
  91.         
  92.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  93.             IMSVidDataServicesEvent * This,
  94.             /* [in] */ UINT iTInfo,
  95.             /* [in] */ LCID lcid,
  96.             /* [out] */ ITypeInfo **ppTInfo);
  97.         
  98.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  99.             IMSVidDataServicesEvent * This,
  100.             /* [in] */ REFIID riid,
  101.             /* [size_is][in] */ LPOLESTR *rgszNames,
  102.             /* [in] */ UINT cNames,
  103.             /* [in] */ LCID lcid,
  104.             /* [size_is][out] */ DISPID *rgDispId);
  105.         
  106.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  107.             IMSVidDataServicesEvent * This,
  108.             /* [in] */ DISPID dispIdMember,
  109.             /* [in] */ REFIID riid,
  110.             /* [in] */ LCID lcid,
  111.             /* [in] */ WORD wFlags,
  112.             /* [out][in] */ DISPPARAMS *pDispParams,
  113.             /* [out] */ VARIANT *pVarResult,
  114.             /* [out] */ EXCEPINFO *pExcepInfo,
  115.             /* [out] */ UINT *puArgErr);
  116.         
  117.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *StateChange )( 
  118.             IMSVidDataServicesEvent * This,
  119.             /* [in] */ IMSVidDevice *lpd,
  120.             /* [in] */ long oldState,
  121.             /* [in] */ long newState);
  122.         
  123.         END_INTERFACE
  124.     } IMSVidDataServicesEventVtbl;
  125.     interface IMSVidDataServicesEvent
  126.     {
  127.         CONST_VTBL struct IMSVidDataServicesEventVtbl *lpVtbl;
  128.     };
  129.     
  130. #ifdef COBJMACROS
  131. #define IMSVidDataServicesEvent_QueryInterface(This,riid,ppvObject)
  132.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  133. #define IMSVidDataServicesEvent_AddRef(This)
  134.     (This)->lpVtbl -> AddRef(This)
  135. #define IMSVidDataServicesEvent_Release(This)
  136.     (This)->lpVtbl -> Release(This)
  137. #define IMSVidDataServicesEvent_GetTypeInfoCount(This,pctinfo)
  138.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  139. #define IMSVidDataServicesEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  140.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  141. #define IMSVidDataServicesEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  142.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  143. #define IMSVidDataServicesEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  144.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  145. #define IMSVidDataServicesEvent_StateChange(This,lpd,oldState,newState)
  146.     (This)->lpVtbl -> StateChange(This,lpd,oldState,newState)
  147. #endif /* COBJMACROS */
  148. #endif  /* C style interface */
  149. #endif  /* __IMSVidDataServicesEvent_INTERFACE_DEFINED__ */
  150. #ifndef __IMSVidClosedCaptioning_INTERFACE_DEFINED__
  151. #define __IMSVidClosedCaptioning_INTERFACE_DEFINED__
  152. /* interface IMSVidClosedCaptioning */
  153. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  154. EXTERN_C const IID IID_IMSVidClosedCaptioning;
  155. #if defined(__cplusplus) && !defined(CINTERFACE)
  156.     
  157.     MIDL_INTERFACE("99652EA1-C1F7-414f-BB7B-1C967DE75983")
  158.     IMSVidClosedCaptioning : public IMSVidFeature
  159.     {
  160.     public:
  161.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Enable( 
  162.             /* [retval][out] */ VARIANT_BOOL *On) = 0;
  163.         
  164.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Enable( 
  165.             /* [in] */ VARIANT_BOOL On) = 0;
  166.         
  167.     };
  168.     
  169. #else  /* C style interface */
  170.     typedef struct IMSVidClosedCaptioningVtbl
  171.     {
  172.         BEGIN_INTERFACE
  173.         
  174.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  175.             IMSVidClosedCaptioning * This,
  176.             /* [in] */ REFIID riid,
  177.             /* [iid_is][out] */ void **ppvObject);
  178.         
  179.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  180.             IMSVidClosedCaptioning * This);
  181.         
  182.         ULONG ( STDMETHODCALLTYPE *Release )( 
  183.             IMSVidClosedCaptioning * This);
  184.         
  185.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  186.             IMSVidClosedCaptioning * This,
  187.             /* [out] */ UINT *pctinfo);
  188.         
  189.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  190.             IMSVidClosedCaptioning * This,
  191.             /* [in] */ UINT iTInfo,
  192.             /* [in] */ LCID lcid,
  193.             /* [out] */ ITypeInfo **ppTInfo);
  194.         
  195.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  196.             IMSVidClosedCaptioning * This,
  197.             /* [in] */ REFIID riid,
  198.             /* [size_is][in] */ LPOLESTR *rgszNames,
  199.             /* [in] */ UINT cNames,
  200.             /* [in] */ LCID lcid,
  201.             /* [size_is][out] */ DISPID *rgDispId);
  202.         
  203.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  204.             IMSVidClosedCaptioning * This,
  205.             /* [in] */ DISPID dispIdMember,
  206.             /* [in] */ REFIID riid,
  207.             /* [in] */ LCID lcid,
  208.             /* [in] */ WORD wFlags,
  209.             /* [out][in] */ DISPPARAMS *pDispParams,
  210.             /* [out] */ VARIANT *pVarResult,
  211.             /* [out] */ EXCEPINFO *pExcepInfo,
  212.             /* [out] */ UINT *puArgErr);
  213.         
  214.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  215.             IMSVidClosedCaptioning * This,
  216.             /* [retval][out] */ BSTR *Name);
  217.         
  218.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  219.             IMSVidClosedCaptioning * This,
  220.             /* [retval][out] */ long *Status);
  221.         
  222.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  223.             IMSVidClosedCaptioning * This,
  224.             /* [in] */ VARIANT_BOOL Power);
  225.         
  226.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  227.             IMSVidClosedCaptioning * This,
  228.             /* [out][retval] */ VARIANT_BOOL *Power);
  229.         
  230.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  231.             IMSVidClosedCaptioning * This,
  232.             /* [retval][out] */ BSTR *Guid);
  233.         
  234.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  235.             IMSVidClosedCaptioning * This,
  236.             /* [retval][out] */ BSTR *Clsid);
  237.         
  238.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  239.             IMSVidClosedCaptioning * This,
  240.             /* [retval][out] */ GUID *Guid);
  241.         
  242.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  243.             IMSVidClosedCaptioning * This,
  244.             /* [retval][out] */ GUID *Clsid);
  245.         
  246.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  247.             IMSVidClosedCaptioning * This,
  248.             /* [in] */ IMSVidDevice *Device,
  249.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  250.         
  251.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enable )( 
  252.             IMSVidClosedCaptioning * This,
  253.             /* [retval][out] */ VARIANT_BOOL *On);
  254.         
  255.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enable )( 
  256.             IMSVidClosedCaptioning * This,
  257.             /* [in] */ VARIANT_BOOL On);
  258.         
  259.         END_INTERFACE
  260.     } IMSVidClosedCaptioningVtbl;
  261.     interface IMSVidClosedCaptioning
  262.     {
  263.         CONST_VTBL struct IMSVidClosedCaptioningVtbl *lpVtbl;
  264.     };
  265.     
  266. #ifdef COBJMACROS
  267. #define IMSVidClosedCaptioning_QueryInterface(This,riid,ppvObject)
  268.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  269. #define IMSVidClosedCaptioning_AddRef(This)
  270.     (This)->lpVtbl -> AddRef(This)
  271. #define IMSVidClosedCaptioning_Release(This)
  272.     (This)->lpVtbl -> Release(This)
  273. #define IMSVidClosedCaptioning_GetTypeInfoCount(This,pctinfo)
  274.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  275. #define IMSVidClosedCaptioning_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  276.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  277. #define IMSVidClosedCaptioning_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  278.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  279. #define IMSVidClosedCaptioning_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  280.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  281. #define IMSVidClosedCaptioning_get_Name(This,Name)
  282.     (This)->lpVtbl -> get_Name(This,Name)
  283. #define IMSVidClosedCaptioning_get_Status(This,Status)
  284.     (This)->lpVtbl -> get_Status(This,Status)
  285. #define IMSVidClosedCaptioning_put_Power(This,Power)
  286.     (This)->lpVtbl -> put_Power(This,Power)
  287. #define IMSVidClosedCaptioning_get_Power(This,Power)
  288.     (This)->lpVtbl -> get_Power(This,Power)
  289. #define IMSVidClosedCaptioning_get_Category(This,Guid)
  290.     (This)->lpVtbl -> get_Category(This,Guid)
  291. #define IMSVidClosedCaptioning_get_ClassID(This,Clsid)
  292.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  293. #define IMSVidClosedCaptioning_get__Category(This,Guid)
  294.     (This)->lpVtbl -> get__Category(This,Guid)
  295. #define IMSVidClosedCaptioning_get__ClassID(This,Clsid)
  296.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  297. #define IMSVidClosedCaptioning_IsEqualDevice(This,Device,IsEqual)
  298.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  299. #define IMSVidClosedCaptioning_get_Enable(This,On)
  300.     (This)->lpVtbl -> get_Enable(This,On)
  301. #define IMSVidClosedCaptioning_put_Enable(This,On)
  302.     (This)->lpVtbl -> put_Enable(This,On)
  303. #endif /* COBJMACROS */
  304. #endif  /* C style interface */
  305. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidClosedCaptioning_get_Enable_Proxy( 
  306.     IMSVidClosedCaptioning * This,
  307.     /* [retval][out] */ VARIANT_BOOL *On);
  308. void __RPC_STUB IMSVidClosedCaptioning_get_Enable_Stub(
  309.     IRpcStubBuffer *This,
  310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  311.     PRPC_MESSAGE _pRpcMessage,
  312.     DWORD *_pdwStubPhase);
  313. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidClosedCaptioning_put_Enable_Proxy( 
  314.     IMSVidClosedCaptioning * This,
  315.     /* [in] */ VARIANT_BOOL On);
  316. void __RPC_STUB IMSVidClosedCaptioning_put_Enable_Stub(
  317.     IRpcStubBuffer *This,
  318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  319.     PRPC_MESSAGE _pRpcMessage,
  320.     DWORD *_pdwStubPhase);
  321. #endif  /* __IMSVidClosedCaptioning_INTERFACE_DEFINED__ */
  322. #ifndef __IMSVidTVEGSeg_INTERFACE_DEFINED__
  323. #define __IMSVidTVEGSeg_INTERFACE_DEFINED__
  324. /* interface IMSVidTVEGSeg */
  325. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  326. EXTERN_C const IID IID_IMSVidTVEGSeg;
  327. #if defined(__cplusplus) && !defined(CINTERFACE)
  328.     
  329.     MIDL_INTERFACE("1600D001-6666-4f66-B1E2-BF3C9FBB9BA6")
  330.     IMSVidTVEGSeg : public IMSVidFeature
  331.     {
  332.     public:
  333.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TVEFilter( 
  334.             /* [retval][out] */ ITVEFilter **ppFilter) = 0;
  335.         
  336.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TVESupervisor( 
  337.             /* [retval][out] */ ITVESupervisor **ppSuper) = 0;
  338.         
  339.     };
  340.     
  341. #else  /* C style interface */
  342.     typedef struct IMSVidTVEGSegVtbl
  343.     {
  344.         BEGIN_INTERFACE
  345.         
  346.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  347.             IMSVidTVEGSeg * This,
  348.             /* [in] */ REFIID riid,
  349.             /* [iid_is][out] */ void **ppvObject);
  350.         
  351.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  352.             IMSVidTVEGSeg * This);
  353.         
  354.         ULONG ( STDMETHODCALLTYPE *Release )( 
  355.             IMSVidTVEGSeg * This);
  356.         
  357.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  358.             IMSVidTVEGSeg * This,
  359.             /* [out] */ UINT *pctinfo);
  360.         
  361.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  362.             IMSVidTVEGSeg * This,
  363.             /* [in] */ UINT iTInfo,
  364.             /* [in] */ LCID lcid,
  365.             /* [out] */ ITypeInfo **ppTInfo);
  366.         
  367.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  368.             IMSVidTVEGSeg * This,
  369.             /* [in] */ REFIID riid,
  370.             /* [size_is][in] */ LPOLESTR *rgszNames,
  371.             /* [in] */ UINT cNames,
  372.             /* [in] */ LCID lcid,
  373.             /* [size_is][out] */ DISPID *rgDispId);
  374.         
  375.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  376.             IMSVidTVEGSeg * This,
  377.             /* [in] */ DISPID dispIdMember,
  378.             /* [in] */ REFIID riid,
  379.             /* [in] */ LCID lcid,
  380.             /* [in] */ WORD wFlags,
  381.             /* [out][in] */ DISPPARAMS *pDispParams,
  382.             /* [out] */ VARIANT *pVarResult,
  383.             /* [out] */ EXCEPINFO *pExcepInfo,
  384.             /* [out] */ UINT *puArgErr);
  385.         
  386.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  387.             IMSVidTVEGSeg * This,
  388.             /* [retval][out] */ BSTR *Name);
  389.         
  390.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  391.             IMSVidTVEGSeg * This,
  392.             /* [retval][out] */ long *Status);
  393.         
  394.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  395.             IMSVidTVEGSeg * This,
  396.             /* [in] */ VARIANT_BOOL Power);
  397.         
  398.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  399.             IMSVidTVEGSeg * This,
  400.             /* [out][retval] */ VARIANT_BOOL *Power);
  401.         
  402.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  403.             IMSVidTVEGSeg * This,
  404.             /* [retval][out] */ BSTR *Guid);
  405.         
  406.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  407.             IMSVidTVEGSeg * This,
  408.             /* [retval][out] */ BSTR *Clsid);
  409.         
  410.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  411.             IMSVidTVEGSeg * This,
  412.             /* [retval][out] */ GUID *Guid);
  413.         
  414.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  415.             IMSVidTVEGSeg * This,
  416.             /* [retval][out] */ GUID *Clsid);
  417.         
  418.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  419.             IMSVidTVEGSeg * This,
  420.             /* [in] */ IMSVidDevice *Device,
  421.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  422.         
  423.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TVEFilter )( 
  424.             IMSVidTVEGSeg * This,
  425.             /* [retval][out] */ ITVEFilter **ppFilter);
  426.         
  427.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TVESupervisor )( 
  428.             IMSVidTVEGSeg * This,
  429.             /* [retval][out] */ ITVESupervisor **ppSuper);
  430.         
  431.         END_INTERFACE
  432.     } IMSVidTVEGSegVtbl;
  433.     interface IMSVidTVEGSeg
  434.     {
  435.         CONST_VTBL struct IMSVidTVEGSegVtbl *lpVtbl;
  436.     };
  437.     
  438. #ifdef COBJMACROS
  439. #define IMSVidTVEGSeg_QueryInterface(This,riid,ppvObject)
  440.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  441. #define IMSVidTVEGSeg_AddRef(This)
  442.     (This)->lpVtbl -> AddRef(This)
  443. #define IMSVidTVEGSeg_Release(This)
  444.     (This)->lpVtbl -> Release(This)
  445. #define IMSVidTVEGSeg_GetTypeInfoCount(This,pctinfo)
  446.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  447. #define IMSVidTVEGSeg_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  448.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  449. #define IMSVidTVEGSeg_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  450.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  451. #define IMSVidTVEGSeg_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  452.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  453. #define IMSVidTVEGSeg_get_Name(This,Name)
  454.     (This)->lpVtbl -> get_Name(This,Name)
  455. #define IMSVidTVEGSeg_get_Status(This,Status)
  456.     (This)->lpVtbl -> get_Status(This,Status)
  457. #define IMSVidTVEGSeg_put_Power(This,Power)
  458.     (This)->lpVtbl -> put_Power(This,Power)
  459. #define IMSVidTVEGSeg_get_Power(This,Power)
  460.     (This)->lpVtbl -> get_Power(This,Power)
  461. #define IMSVidTVEGSeg_get_Category(This,Guid)
  462.     (This)->lpVtbl -> get_Category(This,Guid)
  463. #define IMSVidTVEGSeg_get_ClassID(This,Clsid)
  464.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  465. #define IMSVidTVEGSeg_get__Category(This,Guid)
  466.     (This)->lpVtbl -> get__Category(This,Guid)
  467. #define IMSVidTVEGSeg_get__ClassID(This,Clsid)
  468.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  469. #define IMSVidTVEGSeg_IsEqualDevice(This,Device,IsEqual)
  470.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  471. #define IMSVidTVEGSeg_get_TVEFilter(This,ppFilter)
  472.     (This)->lpVtbl -> get_TVEFilter(This,ppFilter)
  473. #define IMSVidTVEGSeg_get_TVESupervisor(This,ppSuper)
  474.     (This)->lpVtbl -> get_TVESupervisor(This,ppSuper)
  475. #endif /* COBJMACROS */
  476. #endif  /* C style interface */
  477. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidTVEGSeg_get_TVEFilter_Proxy( 
  478.     IMSVidTVEGSeg * This,
  479.     /* [retval][out] */ ITVEFilter **ppFilter);
  480. void __RPC_STUB IMSVidTVEGSeg_get_TVEFilter_Stub(
  481.     IRpcStubBuffer *This,
  482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  483.     PRPC_MESSAGE _pRpcMessage,
  484.     DWORD *_pdwStubPhase);
  485. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidTVEGSeg_get_TVESupervisor_Proxy( 
  486.     IMSVidTVEGSeg * This,
  487.     /* [retval][out] */ ITVESupervisor **ppSuper);
  488. void __RPC_STUB IMSVidTVEGSeg_get_TVESupervisor_Stub(
  489.     IRpcStubBuffer *This,
  490.     IRpcChannelBuffer *_pRpcChannelBuffer,
  491.     PRPC_MESSAGE _pRpcMessage,
  492.     DWORD *_pdwStubPhase);
  493. #endif  /* __IMSVidTVEGSeg_INTERFACE_DEFINED__ */
  494. #ifndef __IMSVidCAGSeg_INTERFACE_DEFINED__
  495. #define __IMSVidCAGSeg_INTERFACE_DEFINED__
  496. /* interface IMSVidCAGSeg */
  497. /* [unique][helpstring][uuid][oleautomation][dual][object] */ 
  498. EXTERN_C const IID IID_IMSVidCAGSeg;
  499. #if defined(__cplusplus) && !defined(CINTERFACE)
  500.     
  501.     MIDL_INTERFACE("1600D101-6666-4f66-B1E2-BF3C9FBB9BA6")
  502.     IMSVidCAGSeg : public IMSVidFeature
  503.     {
  504.     public:
  505.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MarkDirty( void) = 0;
  506.         
  507.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_TuneRequest( 
  508.             /* [in] */ ITuneRequest *ptunereq) = 0;
  509.         
  510.     };
  511.     
  512. #else  /* C style interface */
  513.     typedef struct IMSVidCAGSegVtbl
  514.     {
  515.         BEGIN_INTERFACE
  516.         
  517.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  518.             IMSVidCAGSeg * This,
  519.             /* [in] */ REFIID riid,
  520.             /* [iid_is][out] */ void **ppvObject);
  521.         
  522.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  523.             IMSVidCAGSeg * This);
  524.         
  525.         ULONG ( STDMETHODCALLTYPE *Release )( 
  526.             IMSVidCAGSeg * This);
  527.         
  528.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  529.             IMSVidCAGSeg * This,
  530.             /* [out] */ UINT *pctinfo);
  531.         
  532.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  533.             IMSVidCAGSeg * This,
  534.             /* [in] */ UINT iTInfo,
  535.             /* [in] */ LCID lcid,
  536.             /* [out] */ ITypeInfo **ppTInfo);
  537.         
  538.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  539.             IMSVidCAGSeg * This,
  540.             /* [in] */ REFIID riid,
  541.             /* [size_is][in] */ LPOLESTR *rgszNames,
  542.             /* [in] */ UINT cNames,
  543.             /* [in] */ LCID lcid,
  544.             /* [size_is][out] */ DISPID *rgDispId);
  545.         
  546.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  547.             IMSVidCAGSeg * This,
  548.             /* [in] */ DISPID dispIdMember,
  549.             /* [in] */ REFIID riid,
  550.             /* [in] */ LCID lcid,
  551.             /* [in] */ WORD wFlags,
  552.             /* [out][in] */ DISPPARAMS *pDispParams,
  553.             /* [out] */ VARIANT *pVarResult,
  554.             /* [out] */ EXCEPINFO *pExcepInfo,
  555.             /* [out] */ UINT *puArgErr);
  556.         
  557.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  558.             IMSVidCAGSeg * This,
  559.             /* [retval][out] */ BSTR *Name);
  560.         
  561.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  562.             IMSVidCAGSeg * This,
  563.             /* [retval][out] */ long *Status);
  564.         
  565.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  566.             IMSVidCAGSeg * This,
  567.             /* [in] */ VARIANT_BOOL Power);
  568.         
  569.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  570.             IMSVidCAGSeg * This,
  571.             /* [out][retval] */ VARIANT_BOOL *Power);
  572.         
  573.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  574.             IMSVidCAGSeg * This,
  575.             /* [retval][out] */ BSTR *Guid);
  576.         
  577.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  578.             IMSVidCAGSeg * This,
  579.             /* [retval][out] */ BSTR *Clsid);
  580.         
  581.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  582.             IMSVidCAGSeg * This,
  583.             /* [retval][out] */ GUID *Guid);
  584.         
  585.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  586.             IMSVidCAGSeg * This,
  587.             /* [retval][out] */ GUID *Clsid);
  588.         
  589.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  590.             IMSVidCAGSeg * This,
  591.             /* [in] */ IMSVidDevice *Device,
  592.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  593.         
  594.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MarkDirty )( 
  595.             IMSVidCAGSeg * This);
  596.         
  597.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TuneRequest )( 
  598.             IMSVidCAGSeg * This,
  599.             /* [in] */ ITuneRequest *ptunereq);
  600.         
  601.         END_INTERFACE
  602.     } IMSVidCAGSegVtbl;
  603.     interface IMSVidCAGSeg
  604.     {
  605.         CONST_VTBL struct IMSVidCAGSegVtbl *lpVtbl;
  606.     };
  607.     
  608. #ifdef COBJMACROS
  609. #define IMSVidCAGSeg_QueryInterface(This,riid,ppvObject)
  610.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  611. #define IMSVidCAGSeg_AddRef(This)
  612.     (This)->lpVtbl -> AddRef(This)
  613. #define IMSVidCAGSeg_Release(This)
  614.     (This)->lpVtbl -> Release(This)
  615. #define IMSVidCAGSeg_GetTypeInfoCount(This,pctinfo)
  616.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  617. #define IMSVidCAGSeg_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  618.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  619. #define IMSVidCAGSeg_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  620.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  621. #define IMSVidCAGSeg_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  622.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  623. #define IMSVidCAGSeg_get_Name(This,Name)
  624.     (This)->lpVtbl -> get_Name(This,Name)
  625. #define IMSVidCAGSeg_get_Status(This,Status)
  626.     (This)->lpVtbl -> get_Status(This,Status)
  627. #define IMSVidCAGSeg_put_Power(This,Power)
  628.     (This)->lpVtbl -> put_Power(This,Power)
  629. #define IMSVidCAGSeg_get_Power(This,Power)
  630.     (This)->lpVtbl -> get_Power(This,Power)
  631. #define IMSVidCAGSeg_get_Category(This,Guid)
  632.     (This)->lpVtbl -> get_Category(This,Guid)
  633. #define IMSVidCAGSeg_get_ClassID(This,Clsid)
  634.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  635. #define IMSVidCAGSeg_get__Category(This,Guid)
  636.     (This)->lpVtbl -> get__Category(This,Guid)
  637. #define IMSVidCAGSeg_get__ClassID(This,Clsid)
  638.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  639. #define IMSVidCAGSeg_IsEqualDevice(This,Device,IsEqual)
  640.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  641. #define IMSVidCAGSeg_MarkDirty(This)
  642.     (This)->lpVtbl -> MarkDirty(This)
  643. #define IMSVidCAGSeg_put_TuneRequest(This,ptunereq)
  644.     (This)->lpVtbl -> put_TuneRequest(This,ptunereq)
  645. #endif /* COBJMACROS */
  646. #endif  /* C style interface */
  647. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCAGSeg_MarkDirty_Proxy( 
  648.     IMSVidCAGSeg * This);
  649. void __RPC_STUB IMSVidCAGSeg_MarkDirty_Stub(
  650.     IRpcStubBuffer *This,
  651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  652.     PRPC_MESSAGE _pRpcMessage,
  653.     DWORD *_pdwStubPhase);
  654. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCAGSeg_put_TuneRequest_Proxy( 
  655.     IMSVidCAGSeg * This,
  656.     /* [in] */ ITuneRequest *ptunereq);
  657. void __RPC_STUB IMSVidCAGSeg_put_TuneRequest_Stub(
  658.     IRpcStubBuffer *This,
  659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  660.     PRPC_MESSAGE _pRpcMessage,
  661.     DWORD *_pdwStubPhase);
  662. #endif  /* __IMSVidCAGSeg_INTERFACE_DEFINED__ */
  663. /* interface __MIDL_itf_segment_0555 */
  664. /* [local] */ 
  665. typedef /* [public][public][public] */ 
  666. enum __MIDL___MIDL_itf_segment_0555_0001
  667.     { sslFullSize = 0,
  668. sslClipByOverScan = sslFullSize + 1,
  669. sslClipByClipRect = sslClipByOverScan + 1
  670.     }  SourceSizeList;
  671. extern RPC_IF_HANDLE __MIDL_itf_segment_0555_v0_0_c_ifspec;
  672. extern RPC_IF_HANDLE __MIDL_itf_segment_0555_v0_0_s_ifspec;
  673. #ifndef __IMSVidVideoRenderer_INTERFACE_DEFINED__
  674. #define __IMSVidVideoRenderer_INTERFACE_DEFINED__
  675. /* interface IMSVidVideoRenderer */
  676. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  677. EXTERN_C const IID IID_IMSVidVideoRenderer;
  678. #if defined(__cplusplus) && !defined(CINTERFACE)
  679.     
  680.     MIDL_INTERFACE("37B03540-A4C8-11d2-B634-00C04F79498E")
  681.     IMSVidVideoRenderer : public IMSVidOutputDevice
  682.     {
  683.     public:
  684.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CustomCompositorClass( 
  685.             /* [retval][out] */ BSTR *CompositorCLSID) = 0;
  686.         
  687.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_CustomCompositorClass( 
  688.             /* [in] */ BSTR CompositorCLSID) = 0;
  689.         
  690.         virtual /* [id][restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get__CustomCompositorClass( 
  691.             /* [retval][out] */ GUID *CompositorCLSID) = 0;
  692.         
  693.         virtual /* [id][restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE put__CustomCompositorClass( 
  694.             /* [in] */ REFCLSID CompositorCLSID) = 0;
  695.         
  696.         virtual /* [id][restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get__CustomCompositor( 
  697.             /* [retval][out] */ IVMRImageCompositor **Compositor) = 0;
  698.         
  699.         virtual /* [id][restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE put__CustomCompositor( 
  700.             /* [in] */ IVMRImageCompositor *Compositor) = 0;
  701.         
  702.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MixerBitmap( 
  703.             /* [retval][out] */ IPictureDisp **MixerPictureDisp) = 0;
  704.         
  705.         virtual /* [id][restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get__MixerBitmap( 
  706.             /* [retval][out] */ IVMRMixerBitmap **MixerPicture) = 0;
  707.         
  708.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_MixerBitmap( 
  709.             /* [in] */ IPictureDisp *MixerPictureDisp) = 0;
  710.         
  711.         virtual /* [id][restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE put__MixerBitmap( 
  712.             /* [in] */ VMRALPHABITMAP *MixerPicture) = 0;
  713.         
  714.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MixerBitmapPositionRect( 
  715.             /* [retval][out] */ IMSVidRect **rDest) = 0;
  716.         
  717.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_MixerBitmapPositionRect( 
  718.             /* [in] */ IMSVidRect *rDest) = 0;
  719.         
  720.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MixerBitmapOpacity( 
  721.             /* [retval][out] */ int *opacity) = 0;
  722.         
  723.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_MixerBitmapOpacity( 
  724.             /* [in] */ int opacity) = 0;
  725.         
  726.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetupMixerBitmap( 
  727.             /* [in] */ IPictureDisp *MixerPictureDisp,
  728.             /* [in] */ long Opacity,
  729.             /* [in] */ IMSVidRect *rDest) = 0;
  730.         
  731.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_SourceSize( 
  732.             /* [out][retval] */ SourceSizeList *CurrentSize) = 0;
  733.         
  734.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_SourceSize( 
  735.             /* [in] */ SourceSizeList NewSize) = 0;
  736.         
  737.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OverScan( 
  738.             /* [out][retval] */ long *plPercent) = 0;
  739.         
  740.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OverScan( 
  741.             /* [in] */ long lPercent) = 0;
  742.         
  743.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_AvailableSourceRect( 
  744.             /* [retval][out] */ IMSVidRect **pRect) = 0;
  745.         
  746.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MaxVidRect( 
  747.             /* [retval][out] */ IMSVidRect **ppVidRect) = 0;
  748.         
  749.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MinVidRect( 
  750.             /* [retval][out] */ IMSVidRect **ppVidRect) = 0;
  751.         
  752.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ClippedSourceRect( 
  753.             /* [retval][out] */ IMSVidRect **pRect) = 0;
  754.         
  755.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ClippedSourceRect( 
  756.             /* [in] */ IMSVidRect *pRect) = 0;
  757.         
  758.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_UsingOverlay( 
  759.             /* [retval][out] */ VARIANT_BOOL *UseOverlayVal) = 0;
  760.         
  761.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_UsingOverlay( 
  762.             /* [in] */ VARIANT_BOOL UseOverlayVal) = 0;
  763.         
  764.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Capture( 
  765.             /* [retval][out] */ IPictureDisp **currentImage) = 0;
  766.         
  767.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FramesPerSecond( 
  768.             /* [retval][out] */ long *pVal) = 0;
  769.         
  770.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DecimateInput( 
  771.             /* [retval][out] */ VARIANT_BOOL *pDeci) = 0;
  772.         
  773.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DecimateInput( 
  774.             /* [in] */ VARIANT_BOOL pDeci) = 0;
  775.         
  776.     };
  777.     
  778. #else  /* C style interface */
  779.     typedef struct IMSVidVideoRendererVtbl
  780.     {
  781.         BEGIN_INTERFACE
  782.         
  783.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  784.             IMSVidVideoRenderer * This,
  785.             /* [in] */ REFIID riid,
  786.             /* [iid_is][out] */ void **ppvObject);
  787.         
  788.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  789.             IMSVidVideoRenderer * This);
  790.         
  791.         ULONG ( STDMETHODCALLTYPE *Release )( 
  792.             IMSVidVideoRenderer * This);
  793.         
  794.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  795.             IMSVidVideoRenderer * This,
  796.             /* [out] */ UINT *pctinfo);
  797.         
  798.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  799.             IMSVidVideoRenderer * This,
  800.             /* [in] */ UINT iTInfo,
  801.             /* [in] */ LCID lcid,
  802.             /* [out] */ ITypeInfo **ppTInfo);
  803.         
  804.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  805.             IMSVidVideoRenderer * This,
  806.             /* [in] */ REFIID riid,
  807.             /* [size_is][in] */ LPOLESTR *rgszNames,
  808.             /* [in] */ UINT cNames,
  809.             /* [in] */ LCID lcid,
  810.             /* [size_is][out] */ DISPID *rgDispId);
  811.         
  812.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  813.             IMSVidVideoRenderer * This,
  814.             /* [in] */ DISPID dispIdMember,
  815.             /* [in] */ REFIID riid,
  816.             /* [in] */ LCID lcid,
  817.             /* [in] */ WORD wFlags,
  818.             /* [out][in] */ DISPPARAMS *pDispParams,
  819.             /* [out] */ VARIANT *pVarResult,
  820.             /* [out] */ EXCEPINFO *pExcepInfo,
  821.             /* [out] */ UINT *puArgErr);
  822.         
  823.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  824.             IMSVidVideoRenderer * This,
  825.             /* [retval][out] */ BSTR *Name);
  826.         
  827.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  828.             IMSVidVideoRenderer * This,
  829.             /* [retval][out] */ long *Status);
  830.         
  831.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  832.             IMSVidVideoRenderer * This,
  833.             /* [in] */ VARIANT_BOOL Power);
  834.         
  835.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  836.             IMSVidVideoRenderer * This,
  837.             /* [out][retval] */ VARIANT_BOOL *Power);
  838.         
  839.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  840.             IMSVidVideoRenderer * This,
  841.             /* [retval][out] */ BSTR *Guid);
  842.         
  843.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  844.             IMSVidVideoRenderer * This,
  845.             /* [retval][out] */ BSTR *Clsid);
  846.         
  847.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  848.             IMSVidVideoRenderer * This,
  849.             /* [retval][out] */ GUID *Guid);
  850.         
  851.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  852.             IMSVidVideoRenderer * This,
  853.             /* [retval][out] */ GUID *Clsid);
  854.         
  855.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  856.             IMSVidVideoRenderer * This,
  857.             /* [in] */ IMSVidDevice *Device,
  858.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  859.         
  860.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CustomCompositorClass )( 
  861.             IMSVidVideoRenderer * This,
  862.             /* [retval][out] */ BSTR *CompositorCLSID);
  863.         
  864.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CustomCompositorClass )( 
  865.             IMSVidVideoRenderer * This,
  866.             /* [in] */ BSTR CompositorCLSID);
  867.         
  868.         /* [id][restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get__CustomCompositorClass )( 
  869.             IMSVidVideoRenderer * This,
  870.             /* [retval][out] */ GUID *CompositorCLSID);
  871.         
  872.         /* [id][restricted][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put__CustomCompositorClass )( 
  873.             IMSVidVideoRenderer * This,
  874.             /* [in] */ REFCLSID CompositorCLSID);
  875.         
  876.         /* [id][restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get__CustomCompositor )( 
  877.             IMSVidVideoRenderer * This,
  878.             /* [retval][out] */ IVMRImageCompositor **Compositor);
  879.         
  880.         /* [id][restricted][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put__CustomCompositor )( 
  881.             IMSVidVideoRenderer * This,
  882.             /* [in] */ IVMRImageCompositor *Compositor);
  883.         
  884.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MixerBitmap )( 
  885.             IMSVidVideoRenderer * This,
  886.             /* [retval][out] */ IPictureDisp **MixerPictureDisp);
  887.         
  888.         /* [id][restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get__MixerBitmap )( 
  889.             IMSVidVideoRenderer * This,
  890.             /* [retval][out] */ IVMRMixerBitmap **MixerPicture);
  891.         
  892.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MixerBitmap )( 
  893.             IMSVidVideoRenderer * This,
  894.             /* [in] */ IPictureDisp *MixerPictureDisp);
  895.         
  896.         /* [id][restricted][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put__MixerBitmap )( 
  897.             IMSVidVideoRenderer * This,
  898.             /* [in] */ VMRALPHABITMAP *MixerPicture);
  899.         
  900.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MixerBitmapPositionRect )( 
  901.             IMSVidVideoRenderer * This,
  902.             /* [retval][out] */ IMSVidRect **rDest);
  903.         
  904.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MixerBitmapPositionRect )( 
  905.             IMSVidVideoRenderer * This,
  906.             /* [in] */ IMSVidRect *rDest);
  907.         
  908.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MixerBitmapOpacity )( 
  909.             IMSVidVideoRenderer * This,
  910.             /* [retval][out] */ int *opacity);
  911.         
  912.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MixerBitmapOpacity )( 
  913.             IMSVidVideoRenderer * This,
  914.             /* [in] */ int opacity);
  915.         
  916.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetupMixerBitmap )( 
  917.             IMSVidVideoRenderer * This,
  918.             /* [in] */ IPictureDisp *MixerPictureDisp,
  919.             /* [in] */ long Opacity,
  920.             /* [in] */ IMSVidRect *rDest);
  921.         
  922.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceSize )( 
  923.             IMSVidVideoRenderer * This,
  924.             /* [out][retval] */ SourceSizeList *CurrentSize);
  925.         
  926.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceSize )( 
  927.             IMSVidVideoRenderer * This,
  928.             /* [in] */ SourceSizeList NewSize);
  929.         
  930.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OverScan )( 
  931.             IMSVidVideoRenderer * This,
  932.             /* [out][retval] */ long *plPercent);
  933.         
  934.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OverScan )( 
  935.             IMSVidVideoRenderer * This,
  936.             /* [in] */ long lPercent);
  937.         
  938.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AvailableSourceRect )( 
  939.             IMSVidVideoRenderer * This,
  940.             /* [retval][out] */ IMSVidRect **pRect);
  941.         
  942.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxVidRect )( 
  943.             IMSVidVideoRenderer * This,
  944.             /* [retval][out] */ IMSVidRect **ppVidRect);
  945.         
  946.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinVidRect )( 
  947.             IMSVidVideoRenderer * This,
  948.             /* [retval][out] */ IMSVidRect **ppVidRect);
  949.         
  950.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippedSourceRect )( 
  951.             IMSVidVideoRenderer * This,
  952.             /* [retval][out] */ IMSVidRect **pRect);
  953.         
  954.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClippedSourceRect )( 
  955.             IMSVidVideoRenderer * This,
  956.             /* [in] */ IMSVidRect *pRect);
  957.         
  958.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UsingOverlay )( 
  959.             IMSVidVideoRenderer * This,
  960.             /* [retval][out] */ VARIANT_BOOL *UseOverlayVal);
  961.         
  962.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UsingOverlay )( 
  963.             IMSVidVideoRenderer * This,
  964.             /* [in] */ VARIANT_BOOL UseOverlayVal);
  965.         
  966.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Capture )( 
  967.             IMSVidVideoRenderer * This,
  968.             /* [retval][out] */ IPictureDisp **currentImage);
  969.         
  970.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FramesPerSecond )( 
  971.             IMSVidVideoRenderer * This,
  972.             /* [retval][out] */ long *pVal);
  973.         
  974.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimateInput )( 
  975.             IMSVidVideoRenderer * This,
  976.             /* [retval][out] */ VARIANT_BOOL *pDeci);
  977.         
  978.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimateInput )( 
  979.             IMSVidVideoRenderer * This,
  980.             /* [in] */ VARIANT_BOOL pDeci);
  981.         
  982.         END_INTERFACE
  983.     } IMSVidVideoRendererVtbl;
  984.     interface IMSVidVideoRenderer
  985.     {
  986.         CONST_VTBL struct IMSVidVideoRendererVtbl *lpVtbl;
  987.     };
  988.     
  989. #ifdef COBJMACROS
  990. #define IMSVidVideoRenderer_QueryInterface(This,riid,ppvObject)
  991.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  992. #define IMSVidVideoRenderer_AddRef(This)
  993.     (This)->lpVtbl -> AddRef(This)
  994. #define IMSVidVideoRenderer_Release(This)
  995.     (This)->lpVtbl -> Release(This)
  996. #define IMSVidVideoRenderer_GetTypeInfoCount(This,pctinfo)
  997.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  998. #define IMSVidVideoRenderer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  999.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1000. #define IMSVidVideoRenderer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1001.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1002. #define IMSVidVideoRenderer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1003.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1004. #define IMSVidVideoRenderer_get_Name(This,Name)
  1005.     (This)->lpVtbl -> get_Name(This,Name)
  1006. #define IMSVidVideoRenderer_get_Status(This,Status)
  1007.     (This)->lpVtbl -> get_Status(This,Status)
  1008. #define IMSVidVideoRenderer_put_Power(This,Power)
  1009.     (This)->lpVtbl -> put_Power(This,Power)
  1010. #define IMSVidVideoRenderer_get_Power(This,Power)
  1011.     (This)->lpVtbl -> get_Power(This,Power)
  1012. #define IMSVidVideoRenderer_get_Category(This,Guid)
  1013.     (This)->lpVtbl -> get_Category(This,Guid)
  1014. #define IMSVidVideoRenderer_get_ClassID(This,Clsid)
  1015.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  1016. #define IMSVidVideoRenderer_get__Category(This,Guid)
  1017.     (This)->lpVtbl -> get__Category(This,Guid)
  1018. #define IMSVidVideoRenderer_get__ClassID(This,Clsid)
  1019.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  1020. #define IMSVidVideoRenderer_IsEqualDevice(This,Device,IsEqual)
  1021.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  1022. #define IMSVidVideoRenderer_get_CustomCompositorClass(This,CompositorCLSID)
  1023.     (This)->lpVtbl -> get_CustomCompositorClass(This,CompositorCLSID)
  1024. #define IMSVidVideoRenderer_put_CustomCompositorClass(This,CompositorCLSID)
  1025.     (This)->lpVtbl -> put_CustomCompositorClass(This,CompositorCLSID)
  1026. #define IMSVidVideoRenderer_get__CustomCompositorClass(This,CompositorCLSID)
  1027.     (This)->lpVtbl -> get__CustomCompositorClass(This,CompositorCLSID)
  1028. #define IMSVidVideoRenderer_put__CustomCompositorClass(This,CompositorCLSID)
  1029.     (This)->lpVtbl -> put__CustomCompositorClass(This,CompositorCLSID)
  1030. #define IMSVidVideoRenderer_get__CustomCompositor(This,Compositor)
  1031.     (This)->lpVtbl -> get__CustomCompositor(This,Compositor)
  1032. #define IMSVidVideoRenderer_put__CustomCompositor(This,Compositor)
  1033.     (This)->lpVtbl -> put__CustomCompositor(This,Compositor)
  1034. #define IMSVidVideoRenderer_get_MixerBitmap(This,MixerPictureDisp)
  1035.     (This)->lpVtbl -> get_MixerBitmap(This,MixerPictureDisp)
  1036. #define IMSVidVideoRenderer_get__MixerBitmap(This,MixerPicture)
  1037.     (This)->lpVtbl -> get__MixerBitmap(This,MixerPicture)
  1038. #define IMSVidVideoRenderer_put_MixerBitmap(This,MixerPictureDisp)
  1039.     (This)->lpVtbl -> put_MixerBitmap(This,MixerPictureDisp)
  1040. #define IMSVidVideoRenderer_put__MixerBitmap(This,MixerPicture)
  1041.     (This)->lpVtbl -> put__MixerBitmap(This,MixerPicture)
  1042. #define IMSVidVideoRenderer_get_MixerBitmapPositionRect(This,rDest)
  1043.     (This)->lpVtbl -> get_MixerBitmapPositionRect(This,rDest)
  1044. #define IMSVidVideoRenderer_put_MixerBitmapPositionRect(This,rDest)
  1045.     (This)->lpVtbl -> put_MixerBitmapPositionRect(This,rDest)
  1046. #define IMSVidVideoRenderer_get_MixerBitmapOpacity(This,opacity)
  1047.     (This)->lpVtbl -> get_MixerBitmapOpacity(This,opacity)
  1048. #define IMSVidVideoRenderer_put_MixerBitmapOpacity(This,opacity)
  1049.     (This)->lpVtbl -> put_MixerBitmapOpacity(This,opacity)
  1050. #define IMSVidVideoRenderer_SetupMixerBitmap(This,MixerPictureDisp,Opacity,rDest)
  1051.     (This)->lpVtbl -> SetupMixerBitmap(This,MixerPictureDisp,Opacity,rDest)
  1052. #define IMSVidVideoRenderer_get_SourceSize(This,CurrentSize)
  1053.     (This)->lpVtbl -> get_SourceSize(This,CurrentSize)
  1054. #define IMSVidVideoRenderer_put_SourceSize(This,NewSize)
  1055.     (This)->lpVtbl -> put_SourceSize(This,NewSize)
  1056. #define IMSVidVideoRenderer_get_OverScan(This,plPercent)
  1057.     (This)->lpVtbl -> get_OverScan(This,plPercent)
  1058. #define IMSVidVideoRenderer_put_OverScan(This,lPercent)
  1059.     (This)->lpVtbl -> put_OverScan(This,lPercent)
  1060. #define IMSVidVideoRenderer_get_AvailableSourceRect(This,pRect)
  1061.     (This)->lpVtbl -> get_AvailableSourceRect(This,pRect)
  1062. #define IMSVidVideoRenderer_get_MaxVidRect(This,ppVidRect)
  1063.     (This)->lpVtbl -> get_MaxVidRect(This,ppVidRect)
  1064. #define IMSVidVideoRenderer_get_MinVidRect(This,ppVidRect)
  1065.     (This)->lpVtbl -> get_MinVidRect(This,ppVidRect)
  1066. #define IMSVidVideoRenderer_get_ClippedSourceRect(This,pRect)
  1067.     (This)->lpVtbl -> get_ClippedSourceRect(This,pRect)
  1068. #define IMSVidVideoRenderer_put_ClippedSourceRect(This,pRect)
  1069.     (This)->lpVtbl -> put_ClippedSourceRect(This,pRect)
  1070. #define IMSVidVideoRenderer_get_UsingOverlay(This,UseOverlayVal)
  1071.     (This)->lpVtbl -> get_UsingOverlay(This,UseOverlayVal)
  1072. #define IMSVidVideoRenderer_put_UsingOverlay(This,UseOverlayVal)
  1073.     (This)->lpVtbl -> put_UsingOverlay(This,UseOverlayVal)
  1074. #define IMSVidVideoRenderer_Capture(This,currentImage)
  1075.     (This)->lpVtbl -> Capture(This,currentImage)
  1076. #define IMSVidVideoRenderer_get_FramesPerSecond(This,pVal)
  1077.     (This)->lpVtbl -> get_FramesPerSecond(This,pVal)
  1078. #define IMSVidVideoRenderer_get_DecimateInput(This,pDeci)
  1079.     (This)->lpVtbl -> get_DecimateInput(This,pDeci)
  1080. #define IMSVidVideoRenderer_put_DecimateInput(This,pDeci)
  1081.     (This)->lpVtbl -> put_DecimateInput(This,pDeci)
  1082. #endif /* COBJMACROS */
  1083. #endif  /* C style interface */
  1084. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_CustomCompositorClass_Proxy( 
  1085.     IMSVidVideoRenderer * This,
  1086.     /* [retval][out] */ BSTR *CompositorCLSID);
  1087. void __RPC_STUB IMSVidVideoRenderer_get_CustomCompositorClass_Stub(
  1088.     IRpcStubBuffer *This,
  1089.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1090.     PRPC_MESSAGE _pRpcMessage,
  1091.     DWORD *_pdwStubPhase);
  1092. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_CustomCompositorClass_Proxy( 
  1093.     IMSVidVideoRenderer * This,
  1094.     /* [in] */ BSTR CompositorCLSID);
  1095. void __RPC_STUB IMSVidVideoRenderer_put_CustomCompositorClass_Stub(
  1096.     IRpcStubBuffer *This,
  1097.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1098.     PRPC_MESSAGE _pRpcMessage,
  1099.     DWORD *_pdwStubPhase);
  1100. /* [id][restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get__CustomCompositorClass_Proxy( 
  1101.     IMSVidVideoRenderer * This,
  1102.     /* [retval][out] */ GUID *CompositorCLSID);
  1103. void __RPC_STUB IMSVidVideoRenderer_get__CustomCompositorClass_Stub(
  1104.     IRpcStubBuffer *This,
  1105.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1106.     PRPC_MESSAGE _pRpcMessage,
  1107.     DWORD *_pdwStubPhase);
  1108. /* [id][restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put__CustomCompositorClass_Proxy( 
  1109.     IMSVidVideoRenderer * This,
  1110.     /* [in] */ REFCLSID CompositorCLSID);
  1111. void __RPC_STUB IMSVidVideoRenderer_put__CustomCompositorClass_Stub(
  1112.     IRpcStubBuffer *This,
  1113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1114.     PRPC_MESSAGE _pRpcMessage,
  1115.     DWORD *_pdwStubPhase);
  1116. /* [id][restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get__CustomCompositor_Proxy( 
  1117.     IMSVidVideoRenderer * This,
  1118.     /* [retval][out] */ IVMRImageCompositor **Compositor);
  1119. void __RPC_STUB IMSVidVideoRenderer_get__CustomCompositor_Stub(
  1120.     IRpcStubBuffer *This,
  1121.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1122.     PRPC_MESSAGE _pRpcMessage,
  1123.     DWORD *_pdwStubPhase);
  1124. /* [id][restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put__CustomCompositor_Proxy( 
  1125.     IMSVidVideoRenderer * This,
  1126.     /* [in] */ IVMRImageCompositor *Compositor);
  1127. void __RPC_STUB IMSVidVideoRenderer_put__CustomCompositor_Stub(
  1128.     IRpcStubBuffer *This,
  1129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1130.     PRPC_MESSAGE _pRpcMessage,
  1131.     DWORD *_pdwStubPhase);
  1132. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_MixerBitmap_Proxy( 
  1133.     IMSVidVideoRenderer * This,
  1134.     /* [retval][out] */ IPictureDisp **MixerPictureDisp);
  1135. void __RPC_STUB IMSVidVideoRenderer_get_MixerBitmap_Stub(
  1136.     IRpcStubBuffer *This,
  1137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1138.     PRPC_MESSAGE _pRpcMessage,
  1139.     DWORD *_pdwStubPhase);
  1140. /* [id][restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get__MixerBitmap_Proxy( 
  1141.     IMSVidVideoRenderer * This,
  1142.     /* [retval][out] */ IVMRMixerBitmap **MixerPicture);
  1143. void __RPC_STUB IMSVidVideoRenderer_get__MixerBitmap_Stub(
  1144.     IRpcStubBuffer *This,
  1145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1146.     PRPC_MESSAGE _pRpcMessage,
  1147.     DWORD *_pdwStubPhase);
  1148. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_MixerBitmap_Proxy( 
  1149.     IMSVidVideoRenderer * This,
  1150.     /* [in] */ IPictureDisp *MixerPictureDisp);
  1151. void __RPC_STUB IMSVidVideoRenderer_put_MixerBitmap_Stub(
  1152.     IRpcStubBuffer *This,
  1153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1154.     PRPC_MESSAGE _pRpcMessage,
  1155.     DWORD *_pdwStubPhase);
  1156. /* [id][restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put__MixerBitmap_Proxy( 
  1157.     IMSVidVideoRenderer * This,
  1158.     /* [in] */ VMRALPHABITMAP *MixerPicture);
  1159. void __RPC_STUB IMSVidVideoRenderer_put__MixerBitmap_Stub(
  1160.     IRpcStubBuffer *This,
  1161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1162.     PRPC_MESSAGE _pRpcMessage,
  1163.     DWORD *_pdwStubPhase);
  1164. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_MixerBitmapPositionRect_Proxy( 
  1165.     IMSVidVideoRenderer * This,
  1166.     /* [retval][out] */ IMSVidRect **rDest);
  1167. void __RPC_STUB IMSVidVideoRenderer_get_MixerBitmapPositionRect_Stub(
  1168.     IRpcStubBuffer *This,
  1169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1170.     PRPC_MESSAGE _pRpcMessage,
  1171.     DWORD *_pdwStubPhase);
  1172. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_MixerBitmapPositionRect_Proxy( 
  1173.     IMSVidVideoRenderer * This,
  1174.     /* [in] */ IMSVidRect *rDest);
  1175. void __RPC_STUB IMSVidVideoRenderer_put_MixerBitmapPositionRect_Stub(
  1176.     IRpcStubBuffer *This,
  1177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1178.     PRPC_MESSAGE _pRpcMessage,
  1179.     DWORD *_pdwStubPhase);
  1180. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_MixerBitmapOpacity_Proxy( 
  1181.     IMSVidVideoRenderer * This,
  1182.     /* [retval][out] */ int *opacity);
  1183. void __RPC_STUB IMSVidVideoRenderer_get_MixerBitmapOpacity_Stub(
  1184.     IRpcStubBuffer *This,
  1185.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1186.     PRPC_MESSAGE _pRpcMessage,
  1187.     DWORD *_pdwStubPhase);
  1188. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_MixerBitmapOpacity_Proxy( 
  1189.     IMSVidVideoRenderer * This,
  1190.     /* [in] */ int opacity);
  1191. void __RPC_STUB IMSVidVideoRenderer_put_MixerBitmapOpacity_Stub(
  1192.     IRpcStubBuffer *This,
  1193.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1194.     PRPC_MESSAGE _pRpcMessage,
  1195.     DWORD *_pdwStubPhase);
  1196. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_SetupMixerBitmap_Proxy( 
  1197.     IMSVidVideoRenderer * This,
  1198.     /* [in] */ IPictureDisp *MixerPictureDisp,
  1199.     /* [in] */ long Opacity,
  1200.     /* [in] */ IMSVidRect *rDest);
  1201. void __RPC_STUB IMSVidVideoRenderer_SetupMixerBitmap_Stub(
  1202.     IRpcStubBuffer *This,
  1203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1204.     PRPC_MESSAGE _pRpcMessage,
  1205.     DWORD *_pdwStubPhase);
  1206. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_SourceSize_Proxy( 
  1207.     IMSVidVideoRenderer * This,
  1208.     /* [out][retval] */ SourceSizeList *CurrentSize);
  1209. void __RPC_STUB IMSVidVideoRenderer_get_SourceSize_Stub(
  1210.     IRpcStubBuffer *This,
  1211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1212.     PRPC_MESSAGE _pRpcMessage,
  1213.     DWORD *_pdwStubPhase);
  1214. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_SourceSize_Proxy( 
  1215.     IMSVidVideoRenderer * This,
  1216.     /* [in] */ SourceSizeList NewSize);
  1217. void __RPC_STUB IMSVidVideoRenderer_put_SourceSize_Stub(
  1218.     IRpcStubBuffer *This,
  1219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1220.     PRPC_MESSAGE _pRpcMessage,
  1221.     DWORD *_pdwStubPhase);
  1222. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_OverScan_Proxy( 
  1223.     IMSVidVideoRenderer * This,
  1224.     /* [out][retval] */ long *plPercent);
  1225. void __RPC_STUB IMSVidVideoRenderer_get_OverScan_Stub(
  1226.     IRpcStubBuffer *This,
  1227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1228.     PRPC_MESSAGE _pRpcMessage,
  1229.     DWORD *_pdwStubPhase);
  1230. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_OverScan_Proxy( 
  1231.     IMSVidVideoRenderer * This,
  1232.     /* [in] */ long lPercent);
  1233. void __RPC_STUB IMSVidVideoRenderer_put_OverScan_Stub(
  1234.     IRpcStubBuffer *This,
  1235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1236.     PRPC_MESSAGE _pRpcMessage,
  1237.     DWORD *_pdwStubPhase);
  1238. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_AvailableSourceRect_Proxy( 
  1239.     IMSVidVideoRenderer * This,
  1240.     /* [retval][out] */ IMSVidRect **pRect);
  1241. void __RPC_STUB IMSVidVideoRenderer_get_AvailableSourceRect_Stub(
  1242.     IRpcStubBuffer *This,
  1243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1244.     PRPC_MESSAGE _pRpcMessage,
  1245.     DWORD *_pdwStubPhase);
  1246. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_MaxVidRect_Proxy( 
  1247.     IMSVidVideoRenderer * This,
  1248.     /* [retval][out] */ IMSVidRect **ppVidRect);
  1249. void __RPC_STUB IMSVidVideoRenderer_get_MaxVidRect_Stub(
  1250.     IRpcStubBuffer *This,
  1251.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1252.     PRPC_MESSAGE _pRpcMessage,
  1253.     DWORD *_pdwStubPhase);
  1254. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_MinVidRect_Proxy( 
  1255.     IMSVidVideoRenderer * This,
  1256.     /* [retval][out] */ IMSVidRect **ppVidRect);
  1257. void __RPC_STUB IMSVidVideoRenderer_get_MinVidRect_Stub(
  1258.     IRpcStubBuffer *This,
  1259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1260.     PRPC_MESSAGE _pRpcMessage,
  1261.     DWORD *_pdwStubPhase);
  1262. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_ClippedSourceRect_Proxy( 
  1263.     IMSVidVideoRenderer * This,
  1264.     /* [retval][out] */ IMSVidRect **pRect);
  1265. void __RPC_STUB IMSVidVideoRenderer_get_ClippedSourceRect_Stub(
  1266.     IRpcStubBuffer *This,
  1267.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1268.     PRPC_MESSAGE _pRpcMessage,
  1269.     DWORD *_pdwStubPhase);
  1270. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_ClippedSourceRect_Proxy( 
  1271.     IMSVidVideoRenderer * This,
  1272.     /* [in] */ IMSVidRect *pRect);
  1273. void __RPC_STUB IMSVidVideoRenderer_put_ClippedSourceRect_Stub(
  1274.     IRpcStubBuffer *This,
  1275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1276.     PRPC_MESSAGE _pRpcMessage,
  1277.     DWORD *_pdwStubPhase);
  1278. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_UsingOverlay_Proxy( 
  1279.     IMSVidVideoRenderer * This,
  1280.     /* [retval][out] */ VARIANT_BOOL *UseOverlayVal);
  1281. void __RPC_STUB IMSVidVideoRenderer_get_UsingOverlay_Stub(
  1282.     IRpcStubBuffer *This,
  1283.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1284.     PRPC_MESSAGE _pRpcMessage,
  1285.     DWORD *_pdwStubPhase);
  1286. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_UsingOverlay_Proxy( 
  1287.     IMSVidVideoRenderer * This,
  1288.     /* [in] */ VARIANT_BOOL UseOverlayVal);
  1289. void __RPC_STUB IMSVidVideoRenderer_put_UsingOverlay_Stub(
  1290.     IRpcStubBuffer *This,
  1291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1292.     PRPC_MESSAGE _pRpcMessage,
  1293.     DWORD *_pdwStubPhase);
  1294. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_Capture_Proxy( 
  1295.     IMSVidVideoRenderer * This,
  1296.     /* [retval][out] */ IPictureDisp **currentImage);
  1297. void __RPC_STUB IMSVidVideoRenderer_Capture_Stub(
  1298.     IRpcStubBuffer *This,
  1299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1300.     PRPC_MESSAGE _pRpcMessage,
  1301.     DWORD *_pdwStubPhase);
  1302. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_FramesPerSecond_Proxy( 
  1303.     IMSVidVideoRenderer * This,
  1304.     /* [retval][out] */ long *pVal);
  1305. void __RPC_STUB IMSVidVideoRenderer_get_FramesPerSecond_Stub(
  1306.     IRpcStubBuffer *This,
  1307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1308.     PRPC_MESSAGE _pRpcMessage,
  1309.     DWORD *_pdwStubPhase);
  1310. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_get_DecimateInput_Proxy( 
  1311.     IMSVidVideoRenderer * This,
  1312.     /* [retval][out] */ VARIANT_BOOL *pDeci);
  1313. void __RPC_STUB IMSVidVideoRenderer_get_DecimateInput_Stub(
  1314.     IRpcStubBuffer *This,
  1315.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1316.     PRPC_MESSAGE _pRpcMessage,
  1317.     DWORD *_pdwStubPhase);
  1318. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRenderer_put_DecimateInput_Proxy( 
  1319.     IMSVidVideoRenderer * This,
  1320.     /* [in] */ VARIANT_BOOL pDeci);
  1321. void __RPC_STUB IMSVidVideoRenderer_put_DecimateInput_Stub(
  1322.     IRpcStubBuffer *This,
  1323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1324.     PRPC_MESSAGE _pRpcMessage,
  1325.     DWORD *_pdwStubPhase);
  1326. #endif  /* __IMSVidVideoRenderer_INTERFACE_DEFINED__ */
  1327. #ifndef __IMSVidVideoRendererEvent_INTERFACE_DEFINED__
  1328. #define __IMSVidVideoRendererEvent_INTERFACE_DEFINED__
  1329. /* interface IMSVidVideoRendererEvent */
  1330. /* [unique][helpstring][uuid][hidden][oleautomation][object] */ 
  1331. EXTERN_C const IID IID_IMSVidVideoRendererEvent;
  1332. #if defined(__cplusplus) && !defined(CINTERFACE)
  1333.     
  1334.     MIDL_INTERFACE("37B03545-A4C8-11d2-B634-00C04F79498E")
  1335.     IMSVidVideoRendererEvent : public IMSVidOutputDeviceEvent
  1336.     {
  1337.     public:
  1338.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OverlayUnavailable( void) = 0;
  1339.         
  1340.     };
  1341.     
  1342. #else  /* C style interface */
  1343.     typedef struct IMSVidVideoRendererEventVtbl
  1344.     {
  1345.         BEGIN_INTERFACE
  1346.         
  1347.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1348.             IMSVidVideoRendererEvent * This,
  1349.             /* [in] */ REFIID riid,
  1350.             /* [iid_is][out] */ void **ppvObject);
  1351.         
  1352.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1353.             IMSVidVideoRendererEvent * This);
  1354.         
  1355.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1356.             IMSVidVideoRendererEvent * This);
  1357.         
  1358.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1359.             IMSVidVideoRendererEvent * This,
  1360.             /* [out] */ UINT *pctinfo);
  1361.         
  1362.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1363.             IMSVidVideoRendererEvent * This,
  1364.             /* [in] */ UINT iTInfo,
  1365.             /* [in] */ LCID lcid,
  1366.             /* [out] */ ITypeInfo **ppTInfo);
  1367.         
  1368.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1369.             IMSVidVideoRendererEvent * This,
  1370.             /* [in] */ REFIID riid,
  1371.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1372.             /* [in] */ UINT cNames,
  1373.             /* [in] */ LCID lcid,
  1374.             /* [size_is][out] */ DISPID *rgDispId);
  1375.         
  1376.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1377.             IMSVidVideoRendererEvent * This,
  1378.             /* [in] */ DISPID dispIdMember,
  1379.             /* [in] */ REFIID riid,
  1380.             /* [in] */ LCID lcid,
  1381.             /* [in] */ WORD wFlags,
  1382.             /* [out][in] */ DISPPARAMS *pDispParams,
  1383.             /* [out] */ VARIANT *pVarResult,
  1384.             /* [out] */ EXCEPINFO *pExcepInfo,
  1385.             /* [out] */ UINT *puArgErr);
  1386.         
  1387.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *StateChange )( 
  1388.             IMSVidVideoRendererEvent * This,
  1389.             /* [in] */ IMSVidDevice *lpd,
  1390.             /* [in] */ long oldState,
  1391.             /* [in] */ long newState);
  1392.         
  1393.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OverlayUnavailable )( 
  1394.             IMSVidVideoRendererEvent * This);
  1395.         
  1396.         END_INTERFACE
  1397.     } IMSVidVideoRendererEventVtbl;
  1398.     interface IMSVidVideoRendererEvent
  1399.     {
  1400.         CONST_VTBL struct IMSVidVideoRendererEventVtbl *lpVtbl;
  1401.     };
  1402.     
  1403. #ifdef COBJMACROS
  1404. #define IMSVidVideoRendererEvent_QueryInterface(This,riid,ppvObject)
  1405.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1406. #define IMSVidVideoRendererEvent_AddRef(This)
  1407.     (This)->lpVtbl -> AddRef(This)
  1408. #define IMSVidVideoRendererEvent_Release(This)
  1409.     (This)->lpVtbl -> Release(This)
  1410. #define IMSVidVideoRendererEvent_GetTypeInfoCount(This,pctinfo)
  1411.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1412. #define IMSVidVideoRendererEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1413.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1414. #define IMSVidVideoRendererEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1415.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1416. #define IMSVidVideoRendererEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1417.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1418. #define IMSVidVideoRendererEvent_StateChange(This,lpd,oldState,newState)
  1419.     (This)->lpVtbl -> StateChange(This,lpd,oldState,newState)
  1420. #define IMSVidVideoRendererEvent_OverlayUnavailable(This)
  1421.     (This)->lpVtbl -> OverlayUnavailable(This)
  1422. #endif /* COBJMACROS */
  1423. #endif  /* C style interface */
  1424. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRendererEvent_OverlayUnavailable_Proxy( 
  1425.     IMSVidVideoRendererEvent * This);
  1426. void __RPC_STUB IMSVidVideoRendererEvent_OverlayUnavailable_Stub(
  1427.     IRpcStubBuffer *This,
  1428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1429.     PRPC_MESSAGE _pRpcMessage,
  1430.     DWORD *_pdwStubPhase);
  1431. #endif  /* __IMSVidVideoRendererEvent_INTERFACE_DEFINED__ */
  1432. #ifndef __IMSVidAudioRenderer_INTERFACE_DEFINED__
  1433. #define __IMSVidAudioRenderer_INTERFACE_DEFINED__
  1434. /* interface IMSVidAudioRenderer */
  1435. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  1436. EXTERN_C const IID IID_IMSVidAudioRenderer;
  1437. #if defined(__cplusplus) && !defined(CINTERFACE)
  1438.     
  1439.     MIDL_INTERFACE("37B0353F-A4C8-11d2-B634-00C04F79498E")
  1440.     IMSVidAudioRenderer : public IMSVidOutputDevice
  1441.     {
  1442.     public:
  1443.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Volume( 
  1444.             /* [in] */ long lVol) = 0;
  1445.         
  1446.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Volume( 
  1447.             /* [out][retval] */ long *lVol) = 0;
  1448.         
  1449.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Balance( 
  1450.             /* [in] */ long lBal) = 0;
  1451.         
  1452.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Balance( 
  1453.             /* [out][retval] */ long *lBal) = 0;
  1454.         
  1455.     };
  1456.     
  1457. #else  /* C style interface */
  1458.     typedef struct IMSVidAudioRendererVtbl
  1459.     {
  1460.         BEGIN_INTERFACE
  1461.         
  1462.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1463.             IMSVidAudioRenderer * This,
  1464.             /* [in] */ REFIID riid,
  1465.             /* [iid_is][out] */ void **ppvObject);
  1466.         
  1467.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1468.             IMSVidAudioRenderer * This);
  1469.         
  1470.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1471.             IMSVidAudioRenderer * This);
  1472.         
  1473.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1474.             IMSVidAudioRenderer * This,
  1475.             /* [out] */ UINT *pctinfo);
  1476.         
  1477.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1478.             IMSVidAudioRenderer * This,
  1479.             /* [in] */ UINT iTInfo,
  1480.             /* [in] */ LCID lcid,
  1481.             /* [out] */ ITypeInfo **ppTInfo);
  1482.         
  1483.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1484.             IMSVidAudioRenderer * This,
  1485.             /* [in] */ REFIID riid,
  1486.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1487.             /* [in] */ UINT cNames,
  1488.             /* [in] */ LCID lcid,
  1489.             /* [size_is][out] */ DISPID *rgDispId);
  1490.         
  1491.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1492.             IMSVidAudioRenderer * This,
  1493.             /* [in] */ DISPID dispIdMember,
  1494.             /* [in] */ REFIID riid,
  1495.             /* [in] */ LCID lcid,
  1496.             /* [in] */ WORD wFlags,
  1497.             /* [out][in] */ DISPPARAMS *pDispParams,
  1498.             /* [out] */ VARIANT *pVarResult,
  1499.             /* [out] */ EXCEPINFO *pExcepInfo,
  1500.             /* [out] */ UINT *puArgErr);
  1501.         
  1502.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1503.             IMSVidAudioRenderer * This,
  1504.             /* [retval][out] */ BSTR *Name);
  1505.         
  1506.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  1507.             IMSVidAudioRenderer * This,
  1508.             /* [retval][out] */ long *Status);
  1509.         
  1510.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  1511.             IMSVidAudioRenderer * This,
  1512.             /* [in] */ VARIANT_BOOL Power);
  1513.         
  1514.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  1515.             IMSVidAudioRenderer * This,
  1516.             /* [out][retval] */ VARIANT_BOOL *Power);
  1517.         
  1518.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  1519.             IMSVidAudioRenderer * This,
  1520.             /* [retval][out] */ BSTR *Guid);
  1521.         
  1522.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  1523.             IMSVidAudioRenderer * This,
  1524.             /* [retval][out] */ BSTR *Clsid);
  1525.         
  1526.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  1527.             IMSVidAudioRenderer * This,
  1528.             /* [retval][out] */ GUID *Guid);
  1529.         
  1530.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  1531.             IMSVidAudioRenderer * This,
  1532.             /* [retval][out] */ GUID *Clsid);
  1533.         
  1534.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  1535.             IMSVidAudioRenderer * This,
  1536.             /* [in] */ IMSVidDevice *Device,
  1537.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  1538.         
  1539.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )( 
  1540.             IMSVidAudioRenderer * This,
  1541.             /* [in] */ long lVol);
  1542.         
  1543.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )( 
  1544.             IMSVidAudioRenderer * This,
  1545.             /* [out][retval] */ long *lVol);
  1546.         
  1547.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Balance )( 
  1548.             IMSVidAudioRenderer * This,
  1549.             /* [in] */ long lBal);
  1550.         
  1551.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Balance )( 
  1552.             IMSVidAudioRenderer * This,
  1553.             /* [out][retval] */ long *lBal);
  1554.         
  1555.         END_INTERFACE
  1556.     } IMSVidAudioRendererVtbl;
  1557.     interface IMSVidAudioRenderer
  1558.     {
  1559.         CONST_VTBL struct IMSVidAudioRendererVtbl *lpVtbl;
  1560.     };
  1561.     
  1562. #ifdef COBJMACROS
  1563. #define IMSVidAudioRenderer_QueryInterface(This,riid,ppvObject)
  1564.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1565. #define IMSVidAudioRenderer_AddRef(This)
  1566.     (This)->lpVtbl -> AddRef(This)
  1567. #define IMSVidAudioRenderer_Release(This)
  1568.     (This)->lpVtbl -> Release(This)
  1569. #define IMSVidAudioRenderer_GetTypeInfoCount(This,pctinfo)
  1570.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1571. #define IMSVidAudioRenderer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1572.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1573. #define IMSVidAudioRenderer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1574.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1575. #define IMSVidAudioRenderer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1576.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1577. #define IMSVidAudioRenderer_get_Name(This,Name)
  1578.     (This)->lpVtbl -> get_Name(This,Name)
  1579. #define IMSVidAudioRenderer_get_Status(This,Status)
  1580.     (This)->lpVtbl -> get_Status(This,Status)
  1581. #define IMSVidAudioRenderer_put_Power(This,Power)
  1582.     (This)->lpVtbl -> put_Power(This,Power)
  1583. #define IMSVidAudioRenderer_get_Power(This,Power)
  1584.     (This)->lpVtbl -> get_Power(This,Power)
  1585. #define IMSVidAudioRenderer_get_Category(This,Guid)
  1586.     (This)->lpVtbl -> get_Category(This,Guid)
  1587. #define IMSVidAudioRenderer_get_ClassID(This,Clsid)
  1588.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  1589. #define IMSVidAudioRenderer_get__Category(This,Guid)
  1590.     (This)->lpVtbl -> get__Category(This,Guid)
  1591. #define IMSVidAudioRenderer_get__ClassID(This,Clsid)
  1592.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  1593. #define IMSVidAudioRenderer_IsEqualDevice(This,Device,IsEqual)
  1594.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  1595. #define IMSVidAudioRenderer_put_Volume(This,lVol)
  1596.     (This)->lpVtbl -> put_Volume(This,lVol)
  1597. #define IMSVidAudioRenderer_get_Volume(This,lVol)
  1598.     (This)->lpVtbl -> get_Volume(This,lVol)
  1599. #define IMSVidAudioRenderer_put_Balance(This,lBal)
  1600.     (This)->lpVtbl -> put_Balance(This,lBal)
  1601. #define IMSVidAudioRenderer_get_Balance(This,lBal)
  1602.     (This)->lpVtbl -> get_Balance(This,lBal)
  1603. #endif /* COBJMACROS */
  1604. #endif  /* C style interface */
  1605. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRenderer_put_Volume_Proxy( 
  1606.     IMSVidAudioRenderer * This,
  1607.     /* [in] */ long lVol);
  1608. void __RPC_STUB IMSVidAudioRenderer_put_Volume_Stub(
  1609.     IRpcStubBuffer *This,
  1610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1611.     PRPC_MESSAGE _pRpcMessage,
  1612.     DWORD *_pdwStubPhase);
  1613. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRenderer_get_Volume_Proxy( 
  1614.     IMSVidAudioRenderer * This,
  1615.     /* [out][retval] */ long *lVol);
  1616. void __RPC_STUB IMSVidAudioRenderer_get_Volume_Stub(
  1617.     IRpcStubBuffer *This,
  1618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1619.     PRPC_MESSAGE _pRpcMessage,
  1620.     DWORD *_pdwStubPhase);
  1621. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRenderer_put_Balance_Proxy( 
  1622.     IMSVidAudioRenderer * This,
  1623.     /* [in] */ long lBal);
  1624. void __RPC_STUB IMSVidAudioRenderer_put_Balance_Stub(
  1625.     IRpcStubBuffer *This,
  1626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1627.     PRPC_MESSAGE _pRpcMessage,
  1628.     DWORD *_pdwStubPhase);
  1629. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRenderer_get_Balance_Proxy( 
  1630.     IMSVidAudioRenderer * This,
  1631.     /* [out][retval] */ long *lBal);
  1632. void __RPC_STUB IMSVidAudioRenderer_get_Balance_Stub(
  1633.     IRpcStubBuffer *This,
  1634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1635.     PRPC_MESSAGE _pRpcMessage,
  1636.     DWORD *_pdwStubPhase);
  1637. #endif  /* __IMSVidAudioRenderer_INTERFACE_DEFINED__ */
  1638. #ifndef __IMSVidAudioRendererEvent_INTERFACE_DEFINED__
  1639. #define __IMSVidAudioRendererEvent_INTERFACE_DEFINED__
  1640. /* interface IMSVidAudioRendererEvent */
  1641. /* [unique][helpstring][uuid][hidden][oleautomation][object] */ 
  1642. EXTERN_C const IID IID_IMSVidAudioRendererEvent;
  1643. #if defined(__cplusplus) && !defined(CINTERFACE)
  1644.     
  1645.     MIDL_INTERFACE("37B03541-A4C8-11d2-B634-00C04F79498E")
  1646.     IMSVidAudioRendererEvent : public IMSVidOutputDeviceEvent
  1647.     {
  1648.     public:
  1649.     };
  1650.     
  1651. #else  /* C style interface */
  1652.     typedef struct IMSVidAudioRendererEventVtbl
  1653.     {
  1654.         BEGIN_INTERFACE
  1655.         
  1656.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1657.             IMSVidAudioRendererEvent * This,
  1658.             /* [in] */ REFIID riid,
  1659.             /* [iid_is][out] */ void **ppvObject);
  1660.         
  1661.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1662.             IMSVidAudioRendererEvent * This);
  1663.         
  1664.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1665.             IMSVidAudioRendererEvent * This);
  1666.         
  1667.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1668.             IMSVidAudioRendererEvent * This,
  1669.             /* [out] */ UINT *pctinfo);
  1670.         
  1671.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1672.             IMSVidAudioRendererEvent * This,
  1673.             /* [in] */ UINT iTInfo,
  1674.             /* [in] */ LCID lcid,
  1675.             /* [out] */ ITypeInfo **ppTInfo);
  1676.         
  1677.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1678.             IMSVidAudioRendererEvent * This,
  1679.             /* [in] */ REFIID riid,
  1680.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1681.             /* [in] */ UINT cNames,
  1682.             /* [in] */ LCID lcid,
  1683.             /* [size_is][out] */ DISPID *rgDispId);
  1684.         
  1685.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1686.             IMSVidAudioRendererEvent * This,
  1687.             /* [in] */ DISPID dispIdMember,
  1688.             /* [in] */ REFIID riid,
  1689.             /* [in] */ LCID lcid,
  1690.             /* [in] */ WORD wFlags,
  1691.             /* [out][in] */ DISPPARAMS *pDispParams,
  1692.             /* [out] */ VARIANT *pVarResult,
  1693.             /* [out] */ EXCEPINFO *pExcepInfo,
  1694.             /* [out] */ UINT *puArgErr);
  1695.         
  1696.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *StateChange )( 
  1697.             IMSVidAudioRendererEvent * This,
  1698.             /* [in] */ IMSVidDevice *lpd,
  1699.             /* [in] */ long oldState,
  1700.             /* [in] */ long newState);
  1701.         
  1702.         END_INTERFACE
  1703.     } IMSVidAudioRendererEventVtbl;
  1704.     interface IMSVidAudioRendererEvent
  1705.     {
  1706.         CONST_VTBL struct IMSVidAudioRendererEventVtbl *lpVtbl;
  1707.     };
  1708.     
  1709. #ifdef COBJMACROS
  1710. #define IMSVidAudioRendererEvent_QueryInterface(This,riid,ppvObject)
  1711.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1712. #define IMSVidAudioRendererEvent_AddRef(This)
  1713.     (This)->lpVtbl -> AddRef(This)
  1714. #define IMSVidAudioRendererEvent_Release(This)
  1715.     (This)->lpVtbl -> Release(This)
  1716. #define IMSVidAudioRendererEvent_GetTypeInfoCount(This,pctinfo)
  1717.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1718. #define IMSVidAudioRendererEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1719.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1720. #define IMSVidAudioRendererEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1721.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1722. #define IMSVidAudioRendererEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1723.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1724. #define IMSVidAudioRendererEvent_StateChange(This,lpd,oldState,newState)
  1725.     (This)->lpVtbl -> StateChange(This,lpd,oldState,newState)
  1726. #endif /* COBJMACROS */
  1727. #endif  /* C style interface */
  1728. #endif  /* __IMSVidAudioRendererEvent_INTERFACE_DEFINED__ */
  1729. #ifndef __IMSVidInputDevices_INTERFACE_DEFINED__
  1730. #define __IMSVidInputDevices_INTERFACE_DEFINED__
  1731. /* interface IMSVidInputDevices */
  1732. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  1733. EXTERN_C const IID IID_IMSVidInputDevices;
  1734. #if defined(__cplusplus) && !defined(CINTERFACE)
  1735.     
  1736.     MIDL_INTERFACE("C5702CD1-9B79-11d3-B654-00C04F79498E")
  1737.     IMSVidInputDevices : public IDispatch
  1738.     {
  1739.     public:
  1740.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1741.             /* [retval][out] */ long *lCount) = 0;
  1742.         
  1743.         virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1744.             /* [retval][out] */ IEnumVARIANT **pD) = 0;
  1745.         
  1746.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1747.             /* [in] */ VARIANT v,
  1748.             /* [retval][out] */ IMSVidInputDevice **pDB) = 0;
  1749.         
  1750.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
  1751.             /* [in] */ IMSVidInputDevice *pDB) = 0;
  1752.         
  1753.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
  1754.             /* [in] */ VARIANT v) = 0;
  1755.         
  1756.     };
  1757.     
  1758. #else  /* C style interface */
  1759.     typedef struct IMSVidInputDevicesVtbl
  1760.     {
  1761.         BEGIN_INTERFACE
  1762.         
  1763.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1764.             IMSVidInputDevices * This,
  1765.             /* [in] */ REFIID riid,
  1766.             /* [iid_is][out] */ void **ppvObject);
  1767.         
  1768.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1769.             IMSVidInputDevices * This);
  1770.         
  1771.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1772.             IMSVidInputDevices * This);
  1773.         
  1774.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1775.             IMSVidInputDevices * This,
  1776.             /* [out] */ UINT *pctinfo);
  1777.         
  1778.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1779.             IMSVidInputDevices * This,
  1780.             /* [in] */ UINT iTInfo,
  1781.             /* [in] */ LCID lcid,
  1782.             /* [out] */ ITypeInfo **ppTInfo);
  1783.         
  1784.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1785.             IMSVidInputDevices * This,
  1786.             /* [in] */ REFIID riid,
  1787.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1788.             /* [in] */ UINT cNames,
  1789.             /* [in] */ LCID lcid,
  1790.             /* [size_is][out] */ DISPID *rgDispId);
  1791.         
  1792.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1793.             IMSVidInputDevices * This,
  1794.             /* [in] */ DISPID dispIdMember,
  1795.             /* [in] */ REFIID riid,
  1796.             /* [in] */ LCID lcid,
  1797.             /* [in] */ WORD wFlags,
  1798.             /* [out][in] */ DISPPARAMS *pDispParams,
  1799.             /* [out] */ VARIANT *pVarResult,
  1800.             /* [out] */ EXCEPINFO *pExcepInfo,
  1801.             /* [out] */ UINT *puArgErr);
  1802.         
  1803.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1804.             IMSVidInputDevices * This,
  1805.             /* [retval][out] */ long *lCount);
  1806.         
  1807.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1808.             IMSVidInputDevices * This,
  1809.             /* [retval][out] */ IEnumVARIANT **pD);
  1810.         
  1811.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
  1812.             IMSVidInputDevices * This,
  1813.             /* [in] */ VARIANT v,
  1814.             /* [retval][out] */ IMSVidInputDevice **pDB);
  1815.         
  1816.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
  1817.             IMSVidInputDevices * This,
  1818.             /* [in] */ IMSVidInputDevice *pDB);
  1819.         
  1820.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
  1821.             IMSVidInputDevices * This,
  1822.             /* [in] */ VARIANT v);
  1823.         
  1824.         END_INTERFACE
  1825.     } IMSVidInputDevicesVtbl;
  1826.     interface IMSVidInputDevices
  1827.     {
  1828.         CONST_VTBL struct IMSVidInputDevicesVtbl *lpVtbl;
  1829.     };
  1830.     
  1831. #ifdef COBJMACROS
  1832. #define IMSVidInputDevices_QueryInterface(This,riid,ppvObject)
  1833.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1834. #define IMSVidInputDevices_AddRef(This)
  1835.     (This)->lpVtbl -> AddRef(This)
  1836. #define IMSVidInputDevices_Release(This)
  1837.     (This)->lpVtbl -> Release(This)
  1838. #define IMSVidInputDevices_GetTypeInfoCount(This,pctinfo)
  1839.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1840. #define IMSVidInputDevices_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1841.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1842. #define IMSVidInputDevices_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1843.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1844. #define IMSVidInputDevices_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1845.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1846. #define IMSVidInputDevices_get_Count(This,lCount)
  1847.     (This)->lpVtbl -> get_Count(This,lCount)
  1848. #define IMSVidInputDevices_get__NewEnum(This,pD)
  1849.     (This)->lpVtbl -> get__NewEnum(This,pD)
  1850. #define IMSVidInputDevices_get_Item(This,v,pDB)
  1851.     (This)->lpVtbl -> get_Item(This,v,pDB)
  1852. #define IMSVidInputDevices_Add(This,pDB)
  1853.     (This)->lpVtbl -> Add(This,pDB)
  1854. #define IMSVidInputDevices_Remove(This,v)
  1855.     (This)->lpVtbl -> Remove(This,v)
  1856. #endif /* COBJMACROS */
  1857. #endif  /* C style interface */
  1858. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidInputDevices_get_Count_Proxy( 
  1859.     IMSVidInputDevices * This,
  1860.     /* [retval][out] */ long *lCount);
  1861. void __RPC_STUB IMSVidInputDevices_get_Count_Stub(
  1862.     IRpcStubBuffer *This,
  1863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1864.     PRPC_MESSAGE _pRpcMessage,
  1865.     DWORD *_pdwStubPhase);
  1866. /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidInputDevices_get__NewEnum_Proxy( 
  1867.     IMSVidInputDevices * This,
  1868.     /* [retval][out] */ IEnumVARIANT **pD);
  1869. void __RPC_STUB IMSVidInputDevices_get__NewEnum_Stub(
  1870.     IRpcStubBuffer *This,
  1871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1872.     PRPC_MESSAGE _pRpcMessage,
  1873.     DWORD *_pdwStubPhase);
  1874. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidInputDevices_get_Item_Proxy( 
  1875.     IMSVidInputDevices * This,
  1876.     /* [in] */ VARIANT v,
  1877.     /* [retval][out] */ IMSVidInputDevice **pDB);
  1878. void __RPC_STUB IMSVidInputDevices_get_Item_Stub(
  1879.     IRpcStubBuffer *This,
  1880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1881.     PRPC_MESSAGE _pRpcMessage,
  1882.     DWORD *_pdwStubPhase);
  1883. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidInputDevices_Add_Proxy( 
  1884.     IMSVidInputDevices * This,
  1885.     /* [in] */ IMSVidInputDevice *pDB);
  1886. void __RPC_STUB IMSVidInputDevices_Add_Stub(
  1887.     IRpcStubBuffer *This,
  1888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1889.     PRPC_MESSAGE _pRpcMessage,
  1890.     DWORD *_pdwStubPhase);
  1891. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidInputDevices_Remove_Proxy( 
  1892.     IMSVidInputDevices * This,
  1893.     /* [in] */ VARIANT v);
  1894. void __RPC_STUB IMSVidInputDevices_Remove_Stub(
  1895.     IRpcStubBuffer *This,
  1896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1897.     PRPC_MESSAGE _pRpcMessage,
  1898.     DWORD *_pdwStubPhase);
  1899. #endif  /* __IMSVidInputDevices_INTERFACE_DEFINED__ */
  1900. #ifndef __IMSVidOutputDevices_INTERFACE_DEFINED__
  1901. #define __IMSVidOutputDevices_INTERFACE_DEFINED__
  1902. /* interface IMSVidOutputDevices */
  1903. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  1904. EXTERN_C const IID IID_IMSVidOutputDevices;
  1905. #if defined(__cplusplus) && !defined(CINTERFACE)
  1906.     
  1907.     MIDL_INTERFACE("C5702CD2-9B79-11d3-B654-00C04F79498E")
  1908.     IMSVidOutputDevices : public IDispatch
  1909.     {
  1910.     public:
  1911.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1912.             /* [retval][out] */ long *lCount) = 0;
  1913.         
  1914.         virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1915.             /* [retval][out] */ IEnumVARIANT **pD) = 0;
  1916.         
  1917.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  1918.             /* [in] */ VARIANT v,
  1919.             /* [retval][out] */ IMSVidOutputDevice **pDB) = 0;
  1920.         
  1921.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
  1922.             /* [in] */ IMSVidOutputDevice *pDB) = 0;
  1923.         
  1924.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
  1925.             /* [in] */ VARIANT v) = 0;
  1926.         
  1927.     };
  1928.     
  1929. #else  /* C style interface */
  1930.     typedef struct IMSVidOutputDevicesVtbl
  1931.     {
  1932.         BEGIN_INTERFACE
  1933.         
  1934.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1935.             IMSVidOutputDevices * This,
  1936.             /* [in] */ REFIID riid,
  1937.             /* [iid_is][out] */ void **ppvObject);
  1938.         
  1939.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1940.             IMSVidOutputDevices * This);
  1941.         
  1942.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1943.             IMSVidOutputDevices * This);
  1944.         
  1945.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1946.             IMSVidOutputDevices * This,
  1947.             /* [out] */ UINT *pctinfo);
  1948.         
  1949.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1950.             IMSVidOutputDevices * This,
  1951.             /* [in] */ UINT iTInfo,
  1952.             /* [in] */ LCID lcid,
  1953.             /* [out] */ ITypeInfo **ppTInfo);
  1954.         
  1955.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1956.             IMSVidOutputDevices * This,
  1957.             /* [in] */ REFIID riid,
  1958.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1959.             /* [in] */ UINT cNames,
  1960.             /* [in] */ LCID lcid,
  1961.             /* [size_is][out] */ DISPID *rgDispId);
  1962.         
  1963.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1964.             IMSVidOutputDevices * This,
  1965.             /* [in] */ DISPID dispIdMember,
  1966.             /* [in] */ REFIID riid,
  1967.             /* [in] */ LCID lcid,
  1968.             /* [in] */ WORD wFlags,
  1969.             /* [out][in] */ DISPPARAMS *pDispParams,
  1970.             /* [out] */ VARIANT *pVarResult,
  1971.             /* [out] */ EXCEPINFO *pExcepInfo,
  1972.             /* [out] */ UINT *puArgErr);
  1973.         
  1974.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1975.             IMSVidOutputDevices * This,
  1976.             /* [retval][out] */ long *lCount);
  1977.         
  1978.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1979.             IMSVidOutputDevices * This,
  1980.             /* [retval][out] */ IEnumVARIANT **pD);
  1981.         
  1982.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
  1983.             IMSVidOutputDevices * This,
  1984.             /* [in] */ VARIANT v,
  1985.             /* [retval][out] */ IMSVidOutputDevice **pDB);
  1986.         
  1987.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
  1988.             IMSVidOutputDevices * This,
  1989.             /* [in] */ IMSVidOutputDevice *pDB);
  1990.         
  1991.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
  1992.             IMSVidOutputDevices * This,
  1993.             /* [in] */ VARIANT v);
  1994.         
  1995.         END_INTERFACE
  1996.     } IMSVidOutputDevicesVtbl;
  1997.     interface IMSVidOutputDevices
  1998.     {
  1999.         CONST_VTBL struct IMSVidOutputDevicesVtbl *lpVtbl;
  2000.     };
  2001.     
  2002. #ifdef COBJMACROS
  2003. #define IMSVidOutputDevices_QueryInterface(This,riid,ppvObject)
  2004.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2005. #define IMSVidOutputDevices_AddRef(This)
  2006.     (This)->lpVtbl -> AddRef(This)
  2007. #define IMSVidOutputDevices_Release(This)
  2008.     (This)->lpVtbl -> Release(This)
  2009. #define IMSVidOutputDevices_GetTypeInfoCount(This,pctinfo)
  2010.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2011. #define IMSVidOutputDevices_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2012.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2013. #define IMSVidOutputDevices_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2014.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2015. #define IMSVidOutputDevices_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2016.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2017. #define IMSVidOutputDevices_get_Count(This,lCount)
  2018.     (This)->lpVtbl -> get_Count(This,lCount)
  2019. #define IMSVidOutputDevices_get__NewEnum(This,pD)
  2020.     (This)->lpVtbl -> get__NewEnum(This,pD)
  2021. #define IMSVidOutputDevices_get_Item(This,v,pDB)
  2022.     (This)->lpVtbl -> get_Item(This,v,pDB)
  2023. #define IMSVidOutputDevices_Add(This,pDB)
  2024.     (This)->lpVtbl -> Add(This,pDB)
  2025. #define IMSVidOutputDevices_Remove(This,v)
  2026.     (This)->lpVtbl -> Remove(This,v)
  2027. #endif /* COBJMACROS */
  2028. #endif  /* C style interface */
  2029. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidOutputDevices_get_Count_Proxy( 
  2030.     IMSVidOutputDevices * This,
  2031.     /* [retval][out] */ long *lCount);
  2032. void __RPC_STUB IMSVidOutputDevices_get_Count_Stub(
  2033.     IRpcStubBuffer *This,
  2034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2035.     PRPC_MESSAGE _pRpcMessage,
  2036.     DWORD *_pdwStubPhase);
  2037. /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidOutputDevices_get__NewEnum_Proxy( 
  2038.     IMSVidOutputDevices * This,
  2039.     /* [retval][out] */ IEnumVARIANT **pD);
  2040. void __RPC_STUB IMSVidOutputDevices_get__NewEnum_Stub(
  2041.     IRpcStubBuffer *This,
  2042.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2043.     PRPC_MESSAGE _pRpcMessage,
  2044.     DWORD *_pdwStubPhase);
  2045. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidOutputDevices_get_Item_Proxy( 
  2046.     IMSVidOutputDevices * This,
  2047.     /* [in] */ VARIANT v,
  2048.     /* [retval][out] */ IMSVidOutputDevice **pDB);
  2049. void __RPC_STUB IMSVidOutputDevices_get_Item_Stub(
  2050.     IRpcStubBuffer *This,
  2051.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2052.     PRPC_MESSAGE _pRpcMessage,
  2053.     DWORD *_pdwStubPhase);
  2054. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidOutputDevices_Add_Proxy( 
  2055.     IMSVidOutputDevices * This,
  2056.     /* [in] */ IMSVidOutputDevice *pDB);
  2057. void __RPC_STUB IMSVidOutputDevices_Add_Stub(
  2058.     IRpcStubBuffer *This,
  2059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2060.     PRPC_MESSAGE _pRpcMessage,
  2061.     DWORD *_pdwStubPhase);
  2062. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidOutputDevices_Remove_Proxy( 
  2063.     IMSVidOutputDevices * This,
  2064.     /* [in] */ VARIANT v);
  2065. void __RPC_STUB IMSVidOutputDevices_Remove_Stub(
  2066.     IRpcStubBuffer *This,
  2067.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2068.     PRPC_MESSAGE _pRpcMessage,
  2069.     DWORD *_pdwStubPhase);
  2070. #endif  /* __IMSVidOutputDevices_INTERFACE_DEFINED__ */
  2071. #ifndef __IMSVidVideoRendererDevices_INTERFACE_DEFINED__
  2072. #define __IMSVidVideoRendererDevices_INTERFACE_DEFINED__
  2073. /* interface IMSVidVideoRendererDevices */
  2074. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  2075. EXTERN_C const IID IID_IMSVidVideoRendererDevices;
  2076. #if defined(__cplusplus) && !defined(CINTERFACE)
  2077.     
  2078.     MIDL_INTERFACE("C5702CD3-9B79-11d3-B654-00C04F79498E")
  2079.     IMSVidVideoRendererDevices : public IDispatch
  2080.     {
  2081.     public:
  2082.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  2083.             /* [retval][out] */ long *lCount) = 0;
  2084.         
  2085.         virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  2086.             /* [retval][out] */ IEnumVARIANT **pD) = 0;
  2087.         
  2088.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  2089.             /* [in] */ VARIANT v,
  2090.             /* [retval][out] */ IMSVidVideoRenderer **pDB) = 0;
  2091.         
  2092.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
  2093.             /* [in] */ IMSVidVideoRenderer *pDB) = 0;
  2094.         
  2095.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
  2096.             /* [in] */ VARIANT v) = 0;
  2097.         
  2098.     };
  2099.     
  2100. #else  /* C style interface */
  2101.     typedef struct IMSVidVideoRendererDevicesVtbl
  2102.     {
  2103.         BEGIN_INTERFACE
  2104.         
  2105.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2106.             IMSVidVideoRendererDevices * This,
  2107.             /* [in] */ REFIID riid,
  2108.             /* [iid_is][out] */ void **ppvObject);
  2109.         
  2110.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2111.             IMSVidVideoRendererDevices * This);
  2112.         
  2113.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2114.             IMSVidVideoRendererDevices * This);
  2115.         
  2116.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2117.             IMSVidVideoRendererDevices * This,
  2118.             /* [out] */ UINT *pctinfo);
  2119.         
  2120.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2121.             IMSVidVideoRendererDevices * This,
  2122.             /* [in] */ UINT iTInfo,
  2123.             /* [in] */ LCID lcid,
  2124.             /* [out] */ ITypeInfo **ppTInfo);
  2125.         
  2126.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2127.             IMSVidVideoRendererDevices * This,
  2128.             /* [in] */ REFIID riid,
  2129.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2130.             /* [in] */ UINT cNames,
  2131.             /* [in] */ LCID lcid,
  2132.             /* [size_is][out] */ DISPID *rgDispId);
  2133.         
  2134.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2135.             IMSVidVideoRendererDevices * This,
  2136.             /* [in] */ DISPID dispIdMember,
  2137.             /* [in] */ REFIID riid,
  2138.             /* [in] */ LCID lcid,
  2139.             /* [in] */ WORD wFlags,
  2140.             /* [out][in] */ DISPPARAMS *pDispParams,
  2141.             /* [out] */ VARIANT *pVarResult,
  2142.             /* [out] */ EXCEPINFO *pExcepInfo,
  2143.             /* [out] */ UINT *puArgErr);
  2144.         
  2145.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  2146.             IMSVidVideoRendererDevices * This,
  2147.             /* [retval][out] */ long *lCount);
  2148.         
  2149.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  2150.             IMSVidVideoRendererDevices * This,
  2151.             /* [retval][out] */ IEnumVARIANT **pD);
  2152.         
  2153.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
  2154.             IMSVidVideoRendererDevices * This,
  2155.             /* [in] */ VARIANT v,
  2156.             /* [retval][out] */ IMSVidVideoRenderer **pDB);
  2157.         
  2158.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
  2159.             IMSVidVideoRendererDevices * This,
  2160.             /* [in] */ IMSVidVideoRenderer *pDB);
  2161.         
  2162.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
  2163.             IMSVidVideoRendererDevices * This,
  2164.             /* [in] */ VARIANT v);
  2165.         
  2166.         END_INTERFACE
  2167.     } IMSVidVideoRendererDevicesVtbl;
  2168.     interface IMSVidVideoRendererDevices
  2169.     {
  2170.         CONST_VTBL struct IMSVidVideoRendererDevicesVtbl *lpVtbl;
  2171.     };
  2172.     
  2173. #ifdef COBJMACROS
  2174. #define IMSVidVideoRendererDevices_QueryInterface(This,riid,ppvObject)
  2175.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2176. #define IMSVidVideoRendererDevices_AddRef(This)
  2177.     (This)->lpVtbl -> AddRef(This)
  2178. #define IMSVidVideoRendererDevices_Release(This)
  2179.     (This)->lpVtbl -> Release(This)
  2180. #define IMSVidVideoRendererDevices_GetTypeInfoCount(This,pctinfo)
  2181.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2182. #define IMSVidVideoRendererDevices_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2183.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2184. #define IMSVidVideoRendererDevices_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2185.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2186. #define IMSVidVideoRendererDevices_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2187.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2188. #define IMSVidVideoRendererDevices_get_Count(This,lCount)
  2189.     (This)->lpVtbl -> get_Count(This,lCount)
  2190. #define IMSVidVideoRendererDevices_get__NewEnum(This,pD)
  2191.     (This)->lpVtbl -> get__NewEnum(This,pD)
  2192. #define IMSVidVideoRendererDevices_get_Item(This,v,pDB)
  2193.     (This)->lpVtbl -> get_Item(This,v,pDB)
  2194. #define IMSVidVideoRendererDevices_Add(This,pDB)
  2195.     (This)->lpVtbl -> Add(This,pDB)
  2196. #define IMSVidVideoRendererDevices_Remove(This,v)
  2197.     (This)->lpVtbl -> Remove(This,v)
  2198. #endif /* COBJMACROS */
  2199. #endif  /* C style interface */
  2200. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRendererDevices_get_Count_Proxy( 
  2201.     IMSVidVideoRendererDevices * This,
  2202.     /* [retval][out] */ long *lCount);
  2203. void __RPC_STUB IMSVidVideoRendererDevices_get_Count_Stub(
  2204.     IRpcStubBuffer *This,
  2205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2206.     PRPC_MESSAGE _pRpcMessage,
  2207.     DWORD *_pdwStubPhase);
  2208. /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRendererDevices_get__NewEnum_Proxy( 
  2209.     IMSVidVideoRendererDevices * This,
  2210.     /* [retval][out] */ IEnumVARIANT **pD);
  2211. void __RPC_STUB IMSVidVideoRendererDevices_get__NewEnum_Stub(
  2212.     IRpcStubBuffer *This,
  2213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2214.     PRPC_MESSAGE _pRpcMessage,
  2215.     DWORD *_pdwStubPhase);
  2216. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRendererDevices_get_Item_Proxy( 
  2217.     IMSVidVideoRendererDevices * This,
  2218.     /* [in] */ VARIANT v,
  2219.     /* [retval][out] */ IMSVidVideoRenderer **pDB);
  2220. void __RPC_STUB IMSVidVideoRendererDevices_get_Item_Stub(
  2221.     IRpcStubBuffer *This,
  2222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2223.     PRPC_MESSAGE _pRpcMessage,
  2224.     DWORD *_pdwStubPhase);
  2225. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRendererDevices_Add_Proxy( 
  2226.     IMSVidVideoRendererDevices * This,
  2227.     /* [in] */ IMSVidVideoRenderer *pDB);
  2228. void __RPC_STUB IMSVidVideoRendererDevices_Add_Stub(
  2229.     IRpcStubBuffer *This,
  2230.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2231.     PRPC_MESSAGE _pRpcMessage,
  2232.     DWORD *_pdwStubPhase);
  2233. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidVideoRendererDevices_Remove_Proxy( 
  2234.     IMSVidVideoRendererDevices * This,
  2235.     /* [in] */ VARIANT v);
  2236. void __RPC_STUB IMSVidVideoRendererDevices_Remove_Stub(
  2237.     IRpcStubBuffer *This,
  2238.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2239.     PRPC_MESSAGE _pRpcMessage,
  2240.     DWORD *_pdwStubPhase);
  2241. #endif  /* __IMSVidVideoRendererDevices_INTERFACE_DEFINED__ */
  2242. #ifndef __IMSVidAudioRendererDevices_INTERFACE_DEFINED__
  2243. #define __IMSVidAudioRendererDevices_INTERFACE_DEFINED__
  2244. /* interface IMSVidAudioRendererDevices */
  2245. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  2246. EXTERN_C const IID IID_IMSVidAudioRendererDevices;
  2247. #if defined(__cplusplus) && !defined(CINTERFACE)
  2248.     
  2249.     MIDL_INTERFACE("C5702CD4-9B79-11d3-B654-00C04F79498E")
  2250.     IMSVidAudioRendererDevices : public IDispatch
  2251.     {
  2252.     public:
  2253.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  2254.             /* [retval][out] */ long *lCount) = 0;
  2255.         
  2256.         virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  2257.             /* [retval][out] */ IEnumVARIANT **pD) = 0;
  2258.         
  2259.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  2260.             /* [in] */ VARIANT v,
  2261.             /* [retval][out] */ IMSVidAudioRenderer **pDB) = 0;
  2262.         
  2263.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
  2264.             /* [in] */ IMSVidAudioRenderer *pDB) = 0;
  2265.         
  2266.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
  2267.             /* [in] */ VARIANT v) = 0;
  2268.         
  2269.     };
  2270.     
  2271. #else  /* C style interface */
  2272.     typedef struct IMSVidAudioRendererDevicesVtbl
  2273.     {
  2274.         BEGIN_INTERFACE
  2275.         
  2276.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2277.             IMSVidAudioRendererDevices * This,
  2278.             /* [in] */ REFIID riid,
  2279.             /* [iid_is][out] */ void **ppvObject);
  2280.         
  2281.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2282.             IMSVidAudioRendererDevices * This);
  2283.         
  2284.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2285.             IMSVidAudioRendererDevices * This);
  2286.         
  2287.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2288.             IMSVidAudioRendererDevices * This,
  2289.             /* [out] */ UINT *pctinfo);
  2290.         
  2291.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2292.             IMSVidAudioRendererDevices * This,
  2293.             /* [in] */ UINT iTInfo,
  2294.             /* [in] */ LCID lcid,
  2295.             /* [out] */ ITypeInfo **ppTInfo);
  2296.         
  2297.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2298.             IMSVidAudioRendererDevices * This,
  2299.             /* [in] */ REFIID riid,
  2300.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2301.             /* [in] */ UINT cNames,
  2302.             /* [in] */ LCID lcid,
  2303.             /* [size_is][out] */ DISPID *rgDispId);
  2304.         
  2305.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2306.             IMSVidAudioRendererDevices * This,
  2307.             /* [in] */ DISPID dispIdMember,
  2308.             /* [in] */ REFIID riid,
  2309.             /* [in] */ LCID lcid,
  2310.             /* [in] */ WORD wFlags,
  2311.             /* [out][in] */ DISPPARAMS *pDispParams,
  2312.             /* [out] */ VARIANT *pVarResult,
  2313.             /* [out] */ EXCEPINFO *pExcepInfo,
  2314.             /* [out] */ UINT *puArgErr);
  2315.         
  2316.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  2317.             IMSVidAudioRendererDevices * This,
  2318.             /* [retval][out] */ long *lCount);
  2319.         
  2320.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  2321.             IMSVidAudioRendererDevices * This,
  2322.             /* [retval][out] */ IEnumVARIANT **pD);
  2323.         
  2324.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
  2325.             IMSVidAudioRendererDevices * This,
  2326.             /* [in] */ VARIANT v,
  2327.             /* [retval][out] */ IMSVidAudioRenderer **pDB);
  2328.         
  2329.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
  2330.             IMSVidAudioRendererDevices * This,
  2331.             /* [in] */ IMSVidAudioRenderer *pDB);
  2332.         
  2333.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
  2334.             IMSVidAudioRendererDevices * This,
  2335.             /* [in] */ VARIANT v);
  2336.         
  2337.         END_INTERFACE
  2338.     } IMSVidAudioRendererDevicesVtbl;
  2339.     interface IMSVidAudioRendererDevices
  2340.     {
  2341.         CONST_VTBL struct IMSVidAudioRendererDevicesVtbl *lpVtbl;
  2342.     };
  2343.     
  2344. #ifdef COBJMACROS
  2345. #define IMSVidAudioRendererDevices_QueryInterface(This,riid,ppvObject)
  2346.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2347. #define IMSVidAudioRendererDevices_AddRef(This)
  2348.     (This)->lpVtbl -> AddRef(This)
  2349. #define IMSVidAudioRendererDevices_Release(This)
  2350.     (This)->lpVtbl -> Release(This)
  2351. #define IMSVidAudioRendererDevices_GetTypeInfoCount(This,pctinfo)
  2352.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2353. #define IMSVidAudioRendererDevices_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2354.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2355. #define IMSVidAudioRendererDevices_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2356.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2357. #define IMSVidAudioRendererDevices_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2358.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2359. #define IMSVidAudioRendererDevices_get_Count(This,lCount)
  2360.     (This)->lpVtbl -> get_Count(This,lCount)
  2361. #define IMSVidAudioRendererDevices_get__NewEnum(This,pD)
  2362.     (This)->lpVtbl -> get__NewEnum(This,pD)
  2363. #define IMSVidAudioRendererDevices_get_Item(This,v,pDB)
  2364.     (This)->lpVtbl -> get_Item(This,v,pDB)
  2365. #define IMSVidAudioRendererDevices_Add(This,pDB)
  2366.     (This)->lpVtbl -> Add(This,pDB)
  2367. #define IMSVidAudioRendererDevices_Remove(This,v)
  2368.     (This)->lpVtbl -> Remove(This,v)
  2369. #endif /* COBJMACROS */
  2370. #endif  /* C style interface */
  2371. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRendererDevices_get_Count_Proxy( 
  2372.     IMSVidAudioRendererDevices * This,
  2373.     /* [retval][out] */ long *lCount);
  2374. void __RPC_STUB IMSVidAudioRendererDevices_get_Count_Stub(
  2375.     IRpcStubBuffer *This,
  2376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2377.     PRPC_MESSAGE _pRpcMessage,
  2378.     DWORD *_pdwStubPhase);
  2379. /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRendererDevices_get__NewEnum_Proxy( 
  2380.     IMSVidAudioRendererDevices * This,
  2381.     /* [retval][out] */ IEnumVARIANT **pD);
  2382. void __RPC_STUB IMSVidAudioRendererDevices_get__NewEnum_Stub(
  2383.     IRpcStubBuffer *This,
  2384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2385.     PRPC_MESSAGE _pRpcMessage,
  2386.     DWORD *_pdwStubPhase);
  2387. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRendererDevices_get_Item_Proxy( 
  2388.     IMSVidAudioRendererDevices * This,
  2389.     /* [in] */ VARIANT v,
  2390.     /* [retval][out] */ IMSVidAudioRenderer **pDB);
  2391. void __RPC_STUB IMSVidAudioRendererDevices_get_Item_Stub(
  2392.     IRpcStubBuffer *This,
  2393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2394.     PRPC_MESSAGE _pRpcMessage,
  2395.     DWORD *_pdwStubPhase);
  2396. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRendererDevices_Add_Proxy( 
  2397.     IMSVidAudioRendererDevices * This,
  2398.     /* [in] */ IMSVidAudioRenderer *pDB);
  2399. void __RPC_STUB IMSVidAudioRendererDevices_Add_Stub(
  2400.     IRpcStubBuffer *This,
  2401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2402.     PRPC_MESSAGE _pRpcMessage,
  2403.     DWORD *_pdwStubPhase);
  2404. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidAudioRendererDevices_Remove_Proxy( 
  2405.     IMSVidAudioRendererDevices * This,
  2406.     /* [in] */ VARIANT v);
  2407. void __RPC_STUB IMSVidAudioRendererDevices_Remove_Stub(
  2408.     IRpcStubBuffer *This,
  2409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2410.     PRPC_MESSAGE _pRpcMessage,
  2411.     DWORD *_pdwStubPhase);
  2412. #endif  /* __IMSVidAudioRendererDevices_INTERFACE_DEFINED__ */
  2413. #ifndef __IMSVidFeatures_INTERFACE_DEFINED__
  2414. #define __IMSVidFeatures_INTERFACE_DEFINED__
  2415. /* interface IMSVidFeatures */
  2416. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  2417. EXTERN_C const IID IID_IMSVidFeatures;
  2418. #if defined(__cplusplus) && !defined(CINTERFACE)
  2419.     
  2420.     MIDL_INTERFACE("C5702CD5-9B79-11d3-B654-00C04F79498E")
  2421.     IMSVidFeatures : public IDispatch
  2422.     {
  2423.     public:
  2424.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  2425.             /* [retval][out] */ long *lCount) = 0;
  2426.         
  2427.         virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  2428.             /* [retval][out] */ IEnumVARIANT **pD) = 0;
  2429.         
  2430.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
  2431.             /* [in] */ VARIANT v,
  2432.             /* [retval][out] */ IMSVidFeature **pDB) = 0;
  2433.         
  2434.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
  2435.             /* [in] */ IMSVidFeature *pDB) = 0;
  2436.         
  2437.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
  2438.             /* [in] */ VARIANT v) = 0;
  2439.         
  2440.     };
  2441.     
  2442. #else  /* C style interface */
  2443.     typedef struct IMSVidFeaturesVtbl
  2444.     {
  2445.         BEGIN_INTERFACE
  2446.         
  2447.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2448.             IMSVidFeatures * This,
  2449.             /* [in] */ REFIID riid,
  2450.             /* [iid_is][out] */ void **ppvObject);
  2451.         
  2452.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2453.             IMSVidFeatures * This);
  2454.         
  2455.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2456.             IMSVidFeatures * This);
  2457.         
  2458.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2459.             IMSVidFeatures * This,
  2460.             /* [out] */ UINT *pctinfo);
  2461.         
  2462.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2463.             IMSVidFeatures * This,
  2464.             /* [in] */ UINT iTInfo,
  2465.             /* [in] */ LCID lcid,
  2466.             /* [out] */ ITypeInfo **ppTInfo);
  2467.         
  2468.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2469.             IMSVidFeatures * This,
  2470.             /* [in] */ REFIID riid,
  2471.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2472.             /* [in] */ UINT cNames,
  2473.             /* [in] */ LCID lcid,
  2474.             /* [size_is][out] */ DISPID *rgDispId);
  2475.         
  2476.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2477.             IMSVidFeatures * This,
  2478.             /* [in] */ DISPID dispIdMember,
  2479.             /* [in] */ REFIID riid,
  2480.             /* [in] */ LCID lcid,
  2481.             /* [in] */ WORD wFlags,
  2482.             /* [out][in] */ DISPPARAMS *pDispParams,
  2483.             /* [out] */ VARIANT *pVarResult,
  2484.             /* [out] */ EXCEPINFO *pExcepInfo,
  2485.             /* [out] */ UINT *puArgErr);
  2486.         
  2487.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  2488.             IMSVidFeatures * This,
  2489.             /* [retval][out] */ long *lCount);
  2490.         
  2491.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  2492.             IMSVidFeatures * This,
  2493.             /* [retval][out] */ IEnumVARIANT **pD);
  2494.         
  2495.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
  2496.             IMSVidFeatures * This,
  2497.             /* [in] */ VARIANT v,
  2498.             /* [retval][out] */ IMSVidFeature **pDB);
  2499.         
  2500.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
  2501.             IMSVidFeatures * This,
  2502.             /* [in] */ IMSVidFeature *pDB);
  2503.         
  2504.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
  2505.             IMSVidFeatures * This,
  2506.             /* [in] */ VARIANT v);
  2507.         
  2508.         END_INTERFACE
  2509.     } IMSVidFeaturesVtbl;
  2510.     interface IMSVidFeatures
  2511.     {
  2512.         CONST_VTBL struct IMSVidFeaturesVtbl *lpVtbl;
  2513.     };
  2514.     
  2515. #ifdef COBJMACROS
  2516. #define IMSVidFeatures_QueryInterface(This,riid,ppvObject)
  2517.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2518. #define IMSVidFeatures_AddRef(This)
  2519.     (This)->lpVtbl -> AddRef(This)
  2520. #define IMSVidFeatures_Release(This)
  2521.     (This)->lpVtbl -> Release(This)
  2522. #define IMSVidFeatures_GetTypeInfoCount(This,pctinfo)
  2523.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2524. #define IMSVidFeatures_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2525.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2526. #define IMSVidFeatures_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2527.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2528. #define IMSVidFeatures_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2529.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2530. #define IMSVidFeatures_get_Count(This,lCount)
  2531.     (This)->lpVtbl -> get_Count(This,lCount)
  2532. #define IMSVidFeatures_get__NewEnum(This,pD)
  2533.     (This)->lpVtbl -> get__NewEnum(This,pD)
  2534. #define IMSVidFeatures_get_Item(This,v,pDB)
  2535.     (This)->lpVtbl -> get_Item(This,v,pDB)
  2536. #define IMSVidFeatures_Add(This,pDB)
  2537.     (This)->lpVtbl -> Add(This,pDB)
  2538. #define IMSVidFeatures_Remove(This,v)
  2539.     (This)->lpVtbl -> Remove(This,v)
  2540. #endif /* COBJMACROS */
  2541. #endif  /* C style interface */
  2542. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidFeatures_get_Count_Proxy( 
  2543.     IMSVidFeatures * This,
  2544.     /* [retval][out] */ long *lCount);
  2545. void __RPC_STUB IMSVidFeatures_get_Count_Stub(
  2546.     IRpcStubBuffer *This,
  2547.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2548.     PRPC_MESSAGE _pRpcMessage,
  2549.     DWORD *_pdwStubPhase);
  2550. /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidFeatures_get__NewEnum_Proxy( 
  2551.     IMSVidFeatures * This,
  2552.     /* [retval][out] */ IEnumVARIANT **pD);
  2553. void __RPC_STUB IMSVidFeatures_get__NewEnum_Stub(
  2554.     IRpcStubBuffer *This,
  2555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2556.     PRPC_MESSAGE _pRpcMessage,
  2557.     DWORD *_pdwStubPhase);
  2558. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidFeatures_get_Item_Proxy( 
  2559.     IMSVidFeatures * This,
  2560.     /* [in] */ VARIANT v,
  2561.     /* [retval][out] */ IMSVidFeature **pDB);
  2562. void __RPC_STUB IMSVidFeatures_get_Item_Stub(
  2563.     IRpcStubBuffer *This,
  2564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2565.     PRPC_MESSAGE _pRpcMessage,
  2566.     DWORD *_pdwStubPhase);
  2567. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidFeatures_Add_Proxy( 
  2568.     IMSVidFeatures * This,
  2569.     /* [in] */ IMSVidFeature *pDB);
  2570. void __RPC_STUB IMSVidFeatures_Add_Stub(
  2571.     IRpcStubBuffer *This,
  2572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2573.     PRPC_MESSAGE _pRpcMessage,
  2574.     DWORD *_pdwStubPhase);
  2575. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidFeatures_Remove_Proxy( 
  2576.     IMSVidFeatures * This,
  2577.     /* [in] */ VARIANT v);
  2578. void __RPC_STUB IMSVidFeatures_Remove_Stub(
  2579.     IRpcStubBuffer *This,
  2580.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2581.     PRPC_MESSAGE _pRpcMessage,
  2582.     DWORD *_pdwStubPhase);
  2583. #endif  /* __IMSVidFeatures_INTERFACE_DEFINED__ */
  2584. /* Additional Prototypes for ALL interfaces */
  2585. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  2586. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  2587. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  2588. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  2589. unsigned long             __RPC_USER  HDC_UserSize(     unsigned long *, unsigned long            , HDC * ); 
  2590. unsigned char * __RPC_USER  HDC_UserMarshal(  unsigned long *, unsigned char *, HDC * ); 
  2591. unsigned char * __RPC_USER  HDC_UserUnmarshal(unsigned long *, unsigned char *, HDC * ); 
  2592. void                      __RPC_USER  HDC_UserFree(     unsigned long *, HDC * ); 
  2593. unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
  2594. unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
  2595. unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
  2596. void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 
  2597. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  2598. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  2599. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  2600. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  2601. /* end of Additional Prototypes */
  2602. #ifdef __cplusplus
  2603. }
  2604. #endif
  2605. #endif