Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 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 #endif
     24 
     25 #ifndef __ISampleGrabber_FWD_DEFINED__
     26 #define __ISampleGrabber_FWD_DEFINED__
     27 typedef interface ISampleGrabber ISampleGrabber;
     28 #endif
     29 
     30 #ifndef __IMediaDet_FWD_DEFINED__
     31 #define __IMediaDet_FWD_DEFINED__
     32 typedef interface IMediaDet IMediaDet;
     33 #endif
     34 
     35 #ifndef __MediaDet_FWD_DEFINED__
     36 #define __MediaDet_FWD_DEFINED__
     37 #ifdef __cplusplus
     38 typedef class MediaDet MediaDet;
     39 #else
     40 typedef 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
     52 extern "C" {
     53 #endif
     54 
     55 /*****************************************************************************
     56  * ISampleGrabberCB interface
     57  */
     58 #ifndef __ISampleGrabberCB_INTERFACE_DEFINED__
     59 #define __ISampleGrabberCB_INTERFACE_DEFINED__
     60 
     61 DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85);
     62 #if defined(__cplusplus) && !defined(CINTERFACE)
     63 MIDL_INTERFACE("0579154a-2b53-4994-b0d0-e773148eff85")
     64 ISampleGrabberCB : 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
     80 typedef 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;
    109 interface 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 ***/
    124 static FORCEINLINE HRESULT ISampleGrabberCB_QueryInterface(ISampleGrabberCB* This,REFIID riid,void **ppvObject) {
    125     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    126 }
    127 static FORCEINLINE ULONG ISampleGrabberCB_AddRef(ISampleGrabberCB* This) {
    128     return This->lpVtbl->AddRef(This);
    129 }
    130 static FORCEINLINE ULONG ISampleGrabberCB_Release(ISampleGrabberCB* This) {
    131     return This->lpVtbl->Release(This);
    132 }
    133 /*** ISampleGrabberCB methods ***/
    134 static FORCEINLINE HRESULT ISampleGrabberCB_SampleCB(ISampleGrabberCB* This,double SampleTime,IMediaSample *pSample) {
    135     return This->lpVtbl->SampleCB(This,SampleTime,pSample);
    136 }
    137 static 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 
    145 HRESULT STDMETHODCALLTYPE ISampleGrabberCB_SampleCB_Proxy(
    146     ISampleGrabberCB* This,
    147     double SampleTime,
    148     IMediaSample *pSample);
    149 void __RPC_STUB ISampleGrabberCB_SampleCB_Stub(
    150     IRpcStubBuffer* This,
    151     IRpcChannelBuffer* pRpcChannelBuffer,
    152     PRPC_MESSAGE pRpcMessage,
    153     DWORD* pdwStubPhase);
    154 HRESULT STDMETHODCALLTYPE ISampleGrabberCB_BufferCB_Proxy(
    155     ISampleGrabberCB* This,
    156     double SampleTime,
    157     BYTE *pBuffer,
    158     LONG BufferLen);
    159 void __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 
    173 DEFINE_GUID(IID_ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f);
    174 #if defined(__cplusplus) && !defined(CINTERFACE)
    175 MIDL_INTERFACE("6b652fff-11fe-4fce-92ad-0266b5d7c78f")
    176 ISampleGrabber : 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
    206 typedef 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;
    254 interface 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 ***/
    274 static FORCEINLINE HRESULT ISampleGrabber_QueryInterface(ISampleGrabber* This,REFIID riid,void **ppvObject) {
    275     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    276 }
    277 static FORCEINLINE ULONG ISampleGrabber_AddRef(ISampleGrabber* This) {
    278     return This->lpVtbl->AddRef(This);
    279 }
    280 static FORCEINLINE ULONG ISampleGrabber_Release(ISampleGrabber* This) {
    281     return This->lpVtbl->Release(This);
    282 }
    283 /*** ISampleGrabber methods ***/
    284 static FORCEINLINE HRESULT ISampleGrabber_SetOneShot(ISampleGrabber* This,WINBOOL OneShot) {
    285     return This->lpVtbl->SetOneShot(This,OneShot);
    286 }
    287 static FORCEINLINE HRESULT ISampleGrabber_SetMediaType(ISampleGrabber* This,const AM_MEDIA_TYPE *pType) {
    288     return This->lpVtbl->SetMediaType(This,pType);
    289 }
    290 static FORCEINLINE HRESULT ISampleGrabber_GetConnectedMediaType(ISampleGrabber* This,AM_MEDIA_TYPE *pType) {
    291     return This->lpVtbl->GetConnectedMediaType(This,pType);
    292 }
    293 static FORCEINLINE HRESULT ISampleGrabber_SetBufferSamples(ISampleGrabber* This,WINBOOL BufferThem) {
    294     return This->lpVtbl->SetBufferSamples(This,BufferThem);
    295 }
    296 static FORCEINLINE HRESULT ISampleGrabber_GetCurrentBuffer(ISampleGrabber* This,LONG *pBufferSize,LONG *pBuffer) {
    297     return This->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer);
    298 }
    299 static FORCEINLINE HRESULT ISampleGrabber_GetCurrentSample(ISampleGrabber* This,IMediaSample **ppSample) {
    300     return This->lpVtbl->GetCurrentSample(This,ppSample);
    301 }
    302 static 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 
    310 HRESULT STDMETHODCALLTYPE ISampleGrabber_SetOneShot_Proxy(
    311     ISampleGrabber* This,
    312     WINBOOL OneShot);
    313 void __RPC_STUB ISampleGrabber_SetOneShot_Stub(
    314     IRpcStubBuffer* This,
    315     IRpcChannelBuffer* pRpcChannelBuffer,
    316     PRPC_MESSAGE pRpcMessage,
    317     DWORD* pdwStubPhase);
    318 HRESULT STDMETHODCALLTYPE ISampleGrabber_SetMediaType_Proxy(
    319     ISampleGrabber* This,
    320     const AM_MEDIA_TYPE *pType);
    321 void __RPC_STUB ISampleGrabber_SetMediaType_Stub(
    322     IRpcStubBuffer* This,
    323     IRpcChannelBuffer* pRpcChannelBuffer,
    324     PRPC_MESSAGE pRpcMessage,
    325     DWORD* pdwStubPhase);
    326 HRESULT STDMETHODCALLTYPE ISampleGrabber_GetConnectedMediaType_Proxy(
    327     ISampleGrabber* This,
    328     AM_MEDIA_TYPE *pType);
    329 void __RPC_STUB ISampleGrabber_GetConnectedMediaType_Stub(
    330     IRpcStubBuffer* This,
    331     IRpcChannelBuffer* pRpcChannelBuffer,
    332     PRPC_MESSAGE pRpcMessage,
    333     DWORD* pdwStubPhase);
    334 HRESULT STDMETHODCALLTYPE ISampleGrabber_SetBufferSamples_Proxy(
    335     ISampleGrabber* This,
    336     WINBOOL BufferThem);
    337 void __RPC_STUB ISampleGrabber_SetBufferSamples_Stub(
    338     IRpcStubBuffer* This,
    339     IRpcChannelBuffer* pRpcChannelBuffer,
    340     PRPC_MESSAGE pRpcMessage,
    341     DWORD* pdwStubPhase);
    342 HRESULT STDMETHODCALLTYPE ISampleGrabber_GetCurrentBuffer_Proxy(
    343     ISampleGrabber* This,
    344     LONG *pBufferSize,
    345     LONG *pBuffer);
    346 void __RPC_STUB ISampleGrabber_GetCurrentBuffer_Stub(
    347     IRpcStubBuffer* This,
    348     IRpcChannelBuffer* pRpcChannelBuffer,
    349     PRPC_MESSAGE pRpcMessage,
    350     DWORD* pdwStubPhase);
    351 HRESULT STDMETHODCALLTYPE ISampleGrabber_GetCurrentSample_Proxy(
    352     ISampleGrabber* This,
    353     IMediaSample **ppSample);
    354 void __RPC_STUB ISampleGrabber_GetCurrentSample_Stub(
    355     IRpcStubBuffer* This,
    356     IRpcChannelBuffer* pRpcChannelBuffer,
    357     PRPC_MESSAGE pRpcMessage,
    358     DWORD* pdwStubPhase);
    359 HRESULT STDMETHODCALLTYPE ISampleGrabber_SetCallback_Proxy(
    360     ISampleGrabber* This,
    361     ISampleGrabberCB *pCallback,
    362     LONG WhichMethodToCallback);
    363 void __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 
    377 DEFINE_GUID(IID_IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
    378 #if defined(__cplusplus) && !defined(CINTERFACE)
    379 MIDL_INTERFACE("65bd0710-24d2-4ff7-9324-ed2e5d3abafa")
    380 IMediaDet : 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
    442 typedef 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;
    531 interface 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 ***/
    560 static FORCEINLINE HRESULT IMediaDet_QueryInterface(IMediaDet* This,REFIID riid,void **ppvObject) {
    561     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    562 }
    563 static FORCEINLINE ULONG IMediaDet_AddRef(IMediaDet* This) {
    564     return This->lpVtbl->AddRef(This);
    565 }
    566 static FORCEINLINE ULONG IMediaDet_Release(IMediaDet* This) {
    567     return This->lpVtbl->Release(This);
    568 }
    569 /*** IMediaDet methods ***/
    570 static FORCEINLINE HRESULT IMediaDet_get_Filter(IMediaDet* This,IUnknown **pVal) {
    571     return This->lpVtbl->get_Filter(This,pVal);
    572 }
    573 static FORCEINLINE HRESULT IMediaDet_put_Filter(IMediaDet* This,IUnknown *newVal) {
    574     return This->lpVtbl->put_Filter(This,newVal);
    575 }
    576 static FORCEINLINE HRESULT IMediaDet_get_OutputStreams(IMediaDet* This,LONG *pVal) {
    577     return This->lpVtbl->get_OutputStreams(This,pVal);
    578 }
    579 static FORCEINLINE HRESULT IMediaDet_get_CurrentStream(IMediaDet* This,LONG *pVal) {
    580     return This->lpVtbl->get_CurrentStream(This,pVal);
    581 }
    582 static FORCEINLINE HRESULT IMediaDet_put_CurrentStream(IMediaDet* This,LONG newVal) {
    583     return This->lpVtbl->put_CurrentStream(This,newVal);
    584 }
    585 static FORCEINLINE HRESULT IMediaDet_get_StreamType(IMediaDet* This,GUID *pVal) {
    586     return This->lpVtbl->get_StreamType(This,pVal);
    587 }
    588 static FORCEINLINE HRESULT IMediaDet_get_StreamTypeB(IMediaDet* This,BSTR *pVal) {
    589     return This->lpVtbl->get_StreamTypeB(This,pVal);
    590 }
    591 static FORCEINLINE HRESULT IMediaDet_get_StreamLength(IMediaDet* This,double *pVal) {
    592     return This->lpVtbl->get_StreamLength(This,pVal);
    593 }
    594 static FORCEINLINE HRESULT IMediaDet_get_Filename(IMediaDet* This,BSTR *pVal) {
    595     return This->lpVtbl->get_Filename(This,pVal);
    596 }
    597 static FORCEINLINE HRESULT IMediaDet_put_Filename(IMediaDet* This,BSTR newVal) {
    598     return This->lpVtbl->put_Filename(This,newVal);
    599 }
    600 static 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 }
    603 static 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 }
    606 static FORCEINLINE HRESULT IMediaDet_get_StreamMediaType(IMediaDet* This,AM_MEDIA_TYPE *pVal) {
    607     return This->lpVtbl->get_StreamMediaType(This,pVal);
    608 }
    609 static FORCEINLINE HRESULT IMediaDet_GetSampleGrabber(IMediaDet* This,ISampleGrabber **ppVal) {
    610     return This->lpVtbl->GetSampleGrabber(This,ppVal);
    611 }
    612 static FORCEINLINE HRESULT IMediaDet_get_FrameRate(IMediaDet* This,double *pVal) {
    613     return This->lpVtbl->get_FrameRate(This,pVal);
    614 }
    615 static FORCEINLINE HRESULT IMediaDet_EnterBitmapGrabMode(IMediaDet* This,double SeekTime) {
    616     return This->lpVtbl->EnterBitmapGrabMode(This,SeekTime);
    617 }
    618 #endif
    619 #endif
    620 
    621 #endif
    622 
    623 HRESULT STDMETHODCALLTYPE IMediaDet_get_Filter_Proxy(
    624     IMediaDet* This,
    625     IUnknown **pVal);
    626 void __RPC_STUB IMediaDet_get_Filter_Stub(
    627     IRpcStubBuffer* This,
    628     IRpcChannelBuffer* pRpcChannelBuffer,
    629     PRPC_MESSAGE pRpcMessage,
    630     DWORD* pdwStubPhase);
    631 HRESULT STDMETHODCALLTYPE IMediaDet_put_Filter_Proxy(
    632     IMediaDet* This,
    633     IUnknown *newVal);
    634 void __RPC_STUB IMediaDet_put_Filter_Stub(
    635     IRpcStubBuffer* This,
    636     IRpcChannelBuffer* pRpcChannelBuffer,
    637     PRPC_MESSAGE pRpcMessage,
    638     DWORD* pdwStubPhase);
    639 HRESULT STDMETHODCALLTYPE IMediaDet_get_OutputStreams_Proxy(
    640     IMediaDet* This,
    641     LONG *pVal);
    642 void __RPC_STUB IMediaDet_get_OutputStreams_Stub(
    643     IRpcStubBuffer* This,
    644     IRpcChannelBuffer* pRpcChannelBuffer,
    645     PRPC_MESSAGE pRpcMessage,
    646     DWORD* pdwStubPhase);
    647 HRESULT STDMETHODCALLTYPE IMediaDet_get_CurrentStream_Proxy(
    648     IMediaDet* This,
    649     LONG *pVal);
    650 void __RPC_STUB IMediaDet_get_CurrentStream_Stub(
    651     IRpcStubBuffer* This,
    652     IRpcChannelBuffer* pRpcChannelBuffer,
    653     PRPC_MESSAGE pRpcMessage,
    654     DWORD* pdwStubPhase);
    655 HRESULT STDMETHODCALLTYPE IMediaDet_put_CurrentStream_Proxy(
    656     IMediaDet* This,
    657     LONG newVal);
    658 void __RPC_STUB IMediaDet_put_CurrentStream_Stub(
    659     IRpcStubBuffer* This,
    660     IRpcChannelBuffer* pRpcChannelBuffer,
    661     PRPC_MESSAGE pRpcMessage,
    662     DWORD* pdwStubPhase);
    663 HRESULT STDMETHODCALLTYPE IMediaDet_get_StreamType_Proxy(
    664     IMediaDet* This,
    665     GUID *pVal);
    666 void __RPC_STUB IMediaDet_get_StreamType_Stub(
    667     IRpcStubBuffer* This,
    668     IRpcChannelBuffer* pRpcChannelBuffer,
    669     PRPC_MESSAGE pRpcMessage,
    670     DWORD* pdwStubPhase);
    671 HRESULT STDMETHODCALLTYPE IMediaDet_get_StreamTypeB_Proxy(
    672     IMediaDet* This,
    673     BSTR *pVal);
    674 void __RPC_STUB IMediaDet_get_StreamTypeB_Stub(
    675     IRpcStubBuffer* This,
    676     IRpcChannelBuffer* pRpcChannelBuffer,
    677     PRPC_MESSAGE pRpcMessage,
    678     DWORD* pdwStubPhase);
    679 HRESULT STDMETHODCALLTYPE IMediaDet_get_StreamLength_Proxy(
    680     IMediaDet* This,
    681     double *pVal);
    682 void __RPC_STUB IMediaDet_get_StreamLength_Stub(
    683     IRpcStubBuffer* This,
    684     IRpcChannelBuffer* pRpcChannelBuffer,
    685     PRPC_MESSAGE pRpcMessage,
    686     DWORD* pdwStubPhase);
    687 HRESULT STDMETHODCALLTYPE IMediaDet_get_Filename_Proxy(
    688     IMediaDet* This,
    689     BSTR *pVal);
    690 void __RPC_STUB IMediaDet_get_Filename_Stub(
    691     IRpcStubBuffer* This,
    692     IRpcChannelBuffer* pRpcChannelBuffer,
    693     PRPC_MESSAGE pRpcMessage,
    694     DWORD* pdwStubPhase);
    695 HRESULT STDMETHODCALLTYPE IMediaDet_put_Filename_Proxy(
    696     IMediaDet* This,
    697     BSTR newVal);
    698 void __RPC_STUB IMediaDet_put_Filename_Stub(
    699     IRpcStubBuffer* This,
    700     IRpcChannelBuffer* pRpcChannelBuffer,
    701     PRPC_MESSAGE pRpcMessage,
    702     DWORD* pdwStubPhase);
    703 HRESULT STDMETHODCALLTYPE IMediaDet_GetBitmapBits_Proxy(
    704     IMediaDet* This,
    705     double StreamTime,
    706     LONG *pBufferSize,
    707     char *pBuffer,
    708     LONG Width,
    709     LONG Height);
    710 void __RPC_STUB IMediaDet_GetBitmapBits_Stub(
    711     IRpcStubBuffer* This,
    712     IRpcChannelBuffer* pRpcChannelBuffer,
    713     PRPC_MESSAGE pRpcMessage,
    714     DWORD* pdwStubPhase);
    715 HRESULT STDMETHODCALLTYPE IMediaDet_WriteBitmapBits_Proxy(
    716     IMediaDet* This,
    717     double StreamTime,
    718     LONG Width,
    719     LONG Height,
    720     BSTR Filename);
    721 void __RPC_STUB IMediaDet_WriteBitmapBits_Stub(
    722     IRpcStubBuffer* This,
    723     IRpcChannelBuffer* pRpcChannelBuffer,
    724     PRPC_MESSAGE pRpcMessage,
    725     DWORD* pdwStubPhase);
    726 HRESULT STDMETHODCALLTYPE IMediaDet_get_StreamMediaType_Proxy(
    727     IMediaDet* This,
    728     AM_MEDIA_TYPE *pVal);
    729 void __RPC_STUB IMediaDet_get_StreamMediaType_Stub(
    730     IRpcStubBuffer* This,
    731     IRpcChannelBuffer* pRpcChannelBuffer,
    732     PRPC_MESSAGE pRpcMessage,
    733     DWORD* pdwStubPhase);
    734 HRESULT STDMETHODCALLTYPE IMediaDet_GetSampleGrabber_Proxy(
    735     IMediaDet* This,
    736     ISampleGrabber **ppVal);
    737 void __RPC_STUB IMediaDet_GetSampleGrabber_Stub(
    738     IRpcStubBuffer* This,
    739     IRpcChannelBuffer* pRpcChannelBuffer,
    740     PRPC_MESSAGE pRpcMessage,
    741     DWORD* pdwStubPhase);
    742 HRESULT STDMETHODCALLTYPE IMediaDet_get_FrameRate_Proxy(
    743     IMediaDet* This,
    744     double *pVal);
    745 void __RPC_STUB IMediaDet_get_FrameRate_Stub(
    746     IRpcStubBuffer* This,
    747     IRpcChannelBuffer* pRpcChannelBuffer,
    748     PRPC_MESSAGE pRpcMessage,
    749     DWORD* pdwStubPhase);
    750 HRESULT STDMETHODCALLTYPE IMediaDet_EnterBitmapGrabMode_Proxy(
    751     IMediaDet* This,
    752     double SeekTime);
    753 void __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 
    765 DEFINE_GUID(CLSID_MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
    766 
    767 #ifdef __cplusplus
    768 class 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 
    774 enum {
    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 
    785 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
    786 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
    787 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
    788 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
    789 
    790 /* End additional prototypes */
    791 
    792 #ifdef __cplusplus
    793 }
    794 #endif
    795 
    796 #endif /* __qedit_h__ */
    797