home *** CD-ROM | disk | FTP | other *** search
/ Beginning Direct3D Game Programming / Direct3D.iso / directx / dxf / include / control.h < prev    next >
C/C++ Source or Header  |  2000-10-27  |  178KB  |  5,540 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0338 */
  8. /* Compiler settings for control.odl:
  9.     Oicf, W0, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __control_h__
  28. #define __control_h__
  29.  
  30. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  31. #pragma once
  32. #endif
  33.  
  34. /* Forward Declarations */ 
  35.  
  36. #ifndef __IAMCollection_FWD_DEFINED__
  37. #define __IAMCollection_FWD_DEFINED__
  38. typedef interface IAMCollection IAMCollection;
  39. #endif     /* __IAMCollection_FWD_DEFINED__ */
  40.  
  41.  
  42. #ifndef __IMediaControl_FWD_DEFINED__
  43. #define __IMediaControl_FWD_DEFINED__
  44. typedef interface IMediaControl IMediaControl;
  45. #endif     /* __IMediaControl_FWD_DEFINED__ */
  46.  
  47.  
  48. #ifndef __IMediaEvent_FWD_DEFINED__
  49. #define __IMediaEvent_FWD_DEFINED__
  50. typedef interface IMediaEvent IMediaEvent;
  51. #endif     /* __IMediaEvent_FWD_DEFINED__ */
  52.  
  53.  
  54. #ifndef __IMediaEventEx_FWD_DEFINED__
  55. #define __IMediaEventEx_FWD_DEFINED__
  56. typedef interface IMediaEventEx IMediaEventEx;
  57. #endif     /* __IMediaEventEx_FWD_DEFINED__ */
  58.  
  59.  
  60. #ifndef __IMediaPosition_FWD_DEFINED__
  61. #define __IMediaPosition_FWD_DEFINED__
  62. typedef interface IMediaPosition IMediaPosition;
  63. #endif     /* __IMediaPosition_FWD_DEFINED__ */
  64.  
  65.  
  66. #ifndef __IBasicAudio_FWD_DEFINED__
  67. #define __IBasicAudio_FWD_DEFINED__
  68. typedef interface IBasicAudio IBasicAudio;
  69. #endif     /* __IBasicAudio_FWD_DEFINED__ */
  70.  
  71.  
  72. #ifndef __IVideoWindow_FWD_DEFINED__
  73. #define __IVideoWindow_FWD_DEFINED__
  74. typedef interface IVideoWindow IVideoWindow;
  75. #endif     /* __IVideoWindow_FWD_DEFINED__ */
  76.  
  77.  
  78. #ifndef __IBasicVideo_FWD_DEFINED__
  79. #define __IBasicVideo_FWD_DEFINED__
  80. typedef interface IBasicVideo IBasicVideo;
  81. #endif     /* __IBasicVideo_FWD_DEFINED__ */
  82.  
  83.  
  84. #ifndef __IBasicVideo2_FWD_DEFINED__
  85. #define __IBasicVideo2_FWD_DEFINED__
  86. typedef interface IBasicVideo2 IBasicVideo2;
  87. #endif     /* __IBasicVideo2_FWD_DEFINED__ */
  88.  
  89.  
  90. #ifndef __IDeferredCommand_FWD_DEFINED__
  91. #define __IDeferredCommand_FWD_DEFINED__
  92. typedef interface IDeferredCommand IDeferredCommand;
  93. #endif     /* __IDeferredCommand_FWD_DEFINED__ */
  94.  
  95.  
  96. #ifndef __IQueueCommand_FWD_DEFINED__
  97. #define __IQueueCommand_FWD_DEFINED__
  98. typedef interface IQueueCommand IQueueCommand;
  99. #endif     /* __IQueueCommand_FWD_DEFINED__ */
  100.  
  101.  
  102. #ifndef __FilgraphManager_FWD_DEFINED__
  103. #define __FilgraphManager_FWD_DEFINED__
  104.  
  105. #ifdef __cplusplus
  106. typedef class FilgraphManager FilgraphManager;
  107. #else
  108. typedef struct FilgraphManager FilgraphManager;
  109. #endif /* __cplusplus */
  110.  
  111. #endif     /* __FilgraphManager_FWD_DEFINED__ */
  112.  
  113.  
  114. #ifndef __IFilterInfo_FWD_DEFINED__
  115. #define __IFilterInfo_FWD_DEFINED__
  116. typedef interface IFilterInfo IFilterInfo;
  117. #endif     /* __IFilterInfo_FWD_DEFINED__ */
  118.  
  119.  
  120. #ifndef __IRegFilterInfo_FWD_DEFINED__
  121. #define __IRegFilterInfo_FWD_DEFINED__
  122. typedef interface IRegFilterInfo IRegFilterInfo;
  123. #endif     /* __IRegFilterInfo_FWD_DEFINED__ */
  124.  
  125.  
  126. #ifndef __IMediaTypeInfo_FWD_DEFINED__
  127. #define __IMediaTypeInfo_FWD_DEFINED__
  128. typedef interface IMediaTypeInfo IMediaTypeInfo;
  129. #endif     /* __IMediaTypeInfo_FWD_DEFINED__ */
  130.  
  131.  
  132. #ifndef __IPinInfo_FWD_DEFINED__
  133. #define __IPinInfo_FWD_DEFINED__
  134. typedef interface IPinInfo IPinInfo;
  135. #endif     /* __IPinInfo_FWD_DEFINED__ */
  136.  
  137.  
  138. #ifndef __IAMStats_FWD_DEFINED__
  139. #define __IAMStats_FWD_DEFINED__
  140. typedef interface IAMStats IAMStats;
  141. #endif     /* __IAMStats_FWD_DEFINED__ */
  142.  
  143.  
  144. #ifdef __cplusplus
  145. extern "C"{
  146. #endif 
  147.  
  148. void * __RPC_USER MIDL_user_allocate(size_t);
  149. void __RPC_USER MIDL_user_free( void * ); 
  150.  
  151.  
  152. #ifndef __QuartzTypeLib_LIBRARY_DEFINED__
  153. #define __QuartzTypeLib_LIBRARY_DEFINED__
  154.  
  155. /* library QuartzTypeLib */
  156. /* [version][lcid][helpstring][uuid] */ 
  157.  
  158. typedef double REFTIME;
  159.  
  160. typedef LONG_PTR OAEVENT;
  161.  
  162. typedef LONG_PTR OAHWND;
  163.  
  164. typedef long OAFilterState;
  165.  
  166.  
  167. DEFINE_GUID(LIBID_QuartzTypeLib,0x56a868b0,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  168.  
  169. #ifndef __IAMCollection_INTERFACE_DEFINED__
  170. #define __IAMCollection_INTERFACE_DEFINED__
  171.  
  172. /* interface IAMCollection */
  173. /* [object][dual][oleautomation][helpstring][uuid] */ 
  174.  
  175.  
  176. DEFINE_GUID(IID_IAMCollection,0x56a868b9,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  177.  
  178. #if defined(__cplusplus) && !defined(CINTERFACE)
  179.     
  180.     MIDL_INTERFACE("56a868b9-0ad4-11ce-b03a-0020af0ba770")
  181.     IAMCollection : public IDispatch
  182.     {
  183.     public:
  184.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  185.             /* [retval][out] */ LONG *plCount) = 0;
  186.         
  187.         virtual HRESULT STDMETHODCALLTYPE Item( 
  188.             /* [in] */ long lItem,
  189.             /* [out] */ IUnknown **ppUnk) = 0;
  190.         
  191.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  192.             /* [retval][out] */ IUnknown **ppUnk) = 0;
  193.         
  194.     };
  195.     
  196. #else     /* C style interface */
  197.  
  198.     typedef struct IAMCollectionVtbl
  199.     {
  200.         BEGIN_INTERFACE
  201.         
  202.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  203.             IAMCollection * This,
  204.             /* [in] */ REFIID riid,
  205.             /* [iid_is][out] */ void **ppvObject);
  206.         
  207.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  208.             IAMCollection * This);
  209.         
  210.         ULONG ( STDMETHODCALLTYPE *Release )( 
  211.             IAMCollection * This);
  212.         
  213.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  214.             IAMCollection * This,
  215.             /* [out] */ UINT *pctinfo);
  216.         
  217.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  218.             IAMCollection * This,
  219.             /* [in] */ UINT iTInfo,
  220.             /* [in] */ LCID lcid,
  221.             /* [out] */ ITypeInfo **ppTInfo);
  222.         
  223.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  224.             IAMCollection * This,
  225.             /* [in] */ REFIID riid,
  226.             /* [size_is][in] */ LPOLESTR *rgszNames,
  227.             /* [in] */ UINT cNames,
  228.             /* [in] */ LCID lcid,
  229.             /* [size_is][out] */ DISPID *rgDispId);
  230.         
  231.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  232.             IAMCollection * This,
  233.             /* [in] */ DISPID dispIdMember,
  234.             /* [in] */ REFIID riid,
  235.             /* [in] */ LCID lcid,
  236.             /* [in] */ WORD wFlags,
  237.             /* [out][in] */ DISPPARAMS *pDispParams,
  238.             /* [out] */ VARIANT *pVarResult,
  239.             /* [out] */ EXCEPINFO *pExcepInfo,
  240.             /* [out] */ UINT *puArgErr);
  241.         
  242.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  243.             IAMCollection * This,
  244.             /* [retval][out] */ LONG *plCount);
  245.         
  246.         HRESULT ( STDMETHODCALLTYPE *Item )( 
  247.             IAMCollection * This,
  248.             /* [in] */ long lItem,
  249.             /* [out] */ IUnknown **ppUnk);
  250.         
  251.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  252.             IAMCollection * This,
  253.             /* [retval][out] */ IUnknown **ppUnk);
  254.         
  255.         END_INTERFACE
  256.     } IAMCollectionVtbl;
  257.  
  258.     interface IAMCollection
  259.     {
  260.         CONST_VTBL struct IAMCollectionVtbl *lpVtbl;
  261.     };
  262.  
  263.     
  264.  
  265. #ifdef COBJMACROS
  266.  
  267.  
  268. #define IAMCollection_QueryInterface(This,riid,ppvObject)    \
  269.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  270.  
  271. #define IAMCollection_AddRef(This)    \
  272.     (This)->lpVtbl -> AddRef(This)
  273.  
  274. #define IAMCollection_Release(This)    \
  275.     (This)->lpVtbl -> Release(This)
  276.  
  277.  
  278. #define IAMCollection_GetTypeInfoCount(This,pctinfo)    \
  279.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  280.  
  281. #define IAMCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  282.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  283.  
  284. #define IAMCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  285.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  286.  
  287. #define IAMCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  288.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  289.  
  290.  
  291. #define IAMCollection_get_Count(This,plCount)    \
  292.     (This)->lpVtbl -> get_Count(This,plCount)
  293.  
  294. #define IAMCollection_Item(This,lItem,ppUnk)    \
  295.     (This)->lpVtbl -> Item(This,lItem,ppUnk)
  296.  
  297. #define IAMCollection_get__NewEnum(This,ppUnk)    \
  298.     (This)->lpVtbl -> get__NewEnum(This,ppUnk)
  299.  
  300. #endif /* COBJMACROS */
  301.  
  302.  
  303. #endif     /* C style interface */
  304.  
  305.  
  306.  
  307. /* [propget] */ HRESULT STDMETHODCALLTYPE IAMCollection_get_Count_Proxy( 
  308.     IAMCollection * This,
  309.     /* [retval][out] */ LONG *plCount);
  310.  
  311.  
  312. void __RPC_STUB IAMCollection_get_Count_Stub(
  313.     IRpcStubBuffer *This,
  314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  315.     PRPC_MESSAGE _pRpcMessage,
  316.     DWORD *_pdwStubPhase);
  317.  
  318.  
  319. HRESULT STDMETHODCALLTYPE IAMCollection_Item_Proxy( 
  320.     IAMCollection * This,
  321.     /* [in] */ long lItem,
  322.     /* [out] */ IUnknown **ppUnk);
  323.  
  324.  
  325. void __RPC_STUB IAMCollection_Item_Stub(
  326.     IRpcStubBuffer *This,
  327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  328.     PRPC_MESSAGE _pRpcMessage,
  329.     DWORD *_pdwStubPhase);
  330.  
  331.  
  332. /* [propget] */ HRESULT STDMETHODCALLTYPE IAMCollection_get__NewEnum_Proxy( 
  333.     IAMCollection * This,
  334.     /* [retval][out] */ IUnknown **ppUnk);
  335.  
  336.  
  337. void __RPC_STUB IAMCollection_get__NewEnum_Stub(
  338.     IRpcStubBuffer *This,
  339.     IRpcChannelBuffer *_pRpcChannelBuffer,
  340.     PRPC_MESSAGE _pRpcMessage,
  341.     DWORD *_pdwStubPhase);
  342.  
  343.  
  344.  
  345. #endif     /* __IAMCollection_INTERFACE_DEFINED__ */
  346.  
  347.  
  348. #ifndef __IMediaControl_INTERFACE_DEFINED__
  349. #define __IMediaControl_INTERFACE_DEFINED__
  350.  
  351. /* interface IMediaControl */
  352. /* [object][dual][oleautomation][helpstring][uuid] */ 
  353.  
  354.  
  355. DEFINE_GUID(IID_IMediaControl,0x56a868b1,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  356.  
  357. #if defined(__cplusplus) && !defined(CINTERFACE)
  358.     
  359.     MIDL_INTERFACE("56a868b1-0ad4-11ce-b03a-0020af0ba770")
  360.     IMediaControl : public IDispatch
  361.     {
  362.     public:
  363.         virtual HRESULT STDMETHODCALLTYPE Run( void) = 0;
  364.         
  365.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  366.         
  367.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  368.         
  369.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  370.             /* [in] */ LONG msTimeout,
  371.             /* [out] */ OAFilterState *pfs) = 0;
  372.         
  373.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  374.             /* [in] */ BSTR strFilename) = 0;
  375.         
  376.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  377.             /* [in] */ BSTR strFilename,
  378.             /* [out] */ IDispatch **ppUnk) = 0;
  379.         
  380.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FilterCollection( 
  381.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  382.         
  383.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RegFilterCollection( 
  384.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  385.         
  386.         virtual HRESULT STDMETHODCALLTYPE StopWhenReady( void) = 0;
  387.         
  388.     };
  389.     
  390. #else     /* C style interface */
  391.  
  392.     typedef struct IMediaControlVtbl
  393.     {
  394.         BEGIN_INTERFACE
  395.         
  396.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  397.             IMediaControl * This,
  398.             /* [in] */ REFIID riid,
  399.             /* [iid_is][out] */ void **ppvObject);
  400.         
  401.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  402.             IMediaControl * This);
  403.         
  404.         ULONG ( STDMETHODCALLTYPE *Release )( 
  405.             IMediaControl * This);
  406.         
  407.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  408.             IMediaControl * This,
  409.             /* [out] */ UINT *pctinfo);
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  412.             IMediaControl * This,
  413.             /* [in] */ UINT iTInfo,
  414.             /* [in] */ LCID lcid,
  415.             /* [out] */ ITypeInfo **ppTInfo);
  416.         
  417.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  418.             IMediaControl * This,
  419.             /* [in] */ REFIID riid,
  420.             /* [size_is][in] */ LPOLESTR *rgszNames,
  421.             /* [in] */ UINT cNames,
  422.             /* [in] */ LCID lcid,
  423.             /* [size_is][out] */ DISPID *rgDispId);
  424.         
  425.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  426.             IMediaControl * This,
  427.             /* [in] */ DISPID dispIdMember,
  428.             /* [in] */ REFIID riid,
  429.             /* [in] */ LCID lcid,
  430.             /* [in] */ WORD wFlags,
  431.             /* [out][in] */ DISPPARAMS *pDispParams,
  432.             /* [out] */ VARIANT *pVarResult,
  433.             /* [out] */ EXCEPINFO *pExcepInfo,
  434.             /* [out] */ UINT *puArgErr);
  435.         
  436.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  437.             IMediaControl * This);
  438.         
  439.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  440.             IMediaControl * This);
  441.         
  442.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  443.             IMediaControl * This);
  444.         
  445.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  446.             IMediaControl * This,
  447.             /* [in] */ LONG msTimeout,
  448.             /* [out] */ OAFilterState *pfs);
  449.         
  450.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  451.             IMediaControl * This,
  452.             /* [in] */ BSTR strFilename);
  453.         
  454.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  455.             IMediaControl * This,
  456.             /* [in] */ BSTR strFilename,
  457.             /* [out] */ IDispatch **ppUnk);
  458.         
  459.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FilterCollection )( 
  460.             IMediaControl * This,
  461.             /* [retval][out] */ IDispatch **ppUnk);
  462.         
  463.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegFilterCollection )( 
  464.             IMediaControl * This,
  465.             /* [retval][out] */ IDispatch **ppUnk);
  466.         
  467.         HRESULT ( STDMETHODCALLTYPE *StopWhenReady )( 
  468.             IMediaControl * This);
  469.         
  470.         END_INTERFACE
  471.     } IMediaControlVtbl;
  472.  
  473.     interface IMediaControl
  474.     {
  475.         CONST_VTBL struct IMediaControlVtbl *lpVtbl;
  476.     };
  477.  
  478.     
  479.  
  480. #ifdef COBJMACROS
  481.  
  482.  
  483. #define IMediaControl_QueryInterface(This,riid,ppvObject)    \
  484.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  485.  
  486. #define IMediaControl_AddRef(This)    \
  487.     (This)->lpVtbl -> AddRef(This)
  488.  
  489. #define IMediaControl_Release(This)    \
  490.     (This)->lpVtbl -> Release(This)
  491.  
  492.  
  493. #define IMediaControl_GetTypeInfoCount(This,pctinfo)    \
  494.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  495.  
  496. #define IMediaControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  497.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  498.  
  499. #define IMediaControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  500.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  501.  
  502. #define IMediaControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  503.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  504.  
  505.  
  506. #define IMediaControl_Run(This)    \
  507.     (This)->lpVtbl -> Run(This)
  508.  
  509. #define IMediaControl_Pause(This)    \
  510.     (This)->lpVtbl -> Pause(This)
  511.  
  512. #define IMediaControl_Stop(This)    \
  513.     (This)->lpVtbl -> Stop(This)
  514.  
  515. #define IMediaControl_GetState(This,msTimeout,pfs)    \
  516.     (This)->lpVtbl -> GetState(This,msTimeout,pfs)
  517.  
  518. #define IMediaControl_RenderFile(This,strFilename)    \
  519.     (This)->lpVtbl -> RenderFile(This,strFilename)
  520.  
  521. #define IMediaControl_AddSourceFilter(This,strFilename,ppUnk)    \
  522.     (This)->lpVtbl -> AddSourceFilter(This,strFilename,ppUnk)
  523.  
  524. #define IMediaControl_get_FilterCollection(This,ppUnk)    \
  525.     (This)->lpVtbl -> get_FilterCollection(This,ppUnk)
  526.  
  527. #define IMediaControl_get_RegFilterCollection(This,ppUnk)    \
  528.     (This)->lpVtbl -> get_RegFilterCollection(This,ppUnk)
  529.  
  530. #define IMediaControl_StopWhenReady(This)    \
  531.     (This)->lpVtbl -> StopWhenReady(This)
  532.  
  533. #endif /* COBJMACROS */
  534.  
  535.  
  536. #endif     /* C style interface */
  537.  
  538.  
  539.  
  540. HRESULT STDMETHODCALLTYPE IMediaControl_Run_Proxy( 
  541.     IMediaControl * This);
  542.  
  543.  
  544. void __RPC_STUB IMediaControl_Run_Stub(
  545.     IRpcStubBuffer *This,
  546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  547.     PRPC_MESSAGE _pRpcMessage,
  548.     DWORD *_pdwStubPhase);
  549.  
  550.  
  551. HRESULT STDMETHODCALLTYPE IMediaControl_Pause_Proxy( 
  552.     IMediaControl * This);
  553.  
  554.  
  555. void __RPC_STUB IMediaControl_Pause_Stub(
  556.     IRpcStubBuffer *This,
  557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  558.     PRPC_MESSAGE _pRpcMessage,
  559.     DWORD *_pdwStubPhase);
  560.  
  561.  
  562. HRESULT STDMETHODCALLTYPE IMediaControl_Stop_Proxy( 
  563.     IMediaControl * This);
  564.  
  565.  
  566. void __RPC_STUB IMediaControl_Stop_Stub(
  567.     IRpcStubBuffer *This,
  568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  569.     PRPC_MESSAGE _pRpcMessage,
  570.     DWORD *_pdwStubPhase);
  571.  
  572.  
  573. HRESULT STDMETHODCALLTYPE IMediaControl_GetState_Proxy( 
  574.     IMediaControl * This,
  575.     /* [in] */ LONG msTimeout,
  576.     /* [out] */ OAFilterState *pfs);
  577.  
  578.  
  579. void __RPC_STUB IMediaControl_GetState_Stub(
  580.     IRpcStubBuffer *This,
  581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  582.     PRPC_MESSAGE _pRpcMessage,
  583.     DWORD *_pdwStubPhase);
  584.  
  585.  
  586. HRESULT STDMETHODCALLTYPE IMediaControl_RenderFile_Proxy( 
  587.     IMediaControl * This,
  588.     /* [in] */ BSTR strFilename);
  589.  
  590.  
  591. void __RPC_STUB IMediaControl_RenderFile_Stub(
  592.     IRpcStubBuffer *This,
  593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  594.     PRPC_MESSAGE _pRpcMessage,
  595.     DWORD *_pdwStubPhase);
  596.  
  597.  
  598. HRESULT STDMETHODCALLTYPE IMediaControl_AddSourceFilter_Proxy( 
  599.     IMediaControl * This,
  600.     /* [in] */ BSTR strFilename,
  601.     /* [out] */ IDispatch **ppUnk);
  602.  
  603.  
  604. void __RPC_STUB IMediaControl_AddSourceFilter_Stub(
  605.     IRpcStubBuffer *This,
  606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  607.     PRPC_MESSAGE _pRpcMessage,
  608.     DWORD *_pdwStubPhase);
  609.  
  610.  
  611. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaControl_get_FilterCollection_Proxy( 
  612.     IMediaControl * This,
  613.     /* [retval][out] */ IDispatch **ppUnk);
  614.  
  615.  
  616. void __RPC_STUB IMediaControl_get_FilterCollection_Stub(
  617.     IRpcStubBuffer *This,
  618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  619.     PRPC_MESSAGE _pRpcMessage,
  620.     DWORD *_pdwStubPhase);
  621.  
  622.  
  623. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaControl_get_RegFilterCollection_Proxy( 
  624.     IMediaControl * This,
  625.     /* [retval][out] */ IDispatch **ppUnk);
  626.  
  627.  
  628. void __RPC_STUB IMediaControl_get_RegFilterCollection_Stub(
  629.     IRpcStubBuffer *This,
  630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  631.     PRPC_MESSAGE _pRpcMessage,
  632.     DWORD *_pdwStubPhase);
  633.  
  634.  
  635. HRESULT STDMETHODCALLTYPE IMediaControl_StopWhenReady_Proxy( 
  636.     IMediaControl * This);
  637.  
  638.  
  639. void __RPC_STUB IMediaControl_StopWhenReady_Stub(
  640.     IRpcStubBuffer *This,
  641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  642.     PRPC_MESSAGE _pRpcMessage,
  643.     DWORD *_pdwStubPhase);
  644.  
  645.  
  646.  
  647. #endif     /* __IMediaControl_INTERFACE_DEFINED__ */
  648.  
  649.  
  650. #ifndef __IMediaEvent_INTERFACE_DEFINED__
  651. #define __IMediaEvent_INTERFACE_DEFINED__
  652.  
  653. /* interface IMediaEvent */
  654. /* [object][dual][oleautomation][helpstring][uuid] */ 
  655.  
  656.  
  657. DEFINE_GUID(IID_IMediaEvent,0x56a868b6,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  658.  
  659. #if defined(__cplusplus) && !defined(CINTERFACE)
  660.     
  661.     MIDL_INTERFACE("56a868b6-0ad4-11ce-b03a-0020af0ba770")
  662.     IMediaEvent : public IDispatch
  663.     {
  664.     public:
  665.         virtual HRESULT STDMETHODCALLTYPE GetEventHandle( 
  666.             /* [out] */ OAEVENT *hEvent) = 0;
  667.         
  668.         virtual HRESULT STDMETHODCALLTYPE GetEvent( 
  669.             /* [out] */ long *lEventCode,
  670.             /* [out] */ LONG_PTR *lParam1,
  671.             /* [out] */ LONG_PTR *lParam2,
  672.             /* [in] */ long msTimeout) = 0;
  673.         
  674.         virtual HRESULT STDMETHODCALLTYPE WaitForCompletion( 
  675.             /* [in] */ long msTimeout,
  676.             /* [out] */ long *pEvCode) = 0;
  677.         
  678.         virtual HRESULT STDMETHODCALLTYPE CancelDefaultHandling( 
  679.             /* [in] */ long lEvCode) = 0;
  680.         
  681.         virtual HRESULT STDMETHODCALLTYPE RestoreDefaultHandling( 
  682.             /* [in] */ long lEvCode) = 0;
  683.         
  684.         virtual HRESULT STDMETHODCALLTYPE FreeEventParams( 
  685.             /* [in] */ long lEvCode,
  686.             /* [in] */ LONG_PTR lParam1,
  687.             /* [in] */ LONG_PTR lParam2) = 0;
  688.         
  689.     };
  690.     
  691. #else     /* C style interface */
  692.  
  693.     typedef struct IMediaEventVtbl
  694.     {
  695.         BEGIN_INTERFACE
  696.         
  697.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  698.             IMediaEvent * This,
  699.             /* [in] */ REFIID riid,
  700.             /* [iid_is][out] */ void **ppvObject);
  701.         
  702.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  703.             IMediaEvent * This);
  704.         
  705.         ULONG ( STDMETHODCALLTYPE *Release )( 
  706.             IMediaEvent * This);
  707.         
  708.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  709.             IMediaEvent * This,
  710.             /* [out] */ UINT *pctinfo);
  711.         
  712.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  713.             IMediaEvent * This,
  714.             /* [in] */ UINT iTInfo,
  715.             /* [in] */ LCID lcid,
  716.             /* [out] */ ITypeInfo **ppTInfo);
  717.         
  718.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  719.             IMediaEvent * This,
  720.             /* [in] */ REFIID riid,
  721.             /* [size_is][in] */ LPOLESTR *rgszNames,
  722.             /* [in] */ UINT cNames,
  723.             /* [in] */ LCID lcid,
  724.             /* [size_is][out] */ DISPID *rgDispId);
  725.         
  726.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  727.             IMediaEvent * This,
  728.             /* [in] */ DISPID dispIdMember,
  729.             /* [in] */ REFIID riid,
  730.             /* [in] */ LCID lcid,
  731.             /* [in] */ WORD wFlags,
  732.             /* [out][in] */ DISPPARAMS *pDispParams,
  733.             /* [out] */ VARIANT *pVarResult,
  734.             /* [out] */ EXCEPINFO *pExcepInfo,
  735.             /* [out] */ UINT *puArgErr);
  736.         
  737.         HRESULT ( STDMETHODCALLTYPE *GetEventHandle )( 
  738.             IMediaEvent * This,
  739.             /* [out] */ OAEVENT *hEvent);
  740.         
  741.         HRESULT ( STDMETHODCALLTYPE *GetEvent )( 
  742.             IMediaEvent * This,
  743.             /* [out] */ long *lEventCode,
  744.             /* [out] */ LONG_PTR *lParam1,
  745.             /* [out] */ LONG_PTR *lParam2,
  746.             /* [in] */ long msTimeout);
  747.         
  748.         HRESULT ( STDMETHODCALLTYPE *WaitForCompletion )( 
  749.             IMediaEvent * This,
  750.             /* [in] */ long msTimeout,
  751.             /* [out] */ long *pEvCode);
  752.         
  753.         HRESULT ( STDMETHODCALLTYPE *CancelDefaultHandling )( 
  754.             IMediaEvent * This,
  755.             /* [in] */ long lEvCode);
  756.         
  757.         HRESULT ( STDMETHODCALLTYPE *RestoreDefaultHandling )( 
  758.             IMediaEvent * This,
  759.             /* [in] */ long lEvCode);
  760.         
  761.         HRESULT ( STDMETHODCALLTYPE *FreeEventParams )( 
  762.             IMediaEvent * This,
  763.             /* [in] */ long lEvCode,
  764.             /* [in] */ LONG_PTR lParam1,
  765.             /* [in] */ LONG_PTR lParam2);
  766.         
  767.         END_INTERFACE
  768.     } IMediaEventVtbl;
  769.  
  770.     interface IMediaEvent
  771.     {
  772.         CONST_VTBL struct IMediaEventVtbl *lpVtbl;
  773.     };
  774.  
  775.     
  776.  
  777. #ifdef COBJMACROS
  778.  
  779.  
  780. #define IMediaEvent_QueryInterface(This,riid,ppvObject)    \
  781.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  782.  
  783. #define IMediaEvent_AddRef(This)    \
  784.     (This)->lpVtbl -> AddRef(This)
  785.  
  786. #define IMediaEvent_Release(This)    \
  787.     (This)->lpVtbl -> Release(This)
  788.  
  789.  
  790. #define IMediaEvent_GetTypeInfoCount(This,pctinfo)    \
  791.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  792.  
  793. #define IMediaEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  794.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  795.  
  796. #define IMediaEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  797.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  798.  
  799. #define IMediaEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  800.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  801.  
  802.  
  803. #define IMediaEvent_GetEventHandle(This,hEvent)    \
  804.     (This)->lpVtbl -> GetEventHandle(This,hEvent)
  805.  
  806. #define IMediaEvent_GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)    \
  807.     (This)->lpVtbl -> GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)
  808.  
  809. #define IMediaEvent_WaitForCompletion(This,msTimeout,pEvCode)    \
  810.     (This)->lpVtbl -> WaitForCompletion(This,msTimeout,pEvCode)
  811.  
  812. #define IMediaEvent_CancelDefaultHandling(This,lEvCode)    \
  813.     (This)->lpVtbl -> CancelDefaultHandling(This,lEvCode)
  814.  
  815. #define IMediaEvent_RestoreDefaultHandling(This,lEvCode)    \
  816.     (This)->lpVtbl -> RestoreDefaultHandling(This,lEvCode)
  817.  
  818. #define IMediaEvent_FreeEventParams(This,lEvCode,lParam1,lParam2)    \
  819.     (This)->lpVtbl -> FreeEventParams(This,lEvCode,lParam1,lParam2)
  820.  
  821. #endif /* COBJMACROS */
  822.  
  823.  
  824. #endif     /* C style interface */
  825.  
  826.  
  827.  
  828. HRESULT STDMETHODCALLTYPE IMediaEvent_GetEventHandle_Proxy( 
  829.     IMediaEvent * This,
  830.     /* [out] */ OAEVENT *hEvent);
  831.  
  832.  
  833. void __RPC_STUB IMediaEvent_GetEventHandle_Stub(
  834.     IRpcStubBuffer *This,
  835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  836.     PRPC_MESSAGE _pRpcMessage,
  837.     DWORD *_pdwStubPhase);
  838.  
  839.  
  840. HRESULT STDMETHODCALLTYPE IMediaEvent_GetEvent_Proxy( 
  841.     IMediaEvent * This,
  842.     /* [out] */ long *lEventCode,
  843.     /* [out] */ LONG_PTR *lParam1,
  844.     /* [out] */ LONG_PTR *lParam2,
  845.     /* [in] */ long msTimeout);
  846.  
  847.  
  848. void __RPC_STUB IMediaEvent_GetEvent_Stub(
  849.     IRpcStubBuffer *This,
  850.     IRpcChannelBuffer *_pRpcChannelBuffer,
  851.     PRPC_MESSAGE _pRpcMessage,
  852.     DWORD *_pdwStubPhase);
  853.  
  854.  
  855. HRESULT STDMETHODCALLTYPE IMediaEvent_WaitForCompletion_Proxy( 
  856.     IMediaEvent * This,
  857.     /* [in] */ long msTimeout,
  858.     /* [out] */ long *pEvCode);
  859.  
  860.  
  861. void __RPC_STUB IMediaEvent_WaitForCompletion_Stub(
  862.     IRpcStubBuffer *This,
  863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  864.     PRPC_MESSAGE _pRpcMessage,
  865.     DWORD *_pdwStubPhase);
  866.  
  867.  
  868. HRESULT STDMETHODCALLTYPE IMediaEvent_CancelDefaultHandling_Proxy( 
  869.     IMediaEvent * This,
  870.     /* [in] */ long lEvCode);
  871.  
  872.  
  873. void __RPC_STUB IMediaEvent_CancelDefaultHandling_Stub(
  874.     IRpcStubBuffer *This,
  875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  876.     PRPC_MESSAGE _pRpcMessage,
  877.     DWORD *_pdwStubPhase);
  878.  
  879.  
  880. HRESULT STDMETHODCALLTYPE IMediaEvent_RestoreDefaultHandling_Proxy( 
  881.     IMediaEvent * This,
  882.     /* [in] */ long lEvCode);
  883.  
  884.  
  885. void __RPC_STUB IMediaEvent_RestoreDefaultHandling_Stub(
  886.     IRpcStubBuffer *This,
  887.     IRpcChannelBuffer *_pRpcChannelBuffer,
  888.     PRPC_MESSAGE _pRpcMessage,
  889.     DWORD *_pdwStubPhase);
  890.  
  891.  
  892. HRESULT STDMETHODCALLTYPE IMediaEvent_FreeEventParams_Proxy( 
  893.     IMediaEvent * This,
  894.     /* [in] */ long lEvCode,
  895.     /* [in] */ LONG_PTR lParam1,
  896.     /* [in] */ LONG_PTR lParam2);
  897.  
  898.  
  899. void __RPC_STUB IMediaEvent_FreeEventParams_Stub(
  900.     IRpcStubBuffer *This,
  901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  902.     PRPC_MESSAGE _pRpcMessage,
  903.     DWORD *_pdwStubPhase);
  904.  
  905.  
  906.  
  907. #endif     /* __IMediaEvent_INTERFACE_DEFINED__ */
  908.  
  909.  
  910. #ifndef __IMediaEventEx_INTERFACE_DEFINED__
  911. #define __IMediaEventEx_INTERFACE_DEFINED__
  912.  
  913. /* interface IMediaEventEx */
  914. /* [object][helpstring][uuid] */ 
  915.  
  916.  
  917. DEFINE_GUID(IID_IMediaEventEx,0x56a868c0,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  918.  
  919. #if defined(__cplusplus) && !defined(CINTERFACE)
  920.     
  921.     MIDL_INTERFACE("56a868c0-0ad4-11ce-b03a-0020af0ba770")
  922.     IMediaEventEx : public IMediaEvent
  923.     {
  924.     public:
  925.         virtual HRESULT STDMETHODCALLTYPE SetNotifyWindow( 
  926.             /* [in] */ OAHWND hwnd,
  927.             /* [in] */ long lMsg,
  928.             /* [in] */ LONG_PTR lInstanceData) = 0;
  929.         
  930.         virtual HRESULT STDMETHODCALLTYPE SetNotifyFlags( 
  931.             /* [in] */ long lNoNotifyFlags) = 0;
  932.         
  933.         virtual HRESULT STDMETHODCALLTYPE GetNotifyFlags( 
  934.             /* [out] */ long *lplNoNotifyFlags) = 0;
  935.         
  936.     };
  937.     
  938. #else     /* C style interface */
  939.  
  940.     typedef struct IMediaEventExVtbl
  941.     {
  942.         BEGIN_INTERFACE
  943.         
  944.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  945.             IMediaEventEx * This,
  946.             /* [in] */ REFIID riid,
  947.             /* [iid_is][out] */ void **ppvObject);
  948.         
  949.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  950.             IMediaEventEx * This);
  951.         
  952.         ULONG ( STDMETHODCALLTYPE *Release )( 
  953.             IMediaEventEx * This);
  954.         
  955.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  956.             IMediaEventEx * This,
  957.             /* [out] */ UINT *pctinfo);
  958.         
  959.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  960.             IMediaEventEx * This,
  961.             /* [in] */ UINT iTInfo,
  962.             /* [in] */ LCID lcid,
  963.             /* [out] */ ITypeInfo **ppTInfo);
  964.         
  965.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  966.             IMediaEventEx * This,
  967.             /* [in] */ REFIID riid,
  968.             /* [size_is][in] */ LPOLESTR *rgszNames,
  969.             /* [in] */ UINT cNames,
  970.             /* [in] */ LCID lcid,
  971.             /* [size_is][out] */ DISPID *rgDispId);
  972.         
  973.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  974.             IMediaEventEx * This,
  975.             /* [in] */ DISPID dispIdMember,
  976.             /* [in] */ REFIID riid,
  977.             /* [in] */ LCID lcid,
  978.             /* [in] */ WORD wFlags,
  979.             /* [out][in] */ DISPPARAMS *pDispParams,
  980.             /* [out] */ VARIANT *pVarResult,
  981.             /* [out] */ EXCEPINFO *pExcepInfo,
  982.             /* [out] */ UINT *puArgErr);
  983.         
  984.         HRESULT ( STDMETHODCALLTYPE *GetEventHandle )( 
  985.             IMediaEventEx * This,
  986.             /* [out] */ OAEVENT *hEvent);
  987.         
  988.         HRESULT ( STDMETHODCALLTYPE *GetEvent )( 
  989.             IMediaEventEx * This,
  990.             /* [out] */ long *lEventCode,
  991.             /* [out] */ LONG_PTR *lParam1,
  992.             /* [out] */ LONG_PTR *lParam2,
  993.             /* [in] */ long msTimeout);
  994.         
  995.         HRESULT ( STDMETHODCALLTYPE *WaitForCompletion )( 
  996.             IMediaEventEx * This,
  997.             /* [in] */ long msTimeout,
  998.             /* [out] */ long *pEvCode);
  999.         
  1000.         HRESULT ( STDMETHODCALLTYPE *CancelDefaultHandling )( 
  1001.             IMediaEventEx * This,
  1002.             /* [in] */ long lEvCode);
  1003.         
  1004.         HRESULT ( STDMETHODCALLTYPE *RestoreDefaultHandling )( 
  1005.             IMediaEventEx * This,
  1006.             /* [in] */ long lEvCode);
  1007.         
  1008.         HRESULT ( STDMETHODCALLTYPE *FreeEventParams )( 
  1009.             IMediaEventEx * This,
  1010.             /* [in] */ long lEvCode,
  1011.             /* [in] */ LONG_PTR lParam1,
  1012.             /* [in] */ LONG_PTR lParam2);
  1013.         
  1014.         HRESULT ( STDMETHODCALLTYPE *SetNotifyWindow )( 
  1015.             IMediaEventEx * This,
  1016.             /* [in] */ OAHWND hwnd,
  1017.             /* [in] */ long lMsg,
  1018.             /* [in] */ LONG_PTR lInstanceData);
  1019.         
  1020.         HRESULT ( STDMETHODCALLTYPE *SetNotifyFlags )( 
  1021.             IMediaEventEx * This,
  1022.             /* [in] */ long lNoNotifyFlags);
  1023.         
  1024.         HRESULT ( STDMETHODCALLTYPE *GetNotifyFlags )( 
  1025.             IMediaEventEx * This,
  1026.             /* [out] */ long *lplNoNotifyFlags);
  1027.         
  1028.         END_INTERFACE
  1029.     } IMediaEventExVtbl;
  1030.  
  1031.     interface IMediaEventEx
  1032.     {
  1033.         CONST_VTBL struct IMediaEventExVtbl *lpVtbl;
  1034.     };
  1035.  
  1036.     
  1037.  
  1038. #ifdef COBJMACROS
  1039.  
  1040.  
  1041. #define IMediaEventEx_QueryInterface(This,riid,ppvObject)    \
  1042.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1043.  
  1044. #define IMediaEventEx_AddRef(This)    \
  1045.     (This)->lpVtbl -> AddRef(This)
  1046.  
  1047. #define IMediaEventEx_Release(This)    \
  1048.     (This)->lpVtbl -> Release(This)
  1049.  
  1050.  
  1051. #define IMediaEventEx_GetTypeInfoCount(This,pctinfo)    \
  1052.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1053.  
  1054. #define IMediaEventEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1055.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1056.  
  1057. #define IMediaEventEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1058.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1059.  
  1060. #define IMediaEventEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1061.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1062.  
  1063.  
  1064. #define IMediaEventEx_GetEventHandle(This,hEvent)    \
  1065.     (This)->lpVtbl -> GetEventHandle(This,hEvent)
  1066.  
  1067. #define IMediaEventEx_GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)    \
  1068.     (This)->lpVtbl -> GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)
  1069.  
  1070. #define IMediaEventEx_WaitForCompletion(This,msTimeout,pEvCode)    \
  1071.     (This)->lpVtbl -> WaitForCompletion(This,msTimeout,pEvCode)
  1072.  
  1073. #define IMediaEventEx_CancelDefaultHandling(This,lEvCode)    \
  1074.     (This)->lpVtbl -> CancelDefaultHandling(This,lEvCode)
  1075.  
  1076. #define IMediaEventEx_RestoreDefaultHandling(This,lEvCode)    \
  1077.     (This)->lpVtbl -> RestoreDefaultHandling(This,lEvCode)
  1078.  
  1079. #define IMediaEventEx_FreeEventParams(This,lEvCode,lParam1,lParam2)    \
  1080.     (This)->lpVtbl -> FreeEventParams(This,lEvCode,lParam1,lParam2)
  1081.  
  1082.  
  1083. #define IMediaEventEx_SetNotifyWindow(This,hwnd,lMsg,lInstanceData)    \
  1084.     (This)->lpVtbl -> SetNotifyWindow(This,hwnd,lMsg,lInstanceData)
  1085.  
  1086. #define IMediaEventEx_SetNotifyFlags(This,lNoNotifyFlags)    \
  1087.     (This)->lpVtbl -> SetNotifyFlags(This,lNoNotifyFlags)
  1088.  
  1089. #define IMediaEventEx_GetNotifyFlags(This,lplNoNotifyFlags)    \
  1090.     (This)->lpVtbl -> GetNotifyFlags(This,lplNoNotifyFlags)
  1091.  
  1092. #endif /* COBJMACROS */
  1093.  
  1094.  
  1095. #endif     /* C style interface */
  1096.  
  1097.  
  1098.  
  1099. HRESULT STDMETHODCALLTYPE IMediaEventEx_SetNotifyWindow_Proxy( 
  1100.     IMediaEventEx * This,
  1101.     /* [in] */ OAHWND hwnd,
  1102.     /* [in] */ long lMsg,
  1103.     /* [in] */ LONG_PTR lInstanceData);
  1104.  
  1105.  
  1106. void __RPC_STUB IMediaEventEx_SetNotifyWindow_Stub(
  1107.     IRpcStubBuffer *This,
  1108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1109.     PRPC_MESSAGE _pRpcMessage,
  1110.     DWORD *_pdwStubPhase);
  1111.  
  1112.  
  1113. HRESULT STDMETHODCALLTYPE IMediaEventEx_SetNotifyFlags_Proxy( 
  1114.     IMediaEventEx * This,
  1115.     /* [in] */ long lNoNotifyFlags);
  1116.  
  1117.  
  1118. void __RPC_STUB IMediaEventEx_SetNotifyFlags_Stub(
  1119.     IRpcStubBuffer *This,
  1120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1121.     PRPC_MESSAGE _pRpcMessage,
  1122.     DWORD *_pdwStubPhase);
  1123.  
  1124.  
  1125. HRESULT STDMETHODCALLTYPE IMediaEventEx_GetNotifyFlags_Proxy( 
  1126.     IMediaEventEx * This,
  1127.     /* [out] */ long *lplNoNotifyFlags);
  1128.  
  1129.  
  1130. void __RPC_STUB IMediaEventEx_GetNotifyFlags_Stub(
  1131.     IRpcStubBuffer *This,
  1132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1133.     PRPC_MESSAGE _pRpcMessage,
  1134.     DWORD *_pdwStubPhase);
  1135.  
  1136.  
  1137.  
  1138. #endif     /* __IMediaEventEx_INTERFACE_DEFINED__ */
  1139.  
  1140.  
  1141. #ifndef __IMediaPosition_INTERFACE_DEFINED__
  1142. #define __IMediaPosition_INTERFACE_DEFINED__
  1143.  
  1144. /* interface IMediaPosition */
  1145. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1146.  
  1147.  
  1148. DEFINE_GUID(IID_IMediaPosition,0x56a868b2,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  1149.  
  1150. #if defined(__cplusplus) && !defined(CINTERFACE)
  1151.     
  1152.     MIDL_INTERFACE("56a868b2-0ad4-11ce-b03a-0020af0ba770")
  1153.     IMediaPosition : public IDispatch
  1154.     {
  1155.     public:
  1156.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
  1157.             /* [retval][out] */ REFTIME *plength) = 0;
  1158.         
  1159.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CurrentPosition( 
  1160.             /* [in] */ REFTIME llTime) = 0;
  1161.         
  1162.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CurrentPosition( 
  1163.             /* [retval][out] */ REFTIME *pllTime) = 0;
  1164.         
  1165.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StopTime( 
  1166.             /* [retval][out] */ REFTIME *pllTime) = 0;
  1167.         
  1168.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StopTime( 
  1169.             /* [in] */ REFTIME llTime) = 0;
  1170.         
  1171.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PrerollTime( 
  1172.             /* [retval][out] */ REFTIME *pllTime) = 0;
  1173.         
  1174.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrerollTime( 
  1175.             /* [in] */ REFTIME llTime) = 0;
  1176.         
  1177.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rate( 
  1178.             /* [in] */ double dRate) = 0;
  1179.         
  1180.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Rate( 
  1181.             /* [retval][out] */ double *pdRate) = 0;
  1182.         
  1183.         virtual HRESULT STDMETHODCALLTYPE CanSeekForward( 
  1184.             /* [retval][out] */ LONG *pCanSeekForward) = 0;
  1185.         
  1186.         virtual HRESULT STDMETHODCALLTYPE CanSeekBackward( 
  1187.             /* [retval][out] */ LONG *pCanSeekBackward) = 0;
  1188.         
  1189.     };
  1190.     
  1191. #else     /* C style interface */
  1192.  
  1193.     typedef struct IMediaPositionVtbl
  1194.     {
  1195.         BEGIN_INTERFACE
  1196.         
  1197.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1198.             IMediaPosition * This,
  1199.             /* [in] */ REFIID riid,
  1200.             /* [iid_is][out] */ void **ppvObject);
  1201.         
  1202.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1203.             IMediaPosition * This);
  1204.         
  1205.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1206.             IMediaPosition * This);
  1207.         
  1208.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1209.             IMediaPosition * This,
  1210.             /* [out] */ UINT *pctinfo);
  1211.         
  1212.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1213.             IMediaPosition * This,
  1214.             /* [in] */ UINT iTInfo,
  1215.             /* [in] */ LCID lcid,
  1216.             /* [out] */ ITypeInfo **ppTInfo);
  1217.         
  1218.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1219.             IMediaPosition * This,
  1220.             /* [in] */ REFIID riid,
  1221.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1222.             /* [in] */ UINT cNames,
  1223.             /* [in] */ LCID lcid,
  1224.             /* [size_is][out] */ DISPID *rgDispId);
  1225.         
  1226.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1227.             IMediaPosition * This,
  1228.             /* [in] */ DISPID dispIdMember,
  1229.             /* [in] */ REFIID riid,
  1230.             /* [in] */ LCID lcid,
  1231.             /* [in] */ WORD wFlags,
  1232.             /* [out][in] */ DISPPARAMS *pDispParams,
  1233.             /* [out] */ VARIANT *pVarResult,
  1234.             /* [out] */ EXCEPINFO *pExcepInfo,
  1235.             /* [out] */ UINT *puArgErr);
  1236.         
  1237.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
  1238.             IMediaPosition * This,
  1239.             /* [retval][out] */ REFTIME *plength);
  1240.         
  1241.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentPosition )( 
  1242.             IMediaPosition * This,
  1243.             /* [in] */ REFTIME llTime);
  1244.         
  1245.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPosition )( 
  1246.             IMediaPosition * This,
  1247.             /* [retval][out] */ REFTIME *pllTime);
  1248.         
  1249.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StopTime )( 
  1250.             IMediaPosition * This,
  1251.             /* [retval][out] */ REFTIME *pllTime);
  1252.         
  1253.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_StopTime )( 
  1254.             IMediaPosition * This,
  1255.             /* [in] */ REFTIME llTime);
  1256.         
  1257.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrerollTime )( 
  1258.             IMediaPosition * This,
  1259.             /* [retval][out] */ REFTIME *pllTime);
  1260.         
  1261.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrerollTime )( 
  1262.             IMediaPosition * This,
  1263.             /* [in] */ REFTIME llTime);
  1264.         
  1265.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  1266.             IMediaPosition * This,
  1267.             /* [in] */ double dRate);
  1268.         
  1269.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  1270.             IMediaPosition * This,
  1271.             /* [retval][out] */ double *pdRate);
  1272.         
  1273.         HRESULT ( STDMETHODCALLTYPE *CanSeekForward )( 
  1274.             IMediaPosition * This,
  1275.             /* [retval][out] */ LONG *pCanSeekForward);
  1276.         
  1277.         HRESULT ( STDMETHODCALLTYPE *CanSeekBackward )( 
  1278.             IMediaPosition * This,
  1279.             /* [retval][out] */ LONG *pCanSeekBackward);
  1280.         
  1281.         END_INTERFACE
  1282.     } IMediaPositionVtbl;
  1283.  
  1284.     interface IMediaPosition
  1285.     {
  1286.         CONST_VTBL struct IMediaPositionVtbl *lpVtbl;
  1287.     };
  1288.  
  1289.     
  1290.  
  1291. #ifdef COBJMACROS
  1292.  
  1293.  
  1294. #define IMediaPosition_QueryInterface(This,riid,ppvObject)    \
  1295.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1296.  
  1297. #define IMediaPosition_AddRef(This)    \
  1298.     (This)->lpVtbl -> AddRef(This)
  1299.  
  1300. #define IMediaPosition_Release(This)    \
  1301.     (This)->lpVtbl -> Release(This)
  1302.  
  1303.  
  1304. #define IMediaPosition_GetTypeInfoCount(This,pctinfo)    \
  1305.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1306.  
  1307. #define IMediaPosition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1308.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1309.  
  1310. #define IMediaPosition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1311.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1312.  
  1313. #define IMediaPosition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1314.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1315.  
  1316.  
  1317. #define IMediaPosition_get_Duration(This,plength)    \
  1318.     (This)->lpVtbl -> get_Duration(This,plength)
  1319.  
  1320. #define IMediaPosition_put_CurrentPosition(This,llTime)    \
  1321.     (This)->lpVtbl -> put_CurrentPosition(This,llTime)
  1322.  
  1323. #define IMediaPosition_get_CurrentPosition(This,pllTime)    \
  1324.     (This)->lpVtbl -> get_CurrentPosition(This,pllTime)
  1325.  
  1326. #define IMediaPosition_get_StopTime(This,pllTime)    \
  1327.     (This)->lpVtbl -> get_StopTime(This,pllTime)
  1328.  
  1329. #define IMediaPosition_put_StopTime(This,llTime)    \
  1330.     (This)->lpVtbl -> put_StopTime(This,llTime)
  1331.  
  1332. #define IMediaPosition_get_PrerollTime(This,pllTime)    \
  1333.     (This)->lpVtbl -> get_PrerollTime(This,pllTime)
  1334.  
  1335. #define IMediaPosition_put_PrerollTime(This,llTime)    \
  1336.     (This)->lpVtbl -> put_PrerollTime(This,llTime)
  1337.  
  1338. #define IMediaPosition_put_Rate(This,dRate)    \
  1339.     (This)->lpVtbl -> put_Rate(This,dRate)
  1340.  
  1341. #define IMediaPosition_get_Rate(This,pdRate)    \
  1342.     (This)->lpVtbl -> get_Rate(This,pdRate)
  1343.  
  1344. #define IMediaPosition_CanSeekForward(This,pCanSeekForward)    \
  1345.     (This)->lpVtbl -> CanSeekForward(This,pCanSeekForward)
  1346.  
  1347. #define IMediaPosition_CanSeekBackward(This,pCanSeekBackward)    \
  1348.     (This)->lpVtbl -> CanSeekBackward(This,pCanSeekBackward)
  1349.  
  1350. #endif /* COBJMACROS */
  1351.  
  1352.  
  1353. #endif     /* C style interface */
  1354.  
  1355.  
  1356.  
  1357. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_Duration_Proxy( 
  1358.     IMediaPosition * This,
  1359.     /* [retval][out] */ REFTIME *plength);
  1360.  
  1361.  
  1362. void __RPC_STUB IMediaPosition_get_Duration_Stub(
  1363.     IRpcStubBuffer *This,
  1364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1365.     PRPC_MESSAGE _pRpcMessage,
  1366.     DWORD *_pdwStubPhase);
  1367.  
  1368.  
  1369. /* [propput] */ HRESULT STDMETHODCALLTYPE IMediaPosition_put_CurrentPosition_Proxy( 
  1370.     IMediaPosition * This,
  1371.     /* [in] */ REFTIME llTime);
  1372.  
  1373.  
  1374. void __RPC_STUB IMediaPosition_put_CurrentPosition_Stub(
  1375.     IRpcStubBuffer *This,
  1376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1377.     PRPC_MESSAGE _pRpcMessage,
  1378.     DWORD *_pdwStubPhase);
  1379.  
  1380.  
  1381. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_CurrentPosition_Proxy( 
  1382.     IMediaPosition * This,
  1383.     /* [retval][out] */ REFTIME *pllTime);
  1384.  
  1385.  
  1386. void __RPC_STUB IMediaPosition_get_CurrentPosition_Stub(
  1387.     IRpcStubBuffer *This,
  1388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1389.     PRPC_MESSAGE _pRpcMessage,
  1390.     DWORD *_pdwStubPhase);
  1391.  
  1392.  
  1393. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_StopTime_Proxy( 
  1394.     IMediaPosition * This,
  1395.     /* [retval][out] */ REFTIME *pllTime);
  1396.  
  1397.  
  1398. void __RPC_STUB IMediaPosition_get_StopTime_Stub(
  1399.     IRpcStubBuffer *This,
  1400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1401.     PRPC_MESSAGE _pRpcMessage,
  1402.     DWORD *_pdwStubPhase);
  1403.  
  1404.  
  1405. /* [propput] */ HRESULT STDMETHODCALLTYPE IMediaPosition_put_StopTime_Proxy( 
  1406.     IMediaPosition * This,
  1407.     /* [in] */ REFTIME llTime);
  1408.  
  1409.  
  1410. void __RPC_STUB IMediaPosition_put_StopTime_Stub(
  1411.     IRpcStubBuffer *This,
  1412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1413.     PRPC_MESSAGE _pRpcMessage,
  1414.     DWORD *_pdwStubPhase);
  1415.  
  1416.  
  1417. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_PrerollTime_Proxy( 
  1418.     IMediaPosition * This,
  1419.     /* [retval][out] */ REFTIME *pllTime);
  1420.  
  1421.  
  1422. void __RPC_STUB IMediaPosition_get_PrerollTime_Stub(
  1423.     IRpcStubBuffer *This,
  1424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1425.     PRPC_MESSAGE _pRpcMessage,
  1426.     DWORD *_pdwStubPhase);
  1427.  
  1428.  
  1429. /* [propput] */ HRESULT STDMETHODCALLTYPE IMediaPosition_put_PrerollTime_Proxy( 
  1430.     IMediaPosition * This,
  1431.     /* [in] */ REFTIME llTime);
  1432.  
  1433.  
  1434. void __RPC_STUB IMediaPosition_put_PrerollTime_Stub(
  1435.     IRpcStubBuffer *This,
  1436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1437.     PRPC_MESSAGE _pRpcMessage,
  1438.     DWORD *_pdwStubPhase);
  1439.  
  1440.  
  1441. /* [propput] */ HRESULT STDMETHODCALLTYPE IMediaPosition_put_Rate_Proxy( 
  1442.     IMediaPosition * This,
  1443.     /* [in] */ double dRate);
  1444.  
  1445.  
  1446. void __RPC_STUB IMediaPosition_put_Rate_Stub(
  1447.     IRpcStubBuffer *This,
  1448.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1449.     PRPC_MESSAGE _pRpcMessage,
  1450.     DWORD *_pdwStubPhase);
  1451.  
  1452.  
  1453. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_Rate_Proxy( 
  1454.     IMediaPosition * This,
  1455.     /* [retval][out] */ double *pdRate);
  1456.  
  1457.  
  1458. void __RPC_STUB IMediaPosition_get_Rate_Stub(
  1459.     IRpcStubBuffer *This,
  1460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1461.     PRPC_MESSAGE _pRpcMessage,
  1462.     DWORD *_pdwStubPhase);
  1463.  
  1464.  
  1465. HRESULT STDMETHODCALLTYPE IMediaPosition_CanSeekForward_Proxy( 
  1466.     IMediaPosition * This,
  1467.     /* [retval][out] */ LONG *pCanSeekForward);
  1468.  
  1469.  
  1470. void __RPC_STUB IMediaPosition_CanSeekForward_Stub(
  1471.     IRpcStubBuffer *This,
  1472.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1473.     PRPC_MESSAGE _pRpcMessage,
  1474.     DWORD *_pdwStubPhase);
  1475.  
  1476.  
  1477. HRESULT STDMETHODCALLTYPE IMediaPosition_CanSeekBackward_Proxy( 
  1478.     IMediaPosition * This,
  1479.     /* [retval][out] */ LONG *pCanSeekBackward);
  1480.  
  1481.  
  1482. void __RPC_STUB IMediaPosition_CanSeekBackward_Stub(
  1483.     IRpcStubBuffer *This,
  1484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1485.     PRPC_MESSAGE _pRpcMessage,
  1486.     DWORD *_pdwStubPhase);
  1487.  
  1488.  
  1489.  
  1490. #endif     /* __IMediaPosition_INTERFACE_DEFINED__ */
  1491.  
  1492.  
  1493. #ifndef __IBasicAudio_INTERFACE_DEFINED__
  1494. #define __IBasicAudio_INTERFACE_DEFINED__
  1495.  
  1496. /* interface IBasicAudio */
  1497. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1498.  
  1499.  
  1500. DEFINE_GUID(IID_IBasicAudio,0x56a868b3,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  1501.  
  1502. #if defined(__cplusplus) && !defined(CINTERFACE)
  1503.     
  1504.     MIDL_INTERFACE("56a868b3-0ad4-11ce-b03a-0020af0ba770")
  1505.     IBasicAudio : public IDispatch
  1506.     {
  1507.     public:
  1508.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Volume( 
  1509.             /* [in] */ long lVolume) = 0;
  1510.         
  1511.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Volume( 
  1512.             /* [retval][out] */ long *plVolume) = 0;
  1513.         
  1514.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Balance( 
  1515.             /* [in] */ long lBalance) = 0;
  1516.         
  1517.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Balance( 
  1518.             /* [retval][out] */ long *plBalance) = 0;
  1519.         
  1520.     };
  1521.     
  1522. #else     /* C style interface */
  1523.  
  1524.     typedef struct IBasicAudioVtbl
  1525.     {
  1526.         BEGIN_INTERFACE
  1527.         
  1528.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1529.             IBasicAudio * This,
  1530.             /* [in] */ REFIID riid,
  1531.             /* [iid_is][out] */ void **ppvObject);
  1532.         
  1533.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1534.             IBasicAudio * This);
  1535.         
  1536.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1537.             IBasicAudio * This);
  1538.         
  1539.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1540.             IBasicAudio * This,
  1541.             /* [out] */ UINT *pctinfo);
  1542.         
  1543.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1544.             IBasicAudio * This,
  1545.             /* [in] */ UINT iTInfo,
  1546.             /* [in] */ LCID lcid,
  1547.             /* [out] */ ITypeInfo **ppTInfo);
  1548.         
  1549.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1550.             IBasicAudio * This,
  1551.             /* [in] */ REFIID riid,
  1552.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1553.             /* [in] */ UINT cNames,
  1554.             /* [in] */ LCID lcid,
  1555.             /* [size_is][out] */ DISPID *rgDispId);
  1556.         
  1557.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1558.             IBasicAudio * This,
  1559.             /* [in] */ DISPID dispIdMember,
  1560.             /* [in] */ REFIID riid,
  1561.             /* [in] */ LCID lcid,
  1562.             /* [in] */ WORD wFlags,
  1563.             /* [out][in] */ DISPPARAMS *pDispParams,
  1564.             /* [out] */ VARIANT *pVarResult,
  1565.             /* [out] */ EXCEPINFO *pExcepInfo,
  1566.             /* [out] */ UINT *puArgErr);
  1567.         
  1568.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )( 
  1569.             IBasicAudio * This,
  1570.             /* [in] */ long lVolume);
  1571.         
  1572.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )( 
  1573.             IBasicAudio * This,
  1574.             /* [retval][out] */ long *plVolume);
  1575.         
  1576.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Balance )( 
  1577.             IBasicAudio * This,
  1578.             /* [in] */ long lBalance);
  1579.         
  1580.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Balance )( 
  1581.             IBasicAudio * This,
  1582.             /* [retval][out] */ long *plBalance);
  1583.         
  1584.         END_INTERFACE
  1585.     } IBasicAudioVtbl;
  1586.  
  1587.     interface IBasicAudio
  1588.     {
  1589.         CONST_VTBL struct IBasicAudioVtbl *lpVtbl;
  1590.     };
  1591.  
  1592.     
  1593.  
  1594. #ifdef COBJMACROS
  1595.  
  1596.  
  1597. #define IBasicAudio_QueryInterface(This,riid,ppvObject)    \
  1598.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1599.  
  1600. #define IBasicAudio_AddRef(This)    \
  1601.     (This)->lpVtbl -> AddRef(This)
  1602.  
  1603. #define IBasicAudio_Release(This)    \
  1604.     (This)->lpVtbl -> Release(This)
  1605.  
  1606.  
  1607. #define IBasicAudio_GetTypeInfoCount(This,pctinfo)    \
  1608.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1609.  
  1610. #define IBasicAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1611.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1612.  
  1613. #define IBasicAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1614.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1615.  
  1616. #define IBasicAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1617.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1618.  
  1619.  
  1620. #define IBasicAudio_put_Volume(This,lVolume)    \
  1621.     (This)->lpVtbl -> put_Volume(This,lVolume)
  1622.  
  1623. #define IBasicAudio_get_Volume(This,plVolume)    \
  1624.     (This)->lpVtbl -> get_Volume(This,plVolume)
  1625.  
  1626. #define IBasicAudio_put_Balance(This,lBalance)    \
  1627.     (This)->lpVtbl -> put_Balance(This,lBalance)
  1628.  
  1629. #define IBasicAudio_get_Balance(This,plBalance)    \
  1630.     (This)->lpVtbl -> get_Balance(This,plBalance)
  1631.  
  1632. #endif /* COBJMACROS */
  1633.  
  1634.  
  1635. #endif     /* C style interface */
  1636.  
  1637.  
  1638.  
  1639. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicAudio_put_Volume_Proxy( 
  1640.     IBasicAudio * This,
  1641.     /* [in] */ long lVolume);
  1642.  
  1643.  
  1644. void __RPC_STUB IBasicAudio_put_Volume_Stub(
  1645.     IRpcStubBuffer *This,
  1646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1647.     PRPC_MESSAGE _pRpcMessage,
  1648.     DWORD *_pdwStubPhase);
  1649.  
  1650.  
  1651. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicAudio_get_Volume_Proxy( 
  1652.     IBasicAudio * This,
  1653.     /* [retval][out] */ long *plVolume);
  1654.  
  1655.  
  1656. void __RPC_STUB IBasicAudio_get_Volume_Stub(
  1657.     IRpcStubBuffer *This,
  1658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1659.     PRPC_MESSAGE _pRpcMessage,
  1660.     DWORD *_pdwStubPhase);
  1661.  
  1662.  
  1663. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicAudio_put_Balance_Proxy( 
  1664.     IBasicAudio * This,
  1665.     /* [in] */ long lBalance);
  1666.  
  1667.  
  1668. void __RPC_STUB IBasicAudio_put_Balance_Stub(
  1669.     IRpcStubBuffer *This,
  1670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1671.     PRPC_MESSAGE _pRpcMessage,
  1672.     DWORD *_pdwStubPhase);
  1673.  
  1674.  
  1675. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicAudio_get_Balance_Proxy( 
  1676.     IBasicAudio * This,
  1677.     /* [retval][out] */ long *plBalance);
  1678.  
  1679.  
  1680. void __RPC_STUB IBasicAudio_get_Balance_Stub(
  1681.     IRpcStubBuffer *This,
  1682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1683.     PRPC_MESSAGE _pRpcMessage,
  1684.     DWORD *_pdwStubPhase);
  1685.  
  1686.  
  1687.  
  1688. #endif     /* __IBasicAudio_INTERFACE_DEFINED__ */
  1689.  
  1690.  
  1691. #ifndef __IVideoWindow_INTERFACE_DEFINED__
  1692. #define __IVideoWindow_INTERFACE_DEFINED__
  1693.  
  1694. /* interface IVideoWindow */
  1695. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1696.  
  1697.  
  1698. DEFINE_GUID(IID_IVideoWindow,0x56a868b4,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  1699.  
  1700. #if defined(__cplusplus) && !defined(CINTERFACE)
  1701.     
  1702.     MIDL_INTERFACE("56a868b4-0ad4-11ce-b03a-0020af0ba770")
  1703.     IVideoWindow : public IDispatch
  1704.     {
  1705.     public:
  1706.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Caption( 
  1707.             /* [in] */ BSTR strCaption) = 0;
  1708.         
  1709.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Caption( 
  1710.             /* [retval][out] */ BSTR *strCaption) = 0;
  1711.         
  1712.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WindowStyle( 
  1713.             /* [in] */ long WindowStyle) = 0;
  1714.         
  1715.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WindowStyle( 
  1716.             /* [retval][out] */ long *WindowStyle) = 0;
  1717.         
  1718.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WindowStyleEx( 
  1719.             /* [in] */ long WindowStyleEx) = 0;
  1720.         
  1721.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WindowStyleEx( 
  1722.             /* [retval][out] */ long *WindowStyleEx) = 0;
  1723.         
  1724.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutoShow( 
  1725.             /* [in] */ long AutoShow) = 0;
  1726.         
  1727.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutoShow( 
  1728.             /* [retval][out] */ long *AutoShow) = 0;
  1729.         
  1730.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WindowState( 
  1731.             /* [in] */ long WindowState) = 0;
  1732.         
  1733.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WindowState( 
  1734.             /* [retval][out] */ long *WindowState) = 0;
  1735.         
  1736.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundPalette( 
  1737.             /* [in] */ long BackgroundPalette) = 0;
  1738.         
  1739.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundPalette( 
  1740.             /* [retval][out] */ long *pBackgroundPalette) = 0;
  1741.         
  1742.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
  1743.             /* [in] */ long Visible) = 0;
  1744.         
  1745.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
  1746.             /* [retval][out] */ long *pVisible) = 0;
  1747.         
  1748.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Left( 
  1749.             /* [in] */ long Left) = 0;
  1750.         
  1751.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Left( 
  1752.             /* [retval][out] */ long *pLeft) = 0;
  1753.         
  1754.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
  1755.             /* [in] */ long Width) = 0;
  1756.         
  1757.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
  1758.             /* [retval][out] */ long *pWidth) = 0;
  1759.         
  1760.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Top( 
  1761.             /* [in] */ long Top) = 0;
  1762.         
  1763.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Top( 
  1764.             /* [retval][out] */ long *pTop) = 0;
  1765.         
  1766.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
  1767.             /* [in] */ long Height) = 0;
  1768.         
  1769.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
  1770.             /* [retval][out] */ long *pHeight) = 0;
  1771.         
  1772.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Owner( 
  1773.             /* [in] */ OAHWND Owner) = 0;
  1774.         
  1775.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Owner( 
  1776.             /* [retval][out] */ OAHWND *Owner) = 0;
  1777.         
  1778.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MessageDrain( 
  1779.             /* [in] */ OAHWND Drain) = 0;
  1780.         
  1781.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MessageDrain( 
  1782.             /* [retval][out] */ OAHWND *Drain) = 0;
  1783.         
  1784.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BorderColor( 
  1785.             /* [retval][out] */ long *Color) = 0;
  1786.         
  1787.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BorderColor( 
  1788.             /* [in] */ long Color) = 0;
  1789.         
  1790.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FullScreenMode( 
  1791.             /* [retval][out] */ long *FullScreenMode) = 0;
  1792.         
  1793.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FullScreenMode( 
  1794.             /* [in] */ long FullScreenMode) = 0;
  1795.         
  1796.         virtual HRESULT STDMETHODCALLTYPE SetWindowForeground( 
  1797.             /* [in] */ long Focus) = 0;
  1798.         
  1799.         virtual HRESULT STDMETHODCALLTYPE NotifyOwnerMessage( 
  1800.             /* [in] */ OAHWND hwnd,
  1801.             /* [in] */ long uMsg,
  1802.             /* [in] */ LONG_PTR wParam,
  1803.             /* [in] */ LONG_PTR lParam) = 0;
  1804.         
  1805.         virtual HRESULT STDMETHODCALLTYPE SetWindowPosition( 
  1806.             /* [in] */ long Left,
  1807.             /* [in] */ long Top,
  1808.             /* [in] */ long Width,
  1809.             /* [in] */ long Height) = 0;
  1810.         
  1811.         virtual HRESULT STDMETHODCALLTYPE GetWindowPosition( 
  1812.             /* [out] */ long *pLeft,
  1813.             /* [out] */ long *pTop,
  1814.             /* [out] */ long *pWidth,
  1815.             /* [out] */ long *pHeight) = 0;
  1816.         
  1817.         virtual HRESULT STDMETHODCALLTYPE GetMinIdealImageSize( 
  1818.             /* [out] */ long *pWidth,
  1819.             /* [out] */ long *pHeight) = 0;
  1820.         
  1821.         virtual HRESULT STDMETHODCALLTYPE GetMaxIdealImageSize( 
  1822.             /* [out] */ long *pWidth,
  1823.             /* [out] */ long *pHeight) = 0;
  1824.         
  1825.         virtual HRESULT STDMETHODCALLTYPE GetRestorePosition( 
  1826.             /* [out] */ long *pLeft,
  1827.             /* [out] */ long *pTop,
  1828.             /* [out] */ long *pWidth,
  1829.             /* [out] */ long *pHeight) = 0;
  1830.         
  1831.         virtual HRESULT STDMETHODCALLTYPE HideCursor( 
  1832.             /* [in] */ long HideCursor) = 0;
  1833.         
  1834.         virtual HRESULT STDMETHODCALLTYPE IsCursorHidden( 
  1835.             /* [out] */ long *CursorHidden) = 0;
  1836.         
  1837.     };
  1838.     
  1839. #else     /* C style interface */
  1840.  
  1841.     typedef struct IVideoWindowVtbl
  1842.     {
  1843.         BEGIN_INTERFACE
  1844.         
  1845.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1846.             IVideoWindow * This,
  1847.             /* [in] */ REFIID riid,
  1848.             /* [iid_is][out] */ void **ppvObject);
  1849.         
  1850.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1851.             IVideoWindow * This);
  1852.         
  1853.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1854.             IVideoWindow * This);
  1855.         
  1856.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1857.             IVideoWindow * This,
  1858.             /* [out] */ UINT *pctinfo);
  1859.         
  1860.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1861.             IVideoWindow * This,
  1862.             /* [in] */ UINT iTInfo,
  1863.             /* [in] */ LCID lcid,
  1864.             /* [out] */ ITypeInfo **ppTInfo);
  1865.         
  1866.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1867.             IVideoWindow * This,
  1868.             /* [in] */ REFIID riid,
  1869.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1870.             /* [in] */ UINT cNames,
  1871.             /* [in] */ LCID lcid,
  1872.             /* [size_is][out] */ DISPID *rgDispId);
  1873.         
  1874.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1875.             IVideoWindow * This,
  1876.             /* [in] */ DISPID dispIdMember,
  1877.             /* [in] */ REFIID riid,
  1878.             /* [in] */ LCID lcid,
  1879.             /* [in] */ WORD wFlags,
  1880.             /* [out][in] */ DISPPARAMS *pDispParams,
  1881.             /* [out] */ VARIANT *pVarResult,
  1882.             /* [out] */ EXCEPINFO *pExcepInfo,
  1883.             /* [out] */ UINT *puArgErr);
  1884.         
  1885.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
  1886.             IVideoWindow * This,
  1887.             /* [in] */ BSTR strCaption);
  1888.         
  1889.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
  1890.             IVideoWindow * This,
  1891.             /* [retval][out] */ BSTR *strCaption);
  1892.         
  1893.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WindowStyle )( 
  1894.             IVideoWindow * This,
  1895.             /* [in] */ long WindowStyle);
  1896.         
  1897.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowStyle )( 
  1898.             IVideoWindow * This,
  1899.             /* [retval][out] */ long *WindowStyle);
  1900.         
  1901.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WindowStyleEx )( 
  1902.             IVideoWindow * This,
  1903.             /* [in] */ long WindowStyleEx);
  1904.         
  1905.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowStyleEx )( 
  1906.             IVideoWindow * This,
  1907.             /* [retval][out] */ long *WindowStyleEx);
  1908.         
  1909.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoShow )( 
  1910.             IVideoWindow * This,
  1911.             /* [in] */ long AutoShow);
  1912.         
  1913.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoShow )( 
  1914.             IVideoWindow * This,
  1915.             /* [retval][out] */ long *AutoShow);
  1916.         
  1917.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WindowState )( 
  1918.             IVideoWindow * This,
  1919.             /* [in] */ long WindowState);
  1920.         
  1921.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowState )( 
  1922.             IVideoWindow * This,
  1923.             /* [retval][out] */ long *WindowState);
  1924.         
  1925.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundPalette )( 
  1926.             IVideoWindow * This,
  1927.             /* [in] */ long BackgroundPalette);
  1928.         
  1929.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundPalette )( 
  1930.             IVideoWindow * This,
  1931.             /* [retval][out] */ long *pBackgroundPalette);
  1932.         
  1933.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
  1934.             IVideoWindow * This,
  1935.             /* [in] */ long Visible);
  1936.         
  1937.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
  1938.             IVideoWindow * This,
  1939.             /* [retval][out] */ long *pVisible);
  1940.         
  1941.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
  1942.             IVideoWindow * This,
  1943.             /* [in] */ long Left);
  1944.         
  1945.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
  1946.             IVideoWindow * This,
  1947.             /* [retval][out] */ long *pLeft);
  1948.         
  1949.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
  1950.             IVideoWindow * This,
  1951.             /* [in] */ long Width);
  1952.         
  1953.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
  1954.             IVideoWindow * This,
  1955.             /* [retval][out] */ long *pWidth);
  1956.         
  1957.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
  1958.             IVideoWindow * This,
  1959.             /* [in] */ long Top);
  1960.         
  1961.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
  1962.             IVideoWindow * This,
  1963.             /* [retval][out] */ long *pTop);
  1964.         
  1965.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
  1966.             IVideoWindow * This,
  1967.             /* [in] */ long Height);
  1968.         
  1969.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
  1970.             IVideoWindow * This,
  1971.             /* [retval][out] */ long *pHeight);
  1972.         
  1973.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Owner )( 
  1974.             IVideoWindow * This,
  1975.             /* [in] */ OAHWND Owner);
  1976.         
  1977.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Owner )( 
  1978.             IVideoWindow * This,
  1979.             /* [retval][out] */ OAHWND *Owner);
  1980.         
  1981.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MessageDrain )( 
  1982.             IVideoWindow * This,
  1983.             /* [in] */ OAHWND Drain);
  1984.         
  1985.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MessageDrain )( 
  1986.             IVideoWindow * This,
  1987.             /* [retval][out] */ OAHWND *Drain);
  1988.         
  1989.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BorderColor )( 
  1990.             IVideoWindow * This,
  1991.             /* [retval][out] */ long *Color);
  1992.         
  1993.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BorderColor )( 
  1994.             IVideoWindow * This,
  1995.             /* [in] */ long Color);
  1996.         
  1997.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreenMode )( 
  1998.             IVideoWindow * This,
  1999.             /* [retval][out] */ long *FullScreenMode);
  2000.         
  2001.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenMode )( 
  2002.             IVideoWindow * This,
  2003.             /* [in] */ long FullScreenMode);
  2004.         
  2005.         HRESULT ( STDMETHODCALLTYPE *SetWindowForeground )( 
  2006.             IVideoWindow * This,
  2007.             /* [in] */ long Focus);
  2008.         
  2009.         HRESULT ( STDMETHODCALLTYPE *NotifyOwnerMessage )( 
  2010.             IVideoWindow * This,
  2011.             /* [in] */ OAHWND hwnd,
  2012.             /* [in] */ long uMsg,
  2013.             /* [in] */ LONG_PTR wParam,
  2014.             /* [in] */ LONG_PTR lParam);
  2015.         
  2016.         HRESULT ( STDMETHODCALLTYPE *SetWindowPosition )( 
  2017.             IVideoWindow * This,
  2018.             /* [in] */ long Left,
  2019.             /* [in] */ long Top,
  2020.             /* [in] */ long Width,
  2021.             /* [in] */ long Height);
  2022.         
  2023.         HRESULT ( STDMETHODCALLTYPE *GetWindowPosition )( 
  2024.             IVideoWindow * This,
  2025.             /* [out] */ long *pLeft,
  2026.             /* [out] */ long *pTop,
  2027.             /* [out] */ long *pWidth,
  2028.             /* [out] */ long *pHeight);
  2029.         
  2030.         HRESULT ( STDMETHODCALLTYPE *GetMinIdealImageSize )( 
  2031.             IVideoWindow * This,
  2032.             /* [out] */ long *pWidth,
  2033.             /* [out] */ long *pHeight);
  2034.         
  2035.         HRESULT ( STDMETHODCALLTYPE *GetMaxIdealImageSize )( 
  2036.             IVideoWindow * This,
  2037.             /* [out] */ long *pWidth,
  2038.             /* [out] */ long *pHeight);
  2039.         
  2040.         HRESULT ( STDMETHODCALLTYPE *GetRestorePosition )( 
  2041.             IVideoWindow * This,
  2042.             /* [out] */ long *pLeft,
  2043.             /* [out] */ long *pTop,
  2044.             /* [out] */ long *pWidth,
  2045.             /* [out] */ long *pHeight);
  2046.         
  2047.         HRESULT ( STDMETHODCALLTYPE *HideCursor )( 
  2048.             IVideoWindow * This,
  2049.             /* [in] */ long HideCursor);
  2050.         
  2051.         HRESULT ( STDMETHODCALLTYPE *IsCursorHidden )( 
  2052.             IVideoWindow * This,
  2053.             /* [out] */ long *CursorHidden);
  2054.         
  2055.         END_INTERFACE
  2056.     } IVideoWindowVtbl;
  2057.  
  2058.     interface IVideoWindow
  2059.     {
  2060.         CONST_VTBL struct IVideoWindowVtbl *lpVtbl;
  2061.     };
  2062.  
  2063.     
  2064.  
  2065. #ifdef COBJMACROS
  2066.  
  2067.  
  2068. #define IVideoWindow_QueryInterface(This,riid,ppvObject)    \
  2069.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2070.  
  2071. #define IVideoWindow_AddRef(This)    \
  2072.     (This)->lpVtbl -> AddRef(This)
  2073.  
  2074. #define IVideoWindow_Release(This)    \
  2075.     (This)->lpVtbl -> Release(This)
  2076.  
  2077.  
  2078. #define IVideoWindow_GetTypeInfoCount(This,pctinfo)    \
  2079.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2080.  
  2081. #define IVideoWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2082.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2083.  
  2084. #define IVideoWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2085.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2086.  
  2087. #define IVideoWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2088.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2089.  
  2090.  
  2091. #define IVideoWindow_put_Caption(This,strCaption)    \
  2092.     (This)->lpVtbl -> put_Caption(This,strCaption)
  2093.  
  2094. #define IVideoWindow_get_Caption(This,strCaption)    \
  2095.     (This)->lpVtbl -> get_Caption(This,strCaption)
  2096.  
  2097. #define IVideoWindow_put_WindowStyle(This,WindowStyle)    \
  2098.     (This)->lpVtbl -> put_WindowStyle(This,WindowStyle)
  2099.  
  2100. #define IVideoWindow_get_WindowStyle(This,WindowStyle)    \
  2101.     (This)->lpVtbl -> get_WindowStyle(This,WindowStyle)
  2102.  
  2103. #define IVideoWindow_put_WindowStyleEx(This,WindowStyleEx)    \
  2104.     (This)->lpVtbl -> put_WindowStyleEx(This,WindowStyleEx)
  2105.  
  2106. #define IVideoWindow_get_WindowStyleEx(This,WindowStyleEx)    \
  2107.     (This)->lpVtbl -> get_WindowStyleEx(This,WindowStyleEx)
  2108.  
  2109. #define IVideoWindow_put_AutoShow(This,AutoShow)    \
  2110.     (This)->lpVtbl -> put_AutoShow(This,AutoShow)
  2111.  
  2112. #define IVideoWindow_get_AutoShow(This,AutoShow)    \
  2113.     (This)->lpVtbl -> get_AutoShow(This,AutoShow)
  2114.  
  2115. #define IVideoWindow_put_WindowState(This,WindowState)    \
  2116.     (This)->lpVtbl -> put_WindowState(This,WindowState)
  2117.  
  2118. #define IVideoWindow_get_WindowState(This,WindowState)    \
  2119.     (This)->lpVtbl -> get_WindowState(This,WindowState)
  2120.  
  2121. #define IVideoWindow_put_BackgroundPalette(This,BackgroundPalette)    \
  2122.     (This)->lpVtbl -> put_BackgroundPalette(This,BackgroundPalette)
  2123.  
  2124. #define IVideoWindow_get_BackgroundPalette(This,pBackgroundPalette)    \
  2125.     (This)->lpVtbl -> get_BackgroundPalette(This,pBackgroundPalette)
  2126.  
  2127. #define IVideoWindow_put_Visible(This,Visible)    \
  2128.     (This)->lpVtbl -> put_Visible(This,Visible)
  2129.  
  2130. #define IVideoWindow_get_Visible(This,pVisible)    \
  2131.     (This)->lpVtbl -> get_Visible(This,pVisible)
  2132.  
  2133. #define IVideoWindow_put_Left(This,Left)    \
  2134.     (This)->lpVtbl -> put_Left(This,Left)
  2135.  
  2136. #define IVideoWindow_get_Left(This,pLeft)    \
  2137.     (This)->lpVtbl -> get_Left(This,pLeft)
  2138.  
  2139. #define IVideoWindow_put_Width(This,Width)    \
  2140.     (This)->lpVtbl -> put_Width(This,Width)
  2141.  
  2142. #define IVideoWindow_get_Width(This,pWidth)    \
  2143.     (This)->lpVtbl -> get_Width(This,pWidth)
  2144.  
  2145. #define IVideoWindow_put_Top(This,Top)    \
  2146.     (This)->lpVtbl -> put_Top(This,Top)
  2147.  
  2148. #define IVideoWindow_get_Top(This,pTop)    \
  2149.     (This)->lpVtbl -> get_Top(This,pTop)
  2150.  
  2151. #define IVideoWindow_put_Height(This,Height)    \
  2152.     (This)->lpVtbl -> put_Height(This,Height)
  2153.  
  2154. #define IVideoWindow_get_Height(This,pHeight)    \
  2155.     (This)->lpVtbl -> get_Height(This,pHeight)
  2156.  
  2157. #define IVideoWindow_put_Owner(This,Owner)    \
  2158.     (This)->lpVtbl -> put_Owner(This,Owner)
  2159.  
  2160. #define IVideoWindow_get_Owner(This,Owner)    \
  2161.     (This)->lpVtbl -> get_Owner(This,Owner)
  2162.  
  2163. #define IVideoWindow_put_MessageDrain(This,Drain)    \
  2164.     (This)->lpVtbl -> put_MessageDrain(This,Drain)
  2165.  
  2166. #define IVideoWindow_get_MessageDrain(This,Drain)    \
  2167.     (This)->lpVtbl -> get_MessageDrain(This,Drain)
  2168.  
  2169. #define IVideoWindow_get_BorderColor(This,Color)    \
  2170.     (This)->lpVtbl -> get_BorderColor(This,Color)
  2171.  
  2172. #define IVideoWindow_put_BorderColor(This,Color)    \
  2173.     (This)->lpVtbl -> put_BorderColor(This,Color)
  2174.  
  2175. #define IVideoWindow_get_FullScreenMode(This,FullScreenMode)    \
  2176.     (This)->lpVtbl -> get_FullScreenMode(This,FullScreenMode)
  2177.  
  2178. #define IVideoWindow_put_FullScreenMode(This,FullScreenMode)    \
  2179.     (This)->lpVtbl -> put_FullScreenMode(This,FullScreenMode)
  2180.  
  2181. #define IVideoWindow_SetWindowForeground(This,Focus)    \
  2182.     (This)->lpVtbl -> SetWindowForeground(This,Focus)
  2183.  
  2184. #define IVideoWindow_NotifyOwnerMessage(This,hwnd,uMsg,wParam,lParam)    \
  2185.     (This)->lpVtbl -> NotifyOwnerMessage(This,hwnd,uMsg,wParam,lParam)
  2186.  
  2187. #define IVideoWindow_SetWindowPosition(This,Left,Top,Width,Height)    \
  2188.     (This)->lpVtbl -> SetWindowPosition(This,Left,Top,Width,Height)
  2189.  
  2190. #define IVideoWindow_GetWindowPosition(This,pLeft,pTop,pWidth,pHeight)    \
  2191.     (This)->lpVtbl -> GetWindowPosition(This,pLeft,pTop,pWidth,pHeight)
  2192.  
  2193. #define IVideoWindow_GetMinIdealImageSize(This,pWidth,pHeight)    \
  2194.     (This)->lpVtbl -> GetMinIdealImageSize(This,pWidth,pHeight)
  2195.  
  2196. #define IVideoWindow_GetMaxIdealImageSize(This,pWidth,pHeight)    \
  2197.     (This)->lpVtbl -> GetMaxIdealImageSize(This,pWidth,pHeight)
  2198.  
  2199. #define IVideoWindow_GetRestorePosition(This,pLeft,pTop,pWidth,pHeight)    \
  2200.     (This)->lpVtbl -> GetRestorePosition(This,pLeft,pTop,pWidth,pHeight)
  2201.  
  2202. #define IVideoWindow_HideCursor(This,HideCursor)    \
  2203.     (This)->lpVtbl -> HideCursor(This,HideCursor)
  2204.  
  2205. #define IVideoWindow_IsCursorHidden(This,CursorHidden)    \
  2206.     (This)->lpVtbl -> IsCursorHidden(This,CursorHidden)
  2207.  
  2208. #endif /* COBJMACROS */
  2209.  
  2210.  
  2211. #endif     /* C style interface */
  2212.  
  2213.  
  2214.  
  2215. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Caption_Proxy( 
  2216.     IVideoWindow * This,
  2217.     /* [in] */ BSTR strCaption);
  2218.  
  2219.  
  2220. void __RPC_STUB IVideoWindow_put_Caption_Stub(
  2221.     IRpcStubBuffer *This,
  2222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2223.     PRPC_MESSAGE _pRpcMessage,
  2224.     DWORD *_pdwStubPhase);
  2225.  
  2226.  
  2227. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Caption_Proxy( 
  2228.     IVideoWindow * This,
  2229.     /* [retval][out] */ BSTR *strCaption);
  2230.  
  2231.  
  2232. void __RPC_STUB IVideoWindow_get_Caption_Stub(
  2233.     IRpcStubBuffer *This,
  2234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2235.     PRPC_MESSAGE _pRpcMessage,
  2236.     DWORD *_pdwStubPhase);
  2237.  
  2238.  
  2239. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_WindowStyle_Proxy( 
  2240.     IVideoWindow * This,
  2241.     /* [in] */ long WindowStyle);
  2242.  
  2243.  
  2244. void __RPC_STUB IVideoWindow_put_WindowStyle_Stub(
  2245.     IRpcStubBuffer *This,
  2246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2247.     PRPC_MESSAGE _pRpcMessage,
  2248.     DWORD *_pdwStubPhase);
  2249.  
  2250.  
  2251. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_WindowStyle_Proxy( 
  2252.     IVideoWindow * This,
  2253.     /* [retval][out] */ long *WindowStyle);
  2254.  
  2255.  
  2256. void __RPC_STUB IVideoWindow_get_WindowStyle_Stub(
  2257.     IRpcStubBuffer *This,
  2258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2259.     PRPC_MESSAGE _pRpcMessage,
  2260.     DWORD *_pdwStubPhase);
  2261.  
  2262.  
  2263. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_WindowStyleEx_Proxy( 
  2264.     IVideoWindow * This,
  2265.     /* [in] */ long WindowStyleEx);
  2266.  
  2267.  
  2268. void __RPC_STUB IVideoWindow_put_WindowStyleEx_Stub(
  2269.     IRpcStubBuffer *This,
  2270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2271.     PRPC_MESSAGE _pRpcMessage,
  2272.     DWORD *_pdwStubPhase);
  2273.  
  2274.  
  2275. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_WindowStyleEx_Proxy( 
  2276.     IVideoWindow * This,
  2277.     /* [retval][out] */ long *WindowStyleEx);
  2278.  
  2279.  
  2280. void __RPC_STUB IVideoWindow_get_WindowStyleEx_Stub(
  2281.     IRpcStubBuffer *This,
  2282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2283.     PRPC_MESSAGE _pRpcMessage,
  2284.     DWORD *_pdwStubPhase);
  2285.  
  2286.  
  2287. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_AutoShow_Proxy( 
  2288.     IVideoWindow * This,
  2289.     /* [in] */ long AutoShow);
  2290.  
  2291.  
  2292. void __RPC_STUB IVideoWindow_put_AutoShow_Stub(
  2293.     IRpcStubBuffer *This,
  2294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2295.     PRPC_MESSAGE _pRpcMessage,
  2296.     DWORD *_pdwStubPhase);
  2297.  
  2298.  
  2299. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_AutoShow_Proxy( 
  2300.     IVideoWindow * This,
  2301.     /* [retval][out] */ long *AutoShow);
  2302.  
  2303.  
  2304. void __RPC_STUB IVideoWindow_get_AutoShow_Stub(
  2305.     IRpcStubBuffer *This,
  2306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2307.     PRPC_MESSAGE _pRpcMessage,
  2308.     DWORD *_pdwStubPhase);
  2309.  
  2310.  
  2311. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_WindowState_Proxy( 
  2312.     IVideoWindow * This,
  2313.     /* [in] */ long WindowState);
  2314.  
  2315.  
  2316. void __RPC_STUB IVideoWindow_put_WindowState_Stub(
  2317.     IRpcStubBuffer *This,
  2318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2319.     PRPC_MESSAGE _pRpcMessage,
  2320.     DWORD *_pdwStubPhase);
  2321.  
  2322.  
  2323. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_WindowState_Proxy( 
  2324.     IVideoWindow * This,
  2325.     /* [retval][out] */ long *WindowState);
  2326.  
  2327.  
  2328. void __RPC_STUB IVideoWindow_get_WindowState_Stub(
  2329.     IRpcStubBuffer *This,
  2330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2331.     PRPC_MESSAGE _pRpcMessage,
  2332.     DWORD *_pdwStubPhase);
  2333.  
  2334.  
  2335. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_BackgroundPalette_Proxy( 
  2336.     IVideoWindow * This,
  2337.     /* [in] */ long BackgroundPalette);
  2338.  
  2339.  
  2340. void __RPC_STUB IVideoWindow_put_BackgroundPalette_Stub(
  2341.     IRpcStubBuffer *This,
  2342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2343.     PRPC_MESSAGE _pRpcMessage,
  2344.     DWORD *_pdwStubPhase);
  2345.  
  2346.  
  2347. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_BackgroundPalette_Proxy( 
  2348.     IVideoWindow * This,
  2349.     /* [retval][out] */ long *pBackgroundPalette);
  2350.  
  2351.  
  2352. void __RPC_STUB IVideoWindow_get_BackgroundPalette_Stub(
  2353.     IRpcStubBuffer *This,
  2354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2355.     PRPC_MESSAGE _pRpcMessage,
  2356.     DWORD *_pdwStubPhase);
  2357.  
  2358.  
  2359. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Visible_Proxy( 
  2360.     IVideoWindow * This,
  2361.     /* [in] */ long Visible);
  2362.  
  2363.  
  2364. void __RPC_STUB IVideoWindow_put_Visible_Stub(
  2365.     IRpcStubBuffer *This,
  2366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2367.     PRPC_MESSAGE _pRpcMessage,
  2368.     DWORD *_pdwStubPhase);
  2369.  
  2370.  
  2371. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Visible_Proxy( 
  2372.     IVideoWindow * This,
  2373.     /* [retval][out] */ long *pVisible);
  2374.  
  2375.  
  2376. void __RPC_STUB IVideoWindow_get_Visible_Stub(
  2377.     IRpcStubBuffer *This,
  2378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2379.     PRPC_MESSAGE _pRpcMessage,
  2380.     DWORD *_pdwStubPhase);
  2381.  
  2382.  
  2383. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Left_Proxy( 
  2384.     IVideoWindow * This,
  2385.     /* [in] */ long Left);
  2386.  
  2387.  
  2388. void __RPC_STUB IVideoWindow_put_Left_Stub(
  2389.     IRpcStubBuffer *This,
  2390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2391.     PRPC_MESSAGE _pRpcMessage,
  2392.     DWORD *_pdwStubPhase);
  2393.  
  2394.  
  2395. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Left_Proxy( 
  2396.     IVideoWindow * This,
  2397.     /* [retval][out] */ long *pLeft);
  2398.  
  2399.  
  2400. void __RPC_STUB IVideoWindow_get_Left_Stub(
  2401.     IRpcStubBuffer *This,
  2402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2403.     PRPC_MESSAGE _pRpcMessage,
  2404.     DWORD *_pdwStubPhase);
  2405.  
  2406.  
  2407. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Width_Proxy( 
  2408.     IVideoWindow * This,
  2409.     /* [in] */ long Width);
  2410.  
  2411.  
  2412. void __RPC_STUB IVideoWindow_put_Width_Stub(
  2413.     IRpcStubBuffer *This,
  2414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2415.     PRPC_MESSAGE _pRpcMessage,
  2416.     DWORD *_pdwStubPhase);
  2417.  
  2418.  
  2419. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Width_Proxy( 
  2420.     IVideoWindow * This,
  2421.     /* [retval][out] */ long *pWidth);
  2422.  
  2423.  
  2424. void __RPC_STUB IVideoWindow_get_Width_Stub(
  2425.     IRpcStubBuffer *This,
  2426.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2427.     PRPC_MESSAGE _pRpcMessage,
  2428.     DWORD *_pdwStubPhase);
  2429.  
  2430.  
  2431. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Top_Proxy( 
  2432.     IVideoWindow * This,
  2433.     /* [in] */ long Top);
  2434.  
  2435.  
  2436. void __RPC_STUB IVideoWindow_put_Top_Stub(
  2437.     IRpcStubBuffer *This,
  2438.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2439.     PRPC_MESSAGE _pRpcMessage,
  2440.     DWORD *_pdwStubPhase);
  2441.  
  2442.  
  2443. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Top_Proxy( 
  2444.     IVideoWindow * This,
  2445.     /* [retval][out] */ long *pTop);
  2446.  
  2447.  
  2448. void __RPC_STUB IVideoWindow_get_Top_Stub(
  2449.     IRpcStubBuffer *This,
  2450.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2451.     PRPC_MESSAGE _pRpcMessage,
  2452.     DWORD *_pdwStubPhase);
  2453.  
  2454.  
  2455. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Height_Proxy( 
  2456.     IVideoWindow * This,
  2457.     /* [in] */ long Height);
  2458.  
  2459.  
  2460. void __RPC_STUB IVideoWindow_put_Height_Stub(
  2461.     IRpcStubBuffer *This,
  2462.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2463.     PRPC_MESSAGE _pRpcMessage,
  2464.     DWORD *_pdwStubPhase);
  2465.  
  2466.  
  2467. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Height_Proxy( 
  2468.     IVideoWindow * This,
  2469.     /* [retval][out] */ long *pHeight);
  2470.  
  2471.  
  2472. void __RPC_STUB IVideoWindow_get_Height_Stub(
  2473.     IRpcStubBuffer *This,
  2474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2475.     PRPC_MESSAGE _pRpcMessage,
  2476.     DWORD *_pdwStubPhase);
  2477.  
  2478.  
  2479. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Owner_Proxy( 
  2480.     IVideoWindow * This,
  2481.     /* [in] */ OAHWND Owner);
  2482.  
  2483.  
  2484. void __RPC_STUB IVideoWindow_put_Owner_Stub(
  2485.     IRpcStubBuffer *This,
  2486.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2487.     PRPC_MESSAGE _pRpcMessage,
  2488.     DWORD *_pdwStubPhase);
  2489.  
  2490.  
  2491. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Owner_Proxy( 
  2492.     IVideoWindow * This,
  2493.     /* [retval][out] */ OAHWND *Owner);
  2494.  
  2495.  
  2496. void __RPC_STUB IVideoWindow_get_Owner_Stub(
  2497.     IRpcStubBuffer *This,
  2498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2499.     PRPC_MESSAGE _pRpcMessage,
  2500.     DWORD *_pdwStubPhase);
  2501.  
  2502.  
  2503. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_MessageDrain_Proxy( 
  2504.     IVideoWindow * This,
  2505.     /* [in] */ OAHWND Drain);
  2506.  
  2507.  
  2508. void __RPC_STUB IVideoWindow_put_MessageDrain_Stub(
  2509.     IRpcStubBuffer *This,
  2510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2511.     PRPC_MESSAGE _pRpcMessage,
  2512.     DWORD *_pdwStubPhase);
  2513.  
  2514.  
  2515. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_MessageDrain_Proxy( 
  2516.     IVideoWindow * This,
  2517.     /* [retval][out] */ OAHWND *Drain);
  2518.  
  2519.  
  2520. void __RPC_STUB IVideoWindow_get_MessageDrain_Stub(
  2521.     IRpcStubBuffer *This,
  2522.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2523.     PRPC_MESSAGE _pRpcMessage,
  2524.     DWORD *_pdwStubPhase);
  2525.  
  2526.  
  2527. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_BorderColor_Proxy( 
  2528.     IVideoWindow * This,
  2529.     /* [retval][out] */ long *Color);
  2530.  
  2531.  
  2532. void __RPC_STUB IVideoWindow_get_BorderColor_Stub(
  2533.     IRpcStubBuffer *This,
  2534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2535.     PRPC_MESSAGE _pRpcMessage,
  2536.     DWORD *_pdwStubPhase);
  2537.  
  2538.  
  2539. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_BorderColor_Proxy( 
  2540.     IVideoWindow * This,
  2541.     /* [in] */ long Color);
  2542.  
  2543.  
  2544. void __RPC_STUB IVideoWindow_put_BorderColor_Stub(
  2545.     IRpcStubBuffer *This,
  2546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2547.     PRPC_MESSAGE _pRpcMessage,
  2548.     DWORD *_pdwStubPhase);
  2549.  
  2550.  
  2551. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_FullScreenMode_Proxy( 
  2552.     IVideoWindow * This,
  2553.     /* [retval][out] */ long *FullScreenMode);
  2554.  
  2555.  
  2556. void __RPC_STUB IVideoWindow_get_FullScreenMode_Stub(
  2557.     IRpcStubBuffer *This,
  2558.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2559.     PRPC_MESSAGE _pRpcMessage,
  2560.     DWORD *_pdwStubPhase);
  2561.  
  2562.  
  2563. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_FullScreenMode_Proxy( 
  2564.     IVideoWindow * This,
  2565.     /* [in] */ long FullScreenMode);
  2566.  
  2567.  
  2568. void __RPC_STUB IVideoWindow_put_FullScreenMode_Stub(
  2569.     IRpcStubBuffer *This,
  2570.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2571.     PRPC_MESSAGE _pRpcMessage,
  2572.     DWORD *_pdwStubPhase);
  2573.  
  2574.  
  2575. HRESULT STDMETHODCALLTYPE IVideoWindow_SetWindowForeground_Proxy( 
  2576.     IVideoWindow * This,
  2577.     /* [in] */ long Focus);
  2578.  
  2579.  
  2580. void __RPC_STUB IVideoWindow_SetWindowForeground_Stub(
  2581.     IRpcStubBuffer *This,
  2582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2583.     PRPC_MESSAGE _pRpcMessage,
  2584.     DWORD *_pdwStubPhase);
  2585.  
  2586.  
  2587. HRESULT STDMETHODCALLTYPE IVideoWindow_NotifyOwnerMessage_Proxy( 
  2588.     IVideoWindow * This,
  2589.     /* [in] */ OAHWND hwnd,
  2590.     /* [in] */ long uMsg,
  2591.     /* [in] */ LONG_PTR wParam,
  2592.     /* [in] */ LONG_PTR lParam);
  2593.  
  2594.  
  2595. void __RPC_STUB IVideoWindow_NotifyOwnerMessage_Stub(
  2596.     IRpcStubBuffer *This,
  2597.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2598.     PRPC_MESSAGE _pRpcMessage,
  2599.     DWORD *_pdwStubPhase);
  2600.  
  2601.  
  2602. HRESULT STDMETHODCALLTYPE IVideoWindow_SetWindowPosition_Proxy( 
  2603.     IVideoWindow * This,
  2604.     /* [in] */ long Left,
  2605.     /* [in] */ long Top,
  2606.     /* [in] */ long Width,
  2607.     /* [in] */ long Height);
  2608.  
  2609.  
  2610. void __RPC_STUB IVideoWindow_SetWindowPosition_Stub(
  2611.     IRpcStubBuffer *This,
  2612.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2613.     PRPC_MESSAGE _pRpcMessage,
  2614.     DWORD *_pdwStubPhase);
  2615.  
  2616.  
  2617. HRESULT STDMETHODCALLTYPE IVideoWindow_GetWindowPosition_Proxy( 
  2618.     IVideoWindow * This,
  2619.     /* [out] */ long *pLeft,
  2620.     /* [out] */ long *pTop,
  2621.     /* [out] */ long *pWidth,
  2622.     /* [out] */ long *pHeight);
  2623.  
  2624.  
  2625. void __RPC_STUB IVideoWindow_GetWindowPosition_Stub(
  2626.     IRpcStubBuffer *This,
  2627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2628.     PRPC_MESSAGE _pRpcMessage,
  2629.     DWORD *_pdwStubPhase);
  2630.  
  2631.  
  2632. HRESULT STDMETHODCALLTYPE IVideoWindow_GetMinIdealImageSize_Proxy( 
  2633.     IVideoWindow * This,
  2634.     /* [out] */ long *pWidth,
  2635.     /* [out] */ long *pHeight);
  2636.  
  2637.  
  2638. void __RPC_STUB IVideoWindow_GetMinIdealImageSize_Stub(
  2639.     IRpcStubBuffer *This,
  2640.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2641.     PRPC_MESSAGE _pRpcMessage,
  2642.     DWORD *_pdwStubPhase);
  2643.  
  2644.  
  2645. HRESULT STDMETHODCALLTYPE IVideoWindow_GetMaxIdealImageSize_Proxy( 
  2646.     IVideoWindow * This,
  2647.     /* [out] */ long *pWidth,
  2648.     /* [out] */ long *pHeight);
  2649.  
  2650.  
  2651. void __RPC_STUB IVideoWindow_GetMaxIdealImageSize_Stub(
  2652.     IRpcStubBuffer *This,
  2653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2654.     PRPC_MESSAGE _pRpcMessage,
  2655.     DWORD *_pdwStubPhase);
  2656.  
  2657.  
  2658. HRESULT STDMETHODCALLTYPE IVideoWindow_GetRestorePosition_Proxy( 
  2659.     IVideoWindow * This,
  2660.     /* [out] */ long *pLeft,
  2661.     /* [out] */ long *pTop,
  2662.     /* [out] */ long *pWidth,
  2663.     /* [out] */ long *pHeight);
  2664.  
  2665.  
  2666. void __RPC_STUB IVideoWindow_GetRestorePosition_Stub(
  2667.     IRpcStubBuffer *This,
  2668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2669.     PRPC_MESSAGE _pRpcMessage,
  2670.     DWORD *_pdwStubPhase);
  2671.  
  2672.  
  2673. HRESULT STDMETHODCALLTYPE IVideoWindow_HideCursor_Proxy( 
  2674.     IVideoWindow * This,
  2675.     /* [in] */ long HideCursor);
  2676.  
  2677.  
  2678. void __RPC_STUB IVideoWindow_HideCursor_Stub(
  2679.     IRpcStubBuffer *This,
  2680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2681.     PRPC_MESSAGE _pRpcMessage,
  2682.     DWORD *_pdwStubPhase);
  2683.  
  2684.  
  2685. HRESULT STDMETHODCALLTYPE IVideoWindow_IsCursorHidden_Proxy( 
  2686.     IVideoWindow * This,
  2687.     /* [out] */ long *CursorHidden);
  2688.  
  2689.  
  2690. void __RPC_STUB IVideoWindow_IsCursorHidden_Stub(
  2691.     IRpcStubBuffer *This,
  2692.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2693.     PRPC_MESSAGE _pRpcMessage,
  2694.     DWORD *_pdwStubPhase);
  2695.  
  2696.  
  2697.  
  2698. #endif     /* __IVideoWindow_INTERFACE_DEFINED__ */
  2699.  
  2700.  
  2701. #ifndef __IBasicVideo_INTERFACE_DEFINED__
  2702. #define __IBasicVideo_INTERFACE_DEFINED__
  2703.  
  2704. /* interface IBasicVideo */
  2705. /* [object][dual][oleautomation][helpstring][uuid] */ 
  2706.  
  2707.  
  2708. DEFINE_GUID(IID_IBasicVideo,0x56a868b5,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  2709.  
  2710. #if defined(__cplusplus) && !defined(CINTERFACE)
  2711.     
  2712.     MIDL_INTERFACE("56a868b5-0ad4-11ce-b03a-0020af0ba770")
  2713.     IBasicVideo : public IDispatch
  2714.     {
  2715.     public:
  2716.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AvgTimePerFrame( 
  2717.             /* [retval][out] */ REFTIME *pAvgTimePerFrame) = 0;
  2718.         
  2719.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BitRate( 
  2720.             /* [retval][out] */ long *pBitRate) = 0;
  2721.         
  2722.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BitErrorRate( 
  2723.             /* [retval][out] */ long *pBitErrorRate) = 0;
  2724.         
  2725.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoWidth( 
  2726.             /* [retval][out] */ long *pVideoWidth) = 0;
  2727.         
  2728.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoHeight( 
  2729.             /* [retval][out] */ long *pVideoHeight) = 0;
  2730.         
  2731.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SourceLeft( 
  2732.             /* [in] */ long SourceLeft) = 0;
  2733.         
  2734.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceLeft( 
  2735.             /* [retval][out] */ long *pSourceLeft) = 0;
  2736.         
  2737.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SourceWidth( 
  2738.             /* [in] */ long SourceWidth) = 0;
  2739.         
  2740.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceWidth( 
  2741.             /* [retval][out] */ long *pSourceWidth) = 0;
  2742.         
  2743.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SourceTop( 
  2744.             /* [in] */ long SourceTop) = 0;
  2745.         
  2746.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceTop( 
  2747.             /* [retval][out] */ long *pSourceTop) = 0;
  2748.         
  2749.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SourceHeight( 
  2750.             /* [in] */ long SourceHeight) = 0;
  2751.         
  2752.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceHeight( 
  2753.             /* [retval][out] */ long *pSourceHeight) = 0;
  2754.         
  2755.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DestinationLeft( 
  2756.             /* [in] */ long DestinationLeft) = 0;
  2757.         
  2758.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DestinationLeft( 
  2759.             /* [retval][out] */ long *pDestinationLeft) = 0;
  2760.         
  2761.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DestinationWidth( 
  2762.             /* [in] */ long DestinationWidth) = 0;
  2763.         
  2764.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DestinationWidth( 
  2765.             /* [retval][out] */ long *pDestinationWidth) = 0;
  2766.         
  2767.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DestinationTop( 
  2768.             /* [in] */ long DestinationTop) = 0;
  2769.         
  2770.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DestinationTop( 
  2771.             /* [retval][out] */ long *pDestinationTop) = 0;
  2772.         
  2773.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DestinationHeight( 
  2774.             /* [in] */ long DestinationHeight) = 0;
  2775.         
  2776.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DestinationHeight( 
  2777.             /* [retval][out] */ long *pDestinationHeight) = 0;
  2778.         
  2779.         virtual HRESULT STDMETHODCALLTYPE SetSourcePosition( 
  2780.             /* [in] */ long Left,
  2781.             /* [in] */ long Top,
  2782.             /* [in] */ long Width,
  2783.             /* [in] */ long Height) = 0;
  2784.         
  2785.         virtual HRESULT STDMETHODCALLTYPE GetSourcePosition( 
  2786.             /* [out] */ long *pLeft,
  2787.             /* [out] */ long *pTop,
  2788.             /* [out] */ long *pWidth,
  2789.             /* [out] */ long *pHeight) = 0;
  2790.         
  2791.         virtual HRESULT STDMETHODCALLTYPE SetDefaultSourcePosition( void) = 0;
  2792.         
  2793.         virtual HRESULT STDMETHODCALLTYPE SetDestinationPosition( 
  2794.             /* [in] */ long Left,
  2795.             /* [in] */ long Top,
  2796.             /* [in] */ long Width,
  2797.             /* [in] */ long Height) = 0;
  2798.         
  2799.         virtual HRESULT STDMETHODCALLTYPE GetDestinationPosition( 
  2800.             /* [out] */ long *pLeft,
  2801.             /* [out] */ long *pTop,
  2802.             /* [out] */ long *pWidth,
  2803.             /* [out] */ long *pHeight) = 0;
  2804.         
  2805.         virtual HRESULT STDMETHODCALLTYPE SetDefaultDestinationPosition( void) = 0;
  2806.         
  2807.         virtual HRESULT STDMETHODCALLTYPE GetVideoSize( 
  2808.             /* [out] */ long *pWidth,
  2809.             /* [out] */ long *pHeight) = 0;
  2810.         
  2811.         virtual HRESULT STDMETHODCALLTYPE GetVideoPaletteEntries( 
  2812.             /* [in] */ long StartIndex,
  2813.             /* [in] */ long Entries,
  2814.             /* [out] */ long *pRetrieved,
  2815.             /* [out] */ long *pPalette) = 0;
  2816.         
  2817.         virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( 
  2818.             /* [out][in] */ long *pBufferSize,
  2819.             /* [out] */ long *pDIBImage) = 0;
  2820.         
  2821.         virtual HRESULT STDMETHODCALLTYPE IsUsingDefaultSource( void) = 0;
  2822.         
  2823.         virtual HRESULT STDMETHODCALLTYPE IsUsingDefaultDestination( void) = 0;
  2824.         
  2825.     };
  2826.     
  2827. #else     /* C style interface */
  2828.  
  2829.     typedef struct IBasicVideoVtbl
  2830.     {
  2831.         BEGIN_INTERFACE
  2832.         
  2833.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2834.             IBasicVideo * This,
  2835.             /* [in] */ REFIID riid,
  2836.             /* [iid_is][out] */ void **ppvObject);
  2837.         
  2838.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2839.             IBasicVideo * This);
  2840.         
  2841.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2842.             IBasicVideo * This);
  2843.         
  2844.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2845.             IBasicVideo * This,
  2846.             /* [out] */ UINT *pctinfo);
  2847.         
  2848.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2849.             IBasicVideo * This,
  2850.             /* [in] */ UINT iTInfo,
  2851.             /* [in] */ LCID lcid,
  2852.             /* [out] */ ITypeInfo **ppTInfo);
  2853.         
  2854.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2855.             IBasicVideo * This,
  2856.             /* [in] */ REFIID riid,
  2857.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2858.             /* [in] */ UINT cNames,
  2859.             /* [in] */ LCID lcid,
  2860.             /* [size_is][out] */ DISPID *rgDispId);
  2861.         
  2862.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2863.             IBasicVideo * This,
  2864.             /* [in] */ DISPID dispIdMember,
  2865.             /* [in] */ REFIID riid,
  2866.             /* [in] */ LCID lcid,
  2867.             /* [in] */ WORD wFlags,
  2868.             /* [out][in] */ DISPPARAMS *pDispParams,
  2869.             /* [out] */ VARIANT *pVarResult,
  2870.             /* [out] */ EXCEPINFO *pExcepInfo,
  2871.             /* [out] */ UINT *puArgErr);
  2872.         
  2873.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AvgTimePerFrame )( 
  2874.             IBasicVideo * This,
  2875.             /* [retval][out] */ REFTIME *pAvgTimePerFrame);
  2876.         
  2877.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( 
  2878.             IBasicVideo * This,
  2879.             /* [retval][out] */ long *pBitRate);
  2880.         
  2881.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitErrorRate )( 
  2882.             IBasicVideo * This,
  2883.             /* [retval][out] */ long *pBitErrorRate);
  2884.         
  2885.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoWidth )( 
  2886.             IBasicVideo * This,
  2887.             /* [retval][out] */ long *pVideoWidth);
  2888.         
  2889.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoHeight )( 
  2890.             IBasicVideo * This,
  2891.             /* [retval][out] */ long *pVideoHeight);
  2892.         
  2893.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceLeft )( 
  2894.             IBasicVideo * This,
  2895.             /* [in] */ long SourceLeft);
  2896.         
  2897.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceLeft )( 
  2898.             IBasicVideo * This,
  2899.             /* [retval][out] */ long *pSourceLeft);
  2900.         
  2901.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceWidth )( 
  2902.             IBasicVideo * This,
  2903.             /* [in] */ long SourceWidth);
  2904.         
  2905.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceWidth )( 
  2906.             IBasicVideo * This,
  2907.             /* [retval][out] */ long *pSourceWidth);
  2908.         
  2909.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceTop )( 
  2910.             IBasicVideo * This,
  2911.             /* [in] */ long SourceTop);
  2912.         
  2913.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceTop )( 
  2914.             IBasicVideo * This,
  2915.             /* [retval][out] */ long *pSourceTop);
  2916.         
  2917.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceHeight )( 
  2918.             IBasicVideo * This,
  2919.             /* [in] */ long SourceHeight);
  2920.         
  2921.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceHeight )( 
  2922.             IBasicVideo * This,
  2923.             /* [retval][out] */ long *pSourceHeight);
  2924.         
  2925.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationLeft )( 
  2926.             IBasicVideo * This,
  2927.             /* [in] */ long DestinationLeft);
  2928.         
  2929.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationLeft )( 
  2930.             IBasicVideo * This,
  2931.             /* [retval][out] */ long *pDestinationLeft);
  2932.         
  2933.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationWidth )( 
  2934.             IBasicVideo * This,
  2935.             /* [in] */ long DestinationWidth);
  2936.         
  2937.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationWidth )( 
  2938.             IBasicVideo * This,
  2939.             /* [retval][out] */ long *pDestinationWidth);
  2940.         
  2941.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationTop )( 
  2942.             IBasicVideo * This,
  2943.             /* [in] */ long DestinationTop);
  2944.         
  2945.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationTop )( 
  2946.             IBasicVideo * This,
  2947.             /* [retval][out] */ long *pDestinationTop);
  2948.         
  2949.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationHeight )( 
  2950.             IBasicVideo * This,
  2951.             /* [in] */ long DestinationHeight);
  2952.         
  2953.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationHeight )( 
  2954.             IBasicVideo * This,
  2955.             /* [retval][out] */ long *pDestinationHeight);
  2956.         
  2957.         HRESULT ( STDMETHODCALLTYPE *SetSourcePosition )( 
  2958.             IBasicVideo * This,
  2959.             /* [in] */ long Left,
  2960.             /* [in] */ long Top,
  2961.             /* [in] */ long Width,
  2962.             /* [in] */ long Height);
  2963.         
  2964.         HRESULT ( STDMETHODCALLTYPE *GetSourcePosition )( 
  2965.             IBasicVideo * This,
  2966.             /* [out] */ long *pLeft,
  2967.             /* [out] */ long *pTop,
  2968.             /* [out] */ long *pWidth,
  2969.             /* [out] */ long *pHeight);
  2970.         
  2971.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSourcePosition )( 
  2972.             IBasicVideo * This);
  2973.         
  2974.         HRESULT ( STDMETHODCALLTYPE *SetDestinationPosition )( 
  2975.             IBasicVideo * This,
  2976.             /* [in] */ long Left,
  2977.             /* [in] */ long Top,
  2978.             /* [in] */ long Width,
  2979.             /* [in] */ long Height);
  2980.         
  2981.         HRESULT ( STDMETHODCALLTYPE *GetDestinationPosition )( 
  2982.             IBasicVideo * This,
  2983.             /* [out] */ long *pLeft,
  2984.             /* [out] */ long *pTop,
  2985.             /* [out] */ long *pWidth,
  2986.             /* [out] */ long *pHeight);
  2987.         
  2988.         HRESULT ( STDMETHODCALLTYPE *SetDefaultDestinationPosition )( 
  2989.             IBasicVideo * This);
  2990.         
  2991.         HRESULT ( STDMETHODCALLTYPE *GetVideoSize )( 
  2992.             IBasicVideo * This,
  2993.             /* [out] */ long *pWidth,
  2994.             /* [out] */ long *pHeight);
  2995.         
  2996.         HRESULT ( STDMETHODCALLTYPE *GetVideoPaletteEntries )( 
  2997.             IBasicVideo * This,
  2998.             /* [in] */ long StartIndex,
  2999.             /* [in] */ long Entries,
  3000.             /* [out] */ long *pRetrieved,
  3001.             /* [out] */ long *pPalette);
  3002.         
  3003.         HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( 
  3004.             IBasicVideo * This,
  3005.             /* [out][in] */ long *pBufferSize,
  3006.             /* [out] */ long *pDIBImage);
  3007.         
  3008.         HRESULT ( STDMETHODCALLTYPE *IsUsingDefaultSource )( 
  3009.             IBasicVideo * This);
  3010.         
  3011.         HRESULT ( STDMETHODCALLTYPE *IsUsingDefaultDestination )( 
  3012.             IBasicVideo * This);
  3013.         
  3014.         END_INTERFACE
  3015.     } IBasicVideoVtbl;
  3016.  
  3017.     interface IBasicVideo
  3018.     {
  3019.         CONST_VTBL struct IBasicVideoVtbl *lpVtbl;
  3020.     };
  3021.  
  3022.     
  3023.  
  3024. #ifdef COBJMACROS
  3025.  
  3026.  
  3027. #define IBasicVideo_QueryInterface(This,riid,ppvObject)    \
  3028.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3029.  
  3030. #define IBasicVideo_AddRef(This)    \
  3031.     (This)->lpVtbl -> AddRef(This)
  3032.  
  3033. #define IBasicVideo_Release(This)    \
  3034.     (This)->lpVtbl -> Release(This)
  3035.  
  3036.  
  3037. #define IBasicVideo_GetTypeInfoCount(This,pctinfo)    \
  3038.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3039.  
  3040. #define IBasicVideo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3041.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3042.  
  3043. #define IBasicVideo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3044.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3045.  
  3046. #define IBasicVideo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3047.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3048.  
  3049.  
  3050. #define IBasicVideo_get_AvgTimePerFrame(This,pAvgTimePerFrame)    \
  3051.     (This)->lpVtbl -> get_AvgTimePerFrame(This,pAvgTimePerFrame)
  3052.  
  3053. #define IBasicVideo_get_BitRate(This,pBitRate)    \
  3054.     (This)->lpVtbl -> get_BitRate(This,pBitRate)
  3055.  
  3056. #define IBasicVideo_get_BitErrorRate(This,pBitErrorRate)    \
  3057.     (This)->lpVtbl -> get_BitErrorRate(This,pBitErrorRate)
  3058.  
  3059. #define IBasicVideo_get_VideoWidth(This,pVideoWidth)    \
  3060.     (This)->lpVtbl -> get_VideoWidth(This,pVideoWidth)
  3061.  
  3062. #define IBasicVideo_get_VideoHeight(This,pVideoHeight)    \
  3063.     (This)->lpVtbl -> get_VideoHeight(This,pVideoHeight)
  3064.  
  3065. #define IBasicVideo_put_SourceLeft(This,SourceLeft)    \
  3066.     (This)->lpVtbl -> put_SourceLeft(This,SourceLeft)
  3067.  
  3068. #define IBasicVideo_get_SourceLeft(This,pSourceLeft)    \
  3069.     (This)->lpVtbl -> get_SourceLeft(This,pSourceLeft)
  3070.  
  3071. #define IBasicVideo_put_SourceWidth(This,SourceWidth)    \
  3072.     (This)->lpVtbl -> put_SourceWidth(This,SourceWidth)
  3073.  
  3074. #define IBasicVideo_get_SourceWidth(This,pSourceWidth)    \
  3075.     (This)->lpVtbl -> get_SourceWidth(This,pSourceWidth)
  3076.  
  3077. #define IBasicVideo_put_SourceTop(This,SourceTop)    \
  3078.     (This)->lpVtbl -> put_SourceTop(This,SourceTop)
  3079.  
  3080. #define IBasicVideo_get_SourceTop(This,pSourceTop)    \
  3081.     (This)->lpVtbl -> get_SourceTop(This,pSourceTop)
  3082.  
  3083. #define IBasicVideo_put_SourceHeight(This,SourceHeight)    \
  3084.     (This)->lpVtbl -> put_SourceHeight(This,SourceHeight)
  3085.  
  3086. #define IBasicVideo_get_SourceHeight(This,pSourceHeight)    \
  3087.     (This)->lpVtbl -> get_SourceHeight(This,pSourceHeight)
  3088.  
  3089. #define IBasicVideo_put_DestinationLeft(This,DestinationLeft)    \
  3090.     (This)->lpVtbl -> put_DestinationLeft(This,DestinationLeft)
  3091.  
  3092. #define IBasicVideo_get_DestinationLeft(This,pDestinationLeft)    \
  3093.     (This)->lpVtbl -> get_DestinationLeft(This,pDestinationLeft)
  3094.  
  3095. #define IBasicVideo_put_DestinationWidth(This,DestinationWidth)    \
  3096.     (This)->lpVtbl -> put_DestinationWidth(This,DestinationWidth)
  3097.  
  3098. #define IBasicVideo_get_DestinationWidth(This,pDestinationWidth)    \
  3099.     (This)->lpVtbl -> get_DestinationWidth(This,pDestinationWidth)
  3100.  
  3101. #define IBasicVideo_put_DestinationTop(This,DestinationTop)    \
  3102.     (This)->lpVtbl -> put_DestinationTop(This,DestinationTop)
  3103.  
  3104. #define IBasicVideo_get_DestinationTop(This,pDestinationTop)    \
  3105.     (This)->lpVtbl -> get_DestinationTop(This,pDestinationTop)
  3106.  
  3107. #define IBasicVideo_put_DestinationHeight(This,DestinationHeight)    \
  3108.     (This)->lpVtbl -> put_DestinationHeight(This,DestinationHeight)
  3109.  
  3110. #define IBasicVideo_get_DestinationHeight(This,pDestinationHeight)    \
  3111.     (This)->lpVtbl -> get_DestinationHeight(This,pDestinationHeight)
  3112.  
  3113. #define IBasicVideo_SetSourcePosition(This,Left,Top,Width,Height)    \
  3114.     (This)->lpVtbl -> SetSourcePosition(This,Left,Top,Width,Height)
  3115.  
  3116. #define IBasicVideo_GetSourcePosition(This,pLeft,pTop,pWidth,pHeight)    \
  3117.     (This)->lpVtbl -> GetSourcePosition(This,pLeft,pTop,pWidth,pHeight)
  3118.  
  3119. #define IBasicVideo_SetDefaultSourcePosition(This)    \
  3120.     (This)->lpVtbl -> SetDefaultSourcePosition(This)
  3121.  
  3122. #define IBasicVideo_SetDestinationPosition(This,Left,Top,Width,Height)    \
  3123.     (This)->lpVtbl -> SetDestinationPosition(This,Left,Top,Width,Height)
  3124.  
  3125. #define IBasicVideo_GetDestinationPosition(This,pLeft,pTop,pWidth,pHeight)    \
  3126.     (This)->lpVtbl -> GetDestinationPosition(This,pLeft,pTop,pWidth,pHeight)
  3127.  
  3128. #define IBasicVideo_SetDefaultDestinationPosition(This)    \
  3129.     (This)->lpVtbl -> SetDefaultDestinationPosition(This)
  3130.  
  3131. #define IBasicVideo_GetVideoSize(This,pWidth,pHeight)    \
  3132.     (This)->lpVtbl -> GetVideoSize(This,pWidth,pHeight)
  3133.  
  3134. #define IBasicVideo_GetVideoPaletteEntries(This,StartIndex,Entries,pRetrieved,pPalette)    \
  3135.     (This)->lpVtbl -> GetVideoPaletteEntries(This,StartIndex,Entries,pRetrieved,pPalette)
  3136.  
  3137. #define IBasicVideo_GetCurrentImage(This,pBufferSize,pDIBImage)    \
  3138.     (This)->lpVtbl -> GetCurrentImage(This,pBufferSize,pDIBImage)
  3139.  
  3140. #define IBasicVideo_IsUsingDefaultSource(This)    \
  3141.     (This)->lpVtbl -> IsUsingDefaultSource(This)
  3142.  
  3143. #define IBasicVideo_IsUsingDefaultDestination(This)    \
  3144.     (This)->lpVtbl -> IsUsingDefaultDestination(This)
  3145.  
  3146. #endif /* COBJMACROS */
  3147.  
  3148.  
  3149. #endif     /* C style interface */
  3150.  
  3151.  
  3152.  
  3153. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_AvgTimePerFrame_Proxy( 
  3154.     IBasicVideo * This,
  3155.     /* [retval][out] */ REFTIME *pAvgTimePerFrame);
  3156.  
  3157.  
  3158. void __RPC_STUB IBasicVideo_get_AvgTimePerFrame_Stub(
  3159.     IRpcStubBuffer *This,
  3160.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3161.     PRPC_MESSAGE _pRpcMessage,
  3162.     DWORD *_pdwStubPhase);
  3163.  
  3164.  
  3165. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_BitRate_Proxy( 
  3166.     IBasicVideo * This,
  3167.     /* [retval][out] */ long *pBitRate);
  3168.  
  3169.  
  3170. void __RPC_STUB IBasicVideo_get_BitRate_Stub(
  3171.     IRpcStubBuffer *This,
  3172.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3173.     PRPC_MESSAGE _pRpcMessage,
  3174.     DWORD *_pdwStubPhase);
  3175.  
  3176.  
  3177. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_BitErrorRate_Proxy( 
  3178.     IBasicVideo * This,
  3179.     /* [retval][out] */ long *pBitErrorRate);
  3180.  
  3181.  
  3182. void __RPC_STUB IBasicVideo_get_BitErrorRate_Stub(
  3183.     IRpcStubBuffer *This,
  3184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3185.     PRPC_MESSAGE _pRpcMessage,
  3186.     DWORD *_pdwStubPhase);
  3187.  
  3188.  
  3189. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_VideoWidth_Proxy( 
  3190.     IBasicVideo * This,
  3191.     /* [retval][out] */ long *pVideoWidth);
  3192.  
  3193.  
  3194. void __RPC_STUB IBasicVideo_get_VideoWidth_Stub(
  3195.     IRpcStubBuffer *This,
  3196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3197.     PRPC_MESSAGE _pRpcMessage,
  3198.     DWORD *_pdwStubPhase);
  3199.  
  3200.  
  3201. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_VideoHeight_Proxy( 
  3202.     IBasicVideo * This,
  3203.     /* [retval][out] */ long *pVideoHeight);
  3204.  
  3205.  
  3206. void __RPC_STUB IBasicVideo_get_VideoHeight_Stub(
  3207.     IRpcStubBuffer *This,
  3208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3209.     PRPC_MESSAGE _pRpcMessage,
  3210.     DWORD *_pdwStubPhase);
  3211.  
  3212.  
  3213. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_SourceLeft_Proxy( 
  3214.     IBasicVideo * This,
  3215.     /* [in] */ long SourceLeft);
  3216.  
  3217.  
  3218. void __RPC_STUB IBasicVideo_put_SourceLeft_Stub(
  3219.     IRpcStubBuffer *This,
  3220.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3221.     PRPC_MESSAGE _pRpcMessage,
  3222.     DWORD *_pdwStubPhase);
  3223.  
  3224.  
  3225. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_SourceLeft_Proxy( 
  3226.     IBasicVideo * This,
  3227.     /* [retval][out] */ long *pSourceLeft);
  3228.  
  3229.  
  3230. void __RPC_STUB IBasicVideo_get_SourceLeft_Stub(
  3231.     IRpcStubBuffer *This,
  3232.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3233.     PRPC_MESSAGE _pRpcMessage,
  3234.     DWORD *_pdwStubPhase);
  3235.  
  3236.  
  3237. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_SourceWidth_Proxy( 
  3238.     IBasicVideo * This,
  3239.     /* [in] */ long SourceWidth);
  3240.  
  3241.  
  3242. void __RPC_STUB IBasicVideo_put_SourceWidth_Stub(
  3243.     IRpcStubBuffer *This,
  3244.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3245.     PRPC_MESSAGE _pRpcMessage,
  3246.     DWORD *_pdwStubPhase);
  3247.  
  3248.  
  3249. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_SourceWidth_Proxy( 
  3250.     IBasicVideo * This,
  3251.     /* [retval][out] */ long *pSourceWidth);
  3252.  
  3253.  
  3254. void __RPC_STUB IBasicVideo_get_SourceWidth_Stub(
  3255.     IRpcStubBuffer *This,
  3256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3257.     PRPC_MESSAGE _pRpcMessage,
  3258.     DWORD *_pdwStubPhase);
  3259.  
  3260.  
  3261. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_SourceTop_Proxy( 
  3262.     IBasicVideo * This,
  3263.     /* [in] */ long SourceTop);
  3264.  
  3265.  
  3266. void __RPC_STUB IBasicVideo_put_SourceTop_Stub(
  3267.     IRpcStubBuffer *This,
  3268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3269.     PRPC_MESSAGE _pRpcMessage,
  3270.     DWORD *_pdwStubPhase);
  3271.  
  3272.  
  3273. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_SourceTop_Proxy( 
  3274.     IBasicVideo * This,
  3275.     /* [retval][out] */ long *pSourceTop);
  3276.  
  3277.  
  3278. void __RPC_STUB IBasicVideo_get_SourceTop_Stub(
  3279.     IRpcStubBuffer *This,
  3280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3281.     PRPC_MESSAGE _pRpcMessage,
  3282.     DWORD *_pdwStubPhase);
  3283.  
  3284.  
  3285. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_SourceHeight_Proxy( 
  3286.     IBasicVideo * This,
  3287.     /* [in] */ long SourceHeight);
  3288.  
  3289.  
  3290. void __RPC_STUB IBasicVideo_put_SourceHeight_Stub(
  3291.     IRpcStubBuffer *This,
  3292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3293.     PRPC_MESSAGE _pRpcMessage,
  3294.     DWORD *_pdwStubPhase);
  3295.  
  3296.  
  3297. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_SourceHeight_Proxy( 
  3298.     IBasicVideo * This,
  3299.     /* [retval][out] */ long *pSourceHeight);
  3300.  
  3301.  
  3302. void __RPC_STUB IBasicVideo_get_SourceHeight_Stub(
  3303.     IRpcStubBuffer *This,
  3304.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3305.     PRPC_MESSAGE _pRpcMessage,
  3306.     DWORD *_pdwStubPhase);
  3307.  
  3308.  
  3309. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_DestinationLeft_Proxy( 
  3310.     IBasicVideo * This,
  3311.     /* [in] */ long DestinationLeft);
  3312.  
  3313.  
  3314. void __RPC_STUB IBasicVideo_put_DestinationLeft_Stub(
  3315.     IRpcStubBuffer *This,
  3316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3317.     PRPC_MESSAGE _pRpcMessage,
  3318.     DWORD *_pdwStubPhase);
  3319.  
  3320.  
  3321. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_DestinationLeft_Proxy( 
  3322.     IBasicVideo * This,
  3323.     /* [retval][out] */ long *pDestinationLeft);
  3324.  
  3325.  
  3326. void __RPC_STUB IBasicVideo_get_DestinationLeft_Stub(
  3327.     IRpcStubBuffer *This,
  3328.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3329.     PRPC_MESSAGE _pRpcMessage,
  3330.     DWORD *_pdwStubPhase);
  3331.  
  3332.  
  3333. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_DestinationWidth_Proxy( 
  3334.     IBasicVideo * This,
  3335.     /* [in] */ long DestinationWidth);
  3336.  
  3337.  
  3338. void __RPC_STUB IBasicVideo_put_DestinationWidth_Stub(
  3339.     IRpcStubBuffer *This,
  3340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3341.     PRPC_MESSAGE _pRpcMessage,
  3342.     DWORD *_pdwStubPhase);
  3343.  
  3344.  
  3345. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_DestinationWidth_Proxy( 
  3346.     IBasicVideo * This,
  3347.     /* [retval][out] */ long *pDestinationWidth);
  3348.  
  3349.  
  3350. void __RPC_STUB IBasicVideo_get_DestinationWidth_Stub(
  3351.     IRpcStubBuffer *This,
  3352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3353.     PRPC_MESSAGE _pRpcMessage,
  3354.     DWORD *_pdwStubPhase);
  3355.  
  3356.  
  3357. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_DestinationTop_Proxy( 
  3358.     IBasicVideo * This,
  3359.     /* [in] */ long DestinationTop);
  3360.  
  3361.  
  3362. void __RPC_STUB IBasicVideo_put_DestinationTop_Stub(
  3363.     IRpcStubBuffer *This,
  3364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3365.     PRPC_MESSAGE _pRpcMessage,
  3366.     DWORD *_pdwStubPhase);
  3367.  
  3368.  
  3369. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_DestinationTop_Proxy( 
  3370.     IBasicVideo * This,
  3371.     /* [retval][out] */ long *pDestinationTop);
  3372.  
  3373.  
  3374. void __RPC_STUB IBasicVideo_get_DestinationTop_Stub(
  3375.     IRpcStubBuffer *This,
  3376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3377.     PRPC_MESSAGE _pRpcMessage,
  3378.     DWORD *_pdwStubPhase);
  3379.  
  3380.  
  3381. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_DestinationHeight_Proxy( 
  3382.     IBasicVideo * This,
  3383.     /* [in] */ long DestinationHeight);
  3384.  
  3385.  
  3386. void __RPC_STUB IBasicVideo_put_DestinationHeight_Stub(
  3387.     IRpcStubBuffer *This,
  3388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3389.     PRPC_MESSAGE _pRpcMessage,
  3390.     DWORD *_pdwStubPhase);
  3391.  
  3392.  
  3393. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_DestinationHeight_Proxy( 
  3394.     IBasicVideo * This,
  3395.     /* [retval][out] */ long *pDestinationHeight);
  3396.  
  3397.  
  3398. void __RPC_STUB IBasicVideo_get_DestinationHeight_Stub(
  3399.     IRpcStubBuffer *This,
  3400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3401.     PRPC_MESSAGE _pRpcMessage,
  3402.     DWORD *_pdwStubPhase);
  3403.  
  3404.  
  3405. HRESULT STDMETHODCALLTYPE IBasicVideo_SetSourcePosition_Proxy( 
  3406.     IBasicVideo * This,
  3407.     /* [in] */ long Left,
  3408.     /* [in] */ long Top,
  3409.     /* [in] */ long Width,
  3410.     /* [in] */ long Height);
  3411.  
  3412.  
  3413. void __RPC_STUB IBasicVideo_SetSourcePosition_Stub(
  3414.     IRpcStubBuffer *This,
  3415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3416.     PRPC_MESSAGE _pRpcMessage,
  3417.     DWORD *_pdwStubPhase);
  3418.  
  3419.  
  3420. HRESULT STDMETHODCALLTYPE IBasicVideo_GetSourcePosition_Proxy( 
  3421.     IBasicVideo * This,
  3422.     /* [out] */ long *pLeft,
  3423.     /* [out] */ long *pTop,
  3424.     /* [out] */ long *pWidth,
  3425.     /* [out] */ long *pHeight);
  3426.  
  3427.  
  3428. void __RPC_STUB IBasicVideo_GetSourcePosition_Stub(
  3429.     IRpcStubBuffer *This,
  3430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3431.     PRPC_MESSAGE _pRpcMessage,
  3432.     DWORD *_pdwStubPhase);
  3433.  
  3434.  
  3435. HRESULT STDMETHODCALLTYPE IBasicVideo_SetDefaultSourcePosition_Proxy( 
  3436.     IBasicVideo * This);
  3437.  
  3438.  
  3439. void __RPC_STUB IBasicVideo_SetDefaultSourcePosition_Stub(
  3440.     IRpcStubBuffer *This,
  3441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3442.     PRPC_MESSAGE _pRpcMessage,
  3443.     DWORD *_pdwStubPhase);
  3444.  
  3445.  
  3446. HRESULT STDMETHODCALLTYPE IBasicVideo_SetDestinationPosition_Proxy( 
  3447.     IBasicVideo * This,
  3448.     /* [in] */ long Left,
  3449.     /* [in] */ long Top,
  3450.     /* [in] */ long Width,
  3451.     /* [in] */ long Height);
  3452.  
  3453.  
  3454. void __RPC_STUB IBasicVideo_SetDestinationPosition_Stub(
  3455.     IRpcStubBuffer *This,
  3456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3457.     PRPC_MESSAGE _pRpcMessage,
  3458.     DWORD *_pdwStubPhase);
  3459.  
  3460.  
  3461. HRESULT STDMETHODCALLTYPE IBasicVideo_GetDestinationPosition_Proxy( 
  3462.     IBasicVideo * This,
  3463.     /* [out] */ long *pLeft,
  3464.     /* [out] */ long *pTop,
  3465.     /* [out] */ long *pWidth,
  3466.     /* [out] */ long *pHeight);
  3467.  
  3468.  
  3469. void __RPC_STUB IBasicVideo_GetDestinationPosition_Stub(
  3470.     IRpcStubBuffer *This,
  3471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3472.     PRPC_MESSAGE _pRpcMessage,
  3473.     DWORD *_pdwStubPhase);
  3474.  
  3475.  
  3476. HRESULT STDMETHODCALLTYPE IBasicVideo_SetDefaultDestinationPosition_Proxy( 
  3477.     IBasicVideo * This);
  3478.  
  3479.  
  3480. void __RPC_STUB IBasicVideo_SetDefaultDestinationPosition_Stub(
  3481.     IRpcStubBuffer *This,
  3482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3483.     PRPC_MESSAGE _pRpcMessage,
  3484.     DWORD *_pdwStubPhase);
  3485.  
  3486.  
  3487. HRESULT STDMETHODCALLTYPE IBasicVideo_GetVideoSize_Proxy( 
  3488.     IBasicVideo * This,
  3489.     /* [out] */ long *pWidth,
  3490.     /* [out] */ long *pHeight);
  3491.  
  3492.  
  3493. void __RPC_STUB IBasicVideo_GetVideoSize_Stub(
  3494.     IRpcStubBuffer *This,
  3495.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3496.     PRPC_MESSAGE _pRpcMessage,
  3497.     DWORD *_pdwStubPhase);
  3498.  
  3499.  
  3500. HRESULT STDMETHODCALLTYPE IBasicVideo_GetVideoPaletteEntries_Proxy( 
  3501.     IBasicVideo * This,
  3502.     /* [in] */ long StartIndex,
  3503.     /* [in] */ long Entries,
  3504.     /* [out] */ long *pRetrieved,
  3505.     /* [out] */ long *pPalette);
  3506.  
  3507.  
  3508. void __RPC_STUB IBasicVideo_GetVideoPaletteEntries_Stub(
  3509.     IRpcStubBuffer *This,
  3510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3511.     PRPC_MESSAGE _pRpcMessage,
  3512.     DWORD *_pdwStubPhase);
  3513.  
  3514.  
  3515. HRESULT STDMETHODCALLTYPE IBasicVideo_GetCurrentImage_Proxy( 
  3516.     IBasicVideo * This,
  3517.     /* [out][in] */ long *pBufferSize,
  3518.     /* [out] */ long *pDIBImage);
  3519.  
  3520.  
  3521. void __RPC_STUB IBasicVideo_GetCurrentImage_Stub(
  3522.     IRpcStubBuffer *This,
  3523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3524.     PRPC_MESSAGE _pRpcMessage,
  3525.     DWORD *_pdwStubPhase);
  3526.  
  3527.  
  3528. HRESULT STDMETHODCALLTYPE IBasicVideo_IsUsingDefaultSource_Proxy( 
  3529.     IBasicVideo * This);
  3530.  
  3531.  
  3532. void __RPC_STUB IBasicVideo_IsUsingDefaultSource_Stub(
  3533.     IRpcStubBuffer *This,
  3534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3535.     PRPC_MESSAGE _pRpcMessage,
  3536.     DWORD *_pdwStubPhase);
  3537.  
  3538.  
  3539. HRESULT STDMETHODCALLTYPE IBasicVideo_IsUsingDefaultDestination_Proxy( 
  3540.     IBasicVideo * This);
  3541.  
  3542.  
  3543. void __RPC_STUB IBasicVideo_IsUsingDefaultDestination_Stub(
  3544.     IRpcStubBuffer *This,
  3545.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3546.     PRPC_MESSAGE _pRpcMessage,
  3547.     DWORD *_pdwStubPhase);
  3548.  
  3549.  
  3550.  
  3551. #endif     /* __IBasicVideo_INTERFACE_DEFINED__ */
  3552.  
  3553.  
  3554. #ifndef __IBasicVideo2_INTERFACE_DEFINED__
  3555. #define __IBasicVideo2_INTERFACE_DEFINED__
  3556.  
  3557. /* interface IBasicVideo2 */
  3558. /* [object][helpstring][uuid] */ 
  3559.  
  3560.  
  3561. DEFINE_GUID(IID_IBasicVideo2,0x329bb360,0xf6ea,0x11d1,0x90,0x38,0x00,0xa0,0xc9,0x69,0x72,0x98);
  3562.  
  3563. #if defined(__cplusplus) && !defined(CINTERFACE)
  3564.     
  3565.     MIDL_INTERFACE("329bb360-f6ea-11d1-9038-00a0c9697298")
  3566.     IBasicVideo2 : public IBasicVideo
  3567.     {
  3568.     public:
  3569.         virtual HRESULT STDMETHODCALLTYPE GetPreferredAspectRatio( 
  3570.             /* [out] */ long *plAspectX,
  3571.             /* [out] */ long *plAspectY) = 0;
  3572.         
  3573.     };
  3574.     
  3575. #else     /* C style interface */
  3576.  
  3577.     typedef struct IBasicVideo2Vtbl
  3578.     {
  3579.         BEGIN_INTERFACE
  3580.         
  3581.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3582.             IBasicVideo2 * This,
  3583.             /* [in] */ REFIID riid,
  3584.             /* [iid_is][out] */ void **ppvObject);
  3585.         
  3586.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3587.             IBasicVideo2 * This);
  3588.         
  3589.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3590.             IBasicVideo2 * This);
  3591.         
  3592.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  3593.             IBasicVideo2 * This,
  3594.             /* [out] */ UINT *pctinfo);
  3595.         
  3596.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  3597.             IBasicVideo2 * This,
  3598.             /* [in] */ UINT iTInfo,
  3599.             /* [in] */ LCID lcid,
  3600.             /* [out] */ ITypeInfo **ppTInfo);
  3601.         
  3602.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  3603.             IBasicVideo2 * This,
  3604.             /* [in] */ REFIID riid,
  3605.             /* [size_is][in] */ LPOLESTR *rgszNames,
  3606.             /* [in] */ UINT cNames,
  3607.             /* [in] */ LCID lcid,
  3608.             /* [size_is][out] */ DISPID *rgDispId);
  3609.         
  3610.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  3611.             IBasicVideo2 * This,
  3612.             /* [in] */ DISPID dispIdMember,
  3613.             /* [in] */ REFIID riid,
  3614.             /* [in] */ LCID lcid,
  3615.             /* [in] */ WORD wFlags,
  3616.             /* [out][in] */ DISPPARAMS *pDispParams,
  3617.             /* [out] */ VARIANT *pVarResult,
  3618.             /* [out] */ EXCEPINFO *pExcepInfo,
  3619.             /* [out] */ UINT *puArgErr);
  3620.         
  3621.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AvgTimePerFrame )( 
  3622.             IBasicVideo2 * This,
  3623.             /* [retval][out] */ REFTIME *pAvgTimePerFrame);
  3624.         
  3625.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( 
  3626.             IBasicVideo2 * This,
  3627.             /* [retval][out] */ long *pBitRate);
  3628.         
  3629.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitErrorRate )( 
  3630.             IBasicVideo2 * This,
  3631.             /* [retval][out] */ long *pBitErrorRate);
  3632.         
  3633.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoWidth )( 
  3634.             IBasicVideo2 * This,
  3635.             /* [retval][out] */ long *pVideoWidth);
  3636.         
  3637.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoHeight )( 
  3638.             IBasicVideo2 * This,
  3639.             /* [retval][out] */ long *pVideoHeight);
  3640.         
  3641.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceLeft )( 
  3642.             IBasicVideo2 * This,
  3643.             /* [in] */ long SourceLeft);
  3644.         
  3645.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceLeft )( 
  3646.             IBasicVideo2 * This,
  3647.             /* [retval][out] */ long *pSourceLeft);
  3648.         
  3649.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceWidth )( 
  3650.             IBasicVideo2 * This,
  3651.             /* [in] */ long SourceWidth);
  3652.         
  3653.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceWidth )( 
  3654.             IBasicVideo2 * This,
  3655.             /* [retval][out] */ long *pSourceWidth);
  3656.         
  3657.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceTop )( 
  3658.             IBasicVideo2 * This,
  3659.             /* [in] */ long SourceTop);
  3660.         
  3661.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceTop )( 
  3662.             IBasicVideo2 * This,
  3663.             /* [retval][out] */ long *pSourceTop);
  3664.         
  3665.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceHeight )( 
  3666.             IBasicVideo2 * This,
  3667.             /* [in] */ long SourceHeight);
  3668.         
  3669.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceHeight )( 
  3670.             IBasicVideo2 * This,
  3671.             /* [retval][out] */ long *pSourceHeight);
  3672.         
  3673.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationLeft )( 
  3674.             IBasicVideo2 * This,
  3675.             /* [in] */ long DestinationLeft);
  3676.         
  3677.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationLeft )( 
  3678.             IBasicVideo2 * This,
  3679.             /* [retval][out] */ long *pDestinationLeft);
  3680.         
  3681.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationWidth )( 
  3682.             IBasicVideo2 * This,
  3683.             /* [in] */ long DestinationWidth);
  3684.         
  3685.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationWidth )( 
  3686.             IBasicVideo2 * This,
  3687.             /* [retval][out] */ long *pDestinationWidth);
  3688.         
  3689.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationTop )( 
  3690.             IBasicVideo2 * This,
  3691.             /* [in] */ long DestinationTop);
  3692.         
  3693.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationTop )( 
  3694.             IBasicVideo2 * This,
  3695.             /* [retval][out] */ long *pDestinationTop);
  3696.         
  3697.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationHeight )( 
  3698.             IBasicVideo2 * This,
  3699.             /* [in] */ long DestinationHeight);
  3700.         
  3701.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationHeight )( 
  3702.             IBasicVideo2 * This,
  3703.             /* [retval][out] */ long *pDestinationHeight);
  3704.         
  3705.         HRESULT ( STDMETHODCALLTYPE *SetSourcePosition )( 
  3706.             IBasicVideo2 * This,
  3707.             /* [in] */ long Left,
  3708.             /* [in] */ long Top,
  3709.             /* [in] */ long Width,
  3710.             /* [in] */ long Height);
  3711.         
  3712.         HRESULT ( STDMETHODCALLTYPE *GetSourcePosition )( 
  3713.             IBasicVideo2 * This,
  3714.             /* [out] */ long *pLeft,
  3715.             /* [out] */ long *pTop,
  3716.             /* [out] */ long *pWidth,
  3717.             /* [out] */ long *pHeight);
  3718.         
  3719.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSourcePosition )( 
  3720.             IBasicVideo2 * This);
  3721.         
  3722.         HRESULT ( STDMETHODCALLTYPE *SetDestinationPosition )( 
  3723.             IBasicVideo2 * This,
  3724.             /* [in] */ long Left,
  3725.             /* [in] */ long Top,
  3726.             /* [in] */ long Width,
  3727.             /* [in] */ long Height);
  3728.         
  3729.         HRESULT ( STDMETHODCALLTYPE *GetDestinationPosition )( 
  3730.             IBasicVideo2 * This,
  3731.             /* [out] */ long *pLeft,
  3732.             /* [out] */ long *pTop,
  3733.             /* [out] */ long *pWidth,
  3734.             /* [out] */ long *pHeight);
  3735.         
  3736.         HRESULT ( STDMETHODCALLTYPE *SetDefaultDestinationPosition )( 
  3737.             IBasicVideo2 * This);
  3738.         
  3739.         HRESULT ( STDMETHODCALLTYPE *GetVideoSize )( 
  3740.             IBasicVideo2 * This,
  3741.             /* [out] */ long *pWidth,
  3742.             /* [out] */ long *pHeight);
  3743.         
  3744.         HRESULT ( STDMETHODCALLTYPE *GetVideoPaletteEntries )( 
  3745.             IBasicVideo2 * This,
  3746.             /* [in] */ long StartIndex,
  3747.             /* [in] */ long Entries,
  3748.             /* [out] */ long *pRetrieved,
  3749.             /* [out] */ long *pPalette);
  3750.         
  3751.         HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( 
  3752.             IBasicVideo2 * This,
  3753.             /* [out][in] */ long *pBufferSize,
  3754.             /* [out] */ long *pDIBImage);
  3755.         
  3756.         HRESULT ( STDMETHODCALLTYPE *IsUsingDefaultSource )( 
  3757.             IBasicVideo2 * This);
  3758.         
  3759.         HRESULT ( STDMETHODCALLTYPE *IsUsingDefaultDestination )( 
  3760.             IBasicVideo2 * This);
  3761.         
  3762.         HRESULT ( STDMETHODCALLTYPE *GetPreferredAspectRatio )( 
  3763.             IBasicVideo2 * This,
  3764.             /* [out] */ long *plAspectX,
  3765.             /* [out] */ long *plAspectY);
  3766.         
  3767.         END_INTERFACE
  3768.     } IBasicVideo2Vtbl;
  3769.  
  3770.     interface IBasicVideo2
  3771.     {
  3772.         CONST_VTBL struct IBasicVideo2Vtbl *lpVtbl;
  3773.     };
  3774.  
  3775.     
  3776.  
  3777. #ifdef COBJMACROS
  3778.  
  3779.  
  3780. #define IBasicVideo2_QueryInterface(This,riid,ppvObject)    \
  3781.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3782.  
  3783. #define IBasicVideo2_AddRef(This)    \
  3784.     (This)->lpVtbl -> AddRef(This)
  3785.  
  3786. #define IBasicVideo2_Release(This)    \
  3787.     (This)->lpVtbl -> Release(This)
  3788.  
  3789.  
  3790. #define IBasicVideo2_GetTypeInfoCount(This,pctinfo)    \
  3791.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3792.  
  3793. #define IBasicVideo2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3794.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3795.  
  3796. #define IBasicVideo2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3797.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3798.  
  3799. #define IBasicVideo2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3800.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3801.  
  3802.  
  3803. #define IBasicVideo2_get_AvgTimePerFrame(This,pAvgTimePerFrame)    \
  3804.     (This)->lpVtbl -> get_AvgTimePerFrame(This,pAvgTimePerFrame)
  3805.  
  3806. #define IBasicVideo2_get_BitRate(This,pBitRate)    \
  3807.     (This)->lpVtbl -> get_BitRate(This,pBitRate)
  3808.  
  3809. #define IBasicVideo2_get_BitErrorRate(This,pBitErrorRate)    \
  3810.     (This)->lpVtbl -> get_BitErrorRate(This,pBitErrorRate)
  3811.  
  3812. #define IBasicVideo2_get_VideoWidth(This,pVideoWidth)    \
  3813.     (This)->lpVtbl -> get_VideoWidth(This,pVideoWidth)
  3814.  
  3815. #define IBasicVideo2_get_VideoHeight(This,pVideoHeight)    \
  3816.     (This)->lpVtbl -> get_VideoHeight(This,pVideoHeight)
  3817.  
  3818. #define IBasicVideo2_put_SourceLeft(This,SourceLeft)    \
  3819.     (This)->lpVtbl -> put_SourceLeft(This,SourceLeft)
  3820.  
  3821. #define IBasicVideo2_get_SourceLeft(This,pSourceLeft)    \
  3822.     (This)->lpVtbl -> get_SourceLeft(This,pSourceLeft)
  3823.  
  3824. #define IBasicVideo2_put_SourceWidth(This,SourceWidth)    \
  3825.     (This)->lpVtbl -> put_SourceWidth(This,SourceWidth)
  3826.  
  3827. #define IBasicVideo2_get_SourceWidth(This,pSourceWidth)    \
  3828.     (This)->lpVtbl -> get_SourceWidth(This,pSourceWidth)
  3829.  
  3830. #define IBasicVideo2_put_SourceTop(This,SourceTop)    \
  3831.     (This)->lpVtbl -> put_SourceTop(This,SourceTop)
  3832.  
  3833. #define IBasicVideo2_get_SourceTop(This,pSourceTop)    \
  3834.     (This)->lpVtbl -> get_SourceTop(This,pSourceTop)
  3835.  
  3836. #define IBasicVideo2_put_SourceHeight(This,SourceHeight)    \
  3837.     (This)->lpVtbl -> put_SourceHeight(This,SourceHeight)
  3838.  
  3839. #define IBasicVideo2_get_SourceHeight(This,pSourceHeight)    \
  3840.     (This)->lpVtbl -> get_SourceHeight(This,pSourceHeight)
  3841.  
  3842. #define IBasicVideo2_put_DestinationLeft(This,DestinationLeft)    \
  3843.     (This)->lpVtbl -> put_DestinationLeft(This,DestinationLeft)
  3844.  
  3845. #define IBasicVideo2_get_DestinationLeft(This,pDestinationLeft)    \
  3846.     (This)->lpVtbl -> get_DestinationLeft(This,pDestinationLeft)
  3847.  
  3848. #define IBasicVideo2_put_DestinationWidth(This,DestinationWidth)    \
  3849.     (This)->lpVtbl -> put_DestinationWidth(This,DestinationWidth)
  3850.  
  3851. #define IBasicVideo2_get_DestinationWidth(This,pDestinationWidth)    \
  3852.     (This)->lpVtbl -> get_DestinationWidth(This,pDestinationWidth)
  3853.  
  3854. #define IBasicVideo2_put_DestinationTop(This,DestinationTop)    \
  3855.     (This)->lpVtbl -> put_DestinationTop(This,DestinationTop)
  3856.  
  3857. #define IBasicVideo2_get_DestinationTop(This,pDestinationTop)    \
  3858.     (This)->lpVtbl -> get_DestinationTop(This,pDestinationTop)
  3859.  
  3860. #define IBasicVideo2_put_DestinationHeight(This,DestinationHeight)    \
  3861.     (This)->lpVtbl -> put_DestinationHeight(This,DestinationHeight)
  3862.  
  3863. #define IBasicVideo2_get_DestinationHeight(This,pDestinationHeight)    \
  3864.     (This)->lpVtbl -> get_DestinationHeight(This,pDestinationHeight)
  3865.  
  3866. #define IBasicVideo2_SetSourcePosition(This,Left,Top,Width,Height)    \
  3867.     (This)->lpVtbl -> SetSourcePosition(This,Left,Top,Width,Height)
  3868.  
  3869. #define IBasicVideo2_GetSourcePosition(This,pLeft,pTop,pWidth,pHeight)    \
  3870.     (This)->lpVtbl -> GetSourcePosition(This,pLeft,pTop,pWidth,pHeight)
  3871.  
  3872. #define IBasicVideo2_SetDefaultSourcePosition(This)    \
  3873.     (This)->lpVtbl -> SetDefaultSourcePosition(This)
  3874.  
  3875. #define IBasicVideo2_SetDestinationPosition(This,Left,Top,Width,Height)    \
  3876.     (This)->lpVtbl -> SetDestinationPosition(This,Left,Top,Width,Height)
  3877.  
  3878. #define IBasicVideo2_GetDestinationPosition(This,pLeft,pTop,pWidth,pHeight)    \
  3879.     (This)->lpVtbl -> GetDestinationPosition(This,pLeft,pTop,pWidth,pHeight)
  3880.  
  3881. #define IBasicVideo2_SetDefaultDestinationPosition(This)    \
  3882.     (This)->lpVtbl -> SetDefaultDestinationPosition(This)
  3883.  
  3884. #define IBasicVideo2_GetVideoSize(This,pWidth,pHeight)    \
  3885.     (This)->lpVtbl -> GetVideoSize(This,pWidth,pHeight)
  3886.  
  3887. #define IBasicVideo2_GetVideoPaletteEntries(This,StartIndex,Entries,pRetrieved,pPalette)    \
  3888.     (This)->lpVtbl -> GetVideoPaletteEntries(This,StartIndex,Entries,pRetrieved,pPalette)
  3889.  
  3890. #define IBasicVideo2_GetCurrentImage(This,pBufferSize,pDIBImage)    \
  3891.     (This)->lpVtbl -> GetCurrentImage(This,pBufferSize,pDIBImage)
  3892.  
  3893. #define IBasicVideo2_IsUsingDefaultSource(This)    \
  3894.     (This)->lpVtbl -> IsUsingDefaultSource(This)
  3895.  
  3896. #define IBasicVideo2_IsUsingDefaultDestination(This)    \
  3897.     (This)->lpVtbl -> IsUsingDefaultDestination(This)
  3898.  
  3899.  
  3900. #define IBasicVideo2_GetPreferredAspectRatio(This,plAspectX,plAspectY)    \
  3901.     (This)->lpVtbl -> GetPreferredAspectRatio(This,plAspectX,plAspectY)
  3902.  
  3903. #endif /* COBJMACROS */
  3904.  
  3905.  
  3906. #endif     /* C style interface */
  3907.  
  3908.  
  3909.  
  3910. HRESULT STDMETHODCALLTYPE IBasicVideo2_GetPreferredAspectRatio_Proxy( 
  3911.     IBasicVideo2 * This,
  3912.     /* [out] */ long *plAspectX,
  3913.     /* [out] */ long *plAspectY);
  3914.  
  3915.  
  3916. void __RPC_STUB IBasicVideo2_GetPreferredAspectRatio_Stub(
  3917.     IRpcStubBuffer *This,
  3918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3919.     PRPC_MESSAGE _pRpcMessage,
  3920.     DWORD *_pdwStubPhase);
  3921.  
  3922.  
  3923.  
  3924. #endif     /* __IBasicVideo2_INTERFACE_DEFINED__ */
  3925.  
  3926.  
  3927. #ifndef __IDeferredCommand_INTERFACE_DEFINED__
  3928. #define __IDeferredCommand_INTERFACE_DEFINED__
  3929.  
  3930. /* interface IDeferredCommand */
  3931. /* [object][helpstring][uuid] */ 
  3932.  
  3933.  
  3934. DEFINE_GUID(IID_IDeferredCommand,0x56a868b8,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  3935.  
  3936. #if defined(__cplusplus) && !defined(CINTERFACE)
  3937.     
  3938.     MIDL_INTERFACE("56a868b8-0ad4-11ce-b03a-0020af0ba770")
  3939.     IDeferredCommand : public IUnknown
  3940.     {
  3941.     public:
  3942.         virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  3943.         
  3944.         virtual HRESULT STDMETHODCALLTYPE Confidence( 
  3945.             /* [out] */ LONG *pConfidence) = 0;
  3946.         
  3947.         virtual HRESULT STDMETHODCALLTYPE Postpone( 
  3948.             /* [in] */ REFTIME newtime) = 0;
  3949.         
  3950.         virtual HRESULT STDMETHODCALLTYPE GetHResult( 
  3951.             /* [out] */ HRESULT *phrResult) = 0;
  3952.         
  3953.     };
  3954.     
  3955. #else     /* C style interface */
  3956.  
  3957.     typedef struct IDeferredCommandVtbl
  3958.     {
  3959.         BEGIN_INTERFACE
  3960.         
  3961.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3962.             IDeferredCommand * This,
  3963.             /* [in] */ REFIID riid,
  3964.             /* [iid_is][out] */ void **ppvObject);
  3965.         
  3966.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3967.             IDeferredCommand * This);
  3968.         
  3969.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3970.             IDeferredCommand * This);
  3971.         
  3972.         HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  3973.             IDeferredCommand * This);
  3974.         
  3975.         HRESULT ( STDMETHODCALLTYPE *Confidence )( 
  3976.             IDeferredCommand * This,
  3977.             /* [out] */ LONG *pConfidence);
  3978.         
  3979.         HRESULT ( STDMETHODCALLTYPE *Postpone )( 
  3980.             IDeferredCommand * This,
  3981.             /* [in] */ REFTIME newtime);
  3982.         
  3983.         HRESULT ( STDMETHODCALLTYPE *GetHResult )( 
  3984.             IDeferredCommand * This,
  3985.             /* [out] */ HRESULT *phrResult);
  3986.         
  3987.         END_INTERFACE
  3988.     } IDeferredCommandVtbl;
  3989.  
  3990.     interface IDeferredCommand
  3991.     {
  3992.         CONST_VTBL struct IDeferredCommandVtbl *lpVtbl;
  3993.     };
  3994.  
  3995.     
  3996.  
  3997. #ifdef COBJMACROS
  3998.  
  3999.  
  4000. #define IDeferredCommand_QueryInterface(This,riid,ppvObject)    \
  4001.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4002.  
  4003. #define IDeferredCommand_AddRef(This)    \
  4004.     (This)->lpVtbl -> AddRef(This)
  4005.  
  4006. #define IDeferredCommand_Release(This)    \
  4007.     (This)->lpVtbl -> Release(This)
  4008.  
  4009.  
  4010. #define IDeferredCommand_Cancel(This)    \
  4011.     (This)->lpVtbl -> Cancel(This)
  4012.  
  4013. #define IDeferredCommand_Confidence(This,pConfidence)    \
  4014.     (This)->lpVtbl -> Confidence(This,pConfidence)
  4015.  
  4016. #define IDeferredCommand_Postpone(This,newtime)    \
  4017.     (This)->lpVtbl -> Postpone(This,newtime)
  4018.  
  4019. #define IDeferredCommand_GetHResult(This,phrResult)    \
  4020.     (This)->lpVtbl -> GetHResult(This,phrResult)
  4021.  
  4022. #endif /* COBJMACROS */
  4023.  
  4024.  
  4025. #endif     /* C style interface */
  4026.  
  4027.  
  4028.  
  4029. HRESULT STDMETHODCALLTYPE IDeferredCommand_Cancel_Proxy( 
  4030.     IDeferredCommand * This);
  4031.  
  4032.  
  4033. void __RPC_STUB IDeferredCommand_Cancel_Stub(
  4034.     IRpcStubBuffer *This,
  4035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4036.     PRPC_MESSAGE _pRpcMessage,
  4037.     DWORD *_pdwStubPhase);
  4038.  
  4039.  
  4040. HRESULT STDMETHODCALLTYPE IDeferredCommand_Confidence_Proxy( 
  4041.     IDeferredCommand * This,
  4042.     /* [out] */ LONG *pConfidence);
  4043.  
  4044.  
  4045. void __RPC_STUB IDeferredCommand_Confidence_Stub(
  4046.     IRpcStubBuffer *This,
  4047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4048.     PRPC_MESSAGE _pRpcMessage,
  4049.     DWORD *_pdwStubPhase);
  4050.  
  4051.  
  4052. HRESULT STDMETHODCALLTYPE IDeferredCommand_Postpone_Proxy( 
  4053.     IDeferredCommand * This,
  4054.     /* [in] */ REFTIME newtime);
  4055.  
  4056.  
  4057. void __RPC_STUB IDeferredCommand_Postpone_Stub(
  4058.     IRpcStubBuffer *This,
  4059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4060.     PRPC_MESSAGE _pRpcMessage,
  4061.     DWORD *_pdwStubPhase);
  4062.  
  4063.  
  4064. HRESULT STDMETHODCALLTYPE IDeferredCommand_GetHResult_Proxy( 
  4065.     IDeferredCommand * This,
  4066.     /* [out] */ HRESULT *phrResult);
  4067.  
  4068.  
  4069. void __RPC_STUB IDeferredCommand_GetHResult_Stub(
  4070.     IRpcStubBuffer *This,
  4071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4072.     PRPC_MESSAGE _pRpcMessage,
  4073.     DWORD *_pdwStubPhase);
  4074.  
  4075.  
  4076.  
  4077. #endif     /* __IDeferredCommand_INTERFACE_DEFINED__ */
  4078.  
  4079.  
  4080. #ifndef __IQueueCommand_INTERFACE_DEFINED__
  4081. #define __IQueueCommand_INTERFACE_DEFINED__
  4082.  
  4083. /* interface IQueueCommand */
  4084. /* [object][helpstring][uuid] */ 
  4085.  
  4086.  
  4087. DEFINE_GUID(IID_IQueueCommand,0x56a868b7,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4088.  
  4089. #if defined(__cplusplus) && !defined(CINTERFACE)
  4090.     
  4091.     MIDL_INTERFACE("56a868b7-0ad4-11ce-b03a-0020af0ba770")
  4092.     IQueueCommand : public IUnknown
  4093.     {
  4094.     public:
  4095.         virtual HRESULT STDMETHODCALLTYPE InvokeAtStreamTime( 
  4096.             /* [out] */ IDeferredCommand **pCmd,
  4097.             /* [in] */ REFTIME time,
  4098.             /* [in] */ GUID *iid,
  4099.             /* [in] */ long dispidMethod,
  4100.             /* [in] */ short wFlags,
  4101.             /* [in] */ long cArgs,
  4102.             /* [in] */ VARIANT *pDispParams,
  4103.             /* [out][in] */ VARIANT *pvarResult,
  4104.             /* [out] */ short *puArgErr) = 0;
  4105.         
  4106.         virtual HRESULT STDMETHODCALLTYPE InvokeAtPresentationTime( 
  4107.             /* [out] */ IDeferredCommand **pCmd,
  4108.             /* [in] */ REFTIME time,
  4109.             /* [in] */ GUID *iid,
  4110.             /* [in] */ long dispidMethod,
  4111.             /* [in] */ short wFlags,
  4112.             /* [in] */ long cArgs,
  4113.             /* [in] */ VARIANT *pDispParams,
  4114.             /* [out][in] */ VARIANT *pvarResult,
  4115.             /* [out] */ short *puArgErr) = 0;
  4116.         
  4117.     };
  4118.     
  4119. #else     /* C style interface */
  4120.  
  4121.     typedef struct IQueueCommandVtbl
  4122.     {
  4123.         BEGIN_INTERFACE
  4124.         
  4125.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4126.             IQueueCommand * This,
  4127.             /* [in] */ REFIID riid,
  4128.             /* [iid_is][out] */ void **ppvObject);
  4129.         
  4130.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4131.             IQueueCommand * This);
  4132.         
  4133.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4134.             IQueueCommand * This);
  4135.         
  4136.         HRESULT ( STDMETHODCALLTYPE *InvokeAtStreamTime )( 
  4137.             IQueueCommand * This,
  4138.             /* [out] */ IDeferredCommand **pCmd,
  4139.             /* [in] */ REFTIME time,
  4140.             /* [in] */ GUID *iid,
  4141.             /* [in] */ long dispidMethod,
  4142.             /* [in] */ short wFlags,
  4143.             /* [in] */ long cArgs,
  4144.             /* [in] */ VARIANT *pDispParams,
  4145.             /* [out][in] */ VARIANT *pvarResult,
  4146.             /* [out] */ short *puArgErr);
  4147.         
  4148.         HRESULT ( STDMETHODCALLTYPE *InvokeAtPresentationTime )( 
  4149.             IQueueCommand * This,
  4150.             /* [out] */ IDeferredCommand **pCmd,
  4151.             /* [in] */ REFTIME time,
  4152.             /* [in] */ GUID *iid,
  4153.             /* [in] */ long dispidMethod,
  4154.             /* [in] */ short wFlags,
  4155.             /* [in] */ long cArgs,
  4156.             /* [in] */ VARIANT *pDispParams,
  4157.             /* [out][in] */ VARIANT *pvarResult,
  4158.             /* [out] */ short *puArgErr);
  4159.         
  4160.         END_INTERFACE
  4161.     } IQueueCommandVtbl;
  4162.  
  4163.     interface IQueueCommand
  4164.     {
  4165.         CONST_VTBL struct IQueueCommandVtbl *lpVtbl;
  4166.     };
  4167.  
  4168.     
  4169.  
  4170. #ifdef COBJMACROS
  4171.  
  4172.  
  4173. #define IQueueCommand_QueryInterface(This,riid,ppvObject)    \
  4174.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4175.  
  4176. #define IQueueCommand_AddRef(This)    \
  4177.     (This)->lpVtbl -> AddRef(This)
  4178.  
  4179. #define IQueueCommand_Release(This)    \
  4180.     (This)->lpVtbl -> Release(This)
  4181.  
  4182.  
  4183. #define IQueueCommand_InvokeAtStreamTime(This,pCmd,time,iid,dispidMethod,wFlags,cArgs,pDispParams,pvarResult,puArgErr)    \
  4184.     (This)->lpVtbl -> InvokeAtStreamTime(This,pCmd,time,iid,dispidMethod,wFlags,cArgs,pDispParams,pvarResult,puArgErr)
  4185.  
  4186. #define IQueueCommand_InvokeAtPresentationTime(This,pCmd,time,iid,dispidMethod,wFlags,cArgs,pDispParams,pvarResult,puArgErr)    \
  4187.     (This)->lpVtbl -> InvokeAtPresentationTime(This,pCmd,time,iid,dispidMethod,wFlags,cArgs,pDispParams,pvarResult,puArgErr)
  4188.  
  4189. #endif /* COBJMACROS */
  4190.  
  4191.  
  4192. #endif     /* C style interface */
  4193.  
  4194.  
  4195.  
  4196. HRESULT STDMETHODCALLTYPE IQueueCommand_InvokeAtStreamTime_Proxy( 
  4197.     IQueueCommand * This,
  4198.     /* [out] */ IDeferredCommand **pCmd,
  4199.     /* [in] */ REFTIME time,
  4200.     /* [in] */ GUID *iid,
  4201.     /* [in] */ long dispidMethod,
  4202.     /* [in] */ short wFlags,
  4203.     /* [in] */ long cArgs,
  4204.     /* [in] */ VARIANT *pDispParams,
  4205.     /* [out][in] */ VARIANT *pvarResult,
  4206.     /* [out] */ short *puArgErr);
  4207.  
  4208.  
  4209. void __RPC_STUB IQueueCommand_InvokeAtStreamTime_Stub(
  4210.     IRpcStubBuffer *This,
  4211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4212.     PRPC_MESSAGE _pRpcMessage,
  4213.     DWORD *_pdwStubPhase);
  4214.  
  4215.  
  4216. HRESULT STDMETHODCALLTYPE IQueueCommand_InvokeAtPresentationTime_Proxy( 
  4217.     IQueueCommand * This,
  4218.     /* [out] */ IDeferredCommand **pCmd,
  4219.     /* [in] */ REFTIME time,
  4220.     /* [in] */ GUID *iid,
  4221.     /* [in] */ long dispidMethod,
  4222.     /* [in] */ short wFlags,
  4223.     /* [in] */ long cArgs,
  4224.     /* [in] */ VARIANT *pDispParams,
  4225.     /* [out][in] */ VARIANT *pvarResult,
  4226.     /* [out] */ short *puArgErr);
  4227.  
  4228.  
  4229. void __RPC_STUB IQueueCommand_InvokeAtPresentationTime_Stub(
  4230.     IRpcStubBuffer *This,
  4231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4232.     PRPC_MESSAGE _pRpcMessage,
  4233.     DWORD *_pdwStubPhase);
  4234.  
  4235.  
  4236.  
  4237. #endif     /* __IQueueCommand_INTERFACE_DEFINED__ */
  4238.  
  4239.  
  4240. DEFINE_GUID(CLSID_FilgraphManager,0xe436ebb3,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4241.  
  4242. #ifdef __cplusplus
  4243.  
  4244. class DECLSPEC_UUID("e436ebb3-524f-11ce-9f53-0020af0ba770")
  4245. FilgraphManager;
  4246. #endif
  4247.  
  4248. #ifndef __IFilterInfo_INTERFACE_DEFINED__
  4249. #define __IFilterInfo_INTERFACE_DEFINED__
  4250.  
  4251. /* interface IFilterInfo */
  4252. /* [object][dual][oleautomation][helpstring][uuid] */ 
  4253.  
  4254.  
  4255. DEFINE_GUID(IID_IFilterInfo,0x56a868ba,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4256.  
  4257. #if defined(__cplusplus) && !defined(CINTERFACE)
  4258.     
  4259.     MIDL_INTERFACE("56a868ba-0ad4-11ce-b03a-0020af0ba770")
  4260.     IFilterInfo : public IDispatch
  4261.     {
  4262.     public:
  4263.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  4264.             /* [in] */ BSTR strPinID,
  4265.             /* [out] */ IDispatch **ppUnk) = 0;
  4266.         
  4267.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  4268.             /* [retval][out] */ BSTR *strName) = 0;
  4269.         
  4270.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VendorInfo( 
  4271.             /* [retval][out] */ BSTR *strVendorInfo) = 0;
  4272.         
  4273.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Filter( 
  4274.             /* [retval][out] */ IUnknown **ppUnk) = 0;
  4275.         
  4276.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Pins( 
  4277.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4278.         
  4279.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsFileSource( 
  4280.             /* [retval][out] */ LONG *pbIsSource) = 0;
  4281.         
  4282.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Filename( 
  4283.             /* [retval][out] */ BSTR *pstrFilename) = 0;
  4284.         
  4285.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Filename( 
  4286.             /* [in] */ BSTR strFilename) = 0;
  4287.         
  4288.     };
  4289.     
  4290. #else     /* C style interface */
  4291.  
  4292.     typedef struct IFilterInfoVtbl
  4293.     {
  4294.         BEGIN_INTERFACE
  4295.         
  4296.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4297.             IFilterInfo * This,
  4298.             /* [in] */ REFIID riid,
  4299.             /* [iid_is][out] */ void **ppvObject);
  4300.         
  4301.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4302.             IFilterInfo * This);
  4303.         
  4304.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4305.             IFilterInfo * This);
  4306.         
  4307.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4308.             IFilterInfo * This,
  4309.             /* [out] */ UINT *pctinfo);
  4310.         
  4311.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4312.             IFilterInfo * This,
  4313.             /* [in] */ UINT iTInfo,
  4314.             /* [in] */ LCID lcid,
  4315.             /* [out] */ ITypeInfo **ppTInfo);
  4316.         
  4317.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4318.             IFilterInfo * This,
  4319.             /* [in] */ REFIID riid,
  4320.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4321.             /* [in] */ UINT cNames,
  4322.             /* [in] */ LCID lcid,
  4323.             /* [size_is][out] */ DISPID *rgDispId);
  4324.         
  4325.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4326.             IFilterInfo * This,
  4327.             /* [in] */ DISPID dispIdMember,
  4328.             /* [in] */ REFIID riid,
  4329.             /* [in] */ LCID lcid,
  4330.             /* [in] */ WORD wFlags,
  4331.             /* [out][in] */ DISPPARAMS *pDispParams,
  4332.             /* [out] */ VARIANT *pVarResult,
  4333.             /* [out] */ EXCEPINFO *pExcepInfo,
  4334.             /* [out] */ UINT *puArgErr);
  4335.         
  4336.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  4337.             IFilterInfo * This,
  4338.             /* [in] */ BSTR strPinID,
  4339.             /* [out] */ IDispatch **ppUnk);
  4340.         
  4341.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  4342.             IFilterInfo * This,
  4343.             /* [retval][out] */ BSTR *strName);
  4344.         
  4345.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VendorInfo )( 
  4346.             IFilterInfo * This,
  4347.             /* [retval][out] */ BSTR *strVendorInfo);
  4348.         
  4349.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
  4350.             IFilterInfo * This,
  4351.             /* [retval][out] */ IUnknown **ppUnk);
  4352.         
  4353.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pins )( 
  4354.             IFilterInfo * This,
  4355.             /* [retval][out] */ IDispatch **ppUnk);
  4356.         
  4357.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsFileSource )( 
  4358.             IFilterInfo * This,
  4359.             /* [retval][out] */ LONG *pbIsSource);
  4360.         
  4361.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filename )( 
  4362.             IFilterInfo * This,
  4363.             /* [retval][out] */ BSTR *pstrFilename);
  4364.         
  4365.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Filename )( 
  4366.             IFilterInfo * This,
  4367.             /* [in] */ BSTR strFilename);
  4368.         
  4369.         END_INTERFACE
  4370.     } IFilterInfoVtbl;
  4371.  
  4372.     interface IFilterInfo
  4373.     {
  4374.         CONST_VTBL struct IFilterInfoVtbl *lpVtbl;
  4375.     };
  4376.  
  4377.     
  4378.  
  4379. #ifdef COBJMACROS
  4380.  
  4381.  
  4382. #define IFilterInfo_QueryInterface(This,riid,ppvObject)    \
  4383.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4384.  
  4385. #define IFilterInfo_AddRef(This)    \
  4386.     (This)->lpVtbl -> AddRef(This)
  4387.  
  4388. #define IFilterInfo_Release(This)    \
  4389.     (This)->lpVtbl -> Release(This)
  4390.  
  4391.  
  4392. #define IFilterInfo_GetTypeInfoCount(This,pctinfo)    \
  4393.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4394.  
  4395. #define IFilterInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4396.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4397.  
  4398. #define IFilterInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4399.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4400.  
  4401. #define IFilterInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4402.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4403.  
  4404.  
  4405. #define IFilterInfo_FindPin(This,strPinID,ppUnk)    \
  4406.     (This)->lpVtbl -> FindPin(This,strPinID,ppUnk)
  4407.  
  4408. #define IFilterInfo_get_Name(This,strName)    \
  4409.     (This)->lpVtbl -> get_Name(This,strName)
  4410.  
  4411. #define IFilterInfo_get_VendorInfo(This,strVendorInfo)    \
  4412.     (This)->lpVtbl -> get_VendorInfo(This,strVendorInfo)
  4413.  
  4414. #define IFilterInfo_get_Filter(This,ppUnk)    \
  4415.     (This)->lpVtbl -> get_Filter(This,ppUnk)
  4416.  
  4417. #define IFilterInfo_get_Pins(This,ppUnk)    \
  4418.     (This)->lpVtbl -> get_Pins(This,ppUnk)
  4419.  
  4420. #define IFilterInfo_get_IsFileSource(This,pbIsSource)    \
  4421.     (This)->lpVtbl -> get_IsFileSource(This,pbIsSource)
  4422.  
  4423. #define IFilterInfo_get_Filename(This,pstrFilename)    \
  4424.     (This)->lpVtbl -> get_Filename(This,pstrFilename)
  4425.  
  4426. #define IFilterInfo_put_Filename(This,strFilename)    \
  4427.     (This)->lpVtbl -> put_Filename(This,strFilename)
  4428.  
  4429. #endif /* COBJMACROS */
  4430.  
  4431.  
  4432. #endif     /* C style interface */
  4433.  
  4434.  
  4435.  
  4436. HRESULT STDMETHODCALLTYPE IFilterInfo_FindPin_Proxy( 
  4437.     IFilterInfo * This,
  4438.     /* [in] */ BSTR strPinID,
  4439.     /* [out] */ IDispatch **ppUnk);
  4440.  
  4441.  
  4442. void __RPC_STUB IFilterInfo_FindPin_Stub(
  4443.     IRpcStubBuffer *This,
  4444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4445.     PRPC_MESSAGE _pRpcMessage,
  4446.     DWORD *_pdwStubPhase);
  4447.  
  4448.  
  4449. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_Name_Proxy( 
  4450.     IFilterInfo * This,
  4451.     /* [retval][out] */ BSTR *strName);
  4452.  
  4453.  
  4454. void __RPC_STUB IFilterInfo_get_Name_Stub(
  4455.     IRpcStubBuffer *This,
  4456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4457.     PRPC_MESSAGE _pRpcMessage,
  4458.     DWORD *_pdwStubPhase);
  4459.  
  4460.  
  4461. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_VendorInfo_Proxy( 
  4462.     IFilterInfo * This,
  4463.     /* [retval][out] */ BSTR *strVendorInfo);
  4464.  
  4465.  
  4466. void __RPC_STUB IFilterInfo_get_VendorInfo_Stub(
  4467.     IRpcStubBuffer *This,
  4468.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4469.     PRPC_MESSAGE _pRpcMessage,
  4470.     DWORD *_pdwStubPhase);
  4471.  
  4472.  
  4473. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_Filter_Proxy( 
  4474.     IFilterInfo * This,
  4475.     /* [retval][out] */ IUnknown **ppUnk);
  4476.  
  4477.  
  4478. void __RPC_STUB IFilterInfo_get_Filter_Stub(
  4479.     IRpcStubBuffer *This,
  4480.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4481.     PRPC_MESSAGE _pRpcMessage,
  4482.     DWORD *_pdwStubPhase);
  4483.  
  4484.  
  4485. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_Pins_Proxy( 
  4486.     IFilterInfo * This,
  4487.     /* [retval][out] */ IDispatch **ppUnk);
  4488.  
  4489.  
  4490. void __RPC_STUB IFilterInfo_get_Pins_Stub(
  4491.     IRpcStubBuffer *This,
  4492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4493.     PRPC_MESSAGE _pRpcMessage,
  4494.     DWORD *_pdwStubPhase);
  4495.  
  4496.  
  4497. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_IsFileSource_Proxy( 
  4498.     IFilterInfo * This,
  4499.     /* [retval][out] */ LONG *pbIsSource);
  4500.  
  4501.  
  4502. void __RPC_STUB IFilterInfo_get_IsFileSource_Stub(
  4503.     IRpcStubBuffer *This,
  4504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4505.     PRPC_MESSAGE _pRpcMessage,
  4506.     DWORD *_pdwStubPhase);
  4507.  
  4508.  
  4509. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_Filename_Proxy( 
  4510.     IFilterInfo * This,
  4511.     /* [retval][out] */ BSTR *pstrFilename);
  4512.  
  4513.  
  4514. void __RPC_STUB IFilterInfo_get_Filename_Stub(
  4515.     IRpcStubBuffer *This,
  4516.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4517.     PRPC_MESSAGE _pRpcMessage,
  4518.     DWORD *_pdwStubPhase);
  4519.  
  4520.  
  4521. /* [propput] */ HRESULT STDMETHODCALLTYPE IFilterInfo_put_Filename_Proxy( 
  4522.     IFilterInfo * This,
  4523.     /* [in] */ BSTR strFilename);
  4524.  
  4525.  
  4526. void __RPC_STUB IFilterInfo_put_Filename_Stub(
  4527.     IRpcStubBuffer *This,
  4528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4529.     PRPC_MESSAGE _pRpcMessage,
  4530.     DWORD *_pdwStubPhase);
  4531.  
  4532.  
  4533.  
  4534. #endif     /* __IFilterInfo_INTERFACE_DEFINED__ */
  4535.  
  4536.  
  4537. #ifndef __IRegFilterInfo_INTERFACE_DEFINED__
  4538. #define __IRegFilterInfo_INTERFACE_DEFINED__
  4539.  
  4540. /* interface IRegFilterInfo */
  4541. /* [object][dual][oleautomation][helpstring][uuid] */ 
  4542.  
  4543.  
  4544. DEFINE_GUID(IID_IRegFilterInfo,0x56a868bb,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4545.  
  4546. #if defined(__cplusplus) && !defined(CINTERFACE)
  4547.     
  4548.     MIDL_INTERFACE("56a868bb-0ad4-11ce-b03a-0020af0ba770")
  4549.     IRegFilterInfo : public IDispatch
  4550.     {
  4551.     public:
  4552.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  4553.             /* [retval][out] */ BSTR *strName) = 0;
  4554.         
  4555.         virtual HRESULT STDMETHODCALLTYPE Filter( 
  4556.             /* [out] */ IDispatch **ppUnk) = 0;
  4557.         
  4558.     };
  4559.     
  4560. #else     /* C style interface */
  4561.  
  4562.     typedef struct IRegFilterInfoVtbl
  4563.     {
  4564.         BEGIN_INTERFACE
  4565.         
  4566.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4567.             IRegFilterInfo * This,
  4568.             /* [in] */ REFIID riid,
  4569.             /* [iid_is][out] */ void **ppvObject);
  4570.         
  4571.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4572.             IRegFilterInfo * This);
  4573.         
  4574.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4575.             IRegFilterInfo * This);
  4576.         
  4577.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4578.             IRegFilterInfo * This,
  4579.             /* [out] */ UINT *pctinfo);
  4580.         
  4581.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4582.             IRegFilterInfo * This,
  4583.             /* [in] */ UINT iTInfo,
  4584.             /* [in] */ LCID lcid,
  4585.             /* [out] */ ITypeInfo **ppTInfo);
  4586.         
  4587.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4588.             IRegFilterInfo * This,
  4589.             /* [in] */ REFIID riid,
  4590.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4591.             /* [in] */ UINT cNames,
  4592.             /* [in] */ LCID lcid,
  4593.             /* [size_is][out] */ DISPID *rgDispId);
  4594.         
  4595.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4596.             IRegFilterInfo * This,
  4597.             /* [in] */ DISPID dispIdMember,
  4598.             /* [in] */ REFIID riid,
  4599.             /* [in] */ LCID lcid,
  4600.             /* [in] */ WORD wFlags,
  4601.             /* [out][in] */ DISPPARAMS *pDispParams,
  4602.             /* [out] */ VARIANT *pVarResult,
  4603.             /* [out] */ EXCEPINFO *pExcepInfo,
  4604.             /* [out] */ UINT *puArgErr);
  4605.         
  4606.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  4607.             IRegFilterInfo * This,
  4608.             /* [retval][out] */ BSTR *strName);
  4609.         
  4610.         HRESULT ( STDMETHODCALLTYPE *Filter )( 
  4611.             IRegFilterInfo * This,
  4612.             /* [out] */ IDispatch **ppUnk);
  4613.         
  4614.         END_INTERFACE
  4615.     } IRegFilterInfoVtbl;
  4616.  
  4617.     interface IRegFilterInfo
  4618.     {
  4619.         CONST_VTBL struct IRegFilterInfoVtbl *lpVtbl;
  4620.     };
  4621.  
  4622.     
  4623.  
  4624. #ifdef COBJMACROS
  4625.  
  4626.  
  4627. #define IRegFilterInfo_QueryInterface(This,riid,ppvObject)    \
  4628.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4629.  
  4630. #define IRegFilterInfo_AddRef(This)    \
  4631.     (This)->lpVtbl -> AddRef(This)
  4632.  
  4633. #define IRegFilterInfo_Release(This)    \
  4634.     (This)->lpVtbl -> Release(This)
  4635.  
  4636.  
  4637. #define IRegFilterInfo_GetTypeInfoCount(This,pctinfo)    \
  4638.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4639.  
  4640. #define IRegFilterInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4641.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4642.  
  4643. #define IRegFilterInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4644.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4645.  
  4646. #define IRegFilterInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4647.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4648.  
  4649.  
  4650. #define IRegFilterInfo_get_Name(This,strName)    \
  4651.     (This)->lpVtbl -> get_Name(This,strName)
  4652.  
  4653. #define IRegFilterInfo_Filter(This,ppUnk)    \
  4654.     (This)->lpVtbl -> Filter(This,ppUnk)
  4655.  
  4656. #endif /* COBJMACROS */
  4657.  
  4658.  
  4659. #endif     /* C style interface */
  4660.  
  4661.  
  4662.  
  4663. /* [propget] */ HRESULT STDMETHODCALLTYPE IRegFilterInfo_get_Name_Proxy( 
  4664.     IRegFilterInfo * This,
  4665.     /* [retval][out] */ BSTR *strName);
  4666.  
  4667.  
  4668. void __RPC_STUB IRegFilterInfo_get_Name_Stub(
  4669.     IRpcStubBuffer *This,
  4670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4671.     PRPC_MESSAGE _pRpcMessage,
  4672.     DWORD *_pdwStubPhase);
  4673.  
  4674.  
  4675. HRESULT STDMETHODCALLTYPE IRegFilterInfo_Filter_Proxy( 
  4676.     IRegFilterInfo * This,
  4677.     /* [out] */ IDispatch **ppUnk);
  4678.  
  4679.  
  4680. void __RPC_STUB IRegFilterInfo_Filter_Stub(
  4681.     IRpcStubBuffer *This,
  4682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4683.     PRPC_MESSAGE _pRpcMessage,
  4684.     DWORD *_pdwStubPhase);
  4685.  
  4686.  
  4687.  
  4688. #endif     /* __IRegFilterInfo_INTERFACE_DEFINED__ */
  4689.  
  4690.  
  4691. #ifndef __IMediaTypeInfo_INTERFACE_DEFINED__
  4692. #define __IMediaTypeInfo_INTERFACE_DEFINED__
  4693.  
  4694. /* interface IMediaTypeInfo */
  4695. /* [object][dual][oleautomation][helpstring][uuid] */ 
  4696.  
  4697.  
  4698. DEFINE_GUID(IID_IMediaTypeInfo,0x56a868bc,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4699.  
  4700. #if defined(__cplusplus) && !defined(CINTERFACE)
  4701.     
  4702.     MIDL_INTERFACE("56a868bc-0ad4-11ce-b03a-0020af0ba770")
  4703.     IMediaTypeInfo : public IDispatch
  4704.     {
  4705.     public:
  4706.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  4707.             /* [retval][out] */ BSTR *strType) = 0;
  4708.         
  4709.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Subtype( 
  4710.             /* [retval][out] */ BSTR *strType) = 0;
  4711.         
  4712.     };
  4713.     
  4714. #else     /* C style interface */
  4715.  
  4716.     typedef struct IMediaTypeInfoVtbl
  4717.     {
  4718.         BEGIN_INTERFACE
  4719.         
  4720.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4721.             IMediaTypeInfo * This,
  4722.             /* [in] */ REFIID riid,
  4723.             /* [iid_is][out] */ void **ppvObject);
  4724.         
  4725.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4726.             IMediaTypeInfo * This);
  4727.         
  4728.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4729.             IMediaTypeInfo * This);
  4730.         
  4731.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4732.             IMediaTypeInfo * This,
  4733.             /* [out] */ UINT *pctinfo);
  4734.         
  4735.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4736.             IMediaTypeInfo * This,
  4737.             /* [in] */ UINT iTInfo,
  4738.             /* [in] */ LCID lcid,
  4739.             /* [out] */ ITypeInfo **ppTInfo);
  4740.         
  4741.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4742.             IMediaTypeInfo * This,
  4743.             /* [in] */ REFIID riid,
  4744.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4745.             /* [in] */ UINT cNames,
  4746.             /* [in] */ LCID lcid,
  4747.             /* [size_is][out] */ DISPID *rgDispId);
  4748.         
  4749.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4750.             IMediaTypeInfo * This,
  4751.             /* [in] */ DISPID dispIdMember,
  4752.             /* [in] */ REFIID riid,
  4753.             /* [in] */ LCID lcid,
  4754.             /* [in] */ WORD wFlags,
  4755.             /* [out][in] */ DISPPARAMS *pDispParams,
  4756.             /* [out] */ VARIANT *pVarResult,
  4757.             /* [out] */ EXCEPINFO *pExcepInfo,
  4758.             /* [out] */ UINT *puArgErr);
  4759.         
  4760.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  4761.             IMediaTypeInfo * This,
  4762.             /* [retval][out] */ BSTR *strType);
  4763.         
  4764.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Subtype )( 
  4765.             IMediaTypeInfo * This,
  4766.             /* [retval][out] */ BSTR *strType);
  4767.         
  4768.         END_INTERFACE
  4769.     } IMediaTypeInfoVtbl;
  4770.  
  4771.     interface IMediaTypeInfo
  4772.     {
  4773.         CONST_VTBL struct IMediaTypeInfoVtbl *lpVtbl;
  4774.     };
  4775.  
  4776.     
  4777.  
  4778. #ifdef COBJMACROS
  4779.  
  4780.  
  4781. #define IMediaTypeInfo_QueryInterface(This,riid,ppvObject)    \
  4782.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4783.  
  4784. #define IMediaTypeInfo_AddRef(This)    \
  4785.     (This)->lpVtbl -> AddRef(This)
  4786.  
  4787. #define IMediaTypeInfo_Release(This)    \
  4788.     (This)->lpVtbl -> Release(This)
  4789.  
  4790.  
  4791. #define IMediaTypeInfo_GetTypeInfoCount(This,pctinfo)    \
  4792.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4793.  
  4794. #define IMediaTypeInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4795.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4796.  
  4797. #define IMediaTypeInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4798.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4799.  
  4800. #define IMediaTypeInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4801.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4802.  
  4803.  
  4804. #define IMediaTypeInfo_get_Type(This,strType)    \
  4805.     (This)->lpVtbl -> get_Type(This,strType)
  4806.  
  4807. #define IMediaTypeInfo_get_Subtype(This,strType)    \
  4808.     (This)->lpVtbl -> get_Subtype(This,strType)
  4809.  
  4810. #endif /* COBJMACROS */
  4811.  
  4812.  
  4813. #endif     /* C style interface */
  4814.  
  4815.  
  4816.  
  4817. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaTypeInfo_get_Type_Proxy( 
  4818.     IMediaTypeInfo * This,
  4819.     /* [retval][out] */ BSTR *strType);
  4820.  
  4821.  
  4822. void __RPC_STUB IMediaTypeInfo_get_Type_Stub(
  4823.     IRpcStubBuffer *This,
  4824.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4825.     PRPC_MESSAGE _pRpcMessage,
  4826.     DWORD *_pdwStubPhase);
  4827.  
  4828.  
  4829. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaTypeInfo_get_Subtype_Proxy( 
  4830.     IMediaTypeInfo * This,
  4831.     /* [retval][out] */ BSTR *strType);
  4832.  
  4833.  
  4834. void __RPC_STUB IMediaTypeInfo_get_Subtype_Stub(
  4835.     IRpcStubBuffer *This,
  4836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4837.     PRPC_MESSAGE _pRpcMessage,
  4838.     DWORD *_pdwStubPhase);
  4839.  
  4840.  
  4841.  
  4842. #endif     /* __IMediaTypeInfo_INTERFACE_DEFINED__ */
  4843.  
  4844.  
  4845. #ifndef __IPinInfo_INTERFACE_DEFINED__
  4846. #define __IPinInfo_INTERFACE_DEFINED__
  4847.  
  4848. /* interface IPinInfo */
  4849. /* [object][dual][oleautomation][helpstring][uuid] */ 
  4850.  
  4851.  
  4852. DEFINE_GUID(IID_IPinInfo,0x56a868bd,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4853.  
  4854. #if defined(__cplusplus) && !defined(CINTERFACE)
  4855.     
  4856.     MIDL_INTERFACE("56a868bd-0ad4-11ce-b03a-0020af0ba770")
  4857.     IPinInfo : public IDispatch
  4858.     {
  4859.     public:
  4860.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Pin( 
  4861.             /* [retval][out] */ IUnknown **ppUnk) = 0;
  4862.         
  4863.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ConnectedTo( 
  4864.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4865.         
  4866.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionMediaType( 
  4867.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4868.         
  4869.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FilterInfo( 
  4870.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4871.         
  4872.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  4873.             /* [retval][out] */ BSTR *ppUnk) = 0;
  4874.         
  4875.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
  4876.             /* [retval][out] */ LONG *ppDirection) = 0;
  4877.         
  4878.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PinID( 
  4879.             /* [retval][out] */ BSTR *strPinID) = 0;
  4880.         
  4881.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediaTypes( 
  4882.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4883.         
  4884.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  4885.             /* [in] */ IUnknown *pPin) = 0;
  4886.         
  4887.         virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 
  4888.             /* [in] */ IUnknown *pPin) = 0;
  4889.         
  4890.         virtual HRESULT STDMETHODCALLTYPE ConnectWithType( 
  4891.             /* [in] */ IUnknown *pPin,
  4892.             /* [in] */ IDispatch *pMediaType) = 0;
  4893.         
  4894.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  4895.         
  4896.         virtual HRESULT STDMETHODCALLTYPE Render( void) = 0;
  4897.         
  4898.     };
  4899.     
  4900. #else     /* C style interface */
  4901.  
  4902.     typedef struct IPinInfoVtbl
  4903.     {
  4904.         BEGIN_INTERFACE
  4905.         
  4906.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4907.             IPinInfo * This,
  4908.             /* [in] */ REFIID riid,
  4909.             /* [iid_is][out] */ void **ppvObject);
  4910.         
  4911.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4912.             IPinInfo * This);
  4913.         
  4914.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4915.             IPinInfo * This);
  4916.         
  4917.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4918.             IPinInfo * This,
  4919.             /* [out] */ UINT *pctinfo);
  4920.         
  4921.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4922.             IPinInfo * This,
  4923.             /* [in] */ UINT iTInfo,
  4924.             /* [in] */ LCID lcid,
  4925.             /* [out] */ ITypeInfo **ppTInfo);
  4926.         
  4927.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4928.             IPinInfo * This,
  4929.             /* [in] */ REFIID riid,
  4930.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4931.             /* [in] */ UINT cNames,
  4932.             /* [in] */ LCID lcid,
  4933.             /* [size_is][out] */ DISPID *rgDispId);
  4934.         
  4935.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4936.             IPinInfo * This,
  4937.             /* [in] */ DISPID dispIdMember,
  4938.             /* [in] */ REFIID riid,
  4939.             /* [in] */ LCID lcid,
  4940.             /* [in] */ WORD wFlags,
  4941.             /* [out][in] */ DISPPARAMS *pDispParams,
  4942.             /* [out] */ VARIANT *pVarResult,
  4943.             /* [out] */ EXCEPINFO *pExcepInfo,
  4944.             /* [out] */ UINT *puArgErr);
  4945.         
  4946.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pin )( 
  4947.             IPinInfo * This,
  4948.             /* [retval][out] */ IUnknown **ppUnk);
  4949.         
  4950.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedTo )( 
  4951.             IPinInfo * This,
  4952.             /* [retval][out] */ IDispatch **ppUnk);
  4953.         
  4954.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionMediaType )( 
  4955.             IPinInfo * This,
  4956.             /* [retval][out] */ IDispatch **ppUnk);
  4957.         
  4958.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FilterInfo )( 
  4959.             IPinInfo * This,
  4960.             /* [retval][out] */ IDispatch **ppUnk);
  4961.         
  4962.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  4963.             IPinInfo * This,
  4964.             /* [retval][out] */ BSTR *ppUnk);
  4965.         
  4966.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )( 
  4967.             IPinInfo * This,
  4968.             /* [retval][out] */ LONG *ppDirection);
  4969.         
  4970.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PinID )( 
  4971.             IPinInfo * This,
  4972.             /* [retval][out] */ BSTR *strPinID);
  4973.         
  4974.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediaTypes )( 
  4975.             IPinInfo * This,
  4976.             /* [retval][out] */ IDispatch **ppUnk);
  4977.         
  4978.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  4979.             IPinInfo * This,
  4980.             /* [in] */ IUnknown *pPin);
  4981.         
  4982.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  4983.             IPinInfo * This,
  4984.             /* [in] */ IUnknown *pPin);
  4985.         
  4986.         HRESULT ( STDMETHODCALLTYPE *ConnectWithType )( 
  4987.             IPinInfo * This,
  4988.             /* [in] */ IUnknown *pPin,
  4989.             /* [in] */ IDispatch *pMediaType);
  4990.         
  4991.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  4992.             IPinInfo * This);
  4993.         
  4994.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  4995.             IPinInfo * This);
  4996.         
  4997.         END_INTERFACE
  4998.     } IPinInfoVtbl;
  4999.  
  5000.     interface IPinInfo
  5001.     {
  5002.         CONST_VTBL struct IPinInfoVtbl *lpVtbl;
  5003.     };
  5004.  
  5005.     
  5006.  
  5007. #ifdef COBJMACROS
  5008.  
  5009.  
  5010. #define IPinInfo_QueryInterface(This,riid,ppvObject)    \
  5011.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5012.  
  5013. #define IPinInfo_AddRef(This)    \
  5014.     (This)->lpVtbl -> AddRef(This)
  5015.  
  5016. #define IPinInfo_Release(This)    \
  5017.     (This)->lpVtbl -> Release(This)
  5018.  
  5019.  
  5020. #define IPinInfo_GetTypeInfoCount(This,pctinfo)    \
  5021.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5022.  
  5023. #define IPinInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5024.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5025.  
  5026. #define IPinInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5027.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5028.  
  5029. #define IPinInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5030.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5031.  
  5032.  
  5033. #define IPinInfo_get_Pin(This,ppUnk)    \
  5034.     (This)->lpVtbl -> get_Pin(This,ppUnk)
  5035.  
  5036. #define IPinInfo_get_ConnectedTo(This,ppUnk)    \
  5037.     (This)->lpVtbl -> get_ConnectedTo(This,ppUnk)
  5038.  
  5039. #define IPinInfo_get_ConnectionMediaType(This,ppUnk)    \
  5040.     (This)->lpVtbl -> get_ConnectionMediaType(This,ppUnk)
  5041.  
  5042. #define IPinInfo_get_FilterInfo(This,ppUnk)    \
  5043.     (This)->lpVtbl -> get_FilterInfo(This,ppUnk)
  5044.  
  5045. #define IPinInfo_get_Name(This,ppUnk)    \
  5046.     (This)->lpVtbl -> get_Name(This,ppUnk)
  5047.  
  5048. #define IPinInfo_get_Direction(This,ppDirection)    \
  5049.     (This)->lpVtbl -> get_Direction(This,ppDirection)
  5050.  
  5051. #define IPinInfo_get_PinID(This,strPinID)    \
  5052.     (This)->lpVtbl -> get_PinID(This,strPinID)
  5053.  
  5054. #define IPinInfo_get_MediaTypes(This,ppUnk)    \
  5055.     (This)->lpVtbl -> get_MediaTypes(This,ppUnk)
  5056.  
  5057. #define IPinInfo_Connect(This,pPin)    \
  5058.     (This)->lpVtbl -> Connect(This,pPin)
  5059.  
  5060. #define IPinInfo_ConnectDirect(This,pPin)    \
  5061.     (This)->lpVtbl -> ConnectDirect(This,pPin)
  5062.  
  5063. #define IPinInfo_ConnectWithType(This,pPin,pMediaType)    \
  5064.     (This)->lpVtbl -> ConnectWithType(This,pPin,pMediaType)
  5065.  
  5066. #define IPinInfo_Disconnect(This)    \
  5067.     (This)->lpVtbl -> Disconnect(This)
  5068.  
  5069. #define IPinInfo_Render(This)    \
  5070.     (This)->lpVtbl -> Render(This)
  5071.  
  5072. #endif /* COBJMACROS */
  5073.  
  5074.  
  5075. #endif     /* C style interface */
  5076.  
  5077.  
  5078.  
  5079. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_Pin_Proxy( 
  5080.     IPinInfo * This,
  5081.     /* [retval][out] */ IUnknown **ppUnk);
  5082.  
  5083.  
  5084. void __RPC_STUB IPinInfo_get_Pin_Stub(
  5085.     IRpcStubBuffer *This,
  5086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5087.     PRPC_MESSAGE _pRpcMessage,
  5088.     DWORD *_pdwStubPhase);
  5089.  
  5090.  
  5091. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_ConnectedTo_Proxy( 
  5092.     IPinInfo * This,
  5093.     /* [retval][out] */ IDispatch **ppUnk);
  5094.  
  5095.  
  5096. void __RPC_STUB IPinInfo_get_ConnectedTo_Stub(
  5097.     IRpcStubBuffer *This,
  5098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5099.     PRPC_MESSAGE _pRpcMessage,
  5100.     DWORD *_pdwStubPhase);
  5101.  
  5102.  
  5103. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_ConnectionMediaType_Proxy( 
  5104.     IPinInfo * This,
  5105.     /* [retval][out] */ IDispatch **ppUnk);
  5106.  
  5107.  
  5108. void __RPC_STUB IPinInfo_get_ConnectionMediaType_Stub(
  5109.     IRpcStubBuffer *This,
  5110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5111.     PRPC_MESSAGE _pRpcMessage,
  5112.     DWORD *_pdwStubPhase);
  5113.  
  5114.  
  5115. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_FilterInfo_Proxy( 
  5116.     IPinInfo * This,
  5117.     /* [retval][out] */ IDispatch **ppUnk);
  5118.  
  5119.  
  5120. void __RPC_STUB IPinInfo_get_FilterInfo_Stub(
  5121.     IRpcStubBuffer *This,
  5122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5123.     PRPC_MESSAGE _pRpcMessage,
  5124.     DWORD *_pdwStubPhase);
  5125.  
  5126.  
  5127. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_Name_Proxy( 
  5128.     IPinInfo * This,
  5129.     /* [retval][out] */ BSTR *ppUnk);
  5130.  
  5131.  
  5132. void __RPC_STUB IPinInfo_get_Name_Stub(
  5133.     IRpcStubBuffer *This,
  5134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5135.     PRPC_MESSAGE _pRpcMessage,
  5136.     DWORD *_pdwStubPhase);
  5137.  
  5138.  
  5139. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_Direction_Proxy( 
  5140.     IPinInfo * This,
  5141.     /* [retval][out] */ LONG *ppDirection);
  5142.  
  5143.  
  5144. void __RPC_STUB IPinInfo_get_Direction_Stub(
  5145.     IRpcStubBuffer *This,
  5146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5147.     PRPC_MESSAGE _pRpcMessage,
  5148.     DWORD *_pdwStubPhase);
  5149.  
  5150.  
  5151. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_PinID_Proxy( 
  5152.     IPinInfo * This,
  5153.     /* [retval][out] */ BSTR *strPinID);
  5154.  
  5155.  
  5156. void __RPC_STUB IPinInfo_get_PinID_Stub(
  5157.     IRpcStubBuffer *This,
  5158.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5159.     PRPC_MESSAGE _pRpcMessage,
  5160.     DWORD *_pdwStubPhase);
  5161.  
  5162.  
  5163. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_MediaTypes_Proxy( 
  5164.     IPinInfo * This,
  5165.     /* [retval][out] */ IDispatch **ppUnk);
  5166.  
  5167.  
  5168. void __RPC_STUB IPinInfo_get_MediaTypes_Stub(
  5169.     IRpcStubBuffer *This,
  5170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5171.     PRPC_MESSAGE _pRpcMessage,
  5172.     DWORD *_pdwStubPhase);
  5173.  
  5174.  
  5175. HRESULT STDMETHODCALLTYPE IPinInfo_Connect_Proxy( 
  5176.     IPinInfo * This,
  5177.     /* [in] */ IUnknown *pPin);
  5178.  
  5179.  
  5180. void __RPC_STUB IPinInfo_Connect_Stub(
  5181.     IRpcStubBuffer *This,
  5182.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5183.     PRPC_MESSAGE _pRpcMessage,
  5184.     DWORD *_pdwStubPhase);
  5185.  
  5186.  
  5187. HRESULT STDMETHODCALLTYPE IPinInfo_ConnectDirect_Proxy( 
  5188.     IPinInfo * This,
  5189.     /* [in] */ IUnknown *pPin);
  5190.  
  5191.  
  5192. void __RPC_STUB IPinInfo_ConnectDirect_Stub(
  5193.     IRpcStubBuffer *This,
  5194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5195.     PRPC_MESSAGE _pRpcMessage,
  5196.     DWORD *_pdwStubPhase);
  5197.  
  5198.  
  5199. HRESULT STDMETHODCALLTYPE IPinInfo_ConnectWithType_Proxy( 
  5200.     IPinInfo * This,
  5201.     /* [in] */ IUnknown *pPin,
  5202.     /* [in] */ IDispatch *pMediaType);
  5203.  
  5204.  
  5205. void __RPC_STUB IPinInfo_ConnectWithType_Stub(
  5206.     IRpcStubBuffer *This,
  5207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5208.     PRPC_MESSAGE _pRpcMessage,
  5209.     DWORD *_pdwStubPhase);
  5210.  
  5211.  
  5212. HRESULT STDMETHODCALLTYPE IPinInfo_Disconnect_Proxy( 
  5213.     IPinInfo * This);
  5214.  
  5215.  
  5216. void __RPC_STUB IPinInfo_Disconnect_Stub(
  5217.     IRpcStubBuffer *This,
  5218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5219.     PRPC_MESSAGE _pRpcMessage,
  5220.     DWORD *_pdwStubPhase);
  5221.  
  5222.  
  5223. HRESULT STDMETHODCALLTYPE IPinInfo_Render_Proxy( 
  5224.     IPinInfo * This);
  5225.  
  5226.  
  5227. void __RPC_STUB IPinInfo_Render_Stub(
  5228.     IRpcStubBuffer *This,
  5229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5230.     PRPC_MESSAGE _pRpcMessage,
  5231.     DWORD *_pdwStubPhase);
  5232.  
  5233.  
  5234.  
  5235. #endif     /* __IPinInfo_INTERFACE_DEFINED__ */
  5236.  
  5237.  
  5238. #ifndef __IAMStats_INTERFACE_DEFINED__
  5239. #define __IAMStats_INTERFACE_DEFINED__
  5240.  
  5241. /* interface IAMStats */
  5242. /* [object][dual][oleautomation][helpstring][uuid] */ 
  5243.  
  5244.  
  5245. DEFINE_GUID(IID_IAMStats,0xbc9bcf80,0xdcd2,0x11d2,0xab,0xf6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
  5246.  
  5247. #if defined(__cplusplus) && !defined(CINTERFACE)
  5248.     
  5249.     MIDL_INTERFACE("bc9bcf80-dcd2-11d2-abf6-00a0c905f375")
  5250.     IAMStats : public IDispatch
  5251.     {
  5252.     public:
  5253.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5254.         
  5255.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  5256.             /* [retval][out] */ LONG *plCount) = 0;
  5257.         
  5258.         virtual HRESULT STDMETHODCALLTYPE GetValueByIndex( 
  5259.             /* [in] */ long lIndex,
  5260.             /* [out] */ BSTR *szName,
  5261.             /* [out] */ long *lCount,
  5262.             /* [out] */ double *dLast,
  5263.             /* [out] */ double *dAverage,
  5264.             /* [out] */ double *dStdDev,
  5265.             /* [out] */ double *dMin,
  5266.             /* [out] */ double *dMax) = 0;
  5267.         
  5268.         virtual HRESULT STDMETHODCALLTYPE GetValueByName( 
  5269.             /* [in] */ BSTR szName,
  5270.             /* [out] */ long *lIndex,
  5271.             /* [out] */ long *lCount,
  5272.             /* [out] */ double *dLast,
  5273.             /* [out] */ double *dAverage,
  5274.             /* [out] */ double *dStdDev,
  5275.             /* [out] */ double *dMin,
  5276.             /* [out] */ double *dMax) = 0;
  5277.         
  5278.         virtual HRESULT STDMETHODCALLTYPE GetIndex( 
  5279.             /* [in] */ BSTR szName,
  5280.             /* [in] */ long lCreate,
  5281.             /* [out] */ long *plIndex) = 0;
  5282.         
  5283.         virtual HRESULT STDMETHODCALLTYPE AddValue( 
  5284.             /* [in] */ long lIndex,
  5285.             /* [in] */ double dValue) = 0;
  5286.         
  5287.     };
  5288.     
  5289. #else     /* C style interface */
  5290.  
  5291.     typedef struct IAMStatsVtbl
  5292.     {
  5293.         BEGIN_INTERFACE
  5294.         
  5295.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5296.             IAMStats * This,
  5297.             /* [in] */ REFIID riid,
  5298.             /* [iid_is][out] */ void **ppvObject);
  5299.         
  5300.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5301.             IAMStats * This);
  5302.         
  5303.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5304.             IAMStats * This);
  5305.         
  5306.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  5307.             IAMStats * This,
  5308.             /* [out] */ UINT *pctinfo);
  5309.         
  5310.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  5311.             IAMStats * This,
  5312.             /* [in] */ UINT iTInfo,
  5313.             /* [in] */ LCID lcid,
  5314.             /* [out] */ ITypeInfo **ppTInfo);
  5315.         
  5316.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  5317.             IAMStats * This,
  5318.             /* [in] */ REFIID riid,
  5319.             /* [size_is][in] */ LPOLESTR *rgszNames,
  5320.             /* [in] */ UINT cNames,
  5321.             /* [in] */ LCID lcid,
  5322.             /* [size_is][out] */ DISPID *rgDispId);
  5323.         
  5324.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  5325.             IAMStats * This,
  5326.             /* [in] */ DISPID dispIdMember,
  5327.             /* [in] */ REFIID riid,
  5328.             /* [in] */ LCID lcid,
  5329.             /* [in] */ WORD wFlags,
  5330.             /* [out][in] */ DISPPARAMS *pDispParams,
  5331.             /* [out] */ VARIANT *pVarResult,
  5332.             /* [out] */ EXCEPINFO *pExcepInfo,
  5333.             /* [out] */ UINT *puArgErr);
  5334.         
  5335.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  5336.             IAMStats * This);
  5337.         
  5338.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  5339.             IAMStats * This,
  5340.             /* [retval][out] */ LONG *plCount);
  5341.         
  5342.         HRESULT ( STDMETHODCALLTYPE *GetValueByIndex )( 
  5343.             IAMStats * This,
  5344.             /* [in] */ long lIndex,
  5345.             /* [out] */ BSTR *szName,
  5346.             /* [out] */ long *lCount,
  5347.             /* [out] */ double *dLast,
  5348.             /* [out] */ double *dAverage,
  5349.             /* [out] */ double *dStdDev,
  5350.             /* [out] */ double *dMin,
  5351.             /* [out] */ double *dMax);
  5352.         
  5353.         HRESULT ( STDMETHODCALLTYPE *GetValueByName )( 
  5354.             IAMStats * This,
  5355.             /* [in] */ BSTR szName,
  5356.             /* [out] */ long *lIndex,
  5357.             /* [out] */ long *lCount,
  5358.             /* [out] */ double *dLast,
  5359.             /* [out] */ double *dAverage,
  5360.             /* [out] */ double *dStdDev,
  5361.             /* [out] */ double *dMin,
  5362.             /* [out] */ double *dMax);
  5363.         
  5364.         HRESULT ( STDMETHODCALLTYPE *GetIndex )( 
  5365.             IAMStats * This,
  5366.             /* [in] */ BSTR szName,
  5367.             /* [in] */ long lCreate,
  5368.             /* [out] */ long *plIndex);
  5369.         
  5370.         HRESULT ( STDMETHODCALLTYPE *AddValue )( 
  5371.             IAMStats * This,
  5372.             /* [in] */ long lIndex,
  5373.             /* [in] */ double dValue);
  5374.         
  5375.         END_INTERFACE
  5376.     } IAMStatsVtbl;
  5377.  
  5378.     interface IAMStats
  5379.     {
  5380.         CONST_VTBL struct IAMStatsVtbl *lpVtbl;
  5381.     };
  5382.  
  5383.     
  5384.  
  5385. #ifdef COBJMACROS
  5386.  
  5387.  
  5388. #define IAMStats_QueryInterface(This,riid,ppvObject)    \
  5389.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5390.  
  5391. #define IAMStats_AddRef(This)    \
  5392.     (This)->lpVtbl -> AddRef(This)
  5393.  
  5394. #define IAMStats_Release(This)    \
  5395.     (This)->lpVtbl -> Release(This)
  5396.  
  5397.  
  5398. #define IAMStats_GetTypeInfoCount(This,pctinfo)    \
  5399.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5400.  
  5401. #define IAMStats_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5402.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5403.  
  5404. #define IAMStats_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5405.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5406.  
  5407. #define IAMStats_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5408.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5409.  
  5410.  
  5411. #define IAMStats_Reset(This)    \
  5412.     (This)->lpVtbl -> Reset(This)
  5413.  
  5414. #define IAMStats_get_Count(This,plCount)    \
  5415.     (This)->lpVtbl -> get_Count(This,plCount)
  5416.  
  5417. #define IAMStats_GetValueByIndex(This,lIndex,szName,lCount,dLast,dAverage,dStdDev,dMin,dMax)    \
  5418.     (This)->lpVtbl -> GetValueByIndex(This,lIndex,szName,lCount,dLast,dAverage,dStdDev,dMin,dMax)
  5419.  
  5420. #define IAMStats_GetValueByName(This,szName,lIndex,lCount,dLast,dAverage,dStdDev,dMin,dMax)    \
  5421.     (This)->lpVtbl -> GetValueByName(This,szName,lIndex,lCount,dLast,dAverage,dStdDev,dMin,dMax)
  5422.  
  5423. #define IAMStats_GetIndex(This,szName,lCreate,plIndex)    \
  5424.     (This)->lpVtbl -> GetIndex(This,szName,lCreate,plIndex)
  5425.  
  5426. #define IAMStats_AddValue(This,lIndex,dValue)    \
  5427.     (This)->lpVtbl -> AddValue(This,lIndex,dValue)
  5428.  
  5429. #endif /* COBJMACROS */
  5430.  
  5431.  
  5432. #endif     /* C style interface */
  5433.  
  5434.  
  5435.  
  5436. HRESULT STDMETHODCALLTYPE IAMStats_Reset_Proxy( 
  5437.     IAMStats * This);
  5438.  
  5439.  
  5440. void __RPC_STUB IAMStats_Reset_Stub(
  5441.     IRpcStubBuffer *This,
  5442.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5443.     PRPC_MESSAGE _pRpcMessage,
  5444.     DWORD *_pdwStubPhase);
  5445.  
  5446.  
  5447. /* [propget] */ HRESULT STDMETHODCALLTYPE IAMStats_get_Count_Proxy( 
  5448.     IAMStats * This,
  5449.     /* [retval][out] */ LONG *plCount);
  5450.  
  5451.  
  5452. void __RPC_STUB IAMStats_get_Count_Stub(
  5453.     IRpcStubBuffer *This,
  5454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5455.     PRPC_MESSAGE _pRpcMessage,
  5456.     DWORD *_pdwStubPhase);
  5457.  
  5458.  
  5459. HRESULT STDMETHODCALLTYPE IAMStats_GetValueByIndex_Proxy( 
  5460.     IAMStats * This,
  5461.     /* [in] */ long lIndex,
  5462.     /* [out] */ BSTR *szName,
  5463.     /* [out] */ long *lCount,
  5464.     /* [out] */ double *dLast,
  5465.     /* [out] */ double *dAverage,
  5466.     /* [out] */ double *dStdDev,
  5467.     /* [out] */ double *dMin,
  5468.     /* [out] */ double *dMax);
  5469.  
  5470.  
  5471. void __RPC_STUB IAMStats_GetValueByIndex_Stub(
  5472.     IRpcStubBuffer *This,
  5473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5474.     PRPC_MESSAGE _pRpcMessage,
  5475.     DWORD *_pdwStubPhase);
  5476.  
  5477.  
  5478. HRESULT STDMETHODCALLTYPE IAMStats_GetValueByName_Proxy( 
  5479.     IAMStats * This,
  5480.     /* [in] */ BSTR szName,
  5481.     /* [out] */ long *lIndex,
  5482.     /* [out] */ long *lCount,
  5483.     /* [out] */ double *dLast,
  5484.     /* [out] */ double *dAverage,
  5485.     /* [out] */ double *dStdDev,
  5486.     /* [out] */ double *dMin,
  5487.     /* [out] */ double *dMax);
  5488.  
  5489.  
  5490. void __RPC_STUB IAMStats_GetValueByName_Stub(
  5491.     IRpcStubBuffer *This,
  5492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5493.     PRPC_MESSAGE _pRpcMessage,
  5494.     DWORD *_pdwStubPhase);
  5495.  
  5496.  
  5497. HRESULT STDMETHODCALLTYPE IAMStats_GetIndex_Proxy( 
  5498.     IAMStats * This,
  5499.     /* [in] */ BSTR szName,
  5500.     /* [in] */ long lCreate,
  5501.     /* [out] */ long *plIndex);
  5502.  
  5503.  
  5504. void __RPC_STUB IAMStats_GetIndex_Stub(
  5505.     IRpcStubBuffer *This,
  5506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5507.     PRPC_MESSAGE _pRpcMessage,
  5508.     DWORD *_pdwStubPhase);
  5509.  
  5510.  
  5511. HRESULT STDMETHODCALLTYPE IAMStats_AddValue_Proxy( 
  5512.     IAMStats * This,
  5513.     /* [in] */ long lIndex,
  5514.     /* [in] */ double dValue);
  5515.  
  5516.  
  5517. void __RPC_STUB IAMStats_AddValue_Stub(
  5518.     IRpcStubBuffer *This,
  5519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5520.     PRPC_MESSAGE _pRpcMessage,
  5521.     DWORD *_pdwStubPhase);
  5522.  
  5523.  
  5524.  
  5525. #endif     /* __IAMStats_INTERFACE_DEFINED__ */
  5526.  
  5527. #endif /* __QuartzTypeLib_LIBRARY_DEFINED__ */
  5528.  
  5529. /* Additional Prototypes for ALL interfaces */
  5530.  
  5531. /* end of Additional Prototypes */
  5532.  
  5533. #ifdef __cplusplus
  5534. }
  5535. #endif
  5536.  
  5537. #endif
  5538.  
  5539.  
  5540.