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

模拟服务器

开发平台:

C/C++

  1. #endif /* COBJMACROS */
  2. #endif  /* C style interface */
  3. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidInputDevice_IsViewable_Proxy( 
  4.     IMSVidInputDevice * This,
  5.     /* [in] */ VARIANT *v,
  6.     /* [retval][out] */ VARIANT_BOOL *pfViewable);
  7. void __RPC_STUB IMSVidInputDevice_IsViewable_Stub(
  8.     IRpcStubBuffer *This,
  9.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10.     PRPC_MESSAGE _pRpcMessage,
  11.     DWORD *_pdwStubPhase);
  12. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidInputDevice_View_Proxy( 
  13.     IMSVidInputDevice * This,
  14.     /* [in] */ VARIANT *v);
  15. void __RPC_STUB IMSVidInputDevice_View_Stub(
  16.     IRpcStubBuffer *This,
  17.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18.     PRPC_MESSAGE _pRpcMessage,
  19.     DWORD *_pdwStubPhase);
  20. #endif  /* __IMSVidInputDevice_INTERFACE_DEFINED__ */
  21. #ifndef __IMSVidDeviceEvent_INTERFACE_DEFINED__
  22. #define __IMSVidDeviceEvent_INTERFACE_DEFINED__
  23. /* interface IMSVidDeviceEvent */
  24. /* [unique][helpstring][uuid][oleautomation][object] */ 
  25. EXTERN_C const IID IID_IMSVidDeviceEvent;
  26. #if defined(__cplusplus) && !defined(CINTERFACE)
  27.     
  28.     MIDL_INTERFACE("1C15D480-911D-11d2-B632-00C04F79498E")
  29.     IMSVidDeviceEvent : public IDispatch
  30.     {
  31.     public:
  32.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE StateChange( 
  33.             /* [in] */ IMSVidDevice *lpd,
  34.             /* [in] */ long oldState,
  35.             /* [in] */ long newState) = 0;
  36.         
  37.     };
  38.     
  39. #else  /* C style interface */
  40.     typedef struct IMSVidDeviceEventVtbl
  41.     {
  42.         BEGIN_INTERFACE
  43.         
  44.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  45.             IMSVidDeviceEvent * This,
  46.             /* [in] */ REFIID riid,
  47.             /* [iid_is][out] */ void **ppvObject);
  48.         
  49.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  50.             IMSVidDeviceEvent * This);
  51.         
  52.         ULONG ( STDMETHODCALLTYPE *Release )( 
  53.             IMSVidDeviceEvent * This);
  54.         
  55.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  56.             IMSVidDeviceEvent * This,
  57.             /* [out] */ UINT *pctinfo);
  58.         
  59.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  60.             IMSVidDeviceEvent * This,
  61.             /* [in] */ UINT iTInfo,
  62.             /* [in] */ LCID lcid,
  63.             /* [out] */ ITypeInfo **ppTInfo);
  64.         
  65.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  66.             IMSVidDeviceEvent * This,
  67.             /* [in] */ REFIID riid,
  68.             /* [size_is][in] */ LPOLESTR *rgszNames,
  69.             /* [in] */ UINT cNames,
  70.             /* [in] */ LCID lcid,
  71.             /* [size_is][out] */ DISPID *rgDispId);
  72.         
  73.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  74.             IMSVidDeviceEvent * This,
  75.             /* [in] */ DISPID dispIdMember,
  76.             /* [in] */ REFIID riid,
  77.             /* [in] */ LCID lcid,
  78.             /* [in] */ WORD wFlags,
  79.             /* [out][in] */ DISPPARAMS *pDispParams,
  80.             /* [out] */ VARIANT *pVarResult,
  81.             /* [out] */ EXCEPINFO *pExcepInfo,
  82.             /* [out] */ UINT *puArgErr);
  83.         
  84.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *StateChange )( 
  85.             IMSVidDeviceEvent * This,
  86.             /* [in] */ IMSVidDevice *lpd,
  87.             /* [in] */ long oldState,
  88.             /* [in] */ long newState);
  89.         
  90.         END_INTERFACE
  91.     } IMSVidDeviceEventVtbl;
  92.     interface IMSVidDeviceEvent
  93.     {
  94.         CONST_VTBL struct IMSVidDeviceEventVtbl *lpVtbl;
  95.     };
  96.     
  97. #ifdef COBJMACROS
  98. #define IMSVidDeviceEvent_QueryInterface(This,riid,ppvObject)
  99.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  100. #define IMSVidDeviceEvent_AddRef(This)
  101.     (This)->lpVtbl -> AddRef(This)
  102. #define IMSVidDeviceEvent_Release(This)
  103.     (This)->lpVtbl -> Release(This)
  104. #define IMSVidDeviceEvent_GetTypeInfoCount(This,pctinfo)
  105.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  106. #define IMSVidDeviceEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  107.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  108. #define IMSVidDeviceEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  109.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  110. #define IMSVidDeviceEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  111.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  112. #define IMSVidDeviceEvent_StateChange(This,lpd,oldState,newState)
  113.     (This)->lpVtbl -> StateChange(This,lpd,oldState,newState)
  114. #endif /* COBJMACROS */
  115. #endif  /* C style interface */
  116. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidDeviceEvent_StateChange_Proxy( 
  117.     IMSVidDeviceEvent * This,
  118.     /* [in] */ IMSVidDevice *lpd,
  119.     /* [in] */ long oldState,
  120.     /* [in] */ long newState);
  121. void __RPC_STUB IMSVidDeviceEvent_StateChange_Stub(
  122.     IRpcStubBuffer *This,
  123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  124.     PRPC_MESSAGE _pRpcMessage,
  125.     DWORD *_pdwStubPhase);
  126. #endif  /* __IMSVidDeviceEvent_INTERFACE_DEFINED__ */
  127. #ifndef __IMSVidInputDeviceEvent_INTERFACE_DEFINED__
  128. #define __IMSVidInputDeviceEvent_INTERFACE_DEFINED__
  129. /* interface IMSVidInputDeviceEvent */
  130. /* [unique][helpstring][uuid][oleautomation][object] */ 
  131. EXTERN_C const IID IID_IMSVidInputDeviceEvent;
  132. #if defined(__cplusplus) && !defined(CINTERFACE)
  133.     
  134.     MIDL_INTERFACE("37B0353E-A4C8-11d2-B634-00C04F79498E")
  135.     IMSVidInputDeviceEvent : public IDispatch
  136.     {
  137.     public:
  138.     };
  139.     
  140. #else  /* C style interface */
  141.     typedef struct IMSVidInputDeviceEventVtbl
  142.     {
  143.         BEGIN_INTERFACE
  144.         
  145.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  146.             IMSVidInputDeviceEvent * This,
  147.             /* [in] */ REFIID riid,
  148.             /* [iid_is][out] */ void **ppvObject);
  149.         
  150.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  151.             IMSVidInputDeviceEvent * This);
  152.         
  153.         ULONG ( STDMETHODCALLTYPE *Release )( 
  154.             IMSVidInputDeviceEvent * This);
  155.         
  156.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  157.             IMSVidInputDeviceEvent * This,
  158.             /* [out] */ UINT *pctinfo);
  159.         
  160.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  161.             IMSVidInputDeviceEvent * This,
  162.             /* [in] */ UINT iTInfo,
  163.             /* [in] */ LCID lcid,
  164.             /* [out] */ ITypeInfo **ppTInfo);
  165.         
  166.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  167.             IMSVidInputDeviceEvent * This,
  168.             /* [in] */ REFIID riid,
  169.             /* [size_is][in] */ LPOLESTR *rgszNames,
  170.             /* [in] */ UINT cNames,
  171.             /* [in] */ LCID lcid,
  172.             /* [size_is][out] */ DISPID *rgDispId);
  173.         
  174.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  175.             IMSVidInputDeviceEvent * This,
  176.             /* [in] */ DISPID dispIdMember,
  177.             /* [in] */ REFIID riid,
  178.             /* [in] */ LCID lcid,
  179.             /* [in] */ WORD wFlags,
  180.             /* [out][in] */ DISPPARAMS *pDispParams,
  181.             /* [out] */ VARIANT *pVarResult,
  182.             /* [out] */ EXCEPINFO *pExcepInfo,
  183.             /* [out] */ UINT *puArgErr);
  184.         
  185.         END_INTERFACE
  186.     } IMSVidInputDeviceEventVtbl;
  187.     interface IMSVidInputDeviceEvent
  188.     {
  189.         CONST_VTBL struct IMSVidInputDeviceEventVtbl *lpVtbl;
  190.     };
  191.     
  192. #ifdef COBJMACROS
  193. #define IMSVidInputDeviceEvent_QueryInterface(This,riid,ppvObject)
  194.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  195. #define IMSVidInputDeviceEvent_AddRef(This)
  196.     (This)->lpVtbl -> AddRef(This)
  197. #define IMSVidInputDeviceEvent_Release(This)
  198.     (This)->lpVtbl -> Release(This)
  199. #define IMSVidInputDeviceEvent_GetTypeInfoCount(This,pctinfo)
  200.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  201. #define IMSVidInputDeviceEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  202.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  203. #define IMSVidInputDeviceEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  204.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  205. #define IMSVidInputDeviceEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  206.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  207. #endif /* COBJMACROS */
  208. #endif  /* C style interface */
  209. #endif  /* __IMSVidInputDeviceEvent_INTERFACE_DEFINED__ */
  210. #ifndef __IMSVidVideoInputDevice_INTERFACE_DEFINED__
  211. #define __IMSVidVideoInputDevice_INTERFACE_DEFINED__
  212. /* interface IMSVidVideoInputDevice */
  213. /* [unique][helpstring][uuid][oleautomation][dual][object] */ 
  214. EXTERN_C const IID IID_IMSVidVideoInputDevice;
  215. #if defined(__cplusplus) && !defined(CINTERFACE)
  216.     
  217.     MIDL_INTERFACE("1C15D47F-911D-11d2-B632-00C04F79498E")
  218.     IMSVidVideoInputDevice : public IMSVidInputDevice
  219.     {
  220.     public:
  221.     };
  222.     
  223. #else  /* C style interface */
  224.     typedef struct IMSVidVideoInputDeviceVtbl
  225.     {
  226.         BEGIN_INTERFACE
  227.         
  228.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  229.             IMSVidVideoInputDevice * This,
  230.             /* [in] */ REFIID riid,
  231.             /* [iid_is][out] */ void **ppvObject);
  232.         
  233.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  234.             IMSVidVideoInputDevice * This);
  235.         
  236.         ULONG ( STDMETHODCALLTYPE *Release )( 
  237.             IMSVidVideoInputDevice * This);
  238.         
  239.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  240.             IMSVidVideoInputDevice * This,
  241.             /* [out] */ UINT *pctinfo);
  242.         
  243.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  244.             IMSVidVideoInputDevice * This,
  245.             /* [in] */ UINT iTInfo,
  246.             /* [in] */ LCID lcid,
  247.             /* [out] */ ITypeInfo **ppTInfo);
  248.         
  249.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  250.             IMSVidVideoInputDevice * This,
  251.             /* [in] */ REFIID riid,
  252.             /* [size_is][in] */ LPOLESTR *rgszNames,
  253.             /* [in] */ UINT cNames,
  254.             /* [in] */ LCID lcid,
  255.             /* [size_is][out] */ DISPID *rgDispId);
  256.         
  257.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  258.             IMSVidVideoInputDevice * This,
  259.             /* [in] */ DISPID dispIdMember,
  260.             /* [in] */ REFIID riid,
  261.             /* [in] */ LCID lcid,
  262.             /* [in] */ WORD wFlags,
  263.             /* [out][in] */ DISPPARAMS *pDispParams,
  264.             /* [out] */ VARIANT *pVarResult,
  265.             /* [out] */ EXCEPINFO *pExcepInfo,
  266.             /* [out] */ UINT *puArgErr);
  267.         
  268.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  269.             IMSVidVideoInputDevice * This,
  270.             /* [retval][out] */ BSTR *Name);
  271.         
  272.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  273.             IMSVidVideoInputDevice * This,
  274.             /* [retval][out] */ long *Status);
  275.         
  276.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  277.             IMSVidVideoInputDevice * This,
  278.             /* [in] */ VARIANT_BOOL Power);
  279.         
  280.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  281.             IMSVidVideoInputDevice * This,
  282.             /* [out][retval] */ VARIANT_BOOL *Power);
  283.         
  284.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  285.             IMSVidVideoInputDevice * This,
  286.             /* [retval][out] */ BSTR *Guid);
  287.         
  288.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  289.             IMSVidVideoInputDevice * This,
  290.             /* [retval][out] */ BSTR *Clsid);
  291.         
  292.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  293.             IMSVidVideoInputDevice * This,
  294.             /* [retval][out] */ GUID *Guid);
  295.         
  296.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  297.             IMSVidVideoInputDevice * This,
  298.             /* [retval][out] */ GUID *Clsid);
  299.         
  300.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  301.             IMSVidVideoInputDevice * This,
  302.             /* [in] */ IMSVidDevice *Device,
  303.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  304.         
  305.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsViewable )( 
  306.             IMSVidVideoInputDevice * This,
  307.             /* [in] */ VARIANT *v,
  308.             /* [retval][out] */ VARIANT_BOOL *pfViewable);
  309.         
  310.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
  311.             IMSVidVideoInputDevice * This,
  312.             /* [in] */ VARIANT *v);
  313.         
  314.         END_INTERFACE
  315.     } IMSVidVideoInputDeviceVtbl;
  316.     interface IMSVidVideoInputDevice
  317.     {
  318.         CONST_VTBL struct IMSVidVideoInputDeviceVtbl *lpVtbl;
  319.     };
  320.     
  321. #ifdef COBJMACROS
  322. #define IMSVidVideoInputDevice_QueryInterface(This,riid,ppvObject)
  323.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  324. #define IMSVidVideoInputDevice_AddRef(This)
  325.     (This)->lpVtbl -> AddRef(This)
  326. #define IMSVidVideoInputDevice_Release(This)
  327.     (This)->lpVtbl -> Release(This)
  328. #define IMSVidVideoInputDevice_GetTypeInfoCount(This,pctinfo)
  329.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  330. #define IMSVidVideoInputDevice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  331.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  332. #define IMSVidVideoInputDevice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  333.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  334. #define IMSVidVideoInputDevice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  335.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  336. #define IMSVidVideoInputDevice_get_Name(This,Name)
  337.     (This)->lpVtbl -> get_Name(This,Name)
  338. #define IMSVidVideoInputDevice_get_Status(This,Status)
  339.     (This)->lpVtbl -> get_Status(This,Status)
  340. #define IMSVidVideoInputDevice_put_Power(This,Power)
  341.     (This)->lpVtbl -> put_Power(This,Power)
  342. #define IMSVidVideoInputDevice_get_Power(This,Power)
  343.     (This)->lpVtbl -> get_Power(This,Power)
  344. #define IMSVidVideoInputDevice_get_Category(This,Guid)
  345.     (This)->lpVtbl -> get_Category(This,Guid)
  346. #define IMSVidVideoInputDevice_get_ClassID(This,Clsid)
  347.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  348. #define IMSVidVideoInputDevice_get__Category(This,Guid)
  349.     (This)->lpVtbl -> get__Category(This,Guid)
  350. #define IMSVidVideoInputDevice_get__ClassID(This,Clsid)
  351.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  352. #define IMSVidVideoInputDevice_IsEqualDevice(This,Device,IsEqual)
  353.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  354. #define IMSVidVideoInputDevice_IsViewable(This,v,pfViewable)
  355.     (This)->lpVtbl -> IsViewable(This,v,pfViewable)
  356. #define IMSVidVideoInputDevice_View(This,v)
  357.     (This)->lpVtbl -> View(This,v)
  358. #endif /* COBJMACROS */
  359. #endif  /* C style interface */
  360. #endif  /* __IMSVidVideoInputDevice_INTERFACE_DEFINED__ */
  361. #ifndef __IMSVidPlayback_INTERFACE_DEFINED__
  362. #define __IMSVidPlayback_INTERFACE_DEFINED__
  363. /* interface IMSVidPlayback */
  364. /* [unique][helpstring][uuid][oleautomation][dual][object] */ 
  365. EXTERN_C const IID IID_IMSVidPlayback;
  366. #if defined(__cplusplus) && !defined(CINTERFACE)
  367.     
  368.     MIDL_INTERFACE("37B03538-A4C8-11d2-B634-00C04F79498E")
  369.     IMSVidPlayback : public IMSVidInputDevice
  370.     {
  371.     public:
  372.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EnableResetOnStop( 
  373.             /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  374.         
  375.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnableResetOnStop( 
  376.             /* [in] */ VARIANT_BOOL newVal) = 0;
  377.         
  378.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Run( void) = 0;
  379.         
  380.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  381.         
  382.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  383.         
  384.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CanStep( 
  385.             /* [in] */ VARIANT_BOOL fBackwards,
  386.             /* [retval][out] */ VARIANT_BOOL *pfCan) = 0;
  387.         
  388.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Step( 
  389.             /* [in] */ long lStep) = 0;
  390.         
  391.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rate( 
  392.             /* [in] */ double plRate) = 0;
  393.         
  394.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rate( 
  395.             /* [retval][out] */ double *plRate) = 0;
  396.         
  397.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentPosition( 
  398.             /* [in] */ long lPosition) = 0;
  399.         
  400.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentPosition( 
  401.             /* [retval][out] */ long *lPosition) = 0;
  402.         
  403.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PositionMode( 
  404.             /* [in] */ PositionModeList lPositionMode) = 0;
  405.         
  406.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PositionMode( 
  407.             /* [retval][out] */ PositionModeList *lPositionMode) = 0;
  408.         
  409.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
  410.             /* [retval][out] */ long *lLength) = 0;
  411.         
  412.     };
  413.     
  414. #else  /* C style interface */
  415.     typedef struct IMSVidPlaybackVtbl
  416.     {
  417.         BEGIN_INTERFACE
  418.         
  419.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  420.             IMSVidPlayback * This,
  421.             /* [in] */ REFIID riid,
  422.             /* [iid_is][out] */ void **ppvObject);
  423.         
  424.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  425.             IMSVidPlayback * This);
  426.         
  427.         ULONG ( STDMETHODCALLTYPE *Release )( 
  428.             IMSVidPlayback * This);
  429.         
  430.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  431.             IMSVidPlayback * This,
  432.             /* [out] */ UINT *pctinfo);
  433.         
  434.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  435.             IMSVidPlayback * This,
  436.             /* [in] */ UINT iTInfo,
  437.             /* [in] */ LCID lcid,
  438.             /* [out] */ ITypeInfo **ppTInfo);
  439.         
  440.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  441.             IMSVidPlayback * This,
  442.             /* [in] */ REFIID riid,
  443.             /* [size_is][in] */ LPOLESTR *rgszNames,
  444.             /* [in] */ UINT cNames,
  445.             /* [in] */ LCID lcid,
  446.             /* [size_is][out] */ DISPID *rgDispId);
  447.         
  448.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  449.             IMSVidPlayback * This,
  450.             /* [in] */ DISPID dispIdMember,
  451.             /* [in] */ REFIID riid,
  452.             /* [in] */ LCID lcid,
  453.             /* [in] */ WORD wFlags,
  454.             /* [out][in] */ DISPPARAMS *pDispParams,
  455.             /* [out] */ VARIANT *pVarResult,
  456.             /* [out] */ EXCEPINFO *pExcepInfo,
  457.             /* [out] */ UINT *puArgErr);
  458.         
  459.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  460.             IMSVidPlayback * This,
  461.             /* [retval][out] */ BSTR *Name);
  462.         
  463.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  464.             IMSVidPlayback * This,
  465.             /* [retval][out] */ long *Status);
  466.         
  467.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  468.             IMSVidPlayback * This,
  469.             /* [in] */ VARIANT_BOOL Power);
  470.         
  471.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  472.             IMSVidPlayback * This,
  473.             /* [out][retval] */ VARIANT_BOOL *Power);
  474.         
  475.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  476.             IMSVidPlayback * This,
  477.             /* [retval][out] */ BSTR *Guid);
  478.         
  479.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  480.             IMSVidPlayback * This,
  481.             /* [retval][out] */ BSTR *Clsid);
  482.         
  483.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  484.             IMSVidPlayback * This,
  485.             /* [retval][out] */ GUID *Guid);
  486.         
  487.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  488.             IMSVidPlayback * This,
  489.             /* [retval][out] */ GUID *Clsid);
  490.         
  491.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  492.             IMSVidPlayback * This,
  493.             /* [in] */ IMSVidDevice *Device,
  494.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  495.         
  496.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsViewable )( 
  497.             IMSVidPlayback * This,
  498.             /* [in] */ VARIANT *v,
  499.             /* [retval][out] */ VARIANT_BOOL *pfViewable);
  500.         
  501.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
  502.             IMSVidPlayback * This,
  503.             /* [in] */ VARIANT *v);
  504.         
  505.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableResetOnStop )( 
  506.             IMSVidPlayback * This,
  507.             /* [retval][out] */ VARIANT_BOOL *pVal);
  508.         
  509.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableResetOnStop )( 
  510.             IMSVidPlayback * This,
  511.             /* [in] */ VARIANT_BOOL newVal);
  512.         
  513.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
  514.             IMSVidPlayback * This);
  515.         
  516.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
  517.             IMSVidPlayback * This);
  518.         
  519.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
  520.             IMSVidPlayback * This);
  521.         
  522.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanStep )( 
  523.             IMSVidPlayback * This,
  524.             /* [in] */ VARIANT_BOOL fBackwards,
  525.             /* [retval][out] */ VARIANT_BOOL *pfCan);
  526.         
  527.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Step )( 
  528.             IMSVidPlayback * This,
  529.             /* [in] */ long lStep);
  530.         
  531.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  532.             IMSVidPlayback * This,
  533.             /* [in] */ double plRate);
  534.         
  535.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  536.             IMSVidPlayback * This,
  537.             /* [retval][out] */ double *plRate);
  538.         
  539.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentPosition )( 
  540.             IMSVidPlayback * This,
  541.             /* [in] */ long lPosition);
  542.         
  543.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPosition )( 
  544.             IMSVidPlayback * This,
  545.             /* [retval][out] */ long *lPosition);
  546.         
  547.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PositionMode )( 
  548.             IMSVidPlayback * This,
  549.             /* [in] */ PositionModeList lPositionMode);
  550.         
  551.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PositionMode )( 
  552.             IMSVidPlayback * This,
  553.             /* [retval][out] */ PositionModeList *lPositionMode);
  554.         
  555.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
  556.             IMSVidPlayback * This,
  557.             /* [retval][out] */ long *lLength);
  558.         
  559.         END_INTERFACE
  560.     } IMSVidPlaybackVtbl;
  561.     interface IMSVidPlayback
  562.     {
  563.         CONST_VTBL struct IMSVidPlaybackVtbl *lpVtbl;
  564.     };
  565.     
  566. #ifdef COBJMACROS
  567. #define IMSVidPlayback_QueryInterface(This,riid,ppvObject)
  568.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  569. #define IMSVidPlayback_AddRef(This)
  570.     (This)->lpVtbl -> AddRef(This)
  571. #define IMSVidPlayback_Release(This)
  572.     (This)->lpVtbl -> Release(This)
  573. #define IMSVidPlayback_GetTypeInfoCount(This,pctinfo)
  574.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  575. #define IMSVidPlayback_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  576.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  577. #define IMSVidPlayback_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  578.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  579. #define IMSVidPlayback_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  580.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  581. #define IMSVidPlayback_get_Name(This,Name)
  582.     (This)->lpVtbl -> get_Name(This,Name)
  583. #define IMSVidPlayback_get_Status(This,Status)
  584.     (This)->lpVtbl -> get_Status(This,Status)
  585. #define IMSVidPlayback_put_Power(This,Power)
  586.     (This)->lpVtbl -> put_Power(This,Power)
  587. #define IMSVidPlayback_get_Power(This,Power)
  588.     (This)->lpVtbl -> get_Power(This,Power)
  589. #define IMSVidPlayback_get_Category(This,Guid)
  590.     (This)->lpVtbl -> get_Category(This,Guid)
  591. #define IMSVidPlayback_get_ClassID(This,Clsid)
  592.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  593. #define IMSVidPlayback_get__Category(This,Guid)
  594.     (This)->lpVtbl -> get__Category(This,Guid)
  595. #define IMSVidPlayback_get__ClassID(This,Clsid)
  596.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  597. #define IMSVidPlayback_IsEqualDevice(This,Device,IsEqual)
  598.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  599. #define IMSVidPlayback_IsViewable(This,v,pfViewable)
  600.     (This)->lpVtbl -> IsViewable(This,v,pfViewable)
  601. #define IMSVidPlayback_View(This,v)
  602.     (This)->lpVtbl -> View(This,v)
  603. #define IMSVidPlayback_get_EnableResetOnStop(This,pVal)
  604.     (This)->lpVtbl -> get_EnableResetOnStop(This,pVal)
  605. #define IMSVidPlayback_put_EnableResetOnStop(This,newVal)
  606.     (This)->lpVtbl -> put_EnableResetOnStop(This,newVal)
  607. #define IMSVidPlayback_Run(This)
  608.     (This)->lpVtbl -> Run(This)
  609. #define IMSVidPlayback_Pause(This)
  610.     (This)->lpVtbl -> Pause(This)
  611. #define IMSVidPlayback_Stop(This)
  612.     (This)->lpVtbl -> Stop(This)
  613. #define IMSVidPlayback_get_CanStep(This,fBackwards,pfCan)
  614.     (This)->lpVtbl -> get_CanStep(This,fBackwards,pfCan)
  615. #define IMSVidPlayback_Step(This,lStep)
  616.     (This)->lpVtbl -> Step(This,lStep)
  617. #define IMSVidPlayback_put_Rate(This,plRate)
  618.     (This)->lpVtbl -> put_Rate(This,plRate)
  619. #define IMSVidPlayback_get_Rate(This,plRate)
  620.     (This)->lpVtbl -> get_Rate(This,plRate)
  621. #define IMSVidPlayback_put_CurrentPosition(This,lPosition)
  622.     (This)->lpVtbl -> put_CurrentPosition(This,lPosition)
  623. #define IMSVidPlayback_get_CurrentPosition(This,lPosition)
  624.     (This)->lpVtbl -> get_CurrentPosition(This,lPosition)
  625. #define IMSVidPlayback_put_PositionMode(This,lPositionMode)
  626.     (This)->lpVtbl -> put_PositionMode(This,lPositionMode)
  627. #define IMSVidPlayback_get_PositionMode(This,lPositionMode)
  628.     (This)->lpVtbl -> get_PositionMode(This,lPositionMode)
  629. #define IMSVidPlayback_get_Length(This,lLength)
  630.     (This)->lpVtbl -> get_Length(This,lLength)
  631. #endif /* COBJMACROS */
  632. #endif  /* C style interface */
  633. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_get_EnableResetOnStop_Proxy( 
  634.     IMSVidPlayback * This,
  635.     /* [retval][out] */ VARIANT_BOOL *pVal);
  636. void __RPC_STUB IMSVidPlayback_get_EnableResetOnStop_Stub(
  637.     IRpcStubBuffer *This,
  638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  639.     PRPC_MESSAGE _pRpcMessage,
  640.     DWORD *_pdwStubPhase);
  641. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_put_EnableResetOnStop_Proxy( 
  642.     IMSVidPlayback * This,
  643.     /* [in] */ VARIANT_BOOL newVal);
  644. void __RPC_STUB IMSVidPlayback_put_EnableResetOnStop_Stub(
  645.     IRpcStubBuffer *This,
  646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  647.     PRPC_MESSAGE _pRpcMessage,
  648.     DWORD *_pdwStubPhase);
  649. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_Run_Proxy( 
  650.     IMSVidPlayback * This);
  651. void __RPC_STUB IMSVidPlayback_Run_Stub(
  652.     IRpcStubBuffer *This,
  653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  654.     PRPC_MESSAGE _pRpcMessage,
  655.     DWORD *_pdwStubPhase);
  656. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_Pause_Proxy( 
  657.     IMSVidPlayback * This);
  658. void __RPC_STUB IMSVidPlayback_Pause_Stub(
  659.     IRpcStubBuffer *This,
  660.     IRpcChannelBuffer *_pRpcChannelBuffer,
  661.     PRPC_MESSAGE _pRpcMessage,
  662.     DWORD *_pdwStubPhase);
  663. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_Stop_Proxy( 
  664.     IMSVidPlayback * This);
  665. void __RPC_STUB IMSVidPlayback_Stop_Stub(
  666.     IRpcStubBuffer *This,
  667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  668.     PRPC_MESSAGE _pRpcMessage,
  669.     DWORD *_pdwStubPhase);
  670. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_get_CanStep_Proxy( 
  671.     IMSVidPlayback * This,
  672.     /* [in] */ VARIANT_BOOL fBackwards,
  673.     /* [retval][out] */ VARIANT_BOOL *pfCan);
  674. void __RPC_STUB IMSVidPlayback_get_CanStep_Stub(
  675.     IRpcStubBuffer *This,
  676.     IRpcChannelBuffer *_pRpcChannelBuffer,
  677.     PRPC_MESSAGE _pRpcMessage,
  678.     DWORD *_pdwStubPhase);
  679. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_Step_Proxy( 
  680.     IMSVidPlayback * This,
  681.     /* [in] */ long lStep);
  682. void __RPC_STUB IMSVidPlayback_Step_Stub(
  683.     IRpcStubBuffer *This,
  684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  685.     PRPC_MESSAGE _pRpcMessage,
  686.     DWORD *_pdwStubPhase);
  687. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_put_Rate_Proxy( 
  688.     IMSVidPlayback * This,
  689.     /* [in] */ double plRate);
  690. void __RPC_STUB IMSVidPlayback_put_Rate_Stub(
  691.     IRpcStubBuffer *This,
  692.     IRpcChannelBuffer *_pRpcChannelBuffer,
  693.     PRPC_MESSAGE _pRpcMessage,
  694.     DWORD *_pdwStubPhase);
  695. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_get_Rate_Proxy( 
  696.     IMSVidPlayback * This,
  697.     /* [retval][out] */ double *plRate);
  698. void __RPC_STUB IMSVidPlayback_get_Rate_Stub(
  699.     IRpcStubBuffer *This,
  700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  701.     PRPC_MESSAGE _pRpcMessage,
  702.     DWORD *_pdwStubPhase);
  703. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_put_CurrentPosition_Proxy( 
  704.     IMSVidPlayback * This,
  705.     /* [in] */ long lPosition);
  706. void __RPC_STUB IMSVidPlayback_put_CurrentPosition_Stub(
  707.     IRpcStubBuffer *This,
  708.     IRpcChannelBuffer *_pRpcChannelBuffer,
  709.     PRPC_MESSAGE _pRpcMessage,
  710.     DWORD *_pdwStubPhase);
  711. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_get_CurrentPosition_Proxy( 
  712.     IMSVidPlayback * This,
  713.     /* [retval][out] */ long *lPosition);
  714. void __RPC_STUB IMSVidPlayback_get_CurrentPosition_Stub(
  715.     IRpcStubBuffer *This,
  716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  717.     PRPC_MESSAGE _pRpcMessage,
  718.     DWORD *_pdwStubPhase);
  719. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_put_PositionMode_Proxy( 
  720.     IMSVidPlayback * This,
  721.     /* [in] */ PositionModeList lPositionMode);
  722. void __RPC_STUB IMSVidPlayback_put_PositionMode_Stub(
  723.     IRpcStubBuffer *This,
  724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  725.     PRPC_MESSAGE _pRpcMessage,
  726.     DWORD *_pdwStubPhase);
  727. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_get_PositionMode_Proxy( 
  728.     IMSVidPlayback * This,
  729.     /* [retval][out] */ PositionModeList *lPositionMode);
  730. void __RPC_STUB IMSVidPlayback_get_PositionMode_Stub(
  731.     IRpcStubBuffer *This,
  732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  733.     PRPC_MESSAGE _pRpcMessage,
  734.     DWORD *_pdwStubPhase);
  735. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidPlayback_get_Length_Proxy( 
  736.     IMSVidPlayback * This,
  737.     /* [retval][out] */ long *lLength);
  738. void __RPC_STUB IMSVidPlayback_get_Length_Stub(
  739.     IRpcStubBuffer *This,
  740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  741.     PRPC_MESSAGE _pRpcMessage,
  742.     DWORD *_pdwStubPhase);
  743. #endif  /* __IMSVidPlayback_INTERFACE_DEFINED__ */
  744. #ifndef __IMSVidPlaybackEvent_INTERFACE_DEFINED__
  745. #define __IMSVidPlaybackEvent_INTERFACE_DEFINED__
  746. /* interface IMSVidPlaybackEvent */
  747. /* [unique][helpstring][uuid][oleautomation][object] */ 
  748. EXTERN_C const IID IID_IMSVidPlaybackEvent;
  749. #if defined(__cplusplus) && !defined(CINTERFACE)
  750.     
  751.     MIDL_INTERFACE("37B0353B-A4C8-11d2-B634-00C04F79498E")
  752.     IMSVidPlaybackEvent : public IMSVidInputDeviceEvent
  753.     {
  754.     public:
  755.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE EndOfMedia( 
  756.             /* [in] */ IMSVidPlayback *lpd) = 0;
  757.         
  758.     };
  759.     
  760. #else  /* C style interface */
  761.     typedef struct IMSVidPlaybackEventVtbl
  762.     {
  763.         BEGIN_INTERFACE
  764.         
  765.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  766.             IMSVidPlaybackEvent * This,
  767.             /* [in] */ REFIID riid,
  768.             /* [iid_is][out] */ void **ppvObject);
  769.         
  770.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  771.             IMSVidPlaybackEvent * This);
  772.         
  773.         ULONG ( STDMETHODCALLTYPE *Release )( 
  774.             IMSVidPlaybackEvent * This);
  775.         
  776.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  777.             IMSVidPlaybackEvent * This,
  778.             /* [out] */ UINT *pctinfo);
  779.         
  780.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  781.             IMSVidPlaybackEvent * This,
  782.             /* [in] */ UINT iTInfo,
  783.             /* [in] */ LCID lcid,
  784.             /* [out] */ ITypeInfo **ppTInfo);
  785.         
  786.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  787.             IMSVidPlaybackEvent * This,
  788.             /* [in] */ REFIID riid,
  789.             /* [size_is][in] */ LPOLESTR *rgszNames,
  790.             /* [in] */ UINT cNames,
  791.             /* [in] */ LCID lcid,
  792.             /* [size_is][out] */ DISPID *rgDispId);
  793.         
  794.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  795.             IMSVidPlaybackEvent * This,
  796.             /* [in] */ DISPID dispIdMember,
  797.             /* [in] */ REFIID riid,
  798.             /* [in] */ LCID lcid,
  799.             /* [in] */ WORD wFlags,
  800.             /* [out][in] */ DISPPARAMS *pDispParams,
  801.             /* [out] */ VARIANT *pVarResult,
  802.             /* [out] */ EXCEPINFO *pExcepInfo,
  803.             /* [out] */ UINT *puArgErr);
  804.         
  805.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *EndOfMedia )( 
  806.             IMSVidPlaybackEvent * This,
  807.             /* [in] */ IMSVidPlayback *lpd);
  808.         
  809.         END_INTERFACE
  810.     } IMSVidPlaybackEventVtbl;
  811.     interface IMSVidPlaybackEvent
  812.     {
  813.         CONST_VTBL struct IMSVidPlaybackEventVtbl *lpVtbl;
  814.     };
  815.     
  816. #ifdef COBJMACROS
  817. #define IMSVidPlaybackEvent_QueryInterface(This,riid,ppvObject)
  818.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  819. #define IMSVidPlaybackEvent_AddRef(This)
  820.     (This)->lpVtbl -> AddRef(This)
  821. #define IMSVidPlaybackEvent_Release(This)
  822.     (This)->lpVtbl -> Release(This)
  823. #define IMSVidPlaybackEvent_GetTypeInfoCount(This,pctinfo)
  824.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  825. #define IMSVidPlaybackEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  826.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  827. #define IMSVidPlaybackEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  828.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  829. #define IMSVidPlaybackEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  830.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  831. #define IMSVidPlaybackEvent_EndOfMedia(This,lpd)
  832.     (This)->lpVtbl -> EndOfMedia(This,lpd)
  833. #endif /* COBJMACROS */
  834. #endif  /* C style interface */
  835. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidPlaybackEvent_EndOfMedia_Proxy( 
  836.     IMSVidPlaybackEvent * This,
  837.     /* [in] */ IMSVidPlayback *lpd);
  838. void __RPC_STUB IMSVidPlaybackEvent_EndOfMedia_Stub(
  839.     IRpcStubBuffer *This,
  840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  841.     PRPC_MESSAGE _pRpcMessage,
  842.     DWORD *_pdwStubPhase);
  843. #endif  /* __IMSVidPlaybackEvent_INTERFACE_DEFINED__ */
  844. #ifndef __IMSVidTuner_INTERFACE_DEFINED__
  845. #define __IMSVidTuner_INTERFACE_DEFINED__
  846. /* interface IMSVidTuner */
  847. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  848. EXTERN_C const IID IID_IMSVidTuner;
  849. #if defined(__cplusplus) && !defined(CINTERFACE)
  850.     
  851.     MIDL_INTERFACE("1C15D47D-911D-11d2-B632-00C04F79498E")
  852.     IMSVidTuner : public IMSVidVideoInputDevice
  853.     {
  854.     public:
  855.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Tune( 
  856.             /* [retval][out] */ ITuneRequest **ppTR) = 0;
  857.         
  858.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Tune( 
  859.             /* [in] */ ITuneRequest *pTR) = 0;
  860.         
  861.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_TuningSpace( 
  862.             /* [retval][out] */ ITuningSpace **plTS) = 0;
  863.         
  864.         virtual /* [id][propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE put_TuningSpace( 
  865.             /* [in] */ ITuningSpace *plTS) = 0;
  866.         
  867.     };
  868.     
  869. #else  /* C style interface */
  870.     typedef struct IMSVidTunerVtbl
  871.     {
  872.         BEGIN_INTERFACE
  873.         
  874.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  875.             IMSVidTuner * This,
  876.             /* [in] */ REFIID riid,
  877.             /* [iid_is][out] */ void **ppvObject);
  878.         
  879.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  880.             IMSVidTuner * This);
  881.         
  882.         ULONG ( STDMETHODCALLTYPE *Release )( 
  883.             IMSVidTuner * This);
  884.         
  885.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  886.             IMSVidTuner * This,
  887.             /* [out] */ UINT *pctinfo);
  888.         
  889.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  890.             IMSVidTuner * This,
  891.             /* [in] */ UINT iTInfo,
  892.             /* [in] */ LCID lcid,
  893.             /* [out] */ ITypeInfo **ppTInfo);
  894.         
  895.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  896.             IMSVidTuner * This,
  897.             /* [in] */ REFIID riid,
  898.             /* [size_is][in] */ LPOLESTR *rgszNames,
  899.             /* [in] */ UINT cNames,
  900.             /* [in] */ LCID lcid,
  901.             /* [size_is][out] */ DISPID *rgDispId);
  902.         
  903.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  904.             IMSVidTuner * This,
  905.             /* [in] */ DISPID dispIdMember,
  906.             /* [in] */ REFIID riid,
  907.             /* [in] */ LCID lcid,
  908.             /* [in] */ WORD wFlags,
  909.             /* [out][in] */ DISPPARAMS *pDispParams,
  910.             /* [out] */ VARIANT *pVarResult,
  911.             /* [out] */ EXCEPINFO *pExcepInfo,
  912.             /* [out] */ UINT *puArgErr);
  913.         
  914.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  915.             IMSVidTuner * This,
  916.             /* [retval][out] */ BSTR *Name);
  917.         
  918.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  919.             IMSVidTuner * This,
  920.             /* [retval][out] */ long *Status);
  921.         
  922.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  923.             IMSVidTuner * This,
  924.             /* [in] */ VARIANT_BOOL Power);
  925.         
  926.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  927.             IMSVidTuner * This,
  928.             /* [out][retval] */ VARIANT_BOOL *Power);
  929.         
  930.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  931.             IMSVidTuner * This,
  932.             /* [retval][out] */ BSTR *Guid);
  933.         
  934.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  935.             IMSVidTuner * This,
  936.             /* [retval][out] */ BSTR *Clsid);
  937.         
  938.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  939.             IMSVidTuner * This,
  940.             /* [retval][out] */ GUID *Guid);
  941.         
  942.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  943.             IMSVidTuner * This,
  944.             /* [retval][out] */ GUID *Clsid);
  945.         
  946.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  947.             IMSVidTuner * This,
  948.             /* [in] */ IMSVidDevice *Device,
  949.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  950.         
  951.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsViewable )( 
  952.             IMSVidTuner * This,
  953.             /* [in] */ VARIANT *v,
  954.             /* [retval][out] */ VARIANT_BOOL *pfViewable);
  955.         
  956.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
  957.             IMSVidTuner * This,
  958.             /* [in] */ VARIANT *v);
  959.         
  960.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tune )( 
  961.             IMSVidTuner * This,
  962.             /* [retval][out] */ ITuneRequest **ppTR);
  963.         
  964.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Tune )( 
  965.             IMSVidTuner * This,
  966.             /* [in] */ ITuneRequest *pTR);
  967.         
  968.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  969.             IMSVidTuner * This,
  970.             /* [retval][out] */ ITuningSpace **plTS);
  971.         
  972.         /* [id][propput][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  973.             IMSVidTuner * This,
  974.             /* [in] */ ITuningSpace *plTS);
  975.         
  976.         END_INTERFACE
  977.     } IMSVidTunerVtbl;
  978.     interface IMSVidTuner
  979.     {
  980.         CONST_VTBL struct IMSVidTunerVtbl *lpVtbl;
  981.     };
  982.     
  983. #ifdef COBJMACROS
  984. #define IMSVidTuner_QueryInterface(This,riid,ppvObject)
  985.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  986. #define IMSVidTuner_AddRef(This)
  987.     (This)->lpVtbl -> AddRef(This)
  988. #define IMSVidTuner_Release(This)
  989.     (This)->lpVtbl -> Release(This)
  990. #define IMSVidTuner_GetTypeInfoCount(This,pctinfo)
  991.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  992. #define IMSVidTuner_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  993.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  994. #define IMSVidTuner_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  995.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  996. #define IMSVidTuner_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  997.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  998. #define IMSVidTuner_get_Name(This,Name)
  999.     (This)->lpVtbl -> get_Name(This,Name)
  1000. #define IMSVidTuner_get_Status(This,Status)
  1001.     (This)->lpVtbl -> get_Status(This,Status)
  1002. #define IMSVidTuner_put_Power(This,Power)
  1003.     (This)->lpVtbl -> put_Power(This,Power)
  1004. #define IMSVidTuner_get_Power(This,Power)
  1005.     (This)->lpVtbl -> get_Power(This,Power)
  1006. #define IMSVidTuner_get_Category(This,Guid)
  1007.     (This)->lpVtbl -> get_Category(This,Guid)
  1008. #define IMSVidTuner_get_ClassID(This,Clsid)
  1009.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  1010. #define IMSVidTuner_get__Category(This,Guid)
  1011.     (This)->lpVtbl -> get__Category(This,Guid)
  1012. #define IMSVidTuner_get__ClassID(This,Clsid)
  1013.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  1014. #define IMSVidTuner_IsEqualDevice(This,Device,IsEqual)
  1015.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  1016. #define IMSVidTuner_IsViewable(This,v,pfViewable)
  1017.     (This)->lpVtbl -> IsViewable(This,v,pfViewable)
  1018. #define IMSVidTuner_View(This,v)
  1019.     (This)->lpVtbl -> View(This,v)
  1020. #define IMSVidTuner_get_Tune(This,ppTR)
  1021.     (This)->lpVtbl -> get_Tune(This,ppTR)
  1022. #define IMSVidTuner_put_Tune(This,pTR)
  1023.     (This)->lpVtbl -> put_Tune(This,pTR)
  1024. #define IMSVidTuner_get_TuningSpace(This,plTS)
  1025.     (This)->lpVtbl -> get_TuningSpace(This,plTS)
  1026. #define IMSVidTuner_put_TuningSpace(This,plTS)
  1027.     (This)->lpVtbl -> put_TuningSpace(This,plTS)
  1028. #endif /* COBJMACROS */
  1029. #endif  /* C style interface */
  1030. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidTuner_get_Tune_Proxy( 
  1031.     IMSVidTuner * This,
  1032.     /* [retval][out] */ ITuneRequest **ppTR);
  1033. void __RPC_STUB IMSVidTuner_get_Tune_Stub(
  1034.     IRpcStubBuffer *This,
  1035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1036.     PRPC_MESSAGE _pRpcMessage,
  1037.     DWORD *_pdwStubPhase);
  1038. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidTuner_put_Tune_Proxy( 
  1039.     IMSVidTuner * This,
  1040.     /* [in] */ ITuneRequest *pTR);
  1041. void __RPC_STUB IMSVidTuner_put_Tune_Stub(
  1042.     IRpcStubBuffer *This,
  1043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1044.     PRPC_MESSAGE _pRpcMessage,
  1045.     DWORD *_pdwStubPhase);
  1046. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidTuner_get_TuningSpace_Proxy( 
  1047.     IMSVidTuner * This,
  1048.     /* [retval][out] */ ITuningSpace **plTS);
  1049. void __RPC_STUB IMSVidTuner_get_TuningSpace_Stub(
  1050.     IRpcStubBuffer *This,
  1051.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1052.     PRPC_MESSAGE _pRpcMessage,
  1053.     DWORD *_pdwStubPhase);
  1054. /* [id][propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidTuner_put_TuningSpace_Proxy( 
  1055.     IMSVidTuner * This,
  1056.     /* [in] */ ITuningSpace *plTS);
  1057. void __RPC_STUB IMSVidTuner_put_TuningSpace_Stub(
  1058.     IRpcStubBuffer *This,
  1059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1060.     PRPC_MESSAGE _pRpcMessage,
  1061.     DWORD *_pdwStubPhase);
  1062. #endif  /* __IMSVidTuner_INTERFACE_DEFINED__ */
  1063. #ifndef __IMSVidTunerEvent_INTERFACE_DEFINED__
  1064. #define __IMSVidTunerEvent_INTERFACE_DEFINED__
  1065. /* interface IMSVidTunerEvent */
  1066. /* [unique][helpstring][uuid][hidden][oleautomation][object] */ 
  1067. EXTERN_C const IID IID_IMSVidTunerEvent;
  1068. #if defined(__cplusplus) && !defined(CINTERFACE)
  1069.     
  1070.     MIDL_INTERFACE("1C15D485-911D-11d2-B632-00C04F79498E")
  1071.     IMSVidTunerEvent : public IMSVidInputDeviceEvent
  1072.     {
  1073.     public:
  1074.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE TuneChanged( 
  1075.             /* [in] */ IMSVidTuner *lpd) = 0;
  1076.         
  1077.     };
  1078.     
  1079. #else  /* C style interface */
  1080.     typedef struct IMSVidTunerEventVtbl
  1081.     {
  1082.         BEGIN_INTERFACE
  1083.         
  1084.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1085.             IMSVidTunerEvent * This,
  1086.             /* [in] */ REFIID riid,
  1087.             /* [iid_is][out] */ void **ppvObject);
  1088.         
  1089.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1090.             IMSVidTunerEvent * This);
  1091.         
  1092.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1093.             IMSVidTunerEvent * This);
  1094.         
  1095.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1096.             IMSVidTunerEvent * This,
  1097.             /* [out] */ UINT *pctinfo);
  1098.         
  1099.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1100.             IMSVidTunerEvent * This,
  1101.             /* [in] */ UINT iTInfo,
  1102.             /* [in] */ LCID lcid,
  1103.             /* [out] */ ITypeInfo **ppTInfo);
  1104.         
  1105.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1106.             IMSVidTunerEvent * This,
  1107.             /* [in] */ REFIID riid,
  1108.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1109.             /* [in] */ UINT cNames,
  1110.             /* [in] */ LCID lcid,
  1111.             /* [size_is][out] */ DISPID *rgDispId);
  1112.         
  1113.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1114.             IMSVidTunerEvent * This,
  1115.             /* [in] */ DISPID dispIdMember,
  1116.             /* [in] */ REFIID riid,
  1117.             /* [in] */ LCID lcid,
  1118.             /* [in] */ WORD wFlags,
  1119.             /* [out][in] */ DISPPARAMS *pDispParams,
  1120.             /* [out] */ VARIANT *pVarResult,
  1121.             /* [out] */ EXCEPINFO *pExcepInfo,
  1122.             /* [out] */ UINT *puArgErr);
  1123.         
  1124.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *TuneChanged )( 
  1125.             IMSVidTunerEvent * This,
  1126.             /* [in] */ IMSVidTuner *lpd);
  1127.         
  1128.         END_INTERFACE
  1129.     } IMSVidTunerEventVtbl;
  1130.     interface IMSVidTunerEvent
  1131.     {
  1132.         CONST_VTBL struct IMSVidTunerEventVtbl *lpVtbl;
  1133.     };
  1134.     
  1135. #ifdef COBJMACROS
  1136. #define IMSVidTunerEvent_QueryInterface(This,riid,ppvObject)
  1137.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1138. #define IMSVidTunerEvent_AddRef(This)
  1139.     (This)->lpVtbl -> AddRef(This)
  1140. #define IMSVidTunerEvent_Release(This)
  1141.     (This)->lpVtbl -> Release(This)
  1142. #define IMSVidTunerEvent_GetTypeInfoCount(This,pctinfo)
  1143.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1144. #define IMSVidTunerEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1145.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1146. #define IMSVidTunerEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1147.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1148. #define IMSVidTunerEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1149.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1150. #define IMSVidTunerEvent_TuneChanged(This,lpd)
  1151.     (This)->lpVtbl -> TuneChanged(This,lpd)
  1152. #endif /* COBJMACROS */
  1153. #endif  /* C style interface */
  1154. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidTunerEvent_TuneChanged_Proxy( 
  1155.     IMSVidTunerEvent * This,
  1156.     /* [in] */ IMSVidTuner *lpd);
  1157. void __RPC_STUB IMSVidTunerEvent_TuneChanged_Stub(
  1158.     IRpcStubBuffer *This,
  1159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1160.     PRPC_MESSAGE _pRpcMessage,
  1161.     DWORD *_pdwStubPhase);
  1162. #endif  /* __IMSVidTunerEvent_INTERFACE_DEFINED__ */
  1163. #ifndef __IMSVidAnalogTuner_INTERFACE_DEFINED__
  1164. #define __IMSVidAnalogTuner_INTERFACE_DEFINED__
  1165. /* interface IMSVidAnalogTuner */
  1166. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  1167. EXTERN_C const IID IID_IMSVidAnalogTuner;
  1168. #if defined(__cplusplus) && !defined(CINTERFACE)
  1169.     
  1170.     MIDL_INTERFACE("1C15D47E-911D-11d2-B632-00C04F79498E")
  1171.     IMSVidAnalogTuner : public IMSVidTuner
  1172.     {
  1173.     public:
  1174.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Channel( 
  1175.             /* [retval][out] */ long *Channel) = 0;
  1176.         
  1177.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Channel( 
  1178.             /* [in] */ long Channel) = 0;
  1179.         
  1180.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_VideoFrequency( 
  1181.             /* [out][retval] */ long *lcc) = 0;
  1182.         
  1183.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_AudioFrequency( 
  1184.             /* [out][retval] */ long *lcc) = 0;
  1185.         
  1186.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CountryCode( 
  1187.             /* [out][retval] */ long *lcc) = 0;
  1188.         
  1189.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_CountryCode( 
  1190.             /* [in] */ long lcc) = 0;
  1191.         
  1192.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_SAP( 
  1193.             /* [retval][out] */ VARIANT_BOOL *pfSapOn) = 0;
  1194.         
  1195.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_SAP( 
  1196.             /* [in] */ VARIANT_BOOL fSapOn) = 0;
  1197.         
  1198.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE ChannelAvailable( 
  1199.             /* [in] */ long nChannel,
  1200.             /* [out][in] */ long *SignalStrength,
  1201.             /* [out][retval] */ VARIANT_BOOL *fSignalPresent) = 0;
  1202.         
  1203.     };
  1204.     
  1205. #else  /* C style interface */
  1206.     typedef struct IMSVidAnalogTunerVtbl
  1207.     {
  1208.         BEGIN_INTERFACE
  1209.         
  1210.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1211.             IMSVidAnalogTuner * This,
  1212.             /* [in] */ REFIID riid,
  1213.             /* [iid_is][out] */ void **ppvObject);
  1214.         
  1215.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1216.             IMSVidAnalogTuner * This);
  1217.         
  1218.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1219.             IMSVidAnalogTuner * This);
  1220.         
  1221.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1222.             IMSVidAnalogTuner * This,
  1223.             /* [out] */ UINT *pctinfo);
  1224.         
  1225.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1226.             IMSVidAnalogTuner * This,
  1227.             /* [in] */ UINT iTInfo,
  1228.             /* [in] */ LCID lcid,
  1229.             /* [out] */ ITypeInfo **ppTInfo);
  1230.         
  1231.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1232.             IMSVidAnalogTuner * This,
  1233.             /* [in] */ REFIID riid,
  1234.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1235.             /* [in] */ UINT cNames,
  1236.             /* [in] */ LCID lcid,
  1237.             /* [size_is][out] */ DISPID *rgDispId);
  1238.         
  1239.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1240.             IMSVidAnalogTuner * This,
  1241.             /* [in] */ DISPID dispIdMember,
  1242.             /* [in] */ REFIID riid,
  1243.             /* [in] */ LCID lcid,
  1244.             /* [in] */ WORD wFlags,
  1245.             /* [out][in] */ DISPPARAMS *pDispParams,
  1246.             /* [out] */ VARIANT *pVarResult,
  1247.             /* [out] */ EXCEPINFO *pExcepInfo,
  1248.             /* [out] */ UINT *puArgErr);
  1249.         
  1250.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1251.             IMSVidAnalogTuner * This,
  1252.             /* [retval][out] */ BSTR *Name);
  1253.         
  1254.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  1255.             IMSVidAnalogTuner * This,
  1256.             /* [retval][out] */ long *Status);
  1257.         
  1258.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  1259.             IMSVidAnalogTuner * This,
  1260.             /* [in] */ VARIANT_BOOL Power);
  1261.         
  1262.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  1263.             IMSVidAnalogTuner * This,
  1264.             /* [out][retval] */ VARIANT_BOOL *Power);
  1265.         
  1266.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  1267.             IMSVidAnalogTuner * This,
  1268.             /* [retval][out] */ BSTR *Guid);
  1269.         
  1270.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  1271.             IMSVidAnalogTuner * This,
  1272.             /* [retval][out] */ BSTR *Clsid);
  1273.         
  1274.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  1275.             IMSVidAnalogTuner * This,
  1276.             /* [retval][out] */ GUID *Guid);
  1277.         
  1278.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  1279.             IMSVidAnalogTuner * This,
  1280.             /* [retval][out] */ GUID *Clsid);
  1281.         
  1282.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  1283.             IMSVidAnalogTuner * This,
  1284.             /* [in] */ IMSVidDevice *Device,
  1285.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  1286.         
  1287.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsViewable )( 
  1288.             IMSVidAnalogTuner * This,
  1289.             /* [in] */ VARIANT *v,
  1290.             /* [retval][out] */ VARIANT_BOOL *pfViewable);
  1291.         
  1292.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
  1293.             IMSVidAnalogTuner * This,
  1294.             /* [in] */ VARIANT *v);
  1295.         
  1296.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tune )( 
  1297.             IMSVidAnalogTuner * This,
  1298.             /* [retval][out] */ ITuneRequest **ppTR);
  1299.         
  1300.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Tune )( 
  1301.             IMSVidAnalogTuner * This,
  1302.             /* [in] */ ITuneRequest *pTR);
  1303.         
  1304.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  1305.             IMSVidAnalogTuner * This,
  1306.             /* [retval][out] */ ITuningSpace **plTS);
  1307.         
  1308.         /* [id][propput][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  1309.             IMSVidAnalogTuner * This,
  1310.             /* [in] */ ITuningSpace *plTS);
  1311.         
  1312.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  1313.             IMSVidAnalogTuner * This,
  1314.             /* [retval][out] */ long *Channel);
  1315.         
  1316.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  1317.             IMSVidAnalogTuner * This,
  1318.             /* [in] */ long Channel);
  1319.         
  1320.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )( 
  1321.             IMSVidAnalogTuner * This,
  1322.             /* [out][retval] */ long *lcc);
  1323.         
  1324.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )( 
  1325.             IMSVidAnalogTuner * This,
  1326.             /* [out][retval] */ long *lcc);
  1327.         
  1328.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  1329.             IMSVidAnalogTuner * This,
  1330.             /* [out][retval] */ long *lcc);
  1331.         
  1332.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  1333.             IMSVidAnalogTuner * This,
  1334.             /* [in] */ long lcc);
  1335.         
  1336.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SAP )( 
  1337.             IMSVidAnalogTuner * This,
  1338.             /* [retval][out] */ VARIANT_BOOL *pfSapOn);
  1339.         
  1340.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SAP )( 
  1341.             IMSVidAnalogTuner * This,
  1342.             /* [in] */ VARIANT_BOOL fSapOn);
  1343.         
  1344.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *ChannelAvailable )( 
  1345.             IMSVidAnalogTuner * This,
  1346.             /* [in] */ long nChannel,
  1347.             /* [out][in] */ long *SignalStrength,
  1348.             /* [out][retval] */ VARIANT_BOOL *fSignalPresent);
  1349.         
  1350.         END_INTERFACE
  1351.     } IMSVidAnalogTunerVtbl;
  1352.     interface IMSVidAnalogTuner
  1353.     {
  1354.         CONST_VTBL struct IMSVidAnalogTunerVtbl *lpVtbl;
  1355.     };
  1356.     
  1357. #ifdef COBJMACROS
  1358. #define IMSVidAnalogTuner_QueryInterface(This,riid,ppvObject)
  1359.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1360. #define IMSVidAnalogTuner_AddRef(This)
  1361.     (This)->lpVtbl -> AddRef(This)
  1362. #define IMSVidAnalogTuner_Release(This)
  1363.     (This)->lpVtbl -> Release(This)
  1364. #define IMSVidAnalogTuner_GetTypeInfoCount(This,pctinfo)
  1365.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1366. #define IMSVidAnalogTuner_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1367.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1368. #define IMSVidAnalogTuner_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1369.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1370. #define IMSVidAnalogTuner_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1371.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1372. #define IMSVidAnalogTuner_get_Name(This,Name)
  1373.     (This)->lpVtbl -> get_Name(This,Name)
  1374. #define IMSVidAnalogTuner_get_Status(This,Status)
  1375.     (This)->lpVtbl -> get_Status(This,Status)
  1376. #define IMSVidAnalogTuner_put_Power(This,Power)
  1377.     (This)->lpVtbl -> put_Power(This,Power)
  1378. #define IMSVidAnalogTuner_get_Power(This,Power)
  1379.     (This)->lpVtbl -> get_Power(This,Power)
  1380. #define IMSVidAnalogTuner_get_Category(This,Guid)
  1381.     (This)->lpVtbl -> get_Category(This,Guid)
  1382. #define IMSVidAnalogTuner_get_ClassID(This,Clsid)
  1383.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  1384. #define IMSVidAnalogTuner_get__Category(This,Guid)
  1385.     (This)->lpVtbl -> get__Category(This,Guid)
  1386. #define IMSVidAnalogTuner_get__ClassID(This,Clsid)
  1387.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  1388. #define IMSVidAnalogTuner_IsEqualDevice(This,Device,IsEqual)
  1389.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  1390. #define IMSVidAnalogTuner_IsViewable(This,v,pfViewable)
  1391.     (This)->lpVtbl -> IsViewable(This,v,pfViewable)
  1392. #define IMSVidAnalogTuner_View(This,v)
  1393.     (This)->lpVtbl -> View(This,v)
  1394. #define IMSVidAnalogTuner_get_Tune(This,ppTR)
  1395.     (This)->lpVtbl -> get_Tune(This,ppTR)
  1396. #define IMSVidAnalogTuner_put_Tune(This,pTR)
  1397.     (This)->lpVtbl -> put_Tune(This,pTR)
  1398. #define IMSVidAnalogTuner_get_TuningSpace(This,plTS)
  1399.     (This)->lpVtbl -> get_TuningSpace(This,plTS)
  1400. #define IMSVidAnalogTuner_put_TuningSpace(This,plTS)
  1401.     (This)->lpVtbl -> put_TuningSpace(This,plTS)
  1402. #define IMSVidAnalogTuner_get_Channel(This,Channel)
  1403.     (This)->lpVtbl -> get_Channel(This,Channel)
  1404. #define IMSVidAnalogTuner_put_Channel(This,Channel)
  1405.     (This)->lpVtbl -> put_Channel(This,Channel)
  1406. #define IMSVidAnalogTuner_get_VideoFrequency(This,lcc)
  1407.     (This)->lpVtbl -> get_VideoFrequency(This,lcc)
  1408. #define IMSVidAnalogTuner_get_AudioFrequency(This,lcc)
  1409.     (This)->lpVtbl -> get_AudioFrequency(This,lcc)
  1410. #define IMSVidAnalogTuner_get_CountryCode(This,lcc)
  1411.     (This)->lpVtbl -> get_CountryCode(This,lcc)
  1412. #define IMSVidAnalogTuner_put_CountryCode(This,lcc)
  1413.     (This)->lpVtbl -> put_CountryCode(This,lcc)
  1414. #define IMSVidAnalogTuner_get_SAP(This,pfSapOn)
  1415.     (This)->lpVtbl -> get_SAP(This,pfSapOn)
  1416. #define IMSVidAnalogTuner_put_SAP(This,fSapOn)
  1417.     (This)->lpVtbl -> put_SAP(This,fSapOn)
  1418. #define IMSVidAnalogTuner_ChannelAvailable(This,nChannel,SignalStrength,fSignalPresent)
  1419.     (This)->lpVtbl -> ChannelAvailable(This,nChannel,SignalStrength,fSignalPresent)
  1420. #endif /* COBJMACROS */
  1421. #endif  /* C style interface */
  1422. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_get_Channel_Proxy( 
  1423.     IMSVidAnalogTuner * This,
  1424.     /* [retval][out] */ long *Channel);
  1425. void __RPC_STUB IMSVidAnalogTuner_get_Channel_Stub(
  1426.     IRpcStubBuffer *This,
  1427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1428.     PRPC_MESSAGE _pRpcMessage,
  1429.     DWORD *_pdwStubPhase);
  1430. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_put_Channel_Proxy( 
  1431.     IMSVidAnalogTuner * This,
  1432.     /* [in] */ long Channel);
  1433. void __RPC_STUB IMSVidAnalogTuner_put_Channel_Stub(
  1434.     IRpcStubBuffer *This,
  1435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1436.     PRPC_MESSAGE _pRpcMessage,
  1437.     DWORD *_pdwStubPhase);
  1438. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_get_VideoFrequency_Proxy( 
  1439.     IMSVidAnalogTuner * This,
  1440.     /* [out][retval] */ long *lcc);
  1441. void __RPC_STUB IMSVidAnalogTuner_get_VideoFrequency_Stub(
  1442.     IRpcStubBuffer *This,
  1443.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1444.     PRPC_MESSAGE _pRpcMessage,
  1445.     DWORD *_pdwStubPhase);
  1446. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_get_AudioFrequency_Proxy( 
  1447.     IMSVidAnalogTuner * This,
  1448.     /* [out][retval] */ long *lcc);
  1449. void __RPC_STUB IMSVidAnalogTuner_get_AudioFrequency_Stub(
  1450.     IRpcStubBuffer *This,
  1451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1452.     PRPC_MESSAGE _pRpcMessage,
  1453.     DWORD *_pdwStubPhase);
  1454. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_get_CountryCode_Proxy( 
  1455.     IMSVidAnalogTuner * This,
  1456.     /* [out][retval] */ long *lcc);
  1457. void __RPC_STUB IMSVidAnalogTuner_get_CountryCode_Stub(
  1458.     IRpcStubBuffer *This,
  1459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1460.     PRPC_MESSAGE _pRpcMessage,
  1461.     DWORD *_pdwStubPhase);
  1462. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_put_CountryCode_Proxy( 
  1463.     IMSVidAnalogTuner * This,
  1464.     /* [in] */ long lcc);
  1465. void __RPC_STUB IMSVidAnalogTuner_put_CountryCode_Stub(
  1466.     IRpcStubBuffer *This,
  1467.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1468.     PRPC_MESSAGE _pRpcMessage,
  1469.     DWORD *_pdwStubPhase);
  1470. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_get_SAP_Proxy( 
  1471.     IMSVidAnalogTuner * This,
  1472.     /* [retval][out] */ VARIANT_BOOL *pfSapOn);
  1473. void __RPC_STUB IMSVidAnalogTuner_get_SAP_Stub(
  1474.     IRpcStubBuffer *This,
  1475.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1476.     PRPC_MESSAGE _pRpcMessage,
  1477.     DWORD *_pdwStubPhase);
  1478. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_put_SAP_Proxy( 
  1479.     IMSVidAnalogTuner * This,
  1480.     /* [in] */ VARIANT_BOOL fSapOn);
  1481. void __RPC_STUB IMSVidAnalogTuner_put_SAP_Stub(
  1482.     IRpcStubBuffer *This,
  1483.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1484.     PRPC_MESSAGE _pRpcMessage,
  1485.     DWORD *_pdwStubPhase);
  1486. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidAnalogTuner_ChannelAvailable_Proxy( 
  1487.     IMSVidAnalogTuner * This,
  1488.     /* [in] */ long nChannel,
  1489.     /* [out][in] */ long *SignalStrength,
  1490.     /* [out][retval] */ VARIANT_BOOL *fSignalPresent);
  1491. void __RPC_STUB IMSVidAnalogTuner_ChannelAvailable_Stub(
  1492.     IRpcStubBuffer *This,
  1493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1494.     PRPC_MESSAGE _pRpcMessage,
  1495.     DWORD *_pdwStubPhase);
  1496. #endif  /* __IMSVidAnalogTuner_INTERFACE_DEFINED__ */
  1497. #ifndef __IMSVidAnalogTunerEvent_INTERFACE_DEFINED__
  1498. #define __IMSVidAnalogTunerEvent_INTERFACE_DEFINED__
  1499. /* interface IMSVidAnalogTunerEvent */
  1500. /* [unique][helpstring][uuid][oleautomation][object] */ 
  1501. EXTERN_C const IID IID_IMSVidAnalogTunerEvent;
  1502. #if defined(__cplusplus) && !defined(CINTERFACE)
  1503.     
  1504.     MIDL_INTERFACE("1C15D486-911D-11d2-B632-00C04F79498E")
  1505.     IMSVidAnalogTunerEvent : public IMSVidTunerEvent
  1506.     {
  1507.     public:
  1508.     };
  1509.     
  1510. #else  /* C style interface */
  1511.     typedef struct IMSVidAnalogTunerEventVtbl
  1512.     {
  1513.         BEGIN_INTERFACE
  1514.         
  1515.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1516.             IMSVidAnalogTunerEvent * This,
  1517.             /* [in] */ REFIID riid,
  1518.             /* [iid_is][out] */ void **ppvObject);
  1519.         
  1520.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1521.             IMSVidAnalogTunerEvent * This);
  1522.         
  1523.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1524.             IMSVidAnalogTunerEvent * This);
  1525.         
  1526.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1527.             IMSVidAnalogTunerEvent * This,
  1528.             /* [out] */ UINT *pctinfo);
  1529.         
  1530.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1531.             IMSVidAnalogTunerEvent * This,
  1532.             /* [in] */ UINT iTInfo,
  1533.             /* [in] */ LCID lcid,
  1534.             /* [out] */ ITypeInfo **ppTInfo);
  1535.         
  1536.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1537.             IMSVidAnalogTunerEvent * This,
  1538.             /* [in] */ REFIID riid,
  1539.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1540.             /* [in] */ UINT cNames,
  1541.             /* [in] */ LCID lcid,
  1542.             /* [size_is][out] */ DISPID *rgDispId);
  1543.         
  1544.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1545.             IMSVidAnalogTunerEvent * This,
  1546.             /* [in] */ DISPID dispIdMember,
  1547.             /* [in] */ REFIID riid,
  1548.             /* [in] */ LCID lcid,
  1549.             /* [in] */ WORD wFlags,
  1550.             /* [out][in] */ DISPPARAMS *pDispParams,
  1551.             /* [out] */ VARIANT *pVarResult,
  1552.             /* [out] */ EXCEPINFO *pExcepInfo,
  1553.             /* [out] */ UINT *puArgErr);
  1554.         
  1555.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *TuneChanged )( 
  1556.             IMSVidAnalogTunerEvent * This,
  1557.             /* [in] */ IMSVidTuner *lpd);
  1558.         
  1559.         END_INTERFACE
  1560.     } IMSVidAnalogTunerEventVtbl;
  1561.     interface IMSVidAnalogTunerEvent
  1562.     {
  1563.         CONST_VTBL struct IMSVidAnalogTunerEventVtbl *lpVtbl;
  1564.     };
  1565.     
  1566. #ifdef COBJMACROS
  1567. #define IMSVidAnalogTunerEvent_QueryInterface(This,riid,ppvObject)
  1568.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1569. #define IMSVidAnalogTunerEvent_AddRef(This)
  1570.     (This)->lpVtbl -> AddRef(This)
  1571. #define IMSVidAnalogTunerEvent_Release(This)
  1572.     (This)->lpVtbl -> Release(This)
  1573. #define IMSVidAnalogTunerEvent_GetTypeInfoCount(This,pctinfo)
  1574.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1575. #define IMSVidAnalogTunerEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1576.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1577. #define IMSVidAnalogTunerEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1578.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1579. #define IMSVidAnalogTunerEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1580.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1581. #define IMSVidAnalogTunerEvent_TuneChanged(This,lpd)
  1582.     (This)->lpVtbl -> TuneChanged(This,lpd)
  1583. #endif /* COBJMACROS */
  1584. #endif  /* C style interface */
  1585. #endif  /* __IMSVidAnalogTunerEvent_INTERFACE_DEFINED__ */
  1586. #ifndef __IMSVidFilePlayback_INTERFACE_DEFINED__
  1587. #define __IMSVidFilePlayback_INTERFACE_DEFINED__
  1588. /* interface IMSVidFilePlayback */
  1589. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  1590. EXTERN_C const IID IID_IMSVidFilePlayback;
  1591. #if defined(__cplusplus) && !defined(CINTERFACE)
  1592.     
  1593.     MIDL_INTERFACE("37B03539-A4C8-11d2-B634-00C04F79498E")
  1594.     IMSVidFilePlayback : public IMSVidPlayback
  1595.     {
  1596.     public:
  1597.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_FileName( 
  1598.             /* [retval][out] */ BSTR *FileName) = 0;
  1599.         
  1600.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_FileName( 
  1601.             /* [in] */ BSTR FileName) = 0;
  1602.         
  1603.     };
  1604.     
  1605. #else  /* C style interface */
  1606.     typedef struct IMSVidFilePlaybackVtbl
  1607.     {
  1608.         BEGIN_INTERFACE
  1609.         
  1610.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1611.             IMSVidFilePlayback * This,
  1612.             /* [in] */ REFIID riid,
  1613.             /* [iid_is][out] */ void **ppvObject);
  1614.         
  1615.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1616.             IMSVidFilePlayback * This);
  1617.         
  1618.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1619.             IMSVidFilePlayback * This);
  1620.         
  1621.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1622.             IMSVidFilePlayback * This,
  1623.             /* [out] */ UINT *pctinfo);
  1624.         
  1625.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1626.             IMSVidFilePlayback * This,
  1627.             /* [in] */ UINT iTInfo,
  1628.             /* [in] */ LCID lcid,
  1629.             /* [out] */ ITypeInfo **ppTInfo);
  1630.         
  1631.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1632.             IMSVidFilePlayback * This,
  1633.             /* [in] */ REFIID riid,
  1634.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1635.             /* [in] */ UINT cNames,
  1636.             /* [in] */ LCID lcid,
  1637.             /* [size_is][out] */ DISPID *rgDispId);
  1638.         
  1639.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1640.             IMSVidFilePlayback * This,
  1641.             /* [in] */ DISPID dispIdMember,
  1642.             /* [in] */ REFIID riid,
  1643.             /* [in] */ LCID lcid,
  1644.             /* [in] */ WORD wFlags,
  1645.             /* [out][in] */ DISPPARAMS *pDispParams,
  1646.             /* [out] */ VARIANT *pVarResult,
  1647.             /* [out] */ EXCEPINFO *pExcepInfo,
  1648.             /* [out] */ UINT *puArgErr);
  1649.         
  1650.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1651.             IMSVidFilePlayback * This,
  1652.             /* [retval][out] */ BSTR *Name);
  1653.         
  1654.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  1655.             IMSVidFilePlayback * This,
  1656.             /* [retval][out] */ long *Status);
  1657.         
  1658.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  1659.             IMSVidFilePlayback * This,
  1660.             /* [in] */ VARIANT_BOOL Power);
  1661.         
  1662.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  1663.             IMSVidFilePlayback * This,
  1664.             /* [out][retval] */ VARIANT_BOOL *Power);
  1665.         
  1666.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  1667.             IMSVidFilePlayback * This,
  1668.             /* [retval][out] */ BSTR *Guid);
  1669.         
  1670.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  1671.             IMSVidFilePlayback * This,
  1672.             /* [retval][out] */ BSTR *Clsid);
  1673.         
  1674.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  1675.             IMSVidFilePlayback * This,
  1676.             /* [retval][out] */ GUID *Guid);
  1677.         
  1678.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  1679.             IMSVidFilePlayback * This,
  1680.             /* [retval][out] */ GUID *Clsid);
  1681.         
  1682.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  1683.             IMSVidFilePlayback * This,
  1684.             /* [in] */ IMSVidDevice *Device,
  1685.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  1686.         
  1687.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsViewable )( 
  1688.             IMSVidFilePlayback * This,
  1689.             /* [in] */ VARIANT *v,
  1690.             /* [retval][out] */ VARIANT_BOOL *pfViewable);
  1691.         
  1692.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
  1693.             IMSVidFilePlayback * This,
  1694.             /* [in] */ VARIANT *v);
  1695.         
  1696.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableResetOnStop )( 
  1697.             IMSVidFilePlayback * This,
  1698.             /* [retval][out] */ VARIANT_BOOL *pVal);
  1699.         
  1700.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableResetOnStop )( 
  1701.             IMSVidFilePlayback * This,
  1702.             /* [in] */ VARIANT_BOOL newVal);
  1703.         
  1704.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
  1705.             IMSVidFilePlayback * This);
  1706.         
  1707.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
  1708.             IMSVidFilePlayback * This);
  1709.         
  1710.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
  1711.             IMSVidFilePlayback * This);
  1712.         
  1713.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanStep )( 
  1714.             IMSVidFilePlayback * This,
  1715.             /* [in] */ VARIANT_BOOL fBackwards,
  1716.             /* [retval][out] */ VARIANT_BOOL *pfCan);
  1717.         
  1718.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Step )( 
  1719.             IMSVidFilePlayback * This,
  1720.             /* [in] */ long lStep);
  1721.         
  1722.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  1723.             IMSVidFilePlayback * This,
  1724.             /* [in] */ double plRate);
  1725.         
  1726.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  1727.             IMSVidFilePlayback * This,
  1728.             /* [retval][out] */ double *plRate);
  1729.         
  1730.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentPosition )( 
  1731.             IMSVidFilePlayback * This,
  1732.             /* [in] */ long lPosition);
  1733.         
  1734.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPosition )( 
  1735.             IMSVidFilePlayback * This,
  1736.             /* [retval][out] */ long *lPosition);
  1737.         
  1738.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PositionMode )( 
  1739.             IMSVidFilePlayback * This,
  1740.             /* [in] */ PositionModeList lPositionMode);
  1741.         
  1742.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PositionMode )( 
  1743.             IMSVidFilePlayback * This,
  1744.             /* [retval][out] */ PositionModeList *lPositionMode);
  1745.         
  1746.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
  1747.             IMSVidFilePlayback * This,
  1748.             /* [retval][out] */ long *lLength);
  1749.         
  1750.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileName )( 
  1751.             IMSVidFilePlayback * This,
  1752.             /* [retval][out] */ BSTR *FileName);
  1753.         
  1754.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FileName )( 
  1755.             IMSVidFilePlayback * This,
  1756.             /* [in] */ BSTR FileName);
  1757.         
  1758.         END_INTERFACE
  1759.     } IMSVidFilePlaybackVtbl;
  1760.     interface IMSVidFilePlayback
  1761.     {
  1762.         CONST_VTBL struct IMSVidFilePlaybackVtbl *lpVtbl;
  1763.     };
  1764.     
  1765. #ifdef COBJMACROS
  1766. #define IMSVidFilePlayback_QueryInterface(This,riid,ppvObject)
  1767.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1768. #define IMSVidFilePlayback_AddRef(This)
  1769.     (This)->lpVtbl -> AddRef(This)
  1770. #define IMSVidFilePlayback_Release(This)
  1771.     (This)->lpVtbl -> Release(This)
  1772. #define IMSVidFilePlayback_GetTypeInfoCount(This,pctinfo)
  1773.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1774. #define IMSVidFilePlayback_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1775.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1776. #define IMSVidFilePlayback_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1777.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1778. #define IMSVidFilePlayback_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1779.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1780. #define IMSVidFilePlayback_get_Name(This,Name)
  1781.     (This)->lpVtbl -> get_Name(This,Name)
  1782. #define IMSVidFilePlayback_get_Status(This,Status)
  1783.     (This)->lpVtbl -> get_Status(This,Status)
  1784. #define IMSVidFilePlayback_put_Power(This,Power)
  1785.     (This)->lpVtbl -> put_Power(This,Power)
  1786. #define IMSVidFilePlayback_get_Power(This,Power)
  1787.     (This)->lpVtbl -> get_Power(This,Power)
  1788. #define IMSVidFilePlayback_get_Category(This,Guid)
  1789.     (This)->lpVtbl -> get_Category(This,Guid)
  1790. #define IMSVidFilePlayback_get_ClassID(This,Clsid)
  1791.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  1792. #define IMSVidFilePlayback_get__Category(This,Guid)
  1793.     (This)->lpVtbl -> get__Category(This,Guid)
  1794. #define IMSVidFilePlayback_get__ClassID(This,Clsid)
  1795.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  1796. #define IMSVidFilePlayback_IsEqualDevice(This,Device,IsEqual)
  1797.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  1798. #define IMSVidFilePlayback_IsViewable(This,v,pfViewable)
  1799.     (This)->lpVtbl -> IsViewable(This,v,pfViewable)
  1800. #define IMSVidFilePlayback_View(This,v)
  1801.     (This)->lpVtbl -> View(This,v)
  1802. #define IMSVidFilePlayback_get_EnableResetOnStop(This,pVal)
  1803.     (This)->lpVtbl -> get_EnableResetOnStop(This,pVal)
  1804. #define IMSVidFilePlayback_put_EnableResetOnStop(This,newVal)
  1805.     (This)->lpVtbl -> put_EnableResetOnStop(This,newVal)
  1806. #define IMSVidFilePlayback_Run(This)
  1807.     (This)->lpVtbl -> Run(This)
  1808. #define IMSVidFilePlayback_Pause(This)
  1809.     (This)->lpVtbl -> Pause(This)
  1810. #define IMSVidFilePlayback_Stop(This)
  1811.     (This)->lpVtbl -> Stop(This)
  1812. #define IMSVidFilePlayback_get_CanStep(This,fBackwards,pfCan)
  1813.     (This)->lpVtbl -> get_CanStep(This,fBackwards,pfCan)
  1814. #define IMSVidFilePlayback_Step(This,lStep)
  1815.     (This)->lpVtbl -> Step(This,lStep)
  1816. #define IMSVidFilePlayback_put_Rate(This,plRate)
  1817.     (This)->lpVtbl -> put_Rate(This,plRate)
  1818. #define IMSVidFilePlayback_get_Rate(This,plRate)
  1819.     (This)->lpVtbl -> get_Rate(This,plRate)
  1820. #define IMSVidFilePlayback_put_CurrentPosition(This,lPosition)
  1821.     (This)->lpVtbl -> put_CurrentPosition(This,lPosition)
  1822. #define IMSVidFilePlayback_get_CurrentPosition(This,lPosition)
  1823.     (This)->lpVtbl -> get_CurrentPosition(This,lPosition)
  1824. #define IMSVidFilePlayback_put_PositionMode(This,lPositionMode)
  1825.     (This)->lpVtbl -> put_PositionMode(This,lPositionMode)
  1826. #define IMSVidFilePlayback_get_PositionMode(This,lPositionMode)
  1827.     (This)->lpVtbl -> get_PositionMode(This,lPositionMode)
  1828. #define IMSVidFilePlayback_get_Length(This,lLength)
  1829.     (This)->lpVtbl -> get_Length(This,lLength)
  1830. #define IMSVidFilePlayback_get_FileName(This,FileName)
  1831.     (This)->lpVtbl -> get_FileName(This,FileName)
  1832. #define IMSVidFilePlayback_put_FileName(This,FileName)
  1833.     (This)->lpVtbl -> put_FileName(This,FileName)
  1834. #endif /* COBJMACROS */
  1835. #endif  /* C style interface */
  1836. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidFilePlayback_get_FileName_Proxy( 
  1837.     IMSVidFilePlayback * This,
  1838.     /* [retval][out] */ BSTR *FileName);
  1839. void __RPC_STUB IMSVidFilePlayback_get_FileName_Stub(
  1840.     IRpcStubBuffer *This,
  1841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1842.     PRPC_MESSAGE _pRpcMessage,
  1843.     DWORD *_pdwStubPhase);
  1844. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidFilePlayback_put_FileName_Proxy( 
  1845.     IMSVidFilePlayback * This,
  1846.     /* [in] */ BSTR FileName);
  1847. void __RPC_STUB IMSVidFilePlayback_put_FileName_Stub(
  1848.     IRpcStubBuffer *This,
  1849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1850.     PRPC_MESSAGE _pRpcMessage,
  1851.     DWORD *_pdwStubPhase);
  1852. #endif  /* __IMSVidFilePlayback_INTERFACE_DEFINED__ */
  1853. #ifndef __IMSVidFilePlaybackEvent_INTERFACE_DEFINED__
  1854. #define __IMSVidFilePlaybackEvent_INTERFACE_DEFINED__
  1855. /* interface IMSVidFilePlaybackEvent */
  1856. /* [unique][helpstring][uuid][hidden][oleautomation][object] */ 
  1857. EXTERN_C const IID IID_IMSVidFilePlaybackEvent;
  1858. #if defined(__cplusplus) && !defined(CINTERFACE)
  1859.     
  1860.     MIDL_INTERFACE("37B0353A-A4C8-11d2-B634-00C04F79498E")
  1861.     IMSVidFilePlaybackEvent : public IMSVidPlaybackEvent
  1862.     {
  1863.     public:
  1864.     };
  1865.     
  1866. #else  /* C style interface */
  1867.     typedef struct IMSVidFilePlaybackEventVtbl
  1868.     {
  1869.         BEGIN_INTERFACE
  1870.         
  1871.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1872.             IMSVidFilePlaybackEvent * This,
  1873.             /* [in] */ REFIID riid,
  1874.             /* [iid_is][out] */ void **ppvObject);
  1875.         
  1876.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1877.             IMSVidFilePlaybackEvent * This);
  1878.         
  1879.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1880.             IMSVidFilePlaybackEvent * This);
  1881.         
  1882.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1883.             IMSVidFilePlaybackEvent * This,
  1884.             /* [out] */ UINT *pctinfo);
  1885.         
  1886.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1887.             IMSVidFilePlaybackEvent * This,
  1888.             /* [in] */ UINT iTInfo,
  1889.             /* [in] */ LCID lcid,
  1890.             /* [out] */ ITypeInfo **ppTInfo);
  1891.         
  1892.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1893.             IMSVidFilePlaybackEvent * This,
  1894.             /* [in] */ REFIID riid,
  1895.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1896.             /* [in] */ UINT cNames,
  1897.             /* [in] */ LCID lcid,
  1898.             /* [size_is][out] */ DISPID *rgDispId);
  1899.         
  1900.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1901.             IMSVidFilePlaybackEvent * This,
  1902.             /* [in] */ DISPID dispIdMember,
  1903.             /* [in] */ REFIID riid,
  1904.             /* [in] */ LCID lcid,
  1905.             /* [in] */ WORD wFlags,
  1906.             /* [out][in] */ DISPPARAMS *pDispParams,
  1907.             /* [out] */ VARIANT *pVarResult,
  1908.             /* [out] */ EXCEPINFO *pExcepInfo,
  1909.             /* [out] */ UINT *puArgErr);
  1910.         
  1911.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *EndOfMedia )( 
  1912.             IMSVidFilePlaybackEvent * This,
  1913.             /* [in] */ IMSVidPlayback *lpd);
  1914.         
  1915.         END_INTERFACE
  1916.     } IMSVidFilePlaybackEventVtbl;
  1917.     interface IMSVidFilePlaybackEvent
  1918.     {
  1919.         CONST_VTBL struct IMSVidFilePlaybackEventVtbl *lpVtbl;
  1920.     };
  1921.     
  1922. #ifdef COBJMACROS
  1923. #define IMSVidFilePlaybackEvent_QueryInterface(This,riid,ppvObject)
  1924.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1925. #define IMSVidFilePlaybackEvent_AddRef(This)
  1926.     (This)->lpVtbl -> AddRef(This)
  1927. #define IMSVidFilePlaybackEvent_Release(This)
  1928.     (This)->lpVtbl -> Release(This)
  1929. #define IMSVidFilePlaybackEvent_GetTypeInfoCount(This,pctinfo)
  1930.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1931. #define IMSVidFilePlaybackEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1932.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1933. #define IMSVidFilePlaybackEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1934.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1935. #define IMSVidFilePlaybackEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1936.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1937. #define IMSVidFilePlaybackEvent_EndOfMedia(This,lpd)
  1938.     (This)->lpVtbl -> EndOfMedia(This,lpd)
  1939. #endif /* COBJMACROS */
  1940. #endif  /* C style interface */
  1941. #endif  /* __IMSVidFilePlaybackEvent_INTERFACE_DEFINED__ */
  1942. /* interface __MIDL_itf_segment_0543 */
  1943. /* [local] */ 
  1944. typedef /* [public][public][public] */ 
  1945. enum __MIDL___MIDL_itf_segment_0543_0001
  1946.     { dvdMenu_Title = 2,
  1947. dvdMenu_Root = dvdMenu_Title + 1,
  1948. dvdMenu_Subpicture = dvdMenu_Root + 1,
  1949. dvdMenu_Audio = dvdMenu_Subpicture + 1,
  1950. dvdMenu_Angle = dvdMenu_Audio + 1,
  1951. dvdMenu_Chapter = dvdMenu_Angle + 1
  1952.     }  DVDMenuIDConstants;
  1953. typedef /* [public] */ 
  1954. enum __MIDL___MIDL_itf_segment_0543_0002
  1955.     { dvdState_Undefined = -2,
  1956. dvdState_Unitialized = dvdState_Undefined + 1,
  1957. dvdState_Stopped = dvdState_Unitialized + 1,
  1958. dvdState_Paused = dvdState_Stopped + 1,
  1959. dvdState_Running = dvdState_Paused + 1
  1960.     }  DVDFilterState;
  1961. typedef /* [public][public] */ 
  1962. enum __MIDL___MIDL_itf_segment_0543_0003
  1963.     { dvdStruct_Volume = 0x1,
  1964. dvdStruct_Title = 0x2,
  1965. dvdStruct_ParentalID = 0x3,
  1966. dvdStruct_PartOfTitle = 0x4,
  1967. dvdStruct_Cell = 0x5,
  1968. dvdStream_Audio = 0x10,
  1969. dvdStream_Subpicture = 0x11,
  1970. dvdStream_Angle = 0x12,
  1971. dvdChannel_Audio = 0x20,
  1972. dvdGeneral_Name = 0x30,
  1973. dvdGeneral_Comments = 0x31,
  1974. dvdTitle_Series = 0x38,
  1975. dvdTitle_Movie = 0x39,
  1976. dvdTitle_Video = 0x3a,
  1977. dvdTitle_Album = 0x3b,
  1978. dvdTitle_Song = 0x3c,
  1979. dvdTitle_Other = 0x3f,
  1980. dvdTitle_Sub_Series = 0x40,
  1981. dvdTitle_Sub_Movie = 0x41,
  1982. dvdTitle_Sub_Video = 0x42,
  1983. dvdTitle_Sub_Album = 0x43,
  1984. dvdTitle_Sub_Song = 0x44,
  1985. dvdTitle_Sub_Other = 0x47,
  1986. dvdTitle_Orig_Series = 0x48,
  1987. dvdTitle_Orig_Movie = 0x49,
  1988. dvdTitle_Orig_Video = 0x4a,
  1989. dvdTitle_Orig_Album = 0x4b,
  1990. dvdTitle_Orig_Song = 0x4c,
  1991. dvdTitle_Orig_Other = 0x4f,
  1992. dvdOther_Scene = 0x50,
  1993. dvdOther_Cut = 0x51,
  1994. dvdOther_Take = 0x52
  1995.     }  DVDTextStringType;
  1996. typedef /* [public][public][public] */ 
  1997. enum __MIDL___MIDL_itf_segment_0543_0004
  1998.     { dvdSPExt_NotSpecified = 0,
  1999. dvdSPExt_Caption_Normal = 1,
  2000. dvdSPExt_Caption_Big = 2,
  2001. dvdSPExt_Caption_Children = 3,
  2002. dvdSPExt_CC_Normal = 5,
  2003. dvdSPExt_CC_Big = 6,
  2004. dvdSPExt_CC_Children = 7,
  2005. dvdSPExt_Forced = 9,
  2006. dvdSPExt_DirectorComments_Normal = 13,
  2007. dvdSPExt_DirectorComments_Big = 14,
  2008. dvdSPExt_DirectorComments_Children = 15
  2009.     }  DVDSPExt;
  2010. extern RPC_IF_HANDLE __MIDL_itf_segment_0543_v0_0_c_ifspec;
  2011. extern RPC_IF_HANDLE __MIDL_itf_segment_0543_v0_0_s_ifspec;
  2012. #ifndef __IMSVidWebDVD_INTERFACE_DEFINED__
  2013. #define __IMSVidWebDVD_INTERFACE_DEFINED__
  2014. /* interface IMSVidWebDVD */
  2015. /* [unique][helpstring][uuid][hidden][oleautomation][dual][object] */ 
  2016. EXTERN_C const IID IID_IMSVidWebDVD;
  2017. #if defined(__cplusplus) && !defined(CINTERFACE)
  2018.     
  2019.     MIDL_INTERFACE("CF45F88B-AC56-4EE2-A73A-ED04E2885D3C")
  2020.     IMSVidWebDVD : public IMSVidPlayback
  2021.     {
  2022.     public:
  2023.         virtual HRESULT STDMETHODCALLTYPE OnDVDEvent( 
  2024.             /* [in] */ long lEvent,
  2025.             /* [in] */ LONG_PTR lParam1,
  2026.             /* [in] */ LONG_PTR lParam2) = 0;
  2027.         
  2028.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayTitle( 
  2029.             /* [in] */ long lTitle) = 0;
  2030.         
  2031.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayChapterInTitle( 
  2032.             /* [in] */ long lTitle,
  2033.             /* [in] */ long lChapter) = 0;
  2034.         
  2035.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayChapter( 
  2036.             /* [in] */ long lChapter) = 0;
  2037.         
  2038.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop( 
  2039.             /* [in] */ long lTitle,
  2040.             /* [in] */ long lstrChapter,
  2041.             /* [in] */ long lChapterCount) = 0;
  2042.         
  2043.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayAtTime( 
  2044.             /* [in] */ BSTR strTime) = 0;
  2045.         
  2046.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle( 
  2047.             /* [in] */ long lTitle,
  2048.             /* [in] */ BSTR strTime) = 0;
  2049.         
  2050.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop( 
  2051.             /* [in] */ long lTitle,
  2052.             /* [in] */ BSTR strStartTime,
  2053.             /* [in] */ BSTR strEndTime) = 0;
  2054.         
  2055.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReplayChapter( void) = 0;
  2056.         
  2057.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayPrevChapter( void) = 0;
  2058.         
  2059.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PlayNextChapter( void) = 0;
  2060.         
  2061.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  2062.         
  2063.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AudioLanguage( 
  2064.             /* [in] */ long lStream,
  2065.             /* [defaultvalue][in] */ VARIANT_BOOL fFormat,
  2066.             /* [retval][out] */ BSTR *strAudioLang) = 0;
  2067.         
  2068.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowMenu( 
  2069.             /* [in] */ DVDMenuIDConstants MenuID) = 0;
  2070.         
  2071.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  2072.         
  2073.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReturnFromSubmenu( void) = 0;
  2074.         
  2075.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ButtonsAvailable( 
  2076.             /* [retval][out] */ long *pVal) = 0;
  2077.         
  2078.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentButton( 
  2079.             /* [retval][out] */ long *pVal) = 0;
  2080.         
  2081.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectAndActivateButton( 
  2082.             /* [in] */ long lButton) = 0;
  2083.         
  2084.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;
  2085.         
  2086.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectRightButton( void) = 0;
  2087.         
  2088.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectLeftButton( void) = 0;
  2089.         
  2090.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectLowerButton( void) = 0;
  2091.         
  2092.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectUpperButton( void) = 0;
  2093.         
  2094.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ActivateAtPosition( 
  2095.             /* [in] */ long xPos,
  2096.             /* [in] */ long yPos) = 0;
  2097.         
  2098.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectAtPosition( 
  2099.             /* [in] */ long xPos,
  2100.             /* [in] */ long yPos) = 0;
  2101.         
  2102.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ButtonAtPosition( 
  2103.             /* [in] */ long xPos,
  2104.             /* [in] */ long yPos,
  2105.             /* [retval][out] */ long *plButton) = 0;
  2106.         
  2107.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfChapters( 
  2108.             /* [in] */ long lTitle,
  2109.             /* [retval][out] */ long *pVal) = 0;
  2110.         
  2111.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TotalTitleTime( 
  2112.             /* [retval][out] */ BSTR *pVal) = 0;
  2113.         
  2114.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TitlesAvailable( 
  2115.             /* [retval][out] */ long *pVal) = 0;
  2116.         
  2117.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VolumesAvailable( 
  2118.             /* [retval][out] */ long *pVal) = 0;
  2119.         
  2120.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentVolume( 
  2121.             /* [retval][out] */ long *pVal) = 0;
  2122.         
  2123.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentDiscSide( 
  2124.             /* [retval][out] */ long *pVal) = 0;
  2125.         
  2126.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentDomain( 
  2127.             /* [retval][out] */ long *pVal) = 0;
  2128.         
  2129.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentChapter( 
  2130.             /* [retval][out] */ long *pVal) = 0;
  2131.         
  2132.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentTitle( 
  2133.             /* [retval][out] */ long *pVal) = 0;
  2134.         
  2135.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentTime( 
  2136.             /* [retval][out] */ BSTR *pVal) = 0;
  2137.         
  2138.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DVDTimeCode2bstr( 
  2139.             /* [in] */ long timeCode,
  2140.             /* [retval][out] */ BSTR *pTimeStr) = 0;
  2141.         
  2142.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDDirectory( 
  2143.             /* [retval][out] */ BSTR *pVal) = 0;
  2144.         
  2145.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DVDDirectory( 
  2146.             /* [in] */ BSTR newVal) = 0;
  2147.         
  2148.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled( 
  2149.             /* [in] */ long lstream,
  2150.             /* [retval][out] */ VARIANT_BOOL *fEnabled) = 0;
  2151.         
  2152.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled( 
  2153.             /* [in] */ long lstream,
  2154.             /* [retval][out] */ VARIANT_BOOL *fEnabled) = 0;
  2155.         
  2156.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentSubpictureStream( 
  2157.             /* [retval][out] */ long *pVal) = 0;
  2158.         
  2159.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentSubpictureStream( 
  2160.             /* [in] */ long newVal) = 0;
  2161.         
  2162.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubpictureLanguage( 
  2163.             long lStream,
  2164.             /* [retval][out] */ BSTR *strLanguage) = 0;
  2165.         
  2166.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentAudioStream( 
  2167.             /* [retval][out] */ long *pVal) = 0;
  2168.         
  2169.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentAudioStream( 
  2170.             /* [in] */ long newVal) = 0;
  2171.         
  2172.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AudioStreamsAvailable( 
  2173.             /* [retval][out] */ long *pVal) = 0;
  2174.         
  2175.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AnglesAvailable( 
  2176.             /* [retval][out] */ long *pVal) = 0;
  2177.         
  2178.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentAngle( 
  2179.             /* [retval][out] */ long *pVal) = 0;
  2180.         
  2181.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentAngle( 
  2182.             /* [in] */ long newVal) = 0;
  2183.         
  2184.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubpictureStreamsAvailable( 
  2185.             /* [retval][out] */ long *pVal) = 0;
  2186.         
  2187.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubpictureOn( 
  2188.             /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  2189.         
  2190.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubpictureOn( 
  2191.             /* [in] */ VARIANT_BOOL newVal) = 0;
  2192.         
  2193.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDUniqueID( 
  2194.             /* [retval][out] */ BSTR *pVal) = 0;
  2195.         
  2196.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange( 
  2197.             /* [in] */ VARIANT_BOOL fAccept,
  2198.             /* [in] */ BSTR strUserName,
  2199.             /* [in] */ BSTR strPassword) = 0;
  2200.         
  2201.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NotifyParentalLevelChange( 
  2202.             /* [in] */ VARIANT_BOOL newVal) = 0;
  2203.         
  2204.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectParentalCountry( 
  2205.             /* [in] */ long lCountry,
  2206.             /* [in] */ BSTR strUserName,
  2207.             /* [in] */ BSTR strPassword) = 0;
  2208.         
  2209.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectParentalLevel( 
  2210.             /* [in] */ long lParentalLevel,
  2211.             /* [in] */ BSTR strUserName,
  2212.             /* [in] */ BSTR strPassword) = 0;
  2213.         
  2214.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TitleParentalLevels( 
  2215.             /* [in] */ long lTitle,
  2216.             /* [retval][out] */ long *plParentalLevels) = 0;
  2217.         
  2218.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlayerParentalCountry( 
  2219.             /* [retval][out] */ long *plCountryCode) = 0;
  2220.         
  2221.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlayerParentalLevel( 
  2222.             /* [retval][out] */ long *plParentalLevel) = 0;
  2223.         
  2224.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Eject( void) = 0;
  2225.         
  2226.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UOPValid( 
  2227.             /* [in] */ long lUOP,
  2228.             /* [retval][out] */ VARIANT_BOOL *pfValid) = 0;
  2229.         
  2230.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SPRM( 
  2231.             /* [in] */ long lIndex,
  2232.             /* [retval][out] */ short *psSPRM) = 0;
  2233.         
  2234.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_GPRM( 
  2235.             /* [in] */ long lIndex,
  2236.             /* [retval][out] */ short *psSPRM) = 0;
  2237.         
  2238.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_GPRM( 
  2239.             /* [in] */ long lIndex,
  2240.             /* [in] */ short sValue) = 0;
  2241.         
  2242.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDTextStringType( 
  2243.             /* [in] */ long lLangIndex,
  2244.             /* [in] */ long lStringIndex,
  2245.             /* [retval][out] */ DVDTextStringType *pType) = 0;
  2246.         
  2247.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDTextString( 
  2248.             /* [in] */ long lLangIndex,
  2249.             /* [in] */ long lStringIndex,
  2250.             /* [retval][out] */ BSTR *pstrText) = 0;
  2251.         
  2252.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDTextNumberOfStrings( 
  2253.             /* [in] */ long lLangIndex,
  2254.             /* [retval][out] */ long *plNumOfStrings) = 0;
  2255.         
  2256.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDTextNumberOfLanguages( 
  2257.             /* [retval][out] */ long *plNumOfLangs) = 0;
  2258.         
  2259.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDTextLanguageLCID( 
  2260.             /* [in] */ long lLangIndex,
  2261.             /* [retval][out] */ long *lcid) = 0;
  2262.         
  2263.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegionChange( void) = 0;
  2264.         
  2265.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDAdm( 
  2266.             /* [retval][out] */ IDispatch **pVal) = 0;
  2267.         
  2268.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteBookmark( void) = 0;
  2269.         
  2270.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RestoreBookmark( void) = 0;
  2271.         
  2272.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveBookmark( void) = 0;
  2273.         
  2274.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage( 
  2275.             /* [in] */ long lang,
  2276.             /* [in] */ long ext) = 0;
  2277.         
  2278.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage( 
  2279.             /* [in] */ long lang,
  2280.             /* [in] */ DVDSPExt ext) = 0;
  2281.         
  2282.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PreferredSubpictureStream( 
  2283.             /* [retval][out] */ long *pVal) = 0;
  2284.         
  2285.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultMenuLanguage( 
  2286.             /* [retval][out] */ long *lang) = 0;
  2287.         
  2288.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultMenuLanguage( 
  2289.             /* [in] */ long lang) = 0;
  2290.         
  2291.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultSubpictureLanguage( 
  2292.             /* [retval][out] */ long *lang) = 0;
  2293.         
  2294.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultAudioLanguage( 
  2295.             /* [retval][out] */ long *lang) = 0;
  2296.         
  2297.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultSubpictureLanguageExt( 
  2298.             /* [retval][out] */ DVDSPExt *ext) = 0;
  2299.         
  2300.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultAudioLanguageExt( 
  2301.             /* [retval][out] */ long *ext) = 0;
  2302.         
  2303.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_LanguageFromLCID( 
  2304.             /* [in] */ long lcid,
  2305.             /* [retval][out] */ BSTR *lang) = 0;
  2306.         
  2307.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_KaraokeAudioPresentationMode( 
  2308.             /* [retval][out] */ long *pVal) = 0;
  2309.         
  2310.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_KaraokeAudioPresentationMode( 
  2311.             /* [in] */ long newVal) = 0;
  2312.         
  2313.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_KaraokeChannelContent( 
  2314.             /* [in] */ long lStream,
  2315.             /* [in] */ long lChan,
  2316.             /* [retval][out] */ long *lContent) = 0;
  2317.         
  2318.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_KaraokeChannelAssignment( 
  2319.             /* [in] */ long lStream,
  2320.             /* [retval][out] */ long *lChannelAssignment) = 0;
  2321.         
  2322.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RestorePreferredSettings( void) = 0;
  2323.         
  2324.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ButtonRect( 
  2325.             /* [in] */ long lButton,
  2326.             /* [retval][out] */ IMSVidRect **pRect) = 0;
  2327.         
  2328.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DVDScreenInMouseCoordinates( 
  2329.             /* [retval][out] */ IMSVidRect **ppRect) = 0;
  2330.         
  2331.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DVDScreenInMouseCoordinates( 
  2332.             /* [in] */ IMSVidRect *pRect) = 0;
  2333.         
  2334.     };
  2335.     
  2336. #else  /* C style interface */
  2337.     typedef struct IMSVidWebDVDVtbl
  2338.     {
  2339.         BEGIN_INTERFACE
  2340.         
  2341.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2342.             IMSVidWebDVD * This,
  2343.             /* [in] */ REFIID riid,
  2344.             /* [iid_is][out] */ void **ppvObject);
  2345.         
  2346.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2347.             IMSVidWebDVD * This);
  2348.         
  2349.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2350.             IMSVidWebDVD * This);
  2351.         
  2352.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2353.             IMSVidWebDVD * This,
  2354.             /* [out] */ UINT *pctinfo);
  2355.         
  2356.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2357.             IMSVidWebDVD * This,
  2358.             /* [in] */ UINT iTInfo,
  2359.             /* [in] */ LCID lcid,
  2360.             /* [out] */ ITypeInfo **ppTInfo);
  2361.         
  2362.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2363.             IMSVidWebDVD * This,
  2364.             /* [in] */ REFIID riid,
  2365.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2366.             /* [in] */ UINT cNames,
  2367.             /* [in] */ LCID lcid,
  2368.             /* [size_is][out] */ DISPID *rgDispId);
  2369.         
  2370.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2371.             IMSVidWebDVD * This,
  2372.             /* [in] */ DISPID dispIdMember,
  2373.             /* [in] */ REFIID riid,
  2374.             /* [in] */ LCID lcid,
  2375.             /* [in] */ WORD wFlags,
  2376.             /* [out][in] */ DISPPARAMS *pDispParams,
  2377.             /* [out] */ VARIANT *pVarResult,
  2378.             /* [out] */ EXCEPINFO *pExcepInfo,
  2379.             /* [out] */ UINT *puArgErr);
  2380.         
  2381.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2382.             IMSVidWebDVD * This,
  2383.             /* [retval][out] */ BSTR *Name);
  2384.         
  2385.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  2386.             IMSVidWebDVD * This,
  2387.             /* [retval][out] */ long *Status);
  2388.         
  2389.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  2390.             IMSVidWebDVD * This,
  2391.             /* [in] */ VARIANT_BOOL Power);
  2392.         
  2393.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  2394.             IMSVidWebDVD * This,
  2395.             /* [out][retval] */ VARIANT_BOOL *Power);
  2396.         
  2397.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  2398.             IMSVidWebDVD * This,
  2399.             /* [retval][out] */ BSTR *Guid);
  2400.         
  2401.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  2402.             IMSVidWebDVD * This,
  2403.             /* [retval][out] */ BSTR *Clsid);
  2404.         
  2405.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  2406.             IMSVidWebDVD * This,
  2407.             /* [retval][out] */ GUID *Guid);
  2408.         
  2409.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  2410.             IMSVidWebDVD * This,
  2411.             /* [retval][out] */ GUID *Clsid);
  2412.         
  2413.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  2414.             IMSVidWebDVD * This,
  2415.             /* [in] */ IMSVidDevice *Device,
  2416.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  2417.         
  2418.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsViewable )( 
  2419.             IMSVidWebDVD * This,
  2420.             /* [in] */ VARIANT *v,
  2421.             /* [retval][out] */ VARIANT_BOOL *pfViewable);
  2422.         
  2423.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
  2424.             IMSVidWebDVD * This,
  2425.             /* [in] */ VARIANT *v);
  2426.         
  2427.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableResetOnStop )( 
  2428.             IMSVidWebDVD * This,
  2429.             /* [retval][out] */ VARIANT_BOOL *pVal);
  2430.         
  2431.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableResetOnStop )( 
  2432.             IMSVidWebDVD * This,
  2433.             /* [in] */ VARIANT_BOOL newVal);
  2434.         
  2435.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
  2436.             IMSVidWebDVD * This);
  2437.         
  2438.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2439.             IMSVidWebDVD * This);
  2440.         
  2441.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2442.             IMSVidWebDVD * This);
  2443.         
  2444.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanStep )( 
  2445.             IMSVidWebDVD * This,
  2446.             /* [in] */ VARIANT_BOOL fBackwards,
  2447.             /* [retval][out] */ VARIANT_BOOL *pfCan);
  2448.         
  2449.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Step )( 
  2450.             IMSVidWebDVD * This,
  2451.             /* [in] */ long lStep);
  2452.         
  2453.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  2454.             IMSVidWebDVD * This,
  2455.             /* [in] */ double plRate);
  2456.         
  2457.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  2458.             IMSVidWebDVD * This,
  2459.             /* [retval][out] */ double *plRate);
  2460.         
  2461.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentPosition )( 
  2462.             IMSVidWebDVD * This,
  2463.             /* [in] */ long lPosition);
  2464.         
  2465.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPosition )( 
  2466.             IMSVidWebDVD * This,
  2467.             /* [retval][out] */ long *lPosition);
  2468.         
  2469.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PositionMode )( 
  2470.             IMSVidWebDVD * This,
  2471.             /* [in] */ PositionModeList lPositionMode);
  2472.         
  2473.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PositionMode )( 
  2474.             IMSVidWebDVD * This,
  2475.             /* [retval][out] */ PositionModeList *lPositionMode);
  2476.         
  2477.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
  2478.             IMSVidWebDVD * This,
  2479.             /* [retval][out] */ long *lLength);
  2480.         
  2481.         HRESULT ( STDMETHODCALLTYPE *OnDVDEvent )( 
  2482.             IMSVidWebDVD * This,
  2483.             /* [in] */ long lEvent,
  2484.             /* [in] */ LONG_PTR lParam1,
  2485.             /* [in] */ LONG_PTR lParam2);
  2486.         
  2487.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayTitle )( 
  2488.             IMSVidWebDVD * This,
  2489.             /* [in] */ long lTitle);
  2490.         
  2491.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )( 
  2492.             IMSVidWebDVD * This,
  2493.             /* [in] */ long lTitle,
  2494.             /* [in] */ long lChapter);
  2495.         
  2496.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayChapter )( 
  2497.             IMSVidWebDVD * This,
  2498.             /* [in] */ long lChapter);
  2499.         
  2500.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )( 
  2501.             IMSVidWebDVD * This,
  2502.             /* [in] */ long lTitle,
  2503.             /* [in] */ long lstrChapter,
  2504.             /* [in] */ long lChapterCount);
  2505.         
  2506.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayAtTime )( 
  2507.             IMSVidWebDVD * This,
  2508.             /* [in] */ BSTR strTime);
  2509.         
  2510.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )( 
  2511.             IMSVidWebDVD * This,
  2512.             /* [in] */ long lTitle,
  2513.             /* [in] */ BSTR strTime);
  2514.         
  2515.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )( 
  2516.             IMSVidWebDVD * This,
  2517.             /* [in] */ long lTitle,
  2518.             /* [in] */ BSTR strStartTime,
  2519.             /* [in] */ BSTR strEndTime);
  2520.         
  2521.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReplayChapter )( 
  2522.             IMSVidWebDVD * This);
  2523.         
  2524.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )( 
  2525.             IMSVidWebDVD * This);
  2526.         
  2527.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )( 
  2528.             IMSVidWebDVD * This);
  2529.         
  2530.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  2531.             IMSVidWebDVD * This);
  2532.         
  2533.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioLanguage )( 
  2534.             IMSVidWebDVD * This,
  2535.             /* [in] */ long lStream,
  2536.             /* [defaultvalue][in] */ VARIANT_BOOL fFormat,
  2537.             /* [retval][out] */ BSTR *strAudioLang);
  2538.         
  2539.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowMenu )( 
  2540.             IMSVidWebDVD * This,
  2541.             /* [in] */ DVDMenuIDConstants MenuID);
  2542.         
  2543.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Resume )( 
  2544.             IMSVidWebDVD * This);
  2545.         
  2546.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )( 
  2547.             IMSVidWebDVD * This);
  2548.         
  2549.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonsAvailable )( 
  2550.             IMSVidWebDVD * This,
  2551.             /* [retval][out] */ long *pVal);
  2552.         
  2553.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentButton )( 
  2554.             IMSVidWebDVD * This,
  2555.             /* [retval][out] */ long *pVal);
  2556.         
  2557.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )( 
  2558.             IMSVidWebDVD * This,
  2559.             /* [in] */ long lButton);
  2560.         
  2561.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ActivateButton )( 
  2562.             IMSVidWebDVD * This);
  2563.         
  2564.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectRightButton )( 
  2565.             IMSVidWebDVD * This);
  2566.         
  2567.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectLeftButton )( 
  2568.             IMSVidWebDVD * This);
  2569.         
  2570.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectLowerButton )( 
  2571.             IMSVidWebDVD * This);
  2572.         
  2573.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectUpperButton )( 
  2574.             IMSVidWebDVD * This);
  2575.         
  2576.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )( 
  2577.             IMSVidWebDVD * This,
  2578.             /* [in] */ long xPos,
  2579.             /* [in] */ long yPos);
  2580.         
  2581.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )( 
  2582.             IMSVidWebDVD * This,
  2583.             /* [in] */ long xPos,
  2584.             /* [in] */ long yPos);
  2585.         
  2586.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonAtPosition )( 
  2587.             IMSVidWebDVD * This,
  2588.             /* [in] */ long xPos,
  2589.             /* [in] */ long yPos,
  2590.             /* [retval][out] */ long *plButton);
  2591.         
  2592.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfChapters )( 
  2593.             IMSVidWebDVD * This,
  2594.             /* [in] */ long lTitle,
  2595.             /* [retval][out] */ long *pVal);
  2596.         
  2597.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TotalTitleTime )( 
  2598.             IMSVidWebDVD * This,
  2599.             /* [retval][out] */ BSTR *pVal);
  2600.         
  2601.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TitlesAvailable )( 
  2602.             IMSVidWebDVD * This,
  2603.             /* [retval][out] */ long *pVal);
  2604.         
  2605.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VolumesAvailable )( 
  2606.             IMSVidWebDVD * This,
  2607.             /* [retval][out] */ long *pVal);
  2608.         
  2609.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentVolume )( 
  2610.             IMSVidWebDVD * This,
  2611.             /* [retval][out] */ long *pVal);
  2612.         
  2613.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentDiscSide )( 
  2614.             IMSVidWebDVD * This,
  2615.             /* [retval][out] */ long *pVal);
  2616.         
  2617.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentDomain )( 
  2618.             IMSVidWebDVD * This,
  2619.             /* [retval][out] */ long *pVal);
  2620.         
  2621.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentChapter )( 
  2622.             IMSVidWebDVD * This,
  2623.             /* [retval][out] */ long *pVal);
  2624.         
  2625.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentTitle )( 
  2626.             IMSVidWebDVD * This,
  2627.             /* [retval][out] */ long *pVal);
  2628.         
  2629.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentTime )( 
  2630.             IMSVidWebDVD * This,
  2631.             /* [retval][out] */ BSTR *pVal);
  2632.         
  2633.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DVDTimeCode2bstr )( 
  2634.             IMSVidWebDVD * This,
  2635.             /* [in] */ long timeCode,
  2636.             /* [retval][out] */ BSTR *pTimeStr);
  2637.         
  2638.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDDirectory )( 
  2639.             IMSVidWebDVD * This,
  2640.             /* [retval][out] */ BSTR *pVal);
  2641.         
  2642.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DVDDirectory )( 
  2643.             IMSVidWebDVD * This,
  2644.             /* [in] */ BSTR newVal);
  2645.         
  2646.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )( 
  2647.             IMSVidWebDVD * This,
  2648.             /* [in] */ long lstream,
  2649.             /* [retval][out] */ VARIANT_BOOL *fEnabled);
  2650.         
  2651.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )( 
  2652.             IMSVidWebDVD * This,
  2653.             /* [in] */ long lstream,
  2654.             /* [retval][out] */ VARIANT_BOOL *fEnabled);
  2655.         
  2656.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentSubpictureStream )( 
  2657.             IMSVidWebDVD * This,
  2658.             /* [retval][out] */ long *pVal);
  2659.         
  2660.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentSubpictureStream )( 
  2661.             IMSVidWebDVD * This,
  2662.             /* [in] */ long newVal);
  2663.         
  2664.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubpictureLanguage )( 
  2665.             IMSVidWebDVD * This,
  2666.             long lStream,
  2667.             /* [retval][out] */ BSTR *strLanguage);
  2668.         
  2669.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAudioStream )( 
  2670.             IMSVidWebDVD * This,
  2671.             /* [retval][out] */ long *pVal);
  2672.         
  2673.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentAudioStream )( 
  2674.             IMSVidWebDVD * This,
  2675.             /* [in] */ long newVal);
  2676.         
  2677.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioStreamsAvailable )( 
  2678.             IMSVidWebDVD * This,
  2679.             /* [retval][out] */ long *pVal);
  2680.         
  2681.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AnglesAvailable )( 
  2682.             IMSVidWebDVD * This,
  2683.             /* [retval][out] */ long *pVal);
  2684.         
  2685.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAngle )( 
  2686.             IMSVidWebDVD * This,
  2687.             /* [retval][out] */ long *pVal);
  2688.         
  2689.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentAngle )( 
  2690.             IMSVidWebDVD * This,
  2691.             /* [in] */ long newVal);
  2692.         
  2693.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubpictureStreamsAvailable )( 
  2694.             IMSVidWebDVD * This,
  2695.             /* [retval][out] */ long *pVal);
  2696.         
  2697.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubpictureOn )( 
  2698.             IMSVidWebDVD * This,
  2699.             /* [retval][out] */ VARIANT_BOOL *pVal);
  2700.         
  2701.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubpictureOn )( 
  2702.             IMSVidWebDVD * This,
  2703.             /* [in] */ VARIANT_BOOL newVal);
  2704.         
  2705.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDUniqueID )( 
  2706.             IMSVidWebDVD * This,
  2707.             /* [retval][out] */ BSTR *pVal);
  2708.         
  2709.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )( 
  2710.             IMSVidWebDVD * This,
  2711.             /* [in] */ VARIANT_BOOL fAccept,
  2712.             /* [in] */ BSTR strUserName,
  2713.             /* [in] */ BSTR strPassword);
  2714.         
  2715.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NotifyParentalLevelChange )( 
  2716.             IMSVidWebDVD * This,
  2717.             /* [in] */ VARIANT_BOOL newVal);
  2718.         
  2719.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )( 
  2720.             IMSVidWebDVD * This,
  2721.             /* [in] */ long lCountry,
  2722.             /* [in] */ BSTR strUserName,
  2723.             /* [in] */ BSTR strPassword);
  2724.         
  2725.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )( 
  2726.             IMSVidWebDVD * This,
  2727.             /* [in] */ long lParentalLevel,
  2728.             /* [in] */ BSTR strUserName,
  2729.             /* [in] */ BSTR strPassword);
  2730.         
  2731.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TitleParentalLevels )( 
  2732.             IMSVidWebDVD * This,
  2733.             /* [in] */ long lTitle,
  2734.             /* [retval][out] */ long *plParentalLevels);
  2735.         
  2736.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayerParentalCountry )( 
  2737.             IMSVidWebDVD * This,
  2738.             /* [retval][out] */ long *plCountryCode);
  2739.         
  2740.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayerParentalLevel )( 
  2741.             IMSVidWebDVD * This,
  2742.             /* [retval][out] */ long *plParentalLevel);
  2743.         
  2744.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Eject )( 
  2745.             IMSVidWebDVD * This);
  2746.         
  2747.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UOPValid )( 
  2748.             IMSVidWebDVD * This,
  2749.             /* [in] */ long lUOP,
  2750.             /* [retval][out] */ VARIANT_BOOL *pfValid);
  2751.         
  2752.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPRM )( 
  2753.             IMSVidWebDVD * This,
  2754.             /* [in] */ long lIndex,
  2755.             /* [retval][out] */ short *psSPRM);
  2756.         
  2757.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GPRM )( 
  2758.             IMSVidWebDVD * This,
  2759.             /* [in] */ long lIndex,
  2760.             /* [retval][out] */ short *psSPRM);
  2761.         
  2762.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GPRM )( 
  2763.             IMSVidWebDVD * This,
  2764.             /* [in] */ long lIndex,
  2765.             /* [in] */ short sValue);
  2766.         
  2767.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDTextStringType )( 
  2768.             IMSVidWebDVD * This,
  2769.             /* [in] */ long lLangIndex,
  2770.             /* [in] */ long lStringIndex,
  2771.             /* [retval][out] */ DVDTextStringType *pType);
  2772.         
  2773.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDTextString )( 
  2774.             IMSVidWebDVD * This,
  2775.             /* [in] */ long lLangIndex,
  2776.             /* [in] */ long lStringIndex,
  2777.             /* [retval][out] */ BSTR *pstrText);
  2778.         
  2779.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDTextNumberOfStrings )( 
  2780.             IMSVidWebDVD * This,
  2781.             /* [in] */ long lLangIndex,
  2782.             /* [retval][out] */ long *plNumOfStrings);
  2783.         
  2784.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDTextNumberOfLanguages )( 
  2785.             IMSVidWebDVD * This,
  2786.             /* [retval][out] */ long *plNumOfLangs);
  2787.         
  2788.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDTextLanguageLCID )( 
  2789.             IMSVidWebDVD * This,
  2790.             /* [in] */ long lLangIndex,
  2791.             /* [retval][out] */ long *lcid);
  2792.         
  2793.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegionChange )( 
  2794.             IMSVidWebDVD * This);
  2795.         
  2796.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDAdm )( 
  2797.             IMSVidWebDVD * This,
  2798.             /* [retval][out] */ IDispatch **pVal);
  2799.         
  2800.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteBookmark )( 
  2801.             IMSVidWebDVD * This);
  2802.         
  2803.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RestoreBookmark )( 
  2804.             IMSVidWebDVD * This);
  2805.         
  2806.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveBookmark )( 
  2807.             IMSVidWebDVD * This);
  2808.         
  2809.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )( 
  2810.             IMSVidWebDVD * This,
  2811.             /* [in] */ long lang,
  2812.             /* [in] */ long ext);
  2813.         
  2814.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )( 
  2815.             IMSVidWebDVD * This,
  2816.             /* [in] */ long lang,