1/*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/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__
22typedef interface ISampleGrabberCB ISampleGrabberCB;
23#endif
24
25#ifndef __ISampleGrabber_FWD_DEFINED__
26#define __ISampleGrabber_FWD_DEFINED__
27typedef interface ISampleGrabber ISampleGrabber;
28#endif
29
30#ifndef __IMediaDet_FWD_DEFINED__
31#define __IMediaDet_FWD_DEFINED__
32typedef interface IMediaDet IMediaDet;
33#endif
34
35#ifndef __MediaDet_FWD_DEFINED__
36#define __MediaDet_FWD_DEFINED__
37#ifdef __cplusplus
38typedef class MediaDet MediaDet;
39#else
40typedef struct MediaDet MediaDet;
41#endif /* defined __cplusplus */
42#endif /* defined __MediaDet_FWD_DEFINED__ */
43
44/* Headers for imported files */
45
46#include <oaidl.h>
47#include <ocidl.h>
48#include <amstream.h>
49#include <msxml.h>
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
55/*****************************************************************************
56 * ISampleGrabberCB interface
57 */
58#ifndef __ISampleGrabberCB_INTERFACE_DEFINED__
59#define __ISampleGrabberCB_INTERFACE_DEFINED__
60
61DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85);
62#if defined(__cplusplus) && !defined(CINTERFACE)
63MIDL_INTERFACE("0579154a-2b53-4994-b0d0-e773148eff85")
64ISampleGrabberCB : public IUnknown
65{
66    virtual HRESULT STDMETHODCALLTYPE SampleCB(
67        double SampleTime,
68        IMediaSample *pSample) = 0;
69
70    virtual HRESULT STDMETHODCALLTYPE BufferCB(
71        double SampleTime,
72        BYTE *pBuffer,
73        LONG BufferLen) = 0;
74
75};
76#ifdef __CRT_UUID_DECL
77__CRT_UUID_DECL(ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85)
78#endif
79#else
80typedef struct ISampleGrabberCBVtbl {
81    BEGIN_INTERFACE
82
83    /*** IUnknown methods ***/
84    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
85        ISampleGrabberCB* This,
86        REFIID riid,
87        void **ppvObject);
88
89    ULONG (STDMETHODCALLTYPE *AddRef)(
90        ISampleGrabberCB* This);
91
92    ULONG (STDMETHODCALLTYPE *Release)(
93        ISampleGrabberCB* This);
94
95    /*** ISampleGrabberCB methods ***/
96    HRESULT (STDMETHODCALLTYPE *SampleCB)(
97        ISampleGrabberCB* This,
98        double SampleTime,
99        IMediaSample *pSample);
100
101    HRESULT (STDMETHODCALLTYPE *BufferCB)(
102        ISampleGrabberCB* This,
103        double SampleTime,
104        BYTE *pBuffer,
105        LONG BufferLen);
106
107    END_INTERFACE
108} ISampleGrabberCBVtbl;
109interface ISampleGrabberCB {
110    CONST_VTBL ISampleGrabberCBVtbl* lpVtbl;
111};
112
113#ifdef COBJMACROS
114#ifndef WIDL_C_INLINE_WRAPPERS
115/*** IUnknown methods ***/
116#define ISampleGrabberCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
117#define ISampleGrabberCB_AddRef(This) (This)->lpVtbl->AddRef(This)
118#define ISampleGrabberCB_Release(This) (This)->lpVtbl->Release(This)
119/*** ISampleGrabberCB methods ***/
120#define ISampleGrabberCB_SampleCB(This,SampleTime,pSample) (This)->lpVtbl->SampleCB(This,SampleTime,pSample)
121#define ISampleGrabberCB_BufferCB(This,SampleTime,pBuffer,BufferLen) (This)->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen)
122#else
123/*** IUnknown methods ***/
124static FORCEINLINE HRESULT ISampleGrabberCB_QueryInterface(ISampleGrabberCB* This,REFIID riid,void **ppvObject) {
125    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
126}
127static FORCEINLINE ULONG ISampleGrabberCB_AddRef(ISampleGrabberCB* This) {
128    return This->lpVtbl->AddRef(This);
129}
130static FORCEINLINE ULONG ISampleGrabberCB_Release(ISampleGrabberCB* This) {
131    return This->lpVtbl->Release(This);
132}
133/*** ISampleGrabberCB methods ***/
134static FORCEINLINE HRESULT ISampleGrabberCB_SampleCB(ISampleGrabberCB* This,double SampleTime,IMediaSample *pSample) {
135    return This->lpVtbl->SampleCB(This,SampleTime,pSample);
136}
137static FORCEINLINE HRESULT ISampleGrabberCB_BufferCB(ISampleGrabberCB* This,double SampleTime,BYTE *pBuffer,LONG BufferLen) {
138    return This->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen);
139}
140#endif
141#endif
142
143#endif
144
145HRESULT STDMETHODCALLTYPE ISampleGrabberCB_SampleCB_Proxy(
146    ISampleGrabberCB* This,
147    double SampleTime,
148    IMediaSample *pSample);
149void __RPC_STUB ISampleGrabberCB_SampleCB_Stub(
150    IRpcStubBuffer* This,
151    IRpcChannelBuffer* pRpcChannelBuffer,
152    PRPC_MESSAGE pRpcMessage,
153    DWORD* pdwStubPhase);
154HRESULT STDMETHODCALLTYPE ISampleGrabberCB_BufferCB_Proxy(
155    ISampleGrabberCB* This,
156    double SampleTime,
157    BYTE *pBuffer,
158    LONG BufferLen);
159void __RPC_STUB ISampleGrabberCB_BufferCB_Stub(
160    IRpcStubBuffer* This,
161    IRpcChannelBuffer* pRpcChannelBuffer,
162    PRPC_MESSAGE pRpcMessage,
163    DWORD* pdwStubPhase);
164
165#endif  /* __ISampleGrabberCB_INTERFACE_DEFINED__ */
166
167/*****************************************************************************
168 * ISampleGrabber interface
169 */
170#ifndef __ISampleGrabber_INTERFACE_DEFINED__
171#define __ISampleGrabber_INTERFACE_DEFINED__
172
173DEFINE_GUID(IID_ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f);
174#if defined(__cplusplus) && !defined(CINTERFACE)
175MIDL_INTERFACE("6b652fff-11fe-4fce-92ad-0266b5d7c78f")
176ISampleGrabber : public IUnknown
177{
178    virtual HRESULT STDMETHODCALLTYPE SetOneShot(
179        WINBOOL OneShot) = 0;
180
181    virtual HRESULT STDMETHODCALLTYPE SetMediaType(
182        const AM_MEDIA_TYPE *pType) = 0;
183
184    virtual HRESULT STDMETHODCALLTYPE GetConnectedMediaType(
185        AM_MEDIA_TYPE *pType) = 0;
186
187    virtual HRESULT STDMETHODCALLTYPE SetBufferSamples(
188        WINBOOL BufferThem) = 0;
189
190    virtual HRESULT STDMETHODCALLTYPE GetCurrentBuffer(
191        LONG *pBufferSize,
192        LONG *pBuffer) = 0;
193
194    virtual HRESULT STDMETHODCALLTYPE GetCurrentSample(
195        IMediaSample **ppSample) = 0;
196
197    virtual HRESULT STDMETHODCALLTYPE SetCallback(
198        ISampleGrabberCB *pCallback,
199        LONG WhichMethodToCallback) = 0;
200
201};
202#ifdef __CRT_UUID_DECL
203__CRT_UUID_DECL(ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f)
204#endif
205#else
206typedef struct ISampleGrabberVtbl {
207    BEGIN_INTERFACE
208
209    /*** IUnknown methods ***/
210    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
211        ISampleGrabber* This,
212        REFIID riid,
213        void **ppvObject);
214
215    ULONG (STDMETHODCALLTYPE *AddRef)(
216        ISampleGrabber* This);
217
218    ULONG (STDMETHODCALLTYPE *Release)(
219        ISampleGrabber* This);
220
221    /*** ISampleGrabber methods ***/
222    HRESULT (STDMETHODCALLTYPE *SetOneShot)(
223        ISampleGrabber* This,
224        WINBOOL OneShot);
225
226    HRESULT (STDMETHODCALLTYPE *SetMediaType)(
227        ISampleGrabber* This,
228        const AM_MEDIA_TYPE *pType);
229
230    HRESULT (STDMETHODCALLTYPE *GetConnectedMediaType)(
231        ISampleGrabber* This,
232        AM_MEDIA_TYPE *pType);
233
234    HRESULT (STDMETHODCALLTYPE *SetBufferSamples)(
235        ISampleGrabber* This,
236        WINBOOL BufferThem);
237
238    HRESULT (STDMETHODCALLTYPE *GetCurrentBuffer)(
239        ISampleGrabber* This,
240        LONG *pBufferSize,
241        LONG *pBuffer);
242
243    HRESULT (STDMETHODCALLTYPE *GetCurrentSample)(
244        ISampleGrabber* This,
245        IMediaSample **ppSample);
246
247    HRESULT (STDMETHODCALLTYPE *SetCallback)(
248        ISampleGrabber* This,
249        ISampleGrabberCB *pCallback,
250        LONG WhichMethodToCallback);
251
252    END_INTERFACE
253} ISampleGrabberVtbl;
254interface ISampleGrabber {
255    CONST_VTBL ISampleGrabberVtbl* lpVtbl;
256};
257
258#ifdef COBJMACROS
259#ifndef WIDL_C_INLINE_WRAPPERS
260/*** IUnknown methods ***/
261#define ISampleGrabber_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
262#define ISampleGrabber_AddRef(This) (This)->lpVtbl->AddRef(This)
263#define ISampleGrabber_Release(This) (This)->lpVtbl->Release(This)
264/*** ISampleGrabber methods ***/
265#define ISampleGrabber_SetOneShot(This,OneShot) (This)->lpVtbl->SetOneShot(This,OneShot)
266#define ISampleGrabber_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType)
267#define ISampleGrabber_GetConnectedMediaType(This,pType) (This)->lpVtbl->GetConnectedMediaType(This,pType)
268#define ISampleGrabber_SetBufferSamples(This,BufferThem) (This)->lpVtbl->SetBufferSamples(This,BufferThem)
269#define ISampleGrabber_GetCurrentBuffer(This,pBufferSize,pBuffer) (This)->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer)
270#define ISampleGrabber_GetCurrentSample(This,ppSample) (This)->lpVtbl->GetCurrentSample(This,ppSample)
271#define ISampleGrabber_SetCallback(This,pCallback,WhichMethodToCallback) (This)->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback)
272#else
273/*** IUnknown methods ***/
274static FORCEINLINE HRESULT ISampleGrabber_QueryInterface(ISampleGrabber* This,REFIID riid,void **ppvObject) {
275    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
276}
277static FORCEINLINE ULONG ISampleGrabber_AddRef(ISampleGrabber* This) {
278    return This->lpVtbl->AddRef(This);
279}
280static FORCEINLINE ULONG ISampleGrabber_Release(ISampleGrabber* This) {
281    return This->lpVtbl->Release(This);
282}
283/*** ISampleGrabber methods ***/
284static FORCEINLINE HRESULT ISampleGrabber_SetOneShot(ISampleGrabber* This,WINBOOL OneShot) {
285    return This->lpVtbl->SetOneShot(This,OneShot);
286}
287static FORCEINLINE HRESULT ISampleGrabber_SetMediaType(ISampleGrabber* This,const AM_MEDIA_TYPE *pType) {
288    return This->lpVtbl->SetMediaType(This,pType);
289}
290static FORCEINLINE HRESULT ISampleGrabber_GetConnectedMediaType(ISampleGrabber* This,AM_MEDIA_TYPE *pType) {
291    return This->lpVtbl->GetConnectedMediaType(This,pType);
292}
293static FORCEINLINE HRESULT ISampleGrabber_SetBufferSamples(ISampleGrabber* This,WINBOOL BufferThem) {
294    return This->lpVtbl->SetBufferSamples(This,BufferThem);
295}
296static FORCEINLINE HRESULT ISampleGrabber_GetCurrentBuffer(ISampleGrabber* This,LONG *pBufferSize,LONG *pBuffer) {
297    return This->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer);
298}
299static FORCEINLINE HRESULT ISampleGrabber_GetCurrentSample(ISampleGrabber* This,IMediaSample **ppSample) {
300    return This->lpVtbl->GetCurrentSample(This,ppSample);
301}
302static FORCEINLINE HRESULT ISampleGrabber_SetCallback(ISampleGrabber* This,ISampleGrabberCB *pCallback,LONG WhichMethodToCallback) {
303    return This->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback);
304}
305#endif
306#endif
307
308#endif
309
310HRESULT STDMETHODCALLTYPE ISampleGrabber_SetOneShot_Proxy(
311    ISampleGrabber* This,
312    WINBOOL OneShot);
313void __RPC_STUB ISampleGrabber_SetOneShot_Stub(
314    IRpcStubBuffer* This,
315    IRpcChannelBuffer* pRpcChannelBuffer,
316    PRPC_MESSAGE pRpcMessage,
317    DWORD* pdwStubPhase);
318HRESULT STDMETHODCALLTYPE ISampleGrabber_SetMediaType_Proxy(
319    ISampleGrabber* This,
320    const AM_MEDIA_TYPE *pType);
321void __RPC_STUB ISampleGrabber_SetMediaType_Stub(
322    IRpcStubBuffer* This,
323    IRpcChannelBuffer* pRpcChannelBuffer,
324    PRPC_MESSAGE pRpcMessage,
325    DWORD* pdwStubPhase);
326HRESULT STDMETHODCALLTYPE ISampleGrabber_GetConnectedMediaType_Proxy(
327    ISampleGrabber* This,
328    AM_MEDIA_TYPE *pType);
329void __RPC_STUB ISampleGrabber_GetConnectedMediaType_Stub(
330    IRpcStubBuffer* This,
331    IRpcChannelBuffer* pRpcChannelBuffer,
332    PRPC_MESSAGE pRpcMessage,
333    DWORD* pdwStubPhase);
334HRESULT STDMETHODCALLTYPE ISampleGrabber_SetBufferSamples_Proxy(
335    ISampleGrabber* This,
336    WINBOOL BufferThem);
337void __RPC_STUB ISampleGrabber_SetBufferSamples_Stub(
338    IRpcStubBuffer* This,
339    IRpcChannelBuffer* pRpcChannelBuffer,
340    PRPC_MESSAGE pRpcMessage,
341    DWORD* pdwStubPhase);
342HRESULT STDMETHODCALLTYPE ISampleGrabber_GetCurrentBuffer_Proxy(
343    ISampleGrabber* This,
344    LONG *pBufferSize,
345    LONG *pBuffer);
346void __RPC_STUB ISampleGrabber_GetCurrentBuffer_Stub(
347    IRpcStubBuffer* This,
348    IRpcChannelBuffer* pRpcChannelBuffer,
349    PRPC_MESSAGE pRpcMessage,
350    DWORD* pdwStubPhase);
351HRESULT STDMETHODCALLTYPE ISampleGrabber_GetCurrentSample_Proxy(
352    ISampleGrabber* This,
353    IMediaSample **ppSample);
354void __RPC_STUB ISampleGrabber_GetCurrentSample_Stub(
355    IRpcStubBuffer* This,
356    IRpcChannelBuffer* pRpcChannelBuffer,
357    PRPC_MESSAGE pRpcMessage,
358    DWORD* pdwStubPhase);
359HRESULT STDMETHODCALLTYPE ISampleGrabber_SetCallback_Proxy(
360    ISampleGrabber* This,
361    ISampleGrabberCB *pCallback,
362    LONG WhichMethodToCallback);
363void __RPC_STUB ISampleGrabber_SetCallback_Stub(
364    IRpcStubBuffer* This,
365    IRpcChannelBuffer* pRpcChannelBuffer,
366    PRPC_MESSAGE pRpcMessage,
367    DWORD* pdwStubPhase);
368
369#endif  /* __ISampleGrabber_INTERFACE_DEFINED__ */
370
371/*****************************************************************************
372 * IMediaDet interface
373 */
374#ifndef __IMediaDet_INTERFACE_DEFINED__
375#define __IMediaDet_INTERFACE_DEFINED__
376
377DEFINE_GUID(IID_IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
378#if defined(__cplusplus) && !defined(CINTERFACE)
379MIDL_INTERFACE("65bd0710-24d2-4ff7-9324-ed2e5d3abafa")
380IMediaDet : public IUnknown
381{
382    virtual HRESULT STDMETHODCALLTYPE get_Filter(
383        IUnknown **pVal) = 0;
384
385    virtual HRESULT STDMETHODCALLTYPE put_Filter(
386        IUnknown *newVal) = 0;
387
388    virtual HRESULT STDMETHODCALLTYPE get_OutputStreams(
389        LONG *pVal) = 0;
390
391    virtual HRESULT STDMETHODCALLTYPE get_CurrentStream(
392        LONG *pVal) = 0;
393
394    virtual HRESULT STDMETHODCALLTYPE put_CurrentStream(
395        LONG newVal) = 0;
396
397    virtual HRESULT STDMETHODCALLTYPE get_StreamType(
398        GUID *pVal) = 0;
399
400    virtual HRESULT STDMETHODCALLTYPE get_StreamTypeB(
401        BSTR *pVal) = 0;
402
403    virtual HRESULT STDMETHODCALLTYPE get_StreamLength(
404        double *pVal) = 0;
405
406    virtual HRESULT STDMETHODCALLTYPE get_Filename(
407        BSTR *pVal) = 0;
408
409    virtual HRESULT STDMETHODCALLTYPE put_Filename(
410        BSTR newVal) = 0;
411
412    virtual HRESULT STDMETHODCALLTYPE GetBitmapBits(
413        double StreamTime,
414        LONG *pBufferSize,
415        char *pBuffer,
416        LONG Width,
417        LONG Height) = 0;
418
419    virtual HRESULT STDMETHODCALLTYPE WriteBitmapBits(
420        double StreamTime,
421        LONG Width,
422        LONG Height,
423        BSTR Filename) = 0;
424
425    virtual HRESULT STDMETHODCALLTYPE get_StreamMediaType(
426        AM_MEDIA_TYPE *pVal) = 0;
427
428    virtual HRESULT STDMETHODCALLTYPE GetSampleGrabber(
429        ISampleGrabber **ppVal) = 0;
430
431    virtual HRESULT STDMETHODCALLTYPE get_FrameRate(
432        double *pVal) = 0;
433
434    virtual HRESULT STDMETHODCALLTYPE EnterBitmapGrabMode(
435        double SeekTime) = 0;
436
437};
438#ifdef __CRT_UUID_DECL
439__CRT_UUID_DECL(IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa)
440#endif
441#else
442typedef struct IMediaDetVtbl {
443    BEGIN_INTERFACE
444
445    /*** IUnknown methods ***/
446    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
447        IMediaDet* This,
448        REFIID riid,
449        void **ppvObject);
450
451    ULONG (STDMETHODCALLTYPE *AddRef)(
452        IMediaDet* This);
453
454    ULONG (STDMETHODCALLTYPE *Release)(
455        IMediaDet* This);
456
457    /*** IMediaDet methods ***/
458    HRESULT (STDMETHODCALLTYPE *get_Filter)(
459        IMediaDet* This,
460        IUnknown **pVal);
461
462    HRESULT (STDMETHODCALLTYPE *put_Filter)(
463        IMediaDet* This,
464        IUnknown *newVal);
465
466    HRESULT (STDMETHODCALLTYPE *get_OutputStreams)(
467        IMediaDet* This,
468        LONG *pVal);
469
470    HRESULT (STDMETHODCALLTYPE *get_CurrentStream)(
471        IMediaDet* This,
472        LONG *pVal);
473
474    HRESULT (STDMETHODCALLTYPE *put_CurrentStream)(
475        IMediaDet* This,
476        LONG newVal);
477
478    HRESULT (STDMETHODCALLTYPE *get_StreamType)(
479        IMediaDet* This,
480        GUID *pVal);
481
482    HRESULT (STDMETHODCALLTYPE *get_StreamTypeB)(
483        IMediaDet* This,
484        BSTR *pVal);
485
486    HRESULT (STDMETHODCALLTYPE *get_StreamLength)(
487        IMediaDet* This,
488        double *pVal);
489
490    HRESULT (STDMETHODCALLTYPE *get_Filename)(
491        IMediaDet* This,
492        BSTR *pVal);
493
494    HRESULT (STDMETHODCALLTYPE *put_Filename)(
495        IMediaDet* This,
496        BSTR newVal);
497
498    HRESULT (STDMETHODCALLTYPE *GetBitmapBits)(
499        IMediaDet* This,
500        double StreamTime,
501        LONG *pBufferSize,
502        char *pBuffer,
503        LONG Width,
504        LONG Height);
505
506    HRESULT (STDMETHODCALLTYPE *WriteBitmapBits)(
507        IMediaDet* This,
508        double StreamTime,
509        LONG Width,
510        LONG Height,
511        BSTR Filename);
512
513    HRESULT (STDMETHODCALLTYPE *get_StreamMediaType)(
514        IMediaDet* This,
515        AM_MEDIA_TYPE *pVal);
516
517    HRESULT (STDMETHODCALLTYPE *GetSampleGrabber)(
518        IMediaDet* This,
519        ISampleGrabber **ppVal);
520
521    HRESULT (STDMETHODCALLTYPE *get_FrameRate)(
522        IMediaDet* This,
523        double *pVal);
524
525    HRESULT (STDMETHODCALLTYPE *EnterBitmapGrabMode)(
526        IMediaDet* This,
527        double SeekTime);
528
529    END_INTERFACE
530} IMediaDetVtbl;
531interface IMediaDet {
532    CONST_VTBL IMediaDetVtbl* lpVtbl;
533};
534
535#ifdef COBJMACROS
536#ifndef WIDL_C_INLINE_WRAPPERS
537/*** IUnknown methods ***/
538#define IMediaDet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
539#define IMediaDet_AddRef(This) (This)->lpVtbl->AddRef(This)
540#define IMediaDet_Release(This) (This)->lpVtbl->Release(This)
541/*** IMediaDet methods ***/
542#define IMediaDet_get_Filter(This,pVal) (This)->lpVtbl->get_Filter(This,pVal)
543#define IMediaDet_put_Filter(This,newVal) (This)->lpVtbl->put_Filter(This,newVal)
544#define IMediaDet_get_OutputStreams(This,pVal) (This)->lpVtbl->get_OutputStreams(This,pVal)
545#define IMediaDet_get_CurrentStream(This,pVal) (This)->lpVtbl->get_CurrentStream(This,pVal)
546#define IMediaDet_put_CurrentStream(This,newVal) (This)->lpVtbl->put_CurrentStream(This,newVal)
547#define IMediaDet_get_StreamType(This,pVal) (This)->lpVtbl->get_StreamType(This,pVal)
548#define IMediaDet_get_StreamTypeB(This,pVal) (This)->lpVtbl->get_StreamTypeB(This,pVal)
549#define IMediaDet_get_StreamLength(This,pVal) (This)->lpVtbl->get_StreamLength(This,pVal)
550#define IMediaDet_get_Filename(This,pVal) (This)->lpVtbl->get_Filename(This,pVal)
551#define IMediaDet_put_Filename(This,newVal) (This)->lpVtbl->put_Filename(This,newVal)
552#define IMediaDet_GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height) (This)->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height)
553#define IMediaDet_WriteBitmapBits(This,StreamTime,Width,Height,Filename) (This)->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename)
554#define IMediaDet_get_StreamMediaType(This,pVal) (This)->lpVtbl->get_StreamMediaType(This,pVal)
555#define IMediaDet_GetSampleGrabber(This,ppVal) (This)->lpVtbl->GetSampleGrabber(This,ppVal)
556#define IMediaDet_get_FrameRate(This,pVal) (This)->lpVtbl->get_FrameRate(This,pVal)
557#define IMediaDet_EnterBitmapGrabMode(This,SeekTime) (This)->lpVtbl->EnterBitmapGrabMode(This,SeekTime)
558#else
559/*** IUnknown methods ***/
560static FORCEINLINE HRESULT IMediaDet_QueryInterface(IMediaDet* This,REFIID riid,void **ppvObject) {
561    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
562}
563static FORCEINLINE ULONG IMediaDet_AddRef(IMediaDet* This) {
564    return This->lpVtbl->AddRef(This);
565}
566static FORCEINLINE ULONG IMediaDet_Release(IMediaDet* This) {
567    return This->lpVtbl->Release(This);
568}
569/*** IMediaDet methods ***/
570static FORCEINLINE HRESULT IMediaDet_get_Filter(IMediaDet* This,IUnknown **pVal) {
571    return This->lpVtbl->get_Filter(This,pVal);
572}
573static FORCEINLINE HRESULT IMediaDet_put_Filter(IMediaDet* This,IUnknown *newVal) {
574    return This->lpVtbl->put_Filter(This,newVal);
575}
576static FORCEINLINE HRESULT IMediaDet_get_OutputStreams(IMediaDet* This,LONG *pVal) {
577    return This->lpVtbl->get_OutputStreams(This,pVal);
578}
579static FORCEINLINE HRESULT IMediaDet_get_CurrentStream(IMediaDet* This,LONG *pVal) {
580    return This->lpVtbl->get_CurrentStream(This,pVal);
581}
582static FORCEINLINE HRESULT IMediaDet_put_CurrentStream(IMediaDet* This,LONG newVal) {
583    return This->lpVtbl->put_CurrentStream(This,newVal);
584}
585static FORCEINLINE HRESULT IMediaDet_get_StreamType(IMediaDet* This,GUID *pVal) {
586    return This->lpVtbl->get_StreamType(This,pVal);
587}
588static FORCEINLINE HRESULT IMediaDet_get_StreamTypeB(IMediaDet* This,BSTR *pVal) {
589    return This->lpVtbl->get_StreamTypeB(This,pVal);
590}
591static FORCEINLINE HRESULT IMediaDet_get_StreamLength(IMediaDet* This,double *pVal) {
592    return This->lpVtbl->get_StreamLength(This,pVal);
593}
594static FORCEINLINE HRESULT IMediaDet_get_Filename(IMediaDet* This,BSTR *pVal) {
595    return This->lpVtbl->get_Filename(This,pVal);
596}
597static FORCEINLINE HRESULT IMediaDet_put_Filename(IMediaDet* This,BSTR newVal) {
598    return This->lpVtbl->put_Filename(This,newVal);
599}
600static FORCEINLINE HRESULT IMediaDet_GetBitmapBits(IMediaDet* This,double StreamTime,LONG *pBufferSize,char *pBuffer,LONG Width,LONG Height) {
601    return This->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height);
602}
603static FORCEINLINE HRESULT IMediaDet_WriteBitmapBits(IMediaDet* This,double StreamTime,LONG Width,LONG Height,BSTR Filename) {
604    return This->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename);
605}
606static FORCEINLINE HRESULT IMediaDet_get_StreamMediaType(IMediaDet* This,AM_MEDIA_TYPE *pVal) {
607    return This->lpVtbl->get_StreamMediaType(This,pVal);
608}
609static FORCEINLINE HRESULT IMediaDet_GetSampleGrabber(IMediaDet* This,ISampleGrabber **ppVal) {
610    return This->lpVtbl->GetSampleGrabber(This,ppVal);
611}
612static FORCEINLINE HRESULT IMediaDet_get_FrameRate(IMediaDet* This,double *pVal) {
613    return This->lpVtbl->get_FrameRate(This,pVal);
614}
615static FORCEINLINE HRESULT IMediaDet_EnterBitmapGrabMode(IMediaDet* This,double SeekTime) {
616    return This->lpVtbl->EnterBitmapGrabMode(This,SeekTime);
617}
618#endif
619#endif
620
621#endif
622
623HRESULT STDMETHODCALLTYPE IMediaDet_get_Filter_Proxy(
624    IMediaDet* This,
625    IUnknown **pVal);
626void __RPC_STUB IMediaDet_get_Filter_Stub(
627    IRpcStubBuffer* This,
628    IRpcChannelBuffer* pRpcChannelBuffer,
629    PRPC_MESSAGE pRpcMessage,
630    DWORD* pdwStubPhase);
631HRESULT STDMETHODCALLTYPE IMediaDet_put_Filter_Proxy(
632    IMediaDet* This,
633    IUnknown *newVal);
634void __RPC_STUB IMediaDet_put_Filter_Stub(
635    IRpcStubBuffer* This,
636    IRpcChannelBuffer* pRpcChannelBuffer,
637    PRPC_MESSAGE pRpcMessage,
638    DWORD* pdwStubPhase);
639HRESULT STDMETHODCALLTYPE IMediaDet_get_OutputStreams_Proxy(
640    IMediaDet* This,
641    LONG *pVal);
642void __RPC_STUB IMediaDet_get_OutputStreams_Stub(
643    IRpcStubBuffer* This,
644    IRpcChannelBuffer* pRpcChannelBuffer,
645    PRPC_MESSAGE pRpcMessage,
646    DWORD* pdwStubPhase);
647HRESULT STDMETHODCALLTYPE IMediaDet_get_CurrentStream_Proxy(
648    IMediaDet* This,
649    LONG *pVal);
650void __RPC_STUB IMediaDet_get_CurrentStream_Stub(
651    IRpcStubBuffer* This,
652    IRpcChannelBuffer* pRpcChannelBuffer,
653    PRPC_MESSAGE pRpcMessage,
654    DWORD* pdwStubPhase);
655HRESULT STDMETHODCALLTYPE IMediaDet_put_CurrentStream_Proxy(
656    IMediaDet* This,
657    LONG newVal);
658void __RPC_STUB IMediaDet_put_CurrentStream_Stub(
659    IRpcStubBuffer* This,
660    IRpcChannelBuffer* pRpcChannelBuffer,
661    PRPC_MESSAGE pRpcMessage,
662    DWORD* pdwStubPhase);
663HRESULT STDMETHODCALLTYPE IMediaDet_get_StreamType_Proxy(
664    IMediaDet* This,
665    GUID *pVal);
666void __RPC_STUB IMediaDet_get_StreamType_Stub(
667    IRpcStubBuffer* This,
668    IRpcChannelBuffer* pRpcChannelBuffer,
669    PRPC_MESSAGE pRpcMessage,
670    DWORD* pdwStubPhase);
671HRESULT STDMETHODCALLTYPE IMediaDet_get_StreamTypeB_Proxy(
672    IMediaDet* This,
673    BSTR *pVal);
674void __RPC_STUB IMediaDet_get_StreamTypeB_Stub(
675    IRpcStubBuffer* This,
676    IRpcChannelBuffer* pRpcChannelBuffer,
677    PRPC_MESSAGE pRpcMessage,
678    DWORD* pdwStubPhase);
679HRESULT STDMETHODCALLTYPE IMediaDet_get_StreamLength_Proxy(
680    IMediaDet* This,
681    double *pVal);
682void __RPC_STUB IMediaDet_get_StreamLength_Stub(
683    IRpcStubBuffer* This,
684    IRpcChannelBuffer* pRpcChannelBuffer,
685    PRPC_MESSAGE pRpcMessage,
686    DWORD* pdwStubPhase);
687HRESULT STDMETHODCALLTYPE IMediaDet_get_Filename_Proxy(
688    IMediaDet* This,
689    BSTR *pVal);
690void __RPC_STUB IMediaDet_get_Filename_Stub(
691    IRpcStubBuffer* This,
692    IRpcChannelBuffer* pRpcChannelBuffer,
693    PRPC_MESSAGE pRpcMessage,
694    DWORD* pdwStubPhase);
695HRESULT STDMETHODCALLTYPE IMediaDet_put_Filename_Proxy(
696    IMediaDet* This,
697    BSTR newVal);
698void __RPC_STUB IMediaDet_put_Filename_Stub(
699    IRpcStubBuffer* This,
700    IRpcChannelBuffer* pRpcChannelBuffer,
701    PRPC_MESSAGE pRpcMessage,
702    DWORD* pdwStubPhase);
703HRESULT STDMETHODCALLTYPE IMediaDet_GetBitmapBits_Proxy(
704    IMediaDet* This,
705    double StreamTime,
706    LONG *pBufferSize,
707    char *pBuffer,
708    LONG Width,
709    LONG Height);
710void __RPC_STUB IMediaDet_GetBitmapBits_Stub(
711    IRpcStubBuffer* This,
712    IRpcChannelBuffer* pRpcChannelBuffer,
713    PRPC_MESSAGE pRpcMessage,
714    DWORD* pdwStubPhase);
715HRESULT STDMETHODCALLTYPE IMediaDet_WriteBitmapBits_Proxy(
716    IMediaDet* This,
717    double StreamTime,
718    LONG Width,
719    LONG Height,
720    BSTR Filename);
721void __RPC_STUB IMediaDet_WriteBitmapBits_Stub(
722    IRpcStubBuffer* This,
723    IRpcChannelBuffer* pRpcChannelBuffer,
724    PRPC_MESSAGE pRpcMessage,
725    DWORD* pdwStubPhase);
726HRESULT STDMETHODCALLTYPE IMediaDet_get_StreamMediaType_Proxy(
727    IMediaDet* This,
728    AM_MEDIA_TYPE *pVal);
729void __RPC_STUB IMediaDet_get_StreamMediaType_Stub(
730    IRpcStubBuffer* This,
731    IRpcChannelBuffer* pRpcChannelBuffer,
732    PRPC_MESSAGE pRpcMessage,
733    DWORD* pdwStubPhase);
734HRESULT STDMETHODCALLTYPE IMediaDet_GetSampleGrabber_Proxy(
735    IMediaDet* This,
736    ISampleGrabber **ppVal);
737void __RPC_STUB IMediaDet_GetSampleGrabber_Stub(
738    IRpcStubBuffer* This,
739    IRpcChannelBuffer* pRpcChannelBuffer,
740    PRPC_MESSAGE pRpcMessage,
741    DWORD* pdwStubPhase);
742HRESULT STDMETHODCALLTYPE IMediaDet_get_FrameRate_Proxy(
743    IMediaDet* This,
744    double *pVal);
745void __RPC_STUB IMediaDet_get_FrameRate_Stub(
746    IRpcStubBuffer* This,
747    IRpcChannelBuffer* pRpcChannelBuffer,
748    PRPC_MESSAGE pRpcMessage,
749    DWORD* pdwStubPhase);
750HRESULT STDMETHODCALLTYPE IMediaDet_EnterBitmapGrabMode_Proxy(
751    IMediaDet* This,
752    double SeekTime);
753void __RPC_STUB IMediaDet_EnterBitmapGrabMode_Stub(
754    IRpcStubBuffer* This,
755    IRpcChannelBuffer* pRpcChannelBuffer,
756    PRPC_MESSAGE pRpcMessage,
757    DWORD* pdwStubPhase);
758
759#endif  /* __IMediaDet_INTERFACE_DEFINED__ */
760
761/*****************************************************************************
762 * MediaDet coclass
763 */
764
765DEFINE_GUID(CLSID_MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
766
767#ifdef __cplusplus
768class DECLSPEC_UUID("65bd0711-24d2-4ff7-9324-ed2e5d3abafa") MediaDet;
769#ifdef __CRT_UUID_DECL
770__CRT_UUID_DECL(MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa)
771#endif
772#endif
773
774enum {
775    E_NOTINTREE = 0x80040400,
776    E_RENDER_ENGINE_IS_BROKEN = 0x80040401,
777    E_MUST_INIT_RENDERER = 0x80040402,
778    E_NOTDETERMINED = 0x80040403,
779    E_NO_TIMELINE = 0x80040404,
780    S_WARN_OUTPUTRESET = 40404
781};
782
783/* Begin additional prototypes for all interfaces */
784
785ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
786unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
787unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
788void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
789
790/* End additional prototypes */
791
792#ifdef __cplusplus
793}
794#endif
795
796#endif /* __qedit_h__ */
797