// 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 . [ 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 . [ 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 // 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 }; };