msvidctl.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:22k
- // MSVidCtl.idl : IDL source for MSVidCtl.dll
- //
- // This file will be processed by the MIDL tool to
- // produce the type library (MSVidCtl.tlb) and marshalling code.
- // Copyright (c) Microsoft Corporation 1998-2000
- //
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//")
- cpp_quote("// Microsoft Windows")
- cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2000.")
- cpp_quote("//")
- cpp_quote("//--------------------------------------------------------------------------")
- cpp_quote("#pragma once")
- #include <olectl.h>
- #ifndef DO_NO_IMPORTS
- #ifndef TUNING_MODEL_ONLY
- import "mshtml.idl";
- import "mstve.idl";
- import "mstvca.idl";
- import "segment.idl";
- #endif
- #endif
- #ifndef TUNING_MODEL_ONLY
- typedef enum {
- dispidInputs,
- dispidOutputs,
- dispid_Inputs,
- dispid_Outputs,
- dispidVideoRenderers,
- dispidAudioRenderers,
- dispidFeatures,
- dispidInput,
- dispidOutput,
- dispidVideoRenderer,
- dispidAudioRenderer,
- dispidSelectedFeatures,
- dispidView, // total graph control
- dispidBuild,
- dispidPause,
- dispidRun,
- dispidStop,
- dispidDecompose,
- dispidDisplaySize,
- dispidMaintainAspectRatio,
- dispidColorKey,
- dispidStateChange,
- dispidgetState,
- dispidunbind,
- dispidbind,
- dispidDisableVideo,
- dispidDisableAudio,
- dispidViewNext,
- } MSViddispidList;
- typedef enum {
- dslDefaultSize,
- dslSourceSize = 0, // synonym
- dslHalfSourceSize,
- dslDoubleSourceSize,
- dslFullScreen,
- dslHalfScreen,
- dslQuarterScreen,
- dslSixteenthScreen
- } DisplaySizeList;
- typedef enum {
- STATE_UNBUILT =-1,
- STATE_STOP,
- STATE_PAUSE,
- STATE_PLAY,
- } MSVidCtlStateList;
- //*****************************************************************************
- ///////////////////////////////////////////////////////////////////////////////
- //
- // the full Viewer control
- //
- ///////////////////////////////////////////////////////////////////////////////
- //*****************************************************************************
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- object,
- uuid(B0EDF162-910A-11D2-B632-00C04F79498E),
- dual,
- hidden,
- nonextensible,
- helpstring("MS Video Control Interface"),
- pointer_default(unique)
- ]
- interface IMSVidCtl : IDispatch
- {
- // stock props
- [propget, id(DISPID_AUTOSIZE)]
- HRESULT AutoSize([out,retval]VARIANT_BOOL* pbool);
- [propput, id(DISPID_AUTOSIZE)]
- HRESULT AutoSize([in]VARIANT_BOOL vbool);
- [propget, id(DISPID_BACKCOLOR)]
- HRESULT BackColor([out,retval]OLE_COLOR* backcolor);
- [propput, id(DISPID_BACKCOLOR)]
- HRESULT BackColor([in]OLE_COLOR backcolor);
- [propget, id(DISPID_ENABLED)]
- HRESULT Enabled([out,retval]VARIANT_BOOL* pbool);
- [propput, id(DISPID_ENABLED)]
- HRESULT Enabled([in]VARIANT_BOOL vbool);
- [propget, id(DISPID_TABSTOP)]
- HRESULT TabStop([out, retval]VARIANT_BOOL* pbool);
- [propput, id(DISPID_TABSTOP)]
- HRESULT TabStop([in]VARIANT_BOOL vbool);
- [propget, id(DISPID_HWND)]
- HRESULT Window([out, retval]HWND* phwnd);
- [id(DISPID_REFRESH)]
- HRESULT Refresh();
- // pseudo video renderer properties/methods that require access to ole container
- [propget, id(dispidDisplaySize)]
- HRESULT DisplaySize([out,retval]DisplaySizeList *CurrentValue);
- [propput, id(dispidDisplaySize)]
- HRESULT DisplaySize([in]DisplaySizeList NewValue);
- [propget, id(dispidMaintainAspectRatio)]
- HRESULT MaintainAspectRatio([out,retval]VARIANT_BOOL *CurrentValue);
- [propput, id(dispidMaintainAspectRatio)]
- HRESULT MaintainAspectRatio([in]VARIANT_BOOL NewValue);
- // non-stock visual propertiies that require coordination/implementation with
- // core ctl drawing/painting function
- [propget, id(dispidColorKey)]
- HRESULT ColorKey([out,retval]OLE_COLOR *CurrentValue);
- [propput, id(dispidColorKey)]
- HRESULT ColorKey([in]OLE_COLOR NewValue);
- // availablee collection
- [propget, id(dispidInputs), helpstring("Available Input Devices")] HRESULT InputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
- [propget, id(dispidOutputs), helpstring("Available Output Devices")] HRESULT OutputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
- [propget, id(dispid_Inputs), hidden, restricted, helpstring("Available Input Devices")] HRESULT _InputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
- [propget, id(dispid_Outputs), hidden, restricted, helpstring("Available Output Devices")] HRESULT _OutputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
- [propget, id(dispidVideoRenderers), helpstring("Available Video Renderers")] HRESULT VideoRenderersAvailable([out, retval] IMSVidVideoRendererDevices * *pVal);
- [propget, id(dispidAudioRenderers), helpstring("Available Audio Renderers")] HRESULT AudioRenderersAvailable([out, retval] IMSVidAudioRendererDevices * *pVal);
- [propget, id(dispidFeatures), helpstring("Available Features")] HRESULT FeaturesAvailable([out, retval] IMSVidFeatures * *pVal);
- // current selections
- [propget, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([out, retval] IMSVidInputDevice **pVal);
- [propput, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([in] IMSVidInputDevice *pVal);
- [propget, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([out, retval] IMSVidOutputDevices **pVal);
- [propput, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([in] IMSVidOutputDevices *pVal);
- [propget, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([out, retval] IMSVidVideoRenderer **pVal);
- [propput, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([in] IMSVidVideoRenderer *pVal);
- [propget, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([out, retval] IMSVidAudioRenderer **pVal);
- [propput, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([in] IMSVidAudioRenderer *pVal);
- [propget, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([out, retval] IMSVidFeatures **pVal);
- [propput, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([in] IMSVidFeatures *pVal);
- [propget, id(dispidgetState), helpstring("Check the current MSVidCtl state.")] HRESULT State([out, retval]MSVidCtlStateList* lState);
- // methods
-
- [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);
- [id(dispidBuild), helpstring("Compose the graph")] HRESULT Build();
- [id(dispidPause), helpstring("Stop the graph")] HRESULT Pause();
- [id(dispidRun), helpstring("Compose the graph if necessary and start it running")] HRESULT Run();
- [id(dispidStop), helpstring("Stop the graph")] HRESULT Stop();
- [id(dispidDecompose), helpstring("Disassemble the graph(Inverse of Build)")] HRESULT Decompose();
- [id(dispidDisableVideo), helpstring("set active video renderer to nothing")] HRESULT DisableVideo();
- [id(dispidDisableAudio), helpstring("set active Audio renderer to nothing")] HRESULT DisableAudio();
- [id(dispidViewNext), helpstring("Find another input device for viewing the specified item. Works like View except skips current input")] HRESULT ViewNext([in] VARIANT* v);
- };
- ///Added for the mseventbinder
- [
- object,
- dual,
- oleautomation,
- hidden,
- nonextensible,
- pointer_default(unique),
- uuid(C3A9F406-2222-436D-86D5-BA3229279EFB),
- helpstring("IMSEventBinder Interface"),
- ]
- interface IMSEventBinder : IDispatch {
- [id(dispidbind), helpstring("method Bind")] HRESULT Bind([in]LPDISPATCH pEventObject, [in]BSTR EventName, [in]BSTR EventHandler, [out, retval] LONG * CancelID);
- [id(dispidunbind), helpstring("method Unbind")] HRESULT Unbind([in]DWORD CancelCookie);
- };
- ////
- #endif // TUNING_MODEL_ONLY
- //*****************************************************************************
- //*****************************************************************************
- //////////////////////////////////////////////////////////////////////////////////////
- // Type Library for MS Video Control
- //////////////////////////////////////////////////////////////////////////////////////
- //*****************************************************************************
- //*****************************************************************************
- [
- uuid(B0EDF154-910A-11D2-B632-00C04F79498E),
- version(1.0),
- helpstring("MS Video Control 1.0 Type Library")
- ]
- library MSVidCtlLib
- {
- importlib("stdole2.tlb");
- #ifndef TUNING_MODEL_ONLY
- ///////////////////////////////////////////////////////////////////////////////////////
- // event interfaces
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(B0EDF164-910A-11D2-B632-00C04F79498E),
- helpstring("MS Video Control Events Interface")
- ]
- dispinterface _IMSVidCtlEvents
- {
- properties:
- // Event interface has no properties
- methods:
- [id(DISPID_CLICK)] void Click();
- [id(DISPID_DBLCLICK)] void DblClick();
- [id(DISPID_KEYDOWN)] void KeyDown(short* KeyCode, short Shift);
- [id(DISPID_KEYPRESS)] void KeyPress(short* KeyAscii);
- [id(DISPID_KEYUP)] void KeyUp(short* KeyCode, short Shift);
- [id(DISPID_MOUSEDOWN)] void MouseDown(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
- [id(DISPID_MOUSEMOVE)] void MouseMove(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
- [id(DISPID_MOUSEUP)] void MouseUp(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
- [id(DISPID_ERROREVENT)] void Error(short Number, BSTR* Description, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* CancelDisplay);
- [id(dispidStateChange)] void StateChange(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState);
- };
-
- //*****************************************************************************
- ///////////////////////////////////////////////////////////////////////////////////////
- // device classes
- ///////////////////////////////////////////////////////////////////////////////////////
- //*****************************************************************************
- // inputs
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(1C15D484-911D-11d2-B632-00C04F79498E),
- helpstring("MS Video Control Analog TV Tuner Device Class")
- ]
- coclass MSVidAnalogTunerDevice
- {
- [default] interface IMSVidAnalogTuner;
- [default, source] interface IMSVidAnalogTunerEvent;
- interface IMSVidGraphSegment;
- };
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(A2E3074E-6C3D-11d3-B653-00C04F79498E),
- helpstring("MS Video Control BDA Tuner Device Class")
- ]
- coclass MSVidBDATunerDevice
- {
- [default] interface IMSVidTuner;
- [default, source] interface IMSVidTunerEvent;
- interface IMSVidGraphSegment;
- };
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(37B0353C-A4C8-11d2-B634-00C04F79498E),
- helpstring("MS Video Control File Playback Device Class")
- ]
- coclass MSVidFilePlaybackDevice
- {
- [default] interface IMSVidFilePlayback;
- [default, source] interface IMSVidFilePlaybackEvent;
- interface IMSVidGraphSegment;
- };
- [
- uuid(011B3619-FE63-4814-8A84-15A194CE9CE3),
- helpstring("MSVidWebDVD Class")
- ]
- coclass MSVidWebDVD
- {
- [default] interface IMSVidWebDVD;
- [default, source] interface IMSVidWebDVDEvent;
- interface IMSVidGraphSegment;
- };
- [
- uuid(FA7C375B-66A7-4280-879D-FD459C84BB02),
- helpstring("MSVidWebDVDAdm Class")
- ]
- coclass MSVidWebDVDAdm
- {
- [default] interface IMSVidWebDVDAdm;
- };
- // rendererers
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(37B03543-A4C8-11d2-B634-00C04F79498E),
- helpstring("MS Video Control Video Renderer Class")
- ]
- coclass MSVidVideoRenderer
- {
- [default] interface IMSVidVideoRenderer;
- [default, source] interface IMSVidVideoRendererEvent;
- interface IMSVidGraphSegment;
- };
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(37B03544-A4C8-11d2-B634-00C04F79498E),
- helpstring("MS Video Control Audio Renderer Class")
- ]
- coclass MSVidAudioRenderer
- {
- [default] interface IMSVidAudioRenderer;
- [default, source] interface IMSVidAudioRendererEvent;
- interface IMSVidGraphSegment;
- };
- // features
- [
- uuid(334125C0-77E5-11d3-B653-00C04F79498E),
- helpstring("MS Video Control Standard Data Services for Broadcast IP through NDIS stack")
- ]
- coclass MSVidDataServices
- {
- interface IMSVidDataServices;
- };
- [
- uuid(7F9CB14D-48E4-43b6-9346-1AEBC39C64D3),
- helpstring("MS Video Control Standard Closed Captioning")
- ]
- coclass MSVidClosedCaptioning
- {
- interface IMSVidClosedCaptioning;
- };
- [
- uuid(1600F001-6666-4f66-B1E2-BF3C9FBB9BA6),
- helpstring("MS Video Control TVE Feature Segment"),
- ]
- coclass MSVidTVEGSeg
- {
- [default] interface IMSVidTVEGSeg;
- interface ITVEFeature; // 'active' service, outgoing events
- // interface IMSVidGraphSegment; // standard graph segment methods
- };
- [
- uuid(1600F101-6666-4f66-B1E2-BF3C9FBB9BA6),
- helpstring("MS Video Control CA Feature Segment"),
- ]
- coclass MSVidCAGSeg
- {
- [default] interface IMSVidCAGSeg;
- interface ICAManager; // aggregates with this..
- // interface IMSVidGraphSegment; // standard graph segment methods
- };
- ///////////////////////////////////////////////////////////////////////////////////////
- // control classes
- ///////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(B0EDF163-910A-11D2-B632-00C04F79498E),
- control,
- helpstring("MS Video Control Class")
- ]
- coclass MSVidCtl
- {
- [default] interface IMSVidCtl;
- [default, source] dispinterface _IMSVidCtlEvents;
- };
- ///////////////////////////////////////////////////////////////////////////////////////
- // device collections
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(C5702CCC-9B79-11d3-B654-00C04F79498E),
- helpstring("MS Video Control Input Device Collection Class")
- ]
- coclass MSVidInputDevices
- {
- [default] interface IMSVidInputDevices;
- };
- [
- uuid(C5702CCD-9B79-11d3-B654-00C04F79498E),
- helpstring("MS Video Control Output Device Collection Class")
- ]
- coclass MSVidOutputDevices
- {
- [default] interface IMSVidOutputDevices;
- };
- [
- uuid(C5702CCE-9B79-11d3-B654-00C04F79498E),
- helpstring("MS Video Control Video Renderer Device Collection Class")
- ]
- coclass MSVidVideoRendererDevices
- {
- [default] interface IMSVidVideoRendererDevices;
- };
- [
- uuid(C5702CCF-9B79-11d3-B654-00C04F79498E),
- helpstring("MS Video Control Audio Renderer Device Collection Class")
- ]
- coclass MSVidAudioRendererDevices
- {
- [default] interface IMSVidAudioRendererDevices;
- };
- [
- uuid(C5702CD0-9B79-11d3-B654-00C04F79498E),
- helpstring("MS Video Control Feature Collection Class")
- ]
- coclass MSVidFeatures
- {
- [default] interface IMSVidFeatures;
- };
- ///////////////////////////////////////////////////////////////////////////////////////
- // composites
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(2764BCE5-CC39-11D2-B639-00C04F79498E),
- helpstring("MS Video Control Generic Composition Class")
- ]
- coclass MSVidGenericComposite
- {
- interface IMSVidCompositionSegment;
- };
- [
- uuid(E18AF75A-08AF-11d3-B64A-00C04F79498E),
- helpstring("MS Video Control Custom Composition for Analog Capture to Overlay Mixer")
- ]
- coclass MSVidAnalogCaptureToOverlayMixer
- {
- interface IMSVidCompositionSegment;
- };
- [
- uuid(C5702CD6-9B79-11d3-B654-00C04F79498E),
- helpstring("MS Video Control Custom Composition for Analog Capture to Data Services")
- ]
- coclass MSVidAnalogCaptureToDataServices
- {
- interface IMSVidCompositionSegment;
- };
- [
- uuid(267db0b3-55e3-4902-949b-df8f5cec0191),
- helpstring("MS Video Control Custom Composition for WebDVD to Overlay Mixer")
- ]
- coclass MSVidWebDVDToVideoRenderer
- {
- interface IMSVidCompositionSegment;
- };
- [
- uuid(6AD28EE1-5002-4e71-AAF7-BD077907B1A4),
- helpstring("MS Video Control Custom Composition for Mpeg2 Decoder to Closed Captioning")
- ]
- coclass MSVidMPEG2DecoderToClosedCaptioning
- {
- interface IMSVidCompositionSegment;
- };
- ///////////////////////////////////////////////////////////////////////////////////////
- // Miscellaneous
- ///////////////////////////////////////////////////////////////////////////////////////
- [
- uuid(11973C25-3529-40e4-9AB1-DDC164CBEF49),
- helpstring("MS Video Control Rendering Behavior Factory")
- ]
- coclass MSVidRenderFactory
- {
- interface IElementBehaviorFactory;
- };
- // Events
- [
- uuid(577FAA18-4518-445E-8F70-1473F8CF4BA4),
- helpstring("MSEventBinder Class")
- ]
- coclass MSEventBinder
- {
- [default] interface IMSEventBinder;
- };
- // vidrect class
- [
- hidden, restricted,
- uuid(CB4276E6-7D5F-4cf1-9727-629C5E6DB6AE),
- helpstring("Automation compliant scalable rectangle Class")
- ]
- coclass MSVidRect
- {
- [default] interface IMSVidRect;
- };
- // NOTE: there is no object factory for the following classes.
- // the implementation for the underlying code is a c++ abstract base class.
- // this coclass is only provided here to force vb to expose the base interface
- // to enable polymorphic access to derived objects
- [
- hidden, restricted,
- uuid(6E40476F-9C49-4c3e-8BB9-8587958EFF74),
- helpstring("dummy class to expose base interface to VB")
- ]
- coclass MSVidDevice
- {
- [default] interface IMSVidDevice;
- };
- [
- hidden, restricted,
- uuid(AC1972F2-138A-4ca3-90DA-AE51112EDA28),
- helpstring("dummy class to expose base interface to VB")
- ]
- coclass MSVidInputDevice
- {
- [default] interface IMSVidInputDevice;
- };
- [
- hidden, restricted,
- uuid(95F4820B-BB3A-4e2d-BC64-5B817BC2C30E),
- helpstring("dummy class to expose base interface to VB")
- ]
- coclass MSVidVideoInputDevice
- {
- [default] interface IMSVidVideoInputDevice;
- };
- [
- hidden, restricted,
- uuid(1990D634-1A5E-4071-A34A-53AAFFCE9F36),
- helpstring("dummy class to expose base interface to VB")
- ]
- coclass MSVidVideoPlaybackDevice
- {
- [default] interface IMSVidPlayback;
- };
- [
- hidden, restricted,
- uuid(7748530B-C08A-47ea-B24C-BE8695FF405F),
- helpstring("dummy class to expose base interface to VB")
- ]
- coclass MSVidFeature
- {
- [default] interface IMSVidFeature;
- };
- [
- hidden, restricted,
- uuid(87EB890D-03AD-4e9d-9866-376E5EC572ED),
- helpstring("dummy class to expose base interface to VB")
- ]
- coclass MSVidOutput
- {
- [default] interface IMSVidOutputDevice;
- };
- #endif //TUNING_MODEL_ONLY
- };
- // end of file msvidctl.idl