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

模拟服务器

开发平台:

C/C++

  1. // MSVidCtl.idl : IDL source for MSVidCtl.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (MSVidCtl.tlb) and marshalling code.
  5. // Copyright (c) Microsoft Corporation 1998-2000
  6. //
  7. cpp_quote("//+-------------------------------------------------------------------------")
  8. cpp_quote("//")
  9. cpp_quote("//  Microsoft Windows")
  10. cpp_quote("//  Copyright (C) Microsoft Corporation, 1999-2000.")
  11. cpp_quote("//")
  12. cpp_quote("//--------------------------------------------------------------------------")
  13. cpp_quote("#pragma once")
  14. #include <olectl.h>
  15. #ifndef DO_NO_IMPORTS
  16. #ifndef TUNING_MODEL_ONLY
  17. import "mshtml.idl";
  18. import "mstve.idl";
  19. import "mstvca.idl";
  20. import "segment.idl";
  21. #endif
  22. #endif
  23. #ifndef TUNING_MODEL_ONLY
  24. typedef enum {
  25. dispidInputs,
  26. dispidOutputs,
  27. dispid_Inputs,
  28. dispid_Outputs,
  29. dispidVideoRenderers,
  30. dispidAudioRenderers,
  31. dispidFeatures,
  32. dispidInput,
  33. dispidOutput,
  34. dispidVideoRenderer,
  35. dispidAudioRenderer,
  36. dispidSelectedFeatures,
  37. dispidView,  // total graph control
  38. dispidBuild,
  39. dispidPause,
  40. dispidRun,
  41. dispidStop,
  42. dispidDecompose,
  43. dispidDisplaySize,
  44. dispidMaintainAspectRatio,
  45. dispidColorKey,
  46. dispidStateChange,
  47. dispidgetState,
  48. dispidunbind,
  49. dispidbind,
  50. dispidDisableVideo,
  51. dispidDisableAudio,
  52. dispidViewNext,
  53. } MSViddispidList;
  54. typedef enum {
  55.     dslDefaultSize,
  56. dslSourceSize = 0,   // synonym
  57. dslHalfSourceSize,
  58. dslDoubleSourceSize,
  59. dslFullScreen,
  60. dslHalfScreen,
  61. dslQuarterScreen,
  62. dslSixteenthScreen
  63. } DisplaySizeList;
  64. typedef enum {
  65.     STATE_UNBUILT =-1,
  66.     STATE_STOP,
  67.     STATE_PAUSE,
  68.     STATE_PLAY,
  69. } MSVidCtlStateList;
  70. //*****************************************************************************
  71. ///////////////////////////////////////////////////////////////////////////////
  72. //
  73. //  the full Viewer control
  74. //
  75. ///////////////////////////////////////////////////////////////////////////////
  76. //*****************************************************************************
  77.         ///////////////////////////////////////////////////////////////////////////////////////
  78.         [
  79.                 object,
  80.                 uuid(B0EDF162-910A-11D2-B632-00C04F79498E),
  81.                 dual,
  82.                 hidden,
  83.                 nonextensible,
  84.                 helpstring("MS Video Control Interface"),
  85.                 pointer_default(unique)
  86.         ]
  87.         interface IMSVidCtl : IDispatch
  88.         {
  89.                 // stock props
  90.                 [propget, id(DISPID_AUTOSIZE)]
  91. HRESULT AutoSize([out,retval]VARIANT_BOOL* pbool);
  92.                 [propput, id(DISPID_AUTOSIZE)]
  93. HRESULT AutoSize([in]VARIANT_BOOL vbool);
  94.                 [propget, id(DISPID_BACKCOLOR)]
  95. HRESULT BackColor([out,retval]OLE_COLOR* backcolor);
  96.                 [propput, id(DISPID_BACKCOLOR)]
  97. HRESULT BackColor([in]OLE_COLOR backcolor);
  98.                 [propget, id(DISPID_ENABLED)]
  99. HRESULT Enabled([out,retval]VARIANT_BOOL* pbool);
  100.                 [propput, id(DISPID_ENABLED)]
  101. HRESULT Enabled([in]VARIANT_BOOL vbool);
  102.                 [propget, id(DISPID_TABSTOP)]
  103. HRESULT TabStop([out, retval]VARIANT_BOOL* pbool);
  104.                 [propput, id(DISPID_TABSTOP)]
  105. HRESULT TabStop([in]VARIANT_BOOL vbool);
  106.                 [propget, id(DISPID_HWND)]
  107. HRESULT Window([out, retval]HWND* phwnd);
  108.                 [id(DISPID_REFRESH)]
  109. HRESULT Refresh();
  110. // pseudo video renderer properties/methods that require access to ole container 
  111. [propget, id(dispidDisplaySize)] 
  112. HRESULT DisplaySize([out,retval]DisplaySizeList *CurrentValue);
  113. [propput, id(dispidDisplaySize)] 
  114. HRESULT DisplaySize([in]DisplaySizeList NewValue);
  115. [propget, id(dispidMaintainAspectRatio)] 
  116. HRESULT MaintainAspectRatio([out,retval]VARIANT_BOOL *CurrentValue);
  117. [propput, id(dispidMaintainAspectRatio)]
  118. HRESULT MaintainAspectRatio([in]VARIANT_BOOL NewValue);
  119. // non-stock visual propertiies that require coordination/implementation with
  120. // core ctl drawing/painting function
  121. [propget, id(dispidColorKey)] 
  122. HRESULT ColorKey([out,retval]OLE_COLOR *CurrentValue);
  123. [propput, id(dispidColorKey)]
  124. HRESULT ColorKey([in]OLE_COLOR NewValue);
  125.                 // availablee collection
  126.                 [propget, id(dispidInputs), helpstring("Available Input Devices")] HRESULT InputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
  127.                 [propget, id(dispidOutputs), helpstring("Available Output Devices")] HRESULT OutputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
  128.                 [propget, id(dispid_Inputs), hidden, restricted, helpstring("Available Input Devices")] HRESULT _InputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
  129.                 [propget, id(dispid_Outputs), hidden, restricted, helpstring("Available Output Devices")] HRESULT _OutputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
  130.                 [propget, id(dispidVideoRenderers), helpstring("Available Video Renderers")] HRESULT VideoRenderersAvailable([out, retval] IMSVidVideoRendererDevices * *pVal);
  131.                 [propget, id(dispidAudioRenderers), helpstring("Available Audio Renderers")] HRESULT AudioRenderersAvailable([out, retval] IMSVidAudioRendererDevices * *pVal);
  132.                 [propget, id(dispidFeatures), helpstring("Available Features")] HRESULT FeaturesAvailable([out, retval] IMSVidFeatures * *pVal);
  133.                 // current selections
  134.                 [propget, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([out, retval] IMSVidInputDevice **pVal);
  135.                 [propput, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([in] IMSVidInputDevice *pVal);
  136.                 [propget, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([out, retval] IMSVidOutputDevices **pVal);
  137.                 [propput, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([in] IMSVidOutputDevices *pVal);
  138.                 [propget, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([out, retval] IMSVidVideoRenderer **pVal);
  139.                 [propput, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([in] IMSVidVideoRenderer *pVal);
  140.                 [propget, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([out, retval] IMSVidAudioRenderer **pVal);
  141.                 [propput, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([in] IMSVidAudioRenderer *pVal);
  142.                 [propget, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([out, retval] IMSVidFeatures **pVal);
  143.                 [propput, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([in] IMSVidFeatures *pVal);
  144.                 [propget, id(dispidgetState), helpstring("Check the current MSVidCtl state.")] HRESULT State([out, retval]MSVidCtlStateList* lState);
  145.                 // methods
  146.                 
  147.                 [id(dispidView), helpstring("Find an input device for viewing the specified item. This may be a string(VT_BSTR) or an object(VT_UNKNOWN).")] HRESULT View([in] VARIANT* v);
  148.                 [id(dispidBuild), helpstring("Compose the graph")] HRESULT Build();
  149.                 [id(dispidPause), helpstring("Stop the graph")] HRESULT Pause();
  150.                 [id(dispidRun), helpstring("Compose the graph if necessary and start it running")] HRESULT Run();
  151.                 [id(dispidStop), helpstring("Stop the graph")] HRESULT Stop();
  152.                 [id(dispidDecompose), helpstring("Disassemble the graph(Inverse of Build)")] HRESULT Decompose();
  153.                 [id(dispidDisableVideo), helpstring("set active video renderer to nothing")] HRESULT DisableVideo();
  154.                 [id(dispidDisableAudio), helpstring("set active Audio renderer to nothing")] HRESULT DisableAudio();
  155.                 [id(dispidViewNext), helpstring("Find another input device for viewing the specified item. Works like View except skips current input")] HRESULT ViewNext([in] VARIANT* v);
  156.         };
  157.  ///Added for the mseventbinder
  158. [
  159.         object,
  160.         dual,
  161.         oleautomation,
  162.         hidden,
  163.         nonextensible,
  164.         pointer_default(unique),
  165. uuid(C3A9F406-2222-436D-86D5-BA3229279EFB),
  166.         helpstring("IMSEventBinder Interface"),
  167. ]
  168. interface IMSEventBinder : IDispatch {
  169. [id(dispidbind), helpstring("method Bind")] HRESULT Bind([in]LPDISPATCH pEventObject, [in]BSTR EventName, [in]BSTR EventHandler, [out, retval] LONG * CancelID);
  170. [id(dispidunbind), helpstring("method Unbind")] HRESULT Unbind([in]DWORD CancelCookie);
  171. };
  172. ////    
  173. #endif // TUNING_MODEL_ONLY
  174. //*****************************************************************************
  175. //*****************************************************************************
  176. //////////////////////////////////////////////////////////////////////////////////////
  177. // Type Library for MS Video Control
  178. //////////////////////////////////////////////////////////////////////////////////////
  179. //*****************************************************************************
  180. //*****************************************************************************
  181. [
  182.         uuid(B0EDF154-910A-11D2-B632-00C04F79498E),
  183.         version(1.0),
  184.         helpstring("MS Video Control 1.0 Type Library")
  185. ]
  186. library MSVidCtlLib
  187. {
  188.         importlib("stdole2.tlb");
  189. #ifndef TUNING_MODEL_ONLY
  190. ///////////////////////////////////////////////////////////////////////////////////////
  191. // event interfaces
  192. ///////////////////////////////////////////////////////////////////////////////////////
  193.   [
  194.                 uuid(B0EDF164-910A-11D2-B632-00C04F79498E),
  195.                 helpstring("MS Video Control Events Interface")
  196.         ]
  197.         dispinterface _IMSVidCtlEvents
  198.         {
  199.         properties:
  200.                 //  Event interface has no properties
  201. methods:
  202.             [id(DISPID_CLICK)] void Click();
  203.             [id(DISPID_DBLCLICK)] void DblClick();
  204.             [id(DISPID_KEYDOWN)] void KeyDown(short* KeyCode, short Shift);
  205.             [id(DISPID_KEYPRESS)] void KeyPress(short* KeyAscii);
  206.             [id(DISPID_KEYUP)] void KeyUp(short* KeyCode, short Shift);
  207.             [id(DISPID_MOUSEDOWN)] void MouseDown(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  208.             [id(DISPID_MOUSEMOVE)] void MouseMove(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  209.             [id(DISPID_MOUSEUP)] void MouseUp(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  210.             [id(DISPID_ERROREVENT)] void Error(short Number, BSTR* Description, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* CancelDisplay);
  211.             [id(dispidStateChange)] void StateChange(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState);
  212.         };
  213.       
  214. //*****************************************************************************
  215. ///////////////////////////////////////////////////////////////////////////////////////
  216. // device classes
  217. ///////////////////////////////////////////////////////////////////////////////////////
  218. //*****************************************************************************
  219. // inputs
  220.         ///////////////////////////////////////////////////////////////////////////////////////
  221.         [
  222.                 uuid(1C15D484-911D-11d2-B632-00C04F79498E),
  223.                 helpstring("MS Video Control Analog TV Tuner Device Class")
  224.         ]
  225.         coclass MSVidAnalogTunerDevice
  226.         {
  227.                 [default] interface IMSVidAnalogTuner;
  228.                 [default, source] interface IMSVidAnalogTunerEvent;
  229.                 interface IMSVidGraphSegment;
  230.         };
  231.         ///////////////////////////////////////////////////////////////////////////////////////
  232.         [
  233.                 uuid(A2E3074E-6C3D-11d3-B653-00C04F79498E),
  234.                 helpstring("MS Video Control BDA Tuner Device Class")
  235.         ]
  236.         coclass MSVidBDATunerDevice
  237.         {
  238.                 [default] interface IMSVidTuner;
  239.                 [default, source] interface IMSVidTunerEvent;
  240.                 interface IMSVidGraphSegment;
  241.         };
  242.         ///////////////////////////////////////////////////////////////////////////////////////
  243.         [
  244.                 uuid(37B0353C-A4C8-11d2-B634-00C04F79498E),
  245.                 helpstring("MS Video Control File Playback Device Class")
  246.         ]
  247.         coclass MSVidFilePlaybackDevice
  248.         {
  249.                 [default] interface IMSVidFilePlayback;
  250.                 [default, source] interface IMSVidFilePlaybackEvent;
  251.                 interface IMSVidGraphSegment;
  252.         };
  253.         [
  254.             uuid(011B3619-FE63-4814-8A84-15A194CE9CE3),
  255.             helpstring("MSVidWebDVD Class") 
  256.         ]
  257.         coclass MSVidWebDVD
  258.         {
  259.             [default] interface IMSVidWebDVD;
  260.             [default, source] interface IMSVidWebDVDEvent;
  261.             interface IMSVidGraphSegment;
  262.         };
  263.         [
  264.             uuid(FA7C375B-66A7-4280-879D-FD459C84BB02),
  265.             helpstring("MSVidWebDVDAdm Class")
  266.         ]
  267.         coclass MSVidWebDVDAdm
  268.         {
  269.             [default] interface IMSVidWebDVDAdm;
  270.         };
  271. // rendererers
  272.         ///////////////////////////////////////////////////////////////////////////////////////
  273.         [
  274.             uuid(37B03543-A4C8-11d2-B634-00C04F79498E),
  275.             helpstring("MS Video Control Video Renderer Class")
  276.         ]
  277.         coclass MSVidVideoRenderer
  278.         {
  279.             [default] interface IMSVidVideoRenderer;
  280.             [default, source] interface IMSVidVideoRendererEvent;
  281.             interface IMSVidGraphSegment;
  282.         };
  283.         ///////////////////////////////////////////////////////////////////////////////////////
  284.         [
  285.             uuid(37B03544-A4C8-11d2-B634-00C04F79498E),
  286.             helpstring("MS Video Control Audio Renderer Class")
  287.         ]
  288.         coclass MSVidAudioRenderer
  289.         {
  290.             [default] interface IMSVidAudioRenderer;
  291.             [default, source] interface IMSVidAudioRendererEvent;
  292.             interface IMSVidGraphSegment;
  293.         };
  294. // features
  295.         [
  296.                 uuid(334125C0-77E5-11d3-B653-00C04F79498E),
  297.                 helpstring("MS Video Control Standard Data Services for Broadcast IP through NDIS stack")
  298.         ]
  299.         coclass MSVidDataServices
  300.         {
  301.                 interface IMSVidDataServices;
  302.         };
  303.         [
  304.             uuid(7F9CB14D-48E4-43b6-9346-1AEBC39C64D3),
  305.             helpstring("MS Video Control Standard Closed Captioning")
  306.         ]
  307.         coclass MSVidClosedCaptioning
  308.         {
  309.             interface IMSVidClosedCaptioning;
  310.         };
  311. [
  312. uuid(1600F001-6666-4f66-B1E2-BF3C9FBB9BA6),
  313. helpstring("MS Video Control TVE Feature Segment"),
  314. ]
  315. coclass MSVidTVEGSeg 
  316. {
  317. [default] interface IMSVidTVEGSeg;
  318. interface ITVEFeature; // 'active' service, outgoing events
  319. // interface IMSVidGraphSegment; // standard graph segment methods
  320.   };
  321. [
  322. uuid(1600F101-6666-4f66-B1E2-BF3C9FBB9BA6),
  323. helpstring("MS Video Control CA Feature Segment"),
  324. ]
  325. coclass MSVidCAGSeg 
  326. {
  327. [default] interface IMSVidCAGSeg;
  328. interface ICAManager; // aggregates with this..
  329.   // interface IMSVidGraphSegment; // standard graph segment methods
  330. };
  331. ///////////////////////////////////////////////////////////////////////////////////////
  332. // control classes
  333. ///////////////////////////////////////////////////////////////////////////////////////
  334.         ///////////////////////////////////////////////////////////////////////////////////////
  335.         [
  336.                 uuid(B0EDF163-910A-11D2-B632-00C04F79498E),
  337. control,
  338.                 helpstring("MS Video Control Class")
  339.         ]
  340.         coclass MSVidCtl
  341.         {
  342.                 [default] interface IMSVidCtl;
  343.                 [default, source] dispinterface _IMSVidCtlEvents;
  344.         };
  345. ///////////////////////////////////////////////////////////////////////////////////////
  346. // device collections
  347. ///////////////////////////////////////////////////////////////////////////////////////
  348.         [
  349.                 uuid(C5702CCC-9B79-11d3-B654-00C04F79498E),
  350.                 helpstring("MS Video Control Input Device Collection Class")
  351.         ]
  352.         coclass MSVidInputDevices
  353.         {
  354.                 [default] interface IMSVidInputDevices;
  355.         };
  356.         [
  357.                 uuid(C5702CCD-9B79-11d3-B654-00C04F79498E),
  358.                 helpstring("MS Video Control Output Device Collection Class")
  359.         ]
  360.         coclass MSVidOutputDevices
  361.         {
  362.                 [default] interface IMSVidOutputDevices;
  363.         };
  364.         [
  365.                 uuid(C5702CCE-9B79-11d3-B654-00C04F79498E),
  366.                 helpstring("MS Video Control Video Renderer Device Collection Class")
  367.         ]
  368.         coclass MSVidVideoRendererDevices
  369.         {
  370.                 [default] interface IMSVidVideoRendererDevices;
  371.         };
  372.         [
  373.                 uuid(C5702CCF-9B79-11d3-B654-00C04F79498E),
  374.                 helpstring("MS Video Control Audio Renderer Device Collection Class")
  375.         ]
  376.         coclass MSVidAudioRendererDevices
  377.         {
  378.                 [default] interface IMSVidAudioRendererDevices;
  379.         };
  380.         [
  381.                 uuid(C5702CD0-9B79-11d3-B654-00C04F79498E),
  382.                 helpstring("MS Video Control Feature Collection Class")
  383.         ]
  384.         coclass MSVidFeatures
  385.         {
  386.                 [default] interface IMSVidFeatures;
  387.         };
  388. ///////////////////////////////////////////////////////////////////////////////////////
  389. // composites
  390. ///////////////////////////////////////////////////////////////////////////////////////
  391.         [
  392.                 uuid(2764BCE5-CC39-11D2-B639-00C04F79498E),
  393.                 helpstring("MS Video Control Generic Composition Class")
  394.         ]
  395.         coclass MSVidGenericComposite
  396.         {
  397.                 interface IMSVidCompositionSegment;
  398.         };
  399.         [
  400.                 uuid(E18AF75A-08AF-11d3-B64A-00C04F79498E),
  401.                 helpstring("MS Video Control Custom Composition for Analog Capture to Overlay Mixer")
  402.         ]
  403.         coclass MSVidAnalogCaptureToOverlayMixer
  404.         {
  405.                 interface IMSVidCompositionSegment;
  406.         };
  407.         [
  408.                 uuid(C5702CD6-9B79-11d3-B654-00C04F79498E),
  409.                 helpstring("MS Video Control Custom Composition for Analog Capture to Data Services")
  410.         ]
  411.         coclass MSVidAnalogCaptureToDataServices
  412.         {
  413.                 interface IMSVidCompositionSegment;
  414.         };
  415.         [
  416.                 uuid(267db0b3-55e3-4902-949b-df8f5cec0191),
  417.                 helpstring("MS Video Control Custom Composition for WebDVD to Overlay Mixer")
  418.         ]
  419.         coclass MSVidWebDVDToVideoRenderer
  420.         {
  421.                 interface IMSVidCompositionSegment;
  422.         };
  423.         [
  424.                 uuid(6AD28EE1-5002-4e71-AAF7-BD077907B1A4),
  425.                 helpstring("MS Video Control Custom Composition for Mpeg2 Decoder to Closed Captioning")
  426.         ]
  427.         coclass MSVidMPEG2DecoderToClosedCaptioning
  428.         {
  429.                 interface IMSVidCompositionSegment;
  430.         };
  431. ///////////////////////////////////////////////////////////////////////////////////////
  432. // Miscellaneous
  433. ///////////////////////////////////////////////////////////////////////////////////////
  434.         [
  435.                 uuid(11973C25-3529-40e4-9AB1-DDC164CBEF49),
  436.                 helpstring("MS Video Control Rendering Behavior Factory")
  437.         ]
  438.         coclass MSVidRenderFactory
  439.         {
  440.                 interface IElementBehaviorFactory;
  441.         };
  442.         // Events
  443.     [
  444.     uuid(577FAA18-4518-445E-8F70-1473F8CF4BA4),
  445.     helpstring("MSEventBinder Class")
  446.     ]
  447.     coclass MSEventBinder
  448.     {
  449.         [default] interface IMSEventBinder;
  450.     };
  451.         // vidrect class
  452.         [
  453.             hidden, restricted,
  454.             uuid(CB4276E6-7D5F-4cf1-9727-629C5E6DB6AE),
  455.             helpstring("Automation compliant scalable rectangle Class")
  456.         ]
  457.         coclass MSVidRect
  458.         {
  459.             [default] interface IMSVidRect;
  460.         };
  461. // NOTE: there is no object factory for the following classes.  
  462.     // the implementation for the underlying code is a c++ abstract base class.  
  463.     // this coclass is only provided here to force vb to expose the base interface 
  464.     // to enable polymorphic access to derived objects
  465.     [
  466. hidden, restricted,
  467.         uuid(6E40476F-9C49-4c3e-8BB9-8587958EFF74),
  468.         helpstring("dummy class to expose base interface to VB")
  469.     ]
  470.     coclass MSVidDevice
  471.     {
  472.         [default] interface IMSVidDevice;
  473.     };
  474.     [
  475. hidden, restricted,
  476.         uuid(AC1972F2-138A-4ca3-90DA-AE51112EDA28),
  477.         helpstring("dummy class to expose base interface to VB")
  478.     ]
  479.     coclass MSVidInputDevice
  480.     {
  481.         [default] interface IMSVidInputDevice;
  482.     };
  483.     [
  484. hidden, restricted,
  485.         uuid(95F4820B-BB3A-4e2d-BC64-5B817BC2C30E),
  486.         helpstring("dummy class to expose base interface to VB")
  487.     ]
  488.     coclass MSVidVideoInputDevice
  489.     {
  490.         [default] interface IMSVidVideoInputDevice;
  491.     };
  492.     [
  493. hidden, restricted,
  494.         uuid(1990D634-1A5E-4071-A34A-53AAFFCE9F36),
  495.         helpstring("dummy class to expose base interface to VB")
  496.     ]
  497.     coclass MSVidVideoPlaybackDevice
  498.     {
  499.         [default] interface IMSVidPlayback;
  500.     };
  501.     [
  502. hidden, restricted,
  503.         uuid(7748530B-C08A-47ea-B24C-BE8695FF405F),
  504.         helpstring("dummy class to expose base interface to VB")
  505.     ]
  506.     coclass MSVidFeature
  507.     {
  508.         [default] interface IMSVidFeature;
  509.     };
  510.     [
  511. hidden, restricted,
  512.         uuid(87EB890D-03AD-4e9d-9866-376E5EC572ED),
  513.         helpstring("dummy class to expose base interface to VB")
  514.     ]
  515.     coclass MSVidOutput
  516.     {
  517.         [default] interface IMSVidOutputDevice;
  518.     };
  519. #endif //TUNING_MODEL_ONLY 
  520. };
  521. // end of file msvidctl.idl