📄 segment.idl
字号:
[hidden, restricted, propput] HRESULT Owner([in] HWND Window);
[hidden, restricted, propget] HRESULT Owner([out, retval] HWND* Window);
// from ole interfaces
[hidden, restricted, propget] HRESULT UseOverlay([out, retval] VARIANT_BOOL *UseOverlayVal);
[hidden, restricted, propput] HRESULT UseOverlay([in] VARIANT_BOOL UseOverlayVal);
// from top-level control visibility state
[hidden, restricted, propget] HRESULT Visible([out, retval] VARIANT_BOOL* Visible);
[hidden, restricted, propput] HRESULT Visible([in] VARIANT_BOOL Visible);
// clients must go through top-level vidctl interfaces to access this. since vidctl's ondraw
// actually paints this, it needs to know about it.
[propget, hidden, restricted] HRESULT ColorKey([out, retval] OLE_COLOR* ColorKey);
[propput, hidden, restricted] HRESULT ColorKey([in] OLE_COLOR ColorKey);
// from ole interfaces and window msgs
[propget, hidden, restricted] HRESULT Source([out, retval] LPRECT r);
[propput, hidden, restricted] HRESULT Source([in] RECT r);
// from ole interfaces and window msgs
[propget, hidden, restricted] HRESULT Destination([out, retval] LPRECT r);
[propput, hidden, restricted] HRESULT Destination([in] RECT r);
[propget, hidden, restricted] HRESULT NativeSize([out] LPSIZE sizeval, [out] LPSIZE aspectratio);
// letterboxing color if we're using
[propget, hidden, restricted] HRESULT BorderColor([out, retval] OLE_COLOR* color);
[propput, hidden, restricted] HRESULT BorderColor([in] OLE_COLOR color);
// letterbox or stretch
[propget, hidden, restricted] HRESULT MaintainAspectRatio([out, retval] VARIANT_BOOL *fMaintain);
[propput, hidden, restricted] HRESULT MaintainAspectRatio([in] VARIANT_BOOL fMaintain);
// from top-level control refresh method
[hidden, restricted] HRESULT Refresh();
[hidden, restricted] HRESULT DisplayChange();
[hidden, restricted] HRESULT RePaint([in] HDC hdc);
};
//*****************************************************************************
///////////////////////////////////////////////////////////////////////////////
//
// Automation compliant device object interfaces for bpc video control
//
///////////////////////////////////////////////////////////////////////////////
//*****************************************************************************
///////////////////////////////////////////////////////////////////////////////
//
// input devices
//
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation,
uuid(1C15D47C-911D-11d2-B632-00C04F79498E),
helpstring("MS Video Control Device Interface"),
pointer_default(unique)
]
interface IMSVidDevice : IDispatch {
// base device properties
[propget, id(dispidName)] HRESULT Name([out, retval] BSTR *Name);
[propget, id(dispidStatus)] HRESULT Status([out, retval] long *Status);
[propput, id(dispidDevPower)] HRESULT Power([in] VARIANT_BOOL Power);
[propget, id(dispidDevPower)] HRESULT Power([retval, out] VARIANT_BOOL *Power);
// DShow Associated properties
// note: filter can be retrieved by QIing for IMSVidGraphSegment and enumerating
[propget, id(dispidKSCat)] HRESULT Category([out, retval] BSTR *Guid);
[propget, id(dispidCLSID)] HRESULT ClassID([out, retval] BSTR *Clsid);
[propget, id(dispid_KSCat), hidden, restricted] HRESULT _Category([out, retval] GUID* Guid);
[propget, id(dispid_CLSID), hidden, restricted] HRESULT _ClassID([out, retval] GUID* Clsid);
[id(dispid_IsEqualDevice), helpstring("does the passed in device represent the same underlying hardware")] HRESULT IsEqualDevice([in] IMSVidDevice* Device, [out, retval] VARIANT_BOOL* IsEqual);
};
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation,
uuid(37B0353D-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control Input Device Interface"),
pointer_default(unique)
]
interface IMSVidInputDevice : IMSVidDevice {
[id(dispidViewable)]HRESULT IsViewable([in] VARIANT* v, [out, retval] VARIANT_BOOL *pfViewable); // can this device view this item?
[id(dispidDevView)]HRESULT View([in] VARIANT* v); // set this device to view this item
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation,
uuid(1C15D480-911D-11d2-B632-00C04F79498E),
helpstring("MS Video Control Device Event Interface"),
pointer_default(unique)
]
interface IMSVidDeviceEvent : IDispatch {
[id(eventidStateChange)] HRESULT StateChange([in] IMSVidDevice *lpd, [in] long oldState, [in] long newState);
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation,
uuid(37B0353E-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control Input Device Event Interface"),
pointer_default(unique)
]
interface IMSVidInputDeviceEvent : IDispatch {
};
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation,
uuid(1C15D47F-911D-11d2-B632-00C04F79498E),
helpstring("MS Video Control Video Device Interface"),
pointer_default(unique)
]
interface IMSVidVideoInputDevice : IMSVidInputDevice {
};
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation,
uuid(37B03538-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control Playback Device Interface"),
pointer_default(unique)
]
interface IMSVidPlayback : IMSVidInputDevice {
// note: the following methods control the playback device *NOT* the graph.
// if the underlying source filter only supports these functions via
// imediacontrol on the graph then this device segment object should return E_NOTIMPL.
[propget, id(dispid_EnableResetOnStop), helpstring("EnableResetOnStop")] HRESULT EnableResetOnStop([out, retval] VARIANT_BOOL *pVal);
[propput, id(dispid_EnableResetOnStop), helpstring("EnableResetOnStop")] HRESULT EnableResetOnStop([in] VARIANT_BOOL newVal);
[id(dispidDevRun)] HRESULT Run();
[id(dispidDevPause)] HRESULT Pause();
[id(dispidDevStop)] HRESULT Stop();
[propget, id(dispidDevCanStep)] HRESULT CanStep([in] VARIANT_BOOL fBackwards, [out,retval] VARIANT_BOOL *pfCan);
[id(dispidDevStep)] HRESULT Step([in] long lStep);
[propput, id(dispidrate), helpstring("Rate")] HRESULT Rate([in] double plRate);
[propget, id(dispidrate), helpstring("Rate")] HRESULT Rate([out,retval]double *plRate);
[propput, id(dispidposition), helpstring("Position")] HRESULT CurrentPosition([in] long lPosition);
[propget, id(dispidposition), helpstring("Position")] HRESULT CurrentPosition([out, retval] long* lPosition);
[propput, id(dispidpositionmode), helpstring("PositionMode")] HRESULT PositionMode([in] PositionModeList lPositionMode);
[propget, id(dispidpositionmode), helpstring("PositionMode")] HRESULT PositionMode([out, retval] PositionModeList* lPositionMode);
[propget, id(dispidlength), helpstring("Length")] HRESULT Length([out, retval] long *lLength);
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation,
uuid(37B0353B-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control Playback Device Event Interface"),
pointer_default(unique)
]
interface IMSVidPlaybackEvent : IMSVidInputDeviceEvent {
[id(eventidEndOfMedia)] HRESULT EndOfMedia([in] IMSVidPlayback *lpd);
};
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation, hidden,
uuid(1C15D47D-911D-11d2-B632-00C04F79498E),
helpstring("MS Video Tuner Interface"),
pointer_default(unique)
]
interface IMSVidTuner : IMSVidVideoInputDevice {
[propget, id(dispidTune)] HRESULT Tune([out, retval] ITuneRequest **ppTR);
[propput, id(dispidTune)] HRESULT Tune([in] ITuneRequest *pTR);
[propget, id(dispidTS)] HRESULT TuningSpace([out, retval] ITuningSpace **plTS);
[hidden, restricted, propput, id(dispidTS)] HRESULT TuningSpace([in] ITuningSpace* plTS);
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation, hidden,
uuid(1C15D485-911D-11d2-B632-00C04F79498E),
helpstring("MS Video Control Tuner Device Event Interface"),
pointer_default(unique)
]
interface IMSVidTunerEvent : IMSVidInputDeviceEvent {
[id(eventidOnTuneChanged)] HRESULT TuneChanged([in] IMSVidTuner *lpd);
};
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation, hidden,
uuid(1C15D47E-911D-11d2-B632-00C04F79498E),
helpstring("MS Video TV Tuner Interface"),
pointer_default(unique)
]
interface IMSVidAnalogTuner : IMSVidTuner {
[propget, id(dispidTuneChan)] HRESULT Channel([out, retval] long *Channel);
[propput, id(dispidTuneChan)] HRESULT Channel([in] long Channel);
[propget, id(dispidDevVideoFrequency)] HRESULT VideoFrequency([retval, out] long *lcc);
[propget, id(dispidDevAudioFrequency)] HRESULT AudioFrequency([retval, out] long *lcc);
// note: this is not LCID, this is physical location of device using
// international dialing code value
[propget, id(dispidDevCountryCode)] HRESULT CountryCode([retval, out] long *lcc);
[propput, id(dispidDevCountryCode)] HRESULT CountryCode([in] long lcc);
// analog specific shortcut to enabling a different audio component
[propget, id(dispidDevSAP)] HRESULT SAP([out, retval] VARIANT_BOOL *pfSapOn);
[propput, id(dispidDevSAP)] HRESULT SAP([in] VARIANT_BOOL fSapOn);
// methods
[id(dispidChannelAvailable)] HRESULT ChannelAvailable([in] long nChannel, [in, out] long *SignalStrength, [retval, out] VARIANT_BOOL *fSignalPresent);
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation,
uuid(1C15D486-911D-11d2-B632-00C04F79498E),
helpstring("MS Video Control TV Tuner Device Event Interface"),
pointer_default(unique)
]
interface IMSVidAnalogTunerEvent : IMSVidTunerEvent {
};
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation, hidden,
uuid(37B03539-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control File Playback Device Interface"),
pointer_default(unique)
]
interface IMSVidFilePlayback : IMSVidPlayback {
[propget, id(dispidDevFileName)] HRESULT FileName([out, retval] BSTR *FileName);
[propput, id(dispidDevFileName)] HRESULT FileName([in] BSTR FileName);
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation, hidden,
uuid(37B0353A-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control File Playback Device Event Interface"),
pointer_default(unique)
]
interface IMSVidFilePlaybackEvent : IMSVidPlaybackEvent {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -