Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1450 lines
67 KiB

// Copyright (c) 1999,2000,2001 Microsoft Corporation. All Rights Reserved.
// MSTvE.idl : IDL source for MSTvE.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (TveContr.tlb) and marshalling code.
//
// Need to put MIDL attributes of:
// 'noncreatable' on
// 'hidden' on
// 'nonbrowsable' on
//
// -- _Helper interfaces need to be in the library section or else
// can't seen them in the client
//
// -- None of the _Helper interfaces are marked dual. Hence they
// won't work up on the client... (???)
//
// ---------------------------------------------------
// CAUTION - if Change methods below, need to regen the proxy-stub file
// nmake -f MSTvEps.mk
// regsvr32 /s MSTvEps.dll
//
//
// Also - if change any of the IID's, need to rebuild ..\uuid\[]\strmiids.lib
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright (C) Microsoft Corporation, 1999, 2000.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("#pragma once")
import "oaidl.idl";
import "ocidl.idl";
// forward declarations
interface ITVETrigger;
interface ITVETrack;
interface ITVEVariation;
interface ITVEEnhancement;
interface ITVEService;
interface ITVEActiveService;
interface ITVESupervisor;
interface ITVEAttrMap;
interface ITVEAttrTimeQ;
interface ITVETracks;
interface ITVEVariations;
interface ITVEEnhancements;
interface ITVEServices;
interface ITVEFile;
interface ITVESupervisor_Helper;
// Listener..
interface ITVEMCast;
interface ITVEMCasts;
interface ITVEMCastManager;
interface ITVEMCastCallback;
// interfaces to configure the filter and get events from,
interface ITVEFilter ;
interface ITVEFilter_Helper;
// glue stuff
interface ITVENavAid;
interface ITVENavAid_Helper;
interface ITVENavAid_NoVidCtl;
interface ITVETriggerCtrl;
interface ITVETriggerCtrl_Helper;
interface ITVEFeature;
interface ITVESupervisorGITProxy;
// ----------------------------------------------------------------------------------
#define COLLECTID_Item DISPID_VALUE // (0)
#define COLLECTID_Count 1 // standard set of collection interfaces
#define COLLECTID_Add 2
#define COLLECTID_Remove 3
#define COLLECTID_RemoveAll 4 // extra for maps
#define COLLECTID_Key 5
#define COLLECTID_Replace 6
#define COLLECTID_Insert 7
#define COLLECTID_Update 8
typedef enum NENH_Mode
{
NENH_New,
NENH_Duplicate,
NENH_Updated,
NENH_Starting,
NENH_Expired
} NENH_Mode;
typedef enum NPKG_Mode
{
NPKG_Starting, // brand new packet (never seen this UUID before)
NPKG_Received, // correctly received and decoded a package
NPKG_Duplicate, // duplicate send of a one already successfully received (packet 0 only)
NPKG_Resend, // resend of one that wasn't received correctly before (packet 0 only)
NPKG_Expired
} NPKG_Mode;
typedef enum NTRK_Mode
{
NTRK_New,
NTRK_Duplicate, // exact duplicate of existing one
NTRK_Updated, // updated version of existing one
NTRK_Starting, // (not used???)
NTRK_Expired
} NTRK_Mode;
typedef enum NFLE_Mode
{
NFLE_Received, // correctly received and decoded a package
NFLE_Expired
} NFLE_Mode;
typedef enum NTUN_Mode
{
NTUN_New, // new station (service) never seen before
NTUN_Retune, // tuning back to an existing station
NTUN_Reactivate, // retuning to the current station
NTUN_Turnoff, // turning atvef off
NTUN_Fail // failed to tune for some reason
} NTUN_Mode;
typedef enum NWHAT_Mode // used in NotifyAuxInfo
{
NWHAT_Announcement,
NWHAT_Trigger,
NWHAT_Data,
NWHAT_Other,
NWHAT_Extra
} NWHAT_Mode;
// ---------------------------------------------------------------------
[
object,
uuid(05500101-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVETrigger Interface"),
pointer_default(unique)
]
interface ITVETrigger : IDispatch
{
[propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
[propget, id(2), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
[propget, id(3), helpstring("property IsValid")] HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
[propget, id(4), helpstring("property URL")] HRESULT URL([out, retval] BSTR *pVal);
[propget, id(5), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
[propget, id(6), helpstring("property Expires")] HRESULT Expires([out, retval] DATE *pVal);
[propget, id(7), helpstring("property Executes")] HRESULT Executes([out, retval] DATE *pVal);
[propget, id(8), helpstring("property Script")] HRESULT Script([out, retval] BSTR *pVal);
[propget, id(9), helpstring("property TVELevel")] HRESULT TVELevel([out, retval] float *pVal);
[propget, id(10), helpstring("property Rest")] HRESULT Rest([out, retval] BSTR *pVal);
[ id(11), helpstring("method ParseTrigger")] HRESULT ParseTrigger([in] const BSTR rVal);
};
[
object,
uuid(05500201-FAA5-4df9-8246-BFC23AC5CEA8),
// dual,
hidden,
helpstring("ITVETrigger_Helper Interface"),
pointer_default(unique)
]
interface ITVETrigger_Helper : IUnknown
{
[ id(1), helpstring("method ConnectParent")] HRESULT ConnectParent([in] ITVETrack *pTrack);
[propget, id(2), helpstring("property CRC")] HRESULT CRC([in] const BSTR rVal, [out, retval] BSTR *pbstrCRC);
[ id(3), helpstring("method UpdateFrom")] HRESULT UpdateFrom([in] ITVETrigger *pTrigger, [out] long *plgrfTRKChanged);
[ id(4), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
[ id(5), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
};
// ---------------------------------------------------
[
object,
uuid(05500102-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVETrack Interface"),
pointer_default(unique)
]
interface ITVETrack : IDispatch
{
[propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
[propget, id(2), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
[propget, id(3), helpstring("property Trigger")] HRESULT Trigger([out, retval] ITVETrigger* *pVal);
[propget, id(4), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
[propput, id(4), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
[ id(5), helpstring("method AttachTrigger")] HRESULT AttachTrigger([in] ITVETrigger *pTrigger);
[ id(6), helpstring("method ReleaseTrigger")] HRESULT ReleaseTrigger();
[ id(7), helpstring("method CreateTrigger")] HRESULT CreateTrigger([in] const BSTR bstrDescription);
};
[
object,
uuid(05500202-FAA5-4df9-8246-BFC23AC5CEA8),
// dual,
hidden,
helpstring("ITVETrack_Helper Interface"),
pointer_default(unique)
]
interface ITVETrack_Helper : IUnknown
{
[id(1), helpstring("method ConnectParent")] HRESULT ConnectParent(ITVEVariation *pVariation);
[id(2), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
[id(3), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
};
[
object,
uuid(05500112-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVETracks Interface"),
pointer_default(unique)
]
interface ITVETracks : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
[propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVETrack * *pVal);
[ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVETrack *pTrack);
[ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
[ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
[ id(COLLECTID_Insert), helpstring("method Insert")] HRESULT Insert([in] int iLoc, [in] ITVETrack *pTrack);
};
// ---------------------------------------------------
[
object,
uuid(05500103-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEVariation Interface"),
pointer_default(unique)
]
interface ITVEVariation : IDispatch
{
[propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
[propget, id(2), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
[propget, id(3), helpstring("property Tracks")] HRESULT Tracks([out, retval] ITVETracks* *pVal);
[propget, id(4), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
[propput, id(4), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
[propget, id(5), helpstring("property IsValid")] HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
[propget, id(6), helpstring("property MediaName")] HRESULT MediaName([out, retval] BSTR *newVal);
[propget, id(7), helpstring("property MediaTitle")] HRESULT MediaTitle([out, retval] BSTR *newVal);
[propget, id(8), helpstring("property FileIPAdapter")] HRESULT FileIPAdapter([out, retval] BSTR *newVal);
[propget, id(9), helpstring("property FileIPAddress")] HRESULT FileIPAddress([out, retval] BSTR *newVal);
[propget, id(10), helpstring("property FilePort")] HRESULT FilePort([out, retval] LONG *lPort);
[propget, id(11), helpstring("property TriggerIPAdapter")] HRESULT TriggerIPAdapter([out, retval] BSTR *newVal);
[propget, id(12), helpstring("property TriggerIPAddress")] HRESULT TriggerIPAddress([out, retval] BSTR *newVal);
[propget, id(13), helpstring("property TriggerPort")] HRESULT TriggerPort([out, retval] LONG *lPort);
[propget, id(14),helpstring("property Languages")] HRESULT Languages([out, retval] ITVEAttrMap* *ppVal);
[propget, id(15),helpstring("property SDPLanguages")] HRESULT SDPLanguages([out, retval] ITVEAttrMap* *ppVal);
[propget, id(16),helpstring("property Bandwidth")] HRESULT Bandwidth([out, retval] LONG *lVal);
[propget, id(17),helpstring("property BandwidthInfo")] HRESULT BandwidthInfo([out, retval] BSTR *newVal);
[propget, id(18),helpstring("property Attributes")] HRESULT Attributes([out, retval] ITVEAttrMap* *ppVal);
[propget, id(19),helpstring("property Rest")] HRESULT Rest([out, retval] ITVEAttrMap* *ppVal);
[ id(20),helpstring("method Initialize")] HRESULT Initialize([in] BSTR newVal);
};
[
object,
uuid(05500203-FAA5-4df9-8246-BFC23AC5CEA8),
// dual,
hidden,
helpstring("ITVEVariation_Helper Interface"),
pointer_default(unique)
]
interface ITVEVariation_Helper : IUnknown
{
[ id(1), helpstring("method ConnectParent")] HRESULT ConnectParent([in] ITVEEnhancement *pEnhancement);
[ id(2), helpstring("method DefaultTo")] HRESULT DefaultTo([in] ITVEVariation *pVariationBase);
[ id(3), helpstring("method SetTriggerIPAdapter")] HRESULT SetTriggerIPAdapter([in] BSTR bstrBuff);
[ id(4), helpstring("method SetFileIPAdapter")] HRESULT SetFileIPAdapter([in] BSTR bstrBuff);
[ id(5), helpstring("method SubParseSDP")] HRESULT SubParseSDP(const BSTR *pbstrSDP, BOOL *pfMissingMedia);
[ id(6), helpstring("method ParseCBTrigger")] HRESULT ParseCBTrigger(BSTR bstrTrig);
[ id(7), helpstring("method FinalParseSDP")] HRESULT FinalParseSDP();
[ id(8), helpstring("method UpdateVariation")] HRESULT UpdateVariation(ITVEVariation *pVarNew, long *plNVAR_grfChanged);
[ id(9), helpstring("method InitAsXOver")] HRESULT InitAsXOver();
[ id(11), helpstring("method NewXOverLink")] HRESULT NewXOverLink([in] BSTR bstrLine21Trigger);
[ id(12), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
[propput, id(13), helpstring("property MediaTitle")] HRESULT MediaTitle([in] BSTR bstrBuff);
[propput, id(14), helpstring("property IsValid")] HRESULT IsValid([in] VARIANT_BOOL fValid);
[ id(15), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *bstrBuff);
};
[
object,
uuid(05500113-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEVariations Interface"),
pointer_default(unique)
]
interface ITVEVariations : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
[propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVEVariation * *pVal);
[ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVEVariation *pEnh);
[ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
[ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
[ id(COLLECTID_Insert), helpstring("method Insert")] HRESULT Insert([in] int iLoc, [in] ITVEVariation *pEnh);
};
// ---------------------------------------------------
[
object,
uuid(05500104-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEEnhancement Interface"),
pointer_default(unique)
]
interface ITVEEnhancement : IDispatch
{
[propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
[propget, id(2), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
[propget, id(3), helpstring("property Variations")] HRESULT Variations([out, retval] ITVEVariations* *pVal);
[propget, id(4), helpstring("property IsValid")] HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
[propget, id(5), helpstring("property ProtocolVersion")] HRESULT ProtocolVersion([out, retval] BSTR *pVal);
[propget, id(6), helpstring("property SessionUserName")] HRESULT SessionUserName([out, retval] BSTR *pVal);
[propget, id(7), helpstring("property SessionId")] HRESULT SessionId([out, retval] LONG *plVal);
[propget, id(8), helpstring("property SessionVersion")] HRESULT SessionVersion([out, retval] LONG *plVal);
[propget, id(9), helpstring("property SessionIPAddress")] HRESULT SessionIPAddress([out, retval] BSTR *pVal);
[propget, id(10), helpstring("property SessionName")] HRESULT SessionName([out, retval] BSTR *pVal);
[propget, id(11), helpstring("property EmailAddresses")] HRESULT EmailAddresses([out, retval] ITVEAttrMap* *pVal);
[propget, id(12), helpstring("property PhoneNumbers")] HRESULT PhoneNumbers([out, retval] ITVEAttrMap* *pVal);
[propget, id(13), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
[propput, id(13), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
[propget, id(14), helpstring("property DescriptionURI")] HRESULT DescriptionURI([out, retval] BSTR *pVal);
[propget, id(15), helpstring("property UUID")] HRESULT UUID([out, retval] BSTR *pVal);
[propget, id(16), helpstring("property StartTime")] HRESULT StartTime([out, retval] DATE *pVal);
[propget, id(17), helpstring("property StopTime")] HRESULT StopTime([out, retval] DATE *pVal);
[propget, id(18), helpstring("property IsPrimary")] HRESULT IsPrimary([out, retval] VARIANT_BOOL *pVal);
[propget, id(19), helpstring("property Type")] HRESULT Type([out, retval] BSTR *pVal);
[propget, id(20), helpstring("property TveType")] HRESULT TveType([out, retval] BSTR *pVal);
[propget, id(21), helpstring("property TveSize")] HRESULT TveSize([out, retval] LONG *plVal);
[propget, id(23), helpstring("property TveLevel")] HRESULT TveLevel([out, retval] double *pVal);
[propget, id(24), helpstring("property Attributes")] HRESULT Attributes([out, retval] ITVEAttrMap* *pVal);
[propget, id(25), helpstring("property Rest")] HRESULT Rest([out, retval] ITVEAttrMap* *pVal);
[propget, id(26), helpstring("property SAPHeaderBits")] HRESULT SAPHeaderBits([out, retval] short *pVal);
[propget, id(27), helpstring("property SAPAuthLength")] HRESULT SAPAuthLength([out, retval] short *pVal);
[propget, id(28), helpstring("property SAPMsgIDHash")] HRESULT SAPMsgIDHash([out, retval] LONG *pVal);
[propget, id(29), helpstring("property SAPSendingIP")] HRESULT SAPSendingIP([out, retval] BSTR *pVal);
[propget, id(30), helpstring("property SAPAuthData")] HRESULT SAPAuthData([out, retval] BSTR *pVal);
[ id(31), helpstring("method ParseAnnouncement")] HRESULT ParseAnnouncement([in] BSTR bstrAdapter, [in] const BSTR *pbstVal, [out] long *plgrfParseError, [out] long *plLineError);
};
[
object,
uuid(05500204-FAA5-4df9-8246-BFC23AC5CEA8),
// dual,
hidden,
helpstring("ITVEEnhancement_Helper Interface"),
pointer_default(unique)
]
interface ITVEEnhancement_Helper : IUnknown
{
[id(0), helpstring("method ConnectParent")] HRESULT ConnectParent(ITVEService *pService);
[id(1), helpstring("method Activate")] HRESULT Activate();
[id(2), helpstring("method Deactivate")] HRESULT Deactivate();
[id(3), helpstring("method UpdateEnhancement")] HRESULT UpdateEnhancement([in] ITVEEnhancement *pEnhNew,[out] long *plNENH_grfChanged);
[id(4), helpstring("method InitAsXOver")] HRESULT InitAsXOver();
[id(5), helpstring("method NewXOverLink")] HRESULT NewXOverLink([in] BSTR bstrLine21Trigger);
[id(6), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
[id(7), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
};
[
object,
uuid(05500114-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEEnhancements Interface"),
pointer_default(unique)
]
interface ITVEEnhancements : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
[propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVEEnhancement * *pVal);
[ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVEEnhancement *pEnh);
[ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
[ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
[ id(COLLECTID_Insert), helpstring("method Insert")] HRESULT Insert([in] int iLoc, [in] ITVEEnhancement *pEnh);
};
// ---------------------------------------------------
[
object,
uuid(05500105-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEService Interface"),
pointer_default(unique)
]
interface ITVEService : IDispatch
{
[propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
[propget, id(2), helpstring("property Enhancements")] HRESULT Enhancements([out, retval] ITVEEnhancements* *pVal);
[propget, id(3), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
[propput, id(3), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
[ id(4), helpstring("method Activate")] HRESULT Activate(); // used in tuning, turns on announcement
[ id(5), helpstring("method Deactivate")] HRESULT Deactivate(); // used in tuning, turns off announcement
[propget, id(6), helpstring("property XOverLinks")] HRESULT XOverLinks([out, retval] ITVETracks* *pVal); // returns ITVETracks (Collection)
[propget, id(7),helpstring("property XOverEnhancement")] HRESULT XOverEnhancement([out, retval] ITVEEnhancement* *pVal); // special for tree view...
[ id(8), helpstring("method NewXOverLink")] HRESULT NewXOverLink([in] BSTR bstrLine21Trigger);
// Set date offset used added to dates before expiring.
// Used when doing playback recorded shows, offseting expire dates by this amount
[propget, id(9), helpstring("property ExpireOffset")] HRESULT ExpireOffset([out, retval] DATE *pVal);
[propput, id(9), helpstring("property ExpireOffset")] HRESULT ExpireOffset([in] DATE newVal);
// return the ITVEAttrTimeQ list giving dates of IUnknowns in this service are due to expire
[propget, id(10), helpstring("property ExpireQueue")] HRESULT ExpireQueue([out, retval] ITVEAttrTimeQ* *pVal);
// Expires any items earlier than the specified date + ExpireOffset
// If ezactly zero, Date defaults to <NOW>.
[ id(11),helpstring("method ExpireForDate")] HRESULT ExpireForDate([in] DATE dateExpireTime);
// Mark Service active, only one Active service currently allowed .. turns off all others.
[propget, id(12), helpstring("IsActive")] HRESULT IsActive([out, retval] VARIANT_BOOL *fIsActive);
// save and restore an arbitrary property on this service... (Useful with ITVENavAid::CacheState())
[propput, id(13), helpstring("Property")] HRESULT Property([in] BSTR bstrPropName, BSTR bstrPropVal);
[propget, id(13), helpstring("Property")] HRESULT Property([in] BSTR bstrPropName, [out, retval] BSTR *pbstrPropVal);
};
[
object,
uuid(05500205-FAA5-4df9-8246-BFC23AC5CEA8),
// dual,
hidden,
helpstring("ITVEService_Helper Interface"),
pointer_default(unique)
]
interface ITVEService_Helper : IUnknown
{
[ id(1), helpstring("method ConnectParent")] HRESULT ConnectParent([in] ITVESupervisor *pSupervisor);
[ id(2), helpstring("method ParseCBAnnouncement")] HRESULT ParseCBAnnouncement([in] BSTR bstrFileTrigAdapter,[in] BSTR *pbstrBuff);
[ id(3), helpstring("method SetAnncIPValues")] HRESULT SetAnncIPValues([in] BSTR bstrAnncIPAdapter,[in] BSTR bstrAnncIPAddress,[in] LONG lAnncPort);
[ id(4), helpstring("method GetAnncIPValues")] HRESULT GetAnncIPValues([in] BSTR *pbstrAnncIPAdapter,[in] BSTR *pbstrAnncIPAddress,[in] LONG *plAnncPort);
[ id(5), helpstring("method InitXOverEnhancement")] HRESULT InitXOverEnhancement();
[ id(6), helpstring("method AddToExpireQueue")] HRESULT AddToExpireQueue([in] DATE dateExpires, [in] IUnknown *punkItem);
[ id(7), helpstring("method ChangeInExpireQueue")] HRESULT ChangeInExpireQueue([in] DATE dateExpires, [in] IUnknown *punkItem);
[ id(8), helpstring("method RemoveFromExpireQueue")] HRESULT RemoveFromExpireQueue([in] IUnknown *punkItem);
[ id(9), helpstring("method RemoveEnhFilesFromExpireQueue")] HRESULT RemoveEnhFilesFromExpireQueue([in] ITVEEnhancement *pEnhancement);
[propget, id(10), helpstring("method ExpireQueueChangeCount")] HRESULT ExpireQueueChangeCount([out, retval] long *pChangeCount);
[ id(11), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
[ id(12), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
};
[
object,
uuid(05500305-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEFeature Interface (Inherits ITVEService)"),
pointer_default(unique)
]
interface ITVEFeature : ITVEService
{
// New methods just for the Feature
[id(101), helpstring("method TuneTo")] HRESULT TuneTo([in] BSTR bstrStation, [in] BSTR bstrIPAdapter);
[id(102), helpstring("method ReTune")] HRESULT ReTune([in] ITVEService *pService);
[id(103), helpstring("method BindToSupervisor")] HRESULT BindToSupervisor([in] ITVESupervisor *pTVESupervisor);
// these are incoming events called by Supervisor ((_ITVEvents).. Must match
[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
};
[
object,
uuid(05500115-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEServices Interface"),
pointer_default(unique)
]
interface ITVEServices : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
[propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVEService * *pVal);
[ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVEService *pService);
[ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
[ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
[ id(COLLECTID_Insert), helpstring("method Insert")] HRESULT Insert([in] int iLoc, [in] ITVEService *pService);
};
// ---------------------------------------------------
[
object,
uuid(05500106-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVESupervisor Interface"),
pointer_default(unique)
]
interface ITVESupervisor : IDispatch
{
[propget, id(1), helpstring("property Services")] HRESULT Services([out, retval] ITVEServices* *pVal);
[propget, id(2), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
[propput, id(2), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
[ id(3), helpstring("method TuneTo")] HRESULT TuneTo([in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
[ id(4), helpstring("method ReTune")] HRESULT ReTune([in] ITVEService *pService);
[ id(5), helpstring("method NewXOverLink")] HRESULT NewXOverLink([in] BSTR bstrLine21Trigger);
// Expires any items earlier than the specified date + service.ExpireOffset
// If ezactly zero, Date defaults to <NOW>.
[ id(6), helpstring("method ExpireForDate")] HRESULT ExpireForDate([in] DATE dateExpireTime);
// need to be here rather than Helper, since called from Filter, and Supervisor_Helper
// not in the proxy-stub DLL
[ id(7), restricted, helpstring("method InitStats")] HRESULT InitStats();
[ id(8), restricted, helpstring("method GetStats")] HRESULT GetStats([out] BSTR *pbstrBuff); // CTVEStats
};
[
object,
uuid(05500206-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
hidden,
helpstring("ITVESupervisor_Helper Interface"),
pointer_default(unique)
]
interface ITVESupervisor_Helper : IUnknown
{
[id(1), helpstring("method ConnectParent")] HRESULT ConnectParent([in] IUnknown *pUnk);
[id(2), helpstring("method GetActiveService")] HRESULT GetActiveService([out] ITVEService **ppActiveService);
[id(3), helpstring("method GetMCastManager")] HRESULT GetMCastManager([out] ITVEMCastManager **pMCastManager);
[id(4), helpstring("method UnpackBuffer")] HRESULT UnpackBuffer([in] IUnknown *pTVEVariation, [in] unsigned char *m_rgbData, [in] int cBytes);
[id(5), helpstring("method NotifyEnhancement")] HRESULT NotifyEnhancement([in] NENH_Mode enhMode,[in] ITVEEnhancement *pEnhancement,[in] long lChangedFlags); // changedFlags NENH_grfDiff
[id(6), helpstring("method NotifyTrigger")] HRESULT NotifyTrigger([in] NTRK_Mode trgMode,[in] ITVETrack *pTrack,[in] long lChangedFlags); // changedFlags NTRK_grfDiff
[id(7), helpstring("method NotifyPackage")] HRESULT NotifyPackage([in] NPKG_Mode pkgMode, [in] ITVEVariation *pVariation, [in] BSTR bstrPackageUUID, [in] long cBytesTotal, [in] long cBytesReceived);
[id(8), helpstring("method NotifyFile")] HRESULT NotifyFile([in] NFLE_Mode fileMode, [in] ITVEVariation *pVariation, [in] BSTR bstrURLName, [in] BSTR bstrFileName);
[id(9), helpstring("method NotifyTune")] HRESULT NotifyTune([in] NTUN_Mode tuneMode, [in] ITVEService *pService, [in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
// WhatIsIt is NWHAT_Mode - lChangedFlags is NENH_grfDiff or NTRK_grfDiff treated as error bits
[id(10), helpstring("method NotifyAuxInfo")] HRESULT NotifyAuxInfo([in] NWHAT_Mode whatMode, [in] BSTR bstrAuxInfoString, [in] long lgrfWhatDiff, [in] long lLineError);
[id(11), helpstring("method NotifyEnhancement_XProxy")] HRESULT NotifyEnhancement_XProxy([in] NENH_Mode enhMode,[in] ITVEEnhancement *pEnhancement,[in] long lChangedFlags); // changedFlags NENH_grfDiff
[id(12), helpstring("method NotifyTrigger_XProxy")] HRESULT NotifyTrigger_XProxy([in] NTRK_Mode trgMode,[in] ITVETrack *pTrack,[in] long lChangedFlags); // changedFlags NTRK_grfDiff
[id(13), helpstring("method NotifyPackage_XProxy")] HRESULT NotifyPackage_XProxy( NPKG_Mode pkgMode, ITVEVariation *pVariation,BSTR bstrPackageUUID, long cBytesTotal,long cBytesReceived);
[id(14), helpstring("method NotifyFile_XProxy")] HRESULT NotifyFile_XProxy([in] NFLE_Mode fileMode, [in] ITVEVariation *pVariation, [in] BSTR bstrURLName, [in] BSTR bstrFileName);
[id(15), helpstring("method NotifyTune_XProxy")] HRESULT NotifyTune_XProxy([in] NTUN_Mode tuneMode, [in] ITVEService *pService, [in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
[id(16), helpstring("method NotifyAuxInfo_XProxy")] HRESULT NotifyAuxInfo_XProxy([in] NWHAT_Mode whatMode, [in] BSTR bstrAuxInfoString, [in] long lgrfWhatDiff,[in] long lLineError);
[propget, id(17), helpstring("property HaltFlags")] HRESULT HaltFlags([out, retval] LONG *plGrfHaltFlags);
[propput, id(17), helpstring("property HaltFlags")] HRESULT HaltFlags([in] LONG lGrfHaltFlags);
[ id(18), helpstring("method RemoveAllListenersOnAdapter")] HRESULT RemoveAllListenersOnAdapter([in] BSTR bstrAdapter);
[propget, id(19), helpstring("method PossibleIPAdapterAddress")] HRESULT PossibleIPAdapterAddress([in] int iAdapter, [out,retval] BSTR *pbstrIPAdapterAddr);
[ id(20), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
[propget, id(21), helpstring("property SupervisorGITProxy")] HRESULT SupervisorGITProxy([out] ITVESupervisorGITProxy **ppSupervisorGITProxy); // internal GIT refcounted pointer to supervisor
};
[
hidden,
object,
uuid(05500306-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVESupervisorGITProxy Interface"),
pointer_default(unique)
]
interface ITVESupervisorGITProxy: IUnknown
{
[propget, id(1), helpstring("property Supervisor")] HRESULT Supervisor([out, retval] ITVESupervisor **ppVal);
[propput, id(1), helpstring("property Supervisor")] HRESULT Supervisor([in] ITVESupervisor *pVal);
};
// ---------------------------------------------------
// ---------------------------------
[
object,
uuid(05500121-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEAttrMap Interface"),
pointer_default(unique)
]
interface ITVEAttrMap : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
[propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] BSTR *pVal);
[propget, id(COLLECTID_Key), helpstring("property Key")] HRESULT Key([in] VARIANT var, [out, retval] BSTR *pKey);
[ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] BSTR bstrKey, [in] BSTR bstrValue);
[ id(COLLECTID_Replace), helpstring("method Replace")] HRESULT Replace([in] BSTR bstrKey, [in] BSTR bstrValue);
[ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
[ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
[ id(7), helpstring("method Add1")] HRESULT Add1(BSTR bstrValue);
[ id(8), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pDump);
};
// ---------------------------------------------------
// ---------------------------------
[
object,
uuid(05500122-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEAttrTimeQ Interface"),
pointer_default(unique)
]
interface ITVEAttrTimeQ : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
[propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] IUnknown **ppVal);
[propget, id(COLLECTID_Key), helpstring("property Key")] HRESULT Key([in] VARIANT var, [out, retval] DATE *pKey);
[ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] DATE dateKey, [in] IUnknown *pUnk);
[ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
[ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
[ id(COLLECTID_Update), helpstring("method Update")] HRESULT Update([in] DATE dateKey, [in] IUnknown *pUnk);
[ id(9), helpstring("method LockRead")] HRESULT LockRead();
[ id(10), helpstring("method LockWrite")] HRESULT LockWrite();
[ id(11), helpstring("method Unlock")] HRESULT Unlock();
[ id(12), helpstring("method RemoveSimple")] HRESULT RemoveSimple([in] VARIANT var); // remove without calling var->RemoveYourself()
[ id(13), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pDump);
};
// ---------------------------------------------------
[
object,
uuid(05500130-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEMCast Interface"),
pointer_default(unique)
]
interface ITVEMCast : IDispatch
{
[propget, id(1), helpstring("property IPAdapter")] HRESULT IPAdapter([out, retval] BSTR *pVal);
[propput, id(1), helpstring("property IPAdapter")] HRESULT IPAdapter([in] BSTR newVal);
[propget, id(2), helpstring("property IPAddress")] HRESULT IPAddress([out, retval] BSTR *pVal);
[propput, id(2), helpstring("property IPAddress")] HRESULT IPAddress([in] BSTR newVal);
[propget, id(3), helpstring("property IPPort")] HRESULT IPPort([out, retval] long *pVal);
[propput, id(3), helpstring("property IPPort")] HRESULT IPPort([in] long newVal);
[ id(4), helpstring("method Join")] HRESULT Join();
[ id(5), helpstring("method Leave")] HRESULT Leave();
[propget, id(6), helpstring("property IsJoined")] HRESULT IsJoined([out, retval] VARIANT_BOOL *pVal);
[propget, id(7), helpstring("property IsSuspended")] HRESULT IsSuspended([out, retval] VARIANT_BOOL *pVal);
[ id(8), helpstring("method Suspend")] HRESULT Suspend(VARIANT_BOOL fSuspend);
[propget, id(9), helpstring("property PacketCount")] HRESULT PacketCount([out, retval] long *pVal);
[propget, id(10), helpstring("property ByteCount")] HRESULT ByteCount([out, retval] long *pVal);
[ id(11), helpstring("method KeepStats")] HRESULT KeepStats(VARIANT_BOOL fKeepStats);
[ id(12), helpstring("method ResetStats")] HRESULT ResetStats();
[ id(13), helpstring("method SetReadCallback")] HRESULT SetReadCallback([in] int nBuffers, [in] int iPrioritySetback, [in] IUnknown *pVal);
[ id(14), helpstring("method ConnectManager")] HRESULT ConnectManager([in] ITVEMCastManager* pVal);
[propget, id(15), helpstring("property Manager")] HRESULT Manager([out, retval] IUnknown* *ppVal);
[propget, id(16), helpstring("property QueueThreadId")] HRESULT QueueThreadId([out, retval] long* pVal);
[propput, id(16), helpstring("property QueueThreadId")] HRESULT QueueThreadId([in] long pVal);
[propget, id(17), helpstring("property WhatType")] HRESULT WhatType([out, retval] NWHAT_Mode *pWhatType);
[propput, id(17), helpstring("property WhatType")] HRESULT WhatType([in] NWHAT_Mode whatType);
};
[
object,
uuid(05500131-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEMCasts Interface"),
pointer_default(unique)
]
interface ITVEMCasts : IDispatch
{
[propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
[propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVEMCast * *pVal);
[ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVEMCast *punk);
[ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
[ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
};
[
object,
uuid(05500132-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEMCastManager Interface"),
pointer_default(unique)
]
interface ITVEMCastManager : IDispatch
{
[propget, id(1), helpstring("property MCasts")] HRESULT MCasts([out, retval] ITVEMCasts* *pVal);
[propget, id(2), helpstring("property Supervisor")] HRESULT Supervisor([out, retval] ITVESupervisor* *ppSupervisor);
[propput, id(2), helpstring("property Supervisor")] HRESULT Supervisor([in] ITVESupervisor *pSupervisor);
[ id(3), helpstring("method AddMulticast")] HRESULT AddMulticast([in] NWHAT_Mode whatType, [in] BSTR bsAdapter, [in] BSTR bsIPAddress, [in] LONG ulIPPort, [in] LONG cBuffers, [in] IUnknown *pICallback, [out] ITVEMCast **ppMCastAdded);
[ id(4), helpstring("method FindMulticast")] HRESULT FindMulticast([in] BSTR bstrIPAdapter, [in] BSTR bstrIPAddress, [in] LONG sPort, [out] ITVEMCast **ppMCast, [out] LONG *pcMatches);
[ id(5), helpstring("method RemoveMulticast")] HRESULT RemoveMulticast(ITVEMCast *pMCast);
[ id(6), helpstring("method JoinAll")] HRESULT JoinAll();
[ id(7), helpstring("method LeaveAll")] HRESULT LeaveAll();
[ id(8), helpstring("method SuspendAll")] HRESULT SuspendAll([in] VARIANT_BOOL fSuspend);
[ id(9), helpstring("method Lock_")] HRESULT Lock_();
[ id(10), helpstring("method Unlock_")] HRESULT Unlock_();
[ id(11), helpstring("method DumpStatsToBSTR")] HRESULT DumpStatsToBSTR(int iType, BSTR *pBSTR);
[propget, id(13), helpstring("property HaltFlags")] HRESULT HaltFlags([out, retval] LONG *plGrfHaltFlags);
[propput, id(13), helpstring("property HaltFlags")] HRESULT HaltFlags([in] LONG lGrfHaltFlags);
};
[
object,
uuid(05500232-FAA5-4df9-8246-BFC23AC5CEA8),
// dual,
hidden,
helpstring("ITVEMCastManager_Helper Interface"),
pointer_default(unique)
]
interface ITVEMCastManager_Helper : IUnknown
{
[ id(1), helpstring("method DumpString")] HRESULT DumpString(BSTR bstrDump); // writes string to a Dump.txt
[ id(2), helpstring("method CreateQueueThread")] HRESULT CreateQueueThread();
[ id(3), helpstring("method KillQueueThread")] HRESULT KillQueueThread();
[ id(4), helpstring("method PostToQueueThread")] HRESULT PostToQueueThread(UINT uiMsg, WPARAM wParam, LPARAM lParam);
[ id(5), helpstring("method GetPacketCounts")] HRESULT GetPacketCounts([out] LONG *pCPackets, [out] LONG *pCPacketsDropped, [out] LONG *pCPacketsDroppedTotal);
};
[
object,
uuid(05500133-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEMCastCallback Interface"),
pointer_default(unique)
]
interface ITVEMCastCallback : IDispatch
{
[id(1), helpstring("method SetMCast")] HRESULT SetMCast(ITVEMCast *pMCast);
[id(2), helpstring("method ProcessPacket")] HRESULT ProcessPacket(unsigned char *pchBuffer, long cBytes, long lPacketId);
[id(3), helpstring("method PostPacket")] HRESULT PostPacket(unsigned char *pchBuffer, long cBytes, long wPacketId);
};
// ................ specific callbacks ..............
[
object,
uuid(05500141-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVECBAnnc Interface"),
pointer_default(unique)
]
interface ITVECBAnnc : IDispatch
{
[id(1), helpstring("method Init")] HRESULT Init(BSTR bstrFileTrigAdapter, ITVEService *pService); // want ITVEService here
};
[
object,
uuid(05500142-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVECBTrig Interface"),
pointer_default(unique)
]
interface ITVECBTrig : IDispatch
{
[id(1), helpstring("method Init")] HRESULT Init(ITVEVariation *pIVariation);
};
[
object,
uuid(05500143-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVECBFile Interface"),
pointer_default(unique)
]
interface ITVECBFile : IDispatch
{
[id(1), helpstring("method Init")] HRESULT Init(ITVEVariation *pIVariation, ITVEService *pIService);
};
[
object,
uuid(05500144-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVECBDummy Interface"),
pointer_default(unique)
]
interface ITVECBDummy : IDispatch
{
[id(1), helpstring("method Init")] HRESULT Init(int i);
};
// ----------------------------------------------------
[
object,
uuid(05500151-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVEFile Interface"),
pointer_default(unique)
]
interface ITVEFile : IDispatch
{
[ id(1), helpstring("method InitializeFile")] HRESULT InitializeFile([in] ITVEVariation *pVaria, [in] BSTR bsName, [in] BSTR bsLoc, [in] DATE dateExpires);
[ id(2), helpstring("method InitializePackage")] HRESULT InitializePackage([in] ITVEVariation *pVaria, [in] BSTR bsName, [in] BSTR bsLoc, [in] DATE dateExpires);
[propget, id(3), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pBstrDesc);
[propget, id(4), helpstring("property Location")] HRESULT Location([out, retval] BSTR* pBstrLoc);
[propget, id(5), helpstring("property ExpireTime")] HRESULT ExpireTime([out, retval] DATE* pDateExpires);
[propget, id(6), helpstring("property IsPackage")] HRESULT IsPackage([out, retval] BOOL* pfVal);
[propget, id(7), helpstring("property Variation")] HRESULT Variation([out, retval] ITVEVariation* *pVal);
[propget, id(8), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
[ id(9), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
[ id(10), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pBstrDump);
};
// ----------------------------------------------------
// ITVENavAid
// ----------------------------------------------------
[
object,
uuid (05500160-FAA5-4df9-8246-BFC23AC5CEA8),
dual,
helpstring("ITVENavAid Interface"),
pointer_default(unique)
]
interface ITVENavAid : IDispatch
{
[propput, id(1), helpstring("property WebBrowserApp")] HRESULT WebBrowserApp([in] IDispatch *pWebBrowser);
[propget, id(1), helpstring("property WebBrowserApp")] HRESULT WebBrowserApp([out, retval] IDispatch **ppWebBrowser);
[propget, id(2), helpstring("property TVETriggerCtrl")] HRESULT TVETriggerCtrl([out, retval] ITVETriggerCtrl **ppTriggerCtrl);
[propput, id(3), helpstring("property EnableAutoTriggering")] HRESULT EnableAutoTriggering([in] long lAutoTriggers);
[propget, id(3), helpstring("property EnableAutoTriggering")] HRESULT EnableAutoTriggering([out, retval] long *plAutoTriggers);
[propget, id(4), helpstring("property ActiveVariation")] HRESULT ActiveVariation([out, retval] ITVEVariation **ppActiveVariation);
[propput, id(4), helpstring("property ActiveVariation")] HRESULT ActiveVariation([in] ITVEVariation *pActiveVariation);
[propget, id(5), helpstring("property TVEFeature")] HRESULT TVEFeature([out, retval] ITVEFeature **ppTVEFeature);
[propget, id(6), helpstring("property CacheState")] HRESULT CacheState([out, retval] BSTR *pbstrBuff);
[propput, id(6), helpstring("property CacheState")] HRESULT CacheState([in] BSTR bstrBuff);
[ , id(7), helpstring("method NavUsingTVETrigger")] HRESULT NavUsingTVETrigger([in] ITVETrigger *pTrigger, [in] long lForceNav, [in] long lForceExec);
[ , id(8), helpstring("method ExecScript")] HRESULT ExecScript([in] BSTR bstrScript, [in] BSTR bstrLanguage);
[ , id(9), helpstring("method Navigate")] HRESULT Navigate([in] VARIANT *URL,[in] VARIANT *Flags,[in] VARIANT *TargetFrameName, [in] VARIANT *PostData, [in] VARIANT *Headers);
[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 = 0x0002,
NVAR_grfMediaTitle = 0x0004,
NVAR_grfFilePort = 0x0008,
NVAR_grfFileIPAddress = 0x0010,
NVAR_grfFileIPAdapter = 0x0020,
NVAR_grfTriggerPort = 0x0040,
NVAR_grfTriggerIPAddress = 0x0080,
NVAR_grfTriggerIPAdapter = 0x0100,
NVAR_grfAttributes = 0x0200,
NVAR_grfLanguages = 0x0400,
NVAR_grfBandwidth = 0x0800,
NVAR_grfBandwidthInfo = 0x1000,
NVAR_grfRest = 0x2000,
NVAR_grfAnyIP = (NVAR_grfFilePort | NVAR_grfFileIPAddress | NVAR_grfFileIPAdapter |
NVAR_grfTriggerPort | NVAR_grfTriggerIPAddress | NVAR_grfTriggerIPAdapter),
NVAR_grfAnyText = (NVAR_grfDescription | NVAR_grfMediaName | NVAR_grfMediaTitle),
NVAR_grfAnyBandwidth = (NVAR_grfBandwidth | NVAR_grfBandwidthInfo),
NVAR_grfAnyAttribute = (NVAR_grfAttributes | NVAR_grfRest),
NVAR_grfAll = (NVAR_grfRest<<1) - 1 // all flags
} NVAR_grfDiff;
typedef enum NTRK_grfDiff // attempt at a bit-field flag
{
NTRK_grfNone = 0x00,
NTRK_grfURL = 0x01,
NTRK_grfName = 0x02,
NTRK_grfScript = 0x04,
NTRK_grfDate = 0x08,
NTRK_grfTVELevel= 0x10,
NTRK_grfExpired = 0x20, // trigger arrived out of date
NTRK_grfRest = 0x40,
NTRK_grfAll = (NTRK_grfRest<<1) - 1 // all flags
} NTRK_grfDiff;
typedef enum NFLT_grfHaltFlags // flags to turn various processing bits off
{
NFLT_grfNone = 0x00,
NFLT_grfTA_Listen = 0x01, // don't listen for CC (XOverLink) triggers
NFLT_grfTA_Decode = 0x02, // don't accumulate byte data for XOverLink triggers into strings
NFLT_grfTA_Parse = 0x04, // don't parse any XOverLink data
NFLT_grfTB_AnncListen = 0x10, // suspend listening for announcement packets if set
NFLT_grfTB_AnncDecode = 0x20, // suspend decoding and processing of announcement packets if set
NFLT_grfTB_AnncParse = 0x40, // don't parse any announcements
NFLT_grfTB_TrigListen = 0x100, // suspend listening for transport B triggers
NFLT_grfTB_TrigDecode = 0x200, // suspend listening for transport B triggers
NFLT_grfTB_TrigParse = 0x400, // don't parse any transport B triggers
NFLT_grfTB_DataListen = 0x1000, // suspend listening for transport B data (files)
NFLT_grfTB_DataDecode = 0x2000, // suspend listening for transport B data (files)
NFLT_grfTB_DataParse = 0x4000, // don't parse any transport B data (files)
NFLT_grf_ExpireQueue = 0x10000, // turn expire queue processing on and off
NFLT_grf_Extra1 = 0x100000, // extra flag
NFLT_grf_Extra2 = 0x200000, // extra flag
NFLT_grf_Extra3 = 0x400000, // extra flag
NFLT_grf_Extra4 = 0x800000 //extra flag
} NFLT_grfHaltFlags;
// -------------------------------------------------
// ---------------------------------------------------
// CAUTION - if Change events below, need to perform (after MIDL compiling this file):
// CTVESupervisor->Implement Connection Point (_ITVEEvents)
// AND
// CTVEFeature->Implement Connection Point (_ITVEEvents)
// to regenerate the CProxy_ITVEEvents<> code.
//
// Select Browse... button, goto filters\tve\mstve\objd\i386 directory, use mstve.tlb
//
// Note thefile MSTvECP.h must be checked out.
//
[
uuid(05500000-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("_ITVEEvents Interface")
]
dispinterface _ITVEEvents
{
properties:
methods:
[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
};
[
uuid(05500001-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVETrigger Class")
]
coclass TVETrigger
{
[default] interface ITVETrigger;
interface ITVETrigger_Helper;
};
// ----------------------------------------------------
[
uuid(05500002-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVETrack Class")
]
coclass TVETrack
{
[default] interface ITVETrack;
interface ITVETrack_Helper;
};
// ---------------------------------
// [
// uuid(05500012-FAA5-4df9-8246-BFC23AC5CEA8),
// helpstring("TVETracks Class")
// ]
// coclass TVETracks
// {
// [default] interface ITVETracks;
// };
// ----------------------------------------------------
[
uuid(05500003-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEVariation Class")
]
coclass TVEVariation
{
[default] interface ITVEVariation;
interface ITVEVariation_Helper;
};
// [
// uuid(05500013-FAA5-4df9-8246-BFC23AC5CEA8),
// helpstring("TVEVariations Class")
// ]
// coclass TVEVariations
// {
// [default] interface ITVEVariations;
// };
// ---------------------------------------------------
[
uuid(05500004-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEEnhancement Class")
]
coclass TVEEnhancement
{
[default] interface ITVEEnhancement;
interface ITVEEnhancement_Helper;
};
// --------------------------------
[
uuid(05500014-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEEnhancements Class")
]
coclass TVEEnhancements
{
[default] interface ITVEEnhancements;
};
// ---------------------------------------------------
[
uuid(05500005-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEService Class")
]
coclass TVEService
{
[default] interface ITVEService;
interface ITVEService_Helper;
};
[
uuid(05500025-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEFeature Class")
]
coclass TVEFeature
{
[default] interface ITVEFeature;
[default, source] dispinterface _ITVEEvents; // out going event handler
interface _ITVEEvents; // incoming event interface
// interface ITVEService_Helper;
};
// -------------------------------
[
uuid(05500015-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEServices Class")
]
coclass TVEServices
{
[default] interface ITVEServices;
};
// ---------------------------------------------------
[
uuid(05500006-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVESupervisor Class")
]
coclass TVESupervisor
{
[default] interface ITVESupervisor;
[default, source] dispinterface _ITVEEvents;
interface ITVESupervisor_Helper;
};
/*
[
hidden,
uuid(05500406-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("ITVESupervisorGITProxy Class")
]
coclass TVESupervisorGITProxy
{
[default] interface ITVESupervisorGITProxy;
};
*/
// ---------------------------------------------------
[
uuid(05500021-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEAttrMap Class")
]
coclass TVEAttrMap
{
[default] interface ITVEAttrMap;
};
[
uuid(05500022-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEAttrTimeQ Class")
]
coclass TVEAttrTimeQ
{
[default] interface ITVEAttrTimeQ;
};
[
uuid(05500030-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEMCast Class")
]
coclass TVEMCast
{
[default] interface ITVEMCast;
};
[
uuid(05500031-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEMCasts Class")
]
coclass TVEMCasts
{
[default] interface ITVEMCasts;
};
[
uuid(05500032-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEMCastManager Class")
]
coclass TVEMCastManager
{
[default] interface ITVEMCastManager;
interface ITVEMCastManager_Helper;
};
[
uuid(05500040-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEMCastCallback Class")
]
coclass TVEMCastCallback
{
[default] interface ITVEMCastCallback;
};
[
uuid(05500041-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVECBAnnc Class")
]
// specific Multicast Callbacks
coclass TVECBAnnc
{
[default] interface ITVECBAnnc;
};
[
uuid(05500042-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVECBTrig Class")
]
coclass TVECBTrig
{
[default] interface ITVECBTrig;
};
[
uuid(05500043-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVECBFile Class")
]
coclass TVECBFile
{
[default] interface ITVECBFile;
};
[
uuid(05500049-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVECBDummy Class")
]
coclass TVECBDummy
{
[default] interface ITVECBDummy;
};
[
uuid(05500050-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEFile Class")
]
coclass TVEFile
{
[default] interface ITVEFile;
}
// This control gets CoCreate'ed by an app to handle hooking things together
[
uuid(05500070-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVENavAid Class")
]
coclass TVENavAid
{
[default] interface ITVENavAid; // controllable from HTML
interface ITVENavAid_Helper; // internal control methods
interface ITVENavAid_NoVidCtl; // to work without the VidControl
};
// this is the DShow TVE Receiver Filter that encapsulates a TVESupervisor
// object in a in a DShow graph
[
uuid(05500080-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVEFilter Class")
]
coclass TVEFilter
{
// [default, source] dispinterface _ITVEEvents;
[default] interface ITVEFilter;
interface ITVEFilter_Helper;
};
// This control gets CoCreated by HTML in <OBJECT TYPE="application\tve-trigger">
// Implements the tve-trigger receiver object properties as per Atvef Spec
[
uuid(05500091-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("_ITVETriggerCtrlEvents Interface")
]
dispinterface _ITVETriggerCtrlEvents
{
properties:
methods:
};
[
uuid(05500090-FAA5-4df9-8246-BFC23AC5CEA8),
helpstring("TVETriggerCtrl Class")
]
coclass TVETriggerCtrl
{
[default] interface ITVETriggerCtrl; // controllable from HTML
interface ITVETriggerCtrl_Helper; // internal control methods
[default, source] dispinterface _ITveTriggerCtrlEvents; // fire control events to HTML
// interface _ITVEvents; // respond to slew of TVE events
};
};