📄 segment.idl
字号:
[id(dispidConfirmPassword), helpstring("method ConfirmPassword")] HRESULT ConfirmPassword([in]BSTR strUserName, [in]BSTR strPassword, [out, retval] VARIANT_BOOL *pVal);
[id(dispidGetParentalLevel), helpstring("method GetParentalLevel")] HRESULT GetParentalLevel([out, retval] long *lLevel);
[id(dispidGetParentalCountry), helpstring("method GetParentalCountry")] HRESULT GetParentalCountry([out, retval] long *lCountry);
[propget, id(dispidDefaultAudioLCID), helpstring("property DefaultAudioLCID")] HRESULT DefaultAudioLCID([out, retval] long *pVal);
[propput, id(dispidDefaultAudioLCID), helpstring("property DefaultAudioLCID")] HRESULT DefaultAudioLCID([in] long newVal);
[propget, id(dispidDefaultSubpictureLCID), helpstring("property DefaultSubpictureLCID")] HRESULT DefaultSubpictureLCID([out, retval] long *pVal);
[propput, id(dispidDefaultSubpictureLCID), helpstring("property DefaultSubpictureLCID")] HRESULT DefaultSubpictureLCID([in] long newVal);
[propget, id(dispidDefaultMenuLCID), helpstring("property DefaultMenuLCID")] HRESULT DefaultMenuLCID([out, retval] long *pVal);
[propput, id(dispidDefaultMenuLCID), helpstring("property DefaultMenuLCID")] HRESULT DefaultMenuLCID([in] long newVal);
[propget, id(dispidBookmarkOnStop), helpstring("property BookmarkOnStop")] HRESULT BookmarkOnStop([out, retval] VARIANT_BOOL *pVal);
[propput, id(dispidBookmarkOnStop), helpstring("property BookmarkOnStop")] HRESULT BookmarkOnStop([in] VARIANT_BOOL newVal);
};
///////////////////////////////////////////////////////////////////////////////
//
// output devices
//
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation,
uuid(37B03546-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control Output Device Interface"),
pointer_default(unique)
]
interface IMSVidOutputDevice : IMSVidDevice {
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation,
uuid(2E6A14E2-571C-11d3-B652-00C04F79498E),
helpstring("MS Video Control Output Device Event Interface"),
pointer_default(unique)
]
interface IMSVidOutputDeviceEvent : IMSVidDeviceEvent {
};
///////////////////////////////////////////////////////////////////////////////
//
// features
//
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation,
uuid(37B03547-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control Feature Interface"),
pointer_default(unique)
]
interface IMSVidFeature : IMSVidDevice {
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation,
uuid(3DD2903C-E0AA-11d2-B63A-00C04F79498E),
helpstring("MS Video Control Feature Event Interface"),
pointer_default(unique)
]
interface IMSVidFeatureEvent : IMSVidDeviceEvent {
};
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation, hidden,
uuid(334125C1-77E5-11d3-B653-00C04F79498E),
helpstring("MS Video Control Data Services Feature Interface"),
pointer_default(unique)
]
interface IMSVidDataServices : IMSVidFeature {
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation, hidden,
uuid(334125C2-77E5-11d3-B653-00C04F79498E),
helpstring("MS Video Control Data Services Feature Event Interface"),
pointer_default(unique)
]
interface IMSVidDataServicesEvent : IMSVidDeviceEvent {
};
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation, hidden,
uuid(99652EA1-C1F7-414f-BB7B-1C967DE75983),
helpstring("MS Video Control Closed Captioning Feature Interface"),
pointer_default(unique)
]
interface IMSVidClosedCaptioning : IMSVidFeature {
[propget, id(dispidCCEnable)] HRESULT Enable([out, retval] VARIANT_BOOL *On);
[propput, id(dispidCCEnable)] HRESULT Enable([in] VARIANT_BOOL On);
};
///////////////////////////////////////////////////////////////////////////////////////
[
object, dual, oleautomation, hidden,
uuid(1600D001-6666-4f66-B1E2-BF3C9FBB9BA6),
helpstring("Microsoft TVE Video Control Feature - (Aggregates ITVEFeature)"),
pointer_default(unique)
] // IMSVidFeature derivatives dispID's must start at 0x4000 or above
interface IMSVidTVEGSeg : IMSVidFeature
{
[propget, id(4000), helpstring("property TVEFilter")] HRESULT TVEFilter([out, retval] ITVEFilter* *ppFilter);
[propget, id(4001), helpstring("property TVESupervisor")] HRESULT TVESupervisor([out, retval] ITVESupervisor* *ppSuper);
};
///////////////////////////////////////////////////////////////////////////////////////
[
object, dual, oleautomation,
uuid(1600D101-6666-4f66-B1E2-BF3C9FBB9BA6),
helpstring("Microsoft CA Video Control Feature (Aggregates ICAManager)"),
pointer_default(unique)
] // IMSVidFeature derivatives dispID's must start at 0x4000 or above
interface IMSVidCAGSeg : IMSVidFeature
{
// call when graph changes in way that may change policies (add,delete)
[ id(5000), helpstring("method MarkDirty")] HRESULT MarkDirty();
// call when get a new tune request (listen for CAManager to see if it gets denied). Put NULL when closing down
[propput, id(5001), helpstring("property TuneRequest")] HRESULT TuneRequest([in] ITuneRequest *ptunereq);
};
///////////////////////////////////////////////////////////////////////////////
//
// video renderer
//
///////////////////////////////////////////////////////////////////////////////
// need to add msvidvidoerenderer2 that has allocator prestenter stuff...
typedef enum {
sslFullSize,
sslClipByOverScan,
sslClipByClipRect,
} SourceSizeList;
///////////////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation, hidden,
uuid(37B03540-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control Video Renderer Device Interface"),
pointer_default(unique)
]
interface IMSVidVideoRenderer : IMSVidOutputDevice {
// Properties
[propget, id(dispidCustomCompositorClass)] HRESULT CustomCompositorClass([out, retval] BSTR *CompositorCLSID);
[propput, id(dispidCustomCompositorClass)] HRESULT CustomCompositorClass([in] BSTR CompositorCLSID);
[propget, hidden, restricted, id(dispid_CustomCompositorClass)] HRESULT _CustomCompositorClass([out, retval] GUID* CompositorCLSID);
[propput, hidden, restricted, id(dispid_CustomCompositorClass)] HRESULT _CustomCompositorClass([in] REFCLSID CompositorCLSID);
[propget, hidden, restricted, id(dispid_CustomCompositor)] HRESULT _CustomCompositor([out, retval] IVMRImageCompositor** Compositor);
[propput, hidden, restricted, id(dispid_CustomCompositor)] HRESULT _CustomCompositor([in] IVMRImageCompositor* Compositor);
//
[propget, id(dispidMixerBitmap)] HRESULT MixerBitmap([out,retval] IPictureDisp** MixerPictureDisp);
[propget, hidden, restricted, id(dispid_MixerBitmap)] HRESULT _MixerBitmap([out, retval] IVMRMixerBitmap ** MixerPicture);
[propput, id(dispidMixerBitmap)] HRESULT MixerBitmap([in] IPictureDisp* MixerPictureDisp);
[propput, hidden, restricted, id(dispid_MixerBitmap)] HRESULT _MixerBitmap([in] VMRALPHABITMAP * MixerPicture);
[propget, id(dispidMixerBitmapRect)] HRESULT MixerBitmapPositionRect([out,retval] IMSVidRect **rDest);
[propput, id(dispidMixerBitmapRect)] HRESULT MixerBitmapPositionRect([in] IMSVidRect *rDest);
[propget, id(dispidMixerBitmapOpacity)] HRESULT MixerBitmapOpacity([out,retval]int *opacity);
[propput, id(dispidMixerBitmapOpacity)] HRESULT MixerBitmapOpacity([in]int opacity);
[id(dispidSetupMixerBitmap)] HRESULT SetupMixerBitmap([in] IPictureDisp * MixerPictureDisp, [in] long Opacity, [in] IMSVidRect *rDest);
// display surface control
[propget, id(dispidSourceSize)] HRESULT SourceSize([retval, out] SourceSizeList *CurrentSize);
[propput, id(dispidSourceSize)] HRESULT SourceSize([in] SourceSizeList NewSize);
[propget, id(dispidDevOverScan), helpstring("trim each source edge by this amount(in hundredths of percent, e.g. 1.75% == 175)")] HRESULT OverScan([retval, out] long *plPercent);
[propput, id(dispidDevOverScan), helpstring("trim each source edge by this amount(in hundredths of percent, e.g. 1.75% == 175)")] HRESULT OverScan([in] long lPercent);
[propget, id(dispidAvailableSourceRect)] HRESULT AvailableSourceRect([out, retval] IMSVidRect **pRect);
[propget, id(dispidMaxVidRect)] HRESULT MaxVidRect([out, retval] IMSVidRect **ppVidRect);
[propget, id(dispidMinVidRect)] HRESULT MinVidRect([out, retval] IMSVidRect **ppVidRect);
[propget, id(dispidClippedSourceRect)] HRESULT ClippedSourceRect([out, retval] IMSVidRect **pRect);
[propput, id(dispidClippedSourceRect)] HRESULT ClippedSourceRect([in] IMSVidRect *pRect);
[propget, id(dispidUsingOverlay)] HRESULT UsingOverlay([out, retval] VARIANT_BOOL *UseOverlayVal);
[propput, id(dispidUsingOverlay)] HRESULT UsingOverlay([in] VARIANT_BOOL UseOverlayVal);
[id(dispidCapture)] HRESULT Capture([out, retval] IPictureDisp **currentImage);
[propget, id(dispid_FramesPerSecond), helpstring("FramesPerSecond")] HRESULT FramesPerSecond([out, retval] long *pVal);
[propget, id(dispid_DecimateInput), helpstring("DecimateInput")] HRESULT DecimateInput([out,retval] VARIANT_BOOL *pDeci);
[propput, id(dispid_DecimateInput), helpstring("DecimateInput")] HRESULT DecimateInput([in] VARIANT_BOOL pDeci);
// Methods
};
///////////////////////////////////////////////////////////////////////////////////////
[object, oleautomation, hidden,
uuid(37B03545-A4C8-11d2-B634-00C04F79498E),
helpstring("MS Video Control Video Renderer Device Event Interface"),
pointer_default(unique)
]
interface IMSVidVideoRendererEvent : IMSVidOutputDeviceEvent {
[id(eventidOverlayUnavailable), helpstring("HW Overlay surface in use or not present")] HRESULT OverlayUnavailable();
};
///////////////////////////////////////////////////////////////////////////////
//
// video renderer II
//
///////////////////////////////////////////////////////////////////////////////
[object, dual, oleautomation, hidden,
uuid(6BDD5C1E-2810-4159-94BC-05511AE8549B),
helpstring("MS Video Control Video Renderer Device Interface"),
pointer_default(unique)
]
interface IMSVidVideoRenderer2 : IMSVidVideoRenderer {
// Properties
[propget, id(dispidAlloctor)] HRESULT Allocator([out, retval] IUnknown ** AllocPresent);
[propget, id(dispid_Allocator), hidden, restricted] HRESULT _Allocator([out, retval] IVMRSurfaceAllocator ** AllocPresent);
// Quick Notes on ID's
// 1. default id is the lower 32 bits of the IUnknown pointer for the Vidctl
// 2. if the id is not yet set get_Allocator_ID will return -1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -