📄 mstve.idl
字号:
[propget, id(10), helpstring("property CurrTVEName")] HRESULT CurrTVEName([out, retval] BSTR *pbstrName);
[propget, id(11), helpstring("property CurrTVEURL")] HRESULT CurrTVEURL([out, retval] BSTR *pbstrURL);
// these are incoming sinkn events called by Supervisor ((_ITVEvents).. ID's Must match (I think)
// &DIID__ITVEEvents
[id(2101), helpstring("method NotifyTVETune")] HRESULT NotifyTVETune([in] NTUN_Mode tuneMode, [in] ITVEService *pService, [in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
[id(2102), helpstring("method NotifyTVEEnhancementNew")] HRESULT NotifyTVEEnhancementNew([in] ITVEEnhancement *pEnh);
[id(2103), helpstring("method NotifyTVEEnhancementUpdated")] HRESULT NotifyTVEEnhancementUpdated([in] ITVEEnhancement *pEnh, [in] long lChangedFlags); // changedFlags : NENH_grfDiff
[id(2104), helpstring("method NotifyTVEEnhancementStarting")] HRESULT NotifyTVEEnhancementStarting([in] ITVEEnhancement *pEnh);
[id(2105), helpstring("method NotifyTVEEnhancementExpired")] HRESULT NotifyTVEEnhancementExpired([in] ITVEEnhancement *pEnh);
[id(2106), helpstring("method NotifyTVETriggerNew")] HRESULT NotifyTVETriggerNew([in] ITVETrigger *pTrigger,[in] BOOL fActive);
[id(2107), helpstring("method NotifyTVETriggerUpdated")] HRESULT NotifyTVETriggerUpdated([in] ITVETrigger *pTrigger,[in] BOOL fActive, [in] long lChangedFlags); // changedFlags : NTRK_grfDiff
[id(2108), helpstring("method NotifyTVETriggerExpired")] HRESULT NotifyTVETriggerExpired([in] ITVETrigger *pTrigger,[in] BOOL fActive);
[id(2109), helpstring("method NotifyTVEPackage")] HRESULT NotifyTVEPackage([in] NPKG_Mode engPkgMode, [in] ITVEVariation *pVariation, [in] BSTR bstrUUID, [in] long cBytesTotal, [in] long cBytesReceived);
[id(2110), helpstring("method NotifyTVEFile")] HRESULT NotifyTVEFile([in] NFLE_Mode engFileMode, [in] ITVEVariation *pVariation, [in] BSTR bstrUrlName, [in] BSTR bstrFileName);
[id(2111), helpstring("method NotifyTVEAuxInfo")] HRESULT NotifyTVEAuxInfo([in] NWHAT_Mode engAuxInfoMode, [in] BSTR bstrAuxInfoString, [in] long lChangedFlags, [in] long lErrorLine); // WhatIsIt is NWHAT_Mode - lChangedFlags is NENH_grfDiff or NTRK_grfDiff treated as error bits
// &DIID_DWebBrowserEvents2,
[id(0x66), helpstring("method NotifyStatusTextChange")] HRESULT NotifyStatusTextChange(BSTR Text);
[id(0x6c), helpstring("method NotifyProgressChange")] HRESULT NotifyProgressChange(LONG Progress, LONG ProgressMax);
[id(0x69), helpstring("method NotifyCommandStateChange")] HRESULT NotifyCommandStateChange(LONG Command, VARIANT_BOOL Enable);
[id(0x6a), helpstring("method NotifyDownloadBegin")] HRESULT NotifyDownloadBegin();
[id(0x68), helpstring("method NotifyDownloadComplete")] HRESULT NotifyDownloadComplete();
[id(0x71), helpstring("method NotifyTitleChange")] HRESULT NotifyTitleChange(BSTR Text);
[id(0x70), helpstring("method NotifyPropertyChange")] HRESULT NotifyPropertyChange(BSTR szProperty);
[id(0xfa), helpstring("method NotifyBeforeNavigate2")] HRESULT NotifyBeforeNavigate2(IDispatch * pDisp, VARIANT * URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers, VARIANT_BOOL * Cancel);
[id(0xfb), helpstring("method NotifyNewWindow2")] HRESULT NotifyNewWindow2(IDispatch * * ppDisp, VARIANT_BOOL * Cancel);
[id(0xfc), helpstring("method NotifyNavigateComplete2")] HRESULT NotifyNavigateComplete2(IDispatch * pDisp, VARIANT * URL);
[id(0x103), helpstring("method NotifyDocumentComplete")] HRESULT NotifyDocumentComplete(IDispatch * pDisp, VARIANT * URL);
[id(0xfd), helpstring("method NotifyOnQuit")] HRESULT NotifyOnQuit();
[id(0xfe), helpstring("method NotifyOnVisible")] HRESULT NotifyOnVisible(VARIANT_BOOL Visible);
[id(0xff), helpstring("method NotifyOnToolBar")] HRESULT NotifyOnToolBar(VARIANT_BOOL ToolBar);
[id(0x100), helpstring("method NotifyOnMenuBar")] HRESULT NotifyOnMenuBar(VARIANT_BOOL MenuBar);
[id(0x101), helpstring("method NotifyOnStatusBar")] HRESULT NotifyOnStatusBar(VARIANT_BOOL StatusBar);
[id(0x102), helpstring("method NotifyOnFullScreen")] HRESULT NotifyOnFullScreen(VARIANT_BOOL FullScreen);
[id(0x104), helpstring("method NotifyOnTheaterMode")] HRESULT NotifyOnTheaterMode(VARIANT_BOOL TheaterMode);
} ;
// ------
// these interfaces for running without the VidControl
// - idea is to create CoCreate supervisor, and 'put' it here.
[
object,
uuid (05500360-FAA5-4df9-8246-BFC23AC5CEA8),
hidden,
// dual,
helpstring("ITVENavAid_NoVidCtl Interface"),
pointer_default(unique)
]
interface ITVENavAid_NoVidCtl : IUnknown
{
[propput ,id(1), helpstring("property NoVidCtl_Supervisor")] HRESULT NoVidCtl_Supervisor([in] ITVESupervisor *pSuper);
[propget ,id(1), helpstring("property NoVidCtl_Supervisor")] HRESULT NoVidCtl_Supervisor([out,retval] ITVESupervisor **ppSuper);
} ;
// ------
[
object,
uuid (05500260-FAA5-4df9-8246-BFC23AC5CEA8),
hidden,
dual, // - used in proxying, must be marked Dual regardless of what .net says
helpstring("ITVENavAid_Helper Interface"),
pointer_default(unique)
]
interface ITVENavAid_Helper : IUnknown
{
[ id(1), helpstring("method LocateVidAndTriggerCtrls")] HRESULT LocateVidAndTriggerCtrls([out] IDispatch **pVidCtrl, [out] IDispatch **pTrigCtrl);
[ id(2), helpstring("method NotifyTVETriggerUpdated_XProxy")] HRESULT NotifyTVETriggerUpdated_XProxy([in] ITVETrigger *pTrigger,[in] BOOL fActive, [in] long lChangedFlags); // changedFlags : NTRK_grfDiff
[ id(3), helpstring("method ReInitCurrNavState")] HRESULT ReInitCurrNavState([in] long lReserved);
} ;
// ----------------------------------------------------
// Filter interfaces
// -----------------------------------------------------
[
object,
uuid (05500180-FAA5-4df9-8246-BFC23AC5CEA8),
// dual,
helpstring("TVEFilter Interface"),
pointer_default(unique)
]
interface ITVEFilter : IUnknown
{
// [propget, id(2), helpstring("property Supervisor")] HRESULT Supervisor([out, retval] IDispatch **ppSuperDsp);
[propget, id(3), helpstring("property SupervisorPunk")] HRESULT SupervisorPunk([out, retval] IUnknown **ppSuperPunk);
[propget, id(4), helpstring("property IPAdapterAddress")] HRESULT IPAdapterAddress([out, retval] BSTR *pbstrIPAddr);
[propput, id(4), helpstring("property IPAdapterAddress")] HRESULT IPAdapterAddress([in] BSTR bstrIPAddr);
[propget, id(5), helpstring("property StationID")] HRESULT StationID([out, retval] BSTR *pbstrStationID);
[propput, id(5), helpstring("property StationID")] HRESULT StationID([in] BSTR bstrStationID);
[propget, id(6), helpstring("property MulticastList")] HRESULT MulticastList([out, retval] BSTR *pbstrMulticastList);
[propget, id(7), helpstring("property AdapterDescription")] HRESULT AdapterDescription([out, retval] BSTR *pbstrAdapterDescription);
[ id(8), helpstring("method ReTune")] HRESULT ReTune();
// should move to FilterHelper
[propget, id(9), helpstring("property HaltFlags")] HRESULT HaltFlags([out, retval] LONG *plGrfHaltFlags);
[propput, id(9), helpstring("property HaltFlags")] HRESULT HaltFlags([in] LONG lGrfHaltFlags);
[ id(10), helpstring("method ParseCCBytePair")] HRESULT ParseCCBytePair([in] LONG lByteType, [in] BYTE byte1, [in] BYTE byte2);
[propget, id(11), helpstring("property IPSinkAdapterAddress")] HRESULT IPSinkAdapterAddress([out, retval] BSTR *pbstrIPAddr);
// [propput, id(12), helpstring("property SupervisorHelperPunk")] HRESULT get_SupervisorHelperPunk([out] IUnknown **ppSuperHelper);
};
// ------------------------------------------------------
[
object,
uuid (05500280-FAA5-4df9-8246-BFC23AC5CEA8),
hidden,
helpstring("ITVEFilter_Helper Interface"),
pointer_default(unique)
]
interface ITVEFilter_Helper : IUnknown
{
// [id(1),helpstring("method ConnectParent")] HRESULT ConnectParent([in] ITVEEnhancement *pEnhancement);
} ;
[
object,
uuid (05500190-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVETriggerCtrl Interface"),
pointer_default(unique)
]
interface ITVETriggerCtrl : IDispatch
{
[propput, id(1)] HRESULT enabled([in] VARIANT_BOOL newVal);
[propget, id(1)] HRESULT enabled([out, retval] VARIANT_BOOL* pVal);
[propget, id(2)] HRESULT sourceID([out, retval] BSTR* pbstrID);
[propput, id(3)] HRESULT releasable([in] VARIANT_BOOL newVal);
[propget, id(3)] HRESULT releasable([out, retval] VARIANT_BOOL* pVal);
[propget, id(4)] HRESULT backChannel([out, retval] BSTR* pVal);
[propget, id(5)] HRESULT contentLevel([out, retval] double* pVal);
} ;
[
object,
uuid (05500191-FAA5-4df9-8246-BFC23AC5CEA8),
hidden,
helpstring("ITVETriggerCtrl_Helper Interface"),
pointer_default(unique)
]
interface ITVETriggerCtrl_Helper : IUnknown
{
[propput, id(1)] HRESULT sourceID([in] BSTR pSourceUUID); // cache the SourceID
[propget, id(2)] HRESULT TopLevelPage([out, retval] BSTR *pURL); // return the cached URL (???) of the top web page
} ;
// ---------------------------------------------------------------------------------------
// ***************************************************************************************
// ----------------------------------------------------------------------------------------
[
uuid(1700C001-6666-4f66-B1E2-BF3C9FBB9BA6), // new
version(1.0),
helpstring("Microsoft TVE Library and DShow Filter")
]
library MSTvELib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
// -------------------------------------------------------
typedef enum NENH_grfDiff // need to fill out..
{
NENH_grfNone = 0x0000, // no flags
NENH_grfDescription = 0x00000001,
NENH_grfIsPrimary = 0x00000002,
NENH_grfProtocolVersion = 0x00000004,
NENH_grfSessionUserName = 0x00000008,
NENH_grfSessionId = 0x00000010,
NENH_grfSessionVersion = 0x00000020,
NENH_grfSessionIPAddress = 0x00000040,
NENH_grfSessionName = 0x00000080,
NENH_grfEmailAddresses = 0x00000100,
NENH_grfPhoneNumbers = 0x00000200,
NENH_grfUUID = 0x00000400,
NENH_grfStartTime = 0x00000800,
NENH_grfStopTime = 0x00001000,
NENH_grfType = 0x00002000,
NENH_grfTveType = 0x00004000,
NENH_grfTveSize = 0x00008000,
NENH_grfTveLevel = 0x00010000,
NENH_grfAttributes = 0x00020000,
NENH_grfRest = 0x00040000,
NENH_grfVariationAdded = 0x00080000,
NENH_grfVariationRemoved = 0x00100000,
NENH_grfDescriptionURI = 0x00200000,
NENH_grfSomeVarIP = 0x00400000,
NENH_grfSomeVarText = 0x00800000,
NENH_grfSomeVarBandwidth = 0x01000000,
NENH_grfSomeVarLanguages = 0x02000000,
NENH_grfSomeVarAttribute = 0x04000000,
NENH_grfUnused = 0x08000000,
NENH_grfSAPVersion = 0x10000000,
NENH_grfSAPAddressType = 0x20000000,
NENH_grfSAPOther = 0x40000000,
NENH_grfSAPEncryptComp = 0x80000000,
NENH_grfAnyIP = (NENH_grfSomeVarIP | NENH_grfVariationAdded | NENH_grfVariationRemoved),
NENH_grfAll = (NENH_grfSomeVarAttribute<<1) - 1 // all flags
} NENH_grfDiff;
typedef enum NVAR_grfDiff
{
NVAR_grfNone = 0x0000,
NVAR_grfDescription = 0x0001,
NVAR_grfMediaName =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -