📄 mstve.idl
字号:
} ;
// ---------------------------------------------------------------------------------------
// ***************************************************************************************
// ----------------------------------------------------------------------------------------
[
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;
};
// ---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -