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