zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

qedit.h (96728B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/qedit.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __qedit_h__
     17 #define __qedit_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __ISampleGrabberCB_FWD_DEFINED__
     22 #define __ISampleGrabberCB_FWD_DEFINED__
     23 typedef interface ISampleGrabberCB ISampleGrabberCB;
     24 #ifdef __cplusplus
     25 interface ISampleGrabberCB;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __ISampleGrabber_FWD_DEFINED__
     30 #define __ISampleGrabber_FWD_DEFINED__
     31 typedef interface ISampleGrabber ISampleGrabber;
     32 #ifdef __cplusplus
     33 interface ISampleGrabber;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __SampleGrabber_FWD_DEFINED__
     38 #define __SampleGrabber_FWD_DEFINED__
     39 #ifdef __cplusplus
     40 typedef class SampleGrabber SampleGrabber;
     41 #else
     42 typedef struct SampleGrabber SampleGrabber;
     43 #endif /* defined __cplusplus */
     44 #endif /* defined __SampleGrabber_FWD_DEFINED__ */
     45 
     46 #ifndef __IMediaDet_FWD_DEFINED__
     47 #define __IMediaDet_FWD_DEFINED__
     48 typedef interface IMediaDet IMediaDet;
     49 #ifdef __cplusplus
     50 interface IMediaDet;
     51 #endif /* __cplusplus */
     52 #endif
     53 
     54 #ifndef __MediaDet_FWD_DEFINED__
     55 #define __MediaDet_FWD_DEFINED__
     56 #ifdef __cplusplus
     57 typedef class MediaDet MediaDet;
     58 #else
     59 typedef struct MediaDet MediaDet;
     60 #endif /* defined __cplusplus */
     61 #endif /* defined __MediaDet_FWD_DEFINED__ */
     62 
     63 #ifndef __IMediaLocator_FWD_DEFINED__
     64 #define __IMediaLocator_FWD_DEFINED__
     65 typedef interface IMediaLocator IMediaLocator;
     66 #ifdef __cplusplus
     67 interface IMediaLocator;
     68 #endif /* __cplusplus */
     69 #endif
     70 
     71 #ifndef __IPropertySetter_FWD_DEFINED__
     72 #define __IPropertySetter_FWD_DEFINED__
     73 typedef interface IPropertySetter IPropertySetter;
     74 #ifdef __cplusplus
     75 interface IPropertySetter;
     76 #endif /* __cplusplus */
     77 #endif
     78 
     79 #ifndef __IAMErrorLog_FWD_DEFINED__
     80 #define __IAMErrorLog_FWD_DEFINED__
     81 typedef interface IAMErrorLog IAMErrorLog;
     82 #ifdef __cplusplus
     83 interface IAMErrorLog;
     84 #endif /* __cplusplus */
     85 #endif
     86 
     87 #ifndef __IAMSetErrorLog_FWD_DEFINED__
     88 #define __IAMSetErrorLog_FWD_DEFINED__
     89 typedef interface IAMSetErrorLog IAMSetErrorLog;
     90 #ifdef __cplusplus
     91 interface IAMSetErrorLog;
     92 #endif /* __cplusplus */
     93 #endif
     94 
     95 #ifndef __IAMTimeline_FWD_DEFINED__
     96 #define __IAMTimeline_FWD_DEFINED__
     97 typedef interface IAMTimeline IAMTimeline;
     98 #ifdef __cplusplus
     99 interface IAMTimeline;
    100 #endif /* __cplusplus */
    101 #endif
    102 
    103 #ifndef __AMTimeline_FWD_DEFINED__
    104 #define __AMTimeline_FWD_DEFINED__
    105 #ifdef __cplusplus
    106 typedef class AMTimeline AMTimeline;
    107 #else
    108 typedef struct AMTimeline AMTimeline;
    109 #endif /* defined __cplusplus */
    110 #endif /* defined __AMTimeline_FWD_DEFINED__ */
    111 
    112 #ifndef __IAMTimelineGroup_FWD_DEFINED__
    113 #define __IAMTimelineGroup_FWD_DEFINED__
    114 typedef interface IAMTimelineGroup IAMTimelineGroup;
    115 #ifdef __cplusplus
    116 interface IAMTimelineGroup;
    117 #endif /* __cplusplus */
    118 #endif
    119 
    120 #ifndef __IAMTimelineObj_FWD_DEFINED__
    121 #define __IAMTimelineObj_FWD_DEFINED__
    122 typedef interface IAMTimelineObj IAMTimelineObj;
    123 #ifdef __cplusplus
    124 interface IAMTimelineObj;
    125 #endif /* __cplusplus */
    126 #endif
    127 
    128 #ifndef __IAMTimelineSrc_FWD_DEFINED__
    129 #define __IAMTimelineSrc_FWD_DEFINED__
    130 typedef interface IAMTimelineSrc IAMTimelineSrc;
    131 #ifdef __cplusplus
    132 interface IAMTimelineSrc;
    133 #endif /* __cplusplus */
    134 #endif
    135 
    136 /* Headers for imported files */
    137 
    138 #include <oaidl.h>
    139 #include <ocidl.h>
    140 #include <amstream.h>
    141 #include <msxml.h>
    142 
    143 #ifdef __cplusplus
    144 extern "C" {
    145 #endif
    146 
    147 /*****************************************************************************
    148  * ISampleGrabberCB interface
    149  */
    150 #ifndef __ISampleGrabberCB_INTERFACE_DEFINED__
    151 #define __ISampleGrabberCB_INTERFACE_DEFINED__
    152 
    153 DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85);
    154 #if defined(__cplusplus) && !defined(CINTERFACE)
    155 MIDL_INTERFACE("0579154a-2b53-4994-b0d0-e773148eff85")
    156 ISampleGrabberCB : public IUnknown
    157 {
    158     virtual HRESULT STDMETHODCALLTYPE SampleCB(
    159         double SampleTime,
    160         IMediaSample *pSample) = 0;
    161 
    162     virtual HRESULT STDMETHODCALLTYPE BufferCB(
    163         double SampleTime,
    164         BYTE *pBuffer,
    165         LONG BufferLen) = 0;
    166 
    167 };
    168 #ifdef __CRT_UUID_DECL
    169 __CRT_UUID_DECL(ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85)
    170 #endif
    171 #else
    172 typedef struct ISampleGrabberCBVtbl {
    173     BEGIN_INTERFACE
    174 
    175     /*** IUnknown methods ***/
    176     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    177         ISampleGrabberCB *This,
    178         REFIID riid,
    179         void **ppvObject);
    180 
    181     ULONG (STDMETHODCALLTYPE *AddRef)(
    182         ISampleGrabberCB *This);
    183 
    184     ULONG (STDMETHODCALLTYPE *Release)(
    185         ISampleGrabberCB *This);
    186 
    187     /*** ISampleGrabberCB methods ***/
    188     HRESULT (STDMETHODCALLTYPE *SampleCB)(
    189         ISampleGrabberCB *This,
    190         double SampleTime,
    191         IMediaSample *pSample);
    192 
    193     HRESULT (STDMETHODCALLTYPE *BufferCB)(
    194         ISampleGrabberCB *This,
    195         double SampleTime,
    196         BYTE *pBuffer,
    197         LONG BufferLen);
    198 
    199     END_INTERFACE
    200 } ISampleGrabberCBVtbl;
    201 
    202 interface ISampleGrabberCB {
    203     CONST_VTBL ISampleGrabberCBVtbl* lpVtbl;
    204 };
    205 
    206 #ifdef COBJMACROS
    207 #ifndef WIDL_C_INLINE_WRAPPERS
    208 /*** IUnknown methods ***/
    209 #define ISampleGrabberCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    210 #define ISampleGrabberCB_AddRef(This) (This)->lpVtbl->AddRef(This)
    211 #define ISampleGrabberCB_Release(This) (This)->lpVtbl->Release(This)
    212 /*** ISampleGrabberCB methods ***/
    213 #define ISampleGrabberCB_SampleCB(This,SampleTime,pSample) (This)->lpVtbl->SampleCB(This,SampleTime,pSample)
    214 #define ISampleGrabberCB_BufferCB(This,SampleTime,pBuffer,BufferLen) (This)->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen)
    215 #else
    216 /*** IUnknown methods ***/
    217 static inline HRESULT ISampleGrabberCB_QueryInterface(ISampleGrabberCB* This,REFIID riid,void **ppvObject) {
    218     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    219 }
    220 static inline ULONG ISampleGrabberCB_AddRef(ISampleGrabberCB* This) {
    221     return This->lpVtbl->AddRef(This);
    222 }
    223 static inline ULONG ISampleGrabberCB_Release(ISampleGrabberCB* This) {
    224     return This->lpVtbl->Release(This);
    225 }
    226 /*** ISampleGrabberCB methods ***/
    227 static inline HRESULT ISampleGrabberCB_SampleCB(ISampleGrabberCB* This,double SampleTime,IMediaSample *pSample) {
    228     return This->lpVtbl->SampleCB(This,SampleTime,pSample);
    229 }
    230 static inline HRESULT ISampleGrabberCB_BufferCB(ISampleGrabberCB* This,double SampleTime,BYTE *pBuffer,LONG BufferLen) {
    231     return This->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen);
    232 }
    233 #endif
    234 #endif
    235 
    236 #endif
    237 
    238 
    239 #endif  /* __ISampleGrabberCB_INTERFACE_DEFINED__ */
    240 
    241 /*****************************************************************************
    242  * ISampleGrabber interface
    243  */
    244 #ifndef __ISampleGrabber_INTERFACE_DEFINED__
    245 #define __ISampleGrabber_INTERFACE_DEFINED__
    246 
    247 DEFINE_GUID(IID_ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f);
    248 #if defined(__cplusplus) && !defined(CINTERFACE)
    249 MIDL_INTERFACE("6b652fff-11fe-4fce-92ad-0266b5d7c78f")
    250 ISampleGrabber : public IUnknown
    251 {
    252     virtual HRESULT STDMETHODCALLTYPE SetOneShot(
    253         WINBOOL OneShot) = 0;
    254 
    255     virtual HRESULT STDMETHODCALLTYPE SetMediaType(
    256         const AM_MEDIA_TYPE *pType) = 0;
    257 
    258     virtual HRESULT STDMETHODCALLTYPE GetConnectedMediaType(
    259         AM_MEDIA_TYPE *pType) = 0;
    260 
    261     virtual HRESULT STDMETHODCALLTYPE SetBufferSamples(
    262         WINBOOL BufferThem) = 0;
    263 
    264     virtual HRESULT STDMETHODCALLTYPE GetCurrentBuffer(
    265         LONG *pBufferSize,
    266         LONG *pBuffer) = 0;
    267 
    268     virtual HRESULT STDMETHODCALLTYPE GetCurrentSample(
    269         IMediaSample **ppSample) = 0;
    270 
    271     virtual HRESULT STDMETHODCALLTYPE SetCallback(
    272         ISampleGrabberCB *pCallback,
    273         LONG WhichMethodToCallback) = 0;
    274 
    275 };
    276 #ifdef __CRT_UUID_DECL
    277 __CRT_UUID_DECL(ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f)
    278 #endif
    279 #else
    280 typedef struct ISampleGrabberVtbl {
    281     BEGIN_INTERFACE
    282 
    283     /*** IUnknown methods ***/
    284     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    285         ISampleGrabber *This,
    286         REFIID riid,
    287         void **ppvObject);
    288 
    289     ULONG (STDMETHODCALLTYPE *AddRef)(
    290         ISampleGrabber *This);
    291 
    292     ULONG (STDMETHODCALLTYPE *Release)(
    293         ISampleGrabber *This);
    294 
    295     /*** ISampleGrabber methods ***/
    296     HRESULT (STDMETHODCALLTYPE *SetOneShot)(
    297         ISampleGrabber *This,
    298         WINBOOL OneShot);
    299 
    300     HRESULT (STDMETHODCALLTYPE *SetMediaType)(
    301         ISampleGrabber *This,
    302         const AM_MEDIA_TYPE *pType);
    303 
    304     HRESULT (STDMETHODCALLTYPE *GetConnectedMediaType)(
    305         ISampleGrabber *This,
    306         AM_MEDIA_TYPE *pType);
    307 
    308     HRESULT (STDMETHODCALLTYPE *SetBufferSamples)(
    309         ISampleGrabber *This,
    310         WINBOOL BufferThem);
    311 
    312     HRESULT (STDMETHODCALLTYPE *GetCurrentBuffer)(
    313         ISampleGrabber *This,
    314         LONG *pBufferSize,
    315         LONG *pBuffer);
    316 
    317     HRESULT (STDMETHODCALLTYPE *GetCurrentSample)(
    318         ISampleGrabber *This,
    319         IMediaSample **ppSample);
    320 
    321     HRESULT (STDMETHODCALLTYPE *SetCallback)(
    322         ISampleGrabber *This,
    323         ISampleGrabberCB *pCallback,
    324         LONG WhichMethodToCallback);
    325 
    326     END_INTERFACE
    327 } ISampleGrabberVtbl;
    328 
    329 interface ISampleGrabber {
    330     CONST_VTBL ISampleGrabberVtbl* lpVtbl;
    331 };
    332 
    333 #ifdef COBJMACROS
    334 #ifndef WIDL_C_INLINE_WRAPPERS
    335 /*** IUnknown methods ***/
    336 #define ISampleGrabber_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    337 #define ISampleGrabber_AddRef(This) (This)->lpVtbl->AddRef(This)
    338 #define ISampleGrabber_Release(This) (This)->lpVtbl->Release(This)
    339 /*** ISampleGrabber methods ***/
    340 #define ISampleGrabber_SetOneShot(This,OneShot) (This)->lpVtbl->SetOneShot(This,OneShot)
    341 #define ISampleGrabber_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType)
    342 #define ISampleGrabber_GetConnectedMediaType(This,pType) (This)->lpVtbl->GetConnectedMediaType(This,pType)
    343 #define ISampleGrabber_SetBufferSamples(This,BufferThem) (This)->lpVtbl->SetBufferSamples(This,BufferThem)
    344 #define ISampleGrabber_GetCurrentBuffer(This,pBufferSize,pBuffer) (This)->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer)
    345 #define ISampleGrabber_GetCurrentSample(This,ppSample) (This)->lpVtbl->GetCurrentSample(This,ppSample)
    346 #define ISampleGrabber_SetCallback(This,pCallback,WhichMethodToCallback) (This)->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback)
    347 #else
    348 /*** IUnknown methods ***/
    349 static inline HRESULT ISampleGrabber_QueryInterface(ISampleGrabber* This,REFIID riid,void **ppvObject) {
    350     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    351 }
    352 static inline ULONG ISampleGrabber_AddRef(ISampleGrabber* This) {
    353     return This->lpVtbl->AddRef(This);
    354 }
    355 static inline ULONG ISampleGrabber_Release(ISampleGrabber* This) {
    356     return This->lpVtbl->Release(This);
    357 }
    358 /*** ISampleGrabber methods ***/
    359 static inline HRESULT ISampleGrabber_SetOneShot(ISampleGrabber* This,WINBOOL OneShot) {
    360     return This->lpVtbl->SetOneShot(This,OneShot);
    361 }
    362 static inline HRESULT ISampleGrabber_SetMediaType(ISampleGrabber* This,const AM_MEDIA_TYPE *pType) {
    363     return This->lpVtbl->SetMediaType(This,pType);
    364 }
    365 static inline HRESULT ISampleGrabber_GetConnectedMediaType(ISampleGrabber* This,AM_MEDIA_TYPE *pType) {
    366     return This->lpVtbl->GetConnectedMediaType(This,pType);
    367 }
    368 static inline HRESULT ISampleGrabber_SetBufferSamples(ISampleGrabber* This,WINBOOL BufferThem) {
    369     return This->lpVtbl->SetBufferSamples(This,BufferThem);
    370 }
    371 static inline HRESULT ISampleGrabber_GetCurrentBuffer(ISampleGrabber* This,LONG *pBufferSize,LONG *pBuffer) {
    372     return This->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer);
    373 }
    374 static inline HRESULT ISampleGrabber_GetCurrentSample(ISampleGrabber* This,IMediaSample **ppSample) {
    375     return This->lpVtbl->GetCurrentSample(This,ppSample);
    376 }
    377 static inline HRESULT ISampleGrabber_SetCallback(ISampleGrabber* This,ISampleGrabberCB *pCallback,LONG WhichMethodToCallback) {
    378     return This->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback);
    379 }
    380 #endif
    381 #endif
    382 
    383 #endif
    384 
    385 
    386 #endif  /* __ISampleGrabber_INTERFACE_DEFINED__ */
    387 
    388 /*****************************************************************************
    389  * SampleGrabber coclass
    390  */
    391 
    392 DEFINE_GUID(CLSID_SampleGrabber, 0xc1f400a0, 0x3f08, 0x11d3, 0x9f,0x0b, 0x00,0x60,0x08,0x03,0x9e,0x37);
    393 
    394 #ifdef __cplusplus
    395 class DECLSPEC_UUID("c1f400a0-3f08-11d3-9f0b-006008039e37") SampleGrabber;
    396 #ifdef __CRT_UUID_DECL
    397 __CRT_UUID_DECL(SampleGrabber, 0xc1f400a0, 0x3f08, 0x11d3, 0x9f,0x0b, 0x00,0x60,0x08,0x03,0x9e,0x37)
    398 #endif
    399 #endif
    400 
    401 /*****************************************************************************
    402  * IMediaDet interface
    403  */
    404 #ifndef __IMediaDet_INTERFACE_DEFINED__
    405 #define __IMediaDet_INTERFACE_DEFINED__
    406 
    407 DEFINE_GUID(IID_IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
    408 #if defined(__cplusplus) && !defined(CINTERFACE)
    409 MIDL_INTERFACE("65bd0710-24d2-4ff7-9324-ed2e5d3abafa")
    410 IMediaDet : public IUnknown
    411 {
    412     virtual HRESULT STDMETHODCALLTYPE get_Filter(
    413         IUnknown **pVal) = 0;
    414 
    415     virtual HRESULT STDMETHODCALLTYPE put_Filter(
    416         IUnknown *newVal) = 0;
    417 
    418     virtual HRESULT STDMETHODCALLTYPE get_OutputStreams(
    419         LONG *pVal) = 0;
    420 
    421     virtual HRESULT STDMETHODCALLTYPE get_CurrentStream(
    422         LONG *pVal) = 0;
    423 
    424     virtual HRESULT STDMETHODCALLTYPE put_CurrentStream(
    425         LONG newVal) = 0;
    426 
    427     virtual HRESULT STDMETHODCALLTYPE get_StreamType(
    428         GUID *pVal) = 0;
    429 
    430     virtual HRESULT STDMETHODCALLTYPE get_StreamTypeB(
    431         BSTR *pVal) = 0;
    432 
    433     virtual HRESULT STDMETHODCALLTYPE get_StreamLength(
    434         double *pVal) = 0;
    435 
    436     virtual HRESULT STDMETHODCALLTYPE get_Filename(
    437         BSTR *pVal) = 0;
    438 
    439     virtual HRESULT STDMETHODCALLTYPE put_Filename(
    440         BSTR newVal) = 0;
    441 
    442     virtual HRESULT STDMETHODCALLTYPE GetBitmapBits(
    443         double StreamTime,
    444         LONG *pBufferSize,
    445         char *pBuffer,
    446         LONG Width,
    447         LONG Height) = 0;
    448 
    449     virtual HRESULT STDMETHODCALLTYPE WriteBitmapBits(
    450         double StreamTime,
    451         LONG Width,
    452         LONG Height,
    453         BSTR Filename) = 0;
    454 
    455     virtual HRESULT STDMETHODCALLTYPE get_StreamMediaType(
    456         AM_MEDIA_TYPE *pVal) = 0;
    457 
    458     virtual HRESULT STDMETHODCALLTYPE GetSampleGrabber(
    459         ISampleGrabber **ppVal) = 0;
    460 
    461     virtual HRESULT STDMETHODCALLTYPE get_FrameRate(
    462         double *pVal) = 0;
    463 
    464     virtual HRESULT STDMETHODCALLTYPE EnterBitmapGrabMode(
    465         double SeekTime) = 0;
    466 
    467 };
    468 #ifdef __CRT_UUID_DECL
    469 __CRT_UUID_DECL(IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa)
    470 #endif
    471 #else
    472 typedef struct IMediaDetVtbl {
    473     BEGIN_INTERFACE
    474 
    475     /*** IUnknown methods ***/
    476     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    477         IMediaDet *This,
    478         REFIID riid,
    479         void **ppvObject);
    480 
    481     ULONG (STDMETHODCALLTYPE *AddRef)(
    482         IMediaDet *This);
    483 
    484     ULONG (STDMETHODCALLTYPE *Release)(
    485         IMediaDet *This);
    486 
    487     /*** IMediaDet methods ***/
    488     HRESULT (STDMETHODCALLTYPE *get_Filter)(
    489         IMediaDet *This,
    490         IUnknown **pVal);
    491 
    492     HRESULT (STDMETHODCALLTYPE *put_Filter)(
    493         IMediaDet *This,
    494         IUnknown *newVal);
    495 
    496     HRESULT (STDMETHODCALLTYPE *get_OutputStreams)(
    497         IMediaDet *This,
    498         LONG *pVal);
    499 
    500     HRESULT (STDMETHODCALLTYPE *get_CurrentStream)(
    501         IMediaDet *This,
    502         LONG *pVal);
    503 
    504     HRESULT (STDMETHODCALLTYPE *put_CurrentStream)(
    505         IMediaDet *This,
    506         LONG newVal);
    507 
    508     HRESULT (STDMETHODCALLTYPE *get_StreamType)(
    509         IMediaDet *This,
    510         GUID *pVal);
    511 
    512     HRESULT (STDMETHODCALLTYPE *get_StreamTypeB)(
    513         IMediaDet *This,
    514         BSTR *pVal);
    515 
    516     HRESULT (STDMETHODCALLTYPE *get_StreamLength)(
    517         IMediaDet *This,
    518         double *pVal);
    519 
    520     HRESULT (STDMETHODCALLTYPE *get_Filename)(
    521         IMediaDet *This,
    522         BSTR *pVal);
    523 
    524     HRESULT (STDMETHODCALLTYPE *put_Filename)(
    525         IMediaDet *This,
    526         BSTR newVal);
    527 
    528     HRESULT (STDMETHODCALLTYPE *GetBitmapBits)(
    529         IMediaDet *This,
    530         double StreamTime,
    531         LONG *pBufferSize,
    532         char *pBuffer,
    533         LONG Width,
    534         LONG Height);
    535 
    536     HRESULT (STDMETHODCALLTYPE *WriteBitmapBits)(
    537         IMediaDet *This,
    538         double StreamTime,
    539         LONG Width,
    540         LONG Height,
    541         BSTR Filename);
    542 
    543     HRESULT (STDMETHODCALLTYPE *get_StreamMediaType)(
    544         IMediaDet *This,
    545         AM_MEDIA_TYPE *pVal);
    546 
    547     HRESULT (STDMETHODCALLTYPE *GetSampleGrabber)(
    548         IMediaDet *This,
    549         ISampleGrabber **ppVal);
    550 
    551     HRESULT (STDMETHODCALLTYPE *get_FrameRate)(
    552         IMediaDet *This,
    553         double *pVal);
    554 
    555     HRESULT (STDMETHODCALLTYPE *EnterBitmapGrabMode)(
    556         IMediaDet *This,
    557         double SeekTime);
    558 
    559     END_INTERFACE
    560 } IMediaDetVtbl;
    561 
    562 interface IMediaDet {
    563     CONST_VTBL IMediaDetVtbl* lpVtbl;
    564 };
    565 
    566 #ifdef COBJMACROS
    567 #ifndef WIDL_C_INLINE_WRAPPERS
    568 /*** IUnknown methods ***/
    569 #define IMediaDet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    570 #define IMediaDet_AddRef(This) (This)->lpVtbl->AddRef(This)
    571 #define IMediaDet_Release(This) (This)->lpVtbl->Release(This)
    572 /*** IMediaDet methods ***/
    573 #define IMediaDet_get_Filter(This,pVal) (This)->lpVtbl->get_Filter(This,pVal)
    574 #define IMediaDet_put_Filter(This,newVal) (This)->lpVtbl->put_Filter(This,newVal)
    575 #define IMediaDet_get_OutputStreams(This,pVal) (This)->lpVtbl->get_OutputStreams(This,pVal)
    576 #define IMediaDet_get_CurrentStream(This,pVal) (This)->lpVtbl->get_CurrentStream(This,pVal)
    577 #define IMediaDet_put_CurrentStream(This,newVal) (This)->lpVtbl->put_CurrentStream(This,newVal)
    578 #define IMediaDet_get_StreamType(This,pVal) (This)->lpVtbl->get_StreamType(This,pVal)
    579 #define IMediaDet_get_StreamTypeB(This,pVal) (This)->lpVtbl->get_StreamTypeB(This,pVal)
    580 #define IMediaDet_get_StreamLength(This,pVal) (This)->lpVtbl->get_StreamLength(This,pVal)
    581 #define IMediaDet_get_Filename(This,pVal) (This)->lpVtbl->get_Filename(This,pVal)
    582 #define IMediaDet_put_Filename(This,newVal) (This)->lpVtbl->put_Filename(This,newVal)
    583 #define IMediaDet_GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height) (This)->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height)
    584 #define IMediaDet_WriteBitmapBits(This,StreamTime,Width,Height,Filename) (This)->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename)
    585 #define IMediaDet_get_StreamMediaType(This,pVal) (This)->lpVtbl->get_StreamMediaType(This,pVal)
    586 #define IMediaDet_GetSampleGrabber(This,ppVal) (This)->lpVtbl->GetSampleGrabber(This,ppVal)
    587 #define IMediaDet_get_FrameRate(This,pVal) (This)->lpVtbl->get_FrameRate(This,pVal)
    588 #define IMediaDet_EnterBitmapGrabMode(This,SeekTime) (This)->lpVtbl->EnterBitmapGrabMode(This,SeekTime)
    589 #else
    590 /*** IUnknown methods ***/
    591 static inline HRESULT IMediaDet_QueryInterface(IMediaDet* This,REFIID riid,void **ppvObject) {
    592     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    593 }
    594 static inline ULONG IMediaDet_AddRef(IMediaDet* This) {
    595     return This->lpVtbl->AddRef(This);
    596 }
    597 static inline ULONG IMediaDet_Release(IMediaDet* This) {
    598     return This->lpVtbl->Release(This);
    599 }
    600 /*** IMediaDet methods ***/
    601 static inline HRESULT IMediaDet_get_Filter(IMediaDet* This,IUnknown **pVal) {
    602     return This->lpVtbl->get_Filter(This,pVal);
    603 }
    604 static inline HRESULT IMediaDet_put_Filter(IMediaDet* This,IUnknown *newVal) {
    605     return This->lpVtbl->put_Filter(This,newVal);
    606 }
    607 static inline HRESULT IMediaDet_get_OutputStreams(IMediaDet* This,LONG *pVal) {
    608     return This->lpVtbl->get_OutputStreams(This,pVal);
    609 }
    610 static inline HRESULT IMediaDet_get_CurrentStream(IMediaDet* This,LONG *pVal) {
    611     return This->lpVtbl->get_CurrentStream(This,pVal);
    612 }
    613 static inline HRESULT IMediaDet_put_CurrentStream(IMediaDet* This,LONG newVal) {
    614     return This->lpVtbl->put_CurrentStream(This,newVal);
    615 }
    616 static inline HRESULT IMediaDet_get_StreamType(IMediaDet* This,GUID *pVal) {
    617     return This->lpVtbl->get_StreamType(This,pVal);
    618 }
    619 static inline HRESULT IMediaDet_get_StreamTypeB(IMediaDet* This,BSTR *pVal) {
    620     return This->lpVtbl->get_StreamTypeB(This,pVal);
    621 }
    622 static inline HRESULT IMediaDet_get_StreamLength(IMediaDet* This,double *pVal) {
    623     return This->lpVtbl->get_StreamLength(This,pVal);
    624 }
    625 static inline HRESULT IMediaDet_get_Filename(IMediaDet* This,BSTR *pVal) {
    626     return This->lpVtbl->get_Filename(This,pVal);
    627 }
    628 static inline HRESULT IMediaDet_put_Filename(IMediaDet* This,BSTR newVal) {
    629     return This->lpVtbl->put_Filename(This,newVal);
    630 }
    631 static inline HRESULT IMediaDet_GetBitmapBits(IMediaDet* This,double StreamTime,LONG *pBufferSize,char *pBuffer,LONG Width,LONG Height) {
    632     return This->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height);
    633 }
    634 static inline HRESULT IMediaDet_WriteBitmapBits(IMediaDet* This,double StreamTime,LONG Width,LONG Height,BSTR Filename) {
    635     return This->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename);
    636 }
    637 static inline HRESULT IMediaDet_get_StreamMediaType(IMediaDet* This,AM_MEDIA_TYPE *pVal) {
    638     return This->lpVtbl->get_StreamMediaType(This,pVal);
    639 }
    640 static inline HRESULT IMediaDet_GetSampleGrabber(IMediaDet* This,ISampleGrabber **ppVal) {
    641     return This->lpVtbl->GetSampleGrabber(This,ppVal);
    642 }
    643 static inline HRESULT IMediaDet_get_FrameRate(IMediaDet* This,double *pVal) {
    644     return This->lpVtbl->get_FrameRate(This,pVal);
    645 }
    646 static inline HRESULT IMediaDet_EnterBitmapGrabMode(IMediaDet* This,double SeekTime) {
    647     return This->lpVtbl->EnterBitmapGrabMode(This,SeekTime);
    648 }
    649 #endif
    650 #endif
    651 
    652 #endif
    653 
    654 
    655 #endif  /* __IMediaDet_INTERFACE_DEFINED__ */
    656 
    657 /*****************************************************************************
    658  * MediaDet coclass
    659  */
    660 
    661 DEFINE_GUID(CLSID_MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
    662 
    663 #ifdef __cplusplus
    664 class DECLSPEC_UUID("65bd0711-24d2-4ff7-9324-ed2e5d3abafa") MediaDet;
    665 #ifdef __CRT_UUID_DECL
    666 __CRT_UUID_DECL(MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa)
    667 #endif
    668 #endif
    669 
    670 /*****************************************************************************
    671  * IMediaLocator interface
    672  */
    673 #ifndef __IMediaLocator_INTERFACE_DEFINED__
    674 #define __IMediaLocator_INTERFACE_DEFINED__
    675 
    676 DEFINE_GUID(IID_IMediaLocator, 0x288581e0, 0x66ce, 0x11d2, 0x91,0x8f, 0x00,0xc0,0xdf,0x10,0xd4,0x34);
    677 #if defined(__cplusplus) && !defined(CINTERFACE)
    678 MIDL_INTERFACE("288581e0-66ce-11d2-918f-00c0df10d434")
    679 IMediaLocator : public IUnknown
    680 {
    681     virtual HRESULT STDMETHODCALLTYPE FindMediaFile(
    682         BSTR input,
    683         BSTR filter,
    684         BSTR *output,
    685         LONG flags) = 0;
    686 
    687     virtual HRESULT STDMETHODCALLTYPE AddFoundLocation(
    688         BSTR dir) = 0;
    689 
    690 };
    691 #ifdef __CRT_UUID_DECL
    692 __CRT_UUID_DECL(IMediaLocator, 0x288581e0, 0x66ce, 0x11d2, 0x91,0x8f, 0x00,0xc0,0xdf,0x10,0xd4,0x34)
    693 #endif
    694 #else
    695 typedef struct IMediaLocatorVtbl {
    696     BEGIN_INTERFACE
    697 
    698     /*** IUnknown methods ***/
    699     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    700         IMediaLocator *This,
    701         REFIID riid,
    702         void **ppvObject);
    703 
    704     ULONG (STDMETHODCALLTYPE *AddRef)(
    705         IMediaLocator *This);
    706 
    707     ULONG (STDMETHODCALLTYPE *Release)(
    708         IMediaLocator *This);
    709 
    710     /*** IMediaLocator methods ***/
    711     HRESULT (STDMETHODCALLTYPE *FindMediaFile)(
    712         IMediaLocator *This,
    713         BSTR input,
    714         BSTR filter,
    715         BSTR *output,
    716         LONG flags);
    717 
    718     HRESULT (STDMETHODCALLTYPE *AddFoundLocation)(
    719         IMediaLocator *This,
    720         BSTR dir);
    721 
    722     END_INTERFACE
    723 } IMediaLocatorVtbl;
    724 
    725 interface IMediaLocator {
    726     CONST_VTBL IMediaLocatorVtbl* lpVtbl;
    727 };
    728 
    729 #ifdef COBJMACROS
    730 #ifndef WIDL_C_INLINE_WRAPPERS
    731 /*** IUnknown methods ***/
    732 #define IMediaLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    733 #define IMediaLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
    734 #define IMediaLocator_Release(This) (This)->lpVtbl->Release(This)
    735 /*** IMediaLocator methods ***/
    736 #define IMediaLocator_FindMediaFile(This,input,filter,output,flags) (This)->lpVtbl->FindMediaFile(This,input,filter,output,flags)
    737 #define IMediaLocator_AddFoundLocation(This,dir) (This)->lpVtbl->AddFoundLocation(This,dir)
    738 #else
    739 /*** IUnknown methods ***/
    740 static inline HRESULT IMediaLocator_QueryInterface(IMediaLocator* This,REFIID riid,void **ppvObject) {
    741     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    742 }
    743 static inline ULONG IMediaLocator_AddRef(IMediaLocator* This) {
    744     return This->lpVtbl->AddRef(This);
    745 }
    746 static inline ULONG IMediaLocator_Release(IMediaLocator* This) {
    747     return This->lpVtbl->Release(This);
    748 }
    749 /*** IMediaLocator methods ***/
    750 static inline HRESULT IMediaLocator_FindMediaFile(IMediaLocator* This,BSTR input,BSTR filter,BSTR *output,LONG flags) {
    751     return This->lpVtbl->FindMediaFile(This,input,filter,output,flags);
    752 }
    753 static inline HRESULT IMediaLocator_AddFoundLocation(IMediaLocator* This,BSTR dir) {
    754     return This->lpVtbl->AddFoundLocation(This,dir);
    755 }
    756 #endif
    757 #endif
    758 
    759 #endif
    760 
    761 
    762 #endif  /* __IMediaLocator_INTERFACE_DEFINED__ */
    763 
    764 typedef struct __WIDL_qedit_generated_name_0000002B {
    765     BSTR name;
    766     DISPID dispID;
    767     LONG nValues;
    768 } DEXTER_PARAM;
    769 typedef struct __WIDL_qedit_generated_name_0000002C {
    770     VARIANT v;
    771     REFERENCE_TIME rt;
    772     DWORD dwInterp;
    773 } DEXTER_VALUE;
    774 /*****************************************************************************
    775  * IPropertySetter interface
    776  */
    777 #ifndef __IPropertySetter_INTERFACE_DEFINED__
    778 #define __IPropertySetter_INTERFACE_DEFINED__
    779 
    780 DEFINE_GUID(IID_IPropertySetter, 0xae9472bd, 0xb0c3, 0x11d2, 0x8d,0x24, 0x00,0xa0,0xc9,0x44,0x1e,0x20);
    781 #if defined(__cplusplus) && !defined(CINTERFACE)
    782 MIDL_INTERFACE("ae9472bd-b0c3-11d2-8d24-00a0c9441e20")
    783 IPropertySetter : public IUnknown
    784 {
    785     virtual HRESULT STDMETHODCALLTYPE LoadXML(
    786         IUnknown *pxml) = 0;
    787 
    788     virtual HRESULT STDMETHODCALLTYPE PrintXML(
    789         char *xml,
    790         int size,
    791         int *printed,
    792         int indent) = 0;
    793 
    794     virtual HRESULT STDMETHODCALLTYPE CloneProps(
    795         IPropertySetter **setter,
    796         REFERENCE_TIME start,
    797         REFERENCE_TIME stop) = 0;
    798 
    799     virtual HRESULT STDMETHODCALLTYPE AddProp(
    800         DEXTER_PARAM param,
    801         DEXTER_VALUE *value) = 0;
    802 
    803     virtual HRESULT STDMETHODCALLTYPE GetProps(
    804         LONG *params,
    805         DEXTER_PARAM **param,
    806         DEXTER_VALUE **value) = 0;
    807 
    808     virtual HRESULT STDMETHODCALLTYPE FreeProps(
    809         LONG params,
    810         DEXTER_PARAM *param,
    811         DEXTER_VALUE *value) = 0;
    812 
    813     virtual HRESULT STDMETHODCALLTYPE ClearProps(
    814         ) = 0;
    815 
    816     virtual HRESULT STDMETHODCALLTYPE SaveToBlob(
    817         LONG *size,
    818         BYTE **blob) = 0;
    819 
    820     virtual HRESULT STDMETHODCALLTYPE LoadFromBlob(
    821         LONG size,
    822         BYTE *blob) = 0;
    823 
    824     virtual HRESULT STDMETHODCALLTYPE SetProps(
    825         IUnknown *target,
    826         REFERENCE_TIME now) = 0;
    827 
    828 };
    829 #ifdef __CRT_UUID_DECL
    830 __CRT_UUID_DECL(IPropertySetter, 0xae9472bd, 0xb0c3, 0x11d2, 0x8d,0x24, 0x00,0xa0,0xc9,0x44,0x1e,0x20)
    831 #endif
    832 #else
    833 typedef struct IPropertySetterVtbl {
    834     BEGIN_INTERFACE
    835 
    836     /*** IUnknown methods ***/
    837     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    838         IPropertySetter *This,
    839         REFIID riid,
    840         void **ppvObject);
    841 
    842     ULONG (STDMETHODCALLTYPE *AddRef)(
    843         IPropertySetter *This);
    844 
    845     ULONG (STDMETHODCALLTYPE *Release)(
    846         IPropertySetter *This);
    847 
    848     /*** IPropertySetter methods ***/
    849     HRESULT (STDMETHODCALLTYPE *LoadXML)(
    850         IPropertySetter *This,
    851         IUnknown *pxml);
    852 
    853     HRESULT (STDMETHODCALLTYPE *PrintXML)(
    854         IPropertySetter *This,
    855         char *xml,
    856         int size,
    857         int *printed,
    858         int indent);
    859 
    860     HRESULT (STDMETHODCALLTYPE *CloneProps)(
    861         IPropertySetter *This,
    862         IPropertySetter **setter,
    863         REFERENCE_TIME start,
    864         REFERENCE_TIME stop);
    865 
    866     HRESULT (STDMETHODCALLTYPE *AddProp)(
    867         IPropertySetter *This,
    868         DEXTER_PARAM param,
    869         DEXTER_VALUE *value);
    870 
    871     HRESULT (STDMETHODCALLTYPE *GetProps)(
    872         IPropertySetter *This,
    873         LONG *params,
    874         DEXTER_PARAM **param,
    875         DEXTER_VALUE **value);
    876 
    877     HRESULT (STDMETHODCALLTYPE *FreeProps)(
    878         IPropertySetter *This,
    879         LONG params,
    880         DEXTER_PARAM *param,
    881         DEXTER_VALUE *value);
    882 
    883     HRESULT (STDMETHODCALLTYPE *ClearProps)(
    884         IPropertySetter *This);
    885 
    886     HRESULT (STDMETHODCALLTYPE *SaveToBlob)(
    887         IPropertySetter *This,
    888         LONG *size,
    889         BYTE **blob);
    890 
    891     HRESULT (STDMETHODCALLTYPE *LoadFromBlob)(
    892         IPropertySetter *This,
    893         LONG size,
    894         BYTE *blob);
    895 
    896     HRESULT (STDMETHODCALLTYPE *SetProps)(
    897         IPropertySetter *This,
    898         IUnknown *target,
    899         REFERENCE_TIME now);
    900 
    901     END_INTERFACE
    902 } IPropertySetterVtbl;
    903 
    904 interface IPropertySetter {
    905     CONST_VTBL IPropertySetterVtbl* lpVtbl;
    906 };
    907 
    908 #ifdef COBJMACROS
    909 #ifndef WIDL_C_INLINE_WRAPPERS
    910 /*** IUnknown methods ***/
    911 #define IPropertySetter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    912 #define IPropertySetter_AddRef(This) (This)->lpVtbl->AddRef(This)
    913 #define IPropertySetter_Release(This) (This)->lpVtbl->Release(This)
    914 /*** IPropertySetter methods ***/
    915 #define IPropertySetter_LoadXML(This,pxml) (This)->lpVtbl->LoadXML(This,pxml)
    916 #define IPropertySetter_PrintXML(This,xml,size,printed,indent) (This)->lpVtbl->PrintXML(This,xml,size,printed,indent)
    917 #define IPropertySetter_CloneProps(This,setter,start,stop) (This)->lpVtbl->CloneProps(This,setter,start,stop)
    918 #define IPropertySetter_AddProp(This,param,value) (This)->lpVtbl->AddProp(This,param,value)
    919 #define IPropertySetter_GetProps(This,params,param,value) (This)->lpVtbl->GetProps(This,params,param,value)
    920 #define IPropertySetter_FreeProps(This,params,param,value) (This)->lpVtbl->FreeProps(This,params,param,value)
    921 #define IPropertySetter_ClearProps(This) (This)->lpVtbl->ClearProps(This)
    922 #define IPropertySetter_SaveToBlob(This,size,blob) (This)->lpVtbl->SaveToBlob(This,size,blob)
    923 #define IPropertySetter_LoadFromBlob(This,size,blob) (This)->lpVtbl->LoadFromBlob(This,size,blob)
    924 #define IPropertySetter_SetProps(This,target,now) (This)->lpVtbl->SetProps(This,target,now)
    925 #else
    926 /*** IUnknown methods ***/
    927 static inline HRESULT IPropertySetter_QueryInterface(IPropertySetter* This,REFIID riid,void **ppvObject) {
    928     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    929 }
    930 static inline ULONG IPropertySetter_AddRef(IPropertySetter* This) {
    931     return This->lpVtbl->AddRef(This);
    932 }
    933 static inline ULONG IPropertySetter_Release(IPropertySetter* This) {
    934     return This->lpVtbl->Release(This);
    935 }
    936 /*** IPropertySetter methods ***/
    937 static inline HRESULT IPropertySetter_LoadXML(IPropertySetter* This,IUnknown *pxml) {
    938     return This->lpVtbl->LoadXML(This,pxml);
    939 }
    940 static inline HRESULT IPropertySetter_PrintXML(IPropertySetter* This,char *xml,int size,int *printed,int indent) {
    941     return This->lpVtbl->PrintXML(This,xml,size,printed,indent);
    942 }
    943 static inline HRESULT IPropertySetter_CloneProps(IPropertySetter* This,IPropertySetter **setter,REFERENCE_TIME start,REFERENCE_TIME stop) {
    944     return This->lpVtbl->CloneProps(This,setter,start,stop);
    945 }
    946 static inline HRESULT IPropertySetter_AddProp(IPropertySetter* This,DEXTER_PARAM param,DEXTER_VALUE *value) {
    947     return This->lpVtbl->AddProp(This,param,value);
    948 }
    949 static inline HRESULT IPropertySetter_GetProps(IPropertySetter* This,LONG *params,DEXTER_PARAM **param,DEXTER_VALUE **value) {
    950     return This->lpVtbl->GetProps(This,params,param,value);
    951 }
    952 static inline HRESULT IPropertySetter_FreeProps(IPropertySetter* This,LONG params,DEXTER_PARAM *param,DEXTER_VALUE *value) {
    953     return This->lpVtbl->FreeProps(This,params,param,value);
    954 }
    955 static inline HRESULT IPropertySetter_ClearProps(IPropertySetter* This) {
    956     return This->lpVtbl->ClearProps(This);
    957 }
    958 static inline HRESULT IPropertySetter_SaveToBlob(IPropertySetter* This,LONG *size,BYTE **blob) {
    959     return This->lpVtbl->SaveToBlob(This,size,blob);
    960 }
    961 static inline HRESULT IPropertySetter_LoadFromBlob(IPropertySetter* This,LONG size,BYTE *blob) {
    962     return This->lpVtbl->LoadFromBlob(This,size,blob);
    963 }
    964 static inline HRESULT IPropertySetter_SetProps(IPropertySetter* This,IUnknown *target,REFERENCE_TIME now) {
    965     return This->lpVtbl->SetProps(This,target,now);
    966 }
    967 #endif
    968 #endif
    969 
    970 #endif
    971 
    972 
    973 #endif  /* __IPropertySetter_INTERFACE_DEFINED__ */
    974 
    975 /*****************************************************************************
    976  * IAMErrorLog interface
    977  */
    978 #ifndef __IAMErrorLog_INTERFACE_DEFINED__
    979 #define __IAMErrorLog_INTERFACE_DEFINED__
    980 
    981 DEFINE_GUID(IID_IAMErrorLog, 0xe43e73a2, 0x0efa, 0x11d3, 0x96,0x01, 0x00,0xa0,0xc9,0x44,0x1e,0x20);
    982 #if defined(__cplusplus) && !defined(CINTERFACE)
    983 MIDL_INTERFACE("e43e73a2-0efa-11d3-9601-00a0c9441e20")
    984 IAMErrorLog : public IUnknown
    985 {
    986     virtual HRESULT STDMETHODCALLTYPE LogError(
    987         LONG severity,
    988         BSTR error_str,
    989         LONG error_code,
    990         LONG hresult,
    991         VARIANT *extra) = 0;
    992 
    993 };
    994 #ifdef __CRT_UUID_DECL
    995 __CRT_UUID_DECL(IAMErrorLog, 0xe43e73a2, 0x0efa, 0x11d3, 0x96,0x01, 0x00,0xa0,0xc9,0x44,0x1e,0x20)
    996 #endif
    997 #else
    998 typedef struct IAMErrorLogVtbl {
    999     BEGIN_INTERFACE
   1000 
   1001     /*** IUnknown methods ***/
   1002     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1003         IAMErrorLog *This,
   1004         REFIID riid,
   1005         void **ppvObject);
   1006 
   1007     ULONG (STDMETHODCALLTYPE *AddRef)(
   1008         IAMErrorLog *This);
   1009 
   1010     ULONG (STDMETHODCALLTYPE *Release)(
   1011         IAMErrorLog *This);
   1012 
   1013     /*** IAMErrorLog methods ***/
   1014     HRESULT (STDMETHODCALLTYPE *LogError)(
   1015         IAMErrorLog *This,
   1016         LONG severity,
   1017         BSTR error_str,
   1018         LONG error_code,
   1019         LONG hresult,
   1020         VARIANT *extra);
   1021 
   1022     END_INTERFACE
   1023 } IAMErrorLogVtbl;
   1024 
   1025 interface IAMErrorLog {
   1026     CONST_VTBL IAMErrorLogVtbl* lpVtbl;
   1027 };
   1028 
   1029 #ifdef COBJMACROS
   1030 #ifndef WIDL_C_INLINE_WRAPPERS
   1031 /*** IUnknown methods ***/
   1032 #define IAMErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1033 #define IAMErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This)
   1034 #define IAMErrorLog_Release(This) (This)->lpVtbl->Release(This)
   1035 /*** IAMErrorLog methods ***/
   1036 #define IAMErrorLog_LogError(This,severity,error_str,error_code,hresult,extra) (This)->lpVtbl->LogError(This,severity,error_str,error_code,hresult,extra)
   1037 #else
   1038 /*** IUnknown methods ***/
   1039 static inline HRESULT IAMErrorLog_QueryInterface(IAMErrorLog* This,REFIID riid,void **ppvObject) {
   1040     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1041 }
   1042 static inline ULONG IAMErrorLog_AddRef(IAMErrorLog* This) {
   1043     return This->lpVtbl->AddRef(This);
   1044 }
   1045 static inline ULONG IAMErrorLog_Release(IAMErrorLog* This) {
   1046     return This->lpVtbl->Release(This);
   1047 }
   1048 /*** IAMErrorLog methods ***/
   1049 static inline HRESULT IAMErrorLog_LogError(IAMErrorLog* This,LONG severity,BSTR error_str,LONG error_code,LONG hresult,VARIANT *extra) {
   1050     return This->lpVtbl->LogError(This,severity,error_str,error_code,hresult,extra);
   1051 }
   1052 #endif
   1053 #endif
   1054 
   1055 #endif
   1056 
   1057 
   1058 #endif  /* __IAMErrorLog_INTERFACE_DEFINED__ */
   1059 
   1060 /*****************************************************************************
   1061  * IAMSetErrorLog interface
   1062  */
   1063 #ifndef __IAMSetErrorLog_INTERFACE_DEFINED__
   1064 #define __IAMSetErrorLog_INTERFACE_DEFINED__
   1065 
   1066 DEFINE_GUID(IID_IAMSetErrorLog, 0x963566da, 0xbe21, 0x4eaf, 0x88,0xe9, 0x35,0x70,0x4f,0x8f,0x52,0xa1);
   1067 #if defined(__cplusplus) && !defined(CINTERFACE)
   1068 MIDL_INTERFACE("963566da-be21-4eaf-88e9-35704f8f52a1")
   1069 IAMSetErrorLog : public IUnknown
   1070 {
   1071     virtual HRESULT STDMETHODCALLTYPE get_ErrorLog(
   1072         IAMErrorLog **log) = 0;
   1073 
   1074     virtual HRESULT STDMETHODCALLTYPE put_ErrorLog(
   1075         IAMErrorLog *log) = 0;
   1076 
   1077 };
   1078 #ifdef __CRT_UUID_DECL
   1079 __CRT_UUID_DECL(IAMSetErrorLog, 0x963566da, 0xbe21, 0x4eaf, 0x88,0xe9, 0x35,0x70,0x4f,0x8f,0x52,0xa1)
   1080 #endif
   1081 #else
   1082 typedef struct IAMSetErrorLogVtbl {
   1083     BEGIN_INTERFACE
   1084 
   1085     /*** IUnknown methods ***/
   1086     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1087         IAMSetErrorLog *This,
   1088         REFIID riid,
   1089         void **ppvObject);
   1090 
   1091     ULONG (STDMETHODCALLTYPE *AddRef)(
   1092         IAMSetErrorLog *This);
   1093 
   1094     ULONG (STDMETHODCALLTYPE *Release)(
   1095         IAMSetErrorLog *This);
   1096 
   1097     /*** IAMSetErrorLog methods ***/
   1098     HRESULT (STDMETHODCALLTYPE *get_ErrorLog)(
   1099         IAMSetErrorLog *This,
   1100         IAMErrorLog **log);
   1101 
   1102     HRESULT (STDMETHODCALLTYPE *put_ErrorLog)(
   1103         IAMSetErrorLog *This,
   1104         IAMErrorLog *log);
   1105 
   1106     END_INTERFACE
   1107 } IAMSetErrorLogVtbl;
   1108 
   1109 interface IAMSetErrorLog {
   1110     CONST_VTBL IAMSetErrorLogVtbl* lpVtbl;
   1111 };
   1112 
   1113 #ifdef COBJMACROS
   1114 #ifndef WIDL_C_INLINE_WRAPPERS
   1115 /*** IUnknown methods ***/
   1116 #define IAMSetErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1117 #define IAMSetErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This)
   1118 #define IAMSetErrorLog_Release(This) (This)->lpVtbl->Release(This)
   1119 /*** IAMSetErrorLog methods ***/
   1120 #define IAMSetErrorLog_get_ErrorLog(This,log) (This)->lpVtbl->get_ErrorLog(This,log)
   1121 #define IAMSetErrorLog_put_ErrorLog(This,log) (This)->lpVtbl->put_ErrorLog(This,log)
   1122 #else
   1123 /*** IUnknown methods ***/
   1124 static inline HRESULT IAMSetErrorLog_QueryInterface(IAMSetErrorLog* This,REFIID riid,void **ppvObject) {
   1125     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1126 }
   1127 static inline ULONG IAMSetErrorLog_AddRef(IAMSetErrorLog* This) {
   1128     return This->lpVtbl->AddRef(This);
   1129 }
   1130 static inline ULONG IAMSetErrorLog_Release(IAMSetErrorLog* This) {
   1131     return This->lpVtbl->Release(This);
   1132 }
   1133 /*** IAMSetErrorLog methods ***/
   1134 static inline HRESULT IAMSetErrorLog_get_ErrorLog(IAMSetErrorLog* This,IAMErrorLog **log) {
   1135     return This->lpVtbl->get_ErrorLog(This,log);
   1136 }
   1137 static inline HRESULT IAMSetErrorLog_put_ErrorLog(IAMSetErrorLog* This,IAMErrorLog *log) {
   1138     return This->lpVtbl->put_ErrorLog(This,log);
   1139 }
   1140 #endif
   1141 #endif
   1142 
   1143 #endif
   1144 
   1145 
   1146 #endif  /* __IAMSetErrorLog_INTERFACE_DEFINED__ */
   1147 
   1148 #ifndef __IAMTimeline_FWD_DEFINED__
   1149 #define __IAMTimeline_FWD_DEFINED__
   1150 typedef interface IAMTimeline IAMTimeline;
   1151 #ifdef __cplusplus
   1152 interface IAMTimeline;
   1153 #endif /* __cplusplus */
   1154 #endif
   1155 
   1156 #ifndef __IAMTimelineGroup_FWD_DEFINED__
   1157 #define __IAMTimelineGroup_FWD_DEFINED__
   1158 typedef interface IAMTimelineGroup IAMTimelineGroup;
   1159 #ifdef __cplusplus
   1160 interface IAMTimelineGroup;
   1161 #endif /* __cplusplus */
   1162 #endif
   1163 
   1164 #ifndef __IAMTimelineObj_FWD_DEFINED__
   1165 #define __IAMTimelineObj_FWD_DEFINED__
   1166 typedef interface IAMTimelineObj IAMTimelineObj;
   1167 #ifdef __cplusplus
   1168 interface IAMTimelineObj;
   1169 #endif /* __cplusplus */
   1170 #endif
   1171 
   1172 #ifndef __IAMTimelineSrc_FWD_DEFINED__
   1173 #define __IAMTimelineSrc_FWD_DEFINED__
   1174 typedef interface IAMTimelineSrc IAMTimelineSrc;
   1175 #ifdef __cplusplus
   1176 interface IAMTimelineSrc;
   1177 #endif /* __cplusplus */
   1178 #endif
   1179 
   1180 typedef enum __WIDL_qedit_generated_name_0000002D {
   1181     TIMELINE_MAJOR_TYPE_COMPOSITE = 1,
   1182     TIMELINE_MAJOR_TYPE_TRACK = 2,
   1183     TIMELINE_MAJOR_TYPE_SOURCE = 4,
   1184     TIMELINE_MAJOR_TYPE_TRANSITION = 8,
   1185     TIMELINE_MAJOR_TYPE_EFFECT = 16,
   1186     TIMELINE_MAJOR_TYPE_GROUP = 128
   1187 } TIMELINE_MAJOR_TYPE;
   1188 /*****************************************************************************
   1189  * IAMTimeline interface
   1190  */
   1191 #ifndef __IAMTimeline_INTERFACE_DEFINED__
   1192 #define __IAMTimeline_INTERFACE_DEFINED__
   1193 
   1194 DEFINE_GUID(IID_IAMTimeline, 0x78530b74, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
   1195 #if defined(__cplusplus) && !defined(CINTERFACE)
   1196 MIDL_INTERFACE("78530b74-61f9-11d2-8cad-00a024580902")
   1197 IAMTimeline : public IUnknown
   1198 {
   1199     virtual HRESULT STDMETHODCALLTYPE CreateEmptyNode(
   1200         IAMTimelineObj **obj,
   1201         TIMELINE_MAJOR_TYPE type) = 0;
   1202 
   1203     virtual HRESULT STDMETHODCALLTYPE AddGroup(
   1204         IAMTimelineObj *group) = 0;
   1205 
   1206     virtual HRESULT STDMETHODCALLTYPE RemGroupFromList(
   1207         IAMTimelineObj *group) = 0;
   1208 
   1209     virtual HRESULT STDMETHODCALLTYPE GetGroup(
   1210         IAMTimelineObj **group,
   1211         LONG index) = 0;
   1212 
   1213     virtual HRESULT STDMETHODCALLTYPE GetGroupCount(
   1214         LONG *count) = 0;
   1215 
   1216     virtual HRESULT STDMETHODCALLTYPE ClearAllGroups(
   1217         ) = 0;
   1218 
   1219     virtual HRESULT STDMETHODCALLTYPE GetInsertMode(
   1220         LONG *mode) = 0;
   1221 
   1222     virtual HRESULT STDMETHODCALLTYPE SetInsertMode(
   1223         LONG mode) = 0;
   1224 
   1225     virtual HRESULT STDMETHODCALLTYPE EnableTransitions(
   1226         WINBOOL enabled) = 0;
   1227 
   1228     virtual HRESULT STDMETHODCALLTYPE TransitionsEnabled(
   1229         WINBOOL *enabled) = 0;
   1230 
   1231     virtual HRESULT STDMETHODCALLTYPE EnableEffects(
   1232         WINBOOL enabled) = 0;
   1233 
   1234     virtual HRESULT STDMETHODCALLTYPE EffectsEnabled(
   1235         WINBOOL *enabled) = 0;
   1236 
   1237     virtual HRESULT STDMETHODCALLTYPE SetInterestRange(
   1238         REFERENCE_TIME start,
   1239         REFERENCE_TIME stop) = 0;
   1240 
   1241     virtual HRESULT STDMETHODCALLTYPE GetDuration(
   1242         REFERENCE_TIME *duration) = 0;
   1243 
   1244     virtual HRESULT STDMETHODCALLTYPE GetDuration2(
   1245         double *duration) = 0;
   1246 
   1247     virtual HRESULT STDMETHODCALLTYPE SetDefaultFPS(
   1248         double fps) = 0;
   1249 
   1250     virtual HRESULT STDMETHODCALLTYPE GetDefaultFPS(
   1251         double *fps) = 0;
   1252 
   1253     virtual HRESULT STDMETHODCALLTYPE IsDirty(
   1254         WINBOOL *dirty) = 0;
   1255 
   1256     virtual HRESULT STDMETHODCALLTYPE GetDirtyRange(
   1257         REFERENCE_TIME *start,
   1258         REFERENCE_TIME *stop) = 0;
   1259 
   1260     virtual HRESULT STDMETHODCALLTYPE GetCountOfType(
   1261         LONG group,
   1262         LONG *value,
   1263         LONG *value_with_comps,
   1264         TIMELINE_MAJOR_TYPE type) = 0;
   1265 
   1266     virtual HRESULT STDMETHODCALLTYPE ValidateSourceNames(
   1267         LONG flags,
   1268         IMediaLocator *override,
   1269         LONG_PTR notify_event) = 0;
   1270 
   1271     virtual HRESULT STDMETHODCALLTYPE SetDefaultTransition(
   1272         GUID *guid) = 0;
   1273 
   1274     virtual HRESULT STDMETHODCALLTYPE GetDefaultTransition(
   1275         GUID *guid) = 0;
   1276 
   1277     virtual HRESULT STDMETHODCALLTYPE SetDefaultEffect(
   1278         GUID *guid) = 0;
   1279 
   1280     virtual HRESULT STDMETHODCALLTYPE GetDefaultEffect(
   1281         GUID *guid) = 0;
   1282 
   1283     virtual HRESULT STDMETHODCALLTYPE SetDefaultTransitionB(
   1284         BSTR guidb) = 0;
   1285 
   1286     virtual HRESULT STDMETHODCALLTYPE GetDefaultTransitionB(
   1287         BSTR *guidb) = 0;
   1288 
   1289     virtual HRESULT STDMETHODCALLTYPE SetDefaultEffectB(
   1290         BSTR guidb) = 0;
   1291 
   1292     virtual HRESULT STDMETHODCALLTYPE GetDefaultEffectB(
   1293         BSTR *guidb) = 0;
   1294 
   1295 };
   1296 #ifdef __CRT_UUID_DECL
   1297 __CRT_UUID_DECL(IAMTimeline, 0x78530b74, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
   1298 #endif
   1299 #else
   1300 typedef struct IAMTimelineVtbl {
   1301     BEGIN_INTERFACE
   1302 
   1303     /*** IUnknown methods ***/
   1304     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1305         IAMTimeline *This,
   1306         REFIID riid,
   1307         void **ppvObject);
   1308 
   1309     ULONG (STDMETHODCALLTYPE *AddRef)(
   1310         IAMTimeline *This);
   1311 
   1312     ULONG (STDMETHODCALLTYPE *Release)(
   1313         IAMTimeline *This);
   1314 
   1315     /*** IAMTimeline methods ***/
   1316     HRESULT (STDMETHODCALLTYPE *CreateEmptyNode)(
   1317         IAMTimeline *This,
   1318         IAMTimelineObj **obj,
   1319         TIMELINE_MAJOR_TYPE type);
   1320 
   1321     HRESULT (STDMETHODCALLTYPE *AddGroup)(
   1322         IAMTimeline *This,
   1323         IAMTimelineObj *group);
   1324 
   1325     HRESULT (STDMETHODCALLTYPE *RemGroupFromList)(
   1326         IAMTimeline *This,
   1327         IAMTimelineObj *group);
   1328 
   1329     HRESULT (STDMETHODCALLTYPE *GetGroup)(
   1330         IAMTimeline *This,
   1331         IAMTimelineObj **group,
   1332         LONG index);
   1333 
   1334     HRESULT (STDMETHODCALLTYPE *GetGroupCount)(
   1335         IAMTimeline *This,
   1336         LONG *count);
   1337 
   1338     HRESULT (STDMETHODCALLTYPE *ClearAllGroups)(
   1339         IAMTimeline *This);
   1340 
   1341     HRESULT (STDMETHODCALLTYPE *GetInsertMode)(
   1342         IAMTimeline *This,
   1343         LONG *mode);
   1344 
   1345     HRESULT (STDMETHODCALLTYPE *SetInsertMode)(
   1346         IAMTimeline *This,
   1347         LONG mode);
   1348 
   1349     HRESULT (STDMETHODCALLTYPE *EnableTransitions)(
   1350         IAMTimeline *This,
   1351         WINBOOL enabled);
   1352 
   1353     HRESULT (STDMETHODCALLTYPE *TransitionsEnabled)(
   1354         IAMTimeline *This,
   1355         WINBOOL *enabled);
   1356 
   1357     HRESULT (STDMETHODCALLTYPE *EnableEffects)(
   1358         IAMTimeline *This,
   1359         WINBOOL enabled);
   1360 
   1361     HRESULT (STDMETHODCALLTYPE *EffectsEnabled)(
   1362         IAMTimeline *This,
   1363         WINBOOL *enabled);
   1364 
   1365     HRESULT (STDMETHODCALLTYPE *SetInterestRange)(
   1366         IAMTimeline *This,
   1367         REFERENCE_TIME start,
   1368         REFERENCE_TIME stop);
   1369 
   1370     HRESULT (STDMETHODCALLTYPE *GetDuration)(
   1371         IAMTimeline *This,
   1372         REFERENCE_TIME *duration);
   1373 
   1374     HRESULT (STDMETHODCALLTYPE *GetDuration2)(
   1375         IAMTimeline *This,
   1376         double *duration);
   1377 
   1378     HRESULT (STDMETHODCALLTYPE *SetDefaultFPS)(
   1379         IAMTimeline *This,
   1380         double fps);
   1381 
   1382     HRESULT (STDMETHODCALLTYPE *GetDefaultFPS)(
   1383         IAMTimeline *This,
   1384         double *fps);
   1385 
   1386     HRESULT (STDMETHODCALLTYPE *IsDirty)(
   1387         IAMTimeline *This,
   1388         WINBOOL *dirty);
   1389 
   1390     HRESULT (STDMETHODCALLTYPE *GetDirtyRange)(
   1391         IAMTimeline *This,
   1392         REFERENCE_TIME *start,
   1393         REFERENCE_TIME *stop);
   1394 
   1395     HRESULT (STDMETHODCALLTYPE *GetCountOfType)(
   1396         IAMTimeline *This,
   1397         LONG group,
   1398         LONG *value,
   1399         LONG *value_with_comps,
   1400         TIMELINE_MAJOR_TYPE type);
   1401 
   1402     HRESULT (STDMETHODCALLTYPE *ValidateSourceNames)(
   1403         IAMTimeline *This,
   1404         LONG flags,
   1405         IMediaLocator *override,
   1406         LONG_PTR notify_event);
   1407 
   1408     HRESULT (STDMETHODCALLTYPE *SetDefaultTransition)(
   1409         IAMTimeline *This,
   1410         GUID *guid);
   1411 
   1412     HRESULT (STDMETHODCALLTYPE *GetDefaultTransition)(
   1413         IAMTimeline *This,
   1414         GUID *guid);
   1415 
   1416     HRESULT (STDMETHODCALLTYPE *SetDefaultEffect)(
   1417         IAMTimeline *This,
   1418         GUID *guid);
   1419 
   1420     HRESULT (STDMETHODCALLTYPE *GetDefaultEffect)(
   1421         IAMTimeline *This,
   1422         GUID *guid);
   1423 
   1424     HRESULT (STDMETHODCALLTYPE *SetDefaultTransitionB)(
   1425         IAMTimeline *This,
   1426         BSTR guidb);
   1427 
   1428     HRESULT (STDMETHODCALLTYPE *GetDefaultTransitionB)(
   1429         IAMTimeline *This,
   1430         BSTR *guidb);
   1431 
   1432     HRESULT (STDMETHODCALLTYPE *SetDefaultEffectB)(
   1433         IAMTimeline *This,
   1434         BSTR guidb);
   1435 
   1436     HRESULT (STDMETHODCALLTYPE *GetDefaultEffectB)(
   1437         IAMTimeline *This,
   1438         BSTR *guidb);
   1439 
   1440     END_INTERFACE
   1441 } IAMTimelineVtbl;
   1442 
   1443 interface IAMTimeline {
   1444     CONST_VTBL IAMTimelineVtbl* lpVtbl;
   1445 };
   1446 
   1447 #ifdef COBJMACROS
   1448 #ifndef WIDL_C_INLINE_WRAPPERS
   1449 /*** IUnknown methods ***/
   1450 #define IAMTimeline_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1451 #define IAMTimeline_AddRef(This) (This)->lpVtbl->AddRef(This)
   1452 #define IAMTimeline_Release(This) (This)->lpVtbl->Release(This)
   1453 /*** IAMTimeline methods ***/
   1454 #define IAMTimeline_CreateEmptyNode(This,obj,type) (This)->lpVtbl->CreateEmptyNode(This,obj,type)
   1455 #define IAMTimeline_AddGroup(This,group) (This)->lpVtbl->AddGroup(This,group)
   1456 #define IAMTimeline_RemGroupFromList(This,group) (This)->lpVtbl->RemGroupFromList(This,group)
   1457 #define IAMTimeline_GetGroup(This,group,index) (This)->lpVtbl->GetGroup(This,group,index)
   1458 #define IAMTimeline_GetGroupCount(This,count) (This)->lpVtbl->GetGroupCount(This,count)
   1459 #define IAMTimeline_ClearAllGroups(This) (This)->lpVtbl->ClearAllGroups(This)
   1460 #define IAMTimeline_GetInsertMode(This,mode) (This)->lpVtbl->GetInsertMode(This,mode)
   1461 #define IAMTimeline_SetInsertMode(This,mode) (This)->lpVtbl->SetInsertMode(This,mode)
   1462 #define IAMTimeline_EnableTransitions(This,enabled) (This)->lpVtbl->EnableTransitions(This,enabled)
   1463 #define IAMTimeline_TransitionsEnabled(This,enabled) (This)->lpVtbl->TransitionsEnabled(This,enabled)
   1464 #define IAMTimeline_EnableEffects(This,enabled) (This)->lpVtbl->EnableEffects(This,enabled)
   1465 #define IAMTimeline_EffectsEnabled(This,enabled) (This)->lpVtbl->EffectsEnabled(This,enabled)
   1466 #define IAMTimeline_SetInterestRange(This,start,stop) (This)->lpVtbl->SetInterestRange(This,start,stop)
   1467 #define IAMTimeline_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration)
   1468 #define IAMTimeline_GetDuration2(This,duration) (This)->lpVtbl->GetDuration2(This,duration)
   1469 #define IAMTimeline_SetDefaultFPS(This,fps) (This)->lpVtbl->SetDefaultFPS(This,fps)
   1470 #define IAMTimeline_GetDefaultFPS(This,fps) (This)->lpVtbl->GetDefaultFPS(This,fps)
   1471 #define IAMTimeline_IsDirty(This,dirty) (This)->lpVtbl->IsDirty(This,dirty)
   1472 #define IAMTimeline_GetDirtyRange(This,start,stop) (This)->lpVtbl->GetDirtyRange(This,start,stop)
   1473 #define IAMTimeline_GetCountOfType(This,group,value,value_with_comps,type) (This)->lpVtbl->GetCountOfType(This,group,value,value_with_comps,type)
   1474 #define IAMTimeline_ValidateSourceNames(This,flags,override,notify_event) (This)->lpVtbl->ValidateSourceNames(This,flags,override,notify_event)
   1475 #define IAMTimeline_SetDefaultTransition(This,guid) (This)->lpVtbl->SetDefaultTransition(This,guid)
   1476 #define IAMTimeline_GetDefaultTransition(This,guid) (This)->lpVtbl->GetDefaultTransition(This,guid)
   1477 #define IAMTimeline_SetDefaultEffect(This,guid) (This)->lpVtbl->SetDefaultEffect(This,guid)
   1478 #define IAMTimeline_GetDefaultEffect(This,guid) (This)->lpVtbl->GetDefaultEffect(This,guid)
   1479 #define IAMTimeline_SetDefaultTransitionB(This,guidb) (This)->lpVtbl->SetDefaultTransitionB(This,guidb)
   1480 #define IAMTimeline_GetDefaultTransitionB(This,guidb) (This)->lpVtbl->GetDefaultTransitionB(This,guidb)
   1481 #define IAMTimeline_SetDefaultEffectB(This,guidb) (This)->lpVtbl->SetDefaultEffectB(This,guidb)
   1482 #define IAMTimeline_GetDefaultEffectB(This,guidb) (This)->lpVtbl->GetDefaultEffectB(This,guidb)
   1483 #else
   1484 /*** IUnknown methods ***/
   1485 static inline HRESULT IAMTimeline_QueryInterface(IAMTimeline* This,REFIID riid,void **ppvObject) {
   1486     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1487 }
   1488 static inline ULONG IAMTimeline_AddRef(IAMTimeline* This) {
   1489     return This->lpVtbl->AddRef(This);
   1490 }
   1491 static inline ULONG IAMTimeline_Release(IAMTimeline* This) {
   1492     return This->lpVtbl->Release(This);
   1493 }
   1494 /*** IAMTimeline methods ***/
   1495 static inline HRESULT IAMTimeline_CreateEmptyNode(IAMTimeline* This,IAMTimelineObj **obj,TIMELINE_MAJOR_TYPE type) {
   1496     return This->lpVtbl->CreateEmptyNode(This,obj,type);
   1497 }
   1498 static inline HRESULT IAMTimeline_AddGroup(IAMTimeline* This,IAMTimelineObj *group) {
   1499     return This->lpVtbl->AddGroup(This,group);
   1500 }
   1501 static inline HRESULT IAMTimeline_RemGroupFromList(IAMTimeline* This,IAMTimelineObj *group) {
   1502     return This->lpVtbl->RemGroupFromList(This,group);
   1503 }
   1504 static inline HRESULT IAMTimeline_GetGroup(IAMTimeline* This,IAMTimelineObj **group,LONG index) {
   1505     return This->lpVtbl->GetGroup(This,group,index);
   1506 }
   1507 static inline HRESULT IAMTimeline_GetGroupCount(IAMTimeline* This,LONG *count) {
   1508     return This->lpVtbl->GetGroupCount(This,count);
   1509 }
   1510 static inline HRESULT IAMTimeline_ClearAllGroups(IAMTimeline* This) {
   1511     return This->lpVtbl->ClearAllGroups(This);
   1512 }
   1513 static inline HRESULT IAMTimeline_GetInsertMode(IAMTimeline* This,LONG *mode) {
   1514     return This->lpVtbl->GetInsertMode(This,mode);
   1515 }
   1516 static inline HRESULT IAMTimeline_SetInsertMode(IAMTimeline* This,LONG mode) {
   1517     return This->lpVtbl->SetInsertMode(This,mode);
   1518 }
   1519 static inline HRESULT IAMTimeline_EnableTransitions(IAMTimeline* This,WINBOOL enabled) {
   1520     return This->lpVtbl->EnableTransitions(This,enabled);
   1521 }
   1522 static inline HRESULT IAMTimeline_TransitionsEnabled(IAMTimeline* This,WINBOOL *enabled) {
   1523     return This->lpVtbl->TransitionsEnabled(This,enabled);
   1524 }
   1525 static inline HRESULT IAMTimeline_EnableEffects(IAMTimeline* This,WINBOOL enabled) {
   1526     return This->lpVtbl->EnableEffects(This,enabled);
   1527 }
   1528 static inline HRESULT IAMTimeline_EffectsEnabled(IAMTimeline* This,WINBOOL *enabled) {
   1529     return This->lpVtbl->EffectsEnabled(This,enabled);
   1530 }
   1531 static inline HRESULT IAMTimeline_SetInterestRange(IAMTimeline* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
   1532     return This->lpVtbl->SetInterestRange(This,start,stop);
   1533 }
   1534 static inline HRESULT IAMTimeline_GetDuration(IAMTimeline* This,REFERENCE_TIME *duration) {
   1535     return This->lpVtbl->GetDuration(This,duration);
   1536 }
   1537 static inline HRESULT IAMTimeline_GetDuration2(IAMTimeline* This,double *duration) {
   1538     return This->lpVtbl->GetDuration2(This,duration);
   1539 }
   1540 static inline HRESULT IAMTimeline_SetDefaultFPS(IAMTimeline* This,double fps) {
   1541     return This->lpVtbl->SetDefaultFPS(This,fps);
   1542 }
   1543 static inline HRESULT IAMTimeline_GetDefaultFPS(IAMTimeline* This,double *fps) {
   1544     return This->lpVtbl->GetDefaultFPS(This,fps);
   1545 }
   1546 static inline HRESULT IAMTimeline_IsDirty(IAMTimeline* This,WINBOOL *dirty) {
   1547     return This->lpVtbl->IsDirty(This,dirty);
   1548 }
   1549 static inline HRESULT IAMTimeline_GetDirtyRange(IAMTimeline* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
   1550     return This->lpVtbl->GetDirtyRange(This,start,stop);
   1551 }
   1552 static inline HRESULT IAMTimeline_GetCountOfType(IAMTimeline* This,LONG group,LONG *value,LONG *value_with_comps,TIMELINE_MAJOR_TYPE type) {
   1553     return This->lpVtbl->GetCountOfType(This,group,value,value_with_comps,type);
   1554 }
   1555 static inline HRESULT IAMTimeline_ValidateSourceNames(IAMTimeline* This,LONG flags,IMediaLocator *override,LONG_PTR notify_event) {
   1556     return This->lpVtbl->ValidateSourceNames(This,flags,override,notify_event);
   1557 }
   1558 static inline HRESULT IAMTimeline_SetDefaultTransition(IAMTimeline* This,GUID *guid) {
   1559     return This->lpVtbl->SetDefaultTransition(This,guid);
   1560 }
   1561 static inline HRESULT IAMTimeline_GetDefaultTransition(IAMTimeline* This,GUID *guid) {
   1562     return This->lpVtbl->GetDefaultTransition(This,guid);
   1563 }
   1564 static inline HRESULT IAMTimeline_SetDefaultEffect(IAMTimeline* This,GUID *guid) {
   1565     return This->lpVtbl->SetDefaultEffect(This,guid);
   1566 }
   1567 static inline HRESULT IAMTimeline_GetDefaultEffect(IAMTimeline* This,GUID *guid) {
   1568     return This->lpVtbl->GetDefaultEffect(This,guid);
   1569 }
   1570 static inline HRESULT IAMTimeline_SetDefaultTransitionB(IAMTimeline* This,BSTR guidb) {
   1571     return This->lpVtbl->SetDefaultTransitionB(This,guidb);
   1572 }
   1573 static inline HRESULT IAMTimeline_GetDefaultTransitionB(IAMTimeline* This,BSTR *guidb) {
   1574     return This->lpVtbl->GetDefaultTransitionB(This,guidb);
   1575 }
   1576 static inline HRESULT IAMTimeline_SetDefaultEffectB(IAMTimeline* This,BSTR guidb) {
   1577     return This->lpVtbl->SetDefaultEffectB(This,guidb);
   1578 }
   1579 static inline HRESULT IAMTimeline_GetDefaultEffectB(IAMTimeline* This,BSTR *guidb) {
   1580     return This->lpVtbl->GetDefaultEffectB(This,guidb);
   1581 }
   1582 #endif
   1583 #endif
   1584 
   1585 #endif
   1586 
   1587 
   1588 #endif  /* __IAMTimeline_INTERFACE_DEFINED__ */
   1589 
   1590 /*****************************************************************************
   1591  * AMTimeline coclass
   1592  */
   1593 
   1594 DEFINE_GUID(CLSID_AMTimeline, 0x78530b75, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
   1595 
   1596 #ifdef __cplusplus
   1597 class DECLSPEC_UUID("78530b75-61f9-11d2-8cad-00a024580902") AMTimeline;
   1598 #ifdef __CRT_UUID_DECL
   1599 __CRT_UUID_DECL(AMTimeline, 0x78530b75, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
   1600 #endif
   1601 #endif
   1602 
   1603 /*****************************************************************************
   1604  * IAMTimelineGroup interface
   1605  */
   1606 #ifndef __IAMTimelineGroup_INTERFACE_DEFINED__
   1607 #define __IAMTimelineGroup_INTERFACE_DEFINED__
   1608 
   1609 DEFINE_GUID(IID_IAMTimelineGroup, 0x9eed4f00, 0xb8a6, 0x11d2, 0x80,0x23, 0x00,0xc0,0xdf,0x10,0xd4,0x34);
   1610 #if defined(__cplusplus) && !defined(CINTERFACE)
   1611 MIDL_INTERFACE("9eed4f00-b8a6-11d2-8023-00c0df10d434")
   1612 IAMTimelineGroup : public IUnknown
   1613 {
   1614     virtual HRESULT STDMETHODCALLTYPE SetTimeline(
   1615         IAMTimeline *timeline) = 0;
   1616 
   1617     virtual HRESULT STDMETHODCALLTYPE GetTimeline(
   1618         IAMTimeline **timeline) = 0;
   1619 
   1620     virtual HRESULT STDMETHODCALLTYPE GetPriority(
   1621         LONG *priority) = 0;
   1622 
   1623     virtual HRESULT STDMETHODCALLTYPE GetMediaType(
   1624         AM_MEDIA_TYPE *a) = 0;
   1625 
   1626     virtual HRESULT STDMETHODCALLTYPE SetMediaType(
   1627         AM_MEDIA_TYPE *a) = 0;
   1628 
   1629     virtual HRESULT STDMETHODCALLTYPE SetOutputFPS(
   1630         double fps) = 0;
   1631 
   1632     virtual HRESULT STDMETHODCALLTYPE GetOutputFPS(
   1633         double *fps) = 0;
   1634 
   1635     virtual HRESULT STDMETHODCALLTYPE SetGroupName(
   1636         BSTR name) = 0;
   1637 
   1638     virtual HRESULT STDMETHODCALLTYPE GetGroupName(
   1639         BSTR *name) = 0;
   1640 
   1641     virtual HRESULT STDMETHODCALLTYPE SetPreviewMode(
   1642         WINBOOL preview) = 0;
   1643 
   1644     virtual HRESULT STDMETHODCALLTYPE GetPreviewMode(
   1645         WINBOOL *preview) = 0;
   1646 
   1647     virtual HRESULT STDMETHODCALLTYPE SetMediaTypeForVB(
   1648         LONG type) = 0;
   1649 
   1650     virtual HRESULT STDMETHODCALLTYPE GetOutputBuffering(
   1651         int *buffer) = 0;
   1652 
   1653     virtual HRESULT STDMETHODCALLTYPE SetOutputBuffering(
   1654         int buffer) = 0;
   1655 
   1656     virtual HRESULT STDMETHODCALLTYPE SetSmartRecompressFormat(
   1657         LONG *format) = 0;
   1658 
   1659     virtual HRESULT STDMETHODCALLTYPE GetSmartRecompressFormat(
   1660         LONG **format) = 0;
   1661 
   1662     virtual HRESULT STDMETHODCALLTYPE IsSmartRecompressFormatSet(
   1663         WINBOOL *set) = 0;
   1664 
   1665     virtual HRESULT STDMETHODCALLTYPE IsRecompressFormatDirty(
   1666         WINBOOL *dirty) = 0;
   1667 
   1668     virtual HRESULT STDMETHODCALLTYPE ClearRecompressFormatDirty(
   1669         ) = 0;
   1670 
   1671     virtual HRESULT STDMETHODCALLTYPE SetRecompFormatFromSource(
   1672         IAMTimelineSrc *source) = 0;
   1673 
   1674 };
   1675 #ifdef __CRT_UUID_DECL
   1676 __CRT_UUID_DECL(IAMTimelineGroup, 0x9eed4f00, 0xb8a6, 0x11d2, 0x80,0x23, 0x00,0xc0,0xdf,0x10,0xd4,0x34)
   1677 #endif
   1678 #else
   1679 typedef struct IAMTimelineGroupVtbl {
   1680     BEGIN_INTERFACE
   1681 
   1682     /*** IUnknown methods ***/
   1683     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1684         IAMTimelineGroup *This,
   1685         REFIID riid,
   1686         void **ppvObject);
   1687 
   1688     ULONG (STDMETHODCALLTYPE *AddRef)(
   1689         IAMTimelineGroup *This);
   1690 
   1691     ULONG (STDMETHODCALLTYPE *Release)(
   1692         IAMTimelineGroup *This);
   1693 
   1694     /*** IAMTimelineGroup methods ***/
   1695     HRESULT (STDMETHODCALLTYPE *SetTimeline)(
   1696         IAMTimelineGroup *This,
   1697         IAMTimeline *timeline);
   1698 
   1699     HRESULT (STDMETHODCALLTYPE *GetTimeline)(
   1700         IAMTimelineGroup *This,
   1701         IAMTimeline **timeline);
   1702 
   1703     HRESULT (STDMETHODCALLTYPE *GetPriority)(
   1704         IAMTimelineGroup *This,
   1705         LONG *priority);
   1706 
   1707     HRESULT (STDMETHODCALLTYPE *GetMediaType)(
   1708         IAMTimelineGroup *This,
   1709         AM_MEDIA_TYPE *a);
   1710 
   1711     HRESULT (STDMETHODCALLTYPE *SetMediaType)(
   1712         IAMTimelineGroup *This,
   1713         AM_MEDIA_TYPE *a);
   1714 
   1715     HRESULT (STDMETHODCALLTYPE *SetOutputFPS)(
   1716         IAMTimelineGroup *This,
   1717         double fps);
   1718 
   1719     HRESULT (STDMETHODCALLTYPE *GetOutputFPS)(
   1720         IAMTimelineGroup *This,
   1721         double *fps);
   1722 
   1723     HRESULT (STDMETHODCALLTYPE *SetGroupName)(
   1724         IAMTimelineGroup *This,
   1725         BSTR name);
   1726 
   1727     HRESULT (STDMETHODCALLTYPE *GetGroupName)(
   1728         IAMTimelineGroup *This,
   1729         BSTR *name);
   1730 
   1731     HRESULT (STDMETHODCALLTYPE *SetPreviewMode)(
   1732         IAMTimelineGroup *This,
   1733         WINBOOL preview);
   1734 
   1735     HRESULT (STDMETHODCALLTYPE *GetPreviewMode)(
   1736         IAMTimelineGroup *This,
   1737         WINBOOL *preview);
   1738 
   1739     HRESULT (STDMETHODCALLTYPE *SetMediaTypeForVB)(
   1740         IAMTimelineGroup *This,
   1741         LONG type);
   1742 
   1743     HRESULT (STDMETHODCALLTYPE *GetOutputBuffering)(
   1744         IAMTimelineGroup *This,
   1745         int *buffer);
   1746 
   1747     HRESULT (STDMETHODCALLTYPE *SetOutputBuffering)(
   1748         IAMTimelineGroup *This,
   1749         int buffer);
   1750 
   1751     HRESULT (STDMETHODCALLTYPE *SetSmartRecompressFormat)(
   1752         IAMTimelineGroup *This,
   1753         LONG *format);
   1754 
   1755     HRESULT (STDMETHODCALLTYPE *GetSmartRecompressFormat)(
   1756         IAMTimelineGroup *This,
   1757         LONG **format);
   1758 
   1759     HRESULT (STDMETHODCALLTYPE *IsSmartRecompressFormatSet)(
   1760         IAMTimelineGroup *This,
   1761         WINBOOL *set);
   1762 
   1763     HRESULT (STDMETHODCALLTYPE *IsRecompressFormatDirty)(
   1764         IAMTimelineGroup *This,
   1765         WINBOOL *dirty);
   1766 
   1767     HRESULT (STDMETHODCALLTYPE *ClearRecompressFormatDirty)(
   1768         IAMTimelineGroup *This);
   1769 
   1770     HRESULT (STDMETHODCALLTYPE *SetRecompFormatFromSource)(
   1771         IAMTimelineGroup *This,
   1772         IAMTimelineSrc *source);
   1773 
   1774     END_INTERFACE
   1775 } IAMTimelineGroupVtbl;
   1776 
   1777 interface IAMTimelineGroup {
   1778     CONST_VTBL IAMTimelineGroupVtbl* lpVtbl;
   1779 };
   1780 
   1781 #ifdef COBJMACROS
   1782 #ifndef WIDL_C_INLINE_WRAPPERS
   1783 /*** IUnknown methods ***/
   1784 #define IAMTimelineGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1785 #define IAMTimelineGroup_AddRef(This) (This)->lpVtbl->AddRef(This)
   1786 #define IAMTimelineGroup_Release(This) (This)->lpVtbl->Release(This)
   1787 /*** IAMTimelineGroup methods ***/
   1788 #define IAMTimelineGroup_SetTimeline(This,timeline) (This)->lpVtbl->SetTimeline(This,timeline)
   1789 #define IAMTimelineGroup_GetTimeline(This,timeline) (This)->lpVtbl->GetTimeline(This,timeline)
   1790 #define IAMTimelineGroup_GetPriority(This,priority) (This)->lpVtbl->GetPriority(This,priority)
   1791 #define IAMTimelineGroup_GetMediaType(This,a) (This)->lpVtbl->GetMediaType(This,a)
   1792 #define IAMTimelineGroup_SetMediaType(This,a) (This)->lpVtbl->SetMediaType(This,a)
   1793 #define IAMTimelineGroup_SetOutputFPS(This,fps) (This)->lpVtbl->SetOutputFPS(This,fps)
   1794 #define IAMTimelineGroup_GetOutputFPS(This,fps) (This)->lpVtbl->GetOutputFPS(This,fps)
   1795 #define IAMTimelineGroup_SetGroupName(This,name) (This)->lpVtbl->SetGroupName(This,name)
   1796 #define IAMTimelineGroup_GetGroupName(This,name) (This)->lpVtbl->GetGroupName(This,name)
   1797 #define IAMTimelineGroup_SetPreviewMode(This,preview) (This)->lpVtbl->SetPreviewMode(This,preview)
   1798 #define IAMTimelineGroup_GetPreviewMode(This,preview) (This)->lpVtbl->GetPreviewMode(This,preview)
   1799 #define IAMTimelineGroup_SetMediaTypeForVB(This,type) (This)->lpVtbl->SetMediaTypeForVB(This,type)
   1800 #define IAMTimelineGroup_GetOutputBuffering(This,buffer) (This)->lpVtbl->GetOutputBuffering(This,buffer)
   1801 #define IAMTimelineGroup_SetOutputBuffering(This,buffer) (This)->lpVtbl->SetOutputBuffering(This,buffer)
   1802 #define IAMTimelineGroup_SetSmartRecompressFormat(This,format) (This)->lpVtbl->SetSmartRecompressFormat(This,format)
   1803 #define IAMTimelineGroup_GetSmartRecompressFormat(This,format) (This)->lpVtbl->GetSmartRecompressFormat(This,format)
   1804 #define IAMTimelineGroup_IsSmartRecompressFormatSet(This,set) (This)->lpVtbl->IsSmartRecompressFormatSet(This,set)
   1805 #define IAMTimelineGroup_IsRecompressFormatDirty(This,dirty) (This)->lpVtbl->IsRecompressFormatDirty(This,dirty)
   1806 #define IAMTimelineGroup_ClearRecompressFormatDirty(This) (This)->lpVtbl->ClearRecompressFormatDirty(This)
   1807 #define IAMTimelineGroup_SetRecompFormatFromSource(This,source) (This)->lpVtbl->SetRecompFormatFromSource(This,source)
   1808 #else
   1809 /*** IUnknown methods ***/
   1810 static inline HRESULT IAMTimelineGroup_QueryInterface(IAMTimelineGroup* This,REFIID riid,void **ppvObject) {
   1811     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1812 }
   1813 static inline ULONG IAMTimelineGroup_AddRef(IAMTimelineGroup* This) {
   1814     return This->lpVtbl->AddRef(This);
   1815 }
   1816 static inline ULONG IAMTimelineGroup_Release(IAMTimelineGroup* This) {
   1817     return This->lpVtbl->Release(This);
   1818 }
   1819 /*** IAMTimelineGroup methods ***/
   1820 static inline HRESULT IAMTimelineGroup_SetTimeline(IAMTimelineGroup* This,IAMTimeline *timeline) {
   1821     return This->lpVtbl->SetTimeline(This,timeline);
   1822 }
   1823 static inline HRESULT IAMTimelineGroup_GetTimeline(IAMTimelineGroup* This,IAMTimeline **timeline) {
   1824     return This->lpVtbl->GetTimeline(This,timeline);
   1825 }
   1826 static inline HRESULT IAMTimelineGroup_GetPriority(IAMTimelineGroup* This,LONG *priority) {
   1827     return This->lpVtbl->GetPriority(This,priority);
   1828 }
   1829 static inline HRESULT IAMTimelineGroup_GetMediaType(IAMTimelineGroup* This,AM_MEDIA_TYPE *a) {
   1830     return This->lpVtbl->GetMediaType(This,a);
   1831 }
   1832 static inline HRESULT IAMTimelineGroup_SetMediaType(IAMTimelineGroup* This,AM_MEDIA_TYPE *a) {
   1833     return This->lpVtbl->SetMediaType(This,a);
   1834 }
   1835 static inline HRESULT IAMTimelineGroup_SetOutputFPS(IAMTimelineGroup* This,double fps) {
   1836     return This->lpVtbl->SetOutputFPS(This,fps);
   1837 }
   1838 static inline HRESULT IAMTimelineGroup_GetOutputFPS(IAMTimelineGroup* This,double *fps) {
   1839     return This->lpVtbl->GetOutputFPS(This,fps);
   1840 }
   1841 static inline HRESULT IAMTimelineGroup_SetGroupName(IAMTimelineGroup* This,BSTR name) {
   1842     return This->lpVtbl->SetGroupName(This,name);
   1843 }
   1844 static inline HRESULT IAMTimelineGroup_GetGroupName(IAMTimelineGroup* This,BSTR *name) {
   1845     return This->lpVtbl->GetGroupName(This,name);
   1846 }
   1847 static inline HRESULT IAMTimelineGroup_SetPreviewMode(IAMTimelineGroup* This,WINBOOL preview) {
   1848     return This->lpVtbl->SetPreviewMode(This,preview);
   1849 }
   1850 static inline HRESULT IAMTimelineGroup_GetPreviewMode(IAMTimelineGroup* This,WINBOOL *preview) {
   1851     return This->lpVtbl->GetPreviewMode(This,preview);
   1852 }
   1853 static inline HRESULT IAMTimelineGroup_SetMediaTypeForVB(IAMTimelineGroup* This,LONG type) {
   1854     return This->lpVtbl->SetMediaTypeForVB(This,type);
   1855 }
   1856 static inline HRESULT IAMTimelineGroup_GetOutputBuffering(IAMTimelineGroup* This,int *buffer) {
   1857     return This->lpVtbl->GetOutputBuffering(This,buffer);
   1858 }
   1859 static inline HRESULT IAMTimelineGroup_SetOutputBuffering(IAMTimelineGroup* This,int buffer) {
   1860     return This->lpVtbl->SetOutputBuffering(This,buffer);
   1861 }
   1862 static inline HRESULT IAMTimelineGroup_SetSmartRecompressFormat(IAMTimelineGroup* This,LONG *format) {
   1863     return This->lpVtbl->SetSmartRecompressFormat(This,format);
   1864 }
   1865 static inline HRESULT IAMTimelineGroup_GetSmartRecompressFormat(IAMTimelineGroup* This,LONG **format) {
   1866     return This->lpVtbl->GetSmartRecompressFormat(This,format);
   1867 }
   1868 static inline HRESULT IAMTimelineGroup_IsSmartRecompressFormatSet(IAMTimelineGroup* This,WINBOOL *set) {
   1869     return This->lpVtbl->IsSmartRecompressFormatSet(This,set);
   1870 }
   1871 static inline HRESULT IAMTimelineGroup_IsRecompressFormatDirty(IAMTimelineGroup* This,WINBOOL *dirty) {
   1872     return This->lpVtbl->IsRecompressFormatDirty(This,dirty);
   1873 }
   1874 static inline HRESULT IAMTimelineGroup_ClearRecompressFormatDirty(IAMTimelineGroup* This) {
   1875     return This->lpVtbl->ClearRecompressFormatDirty(This);
   1876 }
   1877 static inline HRESULT IAMTimelineGroup_SetRecompFormatFromSource(IAMTimelineGroup* This,IAMTimelineSrc *source) {
   1878     return This->lpVtbl->SetRecompFormatFromSource(This,source);
   1879 }
   1880 #endif
   1881 #endif
   1882 
   1883 #endif
   1884 
   1885 
   1886 #endif  /* __IAMTimelineGroup_INTERFACE_DEFINED__ */
   1887 
   1888 /*****************************************************************************
   1889  * IAMTimelineObj interface
   1890  */
   1891 #ifndef __IAMTimelineObj_INTERFACE_DEFINED__
   1892 #define __IAMTimelineObj_INTERFACE_DEFINED__
   1893 
   1894 DEFINE_GUID(IID_IAMTimelineObj, 0x78530b77, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
   1895 #if defined(__cplusplus) && !defined(CINTERFACE)
   1896 MIDL_INTERFACE("78530b77-61f9-11d2-8cad-00a024580902")
   1897 IAMTimelineObj : public IUnknown
   1898 {
   1899     virtual HRESULT STDMETHODCALLTYPE GetStartStop(
   1900         REFERENCE_TIME *start,
   1901         REFERENCE_TIME *stop) = 0;
   1902 
   1903     virtual HRESULT STDMETHODCALLTYPE GetStartStop2(
   1904         REFTIME *start,
   1905         REFTIME *stop) = 0;
   1906 
   1907     virtual HRESULT STDMETHODCALLTYPE FixTimes(
   1908         REFERENCE_TIME *start,
   1909         REFERENCE_TIME *stop) = 0;
   1910 
   1911     virtual HRESULT STDMETHODCALLTYPE FixTimes2(
   1912         REFTIME *start,
   1913         REFTIME *stop) = 0;
   1914 
   1915     virtual HRESULT STDMETHODCALLTYPE SetStartStop(
   1916         REFERENCE_TIME start,
   1917         REFERENCE_TIME stop) = 0;
   1918 
   1919     virtual HRESULT STDMETHODCALLTYPE SetStartStop2(
   1920         REFTIME start,
   1921         REFTIME stop) = 0;
   1922 
   1923     virtual HRESULT STDMETHODCALLTYPE GetPropertySetter(
   1924         IPropertySetter **setter) = 0;
   1925 
   1926     virtual HRESULT STDMETHODCALLTYPE SetPropertySetter(
   1927         IPropertySetter *setter) = 0;
   1928 
   1929     virtual HRESULT STDMETHODCALLTYPE GetSubObject(
   1930         IUnknown **obj) = 0;
   1931 
   1932     virtual HRESULT STDMETHODCALLTYPE SetSubObject(
   1933         IUnknown *obj) = 0;
   1934 
   1935     virtual HRESULT STDMETHODCALLTYPE SetSubObjectGUID(
   1936         GUID guid) = 0;
   1937 
   1938     virtual HRESULT STDMETHODCALLTYPE SetSubObjectGUIDB(
   1939         BSTR guidb) = 0;
   1940 
   1941     virtual HRESULT STDMETHODCALLTYPE GetSubObjectGUID(
   1942         GUID *guid) = 0;
   1943 
   1944     virtual HRESULT STDMETHODCALLTYPE GetSubObjectGUIDB(
   1945         BSTR *guidb) = 0;
   1946 
   1947     virtual HRESULT STDMETHODCALLTYPE GetSubObjectLoaded(
   1948         WINBOOL *loaded) = 0;
   1949 
   1950     virtual HRESULT STDMETHODCALLTYPE GetTimelineType(
   1951         TIMELINE_MAJOR_TYPE *type) = 0;
   1952 
   1953     virtual HRESULT STDMETHODCALLTYPE SetTimelineType(
   1954         TIMELINE_MAJOR_TYPE type) = 0;
   1955 
   1956     virtual HRESULT STDMETHODCALLTYPE GetUserID(
   1957         LONG *id) = 0;
   1958 
   1959     virtual HRESULT STDMETHODCALLTYPE SetUserID(
   1960         LONG id) = 0;
   1961 
   1962     virtual HRESULT STDMETHODCALLTYPE GetGenID(
   1963         LONG *id) = 0;
   1964 
   1965     virtual HRESULT STDMETHODCALLTYPE GetUserName(
   1966         BSTR *name) = 0;
   1967 
   1968     virtual HRESULT STDMETHODCALLTYPE SetUserName(
   1969         BSTR name) = 0;
   1970 
   1971     virtual HRESULT STDMETHODCALLTYPE GetUserData(
   1972         BYTE *data,
   1973         LONG *size) = 0;
   1974 
   1975     virtual HRESULT STDMETHODCALLTYPE SetUserData(
   1976         BYTE *data,
   1977         LONG size) = 0;
   1978 
   1979     virtual HRESULT STDMETHODCALLTYPE GetMuted(
   1980         WINBOOL *muted) = 0;
   1981 
   1982     virtual HRESULT STDMETHODCALLTYPE SetMuted(
   1983         WINBOOL muted) = 0;
   1984 
   1985     virtual HRESULT STDMETHODCALLTYPE GetLocked(
   1986         WINBOOL *locked) = 0;
   1987 
   1988     virtual HRESULT STDMETHODCALLTYPE SetLocked(
   1989         WINBOOL locked) = 0;
   1990 
   1991     virtual HRESULT STDMETHODCALLTYPE GetDirtyRange(
   1992         REFERENCE_TIME *start,
   1993         REFERENCE_TIME *stop) = 0;
   1994 
   1995     virtual HRESULT STDMETHODCALLTYPE GetDirtyRange2(
   1996         REFTIME *start,
   1997         REFTIME *stop) = 0;
   1998 
   1999     virtual HRESULT STDMETHODCALLTYPE SetDirtyRange(
   2000         REFERENCE_TIME start,
   2001         REFERENCE_TIME stop) = 0;
   2002 
   2003     virtual HRESULT STDMETHODCALLTYPE SetDirtyRange2(
   2004         REFTIME start,
   2005         REFTIME stop) = 0;
   2006 
   2007     virtual HRESULT STDMETHODCALLTYPE ClearDirty(
   2008         ) = 0;
   2009 
   2010     virtual HRESULT STDMETHODCALLTYPE Remove(
   2011         ) = 0;
   2012 
   2013     virtual HRESULT STDMETHODCALLTYPE RemoveAll(
   2014         ) = 0;
   2015 
   2016     virtual HRESULT STDMETHODCALLTYPE GetTimelineNoRef(
   2017         IAMTimeline **timeline) = 0;
   2018 
   2019     virtual HRESULT STDMETHODCALLTYPE GetGroupIBelongTo(
   2020         IAMTimelineGroup **group) = 0;
   2021 
   2022     virtual HRESULT STDMETHODCALLTYPE GetEmbedDepth(
   2023         LONG *depth) = 0;
   2024 
   2025 };
   2026 #ifdef __CRT_UUID_DECL
   2027 __CRT_UUID_DECL(IAMTimelineObj, 0x78530b77, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
   2028 #endif
   2029 #else
   2030 typedef struct IAMTimelineObjVtbl {
   2031     BEGIN_INTERFACE
   2032 
   2033     /*** IUnknown methods ***/
   2034     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2035         IAMTimelineObj *This,
   2036         REFIID riid,
   2037         void **ppvObject);
   2038 
   2039     ULONG (STDMETHODCALLTYPE *AddRef)(
   2040         IAMTimelineObj *This);
   2041 
   2042     ULONG (STDMETHODCALLTYPE *Release)(
   2043         IAMTimelineObj *This);
   2044 
   2045     /*** IAMTimelineObj methods ***/
   2046     HRESULT (STDMETHODCALLTYPE *GetStartStop)(
   2047         IAMTimelineObj *This,
   2048         REFERENCE_TIME *start,
   2049         REFERENCE_TIME *stop);
   2050 
   2051     HRESULT (STDMETHODCALLTYPE *GetStartStop2)(
   2052         IAMTimelineObj *This,
   2053         REFTIME *start,
   2054         REFTIME *stop);
   2055 
   2056     HRESULT (STDMETHODCALLTYPE *FixTimes)(
   2057         IAMTimelineObj *This,
   2058         REFERENCE_TIME *start,
   2059         REFERENCE_TIME *stop);
   2060 
   2061     HRESULT (STDMETHODCALLTYPE *FixTimes2)(
   2062         IAMTimelineObj *This,
   2063         REFTIME *start,
   2064         REFTIME *stop);
   2065 
   2066     HRESULT (STDMETHODCALLTYPE *SetStartStop)(
   2067         IAMTimelineObj *This,
   2068         REFERENCE_TIME start,
   2069         REFERENCE_TIME stop);
   2070 
   2071     HRESULT (STDMETHODCALLTYPE *SetStartStop2)(
   2072         IAMTimelineObj *This,
   2073         REFTIME start,
   2074         REFTIME stop);
   2075 
   2076     HRESULT (STDMETHODCALLTYPE *GetPropertySetter)(
   2077         IAMTimelineObj *This,
   2078         IPropertySetter **setter);
   2079 
   2080     HRESULT (STDMETHODCALLTYPE *SetPropertySetter)(
   2081         IAMTimelineObj *This,
   2082         IPropertySetter *setter);
   2083 
   2084     HRESULT (STDMETHODCALLTYPE *GetSubObject)(
   2085         IAMTimelineObj *This,
   2086         IUnknown **obj);
   2087 
   2088     HRESULT (STDMETHODCALLTYPE *SetSubObject)(
   2089         IAMTimelineObj *This,
   2090         IUnknown *obj);
   2091 
   2092     HRESULT (STDMETHODCALLTYPE *SetSubObjectGUID)(
   2093         IAMTimelineObj *This,
   2094         GUID guid);
   2095 
   2096     HRESULT (STDMETHODCALLTYPE *SetSubObjectGUIDB)(
   2097         IAMTimelineObj *This,
   2098         BSTR guidb);
   2099 
   2100     HRESULT (STDMETHODCALLTYPE *GetSubObjectGUID)(
   2101         IAMTimelineObj *This,
   2102         GUID *guid);
   2103 
   2104     HRESULT (STDMETHODCALLTYPE *GetSubObjectGUIDB)(
   2105         IAMTimelineObj *This,
   2106         BSTR *guidb);
   2107 
   2108     HRESULT (STDMETHODCALLTYPE *GetSubObjectLoaded)(
   2109         IAMTimelineObj *This,
   2110         WINBOOL *loaded);
   2111 
   2112     HRESULT (STDMETHODCALLTYPE *GetTimelineType)(
   2113         IAMTimelineObj *This,
   2114         TIMELINE_MAJOR_TYPE *type);
   2115 
   2116     HRESULT (STDMETHODCALLTYPE *SetTimelineType)(
   2117         IAMTimelineObj *This,
   2118         TIMELINE_MAJOR_TYPE type);
   2119 
   2120     HRESULT (STDMETHODCALLTYPE *GetUserID)(
   2121         IAMTimelineObj *This,
   2122         LONG *id);
   2123 
   2124     HRESULT (STDMETHODCALLTYPE *SetUserID)(
   2125         IAMTimelineObj *This,
   2126         LONG id);
   2127 
   2128     HRESULT (STDMETHODCALLTYPE *GetGenID)(
   2129         IAMTimelineObj *This,
   2130         LONG *id);
   2131 
   2132     HRESULT (STDMETHODCALLTYPE *GetUserName)(
   2133         IAMTimelineObj *This,
   2134         BSTR *name);
   2135 
   2136     HRESULT (STDMETHODCALLTYPE *SetUserName)(
   2137         IAMTimelineObj *This,
   2138         BSTR name);
   2139 
   2140     HRESULT (STDMETHODCALLTYPE *GetUserData)(
   2141         IAMTimelineObj *This,
   2142         BYTE *data,
   2143         LONG *size);
   2144 
   2145     HRESULT (STDMETHODCALLTYPE *SetUserData)(
   2146         IAMTimelineObj *This,
   2147         BYTE *data,
   2148         LONG size);
   2149 
   2150     HRESULT (STDMETHODCALLTYPE *GetMuted)(
   2151         IAMTimelineObj *This,
   2152         WINBOOL *muted);
   2153 
   2154     HRESULT (STDMETHODCALLTYPE *SetMuted)(
   2155         IAMTimelineObj *This,
   2156         WINBOOL muted);
   2157 
   2158     HRESULT (STDMETHODCALLTYPE *GetLocked)(
   2159         IAMTimelineObj *This,
   2160         WINBOOL *locked);
   2161 
   2162     HRESULT (STDMETHODCALLTYPE *SetLocked)(
   2163         IAMTimelineObj *This,
   2164         WINBOOL locked);
   2165 
   2166     HRESULT (STDMETHODCALLTYPE *GetDirtyRange)(
   2167         IAMTimelineObj *This,
   2168         REFERENCE_TIME *start,
   2169         REFERENCE_TIME *stop);
   2170 
   2171     HRESULT (STDMETHODCALLTYPE *GetDirtyRange2)(
   2172         IAMTimelineObj *This,
   2173         REFTIME *start,
   2174         REFTIME *stop);
   2175 
   2176     HRESULT (STDMETHODCALLTYPE *SetDirtyRange)(
   2177         IAMTimelineObj *This,
   2178         REFERENCE_TIME start,
   2179         REFERENCE_TIME stop);
   2180 
   2181     HRESULT (STDMETHODCALLTYPE *SetDirtyRange2)(
   2182         IAMTimelineObj *This,
   2183         REFTIME start,
   2184         REFTIME stop);
   2185 
   2186     HRESULT (STDMETHODCALLTYPE *ClearDirty)(
   2187         IAMTimelineObj *This);
   2188 
   2189     HRESULT (STDMETHODCALLTYPE *Remove)(
   2190         IAMTimelineObj *This);
   2191 
   2192     HRESULT (STDMETHODCALLTYPE *RemoveAll)(
   2193         IAMTimelineObj *This);
   2194 
   2195     HRESULT (STDMETHODCALLTYPE *GetTimelineNoRef)(
   2196         IAMTimelineObj *This,
   2197         IAMTimeline **timeline);
   2198 
   2199     HRESULT (STDMETHODCALLTYPE *GetGroupIBelongTo)(
   2200         IAMTimelineObj *This,
   2201         IAMTimelineGroup **group);
   2202 
   2203     HRESULT (STDMETHODCALLTYPE *GetEmbedDepth)(
   2204         IAMTimelineObj *This,
   2205         LONG *depth);
   2206 
   2207     END_INTERFACE
   2208 } IAMTimelineObjVtbl;
   2209 
   2210 interface IAMTimelineObj {
   2211     CONST_VTBL IAMTimelineObjVtbl* lpVtbl;
   2212 };
   2213 
   2214 #ifdef COBJMACROS
   2215 #ifndef WIDL_C_INLINE_WRAPPERS
   2216 /*** IUnknown methods ***/
   2217 #define IAMTimelineObj_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2218 #define IAMTimelineObj_AddRef(This) (This)->lpVtbl->AddRef(This)
   2219 #define IAMTimelineObj_Release(This) (This)->lpVtbl->Release(This)
   2220 /*** IAMTimelineObj methods ***/
   2221 #define IAMTimelineObj_GetStartStop(This,start,stop) (This)->lpVtbl->GetStartStop(This,start,stop)
   2222 #define IAMTimelineObj_GetStartStop2(This,start,stop) (This)->lpVtbl->GetStartStop2(This,start,stop)
   2223 #define IAMTimelineObj_FixTimes(This,start,stop) (This)->lpVtbl->FixTimes(This,start,stop)
   2224 #define IAMTimelineObj_FixTimes2(This,start,stop) (This)->lpVtbl->FixTimes2(This,start,stop)
   2225 #define IAMTimelineObj_SetStartStop(This,start,stop) (This)->lpVtbl->SetStartStop(This,start,stop)
   2226 #define IAMTimelineObj_SetStartStop2(This,start,stop) (This)->lpVtbl->SetStartStop2(This,start,stop)
   2227 #define IAMTimelineObj_GetPropertySetter(This,setter) (This)->lpVtbl->GetPropertySetter(This,setter)
   2228 #define IAMTimelineObj_SetPropertySetter(This,setter) (This)->lpVtbl->SetPropertySetter(This,setter)
   2229 #define IAMTimelineObj_GetSubObject(This,obj) (This)->lpVtbl->GetSubObject(This,obj)
   2230 #define IAMTimelineObj_SetSubObject(This,obj) (This)->lpVtbl->SetSubObject(This,obj)
   2231 #define IAMTimelineObj_SetSubObjectGUID(This,guid) (This)->lpVtbl->SetSubObjectGUID(This,guid)
   2232 #define IAMTimelineObj_SetSubObjectGUIDB(This,guidb) (This)->lpVtbl->SetSubObjectGUIDB(This,guidb)
   2233 #define IAMTimelineObj_GetSubObjectGUID(This,guid) (This)->lpVtbl->GetSubObjectGUID(This,guid)
   2234 #define IAMTimelineObj_GetSubObjectGUIDB(This,guidb) (This)->lpVtbl->GetSubObjectGUIDB(This,guidb)
   2235 #define IAMTimelineObj_GetSubObjectLoaded(This,loaded) (This)->lpVtbl->GetSubObjectLoaded(This,loaded)
   2236 #define IAMTimelineObj_GetTimelineType(This,type) (This)->lpVtbl->GetTimelineType(This,type)
   2237 #define IAMTimelineObj_SetTimelineType(This,type) (This)->lpVtbl->SetTimelineType(This,type)
   2238 #define IAMTimelineObj_GetUserID(This,id) (This)->lpVtbl->GetUserID(This,id)
   2239 #define IAMTimelineObj_SetUserID(This,id) (This)->lpVtbl->SetUserID(This,id)
   2240 #define IAMTimelineObj_GetGenID(This,id) (This)->lpVtbl->GetGenID(This,id)
   2241 #define IAMTimelineObj_GetUserName(This,name) (This)->lpVtbl->GetUserName(This,name)
   2242 #define IAMTimelineObj_SetUserName(This,name) (This)->lpVtbl->SetUserName(This,name)
   2243 #define IAMTimelineObj_GetUserData(This,data,size) (This)->lpVtbl->GetUserData(This,data,size)
   2244 #define IAMTimelineObj_SetUserData(This,data,size) (This)->lpVtbl->SetUserData(This,data,size)
   2245 #define IAMTimelineObj_GetMuted(This,muted) (This)->lpVtbl->GetMuted(This,muted)
   2246 #define IAMTimelineObj_SetMuted(This,muted) (This)->lpVtbl->SetMuted(This,muted)
   2247 #define IAMTimelineObj_GetLocked(This,locked) (This)->lpVtbl->GetLocked(This,locked)
   2248 #define IAMTimelineObj_SetLocked(This,locked) (This)->lpVtbl->SetLocked(This,locked)
   2249 #define IAMTimelineObj_GetDirtyRange(This,start,stop) (This)->lpVtbl->GetDirtyRange(This,start,stop)
   2250 #define IAMTimelineObj_GetDirtyRange2(This,start,stop) (This)->lpVtbl->GetDirtyRange2(This,start,stop)
   2251 #define IAMTimelineObj_SetDirtyRange(This,start,stop) (This)->lpVtbl->SetDirtyRange(This,start,stop)
   2252 #define IAMTimelineObj_SetDirtyRange2(This,start,stop) (This)->lpVtbl->SetDirtyRange2(This,start,stop)
   2253 #define IAMTimelineObj_ClearDirty(This) (This)->lpVtbl->ClearDirty(This)
   2254 #define IAMTimelineObj_Remove(This) (This)->lpVtbl->Remove(This)
   2255 #define IAMTimelineObj_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
   2256 #define IAMTimelineObj_GetTimelineNoRef(This,timeline) (This)->lpVtbl->GetTimelineNoRef(This,timeline)
   2257 #define IAMTimelineObj_GetGroupIBelongTo(This,group) (This)->lpVtbl->GetGroupIBelongTo(This,group)
   2258 #define IAMTimelineObj_GetEmbedDepth(This,depth) (This)->lpVtbl->GetEmbedDepth(This,depth)
   2259 #else
   2260 /*** IUnknown methods ***/
   2261 static inline HRESULT IAMTimelineObj_QueryInterface(IAMTimelineObj* This,REFIID riid,void **ppvObject) {
   2262     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2263 }
   2264 static inline ULONG IAMTimelineObj_AddRef(IAMTimelineObj* This) {
   2265     return This->lpVtbl->AddRef(This);
   2266 }
   2267 static inline ULONG IAMTimelineObj_Release(IAMTimelineObj* This) {
   2268     return This->lpVtbl->Release(This);
   2269 }
   2270 /*** IAMTimelineObj methods ***/
   2271 static inline HRESULT IAMTimelineObj_GetStartStop(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
   2272     return This->lpVtbl->GetStartStop(This,start,stop);
   2273 }
   2274 static inline HRESULT IAMTimelineObj_GetStartStop2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
   2275     return This->lpVtbl->GetStartStop2(This,start,stop);
   2276 }
   2277 static inline HRESULT IAMTimelineObj_FixTimes(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
   2278     return This->lpVtbl->FixTimes(This,start,stop);
   2279 }
   2280 static inline HRESULT IAMTimelineObj_FixTimes2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
   2281     return This->lpVtbl->FixTimes2(This,start,stop);
   2282 }
   2283 static inline HRESULT IAMTimelineObj_SetStartStop(IAMTimelineObj* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
   2284     return This->lpVtbl->SetStartStop(This,start,stop);
   2285 }
   2286 static inline HRESULT IAMTimelineObj_SetStartStop2(IAMTimelineObj* This,REFTIME start,REFTIME stop) {
   2287     return This->lpVtbl->SetStartStop2(This,start,stop);
   2288 }
   2289 static inline HRESULT IAMTimelineObj_GetPropertySetter(IAMTimelineObj* This,IPropertySetter **setter) {
   2290     return This->lpVtbl->GetPropertySetter(This,setter);
   2291 }
   2292 static inline HRESULT IAMTimelineObj_SetPropertySetter(IAMTimelineObj* This,IPropertySetter *setter) {
   2293     return This->lpVtbl->SetPropertySetter(This,setter);
   2294 }
   2295 static inline HRESULT IAMTimelineObj_GetSubObject(IAMTimelineObj* This,IUnknown **obj) {
   2296     return This->lpVtbl->GetSubObject(This,obj);
   2297 }
   2298 static inline HRESULT IAMTimelineObj_SetSubObject(IAMTimelineObj* This,IUnknown *obj) {
   2299     return This->lpVtbl->SetSubObject(This,obj);
   2300 }
   2301 static inline HRESULT IAMTimelineObj_SetSubObjectGUID(IAMTimelineObj* This,GUID guid) {
   2302     return This->lpVtbl->SetSubObjectGUID(This,guid);
   2303 }
   2304 static inline HRESULT IAMTimelineObj_SetSubObjectGUIDB(IAMTimelineObj* This,BSTR guidb) {
   2305     return This->lpVtbl->SetSubObjectGUIDB(This,guidb);
   2306 }
   2307 static inline HRESULT IAMTimelineObj_GetSubObjectGUID(IAMTimelineObj* This,GUID *guid) {
   2308     return This->lpVtbl->GetSubObjectGUID(This,guid);
   2309 }
   2310 static inline HRESULT IAMTimelineObj_GetSubObjectGUIDB(IAMTimelineObj* This,BSTR *guidb) {
   2311     return This->lpVtbl->GetSubObjectGUIDB(This,guidb);
   2312 }
   2313 static inline HRESULT IAMTimelineObj_GetSubObjectLoaded(IAMTimelineObj* This,WINBOOL *loaded) {
   2314     return This->lpVtbl->GetSubObjectLoaded(This,loaded);
   2315 }
   2316 static inline HRESULT IAMTimelineObj_GetTimelineType(IAMTimelineObj* This,TIMELINE_MAJOR_TYPE *type) {
   2317     return This->lpVtbl->GetTimelineType(This,type);
   2318 }
   2319 static inline HRESULT IAMTimelineObj_SetTimelineType(IAMTimelineObj* This,TIMELINE_MAJOR_TYPE type) {
   2320     return This->lpVtbl->SetTimelineType(This,type);
   2321 }
   2322 static inline HRESULT IAMTimelineObj_GetUserID(IAMTimelineObj* This,LONG *id) {
   2323     return This->lpVtbl->GetUserID(This,id);
   2324 }
   2325 static inline HRESULT IAMTimelineObj_SetUserID(IAMTimelineObj* This,LONG id) {
   2326     return This->lpVtbl->SetUserID(This,id);
   2327 }
   2328 static inline HRESULT IAMTimelineObj_GetGenID(IAMTimelineObj* This,LONG *id) {
   2329     return This->lpVtbl->GetGenID(This,id);
   2330 }
   2331 static inline HRESULT IAMTimelineObj_GetUserName(IAMTimelineObj* This,BSTR *name) {
   2332     return This->lpVtbl->GetUserName(This,name);
   2333 }
   2334 static inline HRESULT IAMTimelineObj_SetUserName(IAMTimelineObj* This,BSTR name) {
   2335     return This->lpVtbl->SetUserName(This,name);
   2336 }
   2337 static inline HRESULT IAMTimelineObj_GetUserData(IAMTimelineObj* This,BYTE *data,LONG *size) {
   2338     return This->lpVtbl->GetUserData(This,data,size);
   2339 }
   2340 static inline HRESULT IAMTimelineObj_SetUserData(IAMTimelineObj* This,BYTE *data,LONG size) {
   2341     return This->lpVtbl->SetUserData(This,data,size);
   2342 }
   2343 static inline HRESULT IAMTimelineObj_GetMuted(IAMTimelineObj* This,WINBOOL *muted) {
   2344     return This->lpVtbl->GetMuted(This,muted);
   2345 }
   2346 static inline HRESULT IAMTimelineObj_SetMuted(IAMTimelineObj* This,WINBOOL muted) {
   2347     return This->lpVtbl->SetMuted(This,muted);
   2348 }
   2349 static inline HRESULT IAMTimelineObj_GetLocked(IAMTimelineObj* This,WINBOOL *locked) {
   2350     return This->lpVtbl->GetLocked(This,locked);
   2351 }
   2352 static inline HRESULT IAMTimelineObj_SetLocked(IAMTimelineObj* This,WINBOOL locked) {
   2353     return This->lpVtbl->SetLocked(This,locked);
   2354 }
   2355 static inline HRESULT IAMTimelineObj_GetDirtyRange(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
   2356     return This->lpVtbl->GetDirtyRange(This,start,stop);
   2357 }
   2358 static inline HRESULT IAMTimelineObj_GetDirtyRange2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
   2359     return This->lpVtbl->GetDirtyRange2(This,start,stop);
   2360 }
   2361 static inline HRESULT IAMTimelineObj_SetDirtyRange(IAMTimelineObj* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
   2362     return This->lpVtbl->SetDirtyRange(This,start,stop);
   2363 }
   2364 static inline HRESULT IAMTimelineObj_SetDirtyRange2(IAMTimelineObj* This,REFTIME start,REFTIME stop) {
   2365     return This->lpVtbl->SetDirtyRange2(This,start,stop);
   2366 }
   2367 static inline HRESULT IAMTimelineObj_ClearDirty(IAMTimelineObj* This) {
   2368     return This->lpVtbl->ClearDirty(This);
   2369 }
   2370 static inline HRESULT IAMTimelineObj_Remove(IAMTimelineObj* This) {
   2371     return This->lpVtbl->Remove(This);
   2372 }
   2373 static inline HRESULT IAMTimelineObj_RemoveAll(IAMTimelineObj* This) {
   2374     return This->lpVtbl->RemoveAll(This);
   2375 }
   2376 static inline HRESULT IAMTimelineObj_GetTimelineNoRef(IAMTimelineObj* This,IAMTimeline **timeline) {
   2377     return This->lpVtbl->GetTimelineNoRef(This,timeline);
   2378 }
   2379 static inline HRESULT IAMTimelineObj_GetGroupIBelongTo(IAMTimelineObj* This,IAMTimelineGroup **group) {
   2380     return This->lpVtbl->GetGroupIBelongTo(This,group);
   2381 }
   2382 static inline HRESULT IAMTimelineObj_GetEmbedDepth(IAMTimelineObj* This,LONG *depth) {
   2383     return This->lpVtbl->GetEmbedDepth(This,depth);
   2384 }
   2385 #endif
   2386 #endif
   2387 
   2388 #endif
   2389 
   2390 
   2391 #endif  /* __IAMTimelineObj_INTERFACE_DEFINED__ */
   2392 
   2393 /*****************************************************************************
   2394  * IAMTimelineSrc interface
   2395  */
   2396 #ifndef __IAMTimelineSrc_INTERFACE_DEFINED__
   2397 #define __IAMTimelineSrc_INTERFACE_DEFINED__
   2398 
   2399 DEFINE_GUID(IID_IAMTimelineSrc, 0x78530b79, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
   2400 #if defined(__cplusplus) && !defined(CINTERFACE)
   2401 MIDL_INTERFACE("78530b79-61f9-11d2-8cad-00a024580902")
   2402 IAMTimelineSrc : public IUnknown
   2403 {
   2404     virtual HRESULT STDMETHODCALLTYPE GetMediaTimes(
   2405         REFERENCE_TIME *start,
   2406         REFERENCE_TIME *stop) = 0;
   2407 
   2408     virtual HRESULT STDMETHODCALLTYPE GetMediaTimes2(
   2409         REFTIME *start,
   2410         REFTIME *stop) = 0;
   2411 
   2412     virtual HRESULT STDMETHODCALLTYPE ModifyStopTime(
   2413         REFERENCE_TIME stop) = 0;
   2414 
   2415     virtual HRESULT STDMETHODCALLTYPE ModifyStopTime2(
   2416         REFTIME stop) = 0;
   2417 
   2418     virtual HRESULT STDMETHODCALLTYPE FixMediaTimes(
   2419         REFERENCE_TIME *start,
   2420         REFERENCE_TIME *stop) = 0;
   2421 
   2422     virtual HRESULT STDMETHODCALLTYPE FixMediaTimes2(
   2423         REFTIME *start,
   2424         REFTIME *stop) = 0;
   2425 
   2426     virtual HRESULT STDMETHODCALLTYPE SetMediaTimes(
   2427         REFERENCE_TIME Start,
   2428         REFERENCE_TIME Stop) = 0;
   2429 
   2430     virtual HRESULT STDMETHODCALLTYPE SetMediaTimes2(
   2431         REFTIME Start,
   2432         REFTIME Stop) = 0;
   2433 
   2434     virtual HRESULT STDMETHODCALLTYPE SetMediaLength(
   2435         REFERENCE_TIME length) = 0;
   2436 
   2437     virtual HRESULT STDMETHODCALLTYPE SetMediaLength2(
   2438         REFTIME length) = 0;
   2439 
   2440     virtual HRESULT STDMETHODCALLTYPE GetMediaLength(
   2441         REFERENCE_TIME *length) = 0;
   2442 
   2443     virtual HRESULT STDMETHODCALLTYPE GetMediaLength2(
   2444         REFTIME *length) = 0;
   2445 
   2446     virtual HRESULT STDMETHODCALLTYPE GetMediaName(
   2447         BSTR *name) = 0;
   2448 
   2449     virtual HRESULT STDMETHODCALLTYPE SetMediaName(
   2450         BSTR name) = 0;
   2451 
   2452     virtual HRESULT STDMETHODCALLTYPE SpliceWithNext(
   2453         IAMTimelineObj *next) = 0;
   2454 
   2455     virtual HRESULT STDMETHODCALLTYPE GetStreamNumber(
   2456         LONG *num) = 0;
   2457 
   2458     virtual HRESULT STDMETHODCALLTYPE SetStreamNumber(
   2459         LONG num) = 0;
   2460 
   2461     virtual HRESULT STDMETHODCALLTYPE IsNormalRate(
   2462         WINBOOL *normal) = 0;
   2463 
   2464     virtual HRESULT STDMETHODCALLTYPE GetDefaultFPS(
   2465         double *fps) = 0;
   2466 
   2467     virtual HRESULT STDMETHODCALLTYPE SetDefaultFPS(
   2468         double fps) = 0;
   2469 
   2470     virtual HRESULT STDMETHODCALLTYPE GetStretchMode(
   2471         int *mode) = 0;
   2472 
   2473     virtual HRESULT STDMETHODCALLTYPE SetStretchMode(
   2474         int mode) = 0;
   2475 
   2476 };
   2477 #ifdef __CRT_UUID_DECL
   2478 __CRT_UUID_DECL(IAMTimelineSrc, 0x78530b79, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
   2479 #endif
   2480 #else
   2481 typedef struct IAMTimelineSrcVtbl {
   2482     BEGIN_INTERFACE
   2483 
   2484     /*** IUnknown methods ***/
   2485     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2486         IAMTimelineSrc *This,
   2487         REFIID riid,
   2488         void **ppvObject);
   2489 
   2490     ULONG (STDMETHODCALLTYPE *AddRef)(
   2491         IAMTimelineSrc *This);
   2492 
   2493     ULONG (STDMETHODCALLTYPE *Release)(
   2494         IAMTimelineSrc *This);
   2495 
   2496     /*** IAMTimelineSrc methods ***/
   2497     HRESULT (STDMETHODCALLTYPE *GetMediaTimes)(
   2498         IAMTimelineSrc *This,
   2499         REFERENCE_TIME *start,
   2500         REFERENCE_TIME *stop);
   2501 
   2502     HRESULT (STDMETHODCALLTYPE *GetMediaTimes2)(
   2503         IAMTimelineSrc *This,
   2504         REFTIME *start,
   2505         REFTIME *stop);
   2506 
   2507     HRESULT (STDMETHODCALLTYPE *ModifyStopTime)(
   2508         IAMTimelineSrc *This,
   2509         REFERENCE_TIME stop);
   2510 
   2511     HRESULT (STDMETHODCALLTYPE *ModifyStopTime2)(
   2512         IAMTimelineSrc *This,
   2513         REFTIME stop);
   2514 
   2515     HRESULT (STDMETHODCALLTYPE *FixMediaTimes)(
   2516         IAMTimelineSrc *This,
   2517         REFERENCE_TIME *start,
   2518         REFERENCE_TIME *stop);
   2519 
   2520     HRESULT (STDMETHODCALLTYPE *FixMediaTimes2)(
   2521         IAMTimelineSrc *This,
   2522         REFTIME *start,
   2523         REFTIME *stop);
   2524 
   2525     HRESULT (STDMETHODCALLTYPE *SetMediaTimes)(
   2526         IAMTimelineSrc *This,
   2527         REFERENCE_TIME Start,
   2528         REFERENCE_TIME Stop);
   2529 
   2530     HRESULT (STDMETHODCALLTYPE *SetMediaTimes2)(
   2531         IAMTimelineSrc *This,
   2532         REFTIME Start,
   2533         REFTIME Stop);
   2534 
   2535     HRESULT (STDMETHODCALLTYPE *SetMediaLength)(
   2536         IAMTimelineSrc *This,
   2537         REFERENCE_TIME length);
   2538 
   2539     HRESULT (STDMETHODCALLTYPE *SetMediaLength2)(
   2540         IAMTimelineSrc *This,
   2541         REFTIME length);
   2542 
   2543     HRESULT (STDMETHODCALLTYPE *GetMediaLength)(
   2544         IAMTimelineSrc *This,
   2545         REFERENCE_TIME *length);
   2546 
   2547     HRESULT (STDMETHODCALLTYPE *GetMediaLength2)(
   2548         IAMTimelineSrc *This,
   2549         REFTIME *length);
   2550 
   2551     HRESULT (STDMETHODCALLTYPE *GetMediaName)(
   2552         IAMTimelineSrc *This,
   2553         BSTR *name);
   2554 
   2555     HRESULT (STDMETHODCALLTYPE *SetMediaName)(
   2556         IAMTimelineSrc *This,
   2557         BSTR name);
   2558 
   2559     HRESULT (STDMETHODCALLTYPE *SpliceWithNext)(
   2560         IAMTimelineSrc *This,
   2561         IAMTimelineObj *next);
   2562 
   2563     HRESULT (STDMETHODCALLTYPE *GetStreamNumber)(
   2564         IAMTimelineSrc *This,
   2565         LONG *num);
   2566 
   2567     HRESULT (STDMETHODCALLTYPE *SetStreamNumber)(
   2568         IAMTimelineSrc *This,
   2569         LONG num);
   2570 
   2571     HRESULT (STDMETHODCALLTYPE *IsNormalRate)(
   2572         IAMTimelineSrc *This,
   2573         WINBOOL *normal);
   2574 
   2575     HRESULT (STDMETHODCALLTYPE *GetDefaultFPS)(
   2576         IAMTimelineSrc *This,
   2577         double *fps);
   2578 
   2579     HRESULT (STDMETHODCALLTYPE *SetDefaultFPS)(
   2580         IAMTimelineSrc *This,
   2581         double fps);
   2582 
   2583     HRESULT (STDMETHODCALLTYPE *GetStretchMode)(
   2584         IAMTimelineSrc *This,
   2585         int *mode);
   2586 
   2587     HRESULT (STDMETHODCALLTYPE *SetStretchMode)(
   2588         IAMTimelineSrc *This,
   2589         int mode);
   2590 
   2591     END_INTERFACE
   2592 } IAMTimelineSrcVtbl;
   2593 
   2594 interface IAMTimelineSrc {
   2595     CONST_VTBL IAMTimelineSrcVtbl* lpVtbl;
   2596 };
   2597 
   2598 #ifdef COBJMACROS
   2599 #ifndef WIDL_C_INLINE_WRAPPERS
   2600 /*** IUnknown methods ***/
   2601 #define IAMTimelineSrc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2602 #define IAMTimelineSrc_AddRef(This) (This)->lpVtbl->AddRef(This)
   2603 #define IAMTimelineSrc_Release(This) (This)->lpVtbl->Release(This)
   2604 /*** IAMTimelineSrc methods ***/
   2605 #define IAMTimelineSrc_GetMediaTimes(This,start,stop) (This)->lpVtbl->GetMediaTimes(This,start,stop)
   2606 #define IAMTimelineSrc_GetMediaTimes2(This,start,stop) (This)->lpVtbl->GetMediaTimes2(This,start,stop)
   2607 #define IAMTimelineSrc_ModifyStopTime(This,stop) (This)->lpVtbl->ModifyStopTime(This,stop)
   2608 #define IAMTimelineSrc_ModifyStopTime2(This,stop) (This)->lpVtbl->ModifyStopTime2(This,stop)
   2609 #define IAMTimelineSrc_FixMediaTimes(This,start,stop) (This)->lpVtbl->FixMediaTimes(This,start,stop)
   2610 #define IAMTimelineSrc_FixMediaTimes2(This,start,stop) (This)->lpVtbl->FixMediaTimes2(This,start,stop)
   2611 #define IAMTimelineSrc_SetMediaTimes(This,Start,Stop) (This)->lpVtbl->SetMediaTimes(This,Start,Stop)
   2612 #define IAMTimelineSrc_SetMediaTimes2(This,Start,Stop) (This)->lpVtbl->SetMediaTimes2(This,Start,Stop)
   2613 #define IAMTimelineSrc_SetMediaLength(This,length) (This)->lpVtbl->SetMediaLength(This,length)
   2614 #define IAMTimelineSrc_SetMediaLength2(This,length) (This)->lpVtbl->SetMediaLength2(This,length)
   2615 #define IAMTimelineSrc_GetMediaLength(This,length) (This)->lpVtbl->GetMediaLength(This,length)
   2616 #define IAMTimelineSrc_GetMediaLength2(This,length) (This)->lpVtbl->GetMediaLength2(This,length)
   2617 #define IAMTimelineSrc_GetMediaName(This,name) (This)->lpVtbl->GetMediaName(This,name)
   2618 #define IAMTimelineSrc_SetMediaName(This,name) (This)->lpVtbl->SetMediaName(This,name)
   2619 #define IAMTimelineSrc_SpliceWithNext(This,next) (This)->lpVtbl->SpliceWithNext(This,next)
   2620 #define IAMTimelineSrc_GetStreamNumber(This,num) (This)->lpVtbl->GetStreamNumber(This,num)
   2621 #define IAMTimelineSrc_SetStreamNumber(This,num) (This)->lpVtbl->SetStreamNumber(This,num)
   2622 #define IAMTimelineSrc_IsNormalRate(This,normal) (This)->lpVtbl->IsNormalRate(This,normal)
   2623 #define IAMTimelineSrc_GetDefaultFPS(This,fps) (This)->lpVtbl->GetDefaultFPS(This,fps)
   2624 #define IAMTimelineSrc_SetDefaultFPS(This,fps) (This)->lpVtbl->SetDefaultFPS(This,fps)
   2625 #define IAMTimelineSrc_GetStretchMode(This,mode) (This)->lpVtbl->GetStretchMode(This,mode)
   2626 #define IAMTimelineSrc_SetStretchMode(This,mode) (This)->lpVtbl->SetStretchMode(This,mode)
   2627 #else
   2628 /*** IUnknown methods ***/
   2629 static inline HRESULT IAMTimelineSrc_QueryInterface(IAMTimelineSrc* This,REFIID riid,void **ppvObject) {
   2630     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2631 }
   2632 static inline ULONG IAMTimelineSrc_AddRef(IAMTimelineSrc* This) {
   2633     return This->lpVtbl->AddRef(This);
   2634 }
   2635 static inline ULONG IAMTimelineSrc_Release(IAMTimelineSrc* This) {
   2636     return This->lpVtbl->Release(This);
   2637 }
   2638 /*** IAMTimelineSrc methods ***/
   2639 static inline HRESULT IAMTimelineSrc_GetMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
   2640     return This->lpVtbl->GetMediaTimes(This,start,stop);
   2641 }
   2642 static inline HRESULT IAMTimelineSrc_GetMediaTimes2(IAMTimelineSrc* This,REFTIME *start,REFTIME *stop) {
   2643     return This->lpVtbl->GetMediaTimes2(This,start,stop);
   2644 }
   2645 static inline HRESULT IAMTimelineSrc_ModifyStopTime(IAMTimelineSrc* This,REFERENCE_TIME stop) {
   2646     return This->lpVtbl->ModifyStopTime(This,stop);
   2647 }
   2648 static inline HRESULT IAMTimelineSrc_ModifyStopTime2(IAMTimelineSrc* This,REFTIME stop) {
   2649     return This->lpVtbl->ModifyStopTime2(This,stop);
   2650 }
   2651 static inline HRESULT IAMTimelineSrc_FixMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
   2652     return This->lpVtbl->FixMediaTimes(This,start,stop);
   2653 }
   2654 static inline HRESULT IAMTimelineSrc_FixMediaTimes2(IAMTimelineSrc* This,REFTIME *start,REFTIME *stop) {
   2655     return This->lpVtbl->FixMediaTimes2(This,start,stop);
   2656 }
   2657 static inline HRESULT IAMTimelineSrc_SetMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME Start,REFERENCE_TIME Stop) {
   2658     return This->lpVtbl->SetMediaTimes(This,Start,Stop);
   2659 }
   2660 static inline HRESULT IAMTimelineSrc_SetMediaTimes2(IAMTimelineSrc* This,REFTIME Start,REFTIME Stop) {
   2661     return This->lpVtbl->SetMediaTimes2(This,Start,Stop);
   2662 }
   2663 static inline HRESULT IAMTimelineSrc_SetMediaLength(IAMTimelineSrc* This,REFERENCE_TIME length) {
   2664     return This->lpVtbl->SetMediaLength(This,length);
   2665 }
   2666 static inline HRESULT IAMTimelineSrc_SetMediaLength2(IAMTimelineSrc* This,REFTIME length) {
   2667     return This->lpVtbl->SetMediaLength2(This,length);
   2668 }
   2669 static inline HRESULT IAMTimelineSrc_GetMediaLength(IAMTimelineSrc* This,REFERENCE_TIME *length) {
   2670     return This->lpVtbl->GetMediaLength(This,length);
   2671 }
   2672 static inline HRESULT IAMTimelineSrc_GetMediaLength2(IAMTimelineSrc* This,REFTIME *length) {
   2673     return This->lpVtbl->GetMediaLength2(This,length);
   2674 }
   2675 static inline HRESULT IAMTimelineSrc_GetMediaName(IAMTimelineSrc* This,BSTR *name) {
   2676     return This->lpVtbl->GetMediaName(This,name);
   2677 }
   2678 static inline HRESULT IAMTimelineSrc_SetMediaName(IAMTimelineSrc* This,BSTR name) {
   2679     return This->lpVtbl->SetMediaName(This,name);
   2680 }
   2681 static inline HRESULT IAMTimelineSrc_SpliceWithNext(IAMTimelineSrc* This,IAMTimelineObj *next) {
   2682     return This->lpVtbl->SpliceWithNext(This,next);
   2683 }
   2684 static inline HRESULT IAMTimelineSrc_GetStreamNumber(IAMTimelineSrc* This,LONG *num) {
   2685     return This->lpVtbl->GetStreamNumber(This,num);
   2686 }
   2687 static inline HRESULT IAMTimelineSrc_SetStreamNumber(IAMTimelineSrc* This,LONG num) {
   2688     return This->lpVtbl->SetStreamNumber(This,num);
   2689 }
   2690 static inline HRESULT IAMTimelineSrc_IsNormalRate(IAMTimelineSrc* This,WINBOOL *normal) {
   2691     return This->lpVtbl->IsNormalRate(This,normal);
   2692 }
   2693 static inline HRESULT IAMTimelineSrc_GetDefaultFPS(IAMTimelineSrc* This,double *fps) {
   2694     return This->lpVtbl->GetDefaultFPS(This,fps);
   2695 }
   2696 static inline HRESULT IAMTimelineSrc_SetDefaultFPS(IAMTimelineSrc* This,double fps) {
   2697     return This->lpVtbl->SetDefaultFPS(This,fps);
   2698 }
   2699 static inline HRESULT IAMTimelineSrc_GetStretchMode(IAMTimelineSrc* This,int *mode) {
   2700     return This->lpVtbl->GetStretchMode(This,mode);
   2701 }
   2702 static inline HRESULT IAMTimelineSrc_SetStretchMode(IAMTimelineSrc* This,int mode) {
   2703     return This->lpVtbl->SetStretchMode(This,mode);
   2704 }
   2705 #endif
   2706 #endif
   2707 
   2708 #endif
   2709 
   2710 
   2711 #endif  /* __IAMTimelineSrc_INTERFACE_DEFINED__ */
   2712 
   2713 enum {
   2714     E_NOTINTREE = 0x80040400,
   2715     E_RENDER_ENGINE_IS_BROKEN = 0x80040401,
   2716     E_MUST_INIT_RENDERER = 0x80040402,
   2717     E_NOTDETERMINED = 0x80040403,
   2718     E_NO_TIMELINE = 0x80040404,
   2719     S_WARN_OUTPUTRESET = 40404
   2720 };
   2721 /* Begin additional prototypes for all interfaces */
   2722 
   2723 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   2724 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   2725 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   2726 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   2727 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
   2728 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
   2729 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
   2730 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
   2731 
   2732 /* End additional prototypes */
   2733 
   2734 #ifdef __cplusplus
   2735 }
   2736 #endif
   2737 
   2738 #endif /* __qedit_h__ */