// -*- Mode: C++ -*- /*++ Copyright (c) 1999 Microsoft Corporation Abstract: Interface definitions for TIME components --*/ #include "mstimeid.h" import "servprov.idl"; cpp_quote("#include ") cpp_quote("#include ") interface ITIMEElementCollection; interface ITIMEState; interface ITIMEPlayList; [ uuid(87C96271-ADDB-4745-B2E8-DF88A8472FD1), lcid(0x0000), version(1.0) ] library MSTIME { typedef enum _TimeState { TS_Inactive = 0, TS_Active = 1, TS_Cueing = 2, TS_Seeking = 3, TS_Holding = 4, } TimeState; importlib("STDOLE2.TLB"); #include [ object, uuid(403E2540-4520-11D3-93AB-00A0C967A438), dual, pointer_default(unique) ] interface ITIMEActiveElementCollection : IDispatch { [id(DISPID_ACTIVEELMENTS_LENGTH), propget] HRESULT length([out, retval] long* p); [id(DISPID_ACTIVEELMENTS_NEWENUM), propget, restricted, hidden] HRESULT _newEnum([out, retval] IUnknown** p); [id(DISPID_ACTIVEELMENTS_ITEM)] HRESULT item( [defaultvalue("0"), in] VARIANT varIndex, [out, retval] VARIANT* pvarResult); } [ object, uuid(1C2EF64E-F07D-4338-9771-9154491CD8B9), dual, pointer_default(unique) ] interface ITIMEElement : IDispatch { // XML Attributes [propget, id(DISPID_TIMEELEMENT_ACCELERATE)] HRESULT accelerate([out, retval] VARIANT *); [propput, id(DISPID_TIMEELEMENT_ACCELERATE)] HRESULT accelerate([in] VARIANT); [propget, id(DISPID_TIMEELEMENT_AUTOREVERSE)] HRESULT autoReverse([out, retval] VARIANT *); [propput, id(DISPID_TIMEELEMENT_AUTOREVERSE)] HRESULT autoReverse([in] VARIANT ); [propget, id(DISPID_TIMEELEMENT_BEGIN)] HRESULT begin([out, retval] VARIANT * time); [propput, id(DISPID_TIMEELEMENT_BEGIN)] HRESULT begin([in] VARIANT time); [propget, id(DISPID_TIMEELEMENT_DECELERATE)] HRESULT decelerate([out, retval] VARIANT * ); [propput, id(DISPID_TIMEELEMENT_DECELERATE)] HRESULT decelerate([in] VARIANT); [propget, id(DISPID_TIMEELEMENT_DUR)] HRESULT dur([out, retval] VARIANT * time); [propput, id(DISPID_TIMEELEMENT_DUR)] HRESULT dur([in] VARIANT time); [propget, id(DISPID_TIMEELEMENT_END)] HRESULT end([out, retval] VARIANT * time); [propput, id(DISPID_TIMEELEMENT_END)] HRESULT end([in] VARIANT time); [propget, id(DISPID_TIMEELEMENT_FILL)] HRESULT fill([out, retval] BSTR * f); [propput, id(DISPID_TIMEELEMENT_FILL)] HRESULT fill([in] BSTR f); [propget, id(DISPID_TIMEELEMENT_MUTE)] HRESULT mute([out, retval] VARIANT * b); [propput, id(DISPID_TIMEELEMENT_MUTE)] HRESULT mute([in] VARIANT b); [propget, id(DISPID_TIMEELEMENT_REPEATCOUNT)] HRESULT repeatCount([out, retval] VARIANT * c); [propput, id(DISPID_TIMEELEMENT_REPEATCOUNT)] HRESULT repeatCount([in] VARIANT c); [propget, id(DISPID_TIMEELEMENT_REPEATDUR)] HRESULT repeatDur([out, retval] VARIANT * time); [propput, id(DISPID_TIMEELEMENT_REPEATDUR)] HRESULT repeatDur([in] VARIANT time); [propget, id(DISPID_TIMEELEMENT_RESTART)] HRESULT restart([out, retval] BSTR *); [propput, id(DISPID_TIMEELEMENT_RESTART)] HRESULT restart([in] BSTR ); [propget, id(DISPID_TIMEELEMENT_SPEED)] HRESULT speed([out, retval] VARIANT * speed); [propput, id(DISPID_TIMEELEMENT_SPEED)] HRESULT speed([in] VARIANT speed); [propget, id(DISPID_TIMEELEMENT_SYNCBEHAVIOR)] HRESULT syncBehavior([out, retval] BSTR * sync); [propput, id(DISPID_TIMEELEMENT_SYNCBEHAVIOR)] HRESULT syncBehavior([in] BSTR sync); [propget, id(DISPID_TIMEELEMENT_SYNCTOLERANCE)] HRESULT syncTolerance([out, retval] VARIANT * tol); [propput, id(DISPID_TIMEELEMENT_SYNCTOLERANCE)] HRESULT syncTolerance([in] VARIANT tol); [propget, id(DISPID_TIMEELEMENT_SYNCMASTER)] HRESULT syncMaster([out, retval] VARIANT * b); [propput, id(DISPID_TIMEELEMENT_SYNCMASTER)] HRESULT syncMaster([in] VARIANT b); [propget, id(DISPID_TIMEELEMENT_TIMEACTION)] HRESULT timeAction([out, retval] BSTR * time); [propput, id(DISPID_TIMEELEMENT_TIMEACTION)] HRESULT timeAction([in] BSTR time); [propget, id(DISPID_TIMEELEMENT_TIMECONTAINER)] HRESULT timeContainer([out, retval] BSTR *); [propget, id(DISPID_TIMEELEMENT_VOLUME)] HRESULT volume([out, retval] VARIANT * val); [propput, id(DISPID_TIMEELEMENT_VOLUME)] HRESULT volume([in] VARIANT val); // Properties [propget, id(DISPID_TIMEELEMENT_CURRTIMESTATE)] HRESULT currTimeState([out, retval] ITIMEState ** TimeState); [propget, id(DISPID_TIMEELEMENT_TIMEALL)] HRESULT timeAll([out, retval] ITIMEElementCollection **allColl); [propget, id(DISPID_TIMEELEMENT_TIMECHILDREN)] HRESULT timeChildren([out, retval] ITIMEElementCollection **childColl); [propget, id(DISPID_TIMEELEMENT_TIMEPARENT)] HRESULT timeParent([out, retval] ITIMEElement ** parent); [propget, id(DISPID_TIMEELEMENT_ISPAUSED)] HRESULT isPaused([out, retval] VARIANT_BOOL * b); // Methods [id (DISPID_TIMEELEMENT_BEGINELEMENT)] HRESULT beginElement(); [id (DISPID_TIMEELEMENT_BEGINELEMENTAT)] HRESULT beginElementAt([in] double parentTime); [id (DISPID_TIMEELEMENT_ENDELEMENT)] HRESULT endElement(); [id (DISPID_TIMEELEMENT_ENDELEMENTAT)] HRESULT endElementAt([in] double parentTime); [id (DISPID_TIMEELEMENT_PAUSEELEMENT)] HRESULT pauseElement(); [id (DISPID_TIMEELEMENT_RESET)] HRESULT resetElement(); [id (DISPID_TIMEELEMENT_RESUMEELEMENT)] HRESULT resumeElement(); [id (DISPID_TIMEELEMENT_SEEKACTIVETIME)] HRESULT seekActiveTime([in] double activeTime); [id (DISPID_TIMEELEMENT_SEEKSEGMENTTIME)] HRESULT seekSegmentTime([in] double segmentTime); [id (DISPID_TIMEELEMENT_SEEKTO)] HRESULT seekTo([in] LONG repeatCount, [in] double segmentTime); [id (DISPID_TIMEELEMENT_DOCUMENTTIMETOPARENTTIME)] HRESULT documentTimeToParentTime([in] double documentTime, [out, retval] double * parentTime); [id (DISPID_TIMEELEMENT_PARENTTIMETODOCUMENTTIME)] HRESULT parentTimeToDocumentTime([in] double parentTime, [out, retval] double * documentTime); [id (DISPID_TIMEELEMENT_PARENTTIMETOACTIVETIME)] HRESULT parentTimeToActiveTime([in] double parentTime, [out, retval] double * activeTime); [id (DISPID_TIMEELEMENT_ACTIVETIMETOPARENTTIME)] HRESULT activeTimeToParentTime([in] double activeTime, [out, retval] double * parentTime); [id (DISPID_TIMEELEMENT_ACTIVETIMETOSEGMENTTIME)] HRESULT activeTimeToSegmentTime([in] double activeTime, [out, retval] double * segmentTime); [id (DISPID_TIMEELEMENT_SEGMENTTIMETOACTIVETIME)] HRESULT segmentTimeToActiveTime([in] double segmentTime, [out, retval] double * activeTime); [id (DISPID_TIMEELEMENT_SEGMENTTIMETOSIMPLETIME)] HRESULT segmentTimeToSimpleTime([in] double segmentTime, [out, retval] double * simpleTime); [id (DISPID_TIMEELEMENT_SIMPLETIMETOSEGMENTTIME)] HRESULT simpleTimeToSegmentTime([in] double simpleTime, [out, retval] double * segmentTime); // Container attributes [propget, id(DISPID_TIMEELEMENT_ENDSYNC)] HRESULT endSync([out, retval] BSTR * es); [propput, id(DISPID_TIMEELEMENT_ENDSYNC)] HRESULT endSync([in] BSTR es); // Container Properties [propget, id(DISPID_TIMEELEMENT_ACTIVEELEMENTS)] HRESULT activeElements([out, retval] ITIMEActiveElementCollection **activeColl); [propget, id(DISPID_TIMEELEMENT_HASMEDIA)] HRESULT hasMedia([retval, out] VARIANT_BOOL * flag); // Container Methods [id (DISPID_TIMEELEMENT_NEXTELEMENT)] HRESULT nextElement(); [id (DISPID_TIMEELEMENT_PREVELEMENT)] HRESULT prevElement(); [propget, id(DISPID_TIMEELEMENT_UPDATEMODE)] HRESULT updateMode([out,retval] BSTR* updateMode); [propput, id(DISPID_TIMEELEMENT_UPDATEMODE)] HRESULT updateMode([in] BSTR updateMode); }; // // ITIMEBodyElement // [ object, uuid(8c90e348-ec0a-4229-90b0-e57d2ca45ccb), dual, pointer_default(unique) ] interface ITIMEBodyElement : ITIMEElement { }; [ object, uuid(47a6972f-ae65-4a6b-ae63-d0c1d5307b58), dual, pointer_default(unique) ] interface ITIMEMediaElement : ITIMEElement { // XML Attributes [propget, id(DISPID_TIMEMEDIAELEMENT_CLIPBEGIN)] HRESULT clipBegin([out, retval] VARIANT * time); [propput, id(DISPID_TIMEMEDIAELEMENT_CLIPBEGIN)] HRESULT clipBegin([in] VARIANT time); [propget, id(DISPID_TIMEMEDIAELEMENT_CLIPEND)] HRESULT clipEnd([out, retval] VARIANT * time); [propput, id(DISPID_TIMEMEDIAELEMENT_CLIPEND)] HRESULT clipEnd([in] VARIANT time); [propget, id(DISPID_TIMEMEDIAELEMENT_PLAYER)] HRESULT player([out, retval] VARIANT * id); [propput, id(DISPID_TIMEMEDIAELEMENT_PLAYER)] HRESULT player([in] VARIANT id); [propget, id(DISPID_TIMEMEDIAELEMENT_SRC)] HRESULT src([out, retval] VARIANT * url); [propput, id(DISPID_TIMEMEDIAELEMENT_SRC)] HRESULT src([in] VARIANT url); [propget, id(DISPID_TIMEMEDIAELEMENT_TYPE)] HRESULT type([out, retval] VARIANT * mimetype); [propput, id(DISPID_TIMEMEDIAELEMENT_TYPE)] HRESULT type([in] VARIANT mimetype); // Properties [propget, id(DISPID_TIMEMEDIAELEMENT_ABSTRACT)] HRESULT abstract([out, retval] BSTR *abs); [propget, id(DISPID_TIMEMEDIAELEMENT_AUTHOR)] HRESULT author([out, retval] BSTR *auth); [propget, id(DISPID_TIMEMEDIAELEMENT_COPYRIGHT)] HRESULT copyright([out, retval] BSTR *cpyrght); [propget, id(DISPID_TIMEMEDIAELEMENT_HASAUDIO)] HRESULT hasAudio([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAELEMENT_HASVISUAL)] HRESULT hasVisual([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAELEMENT_MEDIADUR)] HRESULT mediaDur([out, retval] double *dur); [propget, id(DISPID_TIMEMEDIAELEMENT_MEDIAHEIGHT)] HRESULT mediaHeight([out, retval] long *height); [propget, id(DISPID_TIMEMEDIAELEMENT_MEDIAWIDTH)] HRESULT mediaWidth([out, retval] long *width); [propget, id(DISPID_TIMEMEDIAELEMENT_PLAYEROBJECT)] HRESULT playerObject([out, retval] IDispatch **ppDisp); [propget, id(DISPID_TIMEMEDIAELEMENT_PLAYLIST)] HRESULT playList([out, retval] ITIMEPlayList** pPlayList); [propget, id(DISPID_TIMEMEDIAELEMENT_RATING)] HRESULT rating([out, retval] BSTR *rate); [propget, id(DISPID_TIMEMEDIAELEMENT_TITLE)] HRESULT title([out, retval] BSTR *name); [propget, id(DISPID_TIMEMEDIAELEMENT_HASPLAYLIST)] HRESULT hasPlayList([out, retval] VARIANT_BOOL * b); // Media Capabilities [propget, id(DISPID_TIMEMEDIAELEMENT_CANPAUSE)] HRESULT canPause([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAELEMENT_CANSEEK)] HRESULT canSeek([retval, out] VARIANT_BOOL * b); }; [ object, uuid(9EE29400-7EE6-453a-85B3-4EC28E0305B4), dual, pointer_default(unique) ] interface ITIMEMediaElement2 : ITIMEMediaElement { [propget, id(DISPID_TIMEMEDIAELEMENT2_EARLIESTTIME)] HRESULT earliestMediaTime([out,retval] VARIANT * earliestMediaTime); [propget, id(DISPID_TIMEMEDIAELEMENT2_LATESTTTIME)] HRESULT latestMediaTime([out,retval] VARIANT * latestMediaTime); [propget, id(DISPID_TIMEMEDIAELEMENT2_MINBUFF)] HRESULT minBufferedMediaDur([out, retval] VARIANT * minBufferedMediaDur); [propput, id(DISPID_TIMEMEDIAELEMENT2_MINBUFF)] HRESULT minBufferedMediaDur([in] VARIANT minBufferedMediaDur); [propget, id(DISPID_TIMEMEDIAELEMENT2_DLTOTAL)] HRESULT downloadTotal([out,retval] VARIANT * downloadTotal); [propget, id(DISPID_TIMEMEDIAELEMENT2_DLCURRENT)] HRESULT downloadCurrent([out,retval] VARIANT * downloadCurrent); [propget, id(DISPID_TIMEMEDIAELEMENT2_ISSTREAMED)] HRESULT isStreamed([out,retval] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAELEMENT2_BUFPROG)] HRESULT bufferingProgress([out,retval] VARIANT * bufferingProgress); [propget, id(DISPID_TIMEMEDIAELEMENT2_HASDLPROGRESS)] HRESULT hasDownloadProgress([out,retval] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAELEMENT2_DLPROG)] HRESULT downloadProgress([out,retval] VARIANT * downloadProgress); [propget, id(DISPID_TIMEMEDIAELEMENT2_MIMETYPE)] HRESULT mimeType([out, retval] BSTR *mimeType); [id (DISPID_TIMEMEDIAELEMENT2_SEEKTOFRAME)] HRESULT seekToFrame([in] long frameNr); [id (DISPID_TIMEMEDIAELEMENT2_DECODEMIMETYPE)] HRESULT decodeMimeType([in] TCHAR * header, [in] long headerSize, [out] BSTR * mimeType); [propget, id(DISPID_TIMEMEDIAELEMENT_CURRFRAME)] HRESULT currentFrame([out, retval] long *currFrame); }; [ object, uuid(f383d66f-5e68-4fc2-b641-03672b543a49), dual, pointer_default(unique) ] interface ITIMETransitionElement : IDispatch { [propget, id(DISPID_TIMETRANSITIONELEMENT_TYPE)] HRESULT type([out, retval] VARIANT * type); [propput, id(DISPID_TIMETRANSITIONELEMENT_TYPE)] HRESULT type([in] VARIANT type); [propget, id(DISPID_TIMETRANSITIONELEMENT_SUBTYPE)] HRESULT subType([out, retval] VARIANT * subtype); [propput, id(DISPID_TIMETRANSITIONELEMENT_SUBTYPE)] HRESULT subType([in] VARIANT subtype); [propget, id(DISPID_TIMETRANSITIONELEMENT_DUR)] HRESULT dur([out, retval] VARIANT * dur); [propput, id(DISPID_TIMETRANSITIONELEMENT_DUR)] HRESULT dur([in] VARIANT dur); [propget, id(DISPID_TIMETRANSITIONELEMENT_STARTPROGRESS)] HRESULT startProgress([out, retval] VARIANT * startProgress); [propput, id(DISPID_TIMETRANSITIONELEMENT_STARTPROGRESS)] HRESULT startProgress([in] VARIANT startProgress); [propget, id(DISPID_TIMETRANSITIONELEMENT_ENDPROGRESS)] HRESULT endProgress([out, retval] VARIANT * endProgress); [propput, id(DISPID_TIMETRANSITIONELEMENT_ENDPROGRESS)] HRESULT endProgress([in] VARIANT endProgress); [propget, id(DISPID_TIMETRANSITIONELEMENT_DIRECTION)] HRESULT direction([out, retval] VARIANT * direction); [propput, id(DISPID_TIMETRANSITIONELEMENT_DIRECTION)] HRESULT direction([in] VARIANT direction); [propget, id(DISPID_TIMETRANSITIONELEMENT_REPEATCOUNT)] HRESULT repeatCount([out, retval] VARIANT * repeatCount); [propput, id(DISPID_TIMETRANSITIONELEMENT_REPEATCOUNT)] HRESULT repeatCount([in] VARIANT repeatCount); [propget, id(DISPID_TIMETRANSITIONELEMENT_BEGIN)] HRESULT begin([out, retval] VARIANT * begin); [propput, id(DISPID_TIMETRANSITIONELEMENT_BEGIN)] HRESULT begin([in] VARIANT begin); [propget, id(DISPID_TIMETRANSITIONELEMENT_END)] HRESULT end([out, retval] VARIANT * end); [propput, id(DISPID_TIMETRANSITIONELEMENT_END)] HRESULT end([in] VARIANT end); }; [ object, uuid(a74f14b1-b6a2-430a-a5e8-1f4e53f710fe), dual, pointer_default(unique) ] interface ITIMEAnimationElement : ITIMEElement { [propget, id(DISPID_TIMEANIMATIONELEMENT_ATTRIBUTENAME)] HRESULT attributeName([out, retval] BSTR * attrib); [propput, id(DISPID_TIMEANIMATIONELEMENT_ATTRIBUTENAME)] HRESULT attributeName([in] BSTR attrib); [propget, id(DISPID_TIMEANIMATIONELEMENT_BY)] HRESULT by([out, retval] VARIANT * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_BY)] HRESULT by([in] VARIANT val); [propget, id(DISPID_TIMEANIMATIONELEMENT_CALCMODE)] HRESULT calcMode([out, retval] BSTR * calcmode); [propput, id(DISPID_TIMEANIMATIONELEMENT_CALCMODE)] HRESULT calcMode([in] BSTR calcmode); [propget, id(DISPID_TIMEANIMATIONELEMENT_FROM)] HRESULT from([out, retval] VARIANT * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_FROM)] HRESULT from([in] VARIANT val); [propget, id(DISPID_TIMEANIMATIONELEMENT_KEYSPLINES)] HRESULT keySplines([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_KEYSPLINES)] HRESULT keySplines([in] BSTR val); [propget, id(DISPID_TIMEANIMATIONELEMENT_KEYTIMES)] HRESULT keyTimes([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_KEYTIMES)] HRESULT keyTimes([in] BSTR val); [propget, id(DISPID_TIMEANIMATIONELEMENT_TARGETELEMENT)] HRESULT targetElement([out, retval] BSTR * target); [propput, id(DISPID_TIMEANIMATIONELEMENT_TARGETELEMENT)] HRESULT targetElement([in] BSTR target); [propget, id(DISPID_TIMEANIMATIONELEMENT_TO)] HRESULT to([out, retval] VARIANT * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_TO)] HRESULT to([in] VARIANT val); [propget, id(DISPID_TIMEANIMATIONELEMENT_VALUES)] HRESULT values([out, retval] VARIANT * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_VALUES)] HRESULT values([in] VARIANT val); [propget, id(DISPID_TIMEANIMATIONELEMENT_ORIGIN)] HRESULT origin([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_ORIGIN)] HRESULT origin([in] BSTR val); [propget, id(DISPID_TIMEANIMATIONELEMENT_PATH)] HRESULT path([out, retval] VARIANT * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_PATH)] HRESULT path([in] VARIANT val); [propget, id(DISPID_TIMEANIMATIONELEMENT_ADDITIVE)] HRESULT additive([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_ADDITIVE)] HRESULT additive([in] BSTR val); [propget, id(DISPID_TIMEANIMATIONELEMENT_ACCUMULATE)] HRESULT accumulate([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_ACCUMULATE)] HRESULT accumulate([in] BSTR val); }; [ object, uuid(29CE8661-BD43-421a-B616-E9B31F33A572), dual, pointer_default(unique) ] interface ITIMEAnimationElement2 : ITIMEAnimationElement { [propget, id(DISPID_TIMEANIMATIONELEMENT_TYPE)] HRESULT type([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_TYPE)] HRESULT type([in] BSTR val); [propget, id(DISPID_TIMEANIMATIONELEMENT_SUBTYPE)] HRESULT subType([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_SUBTYPE)] HRESULT subType([in] BSTR val); [propget, id(DISPID_TIMEANIMATIONELEMENT_MODE)] HRESULT mode([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_MODE)] HRESULT mode([in] BSTR val); [propget, id(DISPID_TIMEANIMATIONELEMENT_FADECOLOR)] HRESULT fadeColor([out, retval] BSTR * val); [propput, id(DISPID_TIMEANIMATIONELEMENT_FADECOLOR)] HRESULT fadeColor([in] BSTR val); } [ object, uuid(5459C83D-322B-44b3-8DAA-24C947E7B275), pointer_default(unique) ] interface IAnimationComposer : IUnknown { [propget] HRESULT attribute ([out, retval] BSTR *attributeName); HRESULT ComposerInit (IDispatch * composerSite, BSTR attributeName); HRESULT ComposerDetach (void); HRESULT UpdateFragments (void); HRESULT AddFragment (IDispatch *newAnimationFragment); HRESULT InsertFragment (IDispatch *newAnimationFragment, VARIANT index); HRESULT RemoveFragment (IDispatch *oldAnimationFragment); HRESULT EnumerateFragments (IEnumVARIANT **fragments); HRESULT GetNumFragments (long *fragmentCount); } [ object, uuid(1A4F0E79-09CD-47f3-AFF1-483BF3A222DC), pointer_default(unique) ] interface IAnimationComposer2 : IAnimationComposer { HRESULT ComposerInitFromFragment (IDispatch * composerSite, BSTR attributeName, IDispatch *oneFragment); } [ object, uuid(488FCB56-8FD6-4cda-A06A-5BB232930ECA), dual, pointer_default(unique) ] interface IAnimationComposerSite : IDispatch { [id(DISPID_SMILANIMATIONCOMPSITE_ADDFRAGMENT)] HRESULT AddFragment (BSTR attributeName, IDispatch *fragment); [id(DISPID_SMILANIMATIONCOMPSITE_REMOVEFRAGMENT)] HRESULT RemoveFragment (BSTR attributeName, IDispatch *fragment); [id(DISPID_SMILANIMATIONCOMPSITE_INSERTFRAGMENT)] HRESULT InsertFragment (BSTR attributeName, IDispatch *fragment, VARIANT index); [id(DISPID_SMILANIMATIONCOMPSITE_ENUMERATEFRAGMENTS)] HRESULT EnumerateFragments (BSTR attributeName, IEnumVARIANT **fragments); [id(DISPID_SMILANIMATIONCOMPSITE_REGISTERFACTORY)] HRESULT RegisterComposerFactory (VARIANT *factory); [id(DISPID_SMILANIMATIONCOMPSITE_UNREGISTER_FACTORY)] HRESULT UnregisterComposerFactory (VARIANT *factory); }; [ object, uuid(8EF76C64-71CD-480f-96FC-BA2696E659BE), pointer_default(unique) ] interface IAnimationComposerSiteSink : IUnknown { void UpdateAnimations (void); void ComposerSiteDetach (void); }; [ object, uuid(29DF6387-30B4-4a62-891B-A9C5BE37BE88), pointer_default(unique) ] interface IAnimationRoot : IUnknown { HRESULT RegisterComposerSite (IUnknown *composerSite); HRESULT UnregisterComposerSite (IUnknown *composerSite); }; [ object, uuid(319DFD88-0AC6-4ab1-A19F-90223BA2DA16), dual, pointer_default(unique) ] interface IAnimationFragment : IDispatch { [propget, id(DISPID_SMILANIMATIONFRAGMENT_ELEMENT)] HRESULT element([out, retval] IDispatch **htmlElement); [id(DISPID_SMILANIMATIONFRAGMENT_VALUE)] HRESULT get_value([in] BSTR attributeName, [in] VARIANT origvalue, [in] VARIANT currentvalue, [out, retval] VARIANT *newvalue); [id(DISPID_SMILANIMATIONFRAGMENT_DETACHFROMCOMPOSER)] HRESULT DetachFromComposer (void); }; [ object, uuid(02E29300-C758-49b4-9E11-C58BFE90558B), pointer_default(unique) ] interface IFilterAnimationInfo : IUnknown { HRESULT GetParameters (VARIANT *params); }; [ odl, oleautomation, dual, uuid(50abc224-6d53-4f83-9135-2440a41b7bc8), ] interface ITIMEElementCollection : IDispatch { [propput, id(DISPID_TIMEELEMENTCOLLECTION_LENGTH)] HRESULT length([in] long v); [propget, id(DISPID_TIMEELEMENTCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p); [propget, id(DISPID_TIMEELEMENTCOLLECTION__NEWENUM), restricted, hidden] HRESULT _newEnum([retval, out] IUnknown** ppIUnknown); [id(DISPID_TIMEELEMENTCOLLECTION_ITEM)] HRESULT item([optional, in] VARIANT varName, [optional, in] VARIANT varIndex, [retval, out] IDispatch** ppDisp); [id(DISPID_TIMEELEMENTCOLLECTION_TAGS)] HRESULT tags([in] VARIANT varName, [retval, out] IDispatch** ppDisp); }; // // ITIMEState (implemented by currTimeState object) // [ object, oleautomation, dual, pointer_default(unique), uuid(DD5EC62A-9D77-4573-80A8-758594E69CEA) ] interface ITIMEState : IDispatch { [propget, id(DISPID_TIMESTATE_ACTIVEDUR)] HRESULT activeDur([retval, out] double * dur); [propget, id(DISPID_TIMESTATE_ACTIVETIME)] HRESULT activeTime([retval, out] double * time); [propget, id(DISPID_TIMESTATE_ISACTIVE)] HRESULT isActive([retval, out] VARIANT_BOOL * active); [propget, id(DISPID_TIMESTATE_ISON)] HRESULT isOn([retval, out] VARIANT_BOOL * on); [propget, id(DISPID_TIMESTATE_ISPAUSED)] HRESULT isPaused([retval, out] VARIANT_BOOL * paused); [propget, id(DISPID_TIMESTATE_ISMUTED)] HRESULT isMuted([retval, out] VARIANT_BOOL * muted); [propget, id(DISPID_TIMESTATE_PARENTTIMEBEGIN)] HRESULT parentTimeBegin([retval, out] double * time); [propget, id(DISPID_TIMESTATE_PARENTTIMEEND)] HRESULT parentTimeEnd([retval, out] double * time); [propget, id(DISPID_TIMESTATE_PROGRESS)] HRESULT progress([retval, out] double * progress); [propget, id(DISPID_TIMESTATE_REPEATCOUNT)] HRESULT repeatCount([retval, out] LONG * count); [propget, id(DISPID_TIMESTATE_SEGMENTDUR)] HRESULT segmentDur([retval, out] double * dur); [propget, id(DISPID_TIMESTATE_SEGMENTTIME)] HRESULT segmentTime([retval, out] double * time); [propget, id(DISPID_TIMESTATE_SIMPLEDUR)] HRESULT simpleDur([retval, out] double * dur); [propget, id(DISPID_TIMESTATE_SIMPLETIME)] HRESULT simpleTime([retval, out] double * time); [propget, id(DISPID_TIMESTATE_SPEED)] HRESULT speed([retval, out] float * speed); [propget, id(DISPID_TIMESTATE_STATE)] HRESULT state([retval, out] TimeState * timeState); [propget, id(DISPID_TIMESTATE_STATESTRING)] HRESULT stateString([retval, out] BSTR * state); [propget, id(DISPID_TIMESTATE_VOLUME)] HRESULT volume([retval, out] float * vol); }; // ITIMEState [ object, uuid(2A6096D9-2CE0-47DC-A813-9099A2466309), dual, pointer_default(unique) ] interface ITIMEPlayItem : IDispatch { [propget, id(DISPID_TIMEPLAYITEM_ABSTRACT)] HRESULT abstract([out, retval] BSTR *abs); [propget, id(DISPID_TIMEPLAYITEM_AUTHOR)] HRESULT author([out, retval] BSTR *auth); [propget, id(DISPID_TIMEPLAYITEM_COPYRIGHT)] HRESULT copyright([out, retval] BSTR *cpyrght); [propget, id(DISPID_TIMEPLAYITEM_DUR)] HRESULT dur([out, retval] double *dur); [propget, id(DISPID_TIMEPLAYITEM_INDEX)] HRESULT index([out, retval] long *index); [propget, id(DISPID_TIMEPLAYITEM_RATING)] HRESULT rating([out, retval] BSTR *rate); [propget, id(DISPID_TIMEPLAYITEM_SRC)] HRESULT src([out, retval] BSTR *src); [propget, id(DISPID_TIMEPLAYITEM_TITLE)] HRESULT title([out, retval] BSTR *title); // Methods [id(DISPID_TIMEPLAYITEM_SETACTIVE)] HRESULT setActive(); }; [ object, uuid(4262CD38-6BDC-40A4-BC50-4CC50366E702), dual, pointer_default(unique) ] interface ITIMEPlayItem2 : ITIMEPlayItem { [propget, id(DISPID_TIMEPLAYITEM_BANNER)] HRESULT banner([out, retval] BSTR *banner); [propget, id(DISPID_TIMEPLAYITEM_BANNERABSTRACT)] HRESULT bannerAbstract([out, retval] BSTR *abstract); [propget, id(DISPID_TIMEPLAYITEM_BANNERMOREINFO)] HRESULT bannerMoreInfo([out, retval] BSTR *moreInfo); }; [ object, uuid(E9B75B62-DD97-4B19-8FD9-9646292952E0), dual, pointer_default(unique), ] interface ITIMEPlayList : IDispatch { [id(DISPID_TIMEPLAYLIST_ACTIVETRACK), propput] HRESULT activeTrack([in] VARIANT vTrack); [id(DISPID_TIMEPLAYLIST_ACTIVETRACK), propget] HRESULT activeTrack([out, retval] ITIMEPlayItem **pPlayItem); [id(DISPID_TIMEPLAYLIST_DUR), propget] HRESULT dur(double *dur); //returns the duration of the entire playlist if it is known or -1 if it is not. [id(DISPID_TIMEPLAYLIST_ITEM)] HRESULT item([defaultvalue("0"), in] VARIANT varIndex, [out, retval] ITIMEPlayItem **pPlayItem); [id(DISPID_TIMEPLAYLIST_LENGTH), propget] HRESULT length([out, retval] long* p); [id(DISPID_TIMEPLAYLIST_NEWENUM), propget, restricted, hidden] HRESULT _newEnum([out, retval] IUnknown** p); [id(DISPID_TIMEPLAYLIST_NEXTTRACK)] HRESULT nextTrack(); [id(DISPID_TIMEPLAYLIST_PREVTRACK)] HRESULT prevTrack(); }; [ object, uuid(3AF7AB68-4F29-462C-AA6E-5872448899E3), dual, pointer_default(unique), ] interface ITIMEDVDPlayerObject : IDispatch { [id(DISPID_ITIMEDVDPLAYEROBJECT_UPPERBUTTONSEL)] HRESULT upperButtonSelect(); [id(DISPID_ITIMEDVDPLAYEROBJECT_LOWERBUTTONSEL)] HRESULT lowerButtonSelect(); [id(DISPID_ITIMEDVDPLAYEROBJECT_LEFTBUTTONSEL)] HRESULT leftButtonSelect(); [id(DISPID_ITIMEDVDPLAYEROBJECT_RIGHTBUTTONSEL)] HRESULT rightButtonSelect(); [id(DISPID_ITIMEDVDPLAYEROBJECT_BUTTONACTIVATE)] HRESULT buttonActivate(); [id(DISPID_ITIMEDVDPLAYEROBJECT_GOTOMENU)] HRESULT gotoMenu(); }; [ object, uuid(407954F5-2BAB-4CFA-954D-249F9FCE43A1), dual, pointer_default(unique), ] interface ITIMEDMusicPlayerObject : IDispatch { [propget, id(DISPID_ITIMEDMPLAYEROBJECT_HASDM)] HRESULT isDirectMusicInstalled([retval, out] VARIANT_BOOL * hasDM); }; [ object, uuid(cd51e446-3006-434f-90e2-e37e8fb8ca8f), hidden, pointer_default(unique) ] interface ITIMEFactory : IUnknown { } [ uuid(17237A20-3ADB-48ec-B182-35291F115790) ] coclass TIMEFactory { [default] interface ITIMEFactory; }; [ uuid(e32ef57b-7fde-4765-9bc5-a1ba9705c44e) ] coclass TIME { [default] interface ITIMEElement; }; [ uuid(f99d135a-c07c-449e-965c-7dbb7c554a51) ] coclass TIMEAnimation { [default] interface IAnimationFragment; }; [ uuid(ba91ce53-baeb-4f05-861c-0a2a0934f82e) ] coclass TIMESetAnimation { [default] interface IAnimationFragment; }; [ uuid(0019a09d-1a81-41c5-89ec-d9e737811303) ] coclass TIMEMotionAnimation { [default] interface IAnimationFragment; }; [ uuid(62f75052-f3ec-4a64-84fb-ab18e0746ed8) ] coclass TIMEColorAnimation { [default] interface IAnimationFragment; }; [ uuid(C54515D0-F2E5-4BDD-AA86-1E4F23E480E7) ] coclass TIMEFilterAnimation { [default] interface IAnimationFragment; } [ object, uuid(BEEB3233-F71F-4683-8B05-9A5314C97DBC), pointer_default(unique) ] interface IAnimationComposerFactory : IUnknown { HRESULT FindComposer([in] IDispatch *targetElement, [in] BSTR attributeName, [out, retval] IAnimationComposer **animationComposer); } [ uuid(332B2A56-F86C-47e7-8602-FC42AC8B9920) ] coclass AnimationComposerFactory { [default] interface IAnimationComposerFactory; }; [ object, uuid(B4EA5681-ED72-4efe-BBD7-7C47D1325696), dual, hidden, pointer_default(unique) ] interface IAnimationComposerSiteFactory : IDispatch { } [ uuid(16911A65-D41D-4431-87F7-E757F4D03BD8) ] coclass AnimationComposerSiteFactory { [default] interface IAnimationComposerSiteFactory; }; [ object, uuid(bf0571ed-344f-4f58-82c7-7431ed0fd834), pointer_default(unique) ] interface ITIMEMediaPlayerSite : IUnknown { [propget, id(DISPID_TIMEMEDIAPLAYERSITE_TIMEELEMENT)] HRESULT timeElement([out, retval] ITIMEElement ** pElm); [propget, id(DISPID_TIMEMEDIAPLAYERSITE_TIMESTATE)] HRESULT timeState([out, retval] ITIMEState ** pState); [id(DISPID_TIMEMEDIAPLAYERSITE_REPORTERROR)] HRESULT reportError([in] HRESULT hr, [in] BSTR errorString); } [ object, uuid(ea4a95be-acc9-4bf0-85a4-1bf3c51e431c), pointer_default(unique) ] interface ITIMEMediaPlayer : IUnknown { [id(DISPID_TIMEMEDIAPLAYER_INIT)] HRESULT Init(ITIMEMediaPlayerSite * mpsite); [id(DISPID_TIMEMEDIAPLAYER_DETACH)] HRESULT Detach(); [id(DISPID_TIMEMEDIAPLAYER_BEGIN)] HRESULT begin(); [id(DISPID_TIMEMEDIAPLAYER_END)] HRESULT end(); [id(DISPID_TIMEMEDIAPLAYER_RESUME)] HRESULT resume(); [id(DISPID_TIMEMEDIAPLAYER_PAUSE)] HRESULT pause(); [id(DISPID_TIMEMEDIAPLAYER_REPEAT)] HRESULT repeat(); [id(DISPID_TIMEMEDIAPLAYER_RESET)] HRESULT reset(); [id(DISPID_TIMEMEDIAPLAYER_SEEK)] HRESULT seek([in] double time); // Properties - w [propput, id(DISPID_TIMEMEDIAPLAYER_SRC)] HRESULT src([in] BSTR url); [propput, id(DISPID_TIMEMEDIAPLAYER_CLIPBEGIN)] HRESULT clipBegin([in] VARIANT b); [propput, id(DISPID_TIMEMEDIAPLAYER_CLIPEND)] HRESULT clipEnd([in] VARIANT e); // Properties - r/o [propget, id(DISPID_TIMEMEDIAPLAYER_ABSTRACT)] HRESULT abstract([out, retval] BSTR *abs); [propget, id(DISPID_TIMEMEDIAPLAYER_AUTHOR)] HRESULT author([out, retval] BSTR *auth); [propget, id(DISPID_TIMEMEDIAPLAYER_CANPAUSE)] HRESULT canPause([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAPLAYER_CANSEEK)] HRESULT canSeek([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAPLAYER_CLIPDUR)] HRESULT clipDur([out, retval] double * dur); [propget, id(DISPID_TIMEMEDIAPLAYER_COPYRIGHT)] HRESULT copyright([out, retval] BSTR *cpyrght); [propget, id(DISPID_TIMEMEDIAPLAYER_CURRTIME)] HRESULT currTime([out, retval] double * time); [propget, id(DISPID_TIMEMEDIAPLAYER_CUSTOM_OBJECT)] HRESULT customObject([out, retval] IDispatch ** disp); [propget, id(DISPID_TIMEMEDIAPLAYER_HASAUDIO)] HRESULT hasAudio([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAPLAYER_HASVISUAL)] HRESULT hasVisual([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAPLAYER_MEDIADUR)] HRESULT mediaDur([out, retval] double *dur); [propget, id(DISPID_TIMEMEDIAPLAYER_MEDIAHEIGHT)] HRESULT mediaHeight([out, retval] long *height); [propget, id(DISPID_TIMEMEDIAPLAYER_MEDIAWIDTH)] HRESULT mediaWidth([out, retval] long *width); [propget, id(DISPID_TIMEMEDIAPLAYER_PLAYLIST)] HRESULT playList([out, retval] ITIMEPlayList** pPlayList); [propget, id(DISPID_TIMEMEDIAPLAYER_RATING)] HRESULT rating([out, retval] BSTR *rate); [propget, id(DISPID_TIMEMEDIAPLAYER_STATE)] HRESULT state([out, retval] TimeState * ts); [propget, id(DISPID_TIMEMEDIAPLAYER_TITLE)] HRESULT title([out, retval] BSTR *name); }; [ object, uuid(ffaacfda-b374-4f22-ac9a-c5bb9437cb56), pointer_default(unique) ] interface ITIMEMediaPlayerAudio : IUnknown { // Properties - w [propput, id(DISPID_TIMEMEDIAPLAYERAUDIO_VOLUME)] HRESULT volume([in] float f); [propput, id(DISPID_TIMEMEDIAPLAYERAUDIO_MUTE)] HRESULT mute([in] VARIANT_BOOL m); }; [ object, uuid(b9987fca-7fbb-4015-bd3d-7418605514da), pointer_default(unique) ] interface ITIMEMediaPlayerNetwork : IUnknown { // Properties - r [propget, id(DISPID_TIMEMEDIAPLAYERNETWORK_HASDOWNLOADPROGRESS)] HRESULT hasDownloadProgress([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAPLAYERNETWORK_DOWNLOADPROGRESS)] HRESULT downloadProgress([out, retval] long * l); [propget, id(DISPID_TIMEMEDIAPLAYERNETWORK_ISBUFFERED)] HRESULT isBuffered([retval, out] VARIANT_BOOL * b); [propget, id(DISPID_TIMEMEDIAPLAYERNETWORK_BUFFERINGPROGRESS)] HRESULT bufferingProgress([out, retval] long * l); }; [ object, uuid(897a99e7-f386-45c8-b51b-3a25bbcbba69), pointer_default(unique) ] interface ITIMEMediaPlayerControl : IUnknown { [id(DISPID_TIMEMEDIAPLAYERCONTROL_GETCONTROL)] HRESULT getControl(IUnknown ** control); } }