|  | /*** Autogenerated by WIDL 10.16 from include/qedit.idl - Do not edit ***/ | 
|  |  | 
|  | #ifdef _WIN32 | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include <windows.h> | 
|  | #include <ole2.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __qedit_h__ | 
|  | #define __qedit_h__ | 
|  |  | 
|  | /* Forward declarations */ | 
|  |  | 
|  | #ifndef __ISampleGrabberCB_FWD_DEFINED__ | 
|  | #define __ISampleGrabberCB_FWD_DEFINED__ | 
|  | typedef interface ISampleGrabberCB ISampleGrabberCB; | 
|  | #ifdef __cplusplus | 
|  | interface ISampleGrabberCB; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ISampleGrabber_FWD_DEFINED__ | 
|  | #define __ISampleGrabber_FWD_DEFINED__ | 
|  | typedef interface ISampleGrabber ISampleGrabber; | 
|  | #ifdef __cplusplus | 
|  | interface ISampleGrabber; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __SampleGrabber_FWD_DEFINED__ | 
|  | #define __SampleGrabber_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class SampleGrabber SampleGrabber; | 
|  | #else | 
|  | typedef struct SampleGrabber SampleGrabber; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __SampleGrabber_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __IMediaDet_FWD_DEFINED__ | 
|  | #define __IMediaDet_FWD_DEFINED__ | 
|  | typedef interface IMediaDet IMediaDet; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaDet; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __MediaDet_FWD_DEFINED__ | 
|  | #define __MediaDet_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class MediaDet MediaDet; | 
|  | #else | 
|  | typedef struct MediaDet MediaDet; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __MediaDet_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __IMediaLocator_FWD_DEFINED__ | 
|  | #define __IMediaLocator_FWD_DEFINED__ | 
|  | typedef interface IMediaLocator IMediaLocator; | 
|  | #ifdef __cplusplus | 
|  | interface IMediaLocator; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IPropertySetter_FWD_DEFINED__ | 
|  | #define __IPropertySetter_FWD_DEFINED__ | 
|  | typedef interface IPropertySetter IPropertySetter; | 
|  | #ifdef __cplusplus | 
|  | interface IPropertySetter; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMErrorLog_FWD_DEFINED__ | 
|  | #define __IAMErrorLog_FWD_DEFINED__ | 
|  | typedef interface IAMErrorLog IAMErrorLog; | 
|  | #ifdef __cplusplus | 
|  | interface IAMErrorLog; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMSetErrorLog_FWD_DEFINED__ | 
|  | #define __IAMSetErrorLog_FWD_DEFINED__ | 
|  | typedef interface IAMSetErrorLog IAMSetErrorLog; | 
|  | #ifdef __cplusplus | 
|  | interface IAMSetErrorLog; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimeline_FWD_DEFINED__ | 
|  | #define __IAMTimeline_FWD_DEFINED__ | 
|  | typedef interface IAMTimeline IAMTimeline; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimeline; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __AMTimeline_FWD_DEFINED__ | 
|  | #define __AMTimeline_FWD_DEFINED__ | 
|  | #ifdef __cplusplus | 
|  | typedef class AMTimeline AMTimeline; | 
|  | #else | 
|  | typedef struct AMTimeline AMTimeline; | 
|  | #endif /* defined __cplusplus */ | 
|  | #endif /* defined __AMTimeline_FWD_DEFINED__ */ | 
|  |  | 
|  | #ifndef __IAMTimelineGroup_FWD_DEFINED__ | 
|  | #define __IAMTimelineGroup_FWD_DEFINED__ | 
|  | typedef interface IAMTimelineGroup IAMTimelineGroup; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimelineGroup; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimelineObj_FWD_DEFINED__ | 
|  | #define __IAMTimelineObj_FWD_DEFINED__ | 
|  | typedef interface IAMTimelineObj IAMTimelineObj; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimelineObj; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimelineSrc_FWD_DEFINED__ | 
|  | #define __IAMTimelineSrc_FWD_DEFINED__ | 
|  | typedef interface IAMTimelineSrc IAMTimelineSrc; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimelineSrc; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <oaidl.h> | 
|  | #include <ocidl.h> | 
|  | #include <amstream.h> | 
|  | #include <msxml.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ISampleGrabberCB interface | 
|  | */ | 
|  | #ifndef __ISampleGrabberCB_INTERFACE_DEFINED__ | 
|  | #define __ISampleGrabberCB_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("0579154a-2b53-4994-b0d0-e773148eff85") | 
|  | ISampleGrabberCB : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SampleCB( | 
|  | double SampleTime, | 
|  | IMediaSample *pSample) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE BufferCB( | 
|  | double SampleTime, | 
|  | BYTE *pBuffer, | 
|  | LONG BufferLen) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ISampleGrabberCBVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ISampleGrabberCB *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ISampleGrabberCB *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ISampleGrabberCB *This); | 
|  |  | 
|  | /*** ISampleGrabberCB methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SampleCB)( | 
|  | ISampleGrabberCB *This, | 
|  | double SampleTime, | 
|  | IMediaSample *pSample); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *BufferCB)( | 
|  | ISampleGrabberCB *This, | 
|  | double SampleTime, | 
|  | BYTE *pBuffer, | 
|  | LONG BufferLen); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ISampleGrabberCBVtbl; | 
|  |  | 
|  | interface ISampleGrabberCB { | 
|  | CONST_VTBL ISampleGrabberCBVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ISampleGrabberCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ISampleGrabberCB_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ISampleGrabberCB_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ISampleGrabberCB methods ***/ | 
|  | #define ISampleGrabberCB_SampleCB(This,SampleTime,pSample) (This)->lpVtbl->SampleCB(This,SampleTime,pSample) | 
|  | #define ISampleGrabberCB_BufferCB(This,SampleTime,pBuffer,BufferLen) (This)->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT ISampleGrabberCB_QueryInterface(ISampleGrabberCB* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG ISampleGrabberCB_AddRef(ISampleGrabberCB* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG ISampleGrabberCB_Release(ISampleGrabberCB* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ISampleGrabberCB methods ***/ | 
|  | static inline HRESULT ISampleGrabberCB_SampleCB(ISampleGrabberCB* This,double SampleTime,IMediaSample *pSample) { | 
|  | return This->lpVtbl->SampleCB(This,SampleTime,pSample); | 
|  | } | 
|  | static inline HRESULT ISampleGrabberCB_BufferCB(ISampleGrabberCB* This,double SampleTime,BYTE *pBuffer,LONG BufferLen) { | 
|  | return This->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ISampleGrabberCB_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ISampleGrabber interface | 
|  | */ | 
|  | #ifndef __ISampleGrabber_INTERFACE_DEFINED__ | 
|  | #define __ISampleGrabber_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("6b652fff-11fe-4fce-92ad-0266b5d7c78f") | 
|  | ISampleGrabber : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOneShot( | 
|  | WINBOOL OneShot) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaType( | 
|  | const AM_MEDIA_TYPE *pType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetConnectedMediaType( | 
|  | AM_MEDIA_TYPE *pType) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetBufferSamples( | 
|  | WINBOOL BufferThem) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCurrentBuffer( | 
|  | LONG *pBufferSize, | 
|  | LONG *pBuffer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCurrentSample( | 
|  | IMediaSample **ppSample) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetCallback( | 
|  | ISampleGrabberCB *pCallback, | 
|  | LONG WhichMethodToCallback) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ISampleGrabberVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ISampleGrabber *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ISampleGrabber *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ISampleGrabber *This); | 
|  |  | 
|  | /*** ISampleGrabber methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetOneShot)( | 
|  | ISampleGrabber *This, | 
|  | WINBOOL OneShot); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaType)( | 
|  | ISampleGrabber *This, | 
|  | const AM_MEDIA_TYPE *pType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetConnectedMediaType)( | 
|  | ISampleGrabber *This, | 
|  | AM_MEDIA_TYPE *pType); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetBufferSamples)( | 
|  | ISampleGrabber *This, | 
|  | WINBOOL BufferThem); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurrentBuffer)( | 
|  | ISampleGrabber *This, | 
|  | LONG *pBufferSize, | 
|  | LONG *pBuffer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurrentSample)( | 
|  | ISampleGrabber *This, | 
|  | IMediaSample **ppSample); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetCallback)( | 
|  | ISampleGrabber *This, | 
|  | ISampleGrabberCB *pCallback, | 
|  | LONG WhichMethodToCallback); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ISampleGrabberVtbl; | 
|  |  | 
|  | interface ISampleGrabber { | 
|  | CONST_VTBL ISampleGrabberVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ISampleGrabber_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ISampleGrabber_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ISampleGrabber_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ISampleGrabber methods ***/ | 
|  | #define ISampleGrabber_SetOneShot(This,OneShot) (This)->lpVtbl->SetOneShot(This,OneShot) | 
|  | #define ISampleGrabber_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType) | 
|  | #define ISampleGrabber_GetConnectedMediaType(This,pType) (This)->lpVtbl->GetConnectedMediaType(This,pType) | 
|  | #define ISampleGrabber_SetBufferSamples(This,BufferThem) (This)->lpVtbl->SetBufferSamples(This,BufferThem) | 
|  | #define ISampleGrabber_GetCurrentBuffer(This,pBufferSize,pBuffer) (This)->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer) | 
|  | #define ISampleGrabber_GetCurrentSample(This,ppSample) (This)->lpVtbl->GetCurrentSample(This,ppSample) | 
|  | #define ISampleGrabber_SetCallback(This,pCallback,WhichMethodToCallback) (This)->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT ISampleGrabber_QueryInterface(ISampleGrabber* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG ISampleGrabber_AddRef(ISampleGrabber* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG ISampleGrabber_Release(ISampleGrabber* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ISampleGrabber methods ***/ | 
|  | static inline HRESULT ISampleGrabber_SetOneShot(ISampleGrabber* This,WINBOOL OneShot) { | 
|  | return This->lpVtbl->SetOneShot(This,OneShot); | 
|  | } | 
|  | static inline HRESULT ISampleGrabber_SetMediaType(ISampleGrabber* This,const AM_MEDIA_TYPE *pType) { | 
|  | return This->lpVtbl->SetMediaType(This,pType); | 
|  | } | 
|  | static inline HRESULT ISampleGrabber_GetConnectedMediaType(ISampleGrabber* This,AM_MEDIA_TYPE *pType) { | 
|  | return This->lpVtbl->GetConnectedMediaType(This,pType); | 
|  | } | 
|  | static inline HRESULT ISampleGrabber_SetBufferSamples(ISampleGrabber* This,WINBOOL BufferThem) { | 
|  | return This->lpVtbl->SetBufferSamples(This,BufferThem); | 
|  | } | 
|  | static inline HRESULT ISampleGrabber_GetCurrentBuffer(ISampleGrabber* This,LONG *pBufferSize,LONG *pBuffer) { | 
|  | return This->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer); | 
|  | } | 
|  | static inline HRESULT ISampleGrabber_GetCurrentSample(ISampleGrabber* This,IMediaSample **ppSample) { | 
|  | return This->lpVtbl->GetCurrentSample(This,ppSample); | 
|  | } | 
|  | static inline HRESULT ISampleGrabber_SetCallback(ISampleGrabber* This,ISampleGrabberCB *pCallback,LONG WhichMethodToCallback) { | 
|  | return This->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ISampleGrabber_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * SampleGrabber coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_SampleGrabber, 0xc1f400a0, 0x3f08, 0x11d3, 0x9f,0x0b, 0x00,0x60,0x08,0x03,0x9e,0x37); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("c1f400a0-3f08-11d3-9f0b-006008039e37") SampleGrabber; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(SampleGrabber, 0xc1f400a0, 0x3f08, 0x11d3, 0x9f,0x0b, 0x00,0x60,0x08,0x03,0x9e,0x37) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMediaDet interface | 
|  | */ | 
|  | #ifndef __IMediaDet_INTERFACE_DEFINED__ | 
|  | #define __IMediaDet_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("65bd0710-24d2-4ff7-9324-ed2e5d3abafa") | 
|  | IMediaDet : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Filter( | 
|  | IUnknown **pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Filter( | 
|  | IUnknown *newVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_OutputStreams( | 
|  | LONG *pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_CurrentStream( | 
|  | LONG *pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_CurrentStream( | 
|  | LONG newVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_StreamType( | 
|  | GUID *pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_StreamTypeB( | 
|  | BSTR *pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_StreamLength( | 
|  | double *pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_Filename( | 
|  | BSTR *pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_Filename( | 
|  | BSTR newVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetBitmapBits( | 
|  | double StreamTime, | 
|  | LONG *pBufferSize, | 
|  | char *pBuffer, | 
|  | LONG Width, | 
|  | LONG Height) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE WriteBitmapBits( | 
|  | double StreamTime, | 
|  | LONG Width, | 
|  | LONG Height, | 
|  | BSTR Filename) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_StreamMediaType( | 
|  | AM_MEDIA_TYPE *pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSampleGrabber( | 
|  | ISampleGrabber **ppVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE get_FrameRate( | 
|  | double *pVal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnterBitmapGrabMode( | 
|  | double SeekTime) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaDetVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaDet *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaDet *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaDet *This); | 
|  |  | 
|  | /*** IMediaDet methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_Filter)( | 
|  | IMediaDet *This, | 
|  | IUnknown **pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Filter)( | 
|  | IMediaDet *This, | 
|  | IUnknown *newVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_OutputStreams)( | 
|  | IMediaDet *This, | 
|  | LONG *pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_CurrentStream)( | 
|  | IMediaDet *This, | 
|  | LONG *pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_CurrentStream)( | 
|  | IMediaDet *This, | 
|  | LONG newVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_StreamType)( | 
|  | IMediaDet *This, | 
|  | GUID *pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_StreamTypeB)( | 
|  | IMediaDet *This, | 
|  | BSTR *pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_StreamLength)( | 
|  | IMediaDet *This, | 
|  | double *pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_Filename)( | 
|  | IMediaDet *This, | 
|  | BSTR *pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_Filename)( | 
|  | IMediaDet *This, | 
|  | BSTR newVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBitmapBits)( | 
|  | IMediaDet *This, | 
|  | double StreamTime, | 
|  | LONG *pBufferSize, | 
|  | char *pBuffer, | 
|  | LONG Width, | 
|  | LONG Height); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *WriteBitmapBits)( | 
|  | IMediaDet *This, | 
|  | double StreamTime, | 
|  | LONG Width, | 
|  | LONG Height, | 
|  | BSTR Filename); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_StreamMediaType)( | 
|  | IMediaDet *This, | 
|  | AM_MEDIA_TYPE *pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSampleGrabber)( | 
|  | IMediaDet *This, | 
|  | ISampleGrabber **ppVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *get_FrameRate)( | 
|  | IMediaDet *This, | 
|  | double *pVal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnterBitmapGrabMode)( | 
|  | IMediaDet *This, | 
|  | double SeekTime); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaDetVtbl; | 
|  |  | 
|  | interface IMediaDet { | 
|  | CONST_VTBL IMediaDetVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaDet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaDet_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaDet_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMediaDet methods ***/ | 
|  | #define IMediaDet_get_Filter(This,pVal) (This)->lpVtbl->get_Filter(This,pVal) | 
|  | #define IMediaDet_put_Filter(This,newVal) (This)->lpVtbl->put_Filter(This,newVal) | 
|  | #define IMediaDet_get_OutputStreams(This,pVal) (This)->lpVtbl->get_OutputStreams(This,pVal) | 
|  | #define IMediaDet_get_CurrentStream(This,pVal) (This)->lpVtbl->get_CurrentStream(This,pVal) | 
|  | #define IMediaDet_put_CurrentStream(This,newVal) (This)->lpVtbl->put_CurrentStream(This,newVal) | 
|  | #define IMediaDet_get_StreamType(This,pVal) (This)->lpVtbl->get_StreamType(This,pVal) | 
|  | #define IMediaDet_get_StreamTypeB(This,pVal) (This)->lpVtbl->get_StreamTypeB(This,pVal) | 
|  | #define IMediaDet_get_StreamLength(This,pVal) (This)->lpVtbl->get_StreamLength(This,pVal) | 
|  | #define IMediaDet_get_Filename(This,pVal) (This)->lpVtbl->get_Filename(This,pVal) | 
|  | #define IMediaDet_put_Filename(This,newVal) (This)->lpVtbl->put_Filename(This,newVal) | 
|  | #define IMediaDet_GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height) (This)->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height) | 
|  | #define IMediaDet_WriteBitmapBits(This,StreamTime,Width,Height,Filename) (This)->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename) | 
|  | #define IMediaDet_get_StreamMediaType(This,pVal) (This)->lpVtbl->get_StreamMediaType(This,pVal) | 
|  | #define IMediaDet_GetSampleGrabber(This,ppVal) (This)->lpVtbl->GetSampleGrabber(This,ppVal) | 
|  | #define IMediaDet_get_FrameRate(This,pVal) (This)->lpVtbl->get_FrameRate(This,pVal) | 
|  | #define IMediaDet_EnterBitmapGrabMode(This,SeekTime) (This)->lpVtbl->EnterBitmapGrabMode(This,SeekTime) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IMediaDet_QueryInterface(IMediaDet* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IMediaDet_AddRef(IMediaDet* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IMediaDet_Release(IMediaDet* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMediaDet methods ***/ | 
|  | static inline HRESULT IMediaDet_get_Filter(IMediaDet* This,IUnknown **pVal) { | 
|  | return This->lpVtbl->get_Filter(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_put_Filter(IMediaDet* This,IUnknown *newVal) { | 
|  | return This->lpVtbl->put_Filter(This,newVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_get_OutputStreams(IMediaDet* This,LONG *pVal) { | 
|  | return This->lpVtbl->get_OutputStreams(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_get_CurrentStream(IMediaDet* This,LONG *pVal) { | 
|  | return This->lpVtbl->get_CurrentStream(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_put_CurrentStream(IMediaDet* This,LONG newVal) { | 
|  | return This->lpVtbl->put_CurrentStream(This,newVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_get_StreamType(IMediaDet* This,GUID *pVal) { | 
|  | return This->lpVtbl->get_StreamType(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_get_StreamTypeB(IMediaDet* This,BSTR *pVal) { | 
|  | return This->lpVtbl->get_StreamTypeB(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_get_StreamLength(IMediaDet* This,double *pVal) { | 
|  | return This->lpVtbl->get_StreamLength(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_get_Filename(IMediaDet* This,BSTR *pVal) { | 
|  | return This->lpVtbl->get_Filename(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_put_Filename(IMediaDet* This,BSTR newVal) { | 
|  | return This->lpVtbl->put_Filename(This,newVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_GetBitmapBits(IMediaDet* This,double StreamTime,LONG *pBufferSize,char *pBuffer,LONG Width,LONG Height) { | 
|  | return This->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height); | 
|  | } | 
|  | static inline HRESULT IMediaDet_WriteBitmapBits(IMediaDet* This,double StreamTime,LONG Width,LONG Height,BSTR Filename) { | 
|  | return This->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename); | 
|  | } | 
|  | static inline HRESULT IMediaDet_get_StreamMediaType(IMediaDet* This,AM_MEDIA_TYPE *pVal) { | 
|  | return This->lpVtbl->get_StreamMediaType(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_GetSampleGrabber(IMediaDet* This,ISampleGrabber **ppVal) { | 
|  | return This->lpVtbl->GetSampleGrabber(This,ppVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_get_FrameRate(IMediaDet* This,double *pVal) { | 
|  | return This->lpVtbl->get_FrameRate(This,pVal); | 
|  | } | 
|  | static inline HRESULT IMediaDet_EnterBitmapGrabMode(IMediaDet* This,double SeekTime) { | 
|  | return This->lpVtbl->EnterBitmapGrabMode(This,SeekTime); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaDet_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * MediaDet coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("65bd0711-24d2-4ff7-9324-ed2e5d3abafa") MediaDet; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IMediaLocator interface | 
|  | */ | 
|  | #ifndef __IMediaLocator_INTERFACE_DEFINED__ | 
|  | #define __IMediaLocator_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IMediaLocator, 0x288581e0, 0x66ce, 0x11d2, 0x91,0x8f, 0x00,0xc0,0xdf,0x10,0xd4,0x34); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("288581e0-66ce-11d2-918f-00c0df10d434") | 
|  | IMediaLocator : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE FindMediaFile( | 
|  | BSTR input, | 
|  | BSTR filter, | 
|  | BSTR *output, | 
|  | LONG flags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddFoundLocation( | 
|  | BSTR dir) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IMediaLocator, 0x288581e0, 0x66ce, 0x11d2, 0x91,0x8f, 0x00,0xc0,0xdf,0x10,0xd4,0x34) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IMediaLocatorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IMediaLocator *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IMediaLocator *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IMediaLocator *This); | 
|  |  | 
|  | /*** IMediaLocator methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *FindMediaFile)( | 
|  | IMediaLocator *This, | 
|  | BSTR input, | 
|  | BSTR filter, | 
|  | BSTR *output, | 
|  | LONG flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddFoundLocation)( | 
|  | IMediaLocator *This, | 
|  | BSTR dir); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IMediaLocatorVtbl; | 
|  |  | 
|  | interface IMediaLocator { | 
|  | CONST_VTBL IMediaLocatorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IMediaLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IMediaLocator_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IMediaLocator_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IMediaLocator methods ***/ | 
|  | #define IMediaLocator_FindMediaFile(This,input,filter,output,flags) (This)->lpVtbl->FindMediaFile(This,input,filter,output,flags) | 
|  | #define IMediaLocator_AddFoundLocation(This,dir) (This)->lpVtbl->AddFoundLocation(This,dir) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IMediaLocator_QueryInterface(IMediaLocator* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IMediaLocator_AddRef(IMediaLocator* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IMediaLocator_Release(IMediaLocator* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IMediaLocator methods ***/ | 
|  | static inline HRESULT IMediaLocator_FindMediaFile(IMediaLocator* This,BSTR input,BSTR filter,BSTR *output,LONG flags) { | 
|  | return This->lpVtbl->FindMediaFile(This,input,filter,output,flags); | 
|  | } | 
|  | static inline HRESULT IMediaLocator_AddFoundLocation(IMediaLocator* This,BSTR dir) { | 
|  | return This->lpVtbl->AddFoundLocation(This,dir); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IMediaLocator_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef struct __WIDL_qedit_generated_name_0000002B { | 
|  | BSTR name; | 
|  | DISPID dispID; | 
|  | LONG nValues; | 
|  | } DEXTER_PARAM; | 
|  | typedef struct __WIDL_qedit_generated_name_0000002C { | 
|  | VARIANT v; | 
|  | REFERENCE_TIME rt; | 
|  | DWORD dwInterp; | 
|  | } DEXTER_VALUE; | 
|  | /***************************************************************************** | 
|  | * IPropertySetter interface | 
|  | */ | 
|  | #ifndef __IPropertySetter_INTERFACE_DEFINED__ | 
|  | #define __IPropertySetter_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IPropertySetter, 0xae9472bd, 0xb0c3, 0x11d2, 0x8d,0x24, 0x00,0xa0,0xc9,0x44,0x1e,0x20); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ae9472bd-b0c3-11d2-8d24-00a0c9441e20") | 
|  | IPropertySetter : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE LoadXML( | 
|  | IUnknown *pxml) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE PrintXML( | 
|  | char *xml, | 
|  | int size, | 
|  | int *printed, | 
|  | int indent) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CloneProps( | 
|  | IPropertySetter **setter, | 
|  | REFERENCE_TIME start, | 
|  | REFERENCE_TIME stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddProp( | 
|  | DEXTER_PARAM param, | 
|  | DEXTER_VALUE *value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetProps( | 
|  | LONG *params, | 
|  | DEXTER_PARAM **param, | 
|  | DEXTER_VALUE **value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FreeProps( | 
|  | LONG params, | 
|  | DEXTER_PARAM *param, | 
|  | DEXTER_VALUE *value) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ClearProps( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SaveToBlob( | 
|  | LONG *size, | 
|  | BYTE **blob) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE LoadFromBlob( | 
|  | LONG size, | 
|  | BYTE *blob) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetProps( | 
|  | IUnknown *target, | 
|  | REFERENCE_TIME now) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IPropertySetter, 0xae9472bd, 0xb0c3, 0x11d2, 0x8d,0x24, 0x00,0xa0,0xc9,0x44,0x1e,0x20) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IPropertySetterVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IPropertySetter *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IPropertySetter *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IPropertySetter *This); | 
|  |  | 
|  | /*** IPropertySetter methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *LoadXML)( | 
|  | IPropertySetter *This, | 
|  | IUnknown *pxml); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *PrintXML)( | 
|  | IPropertySetter *This, | 
|  | char *xml, | 
|  | int size, | 
|  | int *printed, | 
|  | int indent); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CloneProps)( | 
|  | IPropertySetter *This, | 
|  | IPropertySetter **setter, | 
|  | REFERENCE_TIME start, | 
|  | REFERENCE_TIME stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddProp)( | 
|  | IPropertySetter *This, | 
|  | DEXTER_PARAM param, | 
|  | DEXTER_VALUE *value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetProps)( | 
|  | IPropertySetter *This, | 
|  | LONG *params, | 
|  | DEXTER_PARAM **param, | 
|  | DEXTER_VALUE **value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FreeProps)( | 
|  | IPropertySetter *This, | 
|  | LONG params, | 
|  | DEXTER_PARAM *param, | 
|  | DEXTER_VALUE *value); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ClearProps)( | 
|  | IPropertySetter *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SaveToBlob)( | 
|  | IPropertySetter *This, | 
|  | LONG *size, | 
|  | BYTE **blob); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *LoadFromBlob)( | 
|  | IPropertySetter *This, | 
|  | LONG size, | 
|  | BYTE *blob); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetProps)( | 
|  | IPropertySetter *This, | 
|  | IUnknown *target, | 
|  | REFERENCE_TIME now); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IPropertySetterVtbl; | 
|  |  | 
|  | interface IPropertySetter { | 
|  | CONST_VTBL IPropertySetterVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IPropertySetter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IPropertySetter_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IPropertySetter_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IPropertySetter methods ***/ | 
|  | #define IPropertySetter_LoadXML(This,pxml) (This)->lpVtbl->LoadXML(This,pxml) | 
|  | #define IPropertySetter_PrintXML(This,xml,size,printed,indent) (This)->lpVtbl->PrintXML(This,xml,size,printed,indent) | 
|  | #define IPropertySetter_CloneProps(This,setter,start,stop) (This)->lpVtbl->CloneProps(This,setter,start,stop) | 
|  | #define IPropertySetter_AddProp(This,param,value) (This)->lpVtbl->AddProp(This,param,value) | 
|  | #define IPropertySetter_GetProps(This,params,param,value) (This)->lpVtbl->GetProps(This,params,param,value) | 
|  | #define IPropertySetter_FreeProps(This,params,param,value) (This)->lpVtbl->FreeProps(This,params,param,value) | 
|  | #define IPropertySetter_ClearProps(This) (This)->lpVtbl->ClearProps(This) | 
|  | #define IPropertySetter_SaveToBlob(This,size,blob) (This)->lpVtbl->SaveToBlob(This,size,blob) | 
|  | #define IPropertySetter_LoadFromBlob(This,size,blob) (This)->lpVtbl->LoadFromBlob(This,size,blob) | 
|  | #define IPropertySetter_SetProps(This,target,now) (This)->lpVtbl->SetProps(This,target,now) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IPropertySetter_QueryInterface(IPropertySetter* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IPropertySetter_AddRef(IPropertySetter* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IPropertySetter_Release(IPropertySetter* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IPropertySetter methods ***/ | 
|  | static inline HRESULT IPropertySetter_LoadXML(IPropertySetter* This,IUnknown *pxml) { | 
|  | return This->lpVtbl->LoadXML(This,pxml); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_PrintXML(IPropertySetter* This,char *xml,int size,int *printed,int indent) { | 
|  | return This->lpVtbl->PrintXML(This,xml,size,printed,indent); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_CloneProps(IPropertySetter* This,IPropertySetter **setter,REFERENCE_TIME start,REFERENCE_TIME stop) { | 
|  | return This->lpVtbl->CloneProps(This,setter,start,stop); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_AddProp(IPropertySetter* This,DEXTER_PARAM param,DEXTER_VALUE *value) { | 
|  | return This->lpVtbl->AddProp(This,param,value); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_GetProps(IPropertySetter* This,LONG *params,DEXTER_PARAM **param,DEXTER_VALUE **value) { | 
|  | return This->lpVtbl->GetProps(This,params,param,value); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_FreeProps(IPropertySetter* This,LONG params,DEXTER_PARAM *param,DEXTER_VALUE *value) { | 
|  | return This->lpVtbl->FreeProps(This,params,param,value); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_ClearProps(IPropertySetter* This) { | 
|  | return This->lpVtbl->ClearProps(This); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_SaveToBlob(IPropertySetter* This,LONG *size,BYTE **blob) { | 
|  | return This->lpVtbl->SaveToBlob(This,size,blob); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_LoadFromBlob(IPropertySetter* This,LONG size,BYTE *blob) { | 
|  | return This->lpVtbl->LoadFromBlob(This,size,blob); | 
|  | } | 
|  | static inline HRESULT IPropertySetter_SetProps(IPropertySetter* This,IUnknown *target,REFERENCE_TIME now) { | 
|  | return This->lpVtbl->SetProps(This,target,now); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IPropertySetter_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMErrorLog interface | 
|  | */ | 
|  | #ifndef __IAMErrorLog_INTERFACE_DEFINED__ | 
|  | #define __IAMErrorLog_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMErrorLog, 0xe43e73a2, 0x0efa, 0x11d3, 0x96,0x01, 0x00,0xa0,0xc9,0x44,0x1e,0x20); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("e43e73a2-0efa-11d3-9601-00a0c9441e20") | 
|  | IAMErrorLog : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE LogError( | 
|  | LONG severity, | 
|  | BSTR error_str, | 
|  | LONG error_code, | 
|  | LONG hresult, | 
|  | VARIANT *extra) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMErrorLog, 0xe43e73a2, 0x0efa, 0x11d3, 0x96,0x01, 0x00,0xa0,0xc9,0x44,0x1e,0x20) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMErrorLogVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMErrorLog *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMErrorLog *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMErrorLog *This); | 
|  |  | 
|  | /*** IAMErrorLog methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *LogError)( | 
|  | IAMErrorLog *This, | 
|  | LONG severity, | 
|  | BSTR error_str, | 
|  | LONG error_code, | 
|  | LONG hresult, | 
|  | VARIANT *extra); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMErrorLogVtbl; | 
|  |  | 
|  | interface IAMErrorLog { | 
|  | CONST_VTBL IAMErrorLogVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMErrorLog_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMErrorLog methods ***/ | 
|  | #define IAMErrorLog_LogError(This,severity,error_str,error_code,hresult,extra) (This)->lpVtbl->LogError(This,severity,error_str,error_code,hresult,extra) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IAMErrorLog_QueryInterface(IAMErrorLog* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IAMErrorLog_AddRef(IAMErrorLog* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IAMErrorLog_Release(IAMErrorLog* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMErrorLog methods ***/ | 
|  | static inline HRESULT IAMErrorLog_LogError(IAMErrorLog* This,LONG severity,BSTR error_str,LONG error_code,LONG hresult,VARIANT *extra) { | 
|  | return This->lpVtbl->LogError(This,severity,error_str,error_code,hresult,extra); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMErrorLog_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMSetErrorLog interface | 
|  | */ | 
|  | #ifndef __IAMSetErrorLog_INTERFACE_DEFINED__ | 
|  | #define __IAMSetErrorLog_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMSetErrorLog, 0x963566da, 0xbe21, 0x4eaf, 0x88,0xe9, 0x35,0x70,0x4f,0x8f,0x52,0xa1); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("963566da-be21-4eaf-88e9-35704f8f52a1") | 
|  | IAMSetErrorLog : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE get_ErrorLog( | 
|  | IAMErrorLog **log) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE put_ErrorLog( | 
|  | IAMErrorLog *log) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMSetErrorLog, 0x963566da, 0xbe21, 0x4eaf, 0x88,0xe9, 0x35,0x70,0x4f,0x8f,0x52,0xa1) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMSetErrorLogVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMSetErrorLog *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMSetErrorLog *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMSetErrorLog *This); | 
|  |  | 
|  | /*** IAMSetErrorLog methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *get_ErrorLog)( | 
|  | IAMSetErrorLog *This, | 
|  | IAMErrorLog **log); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *put_ErrorLog)( | 
|  | IAMSetErrorLog *This, | 
|  | IAMErrorLog *log); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMSetErrorLogVtbl; | 
|  |  | 
|  | interface IAMSetErrorLog { | 
|  | CONST_VTBL IAMSetErrorLogVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMSetErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMSetErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMSetErrorLog_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMSetErrorLog methods ***/ | 
|  | #define IAMSetErrorLog_get_ErrorLog(This,log) (This)->lpVtbl->get_ErrorLog(This,log) | 
|  | #define IAMSetErrorLog_put_ErrorLog(This,log) (This)->lpVtbl->put_ErrorLog(This,log) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IAMSetErrorLog_QueryInterface(IAMSetErrorLog* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IAMSetErrorLog_AddRef(IAMSetErrorLog* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IAMSetErrorLog_Release(IAMSetErrorLog* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMSetErrorLog methods ***/ | 
|  | static inline HRESULT IAMSetErrorLog_get_ErrorLog(IAMSetErrorLog* This,IAMErrorLog **log) { | 
|  | return This->lpVtbl->get_ErrorLog(This,log); | 
|  | } | 
|  | static inline HRESULT IAMSetErrorLog_put_ErrorLog(IAMSetErrorLog* This,IAMErrorLog *log) { | 
|  | return This->lpVtbl->put_ErrorLog(This,log); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMSetErrorLog_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #ifndef __IAMTimeline_FWD_DEFINED__ | 
|  | #define __IAMTimeline_FWD_DEFINED__ | 
|  | typedef interface IAMTimeline IAMTimeline; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimeline; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimelineGroup_FWD_DEFINED__ | 
|  | #define __IAMTimelineGroup_FWD_DEFINED__ | 
|  | typedef interface IAMTimelineGroup IAMTimelineGroup; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimelineGroup; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimelineObj_FWD_DEFINED__ | 
|  | #define __IAMTimelineObj_FWD_DEFINED__ | 
|  | typedef interface IAMTimelineObj IAMTimelineObj; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimelineObj; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IAMTimelineSrc_FWD_DEFINED__ | 
|  | #define __IAMTimelineSrc_FWD_DEFINED__ | 
|  | typedef interface IAMTimelineSrc IAMTimelineSrc; | 
|  | #ifdef __cplusplus | 
|  | interface IAMTimelineSrc; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | typedef enum __WIDL_qedit_generated_name_0000002D { | 
|  | TIMELINE_MAJOR_TYPE_COMPOSITE = 1, | 
|  | TIMELINE_MAJOR_TYPE_TRACK = 2, | 
|  | TIMELINE_MAJOR_TYPE_SOURCE = 4, | 
|  | TIMELINE_MAJOR_TYPE_TRANSITION = 8, | 
|  | TIMELINE_MAJOR_TYPE_EFFECT = 16, | 
|  | TIMELINE_MAJOR_TYPE_GROUP = 128 | 
|  | } TIMELINE_MAJOR_TYPE; | 
|  | /***************************************************************************** | 
|  | * IAMTimeline interface | 
|  | */ | 
|  | #ifndef __IAMTimeline_INTERFACE_DEFINED__ | 
|  | #define __IAMTimeline_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMTimeline, 0x78530b74, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("78530b74-61f9-11d2-8cad-00a024580902") | 
|  | IAMTimeline : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateEmptyNode( | 
|  | IAMTimelineObj **obj, | 
|  | TIMELINE_MAJOR_TYPE type) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddGroup( | 
|  | IAMTimelineObj *group) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RemGroupFromList( | 
|  | IAMTimelineObj *group) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGroup( | 
|  | IAMTimelineObj **group, | 
|  | LONG index) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGroupCount( | 
|  | LONG *count) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ClearAllGroups( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetInsertMode( | 
|  | LONG *mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetInsertMode( | 
|  | LONG mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnableTransitions( | 
|  | WINBOOL enabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE TransitionsEnabled( | 
|  | WINBOOL *enabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnableEffects( | 
|  | WINBOOL enabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EffectsEnabled( | 
|  | WINBOOL *enabled) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetInterestRange( | 
|  | REFERENCE_TIME start, | 
|  | REFERENCE_TIME stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDuration( | 
|  | REFERENCE_TIME *duration) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDuration2( | 
|  | double *duration) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultFPS( | 
|  | double fps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultFPS( | 
|  | double *fps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsDirty( | 
|  | WINBOOL *dirty) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDirtyRange( | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCountOfType( | 
|  | LONG group, | 
|  | LONG *value, | 
|  | LONG *value_with_comps, | 
|  | TIMELINE_MAJOR_TYPE type) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ValidateSourceNames( | 
|  | LONG flags, | 
|  | IMediaLocator *override, | 
|  | LONG_PTR notify_event) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultTransition( | 
|  | GUID *guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultTransition( | 
|  | GUID *guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultEffect( | 
|  | GUID *guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultEffect( | 
|  | GUID *guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultTransitionB( | 
|  | BSTR guidb) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultTransitionB( | 
|  | BSTR *guidb) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultEffectB( | 
|  | BSTR guidb) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultEffectB( | 
|  | BSTR *guidb) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMTimeline, 0x78530b74, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMTimelineVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMTimeline *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMTimeline *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMTimeline *This); | 
|  |  | 
|  | /*** IAMTimeline methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *CreateEmptyNode)( | 
|  | IAMTimeline *This, | 
|  | IAMTimelineObj **obj, | 
|  | TIMELINE_MAJOR_TYPE type); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddGroup)( | 
|  | IAMTimeline *This, | 
|  | IAMTimelineObj *group); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemGroupFromList)( | 
|  | IAMTimeline *This, | 
|  | IAMTimelineObj *group); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGroup)( | 
|  | IAMTimeline *This, | 
|  | IAMTimelineObj **group, | 
|  | LONG index); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGroupCount)( | 
|  | IAMTimeline *This, | 
|  | LONG *count); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ClearAllGroups)( | 
|  | IAMTimeline *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetInsertMode)( | 
|  | IAMTimeline *This, | 
|  | LONG *mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetInsertMode)( | 
|  | IAMTimeline *This, | 
|  | LONG mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableTransitions)( | 
|  | IAMTimeline *This, | 
|  | WINBOOL enabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *TransitionsEnabled)( | 
|  | IAMTimeline *This, | 
|  | WINBOOL *enabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableEffects)( | 
|  | IAMTimeline *This, | 
|  | WINBOOL enabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EffectsEnabled)( | 
|  | IAMTimeline *This, | 
|  | WINBOOL *enabled); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetInterestRange)( | 
|  | IAMTimeline *This, | 
|  | REFERENCE_TIME start, | 
|  | REFERENCE_TIME stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDuration)( | 
|  | IAMTimeline *This, | 
|  | REFERENCE_TIME *duration); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDuration2)( | 
|  | IAMTimeline *This, | 
|  | double *duration); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultFPS)( | 
|  | IAMTimeline *This, | 
|  | double fps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultFPS)( | 
|  | IAMTimeline *This, | 
|  | double *fps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsDirty)( | 
|  | IAMTimeline *This, | 
|  | WINBOOL *dirty); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDirtyRange)( | 
|  | IAMTimeline *This, | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCountOfType)( | 
|  | IAMTimeline *This, | 
|  | LONG group, | 
|  | LONG *value, | 
|  | LONG *value_with_comps, | 
|  | TIMELINE_MAJOR_TYPE type); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ValidateSourceNames)( | 
|  | IAMTimeline *This, | 
|  | LONG flags, | 
|  | IMediaLocator *override, | 
|  | LONG_PTR notify_event); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultTransition)( | 
|  | IAMTimeline *This, | 
|  | GUID *guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultTransition)( | 
|  | IAMTimeline *This, | 
|  | GUID *guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultEffect)( | 
|  | IAMTimeline *This, | 
|  | GUID *guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultEffect)( | 
|  | IAMTimeline *This, | 
|  | GUID *guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultTransitionB)( | 
|  | IAMTimeline *This, | 
|  | BSTR guidb); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultTransitionB)( | 
|  | IAMTimeline *This, | 
|  | BSTR *guidb); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultEffectB)( | 
|  | IAMTimeline *This, | 
|  | BSTR guidb); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultEffectB)( | 
|  | IAMTimeline *This, | 
|  | BSTR *guidb); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMTimelineVtbl; | 
|  |  | 
|  | interface IAMTimeline { | 
|  | CONST_VTBL IAMTimelineVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMTimeline_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTimeline_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTimeline_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMTimeline methods ***/ | 
|  | #define IAMTimeline_CreateEmptyNode(This,obj,type) (This)->lpVtbl->CreateEmptyNode(This,obj,type) | 
|  | #define IAMTimeline_AddGroup(This,group) (This)->lpVtbl->AddGroup(This,group) | 
|  | #define IAMTimeline_RemGroupFromList(This,group) (This)->lpVtbl->RemGroupFromList(This,group) | 
|  | #define IAMTimeline_GetGroup(This,group,index) (This)->lpVtbl->GetGroup(This,group,index) | 
|  | #define IAMTimeline_GetGroupCount(This,count) (This)->lpVtbl->GetGroupCount(This,count) | 
|  | #define IAMTimeline_ClearAllGroups(This) (This)->lpVtbl->ClearAllGroups(This) | 
|  | #define IAMTimeline_GetInsertMode(This,mode) (This)->lpVtbl->GetInsertMode(This,mode) | 
|  | #define IAMTimeline_SetInsertMode(This,mode) (This)->lpVtbl->SetInsertMode(This,mode) | 
|  | #define IAMTimeline_EnableTransitions(This,enabled) (This)->lpVtbl->EnableTransitions(This,enabled) | 
|  | #define IAMTimeline_TransitionsEnabled(This,enabled) (This)->lpVtbl->TransitionsEnabled(This,enabled) | 
|  | #define IAMTimeline_EnableEffects(This,enabled) (This)->lpVtbl->EnableEffects(This,enabled) | 
|  | #define IAMTimeline_EffectsEnabled(This,enabled) (This)->lpVtbl->EffectsEnabled(This,enabled) | 
|  | #define IAMTimeline_SetInterestRange(This,start,stop) (This)->lpVtbl->SetInterestRange(This,start,stop) | 
|  | #define IAMTimeline_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration) | 
|  | #define IAMTimeline_GetDuration2(This,duration) (This)->lpVtbl->GetDuration2(This,duration) | 
|  | #define IAMTimeline_SetDefaultFPS(This,fps) (This)->lpVtbl->SetDefaultFPS(This,fps) | 
|  | #define IAMTimeline_GetDefaultFPS(This,fps) (This)->lpVtbl->GetDefaultFPS(This,fps) | 
|  | #define IAMTimeline_IsDirty(This,dirty) (This)->lpVtbl->IsDirty(This,dirty) | 
|  | #define IAMTimeline_GetDirtyRange(This,start,stop) (This)->lpVtbl->GetDirtyRange(This,start,stop) | 
|  | #define IAMTimeline_GetCountOfType(This,group,value,value_with_comps,type) (This)->lpVtbl->GetCountOfType(This,group,value,value_with_comps,type) | 
|  | #define IAMTimeline_ValidateSourceNames(This,flags,override,notify_event) (This)->lpVtbl->ValidateSourceNames(This,flags,override,notify_event) | 
|  | #define IAMTimeline_SetDefaultTransition(This,guid) (This)->lpVtbl->SetDefaultTransition(This,guid) | 
|  | #define IAMTimeline_GetDefaultTransition(This,guid) (This)->lpVtbl->GetDefaultTransition(This,guid) | 
|  | #define IAMTimeline_SetDefaultEffect(This,guid) (This)->lpVtbl->SetDefaultEffect(This,guid) | 
|  | #define IAMTimeline_GetDefaultEffect(This,guid) (This)->lpVtbl->GetDefaultEffect(This,guid) | 
|  | #define IAMTimeline_SetDefaultTransitionB(This,guidb) (This)->lpVtbl->SetDefaultTransitionB(This,guidb) | 
|  | #define IAMTimeline_GetDefaultTransitionB(This,guidb) (This)->lpVtbl->GetDefaultTransitionB(This,guidb) | 
|  | #define IAMTimeline_SetDefaultEffectB(This,guidb) (This)->lpVtbl->SetDefaultEffectB(This,guidb) | 
|  | #define IAMTimeline_GetDefaultEffectB(This,guidb) (This)->lpVtbl->GetDefaultEffectB(This,guidb) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IAMTimeline_QueryInterface(IAMTimeline* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IAMTimeline_AddRef(IAMTimeline* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IAMTimeline_Release(IAMTimeline* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMTimeline methods ***/ | 
|  | static inline HRESULT IAMTimeline_CreateEmptyNode(IAMTimeline* This,IAMTimelineObj **obj,TIMELINE_MAJOR_TYPE type) { | 
|  | return This->lpVtbl->CreateEmptyNode(This,obj,type); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_AddGroup(IAMTimeline* This,IAMTimelineObj *group) { | 
|  | return This->lpVtbl->AddGroup(This,group); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_RemGroupFromList(IAMTimeline* This,IAMTimelineObj *group) { | 
|  | return This->lpVtbl->RemGroupFromList(This,group); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetGroup(IAMTimeline* This,IAMTimelineObj **group,LONG index) { | 
|  | return This->lpVtbl->GetGroup(This,group,index); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetGroupCount(IAMTimeline* This,LONG *count) { | 
|  | return This->lpVtbl->GetGroupCount(This,count); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_ClearAllGroups(IAMTimeline* This) { | 
|  | return This->lpVtbl->ClearAllGroups(This); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetInsertMode(IAMTimeline* This,LONG *mode) { | 
|  | return This->lpVtbl->GetInsertMode(This,mode); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_SetInsertMode(IAMTimeline* This,LONG mode) { | 
|  | return This->lpVtbl->SetInsertMode(This,mode); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_EnableTransitions(IAMTimeline* This,WINBOOL enabled) { | 
|  | return This->lpVtbl->EnableTransitions(This,enabled); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_TransitionsEnabled(IAMTimeline* This,WINBOOL *enabled) { | 
|  | return This->lpVtbl->TransitionsEnabled(This,enabled); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_EnableEffects(IAMTimeline* This,WINBOOL enabled) { | 
|  | return This->lpVtbl->EnableEffects(This,enabled); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_EffectsEnabled(IAMTimeline* This,WINBOOL *enabled) { | 
|  | return This->lpVtbl->EffectsEnabled(This,enabled); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_SetInterestRange(IAMTimeline* This,REFERENCE_TIME start,REFERENCE_TIME stop) { | 
|  | return This->lpVtbl->SetInterestRange(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetDuration(IAMTimeline* This,REFERENCE_TIME *duration) { | 
|  | return This->lpVtbl->GetDuration(This,duration); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetDuration2(IAMTimeline* This,double *duration) { | 
|  | return This->lpVtbl->GetDuration2(This,duration); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_SetDefaultFPS(IAMTimeline* This,double fps) { | 
|  | return This->lpVtbl->SetDefaultFPS(This,fps); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetDefaultFPS(IAMTimeline* This,double *fps) { | 
|  | return This->lpVtbl->GetDefaultFPS(This,fps); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_IsDirty(IAMTimeline* This,WINBOOL *dirty) { | 
|  | return This->lpVtbl->IsDirty(This,dirty); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetDirtyRange(IAMTimeline* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) { | 
|  | return This->lpVtbl->GetDirtyRange(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetCountOfType(IAMTimeline* This,LONG group,LONG *value,LONG *value_with_comps,TIMELINE_MAJOR_TYPE type) { | 
|  | return This->lpVtbl->GetCountOfType(This,group,value,value_with_comps,type); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_ValidateSourceNames(IAMTimeline* This,LONG flags,IMediaLocator *override,LONG_PTR notify_event) { | 
|  | return This->lpVtbl->ValidateSourceNames(This,flags,override,notify_event); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_SetDefaultTransition(IAMTimeline* This,GUID *guid) { | 
|  | return This->lpVtbl->SetDefaultTransition(This,guid); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetDefaultTransition(IAMTimeline* This,GUID *guid) { | 
|  | return This->lpVtbl->GetDefaultTransition(This,guid); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_SetDefaultEffect(IAMTimeline* This,GUID *guid) { | 
|  | return This->lpVtbl->SetDefaultEffect(This,guid); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetDefaultEffect(IAMTimeline* This,GUID *guid) { | 
|  | return This->lpVtbl->GetDefaultEffect(This,guid); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_SetDefaultTransitionB(IAMTimeline* This,BSTR guidb) { | 
|  | return This->lpVtbl->SetDefaultTransitionB(This,guidb); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetDefaultTransitionB(IAMTimeline* This,BSTR *guidb) { | 
|  | return This->lpVtbl->GetDefaultTransitionB(This,guidb); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_SetDefaultEffectB(IAMTimeline* This,BSTR guidb) { | 
|  | return This->lpVtbl->SetDefaultEffectB(This,guidb); | 
|  | } | 
|  | static inline HRESULT IAMTimeline_GetDefaultEffectB(IAMTimeline* This,BSTR *guidb) { | 
|  | return This->lpVtbl->GetDefaultEffectB(This,guidb); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMTimeline_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * AMTimeline coclass | 
|  | */ | 
|  |  | 
|  | DEFINE_GUID(CLSID_AMTimeline, 0x78530b75, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | class DECLSPEC_UUID("78530b75-61f9-11d2-8cad-00a024580902") AMTimeline; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(AMTimeline, 0x78530b75, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02) | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMTimelineGroup interface | 
|  | */ | 
|  | #ifndef __IAMTimelineGroup_INTERFACE_DEFINED__ | 
|  | #define __IAMTimelineGroup_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMTimelineGroup, 0x9eed4f00, 0xb8a6, 0x11d2, 0x80,0x23, 0x00,0xc0,0xdf,0x10,0xd4,0x34); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("9eed4f00-b8a6-11d2-8023-00c0df10d434") | 
|  | IAMTimelineGroup : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTimeline( | 
|  | IAMTimeline *timeline) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTimeline( | 
|  | IAMTimeline **timeline) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPriority( | 
|  | LONG *priority) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMediaType( | 
|  | AM_MEDIA_TYPE *a) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaType( | 
|  | AM_MEDIA_TYPE *a) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputFPS( | 
|  | double fps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetOutputFPS( | 
|  | double *fps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetGroupName( | 
|  | BSTR name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGroupName( | 
|  | BSTR *name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPreviewMode( | 
|  | WINBOOL preview) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPreviewMode( | 
|  | WINBOOL *preview) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaTypeForVB( | 
|  | LONG type) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetOutputBuffering( | 
|  | int *buffer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetOutputBuffering( | 
|  | int buffer) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSmartRecompressFormat( | 
|  | LONG *format) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSmartRecompressFormat( | 
|  | LONG **format) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsSmartRecompressFormatSet( | 
|  | WINBOOL *set) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsRecompressFormatDirty( | 
|  | WINBOOL *dirty) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ClearRecompressFormatDirty( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetRecompFormatFromSource( | 
|  | IAMTimelineSrc *source) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMTimelineGroup, 0x9eed4f00, 0xb8a6, 0x11d2, 0x80,0x23, 0x00,0xc0,0xdf,0x10,0xd4,0x34) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMTimelineGroupVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMTimelineGroup *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMTimelineGroup *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMTimelineGroup *This); | 
|  |  | 
|  | /*** IAMTimelineGroup methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetTimeline)( | 
|  | IAMTimelineGroup *This, | 
|  | IAMTimeline *timeline); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTimeline)( | 
|  | IAMTimelineGroup *This, | 
|  | IAMTimeline **timeline); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPriority)( | 
|  | IAMTimelineGroup *This, | 
|  | LONG *priority); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaType)( | 
|  | IAMTimelineGroup *This, | 
|  | AM_MEDIA_TYPE *a); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaType)( | 
|  | IAMTimelineGroup *This, | 
|  | AM_MEDIA_TYPE *a); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputFPS)( | 
|  | IAMTimelineGroup *This, | 
|  | double fps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetOutputFPS)( | 
|  | IAMTimelineGroup *This, | 
|  | double *fps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetGroupName)( | 
|  | IAMTimelineGroup *This, | 
|  | BSTR name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGroupName)( | 
|  | IAMTimelineGroup *This, | 
|  | BSTR *name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPreviewMode)( | 
|  | IAMTimelineGroup *This, | 
|  | WINBOOL preview); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPreviewMode)( | 
|  | IAMTimelineGroup *This, | 
|  | WINBOOL *preview); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaTypeForVB)( | 
|  | IAMTimelineGroup *This, | 
|  | LONG type); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetOutputBuffering)( | 
|  | IAMTimelineGroup *This, | 
|  | int *buffer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetOutputBuffering)( | 
|  | IAMTimelineGroup *This, | 
|  | int buffer); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSmartRecompressFormat)( | 
|  | IAMTimelineGroup *This, | 
|  | LONG *format); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSmartRecompressFormat)( | 
|  | IAMTimelineGroup *This, | 
|  | LONG **format); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsSmartRecompressFormatSet)( | 
|  | IAMTimelineGroup *This, | 
|  | WINBOOL *set); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsRecompressFormatDirty)( | 
|  | IAMTimelineGroup *This, | 
|  | WINBOOL *dirty); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ClearRecompressFormatDirty)( | 
|  | IAMTimelineGroup *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetRecompFormatFromSource)( | 
|  | IAMTimelineGroup *This, | 
|  | IAMTimelineSrc *source); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMTimelineGroupVtbl; | 
|  |  | 
|  | interface IAMTimelineGroup { | 
|  | CONST_VTBL IAMTimelineGroupVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMTimelineGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTimelineGroup_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTimelineGroup_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMTimelineGroup methods ***/ | 
|  | #define IAMTimelineGroup_SetTimeline(This,timeline) (This)->lpVtbl->SetTimeline(This,timeline) | 
|  | #define IAMTimelineGroup_GetTimeline(This,timeline) (This)->lpVtbl->GetTimeline(This,timeline) | 
|  | #define IAMTimelineGroup_GetPriority(This,priority) (This)->lpVtbl->GetPriority(This,priority) | 
|  | #define IAMTimelineGroup_GetMediaType(This,a) (This)->lpVtbl->GetMediaType(This,a) | 
|  | #define IAMTimelineGroup_SetMediaType(This,a) (This)->lpVtbl->SetMediaType(This,a) | 
|  | #define IAMTimelineGroup_SetOutputFPS(This,fps) (This)->lpVtbl->SetOutputFPS(This,fps) | 
|  | #define IAMTimelineGroup_GetOutputFPS(This,fps) (This)->lpVtbl->GetOutputFPS(This,fps) | 
|  | #define IAMTimelineGroup_SetGroupName(This,name) (This)->lpVtbl->SetGroupName(This,name) | 
|  | #define IAMTimelineGroup_GetGroupName(This,name) (This)->lpVtbl->GetGroupName(This,name) | 
|  | #define IAMTimelineGroup_SetPreviewMode(This,preview) (This)->lpVtbl->SetPreviewMode(This,preview) | 
|  | #define IAMTimelineGroup_GetPreviewMode(This,preview) (This)->lpVtbl->GetPreviewMode(This,preview) | 
|  | #define IAMTimelineGroup_SetMediaTypeForVB(This,type) (This)->lpVtbl->SetMediaTypeForVB(This,type) | 
|  | #define IAMTimelineGroup_GetOutputBuffering(This,buffer) (This)->lpVtbl->GetOutputBuffering(This,buffer) | 
|  | #define IAMTimelineGroup_SetOutputBuffering(This,buffer) (This)->lpVtbl->SetOutputBuffering(This,buffer) | 
|  | #define IAMTimelineGroup_SetSmartRecompressFormat(This,format) (This)->lpVtbl->SetSmartRecompressFormat(This,format) | 
|  | #define IAMTimelineGroup_GetSmartRecompressFormat(This,format) (This)->lpVtbl->GetSmartRecompressFormat(This,format) | 
|  | #define IAMTimelineGroup_IsSmartRecompressFormatSet(This,set) (This)->lpVtbl->IsSmartRecompressFormatSet(This,set) | 
|  | #define IAMTimelineGroup_IsRecompressFormatDirty(This,dirty) (This)->lpVtbl->IsRecompressFormatDirty(This,dirty) | 
|  | #define IAMTimelineGroup_ClearRecompressFormatDirty(This) (This)->lpVtbl->ClearRecompressFormatDirty(This) | 
|  | #define IAMTimelineGroup_SetRecompFormatFromSource(This,source) (This)->lpVtbl->SetRecompFormatFromSource(This,source) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IAMTimelineGroup_QueryInterface(IAMTimelineGroup* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IAMTimelineGroup_AddRef(IAMTimelineGroup* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IAMTimelineGroup_Release(IAMTimelineGroup* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMTimelineGroup methods ***/ | 
|  | static inline HRESULT IAMTimelineGroup_SetTimeline(IAMTimelineGroup* This,IAMTimeline *timeline) { | 
|  | return This->lpVtbl->SetTimeline(This,timeline); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_GetTimeline(IAMTimelineGroup* This,IAMTimeline **timeline) { | 
|  | return This->lpVtbl->GetTimeline(This,timeline); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_GetPriority(IAMTimelineGroup* This,LONG *priority) { | 
|  | return This->lpVtbl->GetPriority(This,priority); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_GetMediaType(IAMTimelineGroup* This,AM_MEDIA_TYPE *a) { | 
|  | return This->lpVtbl->GetMediaType(This,a); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_SetMediaType(IAMTimelineGroup* This,AM_MEDIA_TYPE *a) { | 
|  | return This->lpVtbl->SetMediaType(This,a); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_SetOutputFPS(IAMTimelineGroup* This,double fps) { | 
|  | return This->lpVtbl->SetOutputFPS(This,fps); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_GetOutputFPS(IAMTimelineGroup* This,double *fps) { | 
|  | return This->lpVtbl->GetOutputFPS(This,fps); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_SetGroupName(IAMTimelineGroup* This,BSTR name) { | 
|  | return This->lpVtbl->SetGroupName(This,name); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_GetGroupName(IAMTimelineGroup* This,BSTR *name) { | 
|  | return This->lpVtbl->GetGroupName(This,name); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_SetPreviewMode(IAMTimelineGroup* This,WINBOOL preview) { | 
|  | return This->lpVtbl->SetPreviewMode(This,preview); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_GetPreviewMode(IAMTimelineGroup* This,WINBOOL *preview) { | 
|  | return This->lpVtbl->GetPreviewMode(This,preview); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_SetMediaTypeForVB(IAMTimelineGroup* This,LONG type) { | 
|  | return This->lpVtbl->SetMediaTypeForVB(This,type); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_GetOutputBuffering(IAMTimelineGroup* This,int *buffer) { | 
|  | return This->lpVtbl->GetOutputBuffering(This,buffer); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_SetOutputBuffering(IAMTimelineGroup* This,int buffer) { | 
|  | return This->lpVtbl->SetOutputBuffering(This,buffer); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_SetSmartRecompressFormat(IAMTimelineGroup* This,LONG *format) { | 
|  | return This->lpVtbl->SetSmartRecompressFormat(This,format); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_GetSmartRecompressFormat(IAMTimelineGroup* This,LONG **format) { | 
|  | return This->lpVtbl->GetSmartRecompressFormat(This,format); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_IsSmartRecompressFormatSet(IAMTimelineGroup* This,WINBOOL *set) { | 
|  | return This->lpVtbl->IsSmartRecompressFormatSet(This,set); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_IsRecompressFormatDirty(IAMTimelineGroup* This,WINBOOL *dirty) { | 
|  | return This->lpVtbl->IsRecompressFormatDirty(This,dirty); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_ClearRecompressFormatDirty(IAMTimelineGroup* This) { | 
|  | return This->lpVtbl->ClearRecompressFormatDirty(This); | 
|  | } | 
|  | static inline HRESULT IAMTimelineGroup_SetRecompFormatFromSource(IAMTimelineGroup* This,IAMTimelineSrc *source) { | 
|  | return This->lpVtbl->SetRecompFormatFromSource(This,source); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMTimelineGroup_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMTimelineObj interface | 
|  | */ | 
|  | #ifndef __IAMTimelineObj_INTERFACE_DEFINED__ | 
|  | #define __IAMTimelineObj_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMTimelineObj, 0x78530b77, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("78530b77-61f9-11d2-8cad-00a024580902") | 
|  | IAMTimelineObj : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStartStop( | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStartStop2( | 
|  | REFTIME *start, | 
|  | REFTIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FixTimes( | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FixTimes2( | 
|  | REFTIME *start, | 
|  | REFTIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetStartStop( | 
|  | REFERENCE_TIME start, | 
|  | REFERENCE_TIME stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetStartStop2( | 
|  | REFTIME start, | 
|  | REFTIME stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPropertySetter( | 
|  | IPropertySetter **setter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPropertySetter( | 
|  | IPropertySetter *setter) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSubObject( | 
|  | IUnknown **obj) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSubObject( | 
|  | IUnknown *obj) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSubObjectGUID( | 
|  | GUID guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSubObjectGUIDB( | 
|  | BSTR guidb) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSubObjectGUID( | 
|  | GUID *guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSubObjectGUIDB( | 
|  | BSTR *guidb) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSubObjectLoaded( | 
|  | WINBOOL *loaded) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTimelineType( | 
|  | TIMELINE_MAJOR_TYPE *type) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetTimelineType( | 
|  | TIMELINE_MAJOR_TYPE type) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetUserID( | 
|  | LONG *id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetUserID( | 
|  | LONG id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGenID( | 
|  | LONG *id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetUserName( | 
|  | BSTR *name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetUserName( | 
|  | BSTR name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetUserData( | 
|  | BYTE *data, | 
|  | LONG *size) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetUserData( | 
|  | BYTE *data, | 
|  | LONG size) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMuted( | 
|  | WINBOOL *muted) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMuted( | 
|  | WINBOOL muted) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLocked( | 
|  | WINBOOL *locked) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetLocked( | 
|  | WINBOOL locked) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDirtyRange( | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDirtyRange2( | 
|  | REFTIME *start, | 
|  | REFTIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDirtyRange( | 
|  | REFERENCE_TIME start, | 
|  | REFERENCE_TIME stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDirtyRange2( | 
|  | REFTIME start, | 
|  | REFTIME stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ClearDirty( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Remove( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RemoveAll( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTimelineNoRef( | 
|  | IAMTimeline **timeline) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGroupIBelongTo( | 
|  | IAMTimelineGroup **group) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEmbedDepth( | 
|  | LONG *depth) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMTimelineObj, 0x78530b77, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMTimelineObjVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMTimelineObj *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMTimelineObj *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMTimelineObj *This); | 
|  |  | 
|  | /*** IAMTimelineObj methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetStartStop)( | 
|  | IAMTimelineObj *This, | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStartStop2)( | 
|  | IAMTimelineObj *This, | 
|  | REFTIME *start, | 
|  | REFTIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FixTimes)( | 
|  | IAMTimelineObj *This, | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FixTimes2)( | 
|  | IAMTimelineObj *This, | 
|  | REFTIME *start, | 
|  | REFTIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetStartStop)( | 
|  | IAMTimelineObj *This, | 
|  | REFERENCE_TIME start, | 
|  | REFERENCE_TIME stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetStartStop2)( | 
|  | IAMTimelineObj *This, | 
|  | REFTIME start, | 
|  | REFTIME stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPropertySetter)( | 
|  | IAMTimelineObj *This, | 
|  | IPropertySetter **setter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPropertySetter)( | 
|  | IAMTimelineObj *This, | 
|  | IPropertySetter *setter); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSubObject)( | 
|  | IAMTimelineObj *This, | 
|  | IUnknown **obj); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSubObject)( | 
|  | IAMTimelineObj *This, | 
|  | IUnknown *obj); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSubObjectGUID)( | 
|  | IAMTimelineObj *This, | 
|  | GUID guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSubObjectGUIDB)( | 
|  | IAMTimelineObj *This, | 
|  | BSTR guidb); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSubObjectGUID)( | 
|  | IAMTimelineObj *This, | 
|  | GUID *guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSubObjectGUIDB)( | 
|  | IAMTimelineObj *This, | 
|  | BSTR *guidb); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSubObjectLoaded)( | 
|  | IAMTimelineObj *This, | 
|  | WINBOOL *loaded); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTimelineType)( | 
|  | IAMTimelineObj *This, | 
|  | TIMELINE_MAJOR_TYPE *type); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetTimelineType)( | 
|  | IAMTimelineObj *This, | 
|  | TIMELINE_MAJOR_TYPE type); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUserID)( | 
|  | IAMTimelineObj *This, | 
|  | LONG *id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUserID)( | 
|  | IAMTimelineObj *This, | 
|  | LONG id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGenID)( | 
|  | IAMTimelineObj *This, | 
|  | LONG *id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUserName)( | 
|  | IAMTimelineObj *This, | 
|  | BSTR *name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUserName)( | 
|  | IAMTimelineObj *This, | 
|  | BSTR name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUserData)( | 
|  | IAMTimelineObj *This, | 
|  | BYTE *data, | 
|  | LONG *size); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetUserData)( | 
|  | IAMTimelineObj *This, | 
|  | BYTE *data, | 
|  | LONG size); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMuted)( | 
|  | IAMTimelineObj *This, | 
|  | WINBOOL *muted); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMuted)( | 
|  | IAMTimelineObj *This, | 
|  | WINBOOL muted); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLocked)( | 
|  | IAMTimelineObj *This, | 
|  | WINBOOL *locked); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetLocked)( | 
|  | IAMTimelineObj *This, | 
|  | WINBOOL locked); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDirtyRange)( | 
|  | IAMTimelineObj *This, | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDirtyRange2)( | 
|  | IAMTimelineObj *This, | 
|  | REFTIME *start, | 
|  | REFTIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDirtyRange)( | 
|  | IAMTimelineObj *This, | 
|  | REFERENCE_TIME start, | 
|  | REFERENCE_TIME stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDirtyRange2)( | 
|  | IAMTimelineObj *This, | 
|  | REFTIME start, | 
|  | REFTIME stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ClearDirty)( | 
|  | IAMTimelineObj *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Remove)( | 
|  | IAMTimelineObj *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveAll)( | 
|  | IAMTimelineObj *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTimelineNoRef)( | 
|  | IAMTimelineObj *This, | 
|  | IAMTimeline **timeline); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGroupIBelongTo)( | 
|  | IAMTimelineObj *This, | 
|  | IAMTimelineGroup **group); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEmbedDepth)( | 
|  | IAMTimelineObj *This, | 
|  | LONG *depth); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMTimelineObjVtbl; | 
|  |  | 
|  | interface IAMTimelineObj { | 
|  | CONST_VTBL IAMTimelineObjVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMTimelineObj_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTimelineObj_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTimelineObj_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMTimelineObj methods ***/ | 
|  | #define IAMTimelineObj_GetStartStop(This,start,stop) (This)->lpVtbl->GetStartStop(This,start,stop) | 
|  | #define IAMTimelineObj_GetStartStop2(This,start,stop) (This)->lpVtbl->GetStartStop2(This,start,stop) | 
|  | #define IAMTimelineObj_FixTimes(This,start,stop) (This)->lpVtbl->FixTimes(This,start,stop) | 
|  | #define IAMTimelineObj_FixTimes2(This,start,stop) (This)->lpVtbl->FixTimes2(This,start,stop) | 
|  | #define IAMTimelineObj_SetStartStop(This,start,stop) (This)->lpVtbl->SetStartStop(This,start,stop) | 
|  | #define IAMTimelineObj_SetStartStop2(This,start,stop) (This)->lpVtbl->SetStartStop2(This,start,stop) | 
|  | #define IAMTimelineObj_GetPropertySetter(This,setter) (This)->lpVtbl->GetPropertySetter(This,setter) | 
|  | #define IAMTimelineObj_SetPropertySetter(This,setter) (This)->lpVtbl->SetPropertySetter(This,setter) | 
|  | #define IAMTimelineObj_GetSubObject(This,obj) (This)->lpVtbl->GetSubObject(This,obj) | 
|  | #define IAMTimelineObj_SetSubObject(This,obj) (This)->lpVtbl->SetSubObject(This,obj) | 
|  | #define IAMTimelineObj_SetSubObjectGUID(This,guid) (This)->lpVtbl->SetSubObjectGUID(This,guid) | 
|  | #define IAMTimelineObj_SetSubObjectGUIDB(This,guidb) (This)->lpVtbl->SetSubObjectGUIDB(This,guidb) | 
|  | #define IAMTimelineObj_GetSubObjectGUID(This,guid) (This)->lpVtbl->GetSubObjectGUID(This,guid) | 
|  | #define IAMTimelineObj_GetSubObjectGUIDB(This,guidb) (This)->lpVtbl->GetSubObjectGUIDB(This,guidb) | 
|  | #define IAMTimelineObj_GetSubObjectLoaded(This,loaded) (This)->lpVtbl->GetSubObjectLoaded(This,loaded) | 
|  | #define IAMTimelineObj_GetTimelineType(This,type) (This)->lpVtbl->GetTimelineType(This,type) | 
|  | #define IAMTimelineObj_SetTimelineType(This,type) (This)->lpVtbl->SetTimelineType(This,type) | 
|  | #define IAMTimelineObj_GetUserID(This,id) (This)->lpVtbl->GetUserID(This,id) | 
|  | #define IAMTimelineObj_SetUserID(This,id) (This)->lpVtbl->SetUserID(This,id) | 
|  | #define IAMTimelineObj_GetGenID(This,id) (This)->lpVtbl->GetGenID(This,id) | 
|  | #define IAMTimelineObj_GetUserName(This,name) (This)->lpVtbl->GetUserName(This,name) | 
|  | #define IAMTimelineObj_SetUserName(This,name) (This)->lpVtbl->SetUserName(This,name) | 
|  | #define IAMTimelineObj_GetUserData(This,data,size) (This)->lpVtbl->GetUserData(This,data,size) | 
|  | #define IAMTimelineObj_SetUserData(This,data,size) (This)->lpVtbl->SetUserData(This,data,size) | 
|  | #define IAMTimelineObj_GetMuted(This,muted) (This)->lpVtbl->GetMuted(This,muted) | 
|  | #define IAMTimelineObj_SetMuted(This,muted) (This)->lpVtbl->SetMuted(This,muted) | 
|  | #define IAMTimelineObj_GetLocked(This,locked) (This)->lpVtbl->GetLocked(This,locked) | 
|  | #define IAMTimelineObj_SetLocked(This,locked) (This)->lpVtbl->SetLocked(This,locked) | 
|  | #define IAMTimelineObj_GetDirtyRange(This,start,stop) (This)->lpVtbl->GetDirtyRange(This,start,stop) | 
|  | #define IAMTimelineObj_GetDirtyRange2(This,start,stop) (This)->lpVtbl->GetDirtyRange2(This,start,stop) | 
|  | #define IAMTimelineObj_SetDirtyRange(This,start,stop) (This)->lpVtbl->SetDirtyRange(This,start,stop) | 
|  | #define IAMTimelineObj_SetDirtyRange2(This,start,stop) (This)->lpVtbl->SetDirtyRange2(This,start,stop) | 
|  | #define IAMTimelineObj_ClearDirty(This) (This)->lpVtbl->ClearDirty(This) | 
|  | #define IAMTimelineObj_Remove(This) (This)->lpVtbl->Remove(This) | 
|  | #define IAMTimelineObj_RemoveAll(This) (This)->lpVtbl->RemoveAll(This) | 
|  | #define IAMTimelineObj_GetTimelineNoRef(This,timeline) (This)->lpVtbl->GetTimelineNoRef(This,timeline) | 
|  | #define IAMTimelineObj_GetGroupIBelongTo(This,group) (This)->lpVtbl->GetGroupIBelongTo(This,group) | 
|  | #define IAMTimelineObj_GetEmbedDepth(This,depth) (This)->lpVtbl->GetEmbedDepth(This,depth) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IAMTimelineObj_QueryInterface(IAMTimelineObj* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IAMTimelineObj_AddRef(IAMTimelineObj* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IAMTimelineObj_Release(IAMTimelineObj* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMTimelineObj methods ***/ | 
|  | static inline HRESULT IAMTimelineObj_GetStartStop(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) { | 
|  | return This->lpVtbl->GetStartStop(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetStartStop2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) { | 
|  | return This->lpVtbl->GetStartStop2(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_FixTimes(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) { | 
|  | return This->lpVtbl->FixTimes(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_FixTimes2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) { | 
|  | return This->lpVtbl->FixTimes2(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetStartStop(IAMTimelineObj* This,REFERENCE_TIME start,REFERENCE_TIME stop) { | 
|  | return This->lpVtbl->SetStartStop(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetStartStop2(IAMTimelineObj* This,REFTIME start,REFTIME stop) { | 
|  | return This->lpVtbl->SetStartStop2(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetPropertySetter(IAMTimelineObj* This,IPropertySetter **setter) { | 
|  | return This->lpVtbl->GetPropertySetter(This,setter); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetPropertySetter(IAMTimelineObj* This,IPropertySetter *setter) { | 
|  | return This->lpVtbl->SetPropertySetter(This,setter); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetSubObject(IAMTimelineObj* This,IUnknown **obj) { | 
|  | return This->lpVtbl->GetSubObject(This,obj); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetSubObject(IAMTimelineObj* This,IUnknown *obj) { | 
|  | return This->lpVtbl->SetSubObject(This,obj); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetSubObjectGUID(IAMTimelineObj* This,GUID guid) { | 
|  | return This->lpVtbl->SetSubObjectGUID(This,guid); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetSubObjectGUIDB(IAMTimelineObj* This,BSTR guidb) { | 
|  | return This->lpVtbl->SetSubObjectGUIDB(This,guidb); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetSubObjectGUID(IAMTimelineObj* This,GUID *guid) { | 
|  | return This->lpVtbl->GetSubObjectGUID(This,guid); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetSubObjectGUIDB(IAMTimelineObj* This,BSTR *guidb) { | 
|  | return This->lpVtbl->GetSubObjectGUIDB(This,guidb); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetSubObjectLoaded(IAMTimelineObj* This,WINBOOL *loaded) { | 
|  | return This->lpVtbl->GetSubObjectLoaded(This,loaded); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetTimelineType(IAMTimelineObj* This,TIMELINE_MAJOR_TYPE *type) { | 
|  | return This->lpVtbl->GetTimelineType(This,type); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetTimelineType(IAMTimelineObj* This,TIMELINE_MAJOR_TYPE type) { | 
|  | return This->lpVtbl->SetTimelineType(This,type); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetUserID(IAMTimelineObj* This,LONG *id) { | 
|  | return This->lpVtbl->GetUserID(This,id); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetUserID(IAMTimelineObj* This,LONG id) { | 
|  | return This->lpVtbl->SetUserID(This,id); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetGenID(IAMTimelineObj* This,LONG *id) { | 
|  | return This->lpVtbl->GetGenID(This,id); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetUserName(IAMTimelineObj* This,BSTR *name) { | 
|  | return This->lpVtbl->GetUserName(This,name); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetUserName(IAMTimelineObj* This,BSTR name) { | 
|  | return This->lpVtbl->SetUserName(This,name); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetUserData(IAMTimelineObj* This,BYTE *data,LONG *size) { | 
|  | return This->lpVtbl->GetUserData(This,data,size); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetUserData(IAMTimelineObj* This,BYTE *data,LONG size) { | 
|  | return This->lpVtbl->SetUserData(This,data,size); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetMuted(IAMTimelineObj* This,WINBOOL *muted) { | 
|  | return This->lpVtbl->GetMuted(This,muted); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetMuted(IAMTimelineObj* This,WINBOOL muted) { | 
|  | return This->lpVtbl->SetMuted(This,muted); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetLocked(IAMTimelineObj* This,WINBOOL *locked) { | 
|  | return This->lpVtbl->GetLocked(This,locked); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetLocked(IAMTimelineObj* This,WINBOOL locked) { | 
|  | return This->lpVtbl->SetLocked(This,locked); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetDirtyRange(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) { | 
|  | return This->lpVtbl->GetDirtyRange(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetDirtyRange2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) { | 
|  | return This->lpVtbl->GetDirtyRange2(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetDirtyRange(IAMTimelineObj* This,REFERENCE_TIME start,REFERENCE_TIME stop) { | 
|  | return This->lpVtbl->SetDirtyRange(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_SetDirtyRange2(IAMTimelineObj* This,REFTIME start,REFTIME stop) { | 
|  | return This->lpVtbl->SetDirtyRange2(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_ClearDirty(IAMTimelineObj* This) { | 
|  | return This->lpVtbl->ClearDirty(This); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_Remove(IAMTimelineObj* This) { | 
|  | return This->lpVtbl->Remove(This); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_RemoveAll(IAMTimelineObj* This) { | 
|  | return This->lpVtbl->RemoveAll(This); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetTimelineNoRef(IAMTimelineObj* This,IAMTimeline **timeline) { | 
|  | return This->lpVtbl->GetTimelineNoRef(This,timeline); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetGroupIBelongTo(IAMTimelineObj* This,IAMTimelineGroup **group) { | 
|  | return This->lpVtbl->GetGroupIBelongTo(This,group); | 
|  | } | 
|  | static inline HRESULT IAMTimelineObj_GetEmbedDepth(IAMTimelineObj* This,LONG *depth) { | 
|  | return This->lpVtbl->GetEmbedDepth(This,depth); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMTimelineObj_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IAMTimelineSrc interface | 
|  | */ | 
|  | #ifndef __IAMTimelineSrc_INTERFACE_DEFINED__ | 
|  | #define __IAMTimelineSrc_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IAMTimelineSrc, 0x78530b79, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("78530b79-61f9-11d2-8cad-00a024580902") | 
|  | IAMTimelineSrc : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMediaTimes( | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMediaTimes2( | 
|  | REFTIME *start, | 
|  | REFTIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ModifyStopTime( | 
|  | REFERENCE_TIME stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ModifyStopTime2( | 
|  | REFTIME stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FixMediaTimes( | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FixMediaTimes2( | 
|  | REFTIME *start, | 
|  | REFTIME *stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaTimes( | 
|  | REFERENCE_TIME Start, | 
|  | REFERENCE_TIME Stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaTimes2( | 
|  | REFTIME Start, | 
|  | REFTIME Stop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaLength( | 
|  | REFERENCE_TIME length) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaLength2( | 
|  | REFTIME length) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMediaLength( | 
|  | REFERENCE_TIME *length) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMediaLength2( | 
|  | REFTIME *length) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMediaName( | 
|  | BSTR *name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetMediaName( | 
|  | BSTR name) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SpliceWithNext( | 
|  | IAMTimelineObj *next) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStreamNumber( | 
|  | LONG *num) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetStreamNumber( | 
|  | LONG num) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsNormalRate( | 
|  | WINBOOL *normal) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultFPS( | 
|  | double *fps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultFPS( | 
|  | double fps) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStretchMode( | 
|  | int *mode) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetStretchMode( | 
|  | int mode) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IAMTimelineSrc, 0x78530b79, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IAMTimelineSrcVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IAMTimelineSrc *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IAMTimelineSrc *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IAMTimelineSrc *This); | 
|  |  | 
|  | /*** IAMTimelineSrc methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaTimes)( | 
|  | IAMTimelineSrc *This, | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaTimes2)( | 
|  | IAMTimelineSrc *This, | 
|  | REFTIME *start, | 
|  | REFTIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ModifyStopTime)( | 
|  | IAMTimelineSrc *This, | 
|  | REFERENCE_TIME stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ModifyStopTime2)( | 
|  | IAMTimelineSrc *This, | 
|  | REFTIME stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FixMediaTimes)( | 
|  | IAMTimelineSrc *This, | 
|  | REFERENCE_TIME *start, | 
|  | REFERENCE_TIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FixMediaTimes2)( | 
|  | IAMTimelineSrc *This, | 
|  | REFTIME *start, | 
|  | REFTIME *stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaTimes)( | 
|  | IAMTimelineSrc *This, | 
|  | REFERENCE_TIME Start, | 
|  | REFERENCE_TIME Stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaTimes2)( | 
|  | IAMTimelineSrc *This, | 
|  | REFTIME Start, | 
|  | REFTIME Stop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaLength)( | 
|  | IAMTimelineSrc *This, | 
|  | REFERENCE_TIME length); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaLength2)( | 
|  | IAMTimelineSrc *This, | 
|  | REFTIME length); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaLength)( | 
|  | IAMTimelineSrc *This, | 
|  | REFERENCE_TIME *length); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaLength2)( | 
|  | IAMTimelineSrc *This, | 
|  | REFTIME *length); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMediaName)( | 
|  | IAMTimelineSrc *This, | 
|  | BSTR *name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetMediaName)( | 
|  | IAMTimelineSrc *This, | 
|  | BSTR name); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SpliceWithNext)( | 
|  | IAMTimelineSrc *This, | 
|  | IAMTimelineObj *next); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStreamNumber)( | 
|  | IAMTimelineSrc *This, | 
|  | LONG *num); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetStreamNumber)( | 
|  | IAMTimelineSrc *This, | 
|  | LONG num); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsNormalRate)( | 
|  | IAMTimelineSrc *This, | 
|  | WINBOOL *normal); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultFPS)( | 
|  | IAMTimelineSrc *This, | 
|  | double *fps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultFPS)( | 
|  | IAMTimelineSrc *This, | 
|  | double fps); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStretchMode)( | 
|  | IAMTimelineSrc *This, | 
|  | int *mode); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetStretchMode)( | 
|  | IAMTimelineSrc *This, | 
|  | int mode); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IAMTimelineSrcVtbl; | 
|  |  | 
|  | interface IAMTimelineSrc { | 
|  | CONST_VTBL IAMTimelineSrcVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IAMTimelineSrc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IAMTimelineSrc_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IAMTimelineSrc_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IAMTimelineSrc methods ***/ | 
|  | #define IAMTimelineSrc_GetMediaTimes(This,start,stop) (This)->lpVtbl->GetMediaTimes(This,start,stop) | 
|  | #define IAMTimelineSrc_GetMediaTimes2(This,start,stop) (This)->lpVtbl->GetMediaTimes2(This,start,stop) | 
|  | #define IAMTimelineSrc_ModifyStopTime(This,stop) (This)->lpVtbl->ModifyStopTime(This,stop) | 
|  | #define IAMTimelineSrc_ModifyStopTime2(This,stop) (This)->lpVtbl->ModifyStopTime2(This,stop) | 
|  | #define IAMTimelineSrc_FixMediaTimes(This,start,stop) (This)->lpVtbl->FixMediaTimes(This,start,stop) | 
|  | #define IAMTimelineSrc_FixMediaTimes2(This,start,stop) (This)->lpVtbl->FixMediaTimes2(This,start,stop) | 
|  | #define IAMTimelineSrc_SetMediaTimes(This,Start,Stop) (This)->lpVtbl->SetMediaTimes(This,Start,Stop) | 
|  | #define IAMTimelineSrc_SetMediaTimes2(This,Start,Stop) (This)->lpVtbl->SetMediaTimes2(This,Start,Stop) | 
|  | #define IAMTimelineSrc_SetMediaLength(This,length) (This)->lpVtbl->SetMediaLength(This,length) | 
|  | #define IAMTimelineSrc_SetMediaLength2(This,length) (This)->lpVtbl->SetMediaLength2(This,length) | 
|  | #define IAMTimelineSrc_GetMediaLength(This,length) (This)->lpVtbl->GetMediaLength(This,length) | 
|  | #define IAMTimelineSrc_GetMediaLength2(This,length) (This)->lpVtbl->GetMediaLength2(This,length) | 
|  | #define IAMTimelineSrc_GetMediaName(This,name) (This)->lpVtbl->GetMediaName(This,name) | 
|  | #define IAMTimelineSrc_SetMediaName(This,name) (This)->lpVtbl->SetMediaName(This,name) | 
|  | #define IAMTimelineSrc_SpliceWithNext(This,next) (This)->lpVtbl->SpliceWithNext(This,next) | 
|  | #define IAMTimelineSrc_GetStreamNumber(This,num) (This)->lpVtbl->GetStreamNumber(This,num) | 
|  | #define IAMTimelineSrc_SetStreamNumber(This,num) (This)->lpVtbl->SetStreamNumber(This,num) | 
|  | #define IAMTimelineSrc_IsNormalRate(This,normal) (This)->lpVtbl->IsNormalRate(This,normal) | 
|  | #define IAMTimelineSrc_GetDefaultFPS(This,fps) (This)->lpVtbl->GetDefaultFPS(This,fps) | 
|  | #define IAMTimelineSrc_SetDefaultFPS(This,fps) (This)->lpVtbl->SetDefaultFPS(This,fps) | 
|  | #define IAMTimelineSrc_GetStretchMode(This,mode) (This)->lpVtbl->GetStretchMode(This,mode) | 
|  | #define IAMTimelineSrc_SetStretchMode(This,mode) (This)->lpVtbl->SetStretchMode(This,mode) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static inline HRESULT IAMTimelineSrc_QueryInterface(IAMTimelineSrc* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static inline ULONG IAMTimelineSrc_AddRef(IAMTimelineSrc* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static inline ULONG IAMTimelineSrc_Release(IAMTimelineSrc* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IAMTimelineSrc methods ***/ | 
|  | static inline HRESULT IAMTimelineSrc_GetMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) { | 
|  | return This->lpVtbl->GetMediaTimes(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_GetMediaTimes2(IAMTimelineSrc* This,REFTIME *start,REFTIME *stop) { | 
|  | return This->lpVtbl->GetMediaTimes2(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_ModifyStopTime(IAMTimelineSrc* This,REFERENCE_TIME stop) { | 
|  | return This->lpVtbl->ModifyStopTime(This,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_ModifyStopTime2(IAMTimelineSrc* This,REFTIME stop) { | 
|  | return This->lpVtbl->ModifyStopTime2(This,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_FixMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) { | 
|  | return This->lpVtbl->FixMediaTimes(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_FixMediaTimes2(IAMTimelineSrc* This,REFTIME *start,REFTIME *stop) { | 
|  | return This->lpVtbl->FixMediaTimes2(This,start,stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SetMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME Start,REFERENCE_TIME Stop) { | 
|  | return This->lpVtbl->SetMediaTimes(This,Start,Stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SetMediaTimes2(IAMTimelineSrc* This,REFTIME Start,REFTIME Stop) { | 
|  | return This->lpVtbl->SetMediaTimes2(This,Start,Stop); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SetMediaLength(IAMTimelineSrc* This,REFERENCE_TIME length) { | 
|  | return This->lpVtbl->SetMediaLength(This,length); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SetMediaLength2(IAMTimelineSrc* This,REFTIME length) { | 
|  | return This->lpVtbl->SetMediaLength2(This,length); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_GetMediaLength(IAMTimelineSrc* This,REFERENCE_TIME *length) { | 
|  | return This->lpVtbl->GetMediaLength(This,length); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_GetMediaLength2(IAMTimelineSrc* This,REFTIME *length) { | 
|  | return This->lpVtbl->GetMediaLength2(This,length); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_GetMediaName(IAMTimelineSrc* This,BSTR *name) { | 
|  | return This->lpVtbl->GetMediaName(This,name); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SetMediaName(IAMTimelineSrc* This,BSTR name) { | 
|  | return This->lpVtbl->SetMediaName(This,name); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SpliceWithNext(IAMTimelineSrc* This,IAMTimelineObj *next) { | 
|  | return This->lpVtbl->SpliceWithNext(This,next); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_GetStreamNumber(IAMTimelineSrc* This,LONG *num) { | 
|  | return This->lpVtbl->GetStreamNumber(This,num); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SetStreamNumber(IAMTimelineSrc* This,LONG num) { | 
|  | return This->lpVtbl->SetStreamNumber(This,num); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_IsNormalRate(IAMTimelineSrc* This,WINBOOL *normal) { | 
|  | return This->lpVtbl->IsNormalRate(This,normal); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_GetDefaultFPS(IAMTimelineSrc* This,double *fps) { | 
|  | return This->lpVtbl->GetDefaultFPS(This,fps); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SetDefaultFPS(IAMTimelineSrc* This,double fps) { | 
|  | return This->lpVtbl->SetDefaultFPS(This,fps); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_GetStretchMode(IAMTimelineSrc* This,int *mode) { | 
|  | return This->lpVtbl->GetStretchMode(This,mode); | 
|  | } | 
|  | static inline HRESULT IAMTimelineSrc_SetStretchMode(IAMTimelineSrc* This,int mode) { | 
|  | return This->lpVtbl->SetStretchMode(This,mode); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IAMTimelineSrc_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | enum { | 
|  | E_NOTINTREE = 0x80040400, | 
|  | E_RENDER_ENGINE_IS_BROKEN = 0x80040401, | 
|  | E_MUST_INIT_RENDERER = 0x80040402, | 
|  | E_NOTDETERMINED = 0x80040403, | 
|  | E_NO_TIMELINE = 0x80040404, | 
|  | S_WARN_OUTPUTRESET = 40404 | 
|  | }; | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  | ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); | 
|  | void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *); | 
|  | ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *); | 
|  | unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *); | 
|  | unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *); | 
|  | void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *); | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __qedit_h__ */ |