Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/include/strmif.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 __strmif_h__
     16 #define __strmif_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __ICreateDevEnum_FWD_DEFINED__
     21 #define __ICreateDevEnum_FWD_DEFINED__
     22 typedef interface ICreateDevEnum ICreateDevEnum;
     23 #endif
     24 
     25 #ifndef __IPin_FWD_DEFINED__
     26 #define __IPin_FWD_DEFINED__
     27 typedef interface IPin IPin;
     28 #endif
     29 
     30 #ifndef __IEnumPins_FWD_DEFINED__
     31 #define __IEnumPins_FWD_DEFINED__
     32 typedef interface IEnumPins IEnumPins;
     33 #endif
     34 
     35 #ifndef __IEnumMediaTypes_FWD_DEFINED__
     36 #define __IEnumMediaTypes_FWD_DEFINED__
     37 typedef interface IEnumMediaTypes IEnumMediaTypes;
     38 #endif
     39 
     40 #ifndef __IFilterGraph_FWD_DEFINED__
     41 #define __IFilterGraph_FWD_DEFINED__
     42 typedef interface IFilterGraph IFilterGraph;
     43 #endif
     44 
     45 #ifndef __IEnumFilters_FWD_DEFINED__
     46 #define __IEnumFilters_FWD_DEFINED__
     47 typedef interface IEnumFilters IEnumFilters;
     48 #endif
     49 
     50 #ifndef __IMediaFilter_FWD_DEFINED__
     51 #define __IMediaFilter_FWD_DEFINED__
     52 typedef interface IMediaFilter IMediaFilter;
     53 #endif
     54 
     55 #ifndef __IBaseFilter_FWD_DEFINED__
     56 #define __IBaseFilter_FWD_DEFINED__
     57 typedef interface IBaseFilter IBaseFilter;
     58 #endif
     59 
     60 #ifndef __IReferenceClock_FWD_DEFINED__
     61 #define __IReferenceClock_FWD_DEFINED__
     62 typedef interface IReferenceClock IReferenceClock;
     63 #endif
     64 
     65 #ifndef __IMediaSample_FWD_DEFINED__
     66 #define __IMediaSample_FWD_DEFINED__
     67 typedef interface IMediaSample IMediaSample;
     68 #endif
     69 
     70 #ifndef __IMediaSample2_FWD_DEFINED__
     71 #define __IMediaSample2_FWD_DEFINED__
     72 typedef interface IMediaSample2 IMediaSample2;
     73 #endif
     74 
     75 #ifndef __IMemAllocator_FWD_DEFINED__
     76 #define __IMemAllocator_FWD_DEFINED__
     77 typedef interface IMemAllocator IMemAllocator;
     78 #endif
     79 
     80 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
     81 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
     82 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
     83 #endif
     84 
     85 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
     86 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
     87 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
     88 #endif
     89 
     90 #ifndef __IMemInputPin_FWD_DEFINED__
     91 #define __IMemInputPin_FWD_DEFINED__
     92 typedef interface IMemInputPin IMemInputPin;
     93 #endif
     94 
     95 #ifndef __IAMovieSetup_FWD_DEFINED__
     96 #define __IAMovieSetup_FWD_DEFINED__
     97 typedef interface IAMovieSetup IAMovieSetup;
     98 #endif
     99 
    100 #ifndef __IMediaSeeking_FWD_DEFINED__
    101 #define __IMediaSeeking_FWD_DEFINED__
    102 typedef interface IMediaSeeking IMediaSeeking;
    103 #endif
    104 
    105 #ifndef __IEnumRegFilters_FWD_DEFINED__
    106 #define __IEnumRegFilters_FWD_DEFINED__
    107 typedef interface IEnumRegFilters IEnumRegFilters;
    108 #endif
    109 
    110 #ifndef __IFilterMapper_FWD_DEFINED__
    111 #define __IFilterMapper_FWD_DEFINED__
    112 typedef interface IFilterMapper IFilterMapper;
    113 #endif
    114 
    115 #ifndef __IFilterMapper2_FWD_DEFINED__
    116 #define __IFilterMapper2_FWD_DEFINED__
    117 typedef interface IFilterMapper2 IFilterMapper2;
    118 #endif
    119 
    120 #ifndef __IFilterMapper3_FWD_DEFINED__
    121 #define __IFilterMapper3_FWD_DEFINED__
    122 typedef interface IFilterMapper3 IFilterMapper3;
    123 #endif
    124 
    125 #ifndef __IQualityControl_FWD_DEFINED__
    126 #define __IQualityControl_FWD_DEFINED__
    127 typedef interface IQualityControl IQualityControl;
    128 #endif
    129 
    130 #ifndef __IOverlayNotify_FWD_DEFINED__
    131 #define __IOverlayNotify_FWD_DEFINED__
    132 typedef interface IOverlayNotify IOverlayNotify;
    133 #endif
    134 
    135 #ifndef __IOverlayNotify2_FWD_DEFINED__
    136 #define __IOverlayNotify2_FWD_DEFINED__
    137 typedef interface IOverlayNotify2 IOverlayNotify2;
    138 #endif
    139 
    140 #ifndef __IOverlay_FWD_DEFINED__
    141 #define __IOverlay_FWD_DEFINED__
    142 typedef interface IOverlay IOverlay;
    143 #endif
    144 
    145 #ifndef __IMediaEventSink_FWD_DEFINED__
    146 #define __IMediaEventSink_FWD_DEFINED__
    147 typedef interface IMediaEventSink IMediaEventSink;
    148 #endif
    149 
    150 #ifndef __IFileSourceFilter_FWD_DEFINED__
    151 #define __IFileSourceFilter_FWD_DEFINED__
    152 typedef interface IFileSourceFilter IFileSourceFilter;
    153 #endif
    154 
    155 #ifndef __IFileSinkFilter_FWD_DEFINED__
    156 #define __IFileSinkFilter_FWD_DEFINED__
    157 typedef interface IFileSinkFilter IFileSinkFilter;
    158 #endif
    159 
    160 #ifndef __IFileSinkFilter2_FWD_DEFINED__
    161 #define __IFileSinkFilter2_FWD_DEFINED__
    162 typedef interface IFileSinkFilter2 IFileSinkFilter2;
    163 #endif
    164 
    165 #ifndef __IGraphBuilder_FWD_DEFINED__
    166 #define __IGraphBuilder_FWD_DEFINED__
    167 typedef interface IGraphBuilder IGraphBuilder;
    168 #endif
    169 
    170 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
    171 #define __ICaptureGraphBuilder_FWD_DEFINED__
    172 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
    173 #endif
    174 
    175 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
    176 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
    177 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
    178 #endif
    179 
    180 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
    181 #define __ICaptureGraphBuilder2_FWD_DEFINED__
    182 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
    183 #endif
    184 
    185 #ifndef __IFilterGraph2_FWD_DEFINED__
    186 #define __IFilterGraph2_FWD_DEFINED__
    187 typedef interface IFilterGraph2 IFilterGraph2;
    188 #endif
    189 
    190 #ifndef __IStreamBuilder_FWD_DEFINED__
    191 #define __IStreamBuilder_FWD_DEFINED__
    192 typedef interface IStreamBuilder IStreamBuilder;
    193 #endif
    194 
    195 #ifndef __IAMStreamConfig_FWD_DEFINED__
    196 #define __IAMStreamConfig_FWD_DEFINED__
    197 typedef interface IAMStreamConfig IAMStreamConfig;
    198 #endif
    199 
    200 #ifndef __IAMVideoProcAmp_FWD_DEFINED__
    201 #define __IAMVideoProcAmp_FWD_DEFINED__
    202 typedef interface IAMVideoProcAmp IAMVideoProcAmp;
    203 #endif
    204 
    205 #ifndef __IAsyncReader_FWD_DEFINED__
    206 #define __IAsyncReader_FWD_DEFINED__
    207 typedef interface IAsyncReader IAsyncReader;
    208 #endif
    209 
    210 #ifndef __IGraphVersion_FWD_DEFINED__
    211 #define __IGraphVersion_FWD_DEFINED__
    212 typedef interface IGraphVersion IGraphVersion;
    213 #endif
    214 
    215 #ifndef __IResourceConsumer_FWD_DEFINED__
    216 #define __IResourceConsumer_FWD_DEFINED__
    217 typedef interface IResourceConsumer IResourceConsumer;
    218 #endif
    219 
    220 #ifndef __IResourceManager_FWD_DEFINED__
    221 #define __IResourceManager_FWD_DEFINED__
    222 typedef interface IResourceManager IResourceManager;
    223 #endif
    224 
    225 #ifndef __IKsPropertySet_FWD_DEFINED__
    226 #define __IKsPropertySet_FWD_DEFINED__
    227 typedef interface IKsPropertySet IKsPropertySet;
    228 #endif
    229 
    230 #ifndef __ISeekingPassThru_FWD_DEFINED__
    231 #define __ISeekingPassThru_FWD_DEFINED__
    232 typedef interface ISeekingPassThru ISeekingPassThru;
    233 #endif
    234 
    235 #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
    236 #define __IAMFilterMiscFlags_FWD_DEFINED__
    237 typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
    238 #endif
    239 
    240 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
    241 #define __IAMGraphBuilderCallback_FWD_DEFINED__
    242 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
    243 #endif
    244 
    245 /* Headers for imported files */
    246 
    247 #include <unknwn.h>
    248 #include <objidl.h>
    249 #include <oaidl.h>
    250 
    251 #ifdef __cplusplus
    252 extern "C" {
    253 #endif
    254 
    255 #define CDEF_CLASS_DEFAULT 0x0001
    256 #define CDEF_BYPASS_CLASS_MANAGER 0x0002
    257 #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008
    258 #define CDEF_DEVMON_CMGR_DEVICE 0x0010
    259 #define CDEF_DEVMON_DMO 0x0020
    260 #define CDEF_DEVMON_PNP_DEVICE 0x0040
    261 #define CDEF_DEVMON_FILTER 0x0080
    262 #define CDEF_DEVMON_SELECTIVE_MASK 0x00f0
    263 /*****************************************************************************
    264  * ICreateDevEnum interface
    265  */
    266 #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
    267 #define __ICreateDevEnum_INTERFACE_DEFINED__
    268 
    269 DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86);
    270 #if defined(__cplusplus) && !defined(CINTERFACE)
    271 MIDL_INTERFACE("29840822-5b84-11d0-bd3b-00a0c911ce86")
    272 ICreateDevEnum : public IUnknown
    273 {
    274     virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator(
    275         REFCLSID clsidDeviceClass,
    276         IEnumMoniker **ppEnumMoniker,
    277         DWORD dwFlags) = 0;
    278 
    279 };
    280 #ifdef __CRT_UUID_DECL
    281 __CRT_UUID_DECL(ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd,0x3b, 0x00,0xa0,0xc9,0x11,0xce,0x86)
    282 #endif
    283 #else
    284 typedef struct ICreateDevEnumVtbl {
    285     BEGIN_INTERFACE
    286 
    287     /*** IUnknown methods ***/
    288     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    289         ICreateDevEnum* This,
    290         REFIID riid,
    291         void **ppvObject);
    292 
    293     ULONG (STDMETHODCALLTYPE *AddRef)(
    294         ICreateDevEnum* This);
    295 
    296     ULONG (STDMETHODCALLTYPE *Release)(
    297         ICreateDevEnum* This);
    298 
    299     /*** ICreateDevEnum methods ***/
    300     HRESULT (STDMETHODCALLTYPE *CreateClassEnumerator)(
    301         ICreateDevEnum* This,
    302         REFCLSID clsidDeviceClass,
    303         IEnumMoniker **ppEnumMoniker,
    304         DWORD dwFlags);
    305 
    306     END_INTERFACE
    307 } ICreateDevEnumVtbl;
    308 interface ICreateDevEnum {
    309     CONST_VTBL ICreateDevEnumVtbl* lpVtbl;
    310 };
    311 
    312 #ifdef COBJMACROS
    313 #ifndef WIDL_C_INLINE_WRAPPERS
    314 /*** IUnknown methods ***/
    315 #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    316 #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This)
    317 #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This)
    318 /*** ICreateDevEnum methods ***/
    319 #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) (This)->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
    320 #else
    321 /*** IUnknown methods ***/
    322 static FORCEINLINE HRESULT ICreateDevEnum_QueryInterface(ICreateDevEnum* This,REFIID riid,void **ppvObject) {
    323     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    324 }
    325 static FORCEINLINE ULONG ICreateDevEnum_AddRef(ICreateDevEnum* This) {
    326     return This->lpVtbl->AddRef(This);
    327 }
    328 static FORCEINLINE ULONG ICreateDevEnum_Release(ICreateDevEnum* This) {
    329     return This->lpVtbl->Release(This);
    330 }
    331 /*** ICreateDevEnum methods ***/
    332 static FORCEINLINE HRESULT ICreateDevEnum_CreateClassEnumerator(ICreateDevEnum* This,REFCLSID clsidDeviceClass,IEnumMoniker **ppEnumMoniker,DWORD dwFlags) {
    333     return This->lpVtbl->CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags);
    334 }
    335 #endif
    336 #endif
    337 
    338 #endif
    339 
    340 HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy(
    341     ICreateDevEnum* This,
    342     REFCLSID clsidDeviceClass,
    343     IEnumMoniker **ppEnumMoniker,
    344     DWORD dwFlags);
    345 void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
    346     IRpcStubBuffer* This,
    347     IRpcChannelBuffer* pRpcChannelBuffer,
    348     PRPC_MESSAGE pRpcMessage,
    349     DWORD* pdwStubPhase);
    350 
    351 #endif  /* __ICreateDevEnum_INTERFACE_DEFINED__ */
    352 
    353 #define CHARS_IN_GUID 39
    354 #ifdef WINE_NO_UNICODE_MACROS
    355 #undef GetTimeFormat
    356 #endif
    357 typedef struct _AMMediaType {
    358     GUID majortype;
    359     GUID subtype;
    360     WINBOOL bFixedSizeSamples;
    361     WINBOOL bTemporalCompression;
    362     ULONG lSampleSize;
    363     GUID formattype;
    364     IUnknown *pUnk;
    365     ULONG cbFormat;
    366     BYTE *pbFormat;
    367 } AM_MEDIA_TYPE;
    368 typedef enum _PinDirection {
    369     PINDIR_INPUT = 0,
    370     PINDIR_OUTPUT = 1
    371 } PIN_DIRECTION;
    372 #define MAX_PIN_NAME    128
    373 #define MAX_FILTER_NAME 128
    374 #ifndef REFERENCE_TIME_DEFINED
    375 #define REFERENCE_TIME_DEFINED
    376 typedef LONGLONG REFERENCE_TIME;
    377 #endif
    378 #ifndef REFTIME_DEFINED
    379 #define REFTIME_DEFINED
    380 typedef DOUBLE REFTIME;
    381 #endif
    382 typedef DWORD_PTR HSEMAPHORE;
    383 typedef DWORD_PTR HEVENT;
    384 typedef struct _AllocatorProperties {
    385     LONG cBuffers;
    386     LONG cbBuffer;
    387     LONG cbAlign;
    388     LONG cbPrefix;
    389 } ALLOCATOR_PROPERTIES;
    390 #ifndef __IAMovieSetup_FWD_DEFINED__
    391 #define __IAMovieSetup_FWD_DEFINED__
    392 typedef interface IAMovieSetup IAMovieSetup;
    393 #endif
    394 
    395 #ifndef __IEnumFilters_FWD_DEFINED__
    396 #define __IEnumFilters_FWD_DEFINED__
    397 typedef interface IEnumFilters IEnumFilters;
    398 #endif
    399 
    400 #ifndef __IEnumMediaTypes_FWD_DEFINED__
    401 #define __IEnumMediaTypes_FWD_DEFINED__
    402 typedef interface IEnumMediaTypes IEnumMediaTypes;
    403 #endif
    404 
    405 #ifndef __IEnumPins_FWD_DEFINED__
    406 #define __IEnumPins_FWD_DEFINED__
    407 typedef interface IEnumPins IEnumPins;
    408 #endif
    409 
    410 #ifndef __IBaseFilter_FWD_DEFINED__
    411 #define __IBaseFilter_FWD_DEFINED__
    412 typedef interface IBaseFilter IBaseFilter;
    413 #endif
    414 
    415 #ifndef __IFilterGraph_FWD_DEFINED__
    416 #define __IFilterGraph_FWD_DEFINED__
    417 typedef interface IFilterGraph IFilterGraph;
    418 #endif
    419 
    420 #ifndef __IMediaFilter_FWD_DEFINED__
    421 #define __IMediaFilter_FWD_DEFINED__
    422 typedef interface IMediaFilter IMediaFilter;
    423 #endif
    424 
    425 #ifndef __IMediaSample_FWD_DEFINED__
    426 #define __IMediaSample_FWD_DEFINED__
    427 typedef interface IMediaSample IMediaSample;
    428 #endif
    429 
    430 #ifndef __IMemAllocator_FWD_DEFINED__
    431 #define __IMemAllocator_FWD_DEFINED__
    432 typedef interface IMemAllocator IMemAllocator;
    433 #endif
    434 
    435 #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
    436 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
    437 typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
    438 #endif
    439 
    440 #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
    441 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
    442 typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
    443 #endif
    444 
    445 #ifndef __IMemInputPin_FWD_DEFINED__
    446 #define __IMemInputPin_FWD_DEFINED__
    447 typedef interface IMemInputPin IMemInputPin;
    448 #endif
    449 
    450 #ifndef __IPin_FWD_DEFINED__
    451 #define __IPin_FWD_DEFINED__
    452 typedef interface IPin IPin;
    453 #endif
    454 
    455 #ifndef __IReferenceClock_FWD_DEFINED__
    456 #define __IReferenceClock_FWD_DEFINED__
    457 typedef interface IReferenceClock IReferenceClock;
    458 #endif
    459 
    460 /*****************************************************************************
    461  * IPin interface
    462  */
    463 #ifndef __IPin_INTERFACE_DEFINED__
    464 #define __IPin_INTERFACE_DEFINED__
    465 
    466 typedef struct _PinInfo {
    467     IBaseFilter *pFilter;
    468     PIN_DIRECTION dir;
    469     WCHAR achName[128];
    470 } PIN_INFO;
    471 DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
    472 #if defined(__cplusplus) && !defined(CINTERFACE)
    473 MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
    474 IPin : public IUnknown
    475 {
    476     virtual HRESULT STDMETHODCALLTYPE Connect(
    477         IPin *pReceivePin,
    478         const AM_MEDIA_TYPE *pmt) = 0;
    479 
    480     virtual HRESULT STDMETHODCALLTYPE ReceiveConnection(
    481         IPin *pConnector,
    482         const AM_MEDIA_TYPE *pmt) = 0;
    483 
    484     virtual HRESULT STDMETHODCALLTYPE Disconnect(
    485         ) = 0;
    486 
    487     virtual HRESULT STDMETHODCALLTYPE ConnectedTo(
    488         IPin **pPin) = 0;
    489 
    490     virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType(
    491         AM_MEDIA_TYPE *pmt) = 0;
    492 
    493     virtual HRESULT STDMETHODCALLTYPE QueryPinInfo(
    494         PIN_INFO *pInfo) = 0;
    495 
    496     virtual HRESULT STDMETHODCALLTYPE QueryDirection(
    497         PIN_DIRECTION *pPinDir) = 0;
    498 
    499     virtual HRESULT STDMETHODCALLTYPE QueryId(
    500         LPWSTR *Id) = 0;
    501 
    502     virtual HRESULT STDMETHODCALLTYPE QueryAccept(
    503         const AM_MEDIA_TYPE *pmt) = 0;
    504 
    505     virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes(
    506         IEnumMediaTypes **ppEnum) = 0;
    507 
    508     virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections(
    509         IPin **apPin,
    510         ULONG *nPin) = 0;
    511 
    512     virtual HRESULT STDMETHODCALLTYPE EndOfStream(
    513         ) = 0;
    514 
    515     virtual HRESULT STDMETHODCALLTYPE BeginFlush(
    516         ) = 0;
    517 
    518     virtual HRESULT STDMETHODCALLTYPE EndFlush(
    519         ) = 0;
    520 
    521     virtual HRESULT STDMETHODCALLTYPE NewSegment(
    522         REFERENCE_TIME tStart,
    523         REFERENCE_TIME tStop,
    524         double dRate) = 0;
    525 
    526 };
    527 #ifdef __CRT_UUID_DECL
    528 __CRT_UUID_DECL(IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
    529 #endif
    530 #else
    531 typedef struct IPinVtbl {
    532     BEGIN_INTERFACE
    533 
    534     /*** IUnknown methods ***/
    535     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    536         IPin* This,
    537         REFIID riid,
    538         void **ppvObject);
    539 
    540     ULONG (STDMETHODCALLTYPE *AddRef)(
    541         IPin* This);
    542 
    543     ULONG (STDMETHODCALLTYPE *Release)(
    544         IPin* This);
    545 
    546     /*** IPin methods ***/
    547     HRESULT (STDMETHODCALLTYPE *Connect)(
    548         IPin* This,
    549         IPin *pReceivePin,
    550         const AM_MEDIA_TYPE *pmt);
    551 
    552     HRESULT (STDMETHODCALLTYPE *ReceiveConnection)(
    553         IPin* This,
    554         IPin *pConnector,
    555         const AM_MEDIA_TYPE *pmt);
    556 
    557     HRESULT (STDMETHODCALLTYPE *Disconnect)(
    558         IPin* This);
    559 
    560     HRESULT (STDMETHODCALLTYPE *ConnectedTo)(
    561         IPin* This,
    562         IPin **pPin);
    563 
    564     HRESULT (STDMETHODCALLTYPE *ConnectionMediaType)(
    565         IPin* This,
    566         AM_MEDIA_TYPE *pmt);
    567 
    568     HRESULT (STDMETHODCALLTYPE *QueryPinInfo)(
    569         IPin* This,
    570         PIN_INFO *pInfo);
    571 
    572     HRESULT (STDMETHODCALLTYPE *QueryDirection)(
    573         IPin* This,
    574         PIN_DIRECTION *pPinDir);
    575 
    576     HRESULT (STDMETHODCALLTYPE *QueryId)(
    577         IPin* This,
    578         LPWSTR *Id);
    579 
    580     HRESULT (STDMETHODCALLTYPE *QueryAccept)(
    581         IPin* This,
    582         const AM_MEDIA_TYPE *pmt);
    583 
    584     HRESULT (STDMETHODCALLTYPE *EnumMediaTypes)(
    585         IPin* This,
    586         IEnumMediaTypes **ppEnum);
    587 
    588     HRESULT (STDMETHODCALLTYPE *QueryInternalConnections)(
    589         IPin* This,
    590         IPin **apPin,
    591         ULONG *nPin);
    592 
    593     HRESULT (STDMETHODCALLTYPE *EndOfStream)(
    594         IPin* This);
    595 
    596     HRESULT (STDMETHODCALLTYPE *BeginFlush)(
    597         IPin* This);
    598 
    599     HRESULT (STDMETHODCALLTYPE *EndFlush)(
    600         IPin* This);
    601 
    602     HRESULT (STDMETHODCALLTYPE *NewSegment)(
    603         IPin* This,
    604         REFERENCE_TIME tStart,
    605         REFERENCE_TIME tStop,
    606         double dRate);
    607 
    608     END_INTERFACE
    609 } IPinVtbl;
    610 interface IPin {
    611     CONST_VTBL IPinVtbl* lpVtbl;
    612 };
    613 
    614 #ifdef COBJMACROS
    615 #ifndef WIDL_C_INLINE_WRAPPERS
    616 /*** IUnknown methods ***/
    617 #define IPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    618 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This)
    619 #define IPin_Release(This) (This)->lpVtbl->Release(This)
    620 /*** IPin methods ***/
    621 #define IPin_Connect(This,pReceivePin,pmt) (This)->lpVtbl->Connect(This,pReceivePin,pmt)
    622 #define IPin_ReceiveConnection(This,pConnector,pmt) (This)->lpVtbl->ReceiveConnection(This,pConnector,pmt)
    623 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This)
    624 #define IPin_ConnectedTo(This,pPin) (This)->lpVtbl->ConnectedTo(This,pPin)
    625 #define IPin_ConnectionMediaType(This,pmt) (This)->lpVtbl->ConnectionMediaType(This,pmt)
    626 #define IPin_QueryPinInfo(This,pInfo) (This)->lpVtbl->QueryPinInfo(This,pInfo)
    627 #define IPin_QueryDirection(This,pPinDir) (This)->lpVtbl->QueryDirection(This,pPinDir)
    628 #define IPin_QueryId(This,Id) (This)->lpVtbl->QueryId(This,Id)
    629 #define IPin_QueryAccept(This,pmt) (This)->lpVtbl->QueryAccept(This,pmt)
    630 #define IPin_EnumMediaTypes(This,ppEnum) (This)->lpVtbl->EnumMediaTypes(This,ppEnum)
    631 #define IPin_QueryInternalConnections(This,apPin,nPin) (This)->lpVtbl->QueryInternalConnections(This,apPin,nPin)
    632 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
    633 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
    634 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This)
    635 #define IPin_NewSegment(This,tStart,tStop,dRate) (This)->lpVtbl->NewSegment(This,tStart,tStop,dRate)
    636 #else
    637 /*** IUnknown methods ***/
    638 static FORCEINLINE HRESULT IPin_QueryInterface(IPin* This,REFIID riid,void **ppvObject) {
    639     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    640 }
    641 static FORCEINLINE ULONG IPin_AddRef(IPin* This) {
    642     return This->lpVtbl->AddRef(This);
    643 }
    644 static FORCEINLINE ULONG IPin_Release(IPin* This) {
    645     return This->lpVtbl->Release(This);
    646 }
    647 /*** IPin methods ***/
    648 static FORCEINLINE HRESULT IPin_Connect(IPin* This,IPin *pReceivePin,const AM_MEDIA_TYPE *pmt) {
    649     return This->lpVtbl->Connect(This,pReceivePin,pmt);
    650 }
    651 static FORCEINLINE HRESULT IPin_ReceiveConnection(IPin* This,IPin *pConnector,const AM_MEDIA_TYPE *pmt) {
    652     return This->lpVtbl->ReceiveConnection(This,pConnector,pmt);
    653 }
    654 static FORCEINLINE HRESULT IPin_Disconnect(IPin* This) {
    655     return This->lpVtbl->Disconnect(This);
    656 }
    657 static FORCEINLINE HRESULT IPin_ConnectedTo(IPin* This,IPin **pPin) {
    658     return This->lpVtbl->ConnectedTo(This,pPin);
    659 }
    660 static FORCEINLINE HRESULT IPin_ConnectionMediaType(IPin* This,AM_MEDIA_TYPE *pmt) {
    661     return This->lpVtbl->ConnectionMediaType(This,pmt);
    662 }
    663 static FORCEINLINE HRESULT IPin_QueryPinInfo(IPin* This,PIN_INFO *pInfo) {
    664     return This->lpVtbl->QueryPinInfo(This,pInfo);
    665 }
    666 static FORCEINLINE HRESULT IPin_QueryDirection(IPin* This,PIN_DIRECTION *pPinDir) {
    667     return This->lpVtbl->QueryDirection(This,pPinDir);
    668 }
    669 static FORCEINLINE HRESULT IPin_QueryId(IPin* This,LPWSTR *Id) {
    670     return This->lpVtbl->QueryId(This,Id);
    671 }
    672 static FORCEINLINE HRESULT IPin_QueryAccept(IPin* This,const AM_MEDIA_TYPE *pmt) {
    673     return This->lpVtbl->QueryAccept(This,pmt);
    674 }
    675 static FORCEINLINE HRESULT IPin_EnumMediaTypes(IPin* This,IEnumMediaTypes **ppEnum) {
    676     return This->lpVtbl->EnumMediaTypes(This,ppEnum);
    677 }
    678 static FORCEINLINE HRESULT IPin_QueryInternalConnections(IPin* This,IPin **apPin,ULONG *nPin) {
    679     return This->lpVtbl->QueryInternalConnections(This,apPin,nPin);
    680 }
    681 static FORCEINLINE HRESULT IPin_EndOfStream(IPin* This) {
    682     return This->lpVtbl->EndOfStream(This);
    683 }
    684 static FORCEINLINE HRESULT IPin_BeginFlush(IPin* This) {
    685     return This->lpVtbl->BeginFlush(This);
    686 }
    687 static FORCEINLINE HRESULT IPin_EndFlush(IPin* This) {
    688     return This->lpVtbl->EndFlush(This);
    689 }
    690 static FORCEINLINE HRESULT IPin_NewSegment(IPin* This,REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate) {
    691     return This->lpVtbl->NewSegment(This,tStart,tStop,dRate);
    692 }
    693 #endif
    694 #endif
    695 
    696 #endif
    697 
    698 HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy(
    699     IPin* This,
    700     IPin *pReceivePin,
    701     const AM_MEDIA_TYPE *pmt);
    702 void __RPC_STUB IPin_Connect_Stub(
    703     IRpcStubBuffer* This,
    704     IRpcChannelBuffer* pRpcChannelBuffer,
    705     PRPC_MESSAGE pRpcMessage,
    706     DWORD* pdwStubPhase);
    707 HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy(
    708     IPin* This,
    709     IPin *pConnector,
    710     const AM_MEDIA_TYPE *pmt);
    711 void __RPC_STUB IPin_ReceiveConnection_Stub(
    712     IRpcStubBuffer* This,
    713     IRpcChannelBuffer* pRpcChannelBuffer,
    714     PRPC_MESSAGE pRpcMessage,
    715     DWORD* pdwStubPhase);
    716 HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy(
    717     IPin* This);
    718 void __RPC_STUB IPin_Disconnect_Stub(
    719     IRpcStubBuffer* This,
    720     IRpcChannelBuffer* pRpcChannelBuffer,
    721     PRPC_MESSAGE pRpcMessage,
    722     DWORD* pdwStubPhase);
    723 HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy(
    724     IPin* This,
    725     IPin **pPin);
    726 void __RPC_STUB IPin_ConnectedTo_Stub(
    727     IRpcStubBuffer* This,
    728     IRpcChannelBuffer* pRpcChannelBuffer,
    729     PRPC_MESSAGE pRpcMessage,
    730     DWORD* pdwStubPhase);
    731 HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy(
    732     IPin* This,
    733     AM_MEDIA_TYPE *pmt);
    734 void __RPC_STUB IPin_ConnectionMediaType_Stub(
    735     IRpcStubBuffer* This,
    736     IRpcChannelBuffer* pRpcChannelBuffer,
    737     PRPC_MESSAGE pRpcMessage,
    738     DWORD* pdwStubPhase);
    739 HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy(
    740     IPin* This,
    741     PIN_INFO *pInfo);
    742 void __RPC_STUB IPin_QueryPinInfo_Stub(
    743     IRpcStubBuffer* This,
    744     IRpcChannelBuffer* pRpcChannelBuffer,
    745     PRPC_MESSAGE pRpcMessage,
    746     DWORD* pdwStubPhase);
    747 HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy(
    748     IPin* This,
    749     PIN_DIRECTION *pPinDir);
    750 void __RPC_STUB IPin_QueryDirection_Stub(
    751     IRpcStubBuffer* This,
    752     IRpcChannelBuffer* pRpcChannelBuffer,
    753     PRPC_MESSAGE pRpcMessage,
    754     DWORD* pdwStubPhase);
    755 HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy(
    756     IPin* This,
    757     LPWSTR *Id);
    758 void __RPC_STUB IPin_QueryId_Stub(
    759     IRpcStubBuffer* This,
    760     IRpcChannelBuffer* pRpcChannelBuffer,
    761     PRPC_MESSAGE pRpcMessage,
    762     DWORD* pdwStubPhase);
    763 HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy(
    764     IPin* This,
    765     const AM_MEDIA_TYPE *pmt);
    766 void __RPC_STUB IPin_QueryAccept_Stub(
    767     IRpcStubBuffer* This,
    768     IRpcChannelBuffer* pRpcChannelBuffer,
    769     PRPC_MESSAGE pRpcMessage,
    770     DWORD* pdwStubPhase);
    771 HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy(
    772     IPin* This,
    773     IEnumMediaTypes **ppEnum);
    774 void __RPC_STUB IPin_EnumMediaTypes_Stub(
    775     IRpcStubBuffer* This,
    776     IRpcChannelBuffer* pRpcChannelBuffer,
    777     PRPC_MESSAGE pRpcMessage,
    778     DWORD* pdwStubPhase);
    779 HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy(
    780     IPin* This,
    781     IPin **apPin,
    782     ULONG *nPin);
    783 void __RPC_STUB IPin_QueryInternalConnections_Stub(
    784     IRpcStubBuffer* This,
    785     IRpcChannelBuffer* pRpcChannelBuffer,
    786     PRPC_MESSAGE pRpcMessage,
    787     DWORD* pdwStubPhase);
    788 HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy(
    789     IPin* This);
    790 void __RPC_STUB IPin_EndOfStream_Stub(
    791     IRpcStubBuffer* This,
    792     IRpcChannelBuffer* pRpcChannelBuffer,
    793     PRPC_MESSAGE pRpcMessage,
    794     DWORD* pdwStubPhase);
    795 HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy(
    796     IPin* This);
    797 void __RPC_STUB IPin_BeginFlush_Stub(
    798     IRpcStubBuffer* This,
    799     IRpcChannelBuffer* pRpcChannelBuffer,
    800     PRPC_MESSAGE pRpcMessage,
    801     DWORD* pdwStubPhase);
    802 HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy(
    803     IPin* This);
    804 void __RPC_STUB IPin_EndFlush_Stub(
    805     IRpcStubBuffer* This,
    806     IRpcChannelBuffer* pRpcChannelBuffer,
    807     PRPC_MESSAGE pRpcMessage,
    808     DWORD* pdwStubPhase);
    809 HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy(
    810     IPin* This,
    811     REFERENCE_TIME tStart,
    812     REFERENCE_TIME tStop,
    813     double dRate);
    814 void __RPC_STUB IPin_NewSegment_Stub(
    815     IRpcStubBuffer* This,
    816     IRpcChannelBuffer* pRpcChannelBuffer,
    817     PRPC_MESSAGE pRpcMessage,
    818     DWORD* pdwStubPhase);
    819 
    820 #endif  /* __IPin_INTERFACE_DEFINED__ */
    821 
    822 typedef IPin *PPIN;
    823 /*****************************************************************************
    824  * IEnumPins interface
    825  */
    826 #ifndef __IEnumPins_INTERFACE_DEFINED__
    827 #define __IEnumPins_INTERFACE_DEFINED__
    828 
    829 DEFINE_GUID(IID_IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
    830 #if defined(__cplusplus) && !defined(CINTERFACE)
    831 MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
    832 IEnumPins : public IUnknown
    833 {
    834     virtual HRESULT STDMETHODCALLTYPE Next(
    835         ULONG cPins,
    836         IPin **ppPins,
    837         ULONG *pcFetched) = 0;
    838 
    839     virtual HRESULT STDMETHODCALLTYPE Skip(
    840         ULONG cPins) = 0;
    841 
    842     virtual HRESULT STDMETHODCALLTYPE Reset(
    843         ) = 0;
    844 
    845     virtual HRESULT STDMETHODCALLTYPE Clone(
    846         IEnumPins **ppEnum) = 0;
    847 
    848 };
    849 #ifdef __CRT_UUID_DECL
    850 __CRT_UUID_DECL(IEnumPins, 0x56a86892, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
    851 #endif
    852 #else
    853 typedef struct IEnumPinsVtbl {
    854     BEGIN_INTERFACE
    855 
    856     /*** IUnknown methods ***/
    857     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    858         IEnumPins* This,
    859         REFIID riid,
    860         void **ppvObject);
    861 
    862     ULONG (STDMETHODCALLTYPE *AddRef)(
    863         IEnumPins* This);
    864 
    865     ULONG (STDMETHODCALLTYPE *Release)(
    866         IEnumPins* This);
    867 
    868     /*** IEnumPins methods ***/
    869     HRESULT (STDMETHODCALLTYPE *Next)(
    870         IEnumPins* This,
    871         ULONG cPins,
    872         IPin **ppPins,
    873         ULONG *pcFetched);
    874 
    875     HRESULT (STDMETHODCALLTYPE *Skip)(
    876         IEnumPins* This,
    877         ULONG cPins);
    878 
    879     HRESULT (STDMETHODCALLTYPE *Reset)(
    880         IEnumPins* This);
    881 
    882     HRESULT (STDMETHODCALLTYPE *Clone)(
    883         IEnumPins* This,
    884         IEnumPins **ppEnum);
    885 
    886     END_INTERFACE
    887 } IEnumPinsVtbl;
    888 interface IEnumPins {
    889     CONST_VTBL IEnumPinsVtbl* lpVtbl;
    890 };
    891 
    892 #ifdef COBJMACROS
    893 #ifndef WIDL_C_INLINE_WRAPPERS
    894 /*** IUnknown methods ***/
    895 #define IEnumPins_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    896 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This)
    897 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This)
    898 /*** IEnumPins methods ***/
    899 #define IEnumPins_Next(This,cPins,ppPins,pcFetched) (This)->lpVtbl->Next(This,cPins,ppPins,pcFetched)
    900 #define IEnumPins_Skip(This,cPins) (This)->lpVtbl->Skip(This,cPins)
    901 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This)
    902 #define IEnumPins_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
    903 #else
    904 /*** IUnknown methods ***/
    905 static FORCEINLINE HRESULT IEnumPins_QueryInterface(IEnumPins* This,REFIID riid,void **ppvObject) {
    906     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    907 }
    908 static FORCEINLINE ULONG IEnumPins_AddRef(IEnumPins* This) {
    909     return This->lpVtbl->AddRef(This);
    910 }
    911 static FORCEINLINE ULONG IEnumPins_Release(IEnumPins* This) {
    912     return This->lpVtbl->Release(This);
    913 }
    914 /*** IEnumPins methods ***/
    915 static FORCEINLINE HRESULT IEnumPins_Next(IEnumPins* This,ULONG cPins,IPin **ppPins,ULONG *pcFetched) {
    916     return This->lpVtbl->Next(This,cPins,ppPins,pcFetched);
    917 }
    918 static FORCEINLINE HRESULT IEnumPins_Skip(IEnumPins* This,ULONG cPins) {
    919     return This->lpVtbl->Skip(This,cPins);
    920 }
    921 static FORCEINLINE HRESULT IEnumPins_Reset(IEnumPins* This) {
    922     return This->lpVtbl->Reset(This);
    923 }
    924 static FORCEINLINE HRESULT IEnumPins_Clone(IEnumPins* This,IEnumPins **ppEnum) {
    925     return This->lpVtbl->Clone(This,ppEnum);
    926 }
    927 #endif
    928 #endif
    929 
    930 #endif
    931 
    932 HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy(
    933     IEnumPins* This,
    934     ULONG cPins,
    935     IPin **ppPins,
    936     ULONG *pcFetched);
    937 void __RPC_STUB IEnumPins_Next_Stub(
    938     IRpcStubBuffer* This,
    939     IRpcChannelBuffer* pRpcChannelBuffer,
    940     PRPC_MESSAGE pRpcMessage,
    941     DWORD* pdwStubPhase);
    942 HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy(
    943     IEnumPins* This,
    944     ULONG cPins);
    945 void __RPC_STUB IEnumPins_Skip_Stub(
    946     IRpcStubBuffer* This,
    947     IRpcChannelBuffer* pRpcChannelBuffer,
    948     PRPC_MESSAGE pRpcMessage,
    949     DWORD* pdwStubPhase);
    950 HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy(
    951     IEnumPins* This);
    952 void __RPC_STUB IEnumPins_Reset_Stub(
    953     IRpcStubBuffer* This,
    954     IRpcChannelBuffer* pRpcChannelBuffer,
    955     PRPC_MESSAGE pRpcMessage,
    956     DWORD* pdwStubPhase);
    957 HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy(
    958     IEnumPins* This,
    959     IEnumPins **ppEnum);
    960 void __RPC_STUB IEnumPins_Clone_Stub(
    961     IRpcStubBuffer* This,
    962     IRpcChannelBuffer* pRpcChannelBuffer,
    963     PRPC_MESSAGE pRpcMessage,
    964     DWORD* pdwStubPhase);
    965 
    966 #endif  /* __IEnumPins_INTERFACE_DEFINED__ */
    967 
    968 typedef IEnumPins *PENUMPINS;
    969 /*****************************************************************************
    970  * IEnumMediaTypes interface
    971  */
    972 #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
    973 #define __IEnumMediaTypes_INTERFACE_DEFINED__
    974 
    975 DEFINE_GUID(IID_IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a);
    976 #if defined(__cplusplus) && !defined(CINTERFACE)
    977 MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
    978 IEnumMediaTypes : public IUnknown
    979 {
    980     virtual HRESULT STDMETHODCALLTYPE Next(
    981         ULONG cMediaTypes,
    982         AM_MEDIA_TYPE **ppMediaTypes,
    983         ULONG *pcFetched) = 0;
    984 
    985     virtual HRESULT STDMETHODCALLTYPE Skip(
    986         ULONG cMediaTypes) = 0;
    987 
    988     virtual HRESULT STDMETHODCALLTYPE Reset(
    989         ) = 0;
    990 
    991     virtual HRESULT STDMETHODCALLTYPE Clone(
    992         IEnumMediaTypes **ppEnum) = 0;
    993 
    994 };
    995 #ifdef __CRT_UUID_DECL
    996 __CRT_UUID_DECL(IEnumMediaTypes, 0x89c31040, 0x846b, 0x11ce, 0x97,0xd3, 0x00,0xaa,0x00,0x55,0x59,0x5a)
    997 #endif
    998 #else
    999 typedef struct IEnumMediaTypesVtbl {
   1000     BEGIN_INTERFACE
   1001 
   1002     /*** IUnknown methods ***/
   1003     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1004         IEnumMediaTypes* This,
   1005         REFIID riid,
   1006         void **ppvObject);
   1007 
   1008     ULONG (STDMETHODCALLTYPE *AddRef)(
   1009         IEnumMediaTypes* This);
   1010 
   1011     ULONG (STDMETHODCALLTYPE *Release)(
   1012         IEnumMediaTypes* This);
   1013 
   1014     /*** IEnumMediaTypes methods ***/
   1015     HRESULT (STDMETHODCALLTYPE *Next)(
   1016         IEnumMediaTypes* This,
   1017         ULONG cMediaTypes,
   1018         AM_MEDIA_TYPE **ppMediaTypes,
   1019         ULONG *pcFetched);
   1020 
   1021     HRESULT (STDMETHODCALLTYPE *Skip)(
   1022         IEnumMediaTypes* This,
   1023         ULONG cMediaTypes);
   1024 
   1025     HRESULT (STDMETHODCALLTYPE *Reset)(
   1026         IEnumMediaTypes* This);
   1027 
   1028     HRESULT (STDMETHODCALLTYPE *Clone)(
   1029         IEnumMediaTypes* This,
   1030         IEnumMediaTypes **ppEnum);
   1031 
   1032     END_INTERFACE
   1033 } IEnumMediaTypesVtbl;
   1034 interface IEnumMediaTypes {
   1035     CONST_VTBL IEnumMediaTypesVtbl* lpVtbl;
   1036 };
   1037 
   1038 #ifdef COBJMACROS
   1039 #ifndef WIDL_C_INLINE_WRAPPERS
   1040 /*** IUnknown methods ***/
   1041 #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1042 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This)
   1043 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This)
   1044 /*** IEnumMediaTypes methods ***/
   1045 #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) (This)->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched)
   1046 #define IEnumMediaTypes_Skip(This,cMediaTypes) (This)->lpVtbl->Skip(This,cMediaTypes)
   1047 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This)
   1048 #define IEnumMediaTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   1049 #else
   1050 /*** IUnknown methods ***/
   1051 static FORCEINLINE HRESULT IEnumMediaTypes_QueryInterface(IEnumMediaTypes* This,REFIID riid,void **ppvObject) {
   1052     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1053 }
   1054 static FORCEINLINE ULONG IEnumMediaTypes_AddRef(IEnumMediaTypes* This) {
   1055     return This->lpVtbl->AddRef(This);
   1056 }
   1057 static FORCEINLINE ULONG IEnumMediaTypes_Release(IEnumMediaTypes* This) {
   1058     return This->lpVtbl->Release(This);
   1059 }
   1060 /*** IEnumMediaTypes methods ***/
   1061 static FORCEINLINE HRESULT IEnumMediaTypes_Next(IEnumMediaTypes* This,ULONG cMediaTypes,AM_MEDIA_TYPE **ppMediaTypes,ULONG *pcFetched) {
   1062     return This->lpVtbl->Next(This,cMediaTypes,ppMediaTypes,pcFetched);
   1063 }
   1064 static FORCEINLINE HRESULT IEnumMediaTypes_Skip(IEnumMediaTypes* This,ULONG cMediaTypes) {
   1065     return This->lpVtbl->Skip(This,cMediaTypes);
   1066 }
   1067 static FORCEINLINE HRESULT IEnumMediaTypes_Reset(IEnumMediaTypes* This) {
   1068     return This->lpVtbl->Reset(This);
   1069 }
   1070 static FORCEINLINE HRESULT IEnumMediaTypes_Clone(IEnumMediaTypes* This,IEnumMediaTypes **ppEnum) {
   1071     return This->lpVtbl->Clone(This,ppEnum);
   1072 }
   1073 #endif
   1074 #endif
   1075 
   1076 #endif
   1077 
   1078 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy(
   1079     IEnumMediaTypes* This,
   1080     ULONG cMediaTypes,
   1081     AM_MEDIA_TYPE **ppMediaTypes,
   1082     ULONG *pcFetched);
   1083 void __RPC_STUB IEnumMediaTypes_Next_Stub(
   1084     IRpcStubBuffer* This,
   1085     IRpcChannelBuffer* pRpcChannelBuffer,
   1086     PRPC_MESSAGE pRpcMessage,
   1087     DWORD* pdwStubPhase);
   1088 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy(
   1089     IEnumMediaTypes* This,
   1090     ULONG cMediaTypes);
   1091 void __RPC_STUB IEnumMediaTypes_Skip_Stub(
   1092     IRpcStubBuffer* This,
   1093     IRpcChannelBuffer* pRpcChannelBuffer,
   1094     PRPC_MESSAGE pRpcMessage,
   1095     DWORD* pdwStubPhase);
   1096 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy(
   1097     IEnumMediaTypes* This);
   1098 void __RPC_STUB IEnumMediaTypes_Reset_Stub(
   1099     IRpcStubBuffer* This,
   1100     IRpcChannelBuffer* pRpcChannelBuffer,
   1101     PRPC_MESSAGE pRpcMessage,
   1102     DWORD* pdwStubPhase);
   1103 HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy(
   1104     IEnumMediaTypes* This,
   1105     IEnumMediaTypes **ppEnum);
   1106 void __RPC_STUB IEnumMediaTypes_Clone_Stub(
   1107     IRpcStubBuffer* This,
   1108     IRpcChannelBuffer* pRpcChannelBuffer,
   1109     PRPC_MESSAGE pRpcMessage,
   1110     DWORD* pdwStubPhase);
   1111 
   1112 #endif  /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
   1113 
   1114 typedef IEnumMediaTypes *PENUMMEDIATYPES;
   1115 /*****************************************************************************
   1116  * IFilterGraph interface
   1117  */
   1118 #ifndef __IFilterGraph_INTERFACE_DEFINED__
   1119 #define __IFilterGraph_INTERFACE_DEFINED__
   1120 
   1121 DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1122 #if defined(__cplusplus) && !defined(CINTERFACE)
   1123 MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
   1124 IFilterGraph : public IUnknown
   1125 {
   1126     virtual HRESULT STDMETHODCALLTYPE AddFilter(
   1127         IBaseFilter *pFilter,
   1128         LPCWSTR pName) = 0;
   1129 
   1130     virtual HRESULT STDMETHODCALLTYPE RemoveFilter(
   1131         IBaseFilter *pFilter) = 0;
   1132 
   1133     virtual HRESULT STDMETHODCALLTYPE EnumFilters(
   1134         IEnumFilters **ppEnum) = 0;
   1135 
   1136     virtual HRESULT STDMETHODCALLTYPE FindFilterByName(
   1137         LPCWSTR pName,
   1138         IBaseFilter **ppFilter) = 0;
   1139 
   1140     virtual HRESULT STDMETHODCALLTYPE ConnectDirect(
   1141         IPin *ppinOut,
   1142         IPin *ppinIn,
   1143         const AM_MEDIA_TYPE *pmt) = 0;
   1144 
   1145     virtual HRESULT STDMETHODCALLTYPE Reconnect(
   1146         IPin *ppin) = 0;
   1147 
   1148     virtual HRESULT STDMETHODCALLTYPE Disconnect(
   1149         IPin *ppin) = 0;
   1150 
   1151     virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource(
   1152         ) = 0;
   1153 
   1154 };
   1155 #ifdef __CRT_UUID_DECL
   1156 __CRT_UUID_DECL(IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1157 #endif
   1158 #else
   1159 typedef struct IFilterGraphVtbl {
   1160     BEGIN_INTERFACE
   1161 
   1162     /*** IUnknown methods ***/
   1163     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1164         IFilterGraph* This,
   1165         REFIID riid,
   1166         void **ppvObject);
   1167 
   1168     ULONG (STDMETHODCALLTYPE *AddRef)(
   1169         IFilterGraph* This);
   1170 
   1171     ULONG (STDMETHODCALLTYPE *Release)(
   1172         IFilterGraph* This);
   1173 
   1174     /*** IFilterGraph methods ***/
   1175     HRESULT (STDMETHODCALLTYPE *AddFilter)(
   1176         IFilterGraph* This,
   1177         IBaseFilter *pFilter,
   1178         LPCWSTR pName);
   1179 
   1180     HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
   1181         IFilterGraph* This,
   1182         IBaseFilter *pFilter);
   1183 
   1184     HRESULT (STDMETHODCALLTYPE *EnumFilters)(
   1185         IFilterGraph* This,
   1186         IEnumFilters **ppEnum);
   1187 
   1188     HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
   1189         IFilterGraph* This,
   1190         LPCWSTR pName,
   1191         IBaseFilter **ppFilter);
   1192 
   1193     HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
   1194         IFilterGraph* This,
   1195         IPin *ppinOut,
   1196         IPin *ppinIn,
   1197         const AM_MEDIA_TYPE *pmt);
   1198 
   1199     HRESULT (STDMETHODCALLTYPE *Reconnect)(
   1200         IFilterGraph* This,
   1201         IPin *ppin);
   1202 
   1203     HRESULT (STDMETHODCALLTYPE *Disconnect)(
   1204         IFilterGraph* This,
   1205         IPin *ppin);
   1206 
   1207     HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
   1208         IFilterGraph* This);
   1209 
   1210     END_INTERFACE
   1211 } IFilterGraphVtbl;
   1212 interface IFilterGraph {
   1213     CONST_VTBL IFilterGraphVtbl* lpVtbl;
   1214 };
   1215 
   1216 #ifdef COBJMACROS
   1217 #ifndef WIDL_C_INLINE_WRAPPERS
   1218 /*** IUnknown methods ***/
   1219 #define IFilterGraph_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1220 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This)
   1221 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This)
   1222 /*** IFilterGraph methods ***/
   1223 #define IFilterGraph_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   1224 #define IFilterGraph_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   1225 #define IFilterGraph_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   1226 #define IFilterGraph_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   1227 #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   1228 #define IFilterGraph_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   1229 #define IFilterGraph_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   1230 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   1231 #else
   1232 /*** IUnknown methods ***/
   1233 static FORCEINLINE HRESULT IFilterGraph_QueryInterface(IFilterGraph* This,REFIID riid,void **ppvObject) {
   1234     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1235 }
   1236 static FORCEINLINE ULONG IFilterGraph_AddRef(IFilterGraph* This) {
   1237     return This->lpVtbl->AddRef(This);
   1238 }
   1239 static FORCEINLINE ULONG IFilterGraph_Release(IFilterGraph* This) {
   1240     return This->lpVtbl->Release(This);
   1241 }
   1242 /*** IFilterGraph methods ***/
   1243 static FORCEINLINE HRESULT IFilterGraph_AddFilter(IFilterGraph* This,IBaseFilter *pFilter,LPCWSTR pName) {
   1244     return This->lpVtbl->AddFilter(This,pFilter,pName);
   1245 }
   1246 static FORCEINLINE HRESULT IFilterGraph_RemoveFilter(IFilterGraph* This,IBaseFilter *pFilter) {
   1247     return This->lpVtbl->RemoveFilter(This,pFilter);
   1248 }
   1249 static FORCEINLINE HRESULT IFilterGraph_EnumFilters(IFilterGraph* This,IEnumFilters **ppEnum) {
   1250     return This->lpVtbl->EnumFilters(This,ppEnum);
   1251 }
   1252 static FORCEINLINE HRESULT IFilterGraph_FindFilterByName(IFilterGraph* This,LPCWSTR pName,IBaseFilter **ppFilter) {
   1253     return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
   1254 }
   1255 static FORCEINLINE HRESULT IFilterGraph_ConnectDirect(IFilterGraph* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
   1256     return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
   1257 }
   1258 static FORCEINLINE HRESULT IFilterGraph_Reconnect(IFilterGraph* This,IPin *ppin) {
   1259     return This->lpVtbl->Reconnect(This,ppin);
   1260 }
   1261 static FORCEINLINE HRESULT IFilterGraph_Disconnect(IFilterGraph* This,IPin *ppin) {
   1262     return This->lpVtbl->Disconnect(This,ppin);
   1263 }
   1264 static FORCEINLINE HRESULT IFilterGraph_SetDefaultSyncSource(IFilterGraph* This) {
   1265     return This->lpVtbl->SetDefaultSyncSource(This);
   1266 }
   1267 #endif
   1268 #endif
   1269 
   1270 #endif
   1271 
   1272 HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy(
   1273     IFilterGraph* This,
   1274     IBaseFilter *pFilter,
   1275     LPCWSTR pName);
   1276 void __RPC_STUB IFilterGraph_AddFilter_Stub(
   1277     IRpcStubBuffer* This,
   1278     IRpcChannelBuffer* pRpcChannelBuffer,
   1279     PRPC_MESSAGE pRpcMessage,
   1280     DWORD* pdwStubPhase);
   1281 HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy(
   1282     IFilterGraph* This,
   1283     IBaseFilter *pFilter);
   1284 void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
   1285     IRpcStubBuffer* This,
   1286     IRpcChannelBuffer* pRpcChannelBuffer,
   1287     PRPC_MESSAGE pRpcMessage,
   1288     DWORD* pdwStubPhase);
   1289 HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy(
   1290     IFilterGraph* This,
   1291     IEnumFilters **ppEnum);
   1292 void __RPC_STUB IFilterGraph_EnumFilters_Stub(
   1293     IRpcStubBuffer* This,
   1294     IRpcChannelBuffer* pRpcChannelBuffer,
   1295     PRPC_MESSAGE pRpcMessage,
   1296     DWORD* pdwStubPhase);
   1297 HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy(
   1298     IFilterGraph* This,
   1299     LPCWSTR pName,
   1300     IBaseFilter **ppFilter);
   1301 void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
   1302     IRpcStubBuffer* This,
   1303     IRpcChannelBuffer* pRpcChannelBuffer,
   1304     PRPC_MESSAGE pRpcMessage,
   1305     DWORD* pdwStubPhase);
   1306 HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy(
   1307     IFilterGraph* This,
   1308     IPin *ppinOut,
   1309     IPin *ppinIn,
   1310     const AM_MEDIA_TYPE *pmt);
   1311 void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
   1312     IRpcStubBuffer* This,
   1313     IRpcChannelBuffer* pRpcChannelBuffer,
   1314     PRPC_MESSAGE pRpcMessage,
   1315     DWORD* pdwStubPhase);
   1316 HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy(
   1317     IFilterGraph* This,
   1318     IPin *ppin);
   1319 void __RPC_STUB IFilterGraph_Reconnect_Stub(
   1320     IRpcStubBuffer* This,
   1321     IRpcChannelBuffer* pRpcChannelBuffer,
   1322     PRPC_MESSAGE pRpcMessage,
   1323     DWORD* pdwStubPhase);
   1324 HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy(
   1325     IFilterGraph* This,
   1326     IPin *ppin);
   1327 void __RPC_STUB IFilterGraph_Disconnect_Stub(
   1328     IRpcStubBuffer* This,
   1329     IRpcChannelBuffer* pRpcChannelBuffer,
   1330     PRPC_MESSAGE pRpcMessage,
   1331     DWORD* pdwStubPhase);
   1332 HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy(
   1333     IFilterGraph* This);
   1334 void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
   1335     IRpcStubBuffer* This,
   1336     IRpcChannelBuffer* pRpcChannelBuffer,
   1337     PRPC_MESSAGE pRpcMessage,
   1338     DWORD* pdwStubPhase);
   1339 
   1340 #endif  /* __IFilterGraph_INTERFACE_DEFINED__ */
   1341 
   1342 typedef IFilterGraph *PFILTERGRAPH;
   1343 /*****************************************************************************
   1344  * IEnumFilters interface
   1345  */
   1346 #ifndef __IEnumFilters_INTERFACE_DEFINED__
   1347 #define __IEnumFilters_INTERFACE_DEFINED__
   1348 
   1349 DEFINE_GUID(IID_IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1350 #if defined(__cplusplus) && !defined(CINTERFACE)
   1351 MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
   1352 IEnumFilters : public IUnknown
   1353 {
   1354     virtual HRESULT STDMETHODCALLTYPE Next(
   1355         ULONG cFilters,
   1356         IBaseFilter **ppFilter,
   1357         ULONG *pcFetched) = 0;
   1358 
   1359     virtual HRESULT STDMETHODCALLTYPE Skip(
   1360         ULONG cFilters) = 0;
   1361 
   1362     virtual HRESULT STDMETHODCALLTYPE Reset(
   1363         ) = 0;
   1364 
   1365     virtual HRESULT STDMETHODCALLTYPE Clone(
   1366         IEnumFilters **ppEnum) = 0;
   1367 
   1368 };
   1369 #ifdef __CRT_UUID_DECL
   1370 __CRT_UUID_DECL(IEnumFilters, 0x56a86893, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1371 #endif
   1372 #else
   1373 typedef struct IEnumFiltersVtbl {
   1374     BEGIN_INTERFACE
   1375 
   1376     /*** IUnknown methods ***/
   1377     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1378         IEnumFilters* This,
   1379         REFIID riid,
   1380         void **ppvObject);
   1381 
   1382     ULONG (STDMETHODCALLTYPE *AddRef)(
   1383         IEnumFilters* This);
   1384 
   1385     ULONG (STDMETHODCALLTYPE *Release)(
   1386         IEnumFilters* This);
   1387 
   1388     /*** IEnumFilters methods ***/
   1389     HRESULT (STDMETHODCALLTYPE *Next)(
   1390         IEnumFilters* This,
   1391         ULONG cFilters,
   1392         IBaseFilter **ppFilter,
   1393         ULONG *pcFetched);
   1394 
   1395     HRESULT (STDMETHODCALLTYPE *Skip)(
   1396         IEnumFilters* This,
   1397         ULONG cFilters);
   1398 
   1399     HRESULT (STDMETHODCALLTYPE *Reset)(
   1400         IEnumFilters* This);
   1401 
   1402     HRESULT (STDMETHODCALLTYPE *Clone)(
   1403         IEnumFilters* This,
   1404         IEnumFilters **ppEnum);
   1405 
   1406     END_INTERFACE
   1407 } IEnumFiltersVtbl;
   1408 interface IEnumFilters {
   1409     CONST_VTBL IEnumFiltersVtbl* lpVtbl;
   1410 };
   1411 
   1412 #ifdef COBJMACROS
   1413 #ifndef WIDL_C_INLINE_WRAPPERS
   1414 /*** IUnknown methods ***/
   1415 #define IEnumFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1416 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
   1417 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This)
   1418 /*** IEnumFilters methods ***/
   1419 #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,ppFilter,pcFetched)
   1420 #define IEnumFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
   1421 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This)
   1422 #define IEnumFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   1423 #else
   1424 /*** IUnknown methods ***/
   1425 static FORCEINLINE HRESULT IEnumFilters_QueryInterface(IEnumFilters* This,REFIID riid,void **ppvObject) {
   1426     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1427 }
   1428 static FORCEINLINE ULONG IEnumFilters_AddRef(IEnumFilters* This) {
   1429     return This->lpVtbl->AddRef(This);
   1430 }
   1431 static FORCEINLINE ULONG IEnumFilters_Release(IEnumFilters* This) {
   1432     return This->lpVtbl->Release(This);
   1433 }
   1434 /*** IEnumFilters methods ***/
   1435 static FORCEINLINE HRESULT IEnumFilters_Next(IEnumFilters* This,ULONG cFilters,IBaseFilter **ppFilter,ULONG *pcFetched) {
   1436     return This->lpVtbl->Next(This,cFilters,ppFilter,pcFetched);
   1437 }
   1438 static FORCEINLINE HRESULT IEnumFilters_Skip(IEnumFilters* This,ULONG cFilters) {
   1439     return This->lpVtbl->Skip(This,cFilters);
   1440 }
   1441 static FORCEINLINE HRESULT IEnumFilters_Reset(IEnumFilters* This) {
   1442     return This->lpVtbl->Reset(This);
   1443 }
   1444 static FORCEINLINE HRESULT IEnumFilters_Clone(IEnumFilters* This,IEnumFilters **ppEnum) {
   1445     return This->lpVtbl->Clone(This,ppEnum);
   1446 }
   1447 #endif
   1448 #endif
   1449 
   1450 #endif
   1451 
   1452 HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy(
   1453     IEnumFilters* This,
   1454     ULONG cFilters,
   1455     IBaseFilter **ppFilter,
   1456     ULONG *pcFetched);
   1457 void __RPC_STUB IEnumFilters_Next_Stub(
   1458     IRpcStubBuffer* This,
   1459     IRpcChannelBuffer* pRpcChannelBuffer,
   1460     PRPC_MESSAGE pRpcMessage,
   1461     DWORD* pdwStubPhase);
   1462 HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy(
   1463     IEnumFilters* This,
   1464     ULONG cFilters);
   1465 void __RPC_STUB IEnumFilters_Skip_Stub(
   1466     IRpcStubBuffer* This,
   1467     IRpcChannelBuffer* pRpcChannelBuffer,
   1468     PRPC_MESSAGE pRpcMessage,
   1469     DWORD* pdwStubPhase);
   1470 HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy(
   1471     IEnumFilters* This);
   1472 void __RPC_STUB IEnumFilters_Reset_Stub(
   1473     IRpcStubBuffer* This,
   1474     IRpcChannelBuffer* pRpcChannelBuffer,
   1475     PRPC_MESSAGE pRpcMessage,
   1476     DWORD* pdwStubPhase);
   1477 HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy(
   1478     IEnumFilters* This,
   1479     IEnumFilters **ppEnum);
   1480 void __RPC_STUB IEnumFilters_Clone_Stub(
   1481     IRpcStubBuffer* This,
   1482     IRpcChannelBuffer* pRpcChannelBuffer,
   1483     PRPC_MESSAGE pRpcMessage,
   1484     DWORD* pdwStubPhase);
   1485 
   1486 #endif  /* __IEnumFilters_INTERFACE_DEFINED__ */
   1487 
   1488 typedef IEnumFilters *PENUMFILTERS;
   1489 /*****************************************************************************
   1490  * IMediaFilter interface
   1491  */
   1492 #ifndef __IMediaFilter_INTERFACE_DEFINED__
   1493 #define __IMediaFilter_INTERFACE_DEFINED__
   1494 
   1495 typedef enum _FilterState {
   1496     State_Stopped = 0,
   1497     State_Paused = 1,
   1498     State_Running = 2
   1499 } FILTER_STATE;
   1500 DEFINE_GUID(IID_IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1501 #if defined(__cplusplus) && !defined(CINTERFACE)
   1502 MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
   1503 IMediaFilter : public IPersist
   1504 {
   1505     virtual HRESULT STDMETHODCALLTYPE Stop(
   1506         ) = 0;
   1507 
   1508     virtual HRESULT STDMETHODCALLTYPE Pause(
   1509         ) = 0;
   1510 
   1511     virtual HRESULT STDMETHODCALLTYPE Run(
   1512         REFERENCE_TIME tStart) = 0;
   1513 
   1514     virtual HRESULT STDMETHODCALLTYPE GetState(
   1515         DWORD dwMilliSecsTimeout,
   1516         FILTER_STATE *State) = 0;
   1517 
   1518     virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
   1519         IReferenceClock *pClock) = 0;
   1520 
   1521     virtual HRESULT STDMETHODCALLTYPE GetSyncSource(
   1522         IReferenceClock **pClock) = 0;
   1523 
   1524 };
   1525 #ifdef __CRT_UUID_DECL
   1526 __CRT_UUID_DECL(IMediaFilter, 0x56a86899, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1527 #endif
   1528 #else
   1529 typedef struct IMediaFilterVtbl {
   1530     BEGIN_INTERFACE
   1531 
   1532     /*** IUnknown methods ***/
   1533     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1534         IMediaFilter* This,
   1535         REFIID riid,
   1536         void **ppvObject);
   1537 
   1538     ULONG (STDMETHODCALLTYPE *AddRef)(
   1539         IMediaFilter* This);
   1540 
   1541     ULONG (STDMETHODCALLTYPE *Release)(
   1542         IMediaFilter* This);
   1543 
   1544     /*** IPersist methods ***/
   1545     HRESULT (STDMETHODCALLTYPE *GetClassID)(
   1546         IMediaFilter* This,
   1547         CLSID *pClassID);
   1548 
   1549     /*** IMediaFilter methods ***/
   1550     HRESULT (STDMETHODCALLTYPE *Stop)(
   1551         IMediaFilter* This);
   1552 
   1553     HRESULT (STDMETHODCALLTYPE *Pause)(
   1554         IMediaFilter* This);
   1555 
   1556     HRESULT (STDMETHODCALLTYPE *Run)(
   1557         IMediaFilter* This,
   1558         REFERENCE_TIME tStart);
   1559 
   1560     HRESULT (STDMETHODCALLTYPE *GetState)(
   1561         IMediaFilter* This,
   1562         DWORD dwMilliSecsTimeout,
   1563         FILTER_STATE *State);
   1564 
   1565     HRESULT (STDMETHODCALLTYPE *SetSyncSource)(
   1566         IMediaFilter* This,
   1567         IReferenceClock *pClock);
   1568 
   1569     HRESULT (STDMETHODCALLTYPE *GetSyncSource)(
   1570         IMediaFilter* This,
   1571         IReferenceClock **pClock);
   1572 
   1573     END_INTERFACE
   1574 } IMediaFilterVtbl;
   1575 interface IMediaFilter {
   1576     CONST_VTBL IMediaFilterVtbl* lpVtbl;
   1577 };
   1578 
   1579 #ifdef COBJMACROS
   1580 #ifndef WIDL_C_INLINE_WRAPPERS
   1581 /*** IUnknown methods ***/
   1582 #define IMediaFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1583 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   1584 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This)
   1585 /*** IPersist methods ***/
   1586 #define IMediaFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   1587 /*** IMediaFilter methods ***/
   1588 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This)
   1589 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This)
   1590 #define IMediaFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   1591 #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
   1592 #define IMediaFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   1593 #define IMediaFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
   1594 #else
   1595 /*** IUnknown methods ***/
   1596 static FORCEINLINE HRESULT IMediaFilter_QueryInterface(IMediaFilter* This,REFIID riid,void **ppvObject) {
   1597     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1598 }
   1599 static FORCEINLINE ULONG IMediaFilter_AddRef(IMediaFilter* This) {
   1600     return This->lpVtbl->AddRef(This);
   1601 }
   1602 static FORCEINLINE ULONG IMediaFilter_Release(IMediaFilter* This) {
   1603     return This->lpVtbl->Release(This);
   1604 }
   1605 /*** IPersist methods ***/
   1606 static FORCEINLINE HRESULT IMediaFilter_GetClassID(IMediaFilter* This,CLSID *pClassID) {
   1607     return This->lpVtbl->GetClassID(This,pClassID);
   1608 }
   1609 /*** IMediaFilter methods ***/
   1610 static FORCEINLINE HRESULT IMediaFilter_Stop(IMediaFilter* This) {
   1611     return This->lpVtbl->Stop(This);
   1612 }
   1613 static FORCEINLINE HRESULT IMediaFilter_Pause(IMediaFilter* This) {
   1614     return This->lpVtbl->Pause(This);
   1615 }
   1616 static FORCEINLINE HRESULT IMediaFilter_Run(IMediaFilter* This,REFERENCE_TIME tStart) {
   1617     return This->lpVtbl->Run(This,tStart);
   1618 }
   1619 static FORCEINLINE HRESULT IMediaFilter_GetState(IMediaFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
   1620     return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
   1621 }
   1622 static FORCEINLINE HRESULT IMediaFilter_SetSyncSource(IMediaFilter* This,IReferenceClock *pClock) {
   1623     return This->lpVtbl->SetSyncSource(This,pClock);
   1624 }
   1625 static FORCEINLINE HRESULT IMediaFilter_GetSyncSource(IMediaFilter* This,IReferenceClock **pClock) {
   1626     return This->lpVtbl->GetSyncSource(This,pClock);
   1627 }
   1628 #endif
   1629 #endif
   1630 
   1631 #endif
   1632 
   1633 HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy(
   1634     IMediaFilter* This);
   1635 void __RPC_STUB IMediaFilter_Stop_Stub(
   1636     IRpcStubBuffer* This,
   1637     IRpcChannelBuffer* pRpcChannelBuffer,
   1638     PRPC_MESSAGE pRpcMessage,
   1639     DWORD* pdwStubPhase);
   1640 HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy(
   1641     IMediaFilter* This);
   1642 void __RPC_STUB IMediaFilter_Pause_Stub(
   1643     IRpcStubBuffer* This,
   1644     IRpcChannelBuffer* pRpcChannelBuffer,
   1645     PRPC_MESSAGE pRpcMessage,
   1646     DWORD* pdwStubPhase);
   1647 HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy(
   1648     IMediaFilter* This,
   1649     REFERENCE_TIME tStart);
   1650 void __RPC_STUB IMediaFilter_Run_Stub(
   1651     IRpcStubBuffer* This,
   1652     IRpcChannelBuffer* pRpcChannelBuffer,
   1653     PRPC_MESSAGE pRpcMessage,
   1654     DWORD* pdwStubPhase);
   1655 HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy(
   1656     IMediaFilter* This,
   1657     DWORD dwMilliSecsTimeout,
   1658     FILTER_STATE *State);
   1659 void __RPC_STUB IMediaFilter_GetState_Stub(
   1660     IRpcStubBuffer* This,
   1661     IRpcChannelBuffer* pRpcChannelBuffer,
   1662     PRPC_MESSAGE pRpcMessage,
   1663     DWORD* pdwStubPhase);
   1664 HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy(
   1665     IMediaFilter* This,
   1666     IReferenceClock *pClock);
   1667 void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
   1668     IRpcStubBuffer* This,
   1669     IRpcChannelBuffer* pRpcChannelBuffer,
   1670     PRPC_MESSAGE pRpcMessage,
   1671     DWORD* pdwStubPhase);
   1672 HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy(
   1673     IMediaFilter* This,
   1674     IReferenceClock **pClock);
   1675 void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
   1676     IRpcStubBuffer* This,
   1677     IRpcChannelBuffer* pRpcChannelBuffer,
   1678     PRPC_MESSAGE pRpcMessage,
   1679     DWORD* pdwStubPhase);
   1680 
   1681 #endif  /* __IMediaFilter_INTERFACE_DEFINED__ */
   1682 
   1683 typedef IMediaFilter *PMEDIAFILTER;
   1684 /*****************************************************************************
   1685  * IBaseFilter interface
   1686  */
   1687 #ifndef __IBaseFilter_INTERFACE_DEFINED__
   1688 #define __IBaseFilter_INTERFACE_DEFINED__
   1689 
   1690 typedef struct _FilterInfo {
   1691     WCHAR achName[128];
   1692     IFilterGraph *pGraph;
   1693 } FILTER_INFO;
   1694 DEFINE_GUID(IID_IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1695 #if defined(__cplusplus) && !defined(CINTERFACE)
   1696 MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
   1697 IBaseFilter : public IMediaFilter
   1698 {
   1699     virtual HRESULT STDMETHODCALLTYPE EnumPins(
   1700         IEnumPins **ppEnum) = 0;
   1701 
   1702     virtual HRESULT STDMETHODCALLTYPE FindPin(
   1703         LPCWSTR Id,
   1704         IPin **ppPin) = 0;
   1705 
   1706     virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo(
   1707         FILTER_INFO *pInfo) = 0;
   1708 
   1709     virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
   1710         IFilterGraph *pGraph,
   1711         LPCWSTR pName) = 0;
   1712 
   1713     virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo(
   1714         LPWSTR *pVendorInfo) = 0;
   1715 
   1716 };
   1717 #ifdef __CRT_UUID_DECL
   1718 __CRT_UUID_DECL(IBaseFilter, 0x56a86895, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1719 #endif
   1720 #else
   1721 typedef struct IBaseFilterVtbl {
   1722     BEGIN_INTERFACE
   1723 
   1724     /*** IUnknown methods ***/
   1725     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1726         IBaseFilter* This,
   1727         REFIID riid,
   1728         void **ppvObject);
   1729 
   1730     ULONG (STDMETHODCALLTYPE *AddRef)(
   1731         IBaseFilter* This);
   1732 
   1733     ULONG (STDMETHODCALLTYPE *Release)(
   1734         IBaseFilter* This);
   1735 
   1736     /*** IPersist methods ***/
   1737     HRESULT (STDMETHODCALLTYPE *GetClassID)(
   1738         IBaseFilter* This,
   1739         CLSID *pClassID);
   1740 
   1741     /*** IMediaFilter methods ***/
   1742     HRESULT (STDMETHODCALLTYPE *Stop)(
   1743         IBaseFilter* This);
   1744 
   1745     HRESULT (STDMETHODCALLTYPE *Pause)(
   1746         IBaseFilter* This);
   1747 
   1748     HRESULT (STDMETHODCALLTYPE *Run)(
   1749         IBaseFilter* This,
   1750         REFERENCE_TIME tStart);
   1751 
   1752     HRESULT (STDMETHODCALLTYPE *GetState)(
   1753         IBaseFilter* This,
   1754         DWORD dwMilliSecsTimeout,
   1755         FILTER_STATE *State);
   1756 
   1757     HRESULT (STDMETHODCALLTYPE *SetSyncSource)(
   1758         IBaseFilter* This,
   1759         IReferenceClock *pClock);
   1760 
   1761     HRESULT (STDMETHODCALLTYPE *GetSyncSource)(
   1762         IBaseFilter* This,
   1763         IReferenceClock **pClock);
   1764 
   1765     /*** IBaseFilter methods ***/
   1766     HRESULT (STDMETHODCALLTYPE *EnumPins)(
   1767         IBaseFilter* This,
   1768         IEnumPins **ppEnum);
   1769 
   1770     HRESULT (STDMETHODCALLTYPE *FindPin)(
   1771         IBaseFilter* This,
   1772         LPCWSTR Id,
   1773         IPin **ppPin);
   1774 
   1775     HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)(
   1776         IBaseFilter* This,
   1777         FILTER_INFO *pInfo);
   1778 
   1779     HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)(
   1780         IBaseFilter* This,
   1781         IFilterGraph *pGraph,
   1782         LPCWSTR pName);
   1783 
   1784     HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)(
   1785         IBaseFilter* This,
   1786         LPWSTR *pVendorInfo);
   1787 
   1788     END_INTERFACE
   1789 } IBaseFilterVtbl;
   1790 interface IBaseFilter {
   1791     CONST_VTBL IBaseFilterVtbl* lpVtbl;
   1792 };
   1793 
   1794 #ifdef COBJMACROS
   1795 #ifndef WIDL_C_INLINE_WRAPPERS
   1796 /*** IUnknown methods ***/
   1797 #define IBaseFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1798 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   1799 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This)
   1800 /*** IPersist methods ***/
   1801 #define IBaseFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   1802 /*** IMediaFilter methods ***/
   1803 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This)
   1804 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This)
   1805 #define IBaseFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   1806 #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
   1807 #define IBaseFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   1808 #define IBaseFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
   1809 /*** IBaseFilter methods ***/
   1810 #define IBaseFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum)
   1811 #define IBaseFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin)
   1812 #define IBaseFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo)
   1813 #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName)
   1814 #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo)
   1815 #else
   1816 /*** IUnknown methods ***/
   1817 static FORCEINLINE HRESULT IBaseFilter_QueryInterface(IBaseFilter* This,REFIID riid,void **ppvObject) {
   1818     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1819 }
   1820 static FORCEINLINE ULONG IBaseFilter_AddRef(IBaseFilter* This) {
   1821     return This->lpVtbl->AddRef(This);
   1822 }
   1823 static FORCEINLINE ULONG IBaseFilter_Release(IBaseFilter* This) {
   1824     return This->lpVtbl->Release(This);
   1825 }
   1826 /*** IPersist methods ***/
   1827 static FORCEINLINE HRESULT IBaseFilter_GetClassID(IBaseFilter* This,CLSID *pClassID) {
   1828     return This->lpVtbl->GetClassID(This,pClassID);
   1829 }
   1830 /*** IMediaFilter methods ***/
   1831 static FORCEINLINE HRESULT IBaseFilter_Stop(IBaseFilter* This) {
   1832     return This->lpVtbl->Stop(This);
   1833 }
   1834 static FORCEINLINE HRESULT IBaseFilter_Pause(IBaseFilter* This) {
   1835     return This->lpVtbl->Pause(This);
   1836 }
   1837 static FORCEINLINE HRESULT IBaseFilter_Run(IBaseFilter* This,REFERENCE_TIME tStart) {
   1838     return This->lpVtbl->Run(This,tStart);
   1839 }
   1840 static FORCEINLINE HRESULT IBaseFilter_GetState(IBaseFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
   1841     return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
   1842 }
   1843 static FORCEINLINE HRESULT IBaseFilter_SetSyncSource(IBaseFilter* This,IReferenceClock *pClock) {
   1844     return This->lpVtbl->SetSyncSource(This,pClock);
   1845 }
   1846 static FORCEINLINE HRESULT IBaseFilter_GetSyncSource(IBaseFilter* This,IReferenceClock **pClock) {
   1847     return This->lpVtbl->GetSyncSource(This,pClock);
   1848 }
   1849 /*** IBaseFilter methods ***/
   1850 static FORCEINLINE HRESULT IBaseFilter_EnumPins(IBaseFilter* This,IEnumPins **ppEnum) {
   1851     return This->lpVtbl->EnumPins(This,ppEnum);
   1852 }
   1853 static FORCEINLINE HRESULT IBaseFilter_FindPin(IBaseFilter* This,LPCWSTR Id,IPin **ppPin) {
   1854     return This->lpVtbl->FindPin(This,Id,ppPin);
   1855 }
   1856 static FORCEINLINE HRESULT IBaseFilter_QueryFilterInfo(IBaseFilter* This,FILTER_INFO *pInfo) {
   1857     return This->lpVtbl->QueryFilterInfo(This,pInfo);
   1858 }
   1859 static FORCEINLINE HRESULT IBaseFilter_JoinFilterGraph(IBaseFilter* This,IFilterGraph *pGraph,LPCWSTR pName) {
   1860     return This->lpVtbl->JoinFilterGraph(This,pGraph,pName);
   1861 }
   1862 static FORCEINLINE HRESULT IBaseFilter_QueryVendorInfo(IBaseFilter* This,LPWSTR *pVendorInfo) {
   1863     return This->lpVtbl->QueryVendorInfo(This,pVendorInfo);
   1864 }
   1865 #endif
   1866 #endif
   1867 
   1868 #endif
   1869 
   1870 HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy(
   1871     IBaseFilter* This,
   1872     IEnumPins **ppEnum);
   1873 void __RPC_STUB IBaseFilter_EnumPins_Stub(
   1874     IRpcStubBuffer* This,
   1875     IRpcChannelBuffer* pRpcChannelBuffer,
   1876     PRPC_MESSAGE pRpcMessage,
   1877     DWORD* pdwStubPhase);
   1878 HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy(
   1879     IBaseFilter* This,
   1880     LPCWSTR Id,
   1881     IPin **ppPin);
   1882 void __RPC_STUB IBaseFilter_FindPin_Stub(
   1883     IRpcStubBuffer* This,
   1884     IRpcChannelBuffer* pRpcChannelBuffer,
   1885     PRPC_MESSAGE pRpcMessage,
   1886     DWORD* pdwStubPhase);
   1887 HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy(
   1888     IBaseFilter* This,
   1889     FILTER_INFO *pInfo);
   1890 void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
   1891     IRpcStubBuffer* This,
   1892     IRpcChannelBuffer* pRpcChannelBuffer,
   1893     PRPC_MESSAGE pRpcMessage,
   1894     DWORD* pdwStubPhase);
   1895 HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy(
   1896     IBaseFilter* This,
   1897     IFilterGraph *pGraph,
   1898     LPCWSTR pName);
   1899 void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
   1900     IRpcStubBuffer* This,
   1901     IRpcChannelBuffer* pRpcChannelBuffer,
   1902     PRPC_MESSAGE pRpcMessage,
   1903     DWORD* pdwStubPhase);
   1904 HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy(
   1905     IBaseFilter* This,
   1906     LPWSTR *pVendorInfo);
   1907 void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
   1908     IRpcStubBuffer* This,
   1909     IRpcChannelBuffer* pRpcChannelBuffer,
   1910     PRPC_MESSAGE pRpcMessage,
   1911     DWORD* pdwStubPhase);
   1912 
   1913 #endif  /* __IBaseFilter_INTERFACE_DEFINED__ */
   1914 
   1915 typedef IBaseFilter *PFILTER;
   1916 /*****************************************************************************
   1917  * IReferenceClock interface
   1918  */
   1919 #ifndef __IReferenceClock_INTERFACE_DEFINED__
   1920 #define __IReferenceClock_INTERFACE_DEFINED__
   1921 
   1922 DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   1923 #if defined(__cplusplus) && !defined(CINTERFACE)
   1924 MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
   1925 IReferenceClock : public IUnknown
   1926 {
   1927     virtual HRESULT STDMETHODCALLTYPE GetTime(
   1928         REFERENCE_TIME *pTime) = 0;
   1929 
   1930     virtual HRESULT STDMETHODCALLTYPE AdviseTime(
   1931         REFERENCE_TIME baseTime,
   1932         REFERENCE_TIME streamTime,
   1933         HEVENT hEvent,
   1934         DWORD_PTR *pdwAdviseCookie) = 0;
   1935 
   1936     virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic(
   1937         REFERENCE_TIME startTime,
   1938         REFERENCE_TIME periodTime,
   1939         HSEMAPHORE hSemaphore,
   1940         DWORD_PTR *pdwAdviseCookie) = 0;
   1941 
   1942     virtual HRESULT STDMETHODCALLTYPE Unadvise(
   1943         DWORD_PTR dwAdviseCookie) = 0;
   1944 
   1945 };
   1946 #ifdef __CRT_UUID_DECL
   1947 __CRT_UUID_DECL(IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   1948 #endif
   1949 #else
   1950 typedef struct IReferenceClockVtbl {
   1951     BEGIN_INTERFACE
   1952 
   1953     /*** IUnknown methods ***/
   1954     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1955         IReferenceClock* This,
   1956         REFIID riid,
   1957         void **ppvObject);
   1958 
   1959     ULONG (STDMETHODCALLTYPE *AddRef)(
   1960         IReferenceClock* This);
   1961 
   1962     ULONG (STDMETHODCALLTYPE *Release)(
   1963         IReferenceClock* This);
   1964 
   1965     /*** IReferenceClock methods ***/
   1966     HRESULT (STDMETHODCALLTYPE *GetTime)(
   1967         IReferenceClock* This,
   1968         REFERENCE_TIME *pTime);
   1969 
   1970     HRESULT (STDMETHODCALLTYPE *AdviseTime)(
   1971         IReferenceClock* This,
   1972         REFERENCE_TIME baseTime,
   1973         REFERENCE_TIME streamTime,
   1974         HEVENT hEvent,
   1975         DWORD_PTR *pdwAdviseCookie);
   1976 
   1977     HRESULT (STDMETHODCALLTYPE *AdvisePeriodic)(
   1978         IReferenceClock* This,
   1979         REFERENCE_TIME startTime,
   1980         REFERENCE_TIME periodTime,
   1981         HSEMAPHORE hSemaphore,
   1982         DWORD_PTR *pdwAdviseCookie);
   1983 
   1984     HRESULT (STDMETHODCALLTYPE *Unadvise)(
   1985         IReferenceClock* This,
   1986         DWORD_PTR dwAdviseCookie);
   1987 
   1988     END_INTERFACE
   1989 } IReferenceClockVtbl;
   1990 interface IReferenceClock {
   1991     CONST_VTBL IReferenceClockVtbl* lpVtbl;
   1992 };
   1993 
   1994 #ifdef COBJMACROS
   1995 #ifndef WIDL_C_INLINE_WRAPPERS
   1996 /*** IUnknown methods ***/
   1997 #define IReferenceClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1998 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This)
   1999 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This)
   2000 /*** IReferenceClock methods ***/
   2001 #define IReferenceClock_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
   2002 #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
   2003 #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
   2004 #define IReferenceClock_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
   2005 #else
   2006 /*** IUnknown methods ***/
   2007 static FORCEINLINE HRESULT IReferenceClock_QueryInterface(IReferenceClock* This,REFIID riid,void **ppvObject) {
   2008     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2009 }
   2010 static FORCEINLINE ULONG IReferenceClock_AddRef(IReferenceClock* This) {
   2011     return This->lpVtbl->AddRef(This);
   2012 }
   2013 static FORCEINLINE ULONG IReferenceClock_Release(IReferenceClock* This) {
   2014     return This->lpVtbl->Release(This);
   2015 }
   2016 /*** IReferenceClock methods ***/
   2017 static FORCEINLINE HRESULT IReferenceClock_GetTime(IReferenceClock* This,REFERENCE_TIME *pTime) {
   2018     return This->lpVtbl->GetTime(This,pTime);
   2019 }
   2020 static FORCEINLINE HRESULT IReferenceClock_AdviseTime(IReferenceClock* This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie) {
   2021     return This->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie);
   2022 }
   2023 static FORCEINLINE HRESULT IReferenceClock_AdvisePeriodic(IReferenceClock* This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie) {
   2024     return This->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie);
   2025 }
   2026 static FORCEINLINE HRESULT IReferenceClock_Unadvise(IReferenceClock* This,DWORD_PTR dwAdviseCookie) {
   2027     return This->lpVtbl->Unadvise(This,dwAdviseCookie);
   2028 }
   2029 #endif
   2030 #endif
   2031 
   2032 #endif
   2033 
   2034 HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy(
   2035     IReferenceClock* This,
   2036     REFERENCE_TIME *pTime);
   2037 void __RPC_STUB IReferenceClock_GetTime_Stub(
   2038     IRpcStubBuffer* This,
   2039     IRpcChannelBuffer* pRpcChannelBuffer,
   2040     PRPC_MESSAGE pRpcMessage,
   2041     DWORD* pdwStubPhase);
   2042 HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy(
   2043     IReferenceClock* This,
   2044     REFERENCE_TIME baseTime,
   2045     REFERENCE_TIME streamTime,
   2046     HEVENT hEvent,
   2047     DWORD_PTR *pdwAdviseCookie);
   2048 void __RPC_STUB IReferenceClock_AdviseTime_Stub(
   2049     IRpcStubBuffer* This,
   2050     IRpcChannelBuffer* pRpcChannelBuffer,
   2051     PRPC_MESSAGE pRpcMessage,
   2052     DWORD* pdwStubPhase);
   2053 HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy(
   2054     IReferenceClock* This,
   2055     REFERENCE_TIME startTime,
   2056     REFERENCE_TIME periodTime,
   2057     HSEMAPHORE hSemaphore,
   2058     DWORD_PTR *pdwAdviseCookie);
   2059 void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
   2060     IRpcStubBuffer* This,
   2061     IRpcChannelBuffer* pRpcChannelBuffer,
   2062     PRPC_MESSAGE pRpcMessage,
   2063     DWORD* pdwStubPhase);
   2064 HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy(
   2065     IReferenceClock* This,
   2066     DWORD_PTR dwAdviseCookie);
   2067 void __RPC_STUB IReferenceClock_Unadvise_Stub(
   2068     IRpcStubBuffer* This,
   2069     IRpcChannelBuffer* pRpcChannelBuffer,
   2070     PRPC_MESSAGE pRpcMessage,
   2071     DWORD* pdwStubPhase);
   2072 
   2073 #endif  /* __IReferenceClock_INTERFACE_DEFINED__ */
   2074 
   2075 typedef IReferenceClock *PREFERENCECLOCK;
   2076 /*****************************************************************************
   2077  * IMediaSample interface
   2078  */
   2079 #ifndef __IMediaSample_INTERFACE_DEFINED__
   2080 #define __IMediaSample_INTERFACE_DEFINED__
   2081 
   2082 DEFINE_GUID(IID_IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   2083 #if defined(__cplusplus) && !defined(CINTERFACE)
   2084 MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
   2085 IMediaSample : public IUnknown
   2086 {
   2087     virtual HRESULT STDMETHODCALLTYPE GetPointer(
   2088         BYTE **ppBuffer) = 0;
   2089 
   2090     virtual LONG STDMETHODCALLTYPE GetSize(
   2091         ) = 0;
   2092 
   2093     virtual HRESULT STDMETHODCALLTYPE GetTime(
   2094         REFERENCE_TIME *pTimeStart,
   2095         REFERENCE_TIME *pTimeEnd) = 0;
   2096 
   2097     virtual HRESULT STDMETHODCALLTYPE SetTime(
   2098         REFERENCE_TIME *pTimeStart,
   2099         REFERENCE_TIME *pTimeEnd) = 0;
   2100 
   2101     virtual HRESULT STDMETHODCALLTYPE IsSyncPoint(
   2102         ) = 0;
   2103 
   2104     virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
   2105         WINBOOL bIsSyncPoint) = 0;
   2106 
   2107     virtual HRESULT STDMETHODCALLTYPE IsPreroll(
   2108         ) = 0;
   2109 
   2110     virtual HRESULT STDMETHODCALLTYPE SetPreroll(
   2111         WINBOOL bIsPreroll) = 0;
   2112 
   2113     virtual LONG STDMETHODCALLTYPE GetActualDataLength(
   2114         ) = 0;
   2115 
   2116     virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
   2117         LONG length) = 0;
   2118 
   2119     virtual HRESULT STDMETHODCALLTYPE GetMediaType(
   2120         AM_MEDIA_TYPE **ppMediaType) = 0;
   2121 
   2122     virtual HRESULT STDMETHODCALLTYPE SetMediaType(
   2123         AM_MEDIA_TYPE *pMediaType) = 0;
   2124 
   2125     virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity(
   2126         ) = 0;
   2127 
   2128     virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
   2129         WINBOOL bDiscontinuity) = 0;
   2130 
   2131     virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
   2132         LONGLONG *pTimeStart,
   2133         LONGLONG *pTimeEnd) = 0;
   2134 
   2135     virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
   2136         LONGLONG *pTimeStart,
   2137         LONGLONG *pTimeEnd) = 0;
   2138 
   2139 };
   2140 #ifdef __CRT_UUID_DECL
   2141 __CRT_UUID_DECL(IMediaSample, 0x56a8689a, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   2142 #endif
   2143 #else
   2144 typedef struct IMediaSampleVtbl {
   2145     BEGIN_INTERFACE
   2146 
   2147     /*** IUnknown methods ***/
   2148     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2149         IMediaSample* This,
   2150         REFIID riid,
   2151         void **ppvObject);
   2152 
   2153     ULONG (STDMETHODCALLTYPE *AddRef)(
   2154         IMediaSample* This);
   2155 
   2156     ULONG (STDMETHODCALLTYPE *Release)(
   2157         IMediaSample* This);
   2158 
   2159     /*** IMediaSample methods ***/
   2160     HRESULT (STDMETHODCALLTYPE *GetPointer)(
   2161         IMediaSample* This,
   2162         BYTE **ppBuffer);
   2163 
   2164     LONG (STDMETHODCALLTYPE *GetSize)(
   2165         IMediaSample* This);
   2166 
   2167     HRESULT (STDMETHODCALLTYPE *GetTime)(
   2168         IMediaSample* This,
   2169         REFERENCE_TIME *pTimeStart,
   2170         REFERENCE_TIME *pTimeEnd);
   2171 
   2172     HRESULT (STDMETHODCALLTYPE *SetTime)(
   2173         IMediaSample* This,
   2174         REFERENCE_TIME *pTimeStart,
   2175         REFERENCE_TIME *pTimeEnd);
   2176 
   2177     HRESULT (STDMETHODCALLTYPE *IsSyncPoint)(
   2178         IMediaSample* This);
   2179 
   2180     HRESULT (STDMETHODCALLTYPE *SetSyncPoint)(
   2181         IMediaSample* This,
   2182         WINBOOL bIsSyncPoint);
   2183 
   2184     HRESULT (STDMETHODCALLTYPE *IsPreroll)(
   2185         IMediaSample* This);
   2186 
   2187     HRESULT (STDMETHODCALLTYPE *SetPreroll)(
   2188         IMediaSample* This,
   2189         WINBOOL bIsPreroll);
   2190 
   2191     LONG (STDMETHODCALLTYPE *GetActualDataLength)(
   2192         IMediaSample* This);
   2193 
   2194     HRESULT (STDMETHODCALLTYPE *SetActualDataLength)(
   2195         IMediaSample* This,
   2196         LONG length);
   2197 
   2198     HRESULT (STDMETHODCALLTYPE *GetMediaType)(
   2199         IMediaSample* This,
   2200         AM_MEDIA_TYPE **ppMediaType);
   2201 
   2202     HRESULT (STDMETHODCALLTYPE *SetMediaType)(
   2203         IMediaSample* This,
   2204         AM_MEDIA_TYPE *pMediaType);
   2205 
   2206     HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)(
   2207         IMediaSample* This);
   2208 
   2209     HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)(
   2210         IMediaSample* This,
   2211         WINBOOL bDiscontinuity);
   2212 
   2213     HRESULT (STDMETHODCALLTYPE *GetMediaTime)(
   2214         IMediaSample* This,
   2215         LONGLONG *pTimeStart,
   2216         LONGLONG *pTimeEnd);
   2217 
   2218     HRESULT (STDMETHODCALLTYPE *SetMediaTime)(
   2219         IMediaSample* This,
   2220         LONGLONG *pTimeStart,
   2221         LONGLONG *pTimeEnd);
   2222 
   2223     END_INTERFACE
   2224 } IMediaSampleVtbl;
   2225 interface IMediaSample {
   2226     CONST_VTBL IMediaSampleVtbl* lpVtbl;
   2227 };
   2228 
   2229 #ifdef COBJMACROS
   2230 #ifndef WIDL_C_INLINE_WRAPPERS
   2231 /*** IUnknown methods ***/
   2232 #define IMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2233 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
   2234 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This)
   2235 /*** IMediaSample methods ***/
   2236 #define IMediaSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
   2237 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This)
   2238 #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
   2239 #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
   2240 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
   2241 #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
   2242 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
   2243 #define IMediaSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
   2244 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
   2245 #define IMediaSample_SetActualDataLength(This,length) (This)->lpVtbl->SetActualDataLength(This,length)
   2246 #define IMediaSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
   2247 #define IMediaSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
   2248 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
   2249 #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
   2250 #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
   2251 #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
   2252 #else
   2253 /*** IUnknown methods ***/
   2254 static FORCEINLINE HRESULT IMediaSample_QueryInterface(IMediaSample* This,REFIID riid,void **ppvObject) {
   2255     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2256 }
   2257 static FORCEINLINE ULONG IMediaSample_AddRef(IMediaSample* This) {
   2258     return This->lpVtbl->AddRef(This);
   2259 }
   2260 static FORCEINLINE ULONG IMediaSample_Release(IMediaSample* This) {
   2261     return This->lpVtbl->Release(This);
   2262 }
   2263 /*** IMediaSample methods ***/
   2264 static FORCEINLINE HRESULT IMediaSample_GetPointer(IMediaSample* This,BYTE **ppBuffer) {
   2265     return This->lpVtbl->GetPointer(This,ppBuffer);
   2266 }
   2267 static FORCEINLINE LONG IMediaSample_GetSize(IMediaSample* This) {
   2268     return This->lpVtbl->GetSize(This);
   2269 }
   2270 static FORCEINLINE HRESULT IMediaSample_GetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
   2271     return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
   2272 }
   2273 static FORCEINLINE HRESULT IMediaSample_SetTime(IMediaSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
   2274     return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
   2275 }
   2276 static FORCEINLINE HRESULT IMediaSample_IsSyncPoint(IMediaSample* This) {
   2277     return This->lpVtbl->IsSyncPoint(This);
   2278 }
   2279 static FORCEINLINE HRESULT IMediaSample_SetSyncPoint(IMediaSample* This,WINBOOL bIsSyncPoint) {
   2280     return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
   2281 }
   2282 static FORCEINLINE HRESULT IMediaSample_IsPreroll(IMediaSample* This) {
   2283     return This->lpVtbl->IsPreroll(This);
   2284 }
   2285 static FORCEINLINE HRESULT IMediaSample_SetPreroll(IMediaSample* This,WINBOOL bIsPreroll) {
   2286     return This->lpVtbl->SetPreroll(This,bIsPreroll);
   2287 }
   2288 static FORCEINLINE LONG IMediaSample_GetActualDataLength(IMediaSample* This) {
   2289     return This->lpVtbl->GetActualDataLength(This);
   2290 }
   2291 static FORCEINLINE HRESULT IMediaSample_SetActualDataLength(IMediaSample* This,LONG length) {
   2292     return This->lpVtbl->SetActualDataLength(This,length);
   2293 }
   2294 static FORCEINLINE HRESULT IMediaSample_GetMediaType(IMediaSample* This,AM_MEDIA_TYPE **ppMediaType) {
   2295     return This->lpVtbl->GetMediaType(This,ppMediaType);
   2296 }
   2297 static FORCEINLINE HRESULT IMediaSample_SetMediaType(IMediaSample* This,AM_MEDIA_TYPE *pMediaType) {
   2298     return This->lpVtbl->SetMediaType(This,pMediaType);
   2299 }
   2300 static FORCEINLINE HRESULT IMediaSample_IsDiscontinuity(IMediaSample* This) {
   2301     return This->lpVtbl->IsDiscontinuity(This);
   2302 }
   2303 static FORCEINLINE HRESULT IMediaSample_SetDiscontinuity(IMediaSample* This,WINBOOL bDiscontinuity) {
   2304     return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
   2305 }
   2306 static FORCEINLINE HRESULT IMediaSample_GetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
   2307     return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
   2308 }
   2309 static FORCEINLINE HRESULT IMediaSample_SetMediaTime(IMediaSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
   2310     return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
   2311 }
   2312 #endif
   2313 #endif
   2314 
   2315 #endif
   2316 
   2317 HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy(
   2318     IMediaSample* This,
   2319     BYTE **ppBuffer);
   2320 void __RPC_STUB IMediaSample_GetPointer_Stub(
   2321     IRpcStubBuffer* This,
   2322     IRpcChannelBuffer* pRpcChannelBuffer,
   2323     PRPC_MESSAGE pRpcMessage,
   2324     DWORD* pdwStubPhase);
   2325 LONG STDMETHODCALLTYPE IMediaSample_GetSize_Proxy(
   2326     IMediaSample* This);
   2327 void __RPC_STUB IMediaSample_GetSize_Stub(
   2328     IRpcStubBuffer* This,
   2329     IRpcChannelBuffer* pRpcChannelBuffer,
   2330     PRPC_MESSAGE pRpcMessage,
   2331     DWORD* pdwStubPhase);
   2332 HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy(
   2333     IMediaSample* This,
   2334     REFERENCE_TIME *pTimeStart,
   2335     REFERENCE_TIME *pTimeEnd);
   2336 void __RPC_STUB IMediaSample_GetTime_Stub(
   2337     IRpcStubBuffer* This,
   2338     IRpcChannelBuffer* pRpcChannelBuffer,
   2339     PRPC_MESSAGE pRpcMessage,
   2340     DWORD* pdwStubPhase);
   2341 HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy(
   2342     IMediaSample* This,
   2343     REFERENCE_TIME *pTimeStart,
   2344     REFERENCE_TIME *pTimeEnd);
   2345 void __RPC_STUB IMediaSample_SetTime_Stub(
   2346     IRpcStubBuffer* This,
   2347     IRpcChannelBuffer* pRpcChannelBuffer,
   2348     PRPC_MESSAGE pRpcMessage,
   2349     DWORD* pdwStubPhase);
   2350 HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy(
   2351     IMediaSample* This);
   2352 void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
   2353     IRpcStubBuffer* This,
   2354     IRpcChannelBuffer* pRpcChannelBuffer,
   2355     PRPC_MESSAGE pRpcMessage,
   2356     DWORD* pdwStubPhase);
   2357 HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy(
   2358     IMediaSample* This,
   2359     WINBOOL bIsSyncPoint);
   2360 void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
   2361     IRpcStubBuffer* This,
   2362     IRpcChannelBuffer* pRpcChannelBuffer,
   2363     PRPC_MESSAGE pRpcMessage,
   2364     DWORD* pdwStubPhase);
   2365 HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy(
   2366     IMediaSample* This);
   2367 void __RPC_STUB IMediaSample_IsPreroll_Stub(
   2368     IRpcStubBuffer* This,
   2369     IRpcChannelBuffer* pRpcChannelBuffer,
   2370     PRPC_MESSAGE pRpcMessage,
   2371     DWORD* pdwStubPhase);
   2372 HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy(
   2373     IMediaSample* This,
   2374     WINBOOL bIsPreroll);
   2375 void __RPC_STUB IMediaSample_SetPreroll_Stub(
   2376     IRpcStubBuffer* This,
   2377     IRpcChannelBuffer* pRpcChannelBuffer,
   2378     PRPC_MESSAGE pRpcMessage,
   2379     DWORD* pdwStubPhase);
   2380 LONG STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy(
   2381     IMediaSample* This);
   2382 void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
   2383     IRpcStubBuffer* This,
   2384     IRpcChannelBuffer* pRpcChannelBuffer,
   2385     PRPC_MESSAGE pRpcMessage,
   2386     DWORD* pdwStubPhase);
   2387 HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy(
   2388     IMediaSample* This,
   2389     LONG length);
   2390 void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
   2391     IRpcStubBuffer* This,
   2392     IRpcChannelBuffer* pRpcChannelBuffer,
   2393     PRPC_MESSAGE pRpcMessage,
   2394     DWORD* pdwStubPhase);
   2395 HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy(
   2396     IMediaSample* This,
   2397     AM_MEDIA_TYPE **ppMediaType);
   2398 void __RPC_STUB IMediaSample_GetMediaType_Stub(
   2399     IRpcStubBuffer* This,
   2400     IRpcChannelBuffer* pRpcChannelBuffer,
   2401     PRPC_MESSAGE pRpcMessage,
   2402     DWORD* pdwStubPhase);
   2403 HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy(
   2404     IMediaSample* This,
   2405     AM_MEDIA_TYPE *pMediaType);
   2406 void __RPC_STUB IMediaSample_SetMediaType_Stub(
   2407     IRpcStubBuffer* This,
   2408     IRpcChannelBuffer* pRpcChannelBuffer,
   2409     PRPC_MESSAGE pRpcMessage,
   2410     DWORD* pdwStubPhase);
   2411 HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy(
   2412     IMediaSample* This);
   2413 void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
   2414     IRpcStubBuffer* This,
   2415     IRpcChannelBuffer* pRpcChannelBuffer,
   2416     PRPC_MESSAGE pRpcMessage,
   2417     DWORD* pdwStubPhase);
   2418 HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy(
   2419     IMediaSample* This,
   2420     WINBOOL bDiscontinuity);
   2421 void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
   2422     IRpcStubBuffer* This,
   2423     IRpcChannelBuffer* pRpcChannelBuffer,
   2424     PRPC_MESSAGE pRpcMessage,
   2425     DWORD* pdwStubPhase);
   2426 HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy(
   2427     IMediaSample* This,
   2428     LONGLONG *pTimeStart,
   2429     LONGLONG *pTimeEnd);
   2430 void __RPC_STUB IMediaSample_GetMediaTime_Stub(
   2431     IRpcStubBuffer* This,
   2432     IRpcChannelBuffer* pRpcChannelBuffer,
   2433     PRPC_MESSAGE pRpcMessage,
   2434     DWORD* pdwStubPhase);
   2435 HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy(
   2436     IMediaSample* This,
   2437     LONGLONG *pTimeStart,
   2438     LONGLONG *pTimeEnd);
   2439 void __RPC_STUB IMediaSample_SetMediaTime_Stub(
   2440     IRpcStubBuffer* This,
   2441     IRpcChannelBuffer* pRpcChannelBuffer,
   2442     PRPC_MESSAGE pRpcMessage,
   2443     DWORD* pdwStubPhase);
   2444 
   2445 #endif  /* __IMediaSample_INTERFACE_DEFINED__ */
   2446 
   2447 typedef IMediaSample *PMEDIASAMPLE;
   2448 enum tagAM_SAMPLE_PROPERTY_FLAGS {
   2449     AM_SAMPLE_SPLICEPOINT = 0x1,
   2450     AM_SAMPLE_PREROLL = 0x2,
   2451     AM_SAMPLE_DATADISCONTINUITY = 0x4,
   2452     AM_SAMPLE_TYPECHANGED = 0x8,
   2453     AM_SAMPLE_TIMEVALID = 0x10,
   2454     AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
   2455     AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
   2456     AM_SAMPLE_STOPVALID = 0x100,
   2457     AM_SAMPLE_ENDOFSTREAM = 0x200,
   2458     AM_STREAM_MEDIA = 0,
   2459     AM_STREAM_CONTROL = 1
   2460 };
   2461 
   2462 typedef struct tagAM_SAMPLE2_PROPERTIES {
   2463     DWORD cbData;
   2464     DWORD dwTypeSpecificFlags;
   2465     DWORD dwSampleFlags;
   2466     LONG lActual;
   2467     REFERENCE_TIME tStart;
   2468     REFERENCE_TIME tStop;
   2469     DWORD dwStreamId;
   2470     AM_MEDIA_TYPE *pMediaType;
   2471     BYTE *pbBuffer;
   2472     LONG cbBuffer;
   2473 } AM_SAMPLE2_PROPERTIES;
   2474 /*****************************************************************************
   2475  * IMediaSample2 interface
   2476  */
   2477 #ifndef __IMediaSample2_INTERFACE_DEFINED__
   2478 #define __IMediaSample2_INTERFACE_DEFINED__
   2479 
   2480 DEFINE_GUID(IID_IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   2481 #if defined(__cplusplus) && !defined(CINTERFACE)
   2482 MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
   2483 IMediaSample2 : public IMediaSample
   2484 {
   2485     virtual HRESULT STDMETHODCALLTYPE GetProperties(
   2486         DWORD cbProperties,
   2487         BYTE *pbProperties) = 0;
   2488 
   2489     virtual HRESULT STDMETHODCALLTYPE SetProperties(
   2490         DWORD cbProperties,
   2491         const BYTE *pbProperties) = 0;
   2492 
   2493 };
   2494 #ifdef __CRT_UUID_DECL
   2495 __CRT_UUID_DECL(IMediaSample2, 0x36b73884, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   2496 #endif
   2497 #else
   2498 typedef struct IMediaSample2Vtbl {
   2499     BEGIN_INTERFACE
   2500 
   2501     /*** IUnknown methods ***/
   2502     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2503         IMediaSample2* This,
   2504         REFIID riid,
   2505         void **ppvObject);
   2506 
   2507     ULONG (STDMETHODCALLTYPE *AddRef)(
   2508         IMediaSample2* This);
   2509 
   2510     ULONG (STDMETHODCALLTYPE *Release)(
   2511         IMediaSample2* This);
   2512 
   2513     /*** IMediaSample methods ***/
   2514     HRESULT (STDMETHODCALLTYPE *GetPointer)(
   2515         IMediaSample2* This,
   2516         BYTE **ppBuffer);
   2517 
   2518     LONG (STDMETHODCALLTYPE *GetSize)(
   2519         IMediaSample2* This);
   2520 
   2521     HRESULT (STDMETHODCALLTYPE *GetTime)(
   2522         IMediaSample2* This,
   2523         REFERENCE_TIME *pTimeStart,
   2524         REFERENCE_TIME *pTimeEnd);
   2525 
   2526     HRESULT (STDMETHODCALLTYPE *SetTime)(
   2527         IMediaSample2* This,
   2528         REFERENCE_TIME *pTimeStart,
   2529         REFERENCE_TIME *pTimeEnd);
   2530 
   2531     HRESULT (STDMETHODCALLTYPE *IsSyncPoint)(
   2532         IMediaSample2* This);
   2533 
   2534     HRESULT (STDMETHODCALLTYPE *SetSyncPoint)(
   2535         IMediaSample2* This,
   2536         WINBOOL bIsSyncPoint);
   2537 
   2538     HRESULT (STDMETHODCALLTYPE *IsPreroll)(
   2539         IMediaSample2* This);
   2540 
   2541     HRESULT (STDMETHODCALLTYPE *SetPreroll)(
   2542         IMediaSample2* This,
   2543         WINBOOL bIsPreroll);
   2544 
   2545     LONG (STDMETHODCALLTYPE *GetActualDataLength)(
   2546         IMediaSample2* This);
   2547 
   2548     HRESULT (STDMETHODCALLTYPE *SetActualDataLength)(
   2549         IMediaSample2* This,
   2550         LONG length);
   2551 
   2552     HRESULT (STDMETHODCALLTYPE *GetMediaType)(
   2553         IMediaSample2* This,
   2554         AM_MEDIA_TYPE **ppMediaType);
   2555 
   2556     HRESULT (STDMETHODCALLTYPE *SetMediaType)(
   2557         IMediaSample2* This,
   2558         AM_MEDIA_TYPE *pMediaType);
   2559 
   2560     HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)(
   2561         IMediaSample2* This);
   2562 
   2563     HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)(
   2564         IMediaSample2* This,
   2565         WINBOOL bDiscontinuity);
   2566 
   2567     HRESULT (STDMETHODCALLTYPE *GetMediaTime)(
   2568         IMediaSample2* This,
   2569         LONGLONG *pTimeStart,
   2570         LONGLONG *pTimeEnd);
   2571 
   2572     HRESULT (STDMETHODCALLTYPE *SetMediaTime)(
   2573         IMediaSample2* This,
   2574         LONGLONG *pTimeStart,
   2575         LONGLONG *pTimeEnd);
   2576 
   2577     /*** IMediaSample2 methods ***/
   2578     HRESULT (STDMETHODCALLTYPE *GetProperties)(
   2579         IMediaSample2* This,
   2580         DWORD cbProperties,
   2581         BYTE *pbProperties);
   2582 
   2583     HRESULT (STDMETHODCALLTYPE *SetProperties)(
   2584         IMediaSample2* This,
   2585         DWORD cbProperties,
   2586         const BYTE *pbProperties);
   2587 
   2588     END_INTERFACE
   2589 } IMediaSample2Vtbl;
   2590 interface IMediaSample2 {
   2591     CONST_VTBL IMediaSample2Vtbl* lpVtbl;
   2592 };
   2593 
   2594 #ifdef COBJMACROS
   2595 #ifndef WIDL_C_INLINE_WRAPPERS
   2596 /*** IUnknown methods ***/
   2597 #define IMediaSample2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2598 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2599 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This)
   2600 /*** IMediaSample methods ***/
   2601 #define IMediaSample2_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
   2602 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This)
   2603 #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
   2604 #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
   2605 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
   2606 #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
   2607 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
   2608 #define IMediaSample2_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
   2609 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
   2610 #define IMediaSample2_SetActualDataLength(This,length) (This)->lpVtbl->SetActualDataLength(This,length)
   2611 #define IMediaSample2_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
   2612 #define IMediaSample2_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
   2613 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
   2614 #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
   2615 #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
   2616 #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
   2617 /*** IMediaSample2 methods ***/
   2618 #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->GetProperties(This,cbProperties,pbProperties)
   2619 #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) (This)->lpVtbl->SetProperties(This,cbProperties,pbProperties)
   2620 #else
   2621 /*** IUnknown methods ***/
   2622 static FORCEINLINE HRESULT IMediaSample2_QueryInterface(IMediaSample2* This,REFIID riid,void **ppvObject) {
   2623     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2624 }
   2625 static FORCEINLINE ULONG IMediaSample2_AddRef(IMediaSample2* This) {
   2626     return This->lpVtbl->AddRef(This);
   2627 }
   2628 static FORCEINLINE ULONG IMediaSample2_Release(IMediaSample2* This) {
   2629     return This->lpVtbl->Release(This);
   2630 }
   2631 /*** IMediaSample methods ***/
   2632 static FORCEINLINE HRESULT IMediaSample2_GetPointer(IMediaSample2* This,BYTE **ppBuffer) {
   2633     return This->lpVtbl->GetPointer(This,ppBuffer);
   2634 }
   2635 static FORCEINLINE LONG IMediaSample2_GetSize(IMediaSample2* This) {
   2636     return This->lpVtbl->GetSize(This);
   2637 }
   2638 static FORCEINLINE HRESULT IMediaSample2_GetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
   2639     return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
   2640 }
   2641 static FORCEINLINE HRESULT IMediaSample2_SetTime(IMediaSample2* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
   2642     return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
   2643 }
   2644 static FORCEINLINE HRESULT IMediaSample2_IsSyncPoint(IMediaSample2* This) {
   2645     return This->lpVtbl->IsSyncPoint(This);
   2646 }
   2647 static FORCEINLINE HRESULT IMediaSample2_SetSyncPoint(IMediaSample2* This,WINBOOL bIsSyncPoint) {
   2648     return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
   2649 }
   2650 static FORCEINLINE HRESULT IMediaSample2_IsPreroll(IMediaSample2* This) {
   2651     return This->lpVtbl->IsPreroll(This);
   2652 }
   2653 static FORCEINLINE HRESULT IMediaSample2_SetPreroll(IMediaSample2* This,WINBOOL bIsPreroll) {
   2654     return This->lpVtbl->SetPreroll(This,bIsPreroll);
   2655 }
   2656 static FORCEINLINE LONG IMediaSample2_GetActualDataLength(IMediaSample2* This) {
   2657     return This->lpVtbl->GetActualDataLength(This);
   2658 }
   2659 static FORCEINLINE HRESULT IMediaSample2_SetActualDataLength(IMediaSample2* This,LONG length) {
   2660     return This->lpVtbl->SetActualDataLength(This,length);
   2661 }
   2662 static FORCEINLINE HRESULT IMediaSample2_GetMediaType(IMediaSample2* This,AM_MEDIA_TYPE **ppMediaType) {
   2663     return This->lpVtbl->GetMediaType(This,ppMediaType);
   2664 }
   2665 static FORCEINLINE HRESULT IMediaSample2_SetMediaType(IMediaSample2* This,AM_MEDIA_TYPE *pMediaType) {
   2666     return This->lpVtbl->SetMediaType(This,pMediaType);
   2667 }
   2668 static FORCEINLINE HRESULT IMediaSample2_IsDiscontinuity(IMediaSample2* This) {
   2669     return This->lpVtbl->IsDiscontinuity(This);
   2670 }
   2671 static FORCEINLINE HRESULT IMediaSample2_SetDiscontinuity(IMediaSample2* This,WINBOOL bDiscontinuity) {
   2672     return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
   2673 }
   2674 static FORCEINLINE HRESULT IMediaSample2_GetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
   2675     return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
   2676 }
   2677 static FORCEINLINE HRESULT IMediaSample2_SetMediaTime(IMediaSample2* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
   2678     return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
   2679 }
   2680 /*** IMediaSample2 methods ***/
   2681 static FORCEINLINE HRESULT IMediaSample2_GetProperties(IMediaSample2* This,DWORD cbProperties,BYTE *pbProperties) {
   2682     return This->lpVtbl->GetProperties(This,cbProperties,pbProperties);
   2683 }
   2684 static FORCEINLINE HRESULT IMediaSample2_SetProperties(IMediaSample2* This,DWORD cbProperties,const BYTE *pbProperties) {
   2685     return This->lpVtbl->SetProperties(This,cbProperties,pbProperties);
   2686 }
   2687 #endif
   2688 #endif
   2689 
   2690 #endif
   2691 
   2692 HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy(
   2693     IMediaSample2* This,
   2694     DWORD cbProperties,
   2695     BYTE *pbProperties);
   2696 void __RPC_STUB IMediaSample2_GetProperties_Stub(
   2697     IRpcStubBuffer* This,
   2698     IRpcChannelBuffer* pRpcChannelBuffer,
   2699     PRPC_MESSAGE pRpcMessage,
   2700     DWORD* pdwStubPhase);
   2701 HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy(
   2702     IMediaSample2* This,
   2703     DWORD cbProperties,
   2704     const BYTE *pbProperties);
   2705 void __RPC_STUB IMediaSample2_SetProperties_Stub(
   2706     IRpcStubBuffer* This,
   2707     IRpcChannelBuffer* pRpcChannelBuffer,
   2708     PRPC_MESSAGE pRpcMessage,
   2709     DWORD* pdwStubPhase);
   2710 
   2711 #endif  /* __IMediaSample2_INTERFACE_DEFINED__ */
   2712 
   2713 typedef IMediaSample2 *PMEDIASAMPLE2;
   2714 #define AM_GBF_PREVFRAMESKIPPED 1
   2715 #define AM_GBF_NOTASYNCPOINT 2
   2716 #define AM_GBF_NOWAIT 4
   2717 #define AM_GBF_NODDSURFACELOCK 8
   2718 /*****************************************************************************
   2719  * IMemAllocator interface
   2720  */
   2721 #ifndef __IMemAllocator_INTERFACE_DEFINED__
   2722 #define __IMemAllocator_INTERFACE_DEFINED__
   2723 
   2724 DEFINE_GUID(IID_IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   2725 #if defined(__cplusplus) && !defined(CINTERFACE)
   2726 MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
   2727 IMemAllocator : public IUnknown
   2728 {
   2729     virtual HRESULT STDMETHODCALLTYPE SetProperties(
   2730         ALLOCATOR_PROPERTIES *pRequest,
   2731         ALLOCATOR_PROPERTIES *pActual) = 0;
   2732 
   2733     virtual HRESULT STDMETHODCALLTYPE GetProperties(
   2734         ALLOCATOR_PROPERTIES *pProps) = 0;
   2735 
   2736     virtual HRESULT STDMETHODCALLTYPE Commit(
   2737         ) = 0;
   2738 
   2739     virtual HRESULT STDMETHODCALLTYPE Decommit(
   2740         ) = 0;
   2741 
   2742     virtual HRESULT STDMETHODCALLTYPE GetBuffer(
   2743         IMediaSample **ppBuffer,
   2744         REFERENCE_TIME *pStartTime,
   2745         REFERENCE_TIME *pEndTime,
   2746         DWORD dwFlags) = 0;
   2747 
   2748     virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
   2749         IMediaSample *pBuffer) = 0;
   2750 
   2751 };
   2752 #ifdef __CRT_UUID_DECL
   2753 __CRT_UUID_DECL(IMemAllocator, 0x56a8689c, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   2754 #endif
   2755 #else
   2756 typedef struct IMemAllocatorVtbl {
   2757     BEGIN_INTERFACE
   2758 
   2759     /*** IUnknown methods ***/
   2760     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2761         IMemAllocator* This,
   2762         REFIID riid,
   2763         void **ppvObject);
   2764 
   2765     ULONG (STDMETHODCALLTYPE *AddRef)(
   2766         IMemAllocator* This);
   2767 
   2768     ULONG (STDMETHODCALLTYPE *Release)(
   2769         IMemAllocator* This);
   2770 
   2771     /*** IMemAllocator methods ***/
   2772     HRESULT (STDMETHODCALLTYPE *SetProperties)(
   2773         IMemAllocator* This,
   2774         ALLOCATOR_PROPERTIES *pRequest,
   2775         ALLOCATOR_PROPERTIES *pActual);
   2776 
   2777     HRESULT (STDMETHODCALLTYPE *GetProperties)(
   2778         IMemAllocator* This,
   2779         ALLOCATOR_PROPERTIES *pProps);
   2780 
   2781     HRESULT (STDMETHODCALLTYPE *Commit)(
   2782         IMemAllocator* This);
   2783 
   2784     HRESULT (STDMETHODCALLTYPE *Decommit)(
   2785         IMemAllocator* This);
   2786 
   2787     HRESULT (STDMETHODCALLTYPE *GetBuffer)(
   2788         IMemAllocator* This,
   2789         IMediaSample **ppBuffer,
   2790         REFERENCE_TIME *pStartTime,
   2791         REFERENCE_TIME *pEndTime,
   2792         DWORD dwFlags);
   2793 
   2794     HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)(
   2795         IMemAllocator* This,
   2796         IMediaSample *pBuffer);
   2797 
   2798     END_INTERFACE
   2799 } IMemAllocatorVtbl;
   2800 interface IMemAllocator {
   2801     CONST_VTBL IMemAllocatorVtbl* lpVtbl;
   2802 };
   2803 
   2804 #ifdef COBJMACROS
   2805 #ifndef WIDL_C_INLINE_WRAPPERS
   2806 /*** IUnknown methods ***/
   2807 #define IMemAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2808 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   2809 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This)
   2810 /*** IMemAllocator methods ***/
   2811 #define IMemAllocator_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
   2812 #define IMemAllocator_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
   2813 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This)
   2814 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This)
   2815 #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
   2816 #define IMemAllocator_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
   2817 #else
   2818 /*** IUnknown methods ***/
   2819 static FORCEINLINE HRESULT IMemAllocator_QueryInterface(IMemAllocator* This,REFIID riid,void **ppvObject) {
   2820     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2821 }
   2822 static FORCEINLINE ULONG IMemAllocator_AddRef(IMemAllocator* This) {
   2823     return This->lpVtbl->AddRef(This);
   2824 }
   2825 static FORCEINLINE ULONG IMemAllocator_Release(IMemAllocator* This) {
   2826     return This->lpVtbl->Release(This);
   2827 }
   2828 /*** IMemAllocator methods ***/
   2829 static FORCEINLINE HRESULT IMemAllocator_SetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) {
   2830     return This->lpVtbl->SetProperties(This,pRequest,pActual);
   2831 }
   2832 static FORCEINLINE HRESULT IMemAllocator_GetProperties(IMemAllocator* This,ALLOCATOR_PROPERTIES *pProps) {
   2833     return This->lpVtbl->GetProperties(This,pProps);
   2834 }
   2835 static FORCEINLINE HRESULT IMemAllocator_Commit(IMemAllocator* This) {
   2836     return This->lpVtbl->Commit(This);
   2837 }
   2838 static FORCEINLINE HRESULT IMemAllocator_Decommit(IMemAllocator* This) {
   2839     return This->lpVtbl->Decommit(This);
   2840 }
   2841 static FORCEINLINE HRESULT IMemAllocator_GetBuffer(IMemAllocator* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) {
   2842     return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags);
   2843 }
   2844 static FORCEINLINE HRESULT IMemAllocator_ReleaseBuffer(IMemAllocator* This,IMediaSample *pBuffer) {
   2845     return This->lpVtbl->ReleaseBuffer(This,pBuffer);
   2846 }
   2847 #endif
   2848 #endif
   2849 
   2850 #endif
   2851 
   2852 HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy(
   2853     IMemAllocator* This,
   2854     ALLOCATOR_PROPERTIES *pRequest,
   2855     ALLOCATOR_PROPERTIES *pActual);
   2856 void __RPC_STUB IMemAllocator_SetProperties_Stub(
   2857     IRpcStubBuffer* This,
   2858     IRpcChannelBuffer* pRpcChannelBuffer,
   2859     PRPC_MESSAGE pRpcMessage,
   2860     DWORD* pdwStubPhase);
   2861 HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy(
   2862     IMemAllocator* This,
   2863     ALLOCATOR_PROPERTIES *pProps);
   2864 void __RPC_STUB IMemAllocator_GetProperties_Stub(
   2865     IRpcStubBuffer* This,
   2866     IRpcChannelBuffer* pRpcChannelBuffer,
   2867     PRPC_MESSAGE pRpcMessage,
   2868     DWORD* pdwStubPhase);
   2869 HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy(
   2870     IMemAllocator* This);
   2871 void __RPC_STUB IMemAllocator_Commit_Stub(
   2872     IRpcStubBuffer* This,
   2873     IRpcChannelBuffer* pRpcChannelBuffer,
   2874     PRPC_MESSAGE pRpcMessage,
   2875     DWORD* pdwStubPhase);
   2876 HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy(
   2877     IMemAllocator* This);
   2878 void __RPC_STUB IMemAllocator_Decommit_Stub(
   2879     IRpcStubBuffer* This,
   2880     IRpcChannelBuffer* pRpcChannelBuffer,
   2881     PRPC_MESSAGE pRpcMessage,
   2882     DWORD* pdwStubPhase);
   2883 HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy(
   2884     IMemAllocator* This,
   2885     IMediaSample **ppBuffer,
   2886     REFERENCE_TIME *pStartTime,
   2887     REFERENCE_TIME *pEndTime,
   2888     DWORD dwFlags);
   2889 void __RPC_STUB IMemAllocator_GetBuffer_Stub(
   2890     IRpcStubBuffer* This,
   2891     IRpcChannelBuffer* pRpcChannelBuffer,
   2892     PRPC_MESSAGE pRpcMessage,
   2893     DWORD* pdwStubPhase);
   2894 HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy(
   2895     IMemAllocator* This,
   2896     IMediaSample *pBuffer);
   2897 void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
   2898     IRpcStubBuffer* This,
   2899     IRpcChannelBuffer* pRpcChannelBuffer,
   2900     PRPC_MESSAGE pRpcMessage,
   2901     DWORD* pdwStubPhase);
   2902 
   2903 #endif  /* __IMemAllocator_INTERFACE_DEFINED__ */
   2904 
   2905 typedef IMemAllocator *PMEMALLOCATOR;
   2906 /*****************************************************************************
   2907  * IMemAllocatorCallbackTemp interface
   2908  */
   2909 #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
   2910 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
   2911 
   2912 DEFINE_GUID(IID_IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   2913 #if defined(__cplusplus) && !defined(CINTERFACE)
   2914 MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
   2915 IMemAllocatorCallbackTemp : public IMemAllocator
   2916 {
   2917     virtual HRESULT STDMETHODCALLTYPE SetNotify(
   2918         IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
   2919 
   2920     virtual HRESULT STDMETHODCALLTYPE GetFreeCount(
   2921         LONG *plBuffersFree) = 0;
   2922 
   2923 };
   2924 #ifdef __CRT_UUID_DECL
   2925 __CRT_UUID_DECL(IMemAllocatorCallbackTemp, 0x379a0cf0, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   2926 #endif
   2927 #else
   2928 typedef struct IMemAllocatorCallbackTempVtbl {
   2929     BEGIN_INTERFACE
   2930 
   2931     /*** IUnknown methods ***/
   2932     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2933         IMemAllocatorCallbackTemp* This,
   2934         REFIID riid,
   2935         void **ppvObject);
   2936 
   2937     ULONG (STDMETHODCALLTYPE *AddRef)(
   2938         IMemAllocatorCallbackTemp* This);
   2939 
   2940     ULONG (STDMETHODCALLTYPE *Release)(
   2941         IMemAllocatorCallbackTemp* This);
   2942 
   2943     /*** IMemAllocator methods ***/
   2944     HRESULT (STDMETHODCALLTYPE *SetProperties)(
   2945         IMemAllocatorCallbackTemp* This,
   2946         ALLOCATOR_PROPERTIES *pRequest,
   2947         ALLOCATOR_PROPERTIES *pActual);
   2948 
   2949     HRESULT (STDMETHODCALLTYPE *GetProperties)(
   2950         IMemAllocatorCallbackTemp* This,
   2951         ALLOCATOR_PROPERTIES *pProps);
   2952 
   2953     HRESULT (STDMETHODCALLTYPE *Commit)(
   2954         IMemAllocatorCallbackTemp* This);
   2955 
   2956     HRESULT (STDMETHODCALLTYPE *Decommit)(
   2957         IMemAllocatorCallbackTemp* This);
   2958 
   2959     HRESULT (STDMETHODCALLTYPE *GetBuffer)(
   2960         IMemAllocatorCallbackTemp* This,
   2961         IMediaSample **ppBuffer,
   2962         REFERENCE_TIME *pStartTime,
   2963         REFERENCE_TIME *pEndTime,
   2964         DWORD dwFlags);
   2965 
   2966     HRESULT (STDMETHODCALLTYPE *ReleaseBuffer)(
   2967         IMemAllocatorCallbackTemp* This,
   2968         IMediaSample *pBuffer);
   2969 
   2970     /*** IMemAllocatorCallbackTemp methods ***/
   2971     HRESULT (STDMETHODCALLTYPE *SetNotify)(
   2972         IMemAllocatorCallbackTemp* This,
   2973         IMemAllocatorNotifyCallbackTemp *pNotify);
   2974 
   2975     HRESULT (STDMETHODCALLTYPE *GetFreeCount)(
   2976         IMemAllocatorCallbackTemp* This,
   2977         LONG *plBuffersFree);
   2978 
   2979     END_INTERFACE
   2980 } IMemAllocatorCallbackTempVtbl;
   2981 interface IMemAllocatorCallbackTemp {
   2982     CONST_VTBL IMemAllocatorCallbackTempVtbl* lpVtbl;
   2983 };
   2984 
   2985 #ifdef COBJMACROS
   2986 #ifndef WIDL_C_INLINE_WRAPPERS
   2987 /*** IUnknown methods ***/
   2988 #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2989 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
   2990 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
   2991 /*** IMemAllocator methods ***/
   2992 #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) (This)->lpVtbl->SetProperties(This,pRequest,pActual)
   2993 #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) (This)->lpVtbl->GetProperties(This,pProps)
   2994 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This)
   2995 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This)
   2996 #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) (This)->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
   2997 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) (This)->lpVtbl->ReleaseBuffer(This,pBuffer)
   2998 /*** IMemAllocatorCallbackTemp methods ***/
   2999 #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) (This)->lpVtbl->SetNotify(This,pNotify)
   3000 #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) (This)->lpVtbl->GetFreeCount(This,plBuffersFree)
   3001 #else
   3002 /*** IUnknown methods ***/
   3003 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_QueryInterface(IMemAllocatorCallbackTemp* This,REFIID riid,void **ppvObject) {
   3004     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3005 }
   3006 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_AddRef(IMemAllocatorCallbackTemp* This) {
   3007     return This->lpVtbl->AddRef(This);
   3008 }
   3009 static FORCEINLINE ULONG IMemAllocatorCallbackTemp_Release(IMemAllocatorCallbackTemp* This) {
   3010     return This->lpVtbl->Release(This);
   3011 }
   3012 /*** IMemAllocator methods ***/
   3013 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pRequest,ALLOCATOR_PROPERTIES *pActual) {
   3014     return This->lpVtbl->SetProperties(This,pRequest,pActual);
   3015 }
   3016 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetProperties(IMemAllocatorCallbackTemp* This,ALLOCATOR_PROPERTIES *pProps) {
   3017     return This->lpVtbl->GetProperties(This,pProps);
   3018 }
   3019 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Commit(IMemAllocatorCallbackTemp* This) {
   3020     return This->lpVtbl->Commit(This);
   3021 }
   3022 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_Decommit(IMemAllocatorCallbackTemp* This) {
   3023     return This->lpVtbl->Decommit(This);
   3024 }
   3025 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetBuffer(IMemAllocatorCallbackTemp* This,IMediaSample **ppBuffer,REFERENCE_TIME *pStartTime,REFERENCE_TIME *pEndTime,DWORD dwFlags) {
   3026     return This->lpVtbl->GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags);
   3027 }
   3028 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_ReleaseBuffer(IMemAllocatorCallbackTemp* This,IMediaSample *pBuffer) {
   3029     return This->lpVtbl->ReleaseBuffer(This,pBuffer);
   3030 }
   3031 /*** IMemAllocatorCallbackTemp methods ***/
   3032 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_SetNotify(IMemAllocatorCallbackTemp* This,IMemAllocatorNotifyCallbackTemp *pNotify) {
   3033     return This->lpVtbl->SetNotify(This,pNotify);
   3034 }
   3035 static FORCEINLINE HRESULT IMemAllocatorCallbackTemp_GetFreeCount(IMemAllocatorCallbackTemp* This,LONG *plBuffersFree) {
   3036     return This->lpVtbl->GetFreeCount(This,plBuffersFree);
   3037 }
   3038 #endif
   3039 #endif
   3040 
   3041 #endif
   3042 
   3043 HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy(
   3044     IMemAllocatorCallbackTemp* This,
   3045     IMemAllocatorNotifyCallbackTemp *pNotify);
   3046 void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
   3047     IRpcStubBuffer* This,
   3048     IRpcChannelBuffer* pRpcChannelBuffer,
   3049     PRPC_MESSAGE pRpcMessage,
   3050     DWORD* pdwStubPhase);
   3051 HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy(
   3052     IMemAllocatorCallbackTemp* This,
   3053     LONG *plBuffersFree);
   3054 void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
   3055     IRpcStubBuffer* This,
   3056     IRpcChannelBuffer* pRpcChannelBuffer,
   3057     PRPC_MESSAGE pRpcMessage,
   3058     DWORD* pdwStubPhase);
   3059 
   3060 #endif  /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
   3061 
   3062 /*****************************************************************************
   3063  * IMemAllocatorNotifyCallbackTemp interface
   3064  */
   3065 #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
   3066 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
   3067 
   3068 DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   3069 #if defined(__cplusplus) && !defined(CINTERFACE)
   3070 MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
   3071 IMemAllocatorNotifyCallbackTemp : public IUnknown
   3072 {
   3073     virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
   3074         ) = 0;
   3075 
   3076 };
   3077 #ifdef __CRT_UUID_DECL
   3078 __CRT_UUID_DECL(IMemAllocatorNotifyCallbackTemp, 0x92980b30, 0xc1de, 0x11d2, 0xab,0xf5, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   3079 #endif
   3080 #else
   3081 typedef struct IMemAllocatorNotifyCallbackTempVtbl {
   3082     BEGIN_INTERFACE
   3083 
   3084     /*** IUnknown methods ***/
   3085     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3086         IMemAllocatorNotifyCallbackTemp* This,
   3087         REFIID riid,
   3088         void **ppvObject);
   3089 
   3090     ULONG (STDMETHODCALLTYPE *AddRef)(
   3091         IMemAllocatorNotifyCallbackTemp* This);
   3092 
   3093     ULONG (STDMETHODCALLTYPE *Release)(
   3094         IMemAllocatorNotifyCallbackTemp* This);
   3095 
   3096     /*** IMemAllocatorNotifyCallbackTemp methods ***/
   3097     HRESULT (STDMETHODCALLTYPE *NotifyRelease)(
   3098         IMemAllocatorNotifyCallbackTemp* This);
   3099 
   3100     END_INTERFACE
   3101 } IMemAllocatorNotifyCallbackTempVtbl;
   3102 interface IMemAllocatorNotifyCallbackTemp {
   3103     CONST_VTBL IMemAllocatorNotifyCallbackTempVtbl* lpVtbl;
   3104 };
   3105 
   3106 #ifdef COBJMACROS
   3107 #ifndef WIDL_C_INLINE_WRAPPERS
   3108 /*** IUnknown methods ***/
   3109 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3110 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
   3111 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
   3112 /*** IMemAllocatorNotifyCallbackTemp methods ***/
   3113 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This)
   3114 #else
   3115 /*** IUnknown methods ***/
   3116 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_QueryInterface(IMemAllocatorNotifyCallbackTemp* This,REFIID riid,void **ppvObject) {
   3117     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3118 }
   3119 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_AddRef(IMemAllocatorNotifyCallbackTemp* This) {
   3120     return This->lpVtbl->AddRef(This);
   3121 }
   3122 static FORCEINLINE ULONG IMemAllocatorNotifyCallbackTemp_Release(IMemAllocatorNotifyCallbackTemp* This) {
   3123     return This->lpVtbl->Release(This);
   3124 }
   3125 /*** IMemAllocatorNotifyCallbackTemp methods ***/
   3126 static FORCEINLINE HRESULT IMemAllocatorNotifyCallbackTemp_NotifyRelease(IMemAllocatorNotifyCallbackTemp* This) {
   3127     return This->lpVtbl->NotifyRelease(This);
   3128 }
   3129 #endif
   3130 #endif
   3131 
   3132 #endif
   3133 
   3134 HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(
   3135     IMemAllocatorNotifyCallbackTemp* This);
   3136 void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
   3137     IRpcStubBuffer* This,
   3138     IRpcChannelBuffer* pRpcChannelBuffer,
   3139     PRPC_MESSAGE pRpcMessage,
   3140     DWORD* pdwStubPhase);
   3141 
   3142 #endif  /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
   3143 
   3144 /*****************************************************************************
   3145  * IMemInputPin interface
   3146  */
   3147 #ifndef __IMemInputPin_INTERFACE_DEFINED__
   3148 #define __IMemInputPin_INTERFACE_DEFINED__
   3149 
   3150 DEFINE_GUID(IID_IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   3151 #if defined(__cplusplus) && !defined(CINTERFACE)
   3152 MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
   3153 IMemInputPin : public IUnknown
   3154 {
   3155     virtual HRESULT STDMETHODCALLTYPE GetAllocator(
   3156         IMemAllocator **ppAllocator) = 0;
   3157 
   3158     virtual HRESULT STDMETHODCALLTYPE NotifyAllocator(
   3159         IMemAllocator *pAllocator,
   3160         WINBOOL bReadOnly) = 0;
   3161 
   3162     virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(
   3163         ALLOCATOR_PROPERTIES *pProps) = 0;
   3164 
   3165     virtual HRESULT STDMETHODCALLTYPE Receive(
   3166         IMediaSample *pSample) = 0;
   3167 
   3168     virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple(
   3169         IMediaSample **pSamples,
   3170         LONG nSamples,
   3171         LONG *nSamplesProcessed) = 0;
   3172 
   3173     virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock(
   3174         ) = 0;
   3175 
   3176 };
   3177 #ifdef __CRT_UUID_DECL
   3178 __CRT_UUID_DECL(IMemInputPin, 0x56a8689d, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   3179 #endif
   3180 #else
   3181 typedef struct IMemInputPinVtbl {
   3182     BEGIN_INTERFACE
   3183 
   3184     /*** IUnknown methods ***/
   3185     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3186         IMemInputPin* This,
   3187         REFIID riid,
   3188         void **ppvObject);
   3189 
   3190     ULONG (STDMETHODCALLTYPE *AddRef)(
   3191         IMemInputPin* This);
   3192 
   3193     ULONG (STDMETHODCALLTYPE *Release)(
   3194         IMemInputPin* This);
   3195 
   3196     /*** IMemInputPin methods ***/
   3197     HRESULT (STDMETHODCALLTYPE *GetAllocator)(
   3198         IMemInputPin* This,
   3199         IMemAllocator **ppAllocator);
   3200 
   3201     HRESULT (STDMETHODCALLTYPE *NotifyAllocator)(
   3202         IMemInputPin* This,
   3203         IMemAllocator *pAllocator,
   3204         WINBOOL bReadOnly);
   3205 
   3206     HRESULT (STDMETHODCALLTYPE *GetAllocatorRequirements)(
   3207         IMemInputPin* This,
   3208         ALLOCATOR_PROPERTIES *pProps);
   3209 
   3210     HRESULT (STDMETHODCALLTYPE *Receive)(
   3211         IMemInputPin* This,
   3212         IMediaSample *pSample);
   3213 
   3214     HRESULT (STDMETHODCALLTYPE *ReceiveMultiple)(
   3215         IMemInputPin* This,
   3216         IMediaSample **pSamples,
   3217         LONG nSamples,
   3218         LONG *nSamplesProcessed);
   3219 
   3220     HRESULT (STDMETHODCALLTYPE *ReceiveCanBlock)(
   3221         IMemInputPin* This);
   3222 
   3223     END_INTERFACE
   3224 } IMemInputPinVtbl;
   3225 interface IMemInputPin {
   3226     CONST_VTBL IMemInputPinVtbl* lpVtbl;
   3227 };
   3228 
   3229 #ifdef COBJMACROS
   3230 #ifndef WIDL_C_INLINE_WRAPPERS
   3231 /*** IUnknown methods ***/
   3232 #define IMemInputPin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3233 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This)
   3234 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This)
   3235 /*** IMemInputPin methods ***/
   3236 #define IMemInputPin_GetAllocator(This,ppAllocator) (This)->lpVtbl->GetAllocator(This,ppAllocator)
   3237 #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) (This)->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly)
   3238 #define IMemInputPin_GetAllocatorRequirements(This,pProps) (This)->lpVtbl->GetAllocatorRequirements(This,pProps)
   3239 #define IMemInputPin_Receive(This,pSample) (This)->lpVtbl->Receive(This,pSample)
   3240 #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
   3241 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This)
   3242 #else
   3243 /*** IUnknown methods ***/
   3244 static FORCEINLINE HRESULT IMemInputPin_QueryInterface(IMemInputPin* This,REFIID riid,void **ppvObject) {
   3245     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3246 }
   3247 static FORCEINLINE ULONG IMemInputPin_AddRef(IMemInputPin* This) {
   3248     return This->lpVtbl->AddRef(This);
   3249 }
   3250 static FORCEINLINE ULONG IMemInputPin_Release(IMemInputPin* This) {
   3251     return This->lpVtbl->Release(This);
   3252 }
   3253 /*** IMemInputPin methods ***/
   3254 static FORCEINLINE HRESULT IMemInputPin_GetAllocator(IMemInputPin* This,IMemAllocator **ppAllocator) {
   3255     return This->lpVtbl->GetAllocator(This,ppAllocator);
   3256 }
   3257 static FORCEINLINE HRESULT IMemInputPin_NotifyAllocator(IMemInputPin* This,IMemAllocator *pAllocator,WINBOOL bReadOnly) {
   3258     return This->lpVtbl->NotifyAllocator(This,pAllocator,bReadOnly);
   3259 }
   3260 static FORCEINLINE HRESULT IMemInputPin_GetAllocatorRequirements(IMemInputPin* This,ALLOCATOR_PROPERTIES *pProps) {
   3261     return This->lpVtbl->GetAllocatorRequirements(This,pProps);
   3262 }
   3263 static FORCEINLINE HRESULT IMemInputPin_Receive(IMemInputPin* This,IMediaSample *pSample) {
   3264     return This->lpVtbl->Receive(This,pSample);
   3265 }
   3266 static FORCEINLINE HRESULT IMemInputPin_ReceiveMultiple(IMemInputPin* This,IMediaSample **pSamples,LONG nSamples,LONG *nSamplesProcessed) {
   3267     return This->lpVtbl->ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed);
   3268 }
   3269 static FORCEINLINE HRESULT IMemInputPin_ReceiveCanBlock(IMemInputPin* This) {
   3270     return This->lpVtbl->ReceiveCanBlock(This);
   3271 }
   3272 #endif
   3273 #endif
   3274 
   3275 #endif
   3276 
   3277 HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy(
   3278     IMemInputPin* This,
   3279     IMemAllocator **ppAllocator);
   3280 void __RPC_STUB IMemInputPin_GetAllocator_Stub(
   3281     IRpcStubBuffer* This,
   3282     IRpcChannelBuffer* pRpcChannelBuffer,
   3283     PRPC_MESSAGE pRpcMessage,
   3284     DWORD* pdwStubPhase);
   3285 HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy(
   3286     IMemInputPin* This,
   3287     IMemAllocator *pAllocator,
   3288     WINBOOL bReadOnly);
   3289 void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
   3290     IRpcStubBuffer* This,
   3291     IRpcChannelBuffer* pRpcChannelBuffer,
   3292     PRPC_MESSAGE pRpcMessage,
   3293     DWORD* pdwStubPhase);
   3294 HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy(
   3295     IMemInputPin* This,
   3296     ALLOCATOR_PROPERTIES *pProps);
   3297 void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
   3298     IRpcStubBuffer* This,
   3299     IRpcChannelBuffer* pRpcChannelBuffer,
   3300     PRPC_MESSAGE pRpcMessage,
   3301     DWORD* pdwStubPhase);
   3302 HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy(
   3303     IMemInputPin* This,
   3304     IMediaSample *pSample);
   3305 void __RPC_STUB IMemInputPin_Receive_Stub(
   3306     IRpcStubBuffer* This,
   3307     IRpcChannelBuffer* pRpcChannelBuffer,
   3308     PRPC_MESSAGE pRpcMessage,
   3309     DWORD* pdwStubPhase);
   3310 HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy(
   3311     IMemInputPin* This,
   3312     IMediaSample **pSamples,
   3313     LONG nSamples,
   3314     LONG *nSamplesProcessed);
   3315 void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
   3316     IRpcStubBuffer* This,
   3317     IRpcChannelBuffer* pRpcChannelBuffer,
   3318     PRPC_MESSAGE pRpcMessage,
   3319     DWORD* pdwStubPhase);
   3320 HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy(
   3321     IMemInputPin* This);
   3322 void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
   3323     IRpcStubBuffer* This,
   3324     IRpcChannelBuffer* pRpcChannelBuffer,
   3325     PRPC_MESSAGE pRpcMessage,
   3326     DWORD* pdwStubPhase);
   3327 
   3328 #endif  /* __IMemInputPin_INTERFACE_DEFINED__ */
   3329 
   3330 typedef IMemInputPin *PMEMINPUTPIN;
   3331 /*****************************************************************************
   3332  * IAMovieSetup interface
   3333  */
   3334 #ifndef __IAMovieSetup_INTERFACE_DEFINED__
   3335 #define __IAMovieSetup_INTERFACE_DEFINED__
   3336 
   3337 DEFINE_GUID(IID_IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20);
   3338 #if defined(__cplusplus) && !defined(CINTERFACE)
   3339 MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
   3340 IAMovieSetup : public IUnknown
   3341 {
   3342     virtual HRESULT STDMETHODCALLTYPE Register(
   3343         ) = 0;
   3344 
   3345     virtual HRESULT STDMETHODCALLTYPE Unregister(
   3346         ) = 0;
   3347 
   3348 };
   3349 #ifdef __CRT_UUID_DECL
   3350 __CRT_UUID_DECL(IAMovieSetup, 0xa3d8cec0, 0x7e5a, 0x11cf, 0xbb,0xc5, 0x00,0x80,0x5f,0x6c,0xef,0x20)
   3351 #endif
   3352 #else
   3353 typedef struct IAMovieSetupVtbl {
   3354     BEGIN_INTERFACE
   3355 
   3356     /*** IUnknown methods ***/
   3357     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3358         IAMovieSetup* This,
   3359         REFIID riid,
   3360         void **ppvObject);
   3361 
   3362     ULONG (STDMETHODCALLTYPE *AddRef)(
   3363         IAMovieSetup* This);
   3364 
   3365     ULONG (STDMETHODCALLTYPE *Release)(
   3366         IAMovieSetup* This);
   3367 
   3368     /*** IAMovieSetup methods ***/
   3369     HRESULT (STDMETHODCALLTYPE *Register)(
   3370         IAMovieSetup* This);
   3371 
   3372     HRESULT (STDMETHODCALLTYPE *Unregister)(
   3373         IAMovieSetup* This);
   3374 
   3375     END_INTERFACE
   3376 } IAMovieSetupVtbl;
   3377 interface IAMovieSetup {
   3378     CONST_VTBL IAMovieSetupVtbl* lpVtbl;
   3379 };
   3380 
   3381 #ifdef COBJMACROS
   3382 #ifndef WIDL_C_INLINE_WRAPPERS
   3383 /*** IUnknown methods ***/
   3384 #define IAMovieSetup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3385 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This)
   3386 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This)
   3387 /*** IAMovieSetup methods ***/
   3388 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This)
   3389 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This)
   3390 #else
   3391 /*** IUnknown methods ***/
   3392 static FORCEINLINE HRESULT IAMovieSetup_QueryInterface(IAMovieSetup* This,REFIID riid,void **ppvObject) {
   3393     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3394 }
   3395 static FORCEINLINE ULONG IAMovieSetup_AddRef(IAMovieSetup* This) {
   3396     return This->lpVtbl->AddRef(This);
   3397 }
   3398 static FORCEINLINE ULONG IAMovieSetup_Release(IAMovieSetup* This) {
   3399     return This->lpVtbl->Release(This);
   3400 }
   3401 /*** IAMovieSetup methods ***/
   3402 static FORCEINLINE HRESULT IAMovieSetup_Register(IAMovieSetup* This) {
   3403     return This->lpVtbl->Register(This);
   3404 }
   3405 static FORCEINLINE HRESULT IAMovieSetup_Unregister(IAMovieSetup* This) {
   3406     return This->lpVtbl->Unregister(This);
   3407 }
   3408 #endif
   3409 #endif
   3410 
   3411 #endif
   3412 
   3413 HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy(
   3414     IAMovieSetup* This);
   3415 void __RPC_STUB IAMovieSetup_Register_Stub(
   3416     IRpcStubBuffer* This,
   3417     IRpcChannelBuffer* pRpcChannelBuffer,
   3418     PRPC_MESSAGE pRpcMessage,
   3419     DWORD* pdwStubPhase);
   3420 HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy(
   3421     IAMovieSetup* This);
   3422 void __RPC_STUB IAMovieSetup_Unregister_Stub(
   3423     IRpcStubBuffer* This,
   3424     IRpcChannelBuffer* pRpcChannelBuffer,
   3425     PRPC_MESSAGE pRpcMessage,
   3426     DWORD* pdwStubPhase);
   3427 
   3428 #endif  /* __IAMovieSetup_INTERFACE_DEFINED__ */
   3429 
   3430 typedef IAMovieSetup *PAMOVIESETUP;
   3431 typedef enum AM_SEEKING_SeekingFlags {
   3432     AM_SEEKING_NoPositioning = 0x0,
   3433     AM_SEEKING_AbsolutePositioning = 0x1,
   3434     AM_SEEKING_RelativePositioning = 0x2,
   3435     AM_SEEKING_IncrementalPositioning = 0x3,
   3436     AM_SEEKING_PositioningBitsMask = 0x3,
   3437     AM_SEEKING_SeekToKeyFrame = 0x4,
   3438     AM_SEEKING_ReturnTime = 0x8,
   3439     AM_SEEKING_Segment = 0x10,
   3440     AM_SEEKING_NoFlush = 0x20
   3441 } AM_SEEKING_SEEKING_FLAGS;
   3442 typedef enum AM_SEEKING_SeekingCapabilities {
   3443     AM_SEEKING_CanSeekAbsolute = 0x1,
   3444     AM_SEEKING_CanSeekForwards = 0x2,
   3445     AM_SEEKING_CanSeekBackwards = 0x4,
   3446     AM_SEEKING_CanGetCurrentPos = 0x8,
   3447     AM_SEEKING_CanGetStopPos = 0x10,
   3448     AM_SEEKING_CanGetDuration = 0x20,
   3449     AM_SEEKING_CanPlayBackwards = 0x40,
   3450     AM_SEEKING_CanDoSegments = 0x80,
   3451     AM_SEEKING_Source = 0x100
   3452 } AM_SEEKING_SEEKING_CAPABILITIES;
   3453 /*****************************************************************************
   3454  * IMediaSeeking interface
   3455  */
   3456 #ifndef __IMediaSeeking_INTERFACE_DEFINED__
   3457 #define __IMediaSeeking_INTERFACE_DEFINED__
   3458 
   3459 DEFINE_GUID(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   3460 #if defined(__cplusplus) && !defined(CINTERFACE)
   3461 MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
   3462 IMediaSeeking : public IUnknown
   3463 {
   3464     virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
   3465         DWORD *pCapabilities) = 0;
   3466 
   3467     virtual HRESULT STDMETHODCALLTYPE CheckCapabilities(
   3468         DWORD *pCapabilities) = 0;
   3469 
   3470     virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
   3471         const GUID *pFormat) = 0;
   3472 
   3473     virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat(
   3474         GUID *pFormat) = 0;
   3475 
   3476     virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
   3477         GUID *pFormat) = 0;
   3478 
   3479     virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat(
   3480         const GUID *pFormat) = 0;
   3481 
   3482     virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(
   3483         const GUID *pFormat) = 0;
   3484 
   3485     virtual HRESULT STDMETHODCALLTYPE GetDuration(
   3486         LONGLONG *pDuration) = 0;
   3487 
   3488     virtual HRESULT STDMETHODCALLTYPE GetStopPosition(
   3489         LONGLONG *pStop) = 0;
   3490 
   3491     virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
   3492         LONGLONG *pCurrent) = 0;
   3493 
   3494     virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat(
   3495         LONGLONG *pTarget,
   3496         const GUID *pTargetFormat,
   3497         LONGLONG Source,
   3498         const GUID *pSourceFormat) = 0;
   3499 
   3500     virtual HRESULT STDMETHODCALLTYPE SetPositions(
   3501         LONGLONG *pCurrent,
   3502         DWORD dwCurrentFlags,
   3503         LONGLONG *pStop,
   3504         DWORD dwStopFlags) = 0;
   3505 
   3506     virtual HRESULT STDMETHODCALLTYPE GetPositions(
   3507         LONGLONG *pCurrent,
   3508         LONGLONG *pStop) = 0;
   3509 
   3510     virtual HRESULT STDMETHODCALLTYPE GetAvailable(
   3511         LONGLONG *pEarliest,
   3512         LONGLONG *pLatest) = 0;
   3513 
   3514     virtual HRESULT STDMETHODCALLTYPE SetRate(
   3515         double dRate) = 0;
   3516 
   3517     virtual HRESULT STDMETHODCALLTYPE GetRate(
   3518         double *pdRate) = 0;
   3519 
   3520     virtual HRESULT STDMETHODCALLTYPE GetPreroll(
   3521         LONGLONG *pllPreroll) = 0;
   3522 
   3523 };
   3524 #ifdef __CRT_UUID_DECL
   3525 __CRT_UUID_DECL(IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   3526 #endif
   3527 #else
   3528 typedef struct IMediaSeekingVtbl {
   3529     BEGIN_INTERFACE
   3530 
   3531     /*** IUnknown methods ***/
   3532     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3533         IMediaSeeking* This,
   3534         REFIID riid,
   3535         void **ppvObject);
   3536 
   3537     ULONG (STDMETHODCALLTYPE *AddRef)(
   3538         IMediaSeeking* This);
   3539 
   3540     ULONG (STDMETHODCALLTYPE *Release)(
   3541         IMediaSeeking* This);
   3542 
   3543     /*** IMediaSeeking methods ***/
   3544     HRESULT (STDMETHODCALLTYPE *GetCapabilities)(
   3545         IMediaSeeking* This,
   3546         DWORD *pCapabilities);
   3547 
   3548     HRESULT (STDMETHODCALLTYPE *CheckCapabilities)(
   3549         IMediaSeeking* This,
   3550         DWORD *pCapabilities);
   3551 
   3552     HRESULT (STDMETHODCALLTYPE *IsFormatSupported)(
   3553         IMediaSeeking* This,
   3554         const GUID *pFormat);
   3555 
   3556     HRESULT (STDMETHODCALLTYPE *QueryPreferredFormat)(
   3557         IMediaSeeking* This,
   3558         GUID *pFormat);
   3559 
   3560     HRESULT (STDMETHODCALLTYPE *GetTimeFormat)(
   3561         IMediaSeeking* This,
   3562         GUID *pFormat);
   3563 
   3564     HRESULT (STDMETHODCALLTYPE *IsUsingTimeFormat)(
   3565         IMediaSeeking* This,
   3566         const GUID *pFormat);
   3567 
   3568     HRESULT (STDMETHODCALLTYPE *SetTimeFormat)(
   3569         IMediaSeeking* This,
   3570         const GUID *pFormat);
   3571 
   3572     HRESULT (STDMETHODCALLTYPE *GetDuration)(
   3573         IMediaSeeking* This,
   3574         LONGLONG *pDuration);
   3575 
   3576     HRESULT (STDMETHODCALLTYPE *GetStopPosition)(
   3577         IMediaSeeking* This,
   3578         LONGLONG *pStop);
   3579 
   3580     HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)(
   3581         IMediaSeeking* This,
   3582         LONGLONG *pCurrent);
   3583 
   3584     HRESULT (STDMETHODCALLTYPE *ConvertTimeFormat)(
   3585         IMediaSeeking* This,
   3586         LONGLONG *pTarget,
   3587         const GUID *pTargetFormat,
   3588         LONGLONG Source,
   3589         const GUID *pSourceFormat);
   3590 
   3591     HRESULT (STDMETHODCALLTYPE *SetPositions)(
   3592         IMediaSeeking* This,
   3593         LONGLONG *pCurrent,
   3594         DWORD dwCurrentFlags,
   3595         LONGLONG *pStop,
   3596         DWORD dwStopFlags);
   3597 
   3598     HRESULT (STDMETHODCALLTYPE *GetPositions)(
   3599         IMediaSeeking* This,
   3600         LONGLONG *pCurrent,
   3601         LONGLONG *pStop);
   3602 
   3603     HRESULT (STDMETHODCALLTYPE *GetAvailable)(
   3604         IMediaSeeking* This,
   3605         LONGLONG *pEarliest,
   3606         LONGLONG *pLatest);
   3607 
   3608     HRESULT (STDMETHODCALLTYPE *SetRate)(
   3609         IMediaSeeking* This,
   3610         double dRate);
   3611 
   3612     HRESULT (STDMETHODCALLTYPE *GetRate)(
   3613         IMediaSeeking* This,
   3614         double *pdRate);
   3615 
   3616     HRESULT (STDMETHODCALLTYPE *GetPreroll)(
   3617         IMediaSeeking* This,
   3618         LONGLONG *pllPreroll);
   3619 
   3620     END_INTERFACE
   3621 } IMediaSeekingVtbl;
   3622 interface IMediaSeeking {
   3623     CONST_VTBL IMediaSeekingVtbl* lpVtbl;
   3624 };
   3625 
   3626 #ifdef COBJMACROS
   3627 #ifndef WIDL_C_INLINE_WRAPPERS
   3628 /*** IUnknown methods ***/
   3629 #define IMediaSeeking_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3630 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This)
   3631 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This)
   3632 /*** IMediaSeeking methods ***/
   3633 #define IMediaSeeking_GetCapabilities(This,pCapabilities) (This)->lpVtbl->GetCapabilities(This,pCapabilities)
   3634 #define IMediaSeeking_CheckCapabilities(This,pCapabilities) (This)->lpVtbl->CheckCapabilities(This,pCapabilities)
   3635 #define IMediaSeeking_IsFormatSupported(This,pFormat) (This)->lpVtbl->IsFormatSupported(This,pFormat)
   3636 #define IMediaSeeking_QueryPreferredFormat(This,pFormat) (This)->lpVtbl->QueryPreferredFormat(This,pFormat)
   3637 #define IMediaSeeking_GetTimeFormat(This,pFormat) (This)->lpVtbl->GetTimeFormat(This,pFormat)
   3638 #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) (This)->lpVtbl->IsUsingTimeFormat(This,pFormat)
   3639 #define IMediaSeeking_SetTimeFormat(This,pFormat) (This)->lpVtbl->SetTimeFormat(This,pFormat)
   3640 #define IMediaSeeking_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
   3641 #define IMediaSeeking_GetStopPosition(This,pStop) (This)->lpVtbl->GetStopPosition(This,pStop)
   3642 #define IMediaSeeking_GetCurrentPosition(This,pCurrent) (This)->lpVtbl->GetCurrentPosition(This,pCurrent)
   3643 #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
   3644 #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) (This)->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
   3645 #define IMediaSeeking_GetPositions(This,pCurrent,pStop) (This)->lpVtbl->GetPositions(This,pCurrent,pStop)
   3646 #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) (This)->lpVtbl->GetAvailable(This,pEarliest,pLatest)
   3647 #define IMediaSeeking_SetRate(This,dRate) (This)->lpVtbl->SetRate(This,dRate)
   3648 #define IMediaSeeking_GetRate(This,pdRate) (This)->lpVtbl->GetRate(This,pdRate)
   3649 #define IMediaSeeking_GetPreroll(This,pllPreroll) (This)->lpVtbl->GetPreroll(This,pllPreroll)
   3650 #else
   3651 /*** IUnknown methods ***/
   3652 static FORCEINLINE HRESULT IMediaSeeking_QueryInterface(IMediaSeeking* This,REFIID riid,void **ppvObject) {
   3653     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3654 }
   3655 static FORCEINLINE ULONG IMediaSeeking_AddRef(IMediaSeeking* This) {
   3656     return This->lpVtbl->AddRef(This);
   3657 }
   3658 static FORCEINLINE ULONG IMediaSeeking_Release(IMediaSeeking* This) {
   3659     return This->lpVtbl->Release(This);
   3660 }
   3661 /*** IMediaSeeking methods ***/
   3662 static FORCEINLINE HRESULT IMediaSeeking_GetCapabilities(IMediaSeeking* This,DWORD *pCapabilities) {
   3663     return This->lpVtbl->GetCapabilities(This,pCapabilities);
   3664 }
   3665 static FORCEINLINE HRESULT IMediaSeeking_CheckCapabilities(IMediaSeeking* This,DWORD *pCapabilities) {
   3666     return This->lpVtbl->CheckCapabilities(This,pCapabilities);
   3667 }
   3668 static FORCEINLINE HRESULT IMediaSeeking_IsFormatSupported(IMediaSeeking* This,const GUID *pFormat) {
   3669     return This->lpVtbl->IsFormatSupported(This,pFormat);
   3670 }
   3671 static FORCEINLINE HRESULT IMediaSeeking_QueryPreferredFormat(IMediaSeeking* This,GUID *pFormat) {
   3672     return This->lpVtbl->QueryPreferredFormat(This,pFormat);
   3673 }
   3674 static FORCEINLINE HRESULT IMediaSeeking_GetTimeFormat(IMediaSeeking* This,GUID *pFormat) {
   3675     return This->lpVtbl->GetTimeFormat(This,pFormat);
   3676 }
   3677 static FORCEINLINE HRESULT IMediaSeeking_IsUsingTimeFormat(IMediaSeeking* This,const GUID *pFormat) {
   3678     return This->lpVtbl->IsUsingTimeFormat(This,pFormat);
   3679 }
   3680 static FORCEINLINE HRESULT IMediaSeeking_SetTimeFormat(IMediaSeeking* This,const GUID *pFormat) {
   3681     return This->lpVtbl->SetTimeFormat(This,pFormat);
   3682 }
   3683 static FORCEINLINE HRESULT IMediaSeeking_GetDuration(IMediaSeeking* This,LONGLONG *pDuration) {
   3684     return This->lpVtbl->GetDuration(This,pDuration);
   3685 }
   3686 static FORCEINLINE HRESULT IMediaSeeking_GetStopPosition(IMediaSeeking* This,LONGLONG *pStop) {
   3687     return This->lpVtbl->GetStopPosition(This,pStop);
   3688 }
   3689 static FORCEINLINE HRESULT IMediaSeeking_GetCurrentPosition(IMediaSeeking* This,LONGLONG *pCurrent) {
   3690     return This->lpVtbl->GetCurrentPosition(This,pCurrent);
   3691 }
   3692 static FORCEINLINE HRESULT IMediaSeeking_ConvertTimeFormat(IMediaSeeking* This,LONGLONG *pTarget,const GUID *pTargetFormat,LONGLONG Source,const GUID *pSourceFormat) {
   3693     return This->lpVtbl->ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat);
   3694 }
   3695 static FORCEINLINE HRESULT IMediaSeeking_SetPositions(IMediaSeeking* This,LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags) {
   3696     return This->lpVtbl->SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags);
   3697 }
   3698 static FORCEINLINE HRESULT IMediaSeeking_GetPositions(IMediaSeeking* This,LONGLONG *pCurrent,LONGLONG *pStop) {
   3699     return This->lpVtbl->GetPositions(This,pCurrent,pStop);
   3700 }
   3701 static FORCEINLINE HRESULT IMediaSeeking_GetAvailable(IMediaSeeking* This,LONGLONG *pEarliest,LONGLONG *pLatest) {
   3702     return This->lpVtbl->GetAvailable(This,pEarliest,pLatest);
   3703 }
   3704 static FORCEINLINE HRESULT IMediaSeeking_SetRate(IMediaSeeking* This,double dRate) {
   3705     return This->lpVtbl->SetRate(This,dRate);
   3706 }
   3707 static FORCEINLINE HRESULT IMediaSeeking_GetRate(IMediaSeeking* This,double *pdRate) {
   3708     return This->lpVtbl->GetRate(This,pdRate);
   3709 }
   3710 static FORCEINLINE HRESULT IMediaSeeking_GetPreroll(IMediaSeeking* This,LONGLONG *pllPreroll) {
   3711     return This->lpVtbl->GetPreroll(This,pllPreroll);
   3712 }
   3713 #endif
   3714 #endif
   3715 
   3716 #endif
   3717 
   3718 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy(
   3719     IMediaSeeking* This,
   3720     DWORD *pCapabilities);
   3721 void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
   3722     IRpcStubBuffer* This,
   3723     IRpcChannelBuffer* pRpcChannelBuffer,
   3724     PRPC_MESSAGE pRpcMessage,
   3725     DWORD* pdwStubPhase);
   3726 HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy(
   3727     IMediaSeeking* This,
   3728     DWORD *pCapabilities);
   3729 void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
   3730     IRpcStubBuffer* This,
   3731     IRpcChannelBuffer* pRpcChannelBuffer,
   3732     PRPC_MESSAGE pRpcMessage,
   3733     DWORD* pdwStubPhase);
   3734 HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy(
   3735     IMediaSeeking* This,
   3736     const GUID *pFormat);
   3737 void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
   3738     IRpcStubBuffer* This,
   3739     IRpcChannelBuffer* pRpcChannelBuffer,
   3740     PRPC_MESSAGE pRpcMessage,
   3741     DWORD* pdwStubPhase);
   3742 HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy(
   3743     IMediaSeeking* This,
   3744     GUID *pFormat);
   3745 void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
   3746     IRpcStubBuffer* This,
   3747     IRpcChannelBuffer* pRpcChannelBuffer,
   3748     PRPC_MESSAGE pRpcMessage,
   3749     DWORD* pdwStubPhase);
   3750 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy(
   3751     IMediaSeeking* This,
   3752     GUID *pFormat);
   3753 void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
   3754     IRpcStubBuffer* This,
   3755     IRpcChannelBuffer* pRpcChannelBuffer,
   3756     PRPC_MESSAGE pRpcMessage,
   3757     DWORD* pdwStubPhase);
   3758 HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy(
   3759     IMediaSeeking* This,
   3760     const GUID *pFormat);
   3761 void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
   3762     IRpcStubBuffer* This,
   3763     IRpcChannelBuffer* pRpcChannelBuffer,
   3764     PRPC_MESSAGE pRpcMessage,
   3765     DWORD* pdwStubPhase);
   3766 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy(
   3767     IMediaSeeking* This,
   3768     const GUID *pFormat);
   3769 void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
   3770     IRpcStubBuffer* This,
   3771     IRpcChannelBuffer* pRpcChannelBuffer,
   3772     PRPC_MESSAGE pRpcMessage,
   3773     DWORD* pdwStubPhase);
   3774 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy(
   3775     IMediaSeeking* This,
   3776     LONGLONG *pDuration);
   3777 void __RPC_STUB IMediaSeeking_GetDuration_Stub(
   3778     IRpcStubBuffer* This,
   3779     IRpcChannelBuffer* pRpcChannelBuffer,
   3780     PRPC_MESSAGE pRpcMessage,
   3781     DWORD* pdwStubPhase);
   3782 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy(
   3783     IMediaSeeking* This,
   3784     LONGLONG *pStop);
   3785 void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
   3786     IRpcStubBuffer* This,
   3787     IRpcChannelBuffer* pRpcChannelBuffer,
   3788     PRPC_MESSAGE pRpcMessage,
   3789     DWORD* pdwStubPhase);
   3790 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy(
   3791     IMediaSeeking* This,
   3792     LONGLONG *pCurrent);
   3793 void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
   3794     IRpcStubBuffer* This,
   3795     IRpcChannelBuffer* pRpcChannelBuffer,
   3796     PRPC_MESSAGE pRpcMessage,
   3797     DWORD* pdwStubPhase);
   3798 HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy(
   3799     IMediaSeeking* This,
   3800     LONGLONG *pTarget,
   3801     const GUID *pTargetFormat,
   3802     LONGLONG Source,
   3803     const GUID *pSourceFormat);
   3804 void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
   3805     IRpcStubBuffer* This,
   3806     IRpcChannelBuffer* pRpcChannelBuffer,
   3807     PRPC_MESSAGE pRpcMessage,
   3808     DWORD* pdwStubPhase);
   3809 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy(
   3810     IMediaSeeking* This,
   3811     LONGLONG *pCurrent,
   3812     DWORD dwCurrentFlags,
   3813     LONGLONG *pStop,
   3814     DWORD dwStopFlags);
   3815 void __RPC_STUB IMediaSeeking_SetPositions_Stub(
   3816     IRpcStubBuffer* This,
   3817     IRpcChannelBuffer* pRpcChannelBuffer,
   3818     PRPC_MESSAGE pRpcMessage,
   3819     DWORD* pdwStubPhase);
   3820 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy(
   3821     IMediaSeeking* This,
   3822     LONGLONG *pCurrent,
   3823     LONGLONG *pStop);
   3824 void __RPC_STUB IMediaSeeking_GetPositions_Stub(
   3825     IRpcStubBuffer* This,
   3826     IRpcChannelBuffer* pRpcChannelBuffer,
   3827     PRPC_MESSAGE pRpcMessage,
   3828     DWORD* pdwStubPhase);
   3829 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy(
   3830     IMediaSeeking* This,
   3831     LONGLONG *pEarliest,
   3832     LONGLONG *pLatest);
   3833 void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
   3834     IRpcStubBuffer* This,
   3835     IRpcChannelBuffer* pRpcChannelBuffer,
   3836     PRPC_MESSAGE pRpcMessage,
   3837     DWORD* pdwStubPhase);
   3838 HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy(
   3839     IMediaSeeking* This,
   3840     double dRate);
   3841 void __RPC_STUB IMediaSeeking_SetRate_Stub(
   3842     IRpcStubBuffer* This,
   3843     IRpcChannelBuffer* pRpcChannelBuffer,
   3844     PRPC_MESSAGE pRpcMessage,
   3845     DWORD* pdwStubPhase);
   3846 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy(
   3847     IMediaSeeking* This,
   3848     double *pdRate);
   3849 void __RPC_STUB IMediaSeeking_GetRate_Stub(
   3850     IRpcStubBuffer* This,
   3851     IRpcChannelBuffer* pRpcChannelBuffer,
   3852     PRPC_MESSAGE pRpcMessage,
   3853     DWORD* pdwStubPhase);
   3854 HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy(
   3855     IMediaSeeking* This,
   3856     LONGLONG *pllPreroll);
   3857 void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
   3858     IRpcStubBuffer* This,
   3859     IRpcChannelBuffer* pRpcChannelBuffer,
   3860     PRPC_MESSAGE pRpcMessage,
   3861     DWORD* pdwStubPhase);
   3862 
   3863 #endif  /* __IMediaSeeking_INTERFACE_DEFINED__ */
   3864 
   3865 typedef IMediaSeeking *PMEDIASEEKING;
   3866 enum tagAM_MEDIAEVENT_FLAGS {
   3867     AM_MEDIAEVENT_NONOTIFY = 0x1
   3868 };
   3869 
   3870 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
   3871 #define __IAMAnalogVideoDecoder_FWD_DEFINED__
   3872 typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
   3873 #endif
   3874 
   3875 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
   3876 #define __IAMAnalogVideoEncoder_FWD_DEFINED__
   3877 typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
   3878 #endif
   3879 
   3880 #ifndef __IAMAudioInputMixer_FWD_DEFINED__
   3881 #define __IAMAudioInputMixer_FWD_DEFINED__
   3882 typedef interface IAMAudioInputMixer IAMAudioInputMixer;
   3883 #endif
   3884 
   3885 #ifndef __IAMAudioRendererStats_FWD_DEFINED__
   3886 #define __IAMAudioRendererStats_FWD_DEFINED__
   3887 typedef interface IAMAudioRendererStats IAMAudioRendererStats;
   3888 #endif
   3889 
   3890 #ifndef __IAMBufferNegotiation_FWD_DEFINED__
   3891 #define __IAMBufferNegotiation_FWD_DEFINED__
   3892 typedef interface IAMBufferNegotiation IAMBufferNegotiation;
   3893 #endif
   3894 
   3895 #ifndef __IAMCameraControl_FWD_DEFINED__
   3896 #define __IAMCameraControl_FWD_DEFINED__
   3897 typedef interface IAMCameraControl IAMCameraControl;
   3898 #endif
   3899 
   3900 #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
   3901 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
   3902 typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
   3903 #endif
   3904 
   3905 #ifndef __IAMCrossbar_FWD_DEFINED__
   3906 #define __IAMCrossbar_FWD_DEFINED__
   3907 typedef interface IAMCrossbar IAMCrossbar;
   3908 #endif
   3909 
   3910 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
   3911 #define __IAMDevMemoryAllocator_FWD_DEFINED__
   3912 typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
   3913 #endif
   3914 
   3915 #ifndef __IAMDevMemoryControl_FWD_DEFINED__
   3916 #define __IAMDevMemoryControl_FWD_DEFINED__
   3917 typedef interface IAMDevMemoryControl IAMDevMemoryControl;
   3918 #endif
   3919 
   3920 #ifndef __IAMDroppedFrames_FWD_DEFINED__
   3921 #define __IAMDroppedFrames_FWD_DEFINED__
   3922 typedef interface IAMDroppedFrames IAMDroppedFrames;
   3923 #endif
   3924 
   3925 #ifndef __IAMExtDevice_FWD_DEFINED__
   3926 #define __IAMExtDevice_FWD_DEFINED__
   3927 typedef interface IAMExtDevice IAMExtDevice;
   3928 #endif
   3929 
   3930 #ifndef __IAMExtTransport_FWD_DEFINED__
   3931 #define __IAMExtTransport_FWD_DEFINED__
   3932 typedef interface IAMExtTransport IAMExtTransport;
   3933 #endif
   3934 
   3935 #ifndef __IAMGraphStreams_FWD_DEFINED__
   3936 #define __IAMGraphStreams_FWD_DEFINED__
   3937 typedef interface IAMGraphStreams IAMGraphStreams;
   3938 #endif
   3939 
   3940 #ifndef __IAMLatency_FWD_DEFINED__
   3941 #define __IAMLatency_FWD_DEFINED__
   3942 typedef interface IAMLatency IAMLatency;
   3943 #endif
   3944 
   3945 #ifndef __IAMOpenProgress_FWD_DEFINED__
   3946 #define __IAMOpenProgress_FWD_DEFINED__
   3947 typedef interface IAMOpenProgress IAMOpenProgress;
   3948 #endif
   3949 
   3950 #ifndef __IAMOverlayFX_FWD_DEFINED__
   3951 #define __IAMOverlayFX_FWD_DEFINED__
   3952 typedef interface IAMOverlayFX IAMOverlayFX;
   3953 #endif
   3954 
   3955 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
   3956 #define __IAMPhysicalPinInfo_FWD_DEFINED__
   3957 typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
   3958 #endif
   3959 
   3960 #ifndef __IAMPushSource_FWD_DEFINED__
   3961 #define __IAMPushSource_FWD_DEFINED__
   3962 typedef interface IAMPushSource IAMPushSource;
   3963 #endif
   3964 
   3965 #ifndef __IAMStreamConfig_FWD_DEFINED__
   3966 #define __IAMStreamConfig_FWD_DEFINED__
   3967 typedef interface IAMStreamConfig IAMStreamConfig;
   3968 #endif
   3969 
   3970 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
   3971 #define __IAMTimecodeDisplay_FWD_DEFINED__
   3972 typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
   3973 #endif
   3974 
   3975 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
   3976 #define __IAMTimecodeGenerator_FWD_DEFINED__
   3977 typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
   3978 #endif
   3979 
   3980 #ifndef __IAMTimecodeReader_FWD_DEFINED__
   3981 #define __IAMTimecodeReader_FWD_DEFINED__
   3982 typedef interface IAMTimecodeReader IAMTimecodeReader;
   3983 #endif
   3984 
   3985 #ifndef __IAMTVTuner_FWD_DEFINED__
   3986 #define __IAMTVTuner_FWD_DEFINED__
   3987 typedef interface IAMTVTuner IAMTVTuner;
   3988 #endif
   3989 
   3990 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
   3991 #define __IAMVfwCaptureDialogs_FWD_DEFINED__
   3992 typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
   3993 #endif
   3994 
   3995 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
   3996 #define __IAMVfwCompressDialogs_FWD_DEFINED__
   3997 typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
   3998 #endif
   3999 
   4000 #ifndef __IAMVideoCompression_FWD_DEFINED__
   4001 #define __IAMVideoCompression_FWD_DEFINED__
   4002 typedef interface IAMVideoCompression IAMVideoCompression;
   4003 #endif
   4004 
   4005 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
   4006 #define __IAMVideoDecimationProperties_FWD_DEFINED__
   4007 typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
   4008 #endif
   4009 
   4010 #ifndef __IAMVideoProcAmp_FWD_DEFINED__
   4011 #define __IAMVideoProcAmp_FWD_DEFINED__
   4012 typedef interface IAMVideoProcAmp IAMVideoProcAmp;
   4013 #endif
   4014 
   4015 #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
   4016 #define __IAMGraphBuilderCallback_FWD_DEFINED__
   4017 typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
   4018 #endif
   4019 
   4020 #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
   4021 #define __ICaptureGraphBuilder_FWD_DEFINED__
   4022 typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
   4023 #endif
   4024 
   4025 #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
   4026 #define __ICaptureGraphBuilder2_FWD_DEFINED__
   4027 typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
   4028 #endif
   4029 
   4030 #ifndef __IConfigAviMux_FWD_DEFINED__
   4031 #define __IConfigAviMux_FWD_DEFINED__
   4032 typedef interface IConfigAviMux IConfigAviMux;
   4033 #endif
   4034 
   4035 #ifndef __IConfigInterleaving_FWD_DEFINED__
   4036 #define __IConfigInterleaving_FWD_DEFINED__
   4037 typedef interface IConfigInterleaving IConfigInterleaving;
   4038 #endif
   4039 
   4040 #ifndef __IDecimateVideoImage_FWD_DEFINED__
   4041 #define __IDecimateVideoImage_FWD_DEFINED__
   4042 typedef interface IDecimateVideoImage IDecimateVideoImage;
   4043 #endif
   4044 
   4045 #ifndef __IDrawVideoImage_FWD_DEFINED__
   4046 #define __IDrawVideoImage_FWD_DEFINED__
   4047 typedef interface IDrawVideoImage IDrawVideoImage;
   4048 #endif
   4049 
   4050 #ifndef __IEnumRegFilters_FWD_DEFINED__
   4051 #define __IEnumRegFilters_FWD_DEFINED__
   4052 typedef interface IEnumRegFilters IEnumRegFilters;
   4053 #endif
   4054 
   4055 #ifndef __IEnumStreamIdMap_FWD_DEFINED__
   4056 #define __IEnumStreamIdMap_FWD_DEFINED__
   4057 typedef interface IEnumStreamIdMap IEnumStreamIdMap;
   4058 #endif
   4059 
   4060 #ifndef __IFileSourceFilter_FWD_DEFINED__
   4061 #define __IFileSourceFilter_FWD_DEFINED__
   4062 typedef interface IFileSourceFilter IFileSourceFilter;
   4063 #endif
   4064 
   4065 #ifndef __IFileSinkFilter_FWD_DEFINED__
   4066 #define __IFileSinkFilter_FWD_DEFINED__
   4067 typedef interface IFileSinkFilter IFileSinkFilter;
   4068 #endif
   4069 
   4070 #ifndef __IFileSinkFilter2_FWD_DEFINED__
   4071 #define __IFileSinkFilter2_FWD_DEFINED__
   4072 typedef interface IFileSinkFilter2 IFileSinkFilter2;
   4073 #endif
   4074 
   4075 #ifndef __IFilterMapper_FWD_DEFINED__
   4076 #define __IFilterMapper_FWD_DEFINED__
   4077 typedef interface IFilterMapper IFilterMapper;
   4078 #endif
   4079 
   4080 #ifndef __IFilterMapper2_FWD_DEFINED__
   4081 #define __IFilterMapper2_FWD_DEFINED__
   4082 typedef interface IFilterMapper2 IFilterMapper2;
   4083 #endif
   4084 
   4085 #ifndef __IGraphBuilder_FWD_DEFINED__
   4086 #define __IGraphBuilder_FWD_DEFINED__
   4087 typedef interface IGraphBuilder IGraphBuilder;
   4088 #endif
   4089 
   4090 #ifndef __IKsPropertySet_FWD_DEFINED__
   4091 #define __IKsPropertySet_FWD_DEFINED__
   4092 typedef interface IKsPropertySet IKsPropertySet;
   4093 #endif
   4094 
   4095 #ifndef __IMediaEventSink_FWD_DEFINED__
   4096 #define __IMediaEventSink_FWD_DEFINED__
   4097 typedef interface IMediaEventSink IMediaEventSink;
   4098 #endif
   4099 
   4100 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
   4101 #define __IMpeg2Demultiplexer_FWD_DEFINED__
   4102 typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
   4103 #endif
   4104 
   4105 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
   4106 #define __IMPEG2StreamIdMap_FWD_DEFINED__
   4107 typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
   4108 #endif
   4109 
   4110 #ifndef __IOverlay_FWD_DEFINED__
   4111 #define __IOverlay_FWD_DEFINED__
   4112 typedef interface IOverlay IOverlay;
   4113 #endif
   4114 
   4115 #ifndef __IOverlayNotify_FWD_DEFINED__
   4116 #define __IOverlayNotify_FWD_DEFINED__
   4117 typedef interface IOverlayNotify IOverlayNotify;
   4118 #endif
   4119 
   4120 #ifndef __IOverlayNotify2_FWD_DEFINED__
   4121 #define __IOverlayNotify2_FWD_DEFINED__
   4122 typedef interface IOverlayNotify2 IOverlayNotify2;
   4123 #endif
   4124 
   4125 #ifndef __IQualityControl_FWD_DEFINED__
   4126 #define __IQualityControl_FWD_DEFINED__
   4127 typedef interface IQualityControl IQualityControl;
   4128 #endif
   4129 
   4130 #ifndef __ISeekingPassThru_FWD_DEFINED__
   4131 #define __ISeekingPassThru_FWD_DEFINED__
   4132 typedef interface ISeekingPassThru ISeekingPassThru;
   4133 #endif
   4134 
   4135 typedef struct __WIDL_axextend_generated_name_00000000 {
   4136     CLSID Clsid;
   4137     LPWSTR Name;
   4138 } REGFILTER;
   4139 /*****************************************************************************
   4140  * IEnumRegFilters interface
   4141  */
   4142 #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
   4143 #define __IEnumRegFilters_INTERFACE_DEFINED__
   4144 
   4145 DEFINE_GUID(IID_IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   4146 #if defined(__cplusplus) && !defined(CINTERFACE)
   4147 MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
   4148 IEnumRegFilters : public IUnknown
   4149 {
   4150     virtual HRESULT STDMETHODCALLTYPE Next(
   4151         ULONG cFilters,
   4152         REGFILTER **apRegFilter,
   4153         ULONG *pcFetched) = 0;
   4154 
   4155     virtual HRESULT STDMETHODCALLTYPE Skip(
   4156         ULONG cFilters) = 0;
   4157 
   4158     virtual HRESULT STDMETHODCALLTYPE Reset(
   4159         ) = 0;
   4160 
   4161     virtual HRESULT STDMETHODCALLTYPE Clone(
   4162         IEnumRegFilters **ppEnum) = 0;
   4163 
   4164 };
   4165 #ifdef __CRT_UUID_DECL
   4166 __CRT_UUID_DECL(IEnumRegFilters, 0x56a868a4, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   4167 #endif
   4168 #else
   4169 typedef struct IEnumRegFiltersVtbl {
   4170     BEGIN_INTERFACE
   4171 
   4172     /*** IUnknown methods ***/
   4173     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4174         IEnumRegFilters* This,
   4175         REFIID riid,
   4176         void **ppvObject);
   4177 
   4178     ULONG (STDMETHODCALLTYPE *AddRef)(
   4179         IEnumRegFilters* This);
   4180 
   4181     ULONG (STDMETHODCALLTYPE *Release)(
   4182         IEnumRegFilters* This);
   4183 
   4184     /*** IEnumRegFilters methods ***/
   4185     HRESULT (STDMETHODCALLTYPE *Next)(
   4186         IEnumRegFilters* This,
   4187         ULONG cFilters,
   4188         REGFILTER **apRegFilter,
   4189         ULONG *pcFetched);
   4190 
   4191     HRESULT (STDMETHODCALLTYPE *Skip)(
   4192         IEnumRegFilters* This,
   4193         ULONG cFilters);
   4194 
   4195     HRESULT (STDMETHODCALLTYPE *Reset)(
   4196         IEnumRegFilters* This);
   4197 
   4198     HRESULT (STDMETHODCALLTYPE *Clone)(
   4199         IEnumRegFilters* This,
   4200         IEnumRegFilters **ppEnum);
   4201 
   4202     END_INTERFACE
   4203 } IEnumRegFiltersVtbl;
   4204 interface IEnumRegFilters {
   4205     CONST_VTBL IEnumRegFiltersVtbl* lpVtbl;
   4206 };
   4207 
   4208 #ifdef COBJMACROS
   4209 #ifndef WIDL_C_INLINE_WRAPPERS
   4210 /*** IUnknown methods ***/
   4211 #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4212 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
   4213 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This)
   4214 /*** IEnumRegFilters methods ***/
   4215 #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) (This)->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched)
   4216 #define IEnumRegFilters_Skip(This,cFilters) (This)->lpVtbl->Skip(This,cFilters)
   4217 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This)
   4218 #define IEnumRegFilters_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   4219 #else
   4220 /*** IUnknown methods ***/
   4221 static FORCEINLINE HRESULT IEnumRegFilters_QueryInterface(IEnumRegFilters* This,REFIID riid,void **ppvObject) {
   4222     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4223 }
   4224 static FORCEINLINE ULONG IEnumRegFilters_AddRef(IEnumRegFilters* This) {
   4225     return This->lpVtbl->AddRef(This);
   4226 }
   4227 static FORCEINLINE ULONG IEnumRegFilters_Release(IEnumRegFilters* This) {
   4228     return This->lpVtbl->Release(This);
   4229 }
   4230 /*** IEnumRegFilters methods ***/
   4231 static FORCEINLINE HRESULT IEnumRegFilters_Next(IEnumRegFilters* This,ULONG cFilters,REGFILTER **apRegFilter,ULONG *pcFetched) {
   4232     return This->lpVtbl->Next(This,cFilters,apRegFilter,pcFetched);
   4233 }
   4234 static FORCEINLINE HRESULT IEnumRegFilters_Skip(IEnumRegFilters* This,ULONG cFilters) {
   4235     return This->lpVtbl->Skip(This,cFilters);
   4236 }
   4237 static FORCEINLINE HRESULT IEnumRegFilters_Reset(IEnumRegFilters* This) {
   4238     return This->lpVtbl->Reset(This);
   4239 }
   4240 static FORCEINLINE HRESULT IEnumRegFilters_Clone(IEnumRegFilters* This,IEnumRegFilters **ppEnum) {
   4241     return This->lpVtbl->Clone(This,ppEnum);
   4242 }
   4243 #endif
   4244 #endif
   4245 
   4246 #endif
   4247 
   4248 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy(
   4249     IEnumRegFilters* This,
   4250     ULONG cFilters,
   4251     REGFILTER **apRegFilter,
   4252     ULONG *pcFetched);
   4253 void __RPC_STUB IEnumRegFilters_Next_Stub(
   4254     IRpcStubBuffer* This,
   4255     IRpcChannelBuffer* pRpcChannelBuffer,
   4256     PRPC_MESSAGE pRpcMessage,
   4257     DWORD* pdwStubPhase);
   4258 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy(
   4259     IEnumRegFilters* This,
   4260     ULONG cFilters);
   4261 void __RPC_STUB IEnumRegFilters_Skip_Stub(
   4262     IRpcStubBuffer* This,
   4263     IRpcChannelBuffer* pRpcChannelBuffer,
   4264     PRPC_MESSAGE pRpcMessage,
   4265     DWORD* pdwStubPhase);
   4266 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy(
   4267     IEnumRegFilters* This);
   4268 void __RPC_STUB IEnumRegFilters_Reset_Stub(
   4269     IRpcStubBuffer* This,
   4270     IRpcChannelBuffer* pRpcChannelBuffer,
   4271     PRPC_MESSAGE pRpcMessage,
   4272     DWORD* pdwStubPhase);
   4273 HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy(
   4274     IEnumRegFilters* This,
   4275     IEnumRegFilters **ppEnum);
   4276 void __RPC_STUB IEnumRegFilters_Clone_Stub(
   4277     IRpcStubBuffer* This,
   4278     IRpcChannelBuffer* pRpcChannelBuffer,
   4279     PRPC_MESSAGE pRpcMessage,
   4280     DWORD* pdwStubPhase);
   4281 
   4282 #endif  /* __IEnumRegFilters_INTERFACE_DEFINED__ */
   4283 
   4284 typedef IEnumRegFilters *PENUMREGFILTERS;
   4285 /*****************************************************************************
   4286  * IFilterMapper interface
   4287  */
   4288 #ifndef __IFilterMapper_INTERFACE_DEFINED__
   4289 #define __IFilterMapper_INTERFACE_DEFINED__
   4290 
   4291 enum {
   4292     MERIT_PREFERRED = 0x800000,
   4293     MERIT_NORMAL = 0x600000,
   4294     MERIT_UNLIKELY = 0x400000,
   4295     MERIT_DO_NOT_USE = 0x200000,
   4296     MERIT_SW_COMPRESSOR = 0x100000,
   4297     MERIT_HW_COMPRESSOR = 0x100050
   4298 };
   4299 
   4300 DEFINE_GUID(IID_IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   4301 #if defined(__cplusplus) && !defined(CINTERFACE)
   4302 MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
   4303 IFilterMapper : public IUnknown
   4304 {
   4305     virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
   4306         CLSID clsid,
   4307         LPCWSTR Name,
   4308         DWORD dwMerit) = 0;
   4309 
   4310     virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance(
   4311         CLSID clsid,
   4312         LPCWSTR Name,
   4313         CLSID *MRId) = 0;
   4314 
   4315     virtual HRESULT STDMETHODCALLTYPE RegisterPin(
   4316         CLSID Filter,
   4317         LPCWSTR Name,
   4318         WINBOOL bRendered,
   4319         WINBOOL bOutput,
   4320         WINBOOL bZero,
   4321         WINBOOL bMany,
   4322         CLSID ConnectsToFilter,
   4323         LPCWSTR ConnectsToPin) = 0;
   4324 
   4325     virtual HRESULT STDMETHODCALLTYPE RegisterPinType(
   4326         CLSID clsFilter,
   4327         LPCWSTR strName,
   4328         CLSID clsMajorType,
   4329         CLSID clsSubType) = 0;
   4330 
   4331     virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
   4332         CLSID Filter) = 0;
   4333 
   4334     virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance(
   4335         CLSID MRId) = 0;
   4336 
   4337     virtual HRESULT STDMETHODCALLTYPE UnregisterPin(
   4338         CLSID Filter,
   4339         LPCWSTR Name) = 0;
   4340 
   4341     virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
   4342         IEnumRegFilters **ppEnum,
   4343         DWORD dwMerit,
   4344         WINBOOL bInputNeeded,
   4345         CLSID clsInMaj,
   4346         CLSID clsInSub,
   4347         WINBOOL bRender,
   4348         WINBOOL bOututNeeded,
   4349         CLSID clsOutMaj,
   4350         CLSID clsOutSub) = 0;
   4351 
   4352 };
   4353 #ifdef __CRT_UUID_DECL
   4354 __CRT_UUID_DECL(IFilterMapper, 0x56a868a3, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   4355 #endif
   4356 #else
   4357 typedef struct IFilterMapperVtbl {
   4358     BEGIN_INTERFACE
   4359 
   4360     /*** IUnknown methods ***/
   4361     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4362         IFilterMapper* This,
   4363         REFIID riid,
   4364         void **ppvObject);
   4365 
   4366     ULONG (STDMETHODCALLTYPE *AddRef)(
   4367         IFilterMapper* This);
   4368 
   4369     ULONG (STDMETHODCALLTYPE *Release)(
   4370         IFilterMapper* This);
   4371 
   4372     /*** IFilterMapper methods ***/
   4373     HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
   4374         IFilterMapper* This,
   4375         CLSID clsid,
   4376         LPCWSTR Name,
   4377         DWORD dwMerit);
   4378 
   4379     HRESULT (STDMETHODCALLTYPE *RegisterFilterInstance)(
   4380         IFilterMapper* This,
   4381         CLSID clsid,
   4382         LPCWSTR Name,
   4383         CLSID *MRId);
   4384 
   4385     HRESULT (STDMETHODCALLTYPE *RegisterPin)(
   4386         IFilterMapper* This,
   4387         CLSID Filter,
   4388         LPCWSTR Name,
   4389         WINBOOL bRendered,
   4390         WINBOOL bOutput,
   4391         WINBOOL bZero,
   4392         WINBOOL bMany,
   4393         CLSID ConnectsToFilter,
   4394         LPCWSTR ConnectsToPin);
   4395 
   4396     HRESULT (STDMETHODCALLTYPE *RegisterPinType)(
   4397         IFilterMapper* This,
   4398         CLSID clsFilter,
   4399         LPCWSTR strName,
   4400         CLSID clsMajorType,
   4401         CLSID clsSubType);
   4402 
   4403     HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
   4404         IFilterMapper* This,
   4405         CLSID Filter);
   4406 
   4407     HRESULT (STDMETHODCALLTYPE *UnregisterFilterInstance)(
   4408         IFilterMapper* This,
   4409         CLSID MRId);
   4410 
   4411     HRESULT (STDMETHODCALLTYPE *UnregisterPin)(
   4412         IFilterMapper* This,
   4413         CLSID Filter,
   4414         LPCWSTR Name);
   4415 
   4416     HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
   4417         IFilterMapper* This,
   4418         IEnumRegFilters **ppEnum,
   4419         DWORD dwMerit,
   4420         WINBOOL bInputNeeded,
   4421         CLSID clsInMaj,
   4422         CLSID clsInSub,
   4423         WINBOOL bRender,
   4424         WINBOOL bOututNeeded,
   4425         CLSID clsOutMaj,
   4426         CLSID clsOutSub);
   4427 
   4428     END_INTERFACE
   4429 } IFilterMapperVtbl;
   4430 interface IFilterMapper {
   4431     CONST_VTBL IFilterMapperVtbl* lpVtbl;
   4432 };
   4433 
   4434 #ifdef COBJMACROS
   4435 #ifndef WIDL_C_INLINE_WRAPPERS
   4436 /*** IUnknown methods ***/
   4437 #define IFilterMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4438 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This)
   4439 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This)
   4440 /*** IFilterMapper methods ***/
   4441 #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) (This)->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit)
   4442 #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) (This)->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId)
   4443 #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) (This)->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
   4444 #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) (This)->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
   4445 #define IFilterMapper_UnregisterFilter(This,Filter) (This)->lpVtbl->UnregisterFilter(This,Filter)
   4446 #define IFilterMapper_UnregisterFilterInstance(This,MRId) (This)->lpVtbl->UnregisterFilterInstance(This,MRId)
   4447 #define IFilterMapper_UnregisterPin(This,Filter,Name) (This)->lpVtbl->UnregisterPin(This,Filter,Name)
   4448 #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub) (This)->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
   4449 #else
   4450 /*** IUnknown methods ***/
   4451 static FORCEINLINE HRESULT IFilterMapper_QueryInterface(IFilterMapper* This,REFIID riid,void **ppvObject) {
   4452     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4453 }
   4454 static FORCEINLINE ULONG IFilterMapper_AddRef(IFilterMapper* This) {
   4455     return This->lpVtbl->AddRef(This);
   4456 }
   4457 static FORCEINLINE ULONG IFilterMapper_Release(IFilterMapper* This) {
   4458     return This->lpVtbl->Release(This);
   4459 }
   4460 /*** IFilterMapper methods ***/
   4461 static FORCEINLINE HRESULT IFilterMapper_RegisterFilter(IFilterMapper* This,CLSID clsid,LPCWSTR Name,DWORD dwMerit) {
   4462     return This->lpVtbl->RegisterFilter(This,clsid,Name,dwMerit);
   4463 }
   4464 static FORCEINLINE HRESULT IFilterMapper_RegisterFilterInstance(IFilterMapper* This,CLSID clsid,LPCWSTR Name,CLSID *MRId) {
   4465     return This->lpVtbl->RegisterFilterInstance(This,clsid,Name,MRId);
   4466 }
   4467 static FORCEINLINE HRESULT IFilterMapper_RegisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name,WINBOOL bRendered,WINBOOL bOutput,WINBOOL bZero,WINBOOL bMany,CLSID ConnectsToFilter,LPCWSTR ConnectsToPin) {
   4468     return This->lpVtbl->RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin);
   4469 }
   4470 static FORCEINLINE HRESULT IFilterMapper_RegisterPinType(IFilterMapper* This,CLSID clsFilter,LPCWSTR strName,CLSID clsMajorType,CLSID clsSubType) {
   4471     return This->lpVtbl->RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType);
   4472 }
   4473 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilter(IFilterMapper* This,CLSID Filter) {
   4474     return This->lpVtbl->UnregisterFilter(This,Filter);
   4475 }
   4476 static FORCEINLINE HRESULT IFilterMapper_UnregisterFilterInstance(IFilterMapper* This,CLSID MRId) {
   4477     return This->lpVtbl->UnregisterFilterInstance(This,MRId);
   4478 }
   4479 static FORCEINLINE HRESULT IFilterMapper_UnregisterPin(IFilterMapper* This,CLSID Filter,LPCWSTR Name) {
   4480     return This->lpVtbl->UnregisterPin(This,Filter,Name);
   4481 }
   4482 static FORCEINLINE HRESULT IFilterMapper_EnumMatchingFilters(IFilterMapper* This,IEnumRegFilters **ppEnum,DWORD dwMerit,WINBOOL bInputNeeded,CLSID clsInMaj,CLSID clsInSub,WINBOOL bRender,WINBOOL bOututNeeded,CLSID clsOutMaj,CLSID clsOutSub) {
   4483     return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub);
   4484 }
   4485 #endif
   4486 #endif
   4487 
   4488 #endif
   4489 
   4490 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy(
   4491     IFilterMapper* This,
   4492     CLSID clsid,
   4493     LPCWSTR Name,
   4494     DWORD dwMerit);
   4495 void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
   4496     IRpcStubBuffer* This,
   4497     IRpcChannelBuffer* pRpcChannelBuffer,
   4498     PRPC_MESSAGE pRpcMessage,
   4499     DWORD* pdwStubPhase);
   4500 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy(
   4501     IFilterMapper* This,
   4502     CLSID clsid,
   4503     LPCWSTR Name,
   4504     CLSID *MRId);
   4505 void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
   4506     IRpcStubBuffer* This,
   4507     IRpcChannelBuffer* pRpcChannelBuffer,
   4508     PRPC_MESSAGE pRpcMessage,
   4509     DWORD* pdwStubPhase);
   4510 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy(
   4511     IFilterMapper* This,
   4512     CLSID Filter,
   4513     LPCWSTR Name,
   4514     WINBOOL bRendered,
   4515     WINBOOL bOutput,
   4516     WINBOOL bZero,
   4517     WINBOOL bMany,
   4518     CLSID ConnectsToFilter,
   4519     LPCWSTR ConnectsToPin);
   4520 void __RPC_STUB IFilterMapper_RegisterPin_Stub(
   4521     IRpcStubBuffer* This,
   4522     IRpcChannelBuffer* pRpcChannelBuffer,
   4523     PRPC_MESSAGE pRpcMessage,
   4524     DWORD* pdwStubPhase);
   4525 HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy(
   4526     IFilterMapper* This,
   4527     CLSID clsFilter,
   4528     LPCWSTR strName,
   4529     CLSID clsMajorType,
   4530     CLSID clsSubType);
   4531 void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
   4532     IRpcStubBuffer* This,
   4533     IRpcChannelBuffer* pRpcChannelBuffer,
   4534     PRPC_MESSAGE pRpcMessage,
   4535     DWORD* pdwStubPhase);
   4536 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy(
   4537     IFilterMapper* This,
   4538     CLSID Filter);
   4539 void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
   4540     IRpcStubBuffer* This,
   4541     IRpcChannelBuffer* pRpcChannelBuffer,
   4542     PRPC_MESSAGE pRpcMessage,
   4543     DWORD* pdwStubPhase);
   4544 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy(
   4545     IFilterMapper* This,
   4546     CLSID MRId);
   4547 void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
   4548     IRpcStubBuffer* This,
   4549     IRpcChannelBuffer* pRpcChannelBuffer,
   4550     PRPC_MESSAGE pRpcMessage,
   4551     DWORD* pdwStubPhase);
   4552 HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy(
   4553     IFilterMapper* This,
   4554     CLSID Filter,
   4555     LPCWSTR Name);
   4556 void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
   4557     IRpcStubBuffer* This,
   4558     IRpcChannelBuffer* pRpcChannelBuffer,
   4559     PRPC_MESSAGE pRpcMessage,
   4560     DWORD* pdwStubPhase);
   4561 HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy(
   4562     IFilterMapper* This,
   4563     IEnumRegFilters **ppEnum,
   4564     DWORD dwMerit,
   4565     WINBOOL bInputNeeded,
   4566     CLSID clsInMaj,
   4567     CLSID clsInSub,
   4568     WINBOOL bRender,
   4569     WINBOOL bOututNeeded,
   4570     CLSID clsOutMaj,
   4571     CLSID clsOutSub);
   4572 void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
   4573     IRpcStubBuffer* This,
   4574     IRpcChannelBuffer* pRpcChannelBuffer,
   4575     PRPC_MESSAGE pRpcMessage,
   4576     DWORD* pdwStubPhase);
   4577 
   4578 #endif  /* __IFilterMapper_INTERFACE_DEFINED__ */
   4579 
   4580 typedef struct __WIDL_axextend_generated_name_00000001 {
   4581     const CLSID *clsMajorType;
   4582     const CLSID *clsMinorType;
   4583 } REGPINTYPES;
   4584 typedef struct __WIDL_axextend_generated_name_00000002 {
   4585     LPWSTR strName;
   4586     WINBOOL bRendered;
   4587     WINBOOL bOutput;
   4588     WINBOOL bZero;
   4589     WINBOOL bMany;
   4590     const CLSID *clsConnectsToFilter;
   4591     const WCHAR *strConnectsToPin;
   4592     UINT nMediaTypes;
   4593     const REGPINTYPES *lpMediaType;
   4594 } REGFILTERPINS;
   4595 typedef struct __WIDL_axextend_generated_name_00000003 {
   4596     CLSID clsMedium;
   4597     DWORD dw1;
   4598     DWORD dw2;
   4599 } REGPINMEDIUM;
   4600 enum {
   4601     REG_PINFLAG_B_ZERO = 0x1,
   4602     REG_PINFLAG_B_RENDERER = 0x2,
   4603     REG_PINFLAG_B_MANY = 0x4,
   4604     REG_PINFLAG_B_OUTPUT = 0x8
   4605 };
   4606 
   4607 typedef struct __WIDL_axextend_generated_name_00000004 {
   4608     DWORD dwFlags;
   4609     UINT cInstances;
   4610     UINT nMediaTypes;
   4611     const REGPINTYPES *lpMediaType;
   4612     UINT nMediums;
   4613     const REGPINMEDIUM *lpMedium;
   4614     const CLSID *clsPinCategory;
   4615 } REGFILTERPINS2;
   4616 typedef struct __WIDL_axextend_generated_name_00000005 {
   4617     DWORD dwVersion;
   4618     DWORD dwMerit;
   4619     __C89_NAMELESS union {
   4620         __C89_NAMELESS struct {
   4621             ULONG cPins;
   4622             const REGFILTERPINS *rgPins;
   4623         } __C89_NAMELESSSTRUCTNAME1;
   4624         __C89_NAMELESS struct {
   4625             ULONG cPins2;
   4626             const REGFILTERPINS2 *rgPins2;
   4627         } __C89_NAMELESSSTRUCTNAME2;
   4628     } __C89_NAMELESSUNIONNAME;
   4629 } REGFILTER2;
   4630 /*****************************************************************************
   4631  * IFilterMapper2 interface
   4632  */
   4633 #ifndef __IFilterMapper2_INTERFACE_DEFINED__
   4634 #define __IFilterMapper2_INTERFACE_DEFINED__
   4635 
   4636 DEFINE_GUID(IID_IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   4637 #if defined(__cplusplus) && !defined(CINTERFACE)
   4638 MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
   4639 IFilterMapper2 : public IUnknown
   4640 {
   4641     virtual HRESULT STDMETHODCALLTYPE CreateCategory(
   4642         REFCLSID clsidCategory,
   4643         DWORD dwCategoryMerit,
   4644         LPCWSTR Description) = 0;
   4645 
   4646     virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
   4647         const CLSID *pclsidCategory,
   4648         LPCOLESTR szInstance,
   4649         REFCLSID Filter) = 0;
   4650 
   4651     virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
   4652         REFCLSID clsidFilter,
   4653         LPCWSTR Name,
   4654         IMoniker **ppMoniker,
   4655         const CLSID *pclsidCategory,
   4656         LPCOLESTR szInstance,
   4657         const REGFILTER2 *prf2) = 0;
   4658 
   4659     virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
   4660         IEnumMoniker **ppEnum,
   4661         DWORD dwFlags,
   4662         WINBOOL bExactMatch,
   4663         DWORD dwMerit,
   4664         WINBOOL bInputNeeded,
   4665         DWORD cInputTypes,
   4666         const GUID *pInputTypes,
   4667         const REGPINMEDIUM *pMedIn,
   4668         const CLSID *pPinCategoryIn,
   4669         WINBOOL bRender,
   4670         WINBOOL bOutputNeeded,
   4671         DWORD cOutputTypes,
   4672         const GUID *pOutputTypes,
   4673         const REGPINMEDIUM *pMedOut,
   4674         const CLSID *pPinCategoryOut) = 0;
   4675 
   4676 };
   4677 #ifdef __CRT_UUID_DECL
   4678 __CRT_UUID_DECL(IFilterMapper2, 0xb79bb0b0, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   4679 #endif
   4680 #else
   4681 typedef struct IFilterMapper2Vtbl {
   4682     BEGIN_INTERFACE
   4683 
   4684     /*** IUnknown methods ***/
   4685     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4686         IFilterMapper2* This,
   4687         REFIID riid,
   4688         void **ppvObject);
   4689 
   4690     ULONG (STDMETHODCALLTYPE *AddRef)(
   4691         IFilterMapper2* This);
   4692 
   4693     ULONG (STDMETHODCALLTYPE *Release)(
   4694         IFilterMapper2* This);
   4695 
   4696     /*** IFilterMapper2 methods ***/
   4697     HRESULT (STDMETHODCALLTYPE *CreateCategory)(
   4698         IFilterMapper2* This,
   4699         REFCLSID clsidCategory,
   4700         DWORD dwCategoryMerit,
   4701         LPCWSTR Description);
   4702 
   4703     HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
   4704         IFilterMapper2* This,
   4705         const CLSID *pclsidCategory,
   4706         LPCOLESTR szInstance,
   4707         REFCLSID Filter);
   4708 
   4709     HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
   4710         IFilterMapper2* This,
   4711         REFCLSID clsidFilter,
   4712         LPCWSTR Name,
   4713         IMoniker **ppMoniker,
   4714         const CLSID *pclsidCategory,
   4715         LPCOLESTR szInstance,
   4716         const REGFILTER2 *prf2);
   4717 
   4718     HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
   4719         IFilterMapper2* This,
   4720         IEnumMoniker **ppEnum,
   4721         DWORD dwFlags,
   4722         WINBOOL bExactMatch,
   4723         DWORD dwMerit,
   4724         WINBOOL bInputNeeded,
   4725         DWORD cInputTypes,
   4726         const GUID *pInputTypes,
   4727         const REGPINMEDIUM *pMedIn,
   4728         const CLSID *pPinCategoryIn,
   4729         WINBOOL bRender,
   4730         WINBOOL bOutputNeeded,
   4731         DWORD cOutputTypes,
   4732         const GUID *pOutputTypes,
   4733         const REGPINMEDIUM *pMedOut,
   4734         const CLSID *pPinCategoryOut);
   4735 
   4736     END_INTERFACE
   4737 } IFilterMapper2Vtbl;
   4738 interface IFilterMapper2 {
   4739     CONST_VTBL IFilterMapper2Vtbl* lpVtbl;
   4740 };
   4741 
   4742 #ifdef COBJMACROS
   4743 #ifndef WIDL_C_INLINE_WRAPPERS
   4744 /*** IUnknown methods ***/
   4745 #define IFilterMapper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4746 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This)
   4747 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This)
   4748 /*** IFilterMapper2 methods ***/
   4749 #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
   4750 #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
   4751 #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
   4752 #define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut) (This)->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
   4753 #else
   4754 /*** IUnknown methods ***/
   4755 static FORCEINLINE HRESULT IFilterMapper2_QueryInterface(IFilterMapper2* This,REFIID riid,void **ppvObject) {
   4756     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4757 }
   4758 static FORCEINLINE ULONG IFilterMapper2_AddRef(IFilterMapper2* This) {
   4759     return This->lpVtbl->AddRef(This);
   4760 }
   4761 static FORCEINLINE ULONG IFilterMapper2_Release(IFilterMapper2* This) {
   4762     return This->lpVtbl->Release(This);
   4763 }
   4764 /*** IFilterMapper2 methods ***/
   4765 static FORCEINLINE HRESULT IFilterMapper2_CreateCategory(IFilterMapper2* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) {
   4766     return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description);
   4767 }
   4768 static FORCEINLINE HRESULT IFilterMapper2_UnregisterFilter(IFilterMapper2* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) {
   4769     return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter);
   4770 }
   4771 static FORCEINLINE HRESULT IFilterMapper2_RegisterFilter(IFilterMapper2* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) {
   4772     return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2);
   4773 }
   4774 static FORCEINLINE HRESULT IFilterMapper2_EnumMatchingFilters(IFilterMapper2* This,IEnumMoniker **ppEnum,DWORD dwFlags,WINBOOL bExactMatch,DWORD dwMerit,WINBOOL bInputNeeded,DWORD cInputTypes,const GUID *pInputTypes,const REGPINMEDIUM *pMedIn,const CLSID *pPinCategoryIn,WINBOOL bRender,WINBOOL bOutputNeeded,DWORD cOutputTypes,const GUID *pOutputTypes,const REGPINMEDIUM *pMedOut,const CLSID *pPinCategoryOut) {
   4775     return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut);
   4776 }
   4777 #endif
   4778 #endif
   4779 
   4780 #endif
   4781 
   4782 HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy(
   4783     IFilterMapper2* This,
   4784     REFCLSID clsidCategory,
   4785     DWORD dwCategoryMerit,
   4786     LPCWSTR Description);
   4787 void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
   4788     IRpcStubBuffer* This,
   4789     IRpcChannelBuffer* pRpcChannelBuffer,
   4790     PRPC_MESSAGE pRpcMessage,
   4791     DWORD* pdwStubPhase);
   4792 HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy(
   4793     IFilterMapper2* This,
   4794     const CLSID *pclsidCategory,
   4795     LPCOLESTR szInstance,
   4796     REFCLSID Filter);
   4797 void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
   4798     IRpcStubBuffer* This,
   4799     IRpcChannelBuffer* pRpcChannelBuffer,
   4800     PRPC_MESSAGE pRpcMessage,
   4801     DWORD* pdwStubPhase);
   4802 HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy(
   4803     IFilterMapper2* This,
   4804     REFCLSID clsidFilter,
   4805     LPCWSTR Name,
   4806     IMoniker **ppMoniker,
   4807     const CLSID *pclsidCategory,
   4808     LPCOLESTR szInstance,
   4809     const REGFILTER2 *prf2);
   4810 void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
   4811     IRpcStubBuffer* This,
   4812     IRpcChannelBuffer* pRpcChannelBuffer,
   4813     PRPC_MESSAGE pRpcMessage,
   4814     DWORD* pdwStubPhase);
   4815 HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy(
   4816     IFilterMapper2* This,
   4817     IEnumMoniker **ppEnum,
   4818     DWORD dwFlags,
   4819     WINBOOL bExactMatch,
   4820     DWORD dwMerit,
   4821     WINBOOL bInputNeeded,
   4822     DWORD cInputTypes,
   4823     const GUID *pInputTypes,
   4824     const REGPINMEDIUM *pMedIn,
   4825     const CLSID *pPinCategoryIn,
   4826     WINBOOL bRender,
   4827     WINBOOL bOutputNeeded,
   4828     DWORD cOutputTypes,
   4829     const GUID *pOutputTypes,
   4830     const REGPINMEDIUM *pMedOut,
   4831     const CLSID *pPinCategoryOut);
   4832 void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
   4833     IRpcStubBuffer* This,
   4834     IRpcChannelBuffer* pRpcChannelBuffer,
   4835     PRPC_MESSAGE pRpcMessage,
   4836     DWORD* pdwStubPhase);
   4837 
   4838 #endif  /* __IFilterMapper2_INTERFACE_DEFINED__ */
   4839 
   4840 /*****************************************************************************
   4841  * IFilterMapper3 interface
   4842  */
   4843 #ifndef __IFilterMapper3_INTERFACE_DEFINED__
   4844 #define __IFilterMapper3_INTERFACE_DEFINED__
   4845 
   4846 DEFINE_GUID(IID_IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   4847 #if defined(__cplusplus) && !defined(CINTERFACE)
   4848 MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
   4849 IFilterMapper3 : public IFilterMapper2
   4850 {
   4851     virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum(
   4852         ICreateDevEnum **ppEnum) = 0;
   4853 
   4854 };
   4855 #ifdef __CRT_UUID_DECL
   4856 __CRT_UUID_DECL(IFilterMapper3, 0xb79bb0b1, 0x33c1, 0x11d1, 0xab,0xe1, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   4857 #endif
   4858 #else
   4859 typedef struct IFilterMapper3Vtbl {
   4860     BEGIN_INTERFACE
   4861 
   4862     /*** IUnknown methods ***/
   4863     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4864         IFilterMapper3* This,
   4865         REFIID riid,
   4866         void **ppvObject);
   4867 
   4868     ULONG (STDMETHODCALLTYPE *AddRef)(
   4869         IFilterMapper3* This);
   4870 
   4871     ULONG (STDMETHODCALLTYPE *Release)(
   4872         IFilterMapper3* This);
   4873 
   4874     /*** IFilterMapper2 methods ***/
   4875     HRESULT (STDMETHODCALLTYPE *CreateCategory)(
   4876         IFilterMapper3* This,
   4877         REFCLSID clsidCategory,
   4878         DWORD dwCategoryMerit,
   4879         LPCWSTR Description);
   4880 
   4881     HRESULT (STDMETHODCALLTYPE *UnregisterFilter)(
   4882         IFilterMapper3* This,
   4883         const CLSID *pclsidCategory,
   4884         LPCOLESTR szInstance,
   4885         REFCLSID Filter);
   4886 
   4887     HRESULT (STDMETHODCALLTYPE *RegisterFilter)(
   4888         IFilterMapper3* This,
   4889         REFCLSID clsidFilter,
   4890         LPCWSTR Name,
   4891         IMoniker **ppMoniker,
   4892         const CLSID *pclsidCategory,
   4893         LPCOLESTR szInstance,
   4894         const REGFILTER2 *prf2);
   4895 
   4896     HRESULT (STDMETHODCALLTYPE *EnumMatchingFilters)(
   4897         IFilterMapper3* This,
   4898         IEnumMoniker **ppEnum,
   4899         DWORD dwFlags,
   4900         WINBOOL bExactMatch,
   4901         DWORD dwMerit,
   4902         WINBOOL bInputNeeded,
   4903         DWORD cInputTypes,
   4904         const GUID *pInputTypes,
   4905         const REGPINMEDIUM *pMedIn,
   4906         const CLSID *pPinCategoryIn,
   4907         WINBOOL bRender,
   4908         WINBOOL bOutputNeeded,
   4909         DWORD cOutputTypes,
   4910         const GUID *pOutputTypes,
   4911         const REGPINMEDIUM *pMedOut,
   4912         const CLSID *pPinCategoryOut);
   4913 
   4914     /*** IFilterMapper3 methods ***/
   4915     HRESULT (STDMETHODCALLTYPE *GetICreateDevEnum)(
   4916         IFilterMapper3* This,
   4917         ICreateDevEnum **ppEnum);
   4918 
   4919     END_INTERFACE
   4920 } IFilterMapper3Vtbl;
   4921 interface IFilterMapper3 {
   4922     CONST_VTBL IFilterMapper3Vtbl* lpVtbl;
   4923 };
   4924 
   4925 #ifdef COBJMACROS
   4926 #ifndef WIDL_C_INLINE_WRAPPERS
   4927 /*** IUnknown methods ***/
   4928 #define IFilterMapper3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4929 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This)
   4930 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This)
   4931 /*** IFilterMapper2 methods ***/
   4932 #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) (This)->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
   4933 #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) (This)->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter)
   4934 #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) (This)->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
   4935 #define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut) (This)->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
   4936 /*** IFilterMapper3 methods ***/
   4937 #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) (This)->lpVtbl->GetICreateDevEnum(This,ppEnum)
   4938 #else
   4939 /*** IUnknown methods ***/
   4940 static FORCEINLINE HRESULT IFilterMapper3_QueryInterface(IFilterMapper3* This,REFIID riid,void **ppvObject) {
   4941     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4942 }
   4943 static FORCEINLINE ULONG IFilterMapper3_AddRef(IFilterMapper3* This) {
   4944     return This->lpVtbl->AddRef(This);
   4945 }
   4946 static FORCEINLINE ULONG IFilterMapper3_Release(IFilterMapper3* This) {
   4947     return This->lpVtbl->Release(This);
   4948 }
   4949 /*** IFilterMapper2 methods ***/
   4950 static FORCEINLINE HRESULT IFilterMapper3_CreateCategory(IFilterMapper3* This,REFCLSID clsidCategory,DWORD dwCategoryMerit,LPCWSTR Description) {
   4951     return This->lpVtbl->CreateCategory(This,clsidCategory,dwCategoryMerit,Description);
   4952 }
   4953 static FORCEINLINE HRESULT IFilterMapper3_UnregisterFilter(IFilterMapper3* This,const CLSID *pclsidCategory,LPCOLESTR szInstance,REFCLSID Filter) {
   4954     return This->lpVtbl->UnregisterFilter(This,pclsidCategory,szInstance,Filter);
   4955 }
   4956 static FORCEINLINE HRESULT IFilterMapper3_RegisterFilter(IFilterMapper3* This,REFCLSID clsidFilter,LPCWSTR Name,IMoniker **ppMoniker,const CLSID *pclsidCategory,LPCOLESTR szInstance,const REGFILTER2 *prf2) {
   4957     return This->lpVtbl->RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2);
   4958 }
   4959 static FORCEINLINE HRESULT IFilterMapper3_EnumMatchingFilters(IFilterMapper3* This,IEnumMoniker **ppEnum,DWORD dwFlags,WINBOOL bExactMatch,DWORD dwMerit,WINBOOL bInputNeeded,DWORD cInputTypes,const GUID *pInputTypes,const REGPINMEDIUM *pMedIn,const CLSID *pPinCategoryIn,WINBOOL bRender,WINBOOL bOutputNeeded,DWORD cOutputTypes,const GUID *pOutputTypes,const REGPINMEDIUM *pMedOut,const CLSID *pPinCategoryOut) {
   4960     return This->lpVtbl->EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut);
   4961 }
   4962 /*** IFilterMapper3 methods ***/
   4963 static FORCEINLINE HRESULT IFilterMapper3_GetICreateDevEnum(IFilterMapper3* This,ICreateDevEnum **ppEnum) {
   4964     return This->lpVtbl->GetICreateDevEnum(This,ppEnum);
   4965 }
   4966 #endif
   4967 #endif
   4968 
   4969 #endif
   4970 
   4971 HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy(
   4972     IFilterMapper3* This,
   4973     ICreateDevEnum **ppEnum);
   4974 void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
   4975     IRpcStubBuffer* This,
   4976     IRpcChannelBuffer* pRpcChannelBuffer,
   4977     PRPC_MESSAGE pRpcMessage,
   4978     DWORD* pdwStubPhase);
   4979 
   4980 #endif  /* __IFilterMapper3_INTERFACE_DEFINED__ */
   4981 
   4982 typedef enum tagQualityMessageType {
   4983     Famine = 0,
   4984     Flood = 1
   4985 } QualityMessageType;
   4986 typedef struct tagQuality {
   4987     QualityMessageType Type;
   4988     LONG Proportion;
   4989     REFERENCE_TIME Late;
   4990     REFERENCE_TIME TimeStamp;
   4991 } Quality;
   4992 typedef IQualityControl *PQUALITYCONTROL;
   4993 /*****************************************************************************
   4994  * IQualityControl interface
   4995  */
   4996 #ifndef __IQualityControl_INTERFACE_DEFINED__
   4997 #define __IQualityControl_INTERFACE_DEFINED__
   4998 
   4999 DEFINE_GUID(IID_IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   5000 #if defined(__cplusplus) && !defined(CINTERFACE)
   5001 MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
   5002 IQualityControl : public IUnknown
   5003 {
   5004     virtual HRESULT STDMETHODCALLTYPE Notify(
   5005         IBaseFilter *pSelf,
   5006         Quality q) = 0;
   5007 
   5008     virtual HRESULT STDMETHODCALLTYPE SetSink(
   5009         IQualityControl *piqc) = 0;
   5010 
   5011 };
   5012 #ifdef __CRT_UUID_DECL
   5013 __CRT_UUID_DECL(IQualityControl, 0x56a868a5, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   5014 #endif
   5015 #else
   5016 typedef struct IQualityControlVtbl {
   5017     BEGIN_INTERFACE
   5018 
   5019     /*** IUnknown methods ***/
   5020     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5021         IQualityControl* This,
   5022         REFIID riid,
   5023         void **ppvObject);
   5024 
   5025     ULONG (STDMETHODCALLTYPE *AddRef)(
   5026         IQualityControl* This);
   5027 
   5028     ULONG (STDMETHODCALLTYPE *Release)(
   5029         IQualityControl* This);
   5030 
   5031     /*** IQualityControl methods ***/
   5032     HRESULT (STDMETHODCALLTYPE *Notify)(
   5033         IQualityControl* This,
   5034         IBaseFilter *pSelf,
   5035         Quality q);
   5036 
   5037     HRESULT (STDMETHODCALLTYPE *SetSink)(
   5038         IQualityControl* This,
   5039         IQualityControl *piqc);
   5040 
   5041     END_INTERFACE
   5042 } IQualityControlVtbl;
   5043 interface IQualityControl {
   5044     CONST_VTBL IQualityControlVtbl* lpVtbl;
   5045 };
   5046 
   5047 #ifdef COBJMACROS
   5048 #ifndef WIDL_C_INLINE_WRAPPERS
   5049 /*** IUnknown methods ***/
   5050 #define IQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5051 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   5052 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This)
   5053 /*** IQualityControl methods ***/
   5054 #define IQualityControl_Notify(This,pSelf,q) (This)->lpVtbl->Notify(This,pSelf,q)
   5055 #define IQualityControl_SetSink(This,piqc) (This)->lpVtbl->SetSink(This,piqc)
   5056 #else
   5057 /*** IUnknown methods ***/
   5058 static FORCEINLINE HRESULT IQualityControl_QueryInterface(IQualityControl* This,REFIID riid,void **ppvObject) {
   5059     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5060 }
   5061 static FORCEINLINE ULONG IQualityControl_AddRef(IQualityControl* This) {
   5062     return This->lpVtbl->AddRef(This);
   5063 }
   5064 static FORCEINLINE ULONG IQualityControl_Release(IQualityControl* This) {
   5065     return This->lpVtbl->Release(This);
   5066 }
   5067 /*** IQualityControl methods ***/
   5068 static FORCEINLINE HRESULT IQualityControl_Notify(IQualityControl* This,IBaseFilter *pSelf,Quality q) {
   5069     return This->lpVtbl->Notify(This,pSelf,q);
   5070 }
   5071 static FORCEINLINE HRESULT IQualityControl_SetSink(IQualityControl* This,IQualityControl *piqc) {
   5072     return This->lpVtbl->SetSink(This,piqc);
   5073 }
   5074 #endif
   5075 #endif
   5076 
   5077 #endif
   5078 
   5079 HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy(
   5080     IQualityControl* This,
   5081     IBaseFilter *pSelf,
   5082     Quality q);
   5083 void __RPC_STUB IQualityControl_Notify_Stub(
   5084     IRpcStubBuffer* This,
   5085     IRpcChannelBuffer* pRpcChannelBuffer,
   5086     PRPC_MESSAGE pRpcMessage,
   5087     DWORD* pdwStubPhase);
   5088 HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy(
   5089     IQualityControl* This,
   5090     IQualityControl *piqc);
   5091 void __RPC_STUB IQualityControl_SetSink_Stub(
   5092     IRpcStubBuffer* This,
   5093     IRpcChannelBuffer* pRpcChannelBuffer,
   5094     PRPC_MESSAGE pRpcMessage,
   5095     DWORD* pdwStubPhase);
   5096 
   5097 #endif  /* __IQualityControl_INTERFACE_DEFINED__ */
   5098 
   5099 enum {
   5100     CK_NOCOLORKEY = 0x0,
   5101     CK_INDEX = 0x1,
   5102     CK_RGB = 0x2
   5103 };
   5104 
   5105 typedef struct tagCOLORKEY {
   5106     DWORD KeyType;
   5107     DWORD PaletteIndex;
   5108     COLORREF LowColorValue;
   5109     COLORREF HighColorValue;
   5110 } COLORKEY;
   5111 enum {
   5112     ADVISE_NONE = 0x0,
   5113     ADVISE_CLIPPING = 0x1,
   5114     ADVISE_PALETTE = 0x2,
   5115     ADVISE_COLORKEY = 0x4,
   5116     ADVISE_POSITION = 0x8,
   5117     ADVISE_DISPLAY_CHANGE = 0x10
   5118 };
   5119 
   5120 #define ADVISE_ALL (((ADVISE_CLIPPING | ADVISE_PALETTE) | ADVISE_COLORKEY) | ADVISE_POSITION)
   5121 
   5122 #define ADVISE_ALL2 (ADVISE_ALL | ADVISE_DISPLAY_CHANGE)
   5123 
   5124 #ifndef _WINGDI_
   5125 typedef struct _RGNDATAHEADER {
   5126     DWORD dwSize;
   5127     DWORD iType;
   5128     DWORD nCount;
   5129     DWORD nRgnSize;
   5130     RECT rcBound;
   5131 } RGNDATAHEADER;
   5132 typedef struct _RGNDATA {
   5133     RGNDATAHEADER rdh;
   5134     char Buffer[1];
   5135 } RGNDATA;
   5136 #endif /* _WINGDI_ */
   5137 /*****************************************************************************
   5138  * IOverlayNotify interface
   5139  */
   5140 #ifndef __IOverlayNotify_INTERFACE_DEFINED__
   5141 #define __IOverlayNotify_INTERFACE_DEFINED__
   5142 
   5143 DEFINE_GUID(IID_IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   5144 #if defined(__cplusplus) && !defined(CINTERFACE)
   5145 MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
   5146 IOverlayNotify : public IUnknown
   5147 {
   5148     virtual HRESULT STDMETHODCALLTYPE OnPaletteChange(
   5149         DWORD dwColors,
   5150         const PALETTEENTRY *pPalette) = 0;
   5151 
   5152     virtual HRESULT STDMETHODCALLTYPE OnClipChange(
   5153         const RECT *pSourceRect,
   5154         const RECT *pDestinationRect,
   5155         const RGNDATA *pRgnData) = 0;
   5156 
   5157     virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange(
   5158         const COLORKEY *pColorKey) = 0;
   5159 
   5160     virtual HRESULT STDMETHODCALLTYPE OnPositionChange(
   5161         const RECT *pSourceRect,
   5162         const RECT *pDestinationRect) = 0;
   5163 
   5164 };
   5165 #ifdef __CRT_UUID_DECL
   5166 __CRT_UUID_DECL(IOverlayNotify, 0x56a868a0, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   5167 #endif
   5168 #else
   5169 typedef struct IOverlayNotifyVtbl {
   5170     BEGIN_INTERFACE
   5171 
   5172     /*** IUnknown methods ***/
   5173     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5174         IOverlayNotify* This,
   5175         REFIID riid,
   5176         void **ppvObject);
   5177 
   5178     ULONG (STDMETHODCALLTYPE *AddRef)(
   5179         IOverlayNotify* This);
   5180 
   5181     ULONG (STDMETHODCALLTYPE *Release)(
   5182         IOverlayNotify* This);
   5183 
   5184     /*** IOverlayNotify methods ***/
   5185     HRESULT (STDMETHODCALLTYPE *OnPaletteChange)(
   5186         IOverlayNotify* This,
   5187         DWORD dwColors,
   5188         const PALETTEENTRY *pPalette);
   5189 
   5190     HRESULT (STDMETHODCALLTYPE *OnClipChange)(
   5191         IOverlayNotify* This,
   5192         const RECT *pSourceRect,
   5193         const RECT *pDestinationRect,
   5194         const RGNDATA *pRgnData);
   5195 
   5196     HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)(
   5197         IOverlayNotify* This,
   5198         const COLORKEY *pColorKey);
   5199 
   5200     HRESULT (STDMETHODCALLTYPE *OnPositionChange)(
   5201         IOverlayNotify* This,
   5202         const RECT *pSourceRect,
   5203         const RECT *pDestinationRect);
   5204 
   5205     END_INTERFACE
   5206 } IOverlayNotifyVtbl;
   5207 interface IOverlayNotify {
   5208     CONST_VTBL IOverlayNotifyVtbl* lpVtbl;
   5209 };
   5210 
   5211 #ifdef COBJMACROS
   5212 #ifndef WIDL_C_INLINE_WRAPPERS
   5213 /*** IUnknown methods ***/
   5214 #define IOverlayNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5215 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   5216 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This)
   5217 /*** IOverlayNotify methods ***/
   5218 #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
   5219 #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
   5220 #define IOverlayNotify_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
   5221 #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
   5222 #else
   5223 /*** IUnknown methods ***/
   5224 static FORCEINLINE HRESULT IOverlayNotify_QueryInterface(IOverlayNotify* This,REFIID riid,void **ppvObject) {
   5225     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5226 }
   5227 static FORCEINLINE ULONG IOverlayNotify_AddRef(IOverlayNotify* This) {
   5228     return This->lpVtbl->AddRef(This);
   5229 }
   5230 static FORCEINLINE ULONG IOverlayNotify_Release(IOverlayNotify* This) {
   5231     return This->lpVtbl->Release(This);
   5232 }
   5233 /*** IOverlayNotify methods ***/
   5234 static FORCEINLINE HRESULT IOverlayNotify_OnPaletteChange(IOverlayNotify* This,DWORD dwColors,const PALETTEENTRY *pPalette) {
   5235     return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette);
   5236 }
   5237 static FORCEINLINE HRESULT IOverlayNotify_OnClipChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) {
   5238     return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData);
   5239 }
   5240 static FORCEINLINE HRESULT IOverlayNotify_OnColorKeyChange(IOverlayNotify* This,const COLORKEY *pColorKey) {
   5241     return This->lpVtbl->OnColorKeyChange(This,pColorKey);
   5242 }
   5243 static FORCEINLINE HRESULT IOverlayNotify_OnPositionChange(IOverlayNotify* This,const RECT *pSourceRect,const RECT *pDestinationRect) {
   5244     return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect);
   5245 }
   5246 #endif
   5247 #endif
   5248 
   5249 #endif
   5250 
   5251 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy(
   5252     IOverlayNotify* This,
   5253     DWORD dwColors,
   5254     const PALETTEENTRY *pPalette);
   5255 void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
   5256     IRpcStubBuffer* This,
   5257     IRpcChannelBuffer* pRpcChannelBuffer,
   5258     PRPC_MESSAGE pRpcMessage,
   5259     DWORD* pdwStubPhase);
   5260 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy(
   5261     IOverlayNotify* This,
   5262     const RECT *pSourceRect,
   5263     const RECT *pDestinationRect,
   5264     const RGNDATA *pRgnData);
   5265 void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
   5266     IRpcStubBuffer* This,
   5267     IRpcChannelBuffer* pRpcChannelBuffer,
   5268     PRPC_MESSAGE pRpcMessage,
   5269     DWORD* pdwStubPhase);
   5270 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy(
   5271     IOverlayNotify* This,
   5272     const COLORKEY *pColorKey);
   5273 void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
   5274     IRpcStubBuffer* This,
   5275     IRpcChannelBuffer* pRpcChannelBuffer,
   5276     PRPC_MESSAGE pRpcMessage,
   5277     DWORD* pdwStubPhase);
   5278 HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy(
   5279     IOverlayNotify* This,
   5280     const RECT *pSourceRect,
   5281     const RECT *pDestinationRect);
   5282 void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
   5283     IRpcStubBuffer* This,
   5284     IRpcChannelBuffer* pRpcChannelBuffer,
   5285     PRPC_MESSAGE pRpcMessage,
   5286     DWORD* pdwStubPhase);
   5287 
   5288 #endif  /* __IOverlayNotify_INTERFACE_DEFINED__ */
   5289 
   5290 typedef IOverlayNotify *POVERLAYNOTIFY;
   5291 #if 0
   5292 typedef HANDLE HMONITOR;
   5293 #endif /* 0 */
   5294 /*****************************************************************************
   5295  * IOverlayNotify2 interface
   5296  */
   5297 #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
   5298 #define __IOverlayNotify2_INTERFACE_DEFINED__
   5299 
   5300 DEFINE_GUID(IID_IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96);
   5301 #if defined(__cplusplus) && !defined(CINTERFACE)
   5302 MIDL_INTERFACE("680efa10-d535-11d1-87c8-00a0c9223196")
   5303 IOverlayNotify2 : public IOverlayNotify
   5304 {
   5305     virtual HRESULT STDMETHODCALLTYPE OnDisplayChange(
   5306         HMONITOR hMonitor) = 0;
   5307 
   5308 };
   5309 #ifdef __CRT_UUID_DECL
   5310 __CRT_UUID_DECL(IOverlayNotify2, 0x680efa10, 0xd535, 0x11d1, 0x87,0xc8, 0x00,0xa0,0xc9,0x22,0x31,0x96)
   5311 #endif
   5312 #else
   5313 typedef struct IOverlayNotify2Vtbl {
   5314     BEGIN_INTERFACE
   5315 
   5316     /*** IUnknown methods ***/
   5317     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5318         IOverlayNotify2* This,
   5319         REFIID riid,
   5320         void **ppvObject);
   5321 
   5322     ULONG (STDMETHODCALLTYPE *AddRef)(
   5323         IOverlayNotify2* This);
   5324 
   5325     ULONG (STDMETHODCALLTYPE *Release)(
   5326         IOverlayNotify2* This);
   5327 
   5328     /*** IOverlayNotify methods ***/
   5329     HRESULT (STDMETHODCALLTYPE *OnPaletteChange)(
   5330         IOverlayNotify2* This,
   5331         DWORD dwColors,
   5332         const PALETTEENTRY *pPalette);
   5333 
   5334     HRESULT (STDMETHODCALLTYPE *OnClipChange)(
   5335         IOverlayNotify2* This,
   5336         const RECT *pSourceRect,
   5337         const RECT *pDestinationRect,
   5338         const RGNDATA *pRgnData);
   5339 
   5340     HRESULT (STDMETHODCALLTYPE *OnColorKeyChange)(
   5341         IOverlayNotify2* This,
   5342         const COLORKEY *pColorKey);
   5343 
   5344     HRESULT (STDMETHODCALLTYPE *OnPositionChange)(
   5345         IOverlayNotify2* This,
   5346         const RECT *pSourceRect,
   5347         const RECT *pDestinationRect);
   5348 
   5349     /*** IOverlayNotify2 methods ***/
   5350     HRESULT (STDMETHODCALLTYPE *OnDisplayChange)(
   5351         IOverlayNotify2* This,
   5352         HMONITOR hMonitor);
   5353 
   5354     END_INTERFACE
   5355 } IOverlayNotify2Vtbl;
   5356 interface IOverlayNotify2 {
   5357     CONST_VTBL IOverlayNotify2Vtbl* lpVtbl;
   5358 };
   5359 
   5360 #ifdef COBJMACROS
   5361 #ifndef WIDL_C_INLINE_WRAPPERS
   5362 /*** IUnknown methods ***/
   5363 #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5364 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This)
   5365 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This)
   5366 /*** IOverlayNotify methods ***/
   5367 #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) (This)->lpVtbl->OnPaletteChange(This,dwColors,pPalette)
   5368 #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) (This)->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
   5369 #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) (This)->lpVtbl->OnColorKeyChange(This,pColorKey)
   5370 #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) (This)->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect)
   5371 /*** IOverlayNotify2 methods ***/
   5372 #define IOverlayNotify2_OnDisplayChange(This,hMonitor) (This)->lpVtbl->OnDisplayChange(This,hMonitor)
   5373 #else
   5374 /*** IUnknown methods ***/
   5375 static FORCEINLINE HRESULT IOverlayNotify2_QueryInterface(IOverlayNotify2* This,REFIID riid,void **ppvObject) {
   5376     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5377 }
   5378 static FORCEINLINE ULONG IOverlayNotify2_AddRef(IOverlayNotify2* This) {
   5379     return This->lpVtbl->AddRef(This);
   5380 }
   5381 static FORCEINLINE ULONG IOverlayNotify2_Release(IOverlayNotify2* This) {
   5382     return This->lpVtbl->Release(This);
   5383 }
   5384 /*** IOverlayNotify methods ***/
   5385 static FORCEINLINE HRESULT IOverlayNotify2_OnPaletteChange(IOverlayNotify2* This,DWORD dwColors,const PALETTEENTRY *pPalette) {
   5386     return This->lpVtbl->OnPaletteChange(This,dwColors,pPalette);
   5387 }
   5388 static FORCEINLINE HRESULT IOverlayNotify2_OnClipChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect,const RGNDATA *pRgnData) {
   5389     return This->lpVtbl->OnClipChange(This,pSourceRect,pDestinationRect,pRgnData);
   5390 }
   5391 static FORCEINLINE HRESULT IOverlayNotify2_OnColorKeyChange(IOverlayNotify2* This,const COLORKEY *pColorKey) {
   5392     return This->lpVtbl->OnColorKeyChange(This,pColorKey);
   5393 }
   5394 static FORCEINLINE HRESULT IOverlayNotify2_OnPositionChange(IOverlayNotify2* This,const RECT *pSourceRect,const RECT *pDestinationRect) {
   5395     return This->lpVtbl->OnPositionChange(This,pSourceRect,pDestinationRect);
   5396 }
   5397 /*** IOverlayNotify2 methods ***/
   5398 static FORCEINLINE HRESULT IOverlayNotify2_OnDisplayChange(IOverlayNotify2* This,HMONITOR hMonitor) {
   5399     return This->lpVtbl->OnDisplayChange(This,hMonitor);
   5400 }
   5401 #endif
   5402 #endif
   5403 
   5404 #endif
   5405 
   5406 HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy(
   5407     IOverlayNotify2* This,
   5408     HMONITOR hMonitor);
   5409 void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
   5410     IRpcStubBuffer* This,
   5411     IRpcChannelBuffer* pRpcChannelBuffer,
   5412     PRPC_MESSAGE pRpcMessage,
   5413     DWORD* pdwStubPhase);
   5414 
   5415 #endif  /* __IOverlayNotify2_INTERFACE_DEFINED__ */
   5416 
   5417 typedef IOverlayNotify2 *POVERLAYNOTIFY2;
   5418 /*****************************************************************************
   5419  * IOverlay interface
   5420  */
   5421 #ifndef __IOverlay_INTERFACE_DEFINED__
   5422 #define __IOverlay_INTERFACE_DEFINED__
   5423 
   5424 DEFINE_GUID(IID_IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   5425 #if defined(__cplusplus) && !defined(CINTERFACE)
   5426 MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
   5427 IOverlay : public IUnknown
   5428 {
   5429     virtual HRESULT STDMETHODCALLTYPE GetPalette(
   5430         DWORD *pdwColors,
   5431         PALETTEENTRY **ppPalette) = 0;
   5432 
   5433     virtual HRESULT STDMETHODCALLTYPE SetPalette(
   5434         DWORD dwColors,
   5435         PALETTEENTRY *pPalette) = 0;
   5436 
   5437     virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey(
   5438         COLORKEY *pColorKey) = 0;
   5439 
   5440     virtual HRESULT STDMETHODCALLTYPE GetColorKey(
   5441         COLORKEY *pColorKey) = 0;
   5442 
   5443     virtual HRESULT STDMETHODCALLTYPE SetColorKey(
   5444         COLORKEY *pColorKey) = 0;
   5445 
   5446     virtual HRESULT STDMETHODCALLTYPE GetWindowHandle(
   5447         HWND *pHwnd) = 0;
   5448 
   5449     virtual HRESULT STDMETHODCALLTYPE GetClipList(
   5450         RECT *pSourceRect,
   5451         RECT *pDestinationRect,
   5452         RGNDATA **ppRgnData) = 0;
   5453 
   5454     virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
   5455         RECT *pSourceRect,
   5456         RECT *pDestinationRect) = 0;
   5457 
   5458     virtual HRESULT STDMETHODCALLTYPE Advise(
   5459         IOverlayNotify *pOverlayNotify,
   5460         DWORD dwInterests) = 0;
   5461 
   5462     virtual HRESULT STDMETHODCALLTYPE Unadvise(
   5463         ) = 0;
   5464 
   5465 };
   5466 #ifdef __CRT_UUID_DECL
   5467 __CRT_UUID_DECL(IOverlay, 0x56a868a1, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   5468 #endif
   5469 #else
   5470 typedef struct IOverlayVtbl {
   5471     BEGIN_INTERFACE
   5472 
   5473     /*** IUnknown methods ***/
   5474     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5475         IOverlay* This,
   5476         REFIID riid,
   5477         void **ppvObject);
   5478 
   5479     ULONG (STDMETHODCALLTYPE *AddRef)(
   5480         IOverlay* This);
   5481 
   5482     ULONG (STDMETHODCALLTYPE *Release)(
   5483         IOverlay* This);
   5484 
   5485     /*** IOverlay methods ***/
   5486     HRESULT (STDMETHODCALLTYPE *GetPalette)(
   5487         IOverlay* This,
   5488         DWORD *pdwColors,
   5489         PALETTEENTRY **ppPalette);
   5490 
   5491     HRESULT (STDMETHODCALLTYPE *SetPalette)(
   5492         IOverlay* This,
   5493         DWORD dwColors,
   5494         PALETTEENTRY *pPalette);
   5495 
   5496     HRESULT (STDMETHODCALLTYPE *GetDefaultColorKey)(
   5497         IOverlay* This,
   5498         COLORKEY *pColorKey);
   5499 
   5500     HRESULT (STDMETHODCALLTYPE *GetColorKey)(
   5501         IOverlay* This,
   5502         COLORKEY *pColorKey);
   5503 
   5504     HRESULT (STDMETHODCALLTYPE *SetColorKey)(
   5505         IOverlay* This,
   5506         COLORKEY *pColorKey);
   5507 
   5508     HRESULT (STDMETHODCALLTYPE *GetWindowHandle)(
   5509         IOverlay* This,
   5510         HWND *pHwnd);
   5511 
   5512     HRESULT (STDMETHODCALLTYPE *GetClipList)(
   5513         IOverlay* This,
   5514         RECT *pSourceRect,
   5515         RECT *pDestinationRect,
   5516         RGNDATA **ppRgnData);
   5517 
   5518     HRESULT (STDMETHODCALLTYPE *GetVideoPosition)(
   5519         IOverlay* This,
   5520         RECT *pSourceRect,
   5521         RECT *pDestinationRect);
   5522 
   5523     HRESULT (STDMETHODCALLTYPE *Advise)(
   5524         IOverlay* This,
   5525         IOverlayNotify *pOverlayNotify,
   5526         DWORD dwInterests);
   5527 
   5528     HRESULT (STDMETHODCALLTYPE *Unadvise)(
   5529         IOverlay* This);
   5530 
   5531     END_INTERFACE
   5532 } IOverlayVtbl;
   5533 interface IOverlay {
   5534     CONST_VTBL IOverlayVtbl* lpVtbl;
   5535 };
   5536 
   5537 #ifdef COBJMACROS
   5538 #ifndef WIDL_C_INLINE_WRAPPERS
   5539 /*** IUnknown methods ***/
   5540 #define IOverlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5541 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This)
   5542 #define IOverlay_Release(This) (This)->lpVtbl->Release(This)
   5543 /*** IOverlay methods ***/
   5544 #define IOverlay_GetPalette(This,pdwColors,ppPalette) (This)->lpVtbl->GetPalette(This,pdwColors,ppPalette)
   5545 #define IOverlay_SetPalette(This,dwColors,pPalette) (This)->lpVtbl->SetPalette(This,dwColors,pPalette)
   5546 #define IOverlay_GetDefaultColorKey(This,pColorKey) (This)->lpVtbl->GetDefaultColorKey(This,pColorKey)
   5547 #define IOverlay_GetColorKey(This,pColorKey) (This)->lpVtbl->GetColorKey(This,pColorKey)
   5548 #define IOverlay_SetColorKey(This,pColorKey) (This)->lpVtbl->SetColorKey(This,pColorKey)
   5549 #define IOverlay_GetWindowHandle(This,pHwnd) (This)->lpVtbl->GetWindowHandle(This,pHwnd)
   5550 #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) (This)->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
   5551 #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) (This)->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect)
   5552 #define IOverlay_Advise(This,pOverlayNotify,dwInterests) (This)->lpVtbl->Advise(This,pOverlayNotify,dwInterests)
   5553 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This)
   5554 #else
   5555 /*** IUnknown methods ***/
   5556 static FORCEINLINE HRESULT IOverlay_QueryInterface(IOverlay* This,REFIID riid,void **ppvObject) {
   5557     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5558 }
   5559 static FORCEINLINE ULONG IOverlay_AddRef(IOverlay* This) {
   5560     return This->lpVtbl->AddRef(This);
   5561 }
   5562 static FORCEINLINE ULONG IOverlay_Release(IOverlay* This) {
   5563     return This->lpVtbl->Release(This);
   5564 }
   5565 /*** IOverlay methods ***/
   5566 static FORCEINLINE HRESULT IOverlay_GetPalette(IOverlay* This,DWORD *pdwColors,PALETTEENTRY **ppPalette) {
   5567     return This->lpVtbl->GetPalette(This,pdwColors,ppPalette);
   5568 }
   5569 static FORCEINLINE HRESULT IOverlay_SetPalette(IOverlay* This,DWORD dwColors,PALETTEENTRY *pPalette) {
   5570     return This->lpVtbl->SetPalette(This,dwColors,pPalette);
   5571 }
   5572 static FORCEINLINE HRESULT IOverlay_GetDefaultColorKey(IOverlay* This,COLORKEY *pColorKey) {
   5573     return This->lpVtbl->GetDefaultColorKey(This,pColorKey);
   5574 }
   5575 static FORCEINLINE HRESULT IOverlay_GetColorKey(IOverlay* This,COLORKEY *pColorKey) {
   5576     return This->lpVtbl->GetColorKey(This,pColorKey);
   5577 }
   5578 static FORCEINLINE HRESULT IOverlay_SetColorKey(IOverlay* This,COLORKEY *pColorKey) {
   5579     return This->lpVtbl->SetColorKey(This,pColorKey);
   5580 }
   5581 static FORCEINLINE HRESULT IOverlay_GetWindowHandle(IOverlay* This,HWND *pHwnd) {
   5582     return This->lpVtbl->GetWindowHandle(This,pHwnd);
   5583 }
   5584 static FORCEINLINE HRESULT IOverlay_GetClipList(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect,RGNDATA **ppRgnData) {
   5585     return This->lpVtbl->GetClipList(This,pSourceRect,pDestinationRect,ppRgnData);
   5586 }
   5587 static FORCEINLINE HRESULT IOverlay_GetVideoPosition(IOverlay* This,RECT *pSourceRect,RECT *pDestinationRect) {
   5588     return This->lpVtbl->GetVideoPosition(This,pSourceRect,pDestinationRect);
   5589 }
   5590 static FORCEINLINE HRESULT IOverlay_Advise(IOverlay* This,IOverlayNotify *pOverlayNotify,DWORD dwInterests) {
   5591     return This->lpVtbl->Advise(This,pOverlayNotify,dwInterests);
   5592 }
   5593 static FORCEINLINE HRESULT IOverlay_Unadvise(IOverlay* This) {
   5594     return This->lpVtbl->Unadvise(This);
   5595 }
   5596 #endif
   5597 #endif
   5598 
   5599 #endif
   5600 
   5601 HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy(
   5602     IOverlay* This,
   5603     DWORD *pdwColors,
   5604     PALETTEENTRY **ppPalette);
   5605 void __RPC_STUB IOverlay_GetPalette_Stub(
   5606     IRpcStubBuffer* This,
   5607     IRpcChannelBuffer* pRpcChannelBuffer,
   5608     PRPC_MESSAGE pRpcMessage,
   5609     DWORD* pdwStubPhase);
   5610 HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy(
   5611     IOverlay* This,
   5612     DWORD dwColors,
   5613     PALETTEENTRY *pPalette);
   5614 void __RPC_STUB IOverlay_SetPalette_Stub(
   5615     IRpcStubBuffer* This,
   5616     IRpcChannelBuffer* pRpcChannelBuffer,
   5617     PRPC_MESSAGE pRpcMessage,
   5618     DWORD* pdwStubPhase);
   5619 HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy(
   5620     IOverlay* This,
   5621     COLORKEY *pColorKey);
   5622 void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
   5623     IRpcStubBuffer* This,
   5624     IRpcChannelBuffer* pRpcChannelBuffer,
   5625     PRPC_MESSAGE pRpcMessage,
   5626     DWORD* pdwStubPhase);
   5627 HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy(
   5628     IOverlay* This,
   5629     COLORKEY *pColorKey);
   5630 void __RPC_STUB IOverlay_GetColorKey_Stub(
   5631     IRpcStubBuffer* This,
   5632     IRpcChannelBuffer* pRpcChannelBuffer,
   5633     PRPC_MESSAGE pRpcMessage,
   5634     DWORD* pdwStubPhase);
   5635 HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy(
   5636     IOverlay* This,
   5637     COLORKEY *pColorKey);
   5638 void __RPC_STUB IOverlay_SetColorKey_Stub(
   5639     IRpcStubBuffer* This,
   5640     IRpcChannelBuffer* pRpcChannelBuffer,
   5641     PRPC_MESSAGE pRpcMessage,
   5642     DWORD* pdwStubPhase);
   5643 HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy(
   5644     IOverlay* This,
   5645     HWND *pHwnd);
   5646 void __RPC_STUB IOverlay_GetWindowHandle_Stub(
   5647     IRpcStubBuffer* This,
   5648     IRpcChannelBuffer* pRpcChannelBuffer,
   5649     PRPC_MESSAGE pRpcMessage,
   5650     DWORD* pdwStubPhase);
   5651 HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy(
   5652     IOverlay* This,
   5653     RECT *pSourceRect,
   5654     RECT *pDestinationRect,
   5655     RGNDATA **ppRgnData);
   5656 void __RPC_STUB IOverlay_GetClipList_Stub(
   5657     IRpcStubBuffer* This,
   5658     IRpcChannelBuffer* pRpcChannelBuffer,
   5659     PRPC_MESSAGE pRpcMessage,
   5660     DWORD* pdwStubPhase);
   5661 HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy(
   5662     IOverlay* This,
   5663     RECT *pSourceRect,
   5664     RECT *pDestinationRect);
   5665 void __RPC_STUB IOverlay_GetVideoPosition_Stub(
   5666     IRpcStubBuffer* This,
   5667     IRpcChannelBuffer* pRpcChannelBuffer,
   5668     PRPC_MESSAGE pRpcMessage,
   5669     DWORD* pdwStubPhase);
   5670 HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy(
   5671     IOverlay* This,
   5672     IOverlayNotify *pOverlayNotify,
   5673     DWORD dwInterests);
   5674 void __RPC_STUB IOverlay_Advise_Stub(
   5675     IRpcStubBuffer* This,
   5676     IRpcChannelBuffer* pRpcChannelBuffer,
   5677     PRPC_MESSAGE pRpcMessage,
   5678     DWORD* pdwStubPhase);
   5679 HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy(
   5680     IOverlay* This);
   5681 void __RPC_STUB IOverlay_Unadvise_Stub(
   5682     IRpcStubBuffer* This,
   5683     IRpcChannelBuffer* pRpcChannelBuffer,
   5684     PRPC_MESSAGE pRpcMessage,
   5685     DWORD* pdwStubPhase);
   5686 
   5687 #endif  /* __IOverlay_INTERFACE_DEFINED__ */
   5688 
   5689 typedef IOverlay *POVERLAY;
   5690 /*****************************************************************************
   5691  * IMediaEventSink interface
   5692  */
   5693 #ifndef __IMediaEventSink_INTERFACE_DEFINED__
   5694 #define __IMediaEventSink_INTERFACE_DEFINED__
   5695 
   5696 DEFINE_GUID(IID_IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   5697 #if defined(__cplusplus) && !defined(CINTERFACE)
   5698 MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
   5699 IMediaEventSink : public IUnknown
   5700 {
   5701     virtual HRESULT STDMETHODCALLTYPE Notify(
   5702         LONG EventCode,
   5703         LONG_PTR EventParam1,
   5704         LONG_PTR EventParam2) = 0;
   5705 
   5706 };
   5707 #ifdef __CRT_UUID_DECL
   5708 __CRT_UUID_DECL(IMediaEventSink, 0x56a868a2, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   5709 #endif
   5710 #else
   5711 typedef struct IMediaEventSinkVtbl {
   5712     BEGIN_INTERFACE
   5713 
   5714     /*** IUnknown methods ***/
   5715     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5716         IMediaEventSink* This,
   5717         REFIID riid,
   5718         void **ppvObject);
   5719 
   5720     ULONG (STDMETHODCALLTYPE *AddRef)(
   5721         IMediaEventSink* This);
   5722 
   5723     ULONG (STDMETHODCALLTYPE *Release)(
   5724         IMediaEventSink* This);
   5725 
   5726     /*** IMediaEventSink methods ***/
   5727     HRESULT (STDMETHODCALLTYPE *Notify)(
   5728         IMediaEventSink* This,
   5729         LONG EventCode,
   5730         LONG_PTR EventParam1,
   5731         LONG_PTR EventParam2);
   5732 
   5733     END_INTERFACE
   5734 } IMediaEventSinkVtbl;
   5735 interface IMediaEventSink {
   5736     CONST_VTBL IMediaEventSinkVtbl* lpVtbl;
   5737 };
   5738 
   5739 #ifdef COBJMACROS
   5740 #ifndef WIDL_C_INLINE_WRAPPERS
   5741 /*** IUnknown methods ***/
   5742 #define IMediaEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5743 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
   5744 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This)
   5745 /*** IMediaEventSink methods ***/
   5746 #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) (This)->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2)
   5747 #else
   5748 /*** IUnknown methods ***/
   5749 static FORCEINLINE HRESULT IMediaEventSink_QueryInterface(IMediaEventSink* This,REFIID riid,void **ppvObject) {
   5750     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5751 }
   5752 static FORCEINLINE ULONG IMediaEventSink_AddRef(IMediaEventSink* This) {
   5753     return This->lpVtbl->AddRef(This);
   5754 }
   5755 static FORCEINLINE ULONG IMediaEventSink_Release(IMediaEventSink* This) {
   5756     return This->lpVtbl->Release(This);
   5757 }
   5758 /*** IMediaEventSink methods ***/
   5759 static FORCEINLINE HRESULT IMediaEventSink_Notify(IMediaEventSink* This,LONG EventCode,LONG_PTR EventParam1,LONG_PTR EventParam2) {
   5760     return This->lpVtbl->Notify(This,EventCode,EventParam1,EventParam2);
   5761 }
   5762 #endif
   5763 #endif
   5764 
   5765 #endif
   5766 
   5767 HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy(
   5768     IMediaEventSink* This,
   5769     LONG EventCode,
   5770     LONG_PTR EventParam1,
   5771     LONG_PTR EventParam2);
   5772 void __RPC_STUB IMediaEventSink_Notify_Stub(
   5773     IRpcStubBuffer* This,
   5774     IRpcChannelBuffer* pRpcChannelBuffer,
   5775     PRPC_MESSAGE pRpcMessage,
   5776     DWORD* pdwStubPhase);
   5777 
   5778 #endif  /* __IMediaEventSink_INTERFACE_DEFINED__ */
   5779 
   5780 typedef IMediaEventSink *PMEDIAEVENTSINK;
   5781 /*****************************************************************************
   5782  * IFileSourceFilter interface
   5783  */
   5784 #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
   5785 #define __IFileSourceFilter_INTERFACE_DEFINED__
   5786 
   5787 DEFINE_GUID(IID_IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   5788 #if defined(__cplusplus) && !defined(CINTERFACE)
   5789 MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
   5790 IFileSourceFilter : public IUnknown
   5791 {
   5792     virtual HRESULT STDMETHODCALLTYPE Load(
   5793         LPCOLESTR pszFileName,
   5794         const AM_MEDIA_TYPE *pmt) = 0;
   5795 
   5796     virtual HRESULT STDMETHODCALLTYPE GetCurFile(
   5797         LPOLESTR *ppszFileName,
   5798         AM_MEDIA_TYPE *pmt) = 0;
   5799 
   5800 };
   5801 #ifdef __CRT_UUID_DECL
   5802 __CRT_UUID_DECL(IFileSourceFilter, 0x56a868a6, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   5803 #endif
   5804 #else
   5805 typedef struct IFileSourceFilterVtbl {
   5806     BEGIN_INTERFACE
   5807 
   5808     /*** IUnknown methods ***/
   5809     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5810         IFileSourceFilter* This,
   5811         REFIID riid,
   5812         void **ppvObject);
   5813 
   5814     ULONG (STDMETHODCALLTYPE *AddRef)(
   5815         IFileSourceFilter* This);
   5816 
   5817     ULONG (STDMETHODCALLTYPE *Release)(
   5818         IFileSourceFilter* This);
   5819 
   5820     /*** IFileSourceFilter methods ***/
   5821     HRESULT (STDMETHODCALLTYPE *Load)(
   5822         IFileSourceFilter* This,
   5823         LPCOLESTR pszFileName,
   5824         const AM_MEDIA_TYPE *pmt);
   5825 
   5826     HRESULT (STDMETHODCALLTYPE *GetCurFile)(
   5827         IFileSourceFilter* This,
   5828         LPOLESTR *ppszFileName,
   5829         AM_MEDIA_TYPE *pmt);
   5830 
   5831     END_INTERFACE
   5832 } IFileSourceFilterVtbl;
   5833 interface IFileSourceFilter {
   5834     CONST_VTBL IFileSourceFilterVtbl* lpVtbl;
   5835 };
   5836 
   5837 #ifdef COBJMACROS
   5838 #ifndef WIDL_C_INLINE_WRAPPERS
   5839 /*** IUnknown methods ***/
   5840 #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5841 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   5842 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This)
   5843 /*** IFileSourceFilter methods ***/
   5844 #define IFileSourceFilter_Load(This,pszFileName,pmt) (This)->lpVtbl->Load(This,pszFileName,pmt)
   5845 #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   5846 #else
   5847 /*** IUnknown methods ***/
   5848 static FORCEINLINE HRESULT IFileSourceFilter_QueryInterface(IFileSourceFilter* This,REFIID riid,void **ppvObject) {
   5849     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5850 }
   5851 static FORCEINLINE ULONG IFileSourceFilter_AddRef(IFileSourceFilter* This) {
   5852     return This->lpVtbl->AddRef(This);
   5853 }
   5854 static FORCEINLINE ULONG IFileSourceFilter_Release(IFileSourceFilter* This) {
   5855     return This->lpVtbl->Release(This);
   5856 }
   5857 /*** IFileSourceFilter methods ***/
   5858 static FORCEINLINE HRESULT IFileSourceFilter_Load(IFileSourceFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
   5859     return This->lpVtbl->Load(This,pszFileName,pmt);
   5860 }
   5861 static FORCEINLINE HRESULT IFileSourceFilter_GetCurFile(IFileSourceFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
   5862     return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
   5863 }
   5864 #endif
   5865 #endif
   5866 
   5867 #endif
   5868 
   5869 HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy(
   5870     IFileSourceFilter* This,
   5871     LPCOLESTR pszFileName,
   5872     const AM_MEDIA_TYPE *pmt);
   5873 void __RPC_STUB IFileSourceFilter_Load_Stub(
   5874     IRpcStubBuffer* This,
   5875     IRpcChannelBuffer* pRpcChannelBuffer,
   5876     PRPC_MESSAGE pRpcMessage,
   5877     DWORD* pdwStubPhase);
   5878 HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy(
   5879     IFileSourceFilter* This,
   5880     LPOLESTR *ppszFileName,
   5881     AM_MEDIA_TYPE *pmt);
   5882 void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
   5883     IRpcStubBuffer* This,
   5884     IRpcChannelBuffer* pRpcChannelBuffer,
   5885     PRPC_MESSAGE pRpcMessage,
   5886     DWORD* pdwStubPhase);
   5887 
   5888 #endif  /* __IFileSourceFilter_INTERFACE_DEFINED__ */
   5889 
   5890 typedef IFileSourceFilter *PFILTERFILESOURCE;
   5891 /*****************************************************************************
   5892  * IFileSinkFilter interface
   5893  */
   5894 #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
   5895 #define __IFileSinkFilter_INTERFACE_DEFINED__
   5896 
   5897 DEFINE_GUID(IID_IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6);
   5898 #if defined(__cplusplus) && !defined(CINTERFACE)
   5899 MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
   5900 IFileSinkFilter : public IUnknown
   5901 {
   5902     virtual HRESULT STDMETHODCALLTYPE SetFileName(
   5903         LPCOLESTR pszFileName,
   5904         const AM_MEDIA_TYPE *pmt) = 0;
   5905 
   5906     virtual HRESULT STDMETHODCALLTYPE GetCurFile(
   5907         LPOLESTR *ppszFileName,
   5908         AM_MEDIA_TYPE *pmt) = 0;
   5909 
   5910 };
   5911 #ifdef __CRT_UUID_DECL
   5912 __CRT_UUID_DECL(IFileSinkFilter, 0xa2104830, 0x7c70, 0x11cf, 0x8b,0xce, 0x00,0xaa,0x00,0xa3,0xf1,0xa6)
   5913 #endif
   5914 #else
   5915 typedef struct IFileSinkFilterVtbl {
   5916     BEGIN_INTERFACE
   5917 
   5918     /*** IUnknown methods ***/
   5919     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5920         IFileSinkFilter* This,
   5921         REFIID riid,
   5922         void **ppvObject);
   5923 
   5924     ULONG (STDMETHODCALLTYPE *AddRef)(
   5925         IFileSinkFilter* This);
   5926 
   5927     ULONG (STDMETHODCALLTYPE *Release)(
   5928         IFileSinkFilter* This);
   5929 
   5930     /*** IFileSinkFilter methods ***/
   5931     HRESULT (STDMETHODCALLTYPE *SetFileName)(
   5932         IFileSinkFilter* This,
   5933         LPCOLESTR pszFileName,
   5934         const AM_MEDIA_TYPE *pmt);
   5935 
   5936     HRESULT (STDMETHODCALLTYPE *GetCurFile)(
   5937         IFileSinkFilter* This,
   5938         LPOLESTR *ppszFileName,
   5939         AM_MEDIA_TYPE *pmt);
   5940 
   5941     END_INTERFACE
   5942 } IFileSinkFilterVtbl;
   5943 interface IFileSinkFilter {
   5944     CONST_VTBL IFileSinkFilterVtbl* lpVtbl;
   5945 };
   5946 
   5947 #ifdef COBJMACROS
   5948 #ifndef WIDL_C_INLINE_WRAPPERS
   5949 /*** IUnknown methods ***/
   5950 #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5951 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   5952 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This)
   5953 /*** IFileSinkFilter methods ***/
   5954 #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
   5955 #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   5956 #else
   5957 /*** IUnknown methods ***/
   5958 static FORCEINLINE HRESULT IFileSinkFilter_QueryInterface(IFileSinkFilter* This,REFIID riid,void **ppvObject) {
   5959     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5960 }
   5961 static FORCEINLINE ULONG IFileSinkFilter_AddRef(IFileSinkFilter* This) {
   5962     return This->lpVtbl->AddRef(This);
   5963 }
   5964 static FORCEINLINE ULONG IFileSinkFilter_Release(IFileSinkFilter* This) {
   5965     return This->lpVtbl->Release(This);
   5966 }
   5967 /*** IFileSinkFilter methods ***/
   5968 static FORCEINLINE HRESULT IFileSinkFilter_SetFileName(IFileSinkFilter* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
   5969     return This->lpVtbl->SetFileName(This,pszFileName,pmt);
   5970 }
   5971 static FORCEINLINE HRESULT IFileSinkFilter_GetCurFile(IFileSinkFilter* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
   5972     return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
   5973 }
   5974 #endif
   5975 #endif
   5976 
   5977 #endif
   5978 
   5979 HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy(
   5980     IFileSinkFilter* This,
   5981     LPCOLESTR pszFileName,
   5982     const AM_MEDIA_TYPE *pmt);
   5983 void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
   5984     IRpcStubBuffer* This,
   5985     IRpcChannelBuffer* pRpcChannelBuffer,
   5986     PRPC_MESSAGE pRpcMessage,
   5987     DWORD* pdwStubPhase);
   5988 HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy(
   5989     IFileSinkFilter* This,
   5990     LPOLESTR *ppszFileName,
   5991     AM_MEDIA_TYPE *pmt);
   5992 void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
   5993     IRpcStubBuffer* This,
   5994     IRpcChannelBuffer* pRpcChannelBuffer,
   5995     PRPC_MESSAGE pRpcMessage,
   5996     DWORD* pdwStubPhase);
   5997 
   5998 #endif  /* __IFileSinkFilter_INTERFACE_DEFINED__ */
   5999 
   6000 typedef IFileSinkFilter *PFILTERFILESINK;
   6001 /*****************************************************************************
   6002  * IFileSinkFilter2 interface
   6003  */
   6004 #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
   6005 #define __IFileSinkFilter2_INTERFACE_DEFINED__
   6006 
   6007 DEFINE_GUID(IID_IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86);
   6008 #if defined(__cplusplus) && !defined(CINTERFACE)
   6009 MIDL_INTERFACE("00855b90-ce1b-11d0-bd4f-00a0c911ce86")
   6010 IFileSinkFilter2 : public IFileSinkFilter
   6011 {
   6012     virtual HRESULT STDMETHODCALLTYPE SetMode(
   6013         DWORD dwFlags) = 0;
   6014 
   6015     virtual HRESULT STDMETHODCALLTYPE GetMode(
   6016         DWORD *pdwFlags) = 0;
   6017 
   6018 };
   6019 #ifdef __CRT_UUID_DECL
   6020 __CRT_UUID_DECL(IFileSinkFilter2, 0x00855b90, 0xce1b, 0x11d0, 0xbd,0x4f, 0x00,0xa0,0xc9,0x11,0xce,0x86)
   6021 #endif
   6022 #else
   6023 typedef struct IFileSinkFilter2Vtbl {
   6024     BEGIN_INTERFACE
   6025 
   6026     /*** IUnknown methods ***/
   6027     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6028         IFileSinkFilter2* This,
   6029         REFIID riid,
   6030         void **ppvObject);
   6031 
   6032     ULONG (STDMETHODCALLTYPE *AddRef)(
   6033         IFileSinkFilter2* This);
   6034 
   6035     ULONG (STDMETHODCALLTYPE *Release)(
   6036         IFileSinkFilter2* This);
   6037 
   6038     /*** IFileSinkFilter methods ***/
   6039     HRESULT (STDMETHODCALLTYPE *SetFileName)(
   6040         IFileSinkFilter2* This,
   6041         LPCOLESTR pszFileName,
   6042         const AM_MEDIA_TYPE *pmt);
   6043 
   6044     HRESULT (STDMETHODCALLTYPE *GetCurFile)(
   6045         IFileSinkFilter2* This,
   6046         LPOLESTR *ppszFileName,
   6047         AM_MEDIA_TYPE *pmt);
   6048 
   6049     /*** IFileSinkFilter2 methods ***/
   6050     HRESULT (STDMETHODCALLTYPE *SetMode)(
   6051         IFileSinkFilter2* This,
   6052         DWORD dwFlags);
   6053 
   6054     HRESULT (STDMETHODCALLTYPE *GetMode)(
   6055         IFileSinkFilter2* This,
   6056         DWORD *pdwFlags);
   6057 
   6058     END_INTERFACE
   6059 } IFileSinkFilter2Vtbl;
   6060 interface IFileSinkFilter2 {
   6061     CONST_VTBL IFileSinkFilter2Vtbl* lpVtbl;
   6062 };
   6063 
   6064 #ifdef COBJMACROS
   6065 #ifndef WIDL_C_INLINE_WRAPPERS
   6066 /*** IUnknown methods ***/
   6067 #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6068 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This)
   6069 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This)
   6070 /*** IFileSinkFilter methods ***/
   6071 #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) (This)->lpVtbl->SetFileName(This,pszFileName,pmt)
   6072 #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) (This)->lpVtbl->GetCurFile(This,ppszFileName,pmt)
   6073 /*** IFileSinkFilter2 methods ***/
   6074 #define IFileSinkFilter2_SetMode(This,dwFlags) (This)->lpVtbl->SetMode(This,dwFlags)
   6075 #define IFileSinkFilter2_GetMode(This,pdwFlags) (This)->lpVtbl->GetMode(This,pdwFlags)
   6076 #else
   6077 /*** IUnknown methods ***/
   6078 static FORCEINLINE HRESULT IFileSinkFilter2_QueryInterface(IFileSinkFilter2* This,REFIID riid,void **ppvObject) {
   6079     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6080 }
   6081 static FORCEINLINE ULONG IFileSinkFilter2_AddRef(IFileSinkFilter2* This) {
   6082     return This->lpVtbl->AddRef(This);
   6083 }
   6084 static FORCEINLINE ULONG IFileSinkFilter2_Release(IFileSinkFilter2* This) {
   6085     return This->lpVtbl->Release(This);
   6086 }
   6087 /*** IFileSinkFilter methods ***/
   6088 static FORCEINLINE HRESULT IFileSinkFilter2_SetFileName(IFileSinkFilter2* This,LPCOLESTR pszFileName,const AM_MEDIA_TYPE *pmt) {
   6089     return This->lpVtbl->SetFileName(This,pszFileName,pmt);
   6090 }
   6091 static FORCEINLINE HRESULT IFileSinkFilter2_GetCurFile(IFileSinkFilter2* This,LPOLESTR *ppszFileName,AM_MEDIA_TYPE *pmt) {
   6092     return This->lpVtbl->GetCurFile(This,ppszFileName,pmt);
   6093 }
   6094 /*** IFileSinkFilter2 methods ***/
   6095 static FORCEINLINE HRESULT IFileSinkFilter2_SetMode(IFileSinkFilter2* This,DWORD dwFlags) {
   6096     return This->lpVtbl->SetMode(This,dwFlags);
   6097 }
   6098 static FORCEINLINE HRESULT IFileSinkFilter2_GetMode(IFileSinkFilter2* This,DWORD *pdwFlags) {
   6099     return This->lpVtbl->GetMode(This,pdwFlags);
   6100 }
   6101 #endif
   6102 #endif
   6103 
   6104 #endif
   6105 
   6106 HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy(
   6107     IFileSinkFilter2* This,
   6108     DWORD dwFlags);
   6109 void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
   6110     IRpcStubBuffer* This,
   6111     IRpcChannelBuffer* pRpcChannelBuffer,
   6112     PRPC_MESSAGE pRpcMessage,
   6113     DWORD* pdwStubPhase);
   6114 HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy(
   6115     IFileSinkFilter2* This,
   6116     DWORD *pdwFlags);
   6117 void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
   6118     IRpcStubBuffer* This,
   6119     IRpcChannelBuffer* pRpcChannelBuffer,
   6120     PRPC_MESSAGE pRpcMessage,
   6121     DWORD* pdwStubPhase);
   6122 
   6123 #endif  /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
   6124 
   6125 typedef IFileSinkFilter2 *PFILESINKFILTER2;
   6126 typedef enum __WIDL_axextend_generated_name_00000006 {
   6127     AM_FILE_OVERWRITE = 0x1
   6128 } AM_FILESINK_FLAGS;
   6129 /*****************************************************************************
   6130  * IGraphBuilder interface
   6131  */
   6132 #ifndef __IGraphBuilder_INTERFACE_DEFINED__
   6133 #define __IGraphBuilder_INTERFACE_DEFINED__
   6134 
   6135 DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   6136 #if defined(__cplusplus) && !defined(CINTERFACE)
   6137 MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
   6138 IGraphBuilder : public IFilterGraph
   6139 {
   6140     virtual HRESULT STDMETHODCALLTYPE Connect(
   6141         IPin *ppinOut,
   6142         IPin *ppinIn) = 0;
   6143 
   6144     virtual HRESULT STDMETHODCALLTYPE Render(
   6145         IPin *ppinOut) = 0;
   6146 
   6147     virtual HRESULT STDMETHODCALLTYPE RenderFile(
   6148         LPCWSTR lpcwstrFile,
   6149         LPCWSTR lpcwstrPlayList) = 0;
   6150 
   6151     virtual HRESULT STDMETHODCALLTYPE AddSourceFilter(
   6152         LPCWSTR lpcwstrFileName,
   6153         LPCWSTR lpcwstrFilterName,
   6154         IBaseFilter **ppFilter) = 0;
   6155 
   6156     virtual HRESULT STDMETHODCALLTYPE SetLogFile(
   6157         DWORD_PTR hFile) = 0;
   6158 
   6159     virtual HRESULT STDMETHODCALLTYPE Abort(
   6160         ) = 0;
   6161 
   6162     virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue(
   6163         ) = 0;
   6164 
   6165 };
   6166 #ifdef __CRT_UUID_DECL
   6167 __CRT_UUID_DECL(IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   6168 #endif
   6169 #else
   6170 typedef struct IGraphBuilderVtbl {
   6171     BEGIN_INTERFACE
   6172 
   6173     /*** IUnknown methods ***/
   6174     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6175         IGraphBuilder* This,
   6176         REFIID riid,
   6177         void **ppvObject);
   6178 
   6179     ULONG (STDMETHODCALLTYPE *AddRef)(
   6180         IGraphBuilder* This);
   6181 
   6182     ULONG (STDMETHODCALLTYPE *Release)(
   6183         IGraphBuilder* This);
   6184 
   6185     /*** IFilterGraph methods ***/
   6186     HRESULT (STDMETHODCALLTYPE *AddFilter)(
   6187         IGraphBuilder* This,
   6188         IBaseFilter *pFilter,
   6189         LPCWSTR pName);
   6190 
   6191     HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
   6192         IGraphBuilder* This,
   6193         IBaseFilter *pFilter);
   6194 
   6195     HRESULT (STDMETHODCALLTYPE *EnumFilters)(
   6196         IGraphBuilder* This,
   6197         IEnumFilters **ppEnum);
   6198 
   6199     HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
   6200         IGraphBuilder* This,
   6201         LPCWSTR pName,
   6202         IBaseFilter **ppFilter);
   6203 
   6204     HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
   6205         IGraphBuilder* This,
   6206         IPin *ppinOut,
   6207         IPin *ppinIn,
   6208         const AM_MEDIA_TYPE *pmt);
   6209 
   6210     HRESULT (STDMETHODCALLTYPE *Reconnect)(
   6211         IGraphBuilder* This,
   6212         IPin *ppin);
   6213 
   6214     HRESULT (STDMETHODCALLTYPE *Disconnect)(
   6215         IGraphBuilder* This,
   6216         IPin *ppin);
   6217 
   6218     HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
   6219         IGraphBuilder* This);
   6220 
   6221     /*** IGraphBuilder methods ***/
   6222     HRESULT (STDMETHODCALLTYPE *Connect)(
   6223         IGraphBuilder* This,
   6224         IPin *ppinOut,
   6225         IPin *ppinIn);
   6226 
   6227     HRESULT (STDMETHODCALLTYPE *Render)(
   6228         IGraphBuilder* This,
   6229         IPin *ppinOut);
   6230 
   6231     HRESULT (STDMETHODCALLTYPE *RenderFile)(
   6232         IGraphBuilder* This,
   6233         LPCWSTR lpcwstrFile,
   6234         LPCWSTR lpcwstrPlayList);
   6235 
   6236     HRESULT (STDMETHODCALLTYPE *AddSourceFilter)(
   6237         IGraphBuilder* This,
   6238         LPCWSTR lpcwstrFileName,
   6239         LPCWSTR lpcwstrFilterName,
   6240         IBaseFilter **ppFilter);
   6241 
   6242     HRESULT (STDMETHODCALLTYPE *SetLogFile)(
   6243         IGraphBuilder* This,
   6244         DWORD_PTR hFile);
   6245 
   6246     HRESULT (STDMETHODCALLTYPE *Abort)(
   6247         IGraphBuilder* This);
   6248 
   6249     HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)(
   6250         IGraphBuilder* This);
   6251 
   6252     END_INTERFACE
   6253 } IGraphBuilderVtbl;
   6254 interface IGraphBuilder {
   6255     CONST_VTBL IGraphBuilderVtbl* lpVtbl;
   6256 };
   6257 
   6258 #ifdef COBJMACROS
   6259 #ifndef WIDL_C_INLINE_WRAPPERS
   6260 /*** IUnknown methods ***/
   6261 #define IGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6262 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   6263 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   6264 /*** IFilterGraph methods ***/
   6265 #define IGraphBuilder_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   6266 #define IGraphBuilder_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   6267 #define IGraphBuilder_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   6268 #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   6269 #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   6270 #define IGraphBuilder_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   6271 #define IGraphBuilder_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   6272 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   6273 /*** IGraphBuilder methods ***/
   6274 #define IGraphBuilder_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
   6275 #define IGraphBuilder_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
   6276 #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
   6277 #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
   6278 #define IGraphBuilder_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
   6279 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This)
   6280 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
   6281 #else
   6282 /*** IUnknown methods ***/
   6283 static FORCEINLINE HRESULT IGraphBuilder_QueryInterface(IGraphBuilder* This,REFIID riid,void **ppvObject) {
   6284     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6285 }
   6286 static FORCEINLINE ULONG IGraphBuilder_AddRef(IGraphBuilder* This) {
   6287     return This->lpVtbl->AddRef(This);
   6288 }
   6289 static FORCEINLINE ULONG IGraphBuilder_Release(IGraphBuilder* This) {
   6290     return This->lpVtbl->Release(This);
   6291 }
   6292 /*** IFilterGraph methods ***/
   6293 static FORCEINLINE HRESULT IGraphBuilder_AddFilter(IGraphBuilder* This,IBaseFilter *pFilter,LPCWSTR pName) {
   6294     return This->lpVtbl->AddFilter(This,pFilter,pName);
   6295 }
   6296 static FORCEINLINE HRESULT IGraphBuilder_RemoveFilter(IGraphBuilder* This,IBaseFilter *pFilter) {
   6297     return This->lpVtbl->RemoveFilter(This,pFilter);
   6298 }
   6299 static FORCEINLINE HRESULT IGraphBuilder_EnumFilters(IGraphBuilder* This,IEnumFilters **ppEnum) {
   6300     return This->lpVtbl->EnumFilters(This,ppEnum);
   6301 }
   6302 static FORCEINLINE HRESULT IGraphBuilder_FindFilterByName(IGraphBuilder* This,LPCWSTR pName,IBaseFilter **ppFilter) {
   6303     return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
   6304 }
   6305 static FORCEINLINE HRESULT IGraphBuilder_ConnectDirect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
   6306     return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
   6307 }
   6308 static FORCEINLINE HRESULT IGraphBuilder_Reconnect(IGraphBuilder* This,IPin *ppin) {
   6309     return This->lpVtbl->Reconnect(This,ppin);
   6310 }
   6311 static FORCEINLINE HRESULT IGraphBuilder_Disconnect(IGraphBuilder* This,IPin *ppin) {
   6312     return This->lpVtbl->Disconnect(This,ppin);
   6313 }
   6314 static FORCEINLINE HRESULT IGraphBuilder_SetDefaultSyncSource(IGraphBuilder* This) {
   6315     return This->lpVtbl->SetDefaultSyncSource(This);
   6316 }
   6317 /*** IGraphBuilder methods ***/
   6318 static FORCEINLINE HRESULT IGraphBuilder_Connect(IGraphBuilder* This,IPin *ppinOut,IPin *ppinIn) {
   6319     return This->lpVtbl->Connect(This,ppinOut,ppinIn);
   6320 }
   6321 static FORCEINLINE HRESULT IGraphBuilder_Render(IGraphBuilder* This,IPin *ppinOut) {
   6322     return This->lpVtbl->Render(This,ppinOut);
   6323 }
   6324 static FORCEINLINE HRESULT IGraphBuilder_RenderFile(IGraphBuilder* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) {
   6325     return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList);
   6326 }
   6327 static FORCEINLINE HRESULT IGraphBuilder_AddSourceFilter(IGraphBuilder* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
   6328     return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter);
   6329 }
   6330 static FORCEINLINE HRESULT IGraphBuilder_SetLogFile(IGraphBuilder* This,DWORD_PTR hFile) {
   6331     return This->lpVtbl->SetLogFile(This,hFile);
   6332 }
   6333 static FORCEINLINE HRESULT IGraphBuilder_Abort(IGraphBuilder* This) {
   6334     return This->lpVtbl->Abort(This);
   6335 }
   6336 static FORCEINLINE HRESULT IGraphBuilder_ShouldOperationContinue(IGraphBuilder* This) {
   6337     return This->lpVtbl->ShouldOperationContinue(This);
   6338 }
   6339 #endif
   6340 #endif
   6341 
   6342 #endif
   6343 
   6344 HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy(
   6345     IGraphBuilder* This,
   6346     IPin *ppinOut,
   6347     IPin *ppinIn);
   6348 void __RPC_STUB IGraphBuilder_Connect_Stub(
   6349     IRpcStubBuffer* This,
   6350     IRpcChannelBuffer* pRpcChannelBuffer,
   6351     PRPC_MESSAGE pRpcMessage,
   6352     DWORD* pdwStubPhase);
   6353 HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy(
   6354     IGraphBuilder* This,
   6355     IPin *ppinOut);
   6356 void __RPC_STUB IGraphBuilder_Render_Stub(
   6357     IRpcStubBuffer* This,
   6358     IRpcChannelBuffer* pRpcChannelBuffer,
   6359     PRPC_MESSAGE pRpcMessage,
   6360     DWORD* pdwStubPhase);
   6361 HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy(
   6362     IGraphBuilder* This,
   6363     LPCWSTR lpcwstrFile,
   6364     LPCWSTR lpcwstrPlayList);
   6365 void __RPC_STUB IGraphBuilder_RenderFile_Stub(
   6366     IRpcStubBuffer* This,
   6367     IRpcChannelBuffer* pRpcChannelBuffer,
   6368     PRPC_MESSAGE pRpcMessage,
   6369     DWORD* pdwStubPhase);
   6370 HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy(
   6371     IGraphBuilder* This,
   6372     LPCWSTR lpcwstrFileName,
   6373     LPCWSTR lpcwstrFilterName,
   6374     IBaseFilter **ppFilter);
   6375 void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
   6376     IRpcStubBuffer* This,
   6377     IRpcChannelBuffer* pRpcChannelBuffer,
   6378     PRPC_MESSAGE pRpcMessage,
   6379     DWORD* pdwStubPhase);
   6380 HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy(
   6381     IGraphBuilder* This,
   6382     DWORD_PTR hFile);
   6383 void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
   6384     IRpcStubBuffer* This,
   6385     IRpcChannelBuffer* pRpcChannelBuffer,
   6386     PRPC_MESSAGE pRpcMessage,
   6387     DWORD* pdwStubPhase);
   6388 HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy(
   6389     IGraphBuilder* This);
   6390 void __RPC_STUB IGraphBuilder_Abort_Stub(
   6391     IRpcStubBuffer* This,
   6392     IRpcChannelBuffer* pRpcChannelBuffer,
   6393     PRPC_MESSAGE pRpcMessage,
   6394     DWORD* pdwStubPhase);
   6395 HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy(
   6396     IGraphBuilder* This);
   6397 void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
   6398     IRpcStubBuffer* This,
   6399     IRpcChannelBuffer* pRpcChannelBuffer,
   6400     PRPC_MESSAGE pRpcMessage,
   6401     DWORD* pdwStubPhase);
   6402 
   6403 #endif  /* __IGraphBuilder_INTERFACE_DEFINED__ */
   6404 
   6405 /*****************************************************************************
   6406  * ICaptureGraphBuilder interface
   6407  */
   6408 #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
   6409 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
   6410 
   6411 DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
   6412 #if defined(__cplusplus) && !defined(CINTERFACE)
   6413 MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
   6414 ICaptureGraphBuilder : public IUnknown
   6415 {
   6416     virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
   6417         IGraphBuilder *pfg) = 0;
   6418 
   6419     virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
   6420         IGraphBuilder **ppfg) = 0;
   6421 
   6422     virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
   6423         const GUID *pType,
   6424         LPCOLESTR lpstrFile,
   6425         IBaseFilter **ppf,
   6426         IFileSinkFilter **ppSink) = 0;
   6427 
   6428     virtual HRESULT STDMETHODCALLTYPE FindInterface(
   6429         const GUID *pCategory,
   6430         IBaseFilter *pf,
   6431         REFIID riid,
   6432         void **ppint) = 0;
   6433 
   6434     virtual HRESULT STDMETHODCALLTYPE RenderStream(
   6435         const GUID *pCategory,
   6436         IUnknown *pSource,
   6437         IBaseFilter *pfCompressor,
   6438         IBaseFilter *pfRenderer) = 0;
   6439 
   6440     virtual HRESULT STDMETHODCALLTYPE ControlStream(
   6441         const GUID *pCategory,
   6442         IBaseFilter *pFilter,
   6443         REFERENCE_TIME *pstart,
   6444         REFERENCE_TIME *pstop,
   6445         WORD wStartCookie,
   6446         WORD wStopCookie) = 0;
   6447 
   6448     virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
   6449         LPCOLESTR lpstr,
   6450         DWORDLONG dwlSize) = 0;
   6451 
   6452     virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
   6453         LPOLESTR lpwstrOld,
   6454         LPOLESTR lpwstrNew,
   6455         int fAllowEscAbort,
   6456         IAMCopyCaptureFileProgress *pCallback) = 0;
   6457 
   6458 };
   6459 #ifdef __CRT_UUID_DECL
   6460 __CRT_UUID_DECL(ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
   6461 #endif
   6462 #else
   6463 typedef struct ICaptureGraphBuilderVtbl {
   6464     BEGIN_INTERFACE
   6465 
   6466     /*** IUnknown methods ***/
   6467     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6468         ICaptureGraphBuilder* This,
   6469         REFIID riid,
   6470         void **ppvObject);
   6471 
   6472     ULONG (STDMETHODCALLTYPE *AddRef)(
   6473         ICaptureGraphBuilder* This);
   6474 
   6475     ULONG (STDMETHODCALLTYPE *Release)(
   6476         ICaptureGraphBuilder* This);
   6477 
   6478     /*** ICaptureGraphBuilder methods ***/
   6479     HRESULT (STDMETHODCALLTYPE *SetFiltergraph)(
   6480         ICaptureGraphBuilder* This,
   6481         IGraphBuilder *pfg);
   6482 
   6483     HRESULT (STDMETHODCALLTYPE *GetFiltergraph)(
   6484         ICaptureGraphBuilder* This,
   6485         IGraphBuilder **ppfg);
   6486 
   6487     HRESULT (STDMETHODCALLTYPE *SetOutputFileName)(
   6488         ICaptureGraphBuilder* This,
   6489         const GUID *pType,
   6490         LPCOLESTR lpstrFile,
   6491         IBaseFilter **ppf,
   6492         IFileSinkFilter **ppSink);
   6493 
   6494     HRESULT (STDMETHODCALLTYPE *FindInterface)(
   6495         ICaptureGraphBuilder* This,
   6496         const GUID *pCategory,
   6497         IBaseFilter *pf,
   6498         REFIID riid,
   6499         void **ppint);
   6500 
   6501     HRESULT (STDMETHODCALLTYPE *RenderStream)(
   6502         ICaptureGraphBuilder* This,
   6503         const GUID *pCategory,
   6504         IUnknown *pSource,
   6505         IBaseFilter *pfCompressor,
   6506         IBaseFilter *pfRenderer);
   6507 
   6508     HRESULT (STDMETHODCALLTYPE *ControlStream)(
   6509         ICaptureGraphBuilder* This,
   6510         const GUID *pCategory,
   6511         IBaseFilter *pFilter,
   6512         REFERENCE_TIME *pstart,
   6513         REFERENCE_TIME *pstop,
   6514         WORD wStartCookie,
   6515         WORD wStopCookie);
   6516 
   6517     HRESULT (STDMETHODCALLTYPE *AllocCapFile)(
   6518         ICaptureGraphBuilder* This,
   6519         LPCOLESTR lpstr,
   6520         DWORDLONG dwlSize);
   6521 
   6522     HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)(
   6523         ICaptureGraphBuilder* This,
   6524         LPOLESTR lpwstrOld,
   6525         LPOLESTR lpwstrNew,
   6526         int fAllowEscAbort,
   6527         IAMCopyCaptureFileProgress *pCallback);
   6528 
   6529     END_INTERFACE
   6530 } ICaptureGraphBuilderVtbl;
   6531 interface ICaptureGraphBuilder {
   6532     CONST_VTBL ICaptureGraphBuilderVtbl* lpVtbl;
   6533 };
   6534 
   6535 #ifdef COBJMACROS
   6536 #ifndef WIDL_C_INLINE_WRAPPERS
   6537 /*** IUnknown methods ***/
   6538 #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6539 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   6540 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   6541 /*** ICaptureGraphBuilder methods ***/
   6542 #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
   6543 #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
   6544 #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
   6545 #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint)
   6546 #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
   6547 #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
   6548 #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
   6549 #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
   6550 #else
   6551 /*** IUnknown methods ***/
   6552 static FORCEINLINE HRESULT ICaptureGraphBuilder_QueryInterface(ICaptureGraphBuilder* This,REFIID riid,void **ppvObject) {
   6553     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6554 }
   6555 static FORCEINLINE ULONG ICaptureGraphBuilder_AddRef(ICaptureGraphBuilder* This) {
   6556     return This->lpVtbl->AddRef(This);
   6557 }
   6558 static FORCEINLINE ULONG ICaptureGraphBuilder_Release(ICaptureGraphBuilder* This) {
   6559     return This->lpVtbl->Release(This);
   6560 }
   6561 /*** ICaptureGraphBuilder methods ***/
   6562 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder *pfg) {
   6563     return This->lpVtbl->SetFiltergraph(This,pfg);
   6564 }
   6565 static FORCEINLINE HRESULT ICaptureGraphBuilder_GetFiltergraph(ICaptureGraphBuilder* This,IGraphBuilder **ppfg) {
   6566     return This->lpVtbl->GetFiltergraph(This,ppfg);
   6567 }
   6568 static FORCEINLINE HRESULT ICaptureGraphBuilder_SetOutputFileName(ICaptureGraphBuilder* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) {
   6569     return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink);
   6570 }
   6571 static FORCEINLINE HRESULT ICaptureGraphBuilder_FindInterface(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pf,REFIID riid,void **ppint) {
   6572     return This->lpVtbl->FindInterface(This,pCategory,pf,riid,ppint);
   6573 }
   6574 static FORCEINLINE HRESULT ICaptureGraphBuilder_RenderStream(ICaptureGraphBuilder* This,const GUID *pCategory,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) {
   6575     return This->lpVtbl->RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer);
   6576 }
   6577 static FORCEINLINE HRESULT ICaptureGraphBuilder_ControlStream(ICaptureGraphBuilder* This,const GUID *pCategory,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) {
   6578     return This->lpVtbl->ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie);
   6579 }
   6580 static FORCEINLINE HRESULT ICaptureGraphBuilder_AllocCapFile(ICaptureGraphBuilder* This,LPCOLESTR lpstr,DWORDLONG dwlSize) {
   6581     return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize);
   6582 }
   6583 static FORCEINLINE HRESULT ICaptureGraphBuilder_CopyCaptureFile(ICaptureGraphBuilder* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) {
   6584     return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback);
   6585 }
   6586 #endif
   6587 #endif
   6588 
   6589 #endif
   6590 
   6591 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy(
   6592     ICaptureGraphBuilder* This,
   6593     IGraphBuilder *pfg);
   6594 void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
   6595     IRpcStubBuffer* This,
   6596     IRpcChannelBuffer* pRpcChannelBuffer,
   6597     PRPC_MESSAGE pRpcMessage,
   6598     DWORD* pdwStubPhase);
   6599 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy(
   6600     ICaptureGraphBuilder* This,
   6601     IGraphBuilder **ppfg);
   6602 void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
   6603     IRpcStubBuffer* This,
   6604     IRpcChannelBuffer* pRpcChannelBuffer,
   6605     PRPC_MESSAGE pRpcMessage,
   6606     DWORD* pdwStubPhase);
   6607 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy(
   6608     ICaptureGraphBuilder* This,
   6609     const GUID *pType,
   6610     LPCOLESTR lpstrFile,
   6611     IBaseFilter **ppf,
   6612     IFileSinkFilter **ppSink);
   6613 void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
   6614     IRpcStubBuffer* This,
   6615     IRpcChannelBuffer* pRpcChannelBuffer,
   6616     PRPC_MESSAGE pRpcMessage,
   6617     DWORD* pdwStubPhase);
   6618 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy(
   6619     ICaptureGraphBuilder* This,
   6620     const GUID *pCategory,
   6621     IBaseFilter *pf,
   6622     REFIID riid,
   6623     IUnknown **ppint);
   6624 void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
   6625     IRpcStubBuffer* This,
   6626     IRpcChannelBuffer* pRpcChannelBuffer,
   6627     PRPC_MESSAGE pRpcMessage,
   6628     DWORD* pdwStubPhase);
   6629 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy(
   6630     ICaptureGraphBuilder* This,
   6631     const GUID *pCategory,
   6632     IUnknown *pSource,
   6633     IBaseFilter *pfCompressor,
   6634     IBaseFilter *pfRenderer);
   6635 void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
   6636     IRpcStubBuffer* This,
   6637     IRpcChannelBuffer* pRpcChannelBuffer,
   6638     PRPC_MESSAGE pRpcMessage,
   6639     DWORD* pdwStubPhase);
   6640 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy(
   6641     ICaptureGraphBuilder* This,
   6642     const GUID *pCategory,
   6643     IBaseFilter *pFilter,
   6644     REFERENCE_TIME *pstart,
   6645     REFERENCE_TIME *pstop,
   6646     WORD wStartCookie,
   6647     WORD wStopCookie);
   6648 void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
   6649     IRpcStubBuffer* This,
   6650     IRpcChannelBuffer* pRpcChannelBuffer,
   6651     PRPC_MESSAGE pRpcMessage,
   6652     DWORD* pdwStubPhase);
   6653 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy(
   6654     ICaptureGraphBuilder* This,
   6655     LPCOLESTR lpstr,
   6656     DWORDLONG dwlSize);
   6657 void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
   6658     IRpcStubBuffer* This,
   6659     IRpcChannelBuffer* pRpcChannelBuffer,
   6660     PRPC_MESSAGE pRpcMessage,
   6661     DWORD* pdwStubPhase);
   6662 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy(
   6663     ICaptureGraphBuilder* This,
   6664     LPOLESTR lpwstrOld,
   6665     LPOLESTR lpwstrNew,
   6666     int fAllowEscAbort,
   6667     IAMCopyCaptureFileProgress *pCallback);
   6668 void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
   6669     IRpcStubBuffer* This,
   6670     IRpcChannelBuffer* pRpcChannelBuffer,
   6671     PRPC_MESSAGE pRpcMessage,
   6672     DWORD* pdwStubPhase);
   6673 HRESULT CALLBACK ICaptureGraphBuilder_FindInterface_Proxy(
   6674     ICaptureGraphBuilder* This,
   6675     const GUID *pCategory,
   6676     IBaseFilter *pf,
   6677     REFIID riid,
   6678     void **ppint);
   6679 HRESULT __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub(
   6680     ICaptureGraphBuilder* This,
   6681     const GUID *pCategory,
   6682     IBaseFilter *pf,
   6683     REFIID riid,
   6684     IUnknown **ppint);
   6685 
   6686 #endif  /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
   6687 
   6688 /*****************************************************************************
   6689  * IAMCopyCaptureFileProgress interface
   6690  */
   6691 #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
   6692 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
   6693 
   6694 DEFINE_GUID(IID_IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5);
   6695 #if defined(__cplusplus) && !defined(CINTERFACE)
   6696 MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
   6697 IAMCopyCaptureFileProgress : public IUnknown
   6698 {
   6699     virtual HRESULT STDMETHODCALLTYPE Progress(
   6700         int iProgress) = 0;
   6701 
   6702 };
   6703 #ifdef __CRT_UUID_DECL
   6704 __CRT_UUID_DECL(IAMCopyCaptureFileProgress, 0x670d1d20, 0xa068, 0x11d0, 0xb3,0xf0, 0x00,0xaa,0x00,0x37,0x61,0xc5)
   6705 #endif
   6706 #else
   6707 typedef struct IAMCopyCaptureFileProgressVtbl {
   6708     BEGIN_INTERFACE
   6709 
   6710     /*** IUnknown methods ***/
   6711     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6712         IAMCopyCaptureFileProgress* This,
   6713         REFIID riid,
   6714         void **ppvObject);
   6715 
   6716     ULONG (STDMETHODCALLTYPE *AddRef)(
   6717         IAMCopyCaptureFileProgress* This);
   6718 
   6719     ULONG (STDMETHODCALLTYPE *Release)(
   6720         IAMCopyCaptureFileProgress* This);
   6721 
   6722     /*** IAMCopyCaptureFileProgress methods ***/
   6723     HRESULT (STDMETHODCALLTYPE *Progress)(
   6724         IAMCopyCaptureFileProgress* This,
   6725         int iProgress);
   6726 
   6727     END_INTERFACE
   6728 } IAMCopyCaptureFileProgressVtbl;
   6729 interface IAMCopyCaptureFileProgress {
   6730     CONST_VTBL IAMCopyCaptureFileProgressVtbl* lpVtbl;
   6731 };
   6732 
   6733 #ifdef COBJMACROS
   6734 #ifndef WIDL_C_INLINE_WRAPPERS
   6735 /*** IUnknown methods ***/
   6736 #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6737 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
   6738 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This)
   6739 /*** IAMCopyCaptureFileProgress methods ***/
   6740 #define IAMCopyCaptureFileProgress_Progress(This,iProgress) (This)->lpVtbl->Progress(This,iProgress)
   6741 #else
   6742 /*** IUnknown methods ***/
   6743 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_QueryInterface(IAMCopyCaptureFileProgress* This,REFIID riid,void **ppvObject) {
   6744     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6745 }
   6746 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_AddRef(IAMCopyCaptureFileProgress* This) {
   6747     return This->lpVtbl->AddRef(This);
   6748 }
   6749 static FORCEINLINE ULONG IAMCopyCaptureFileProgress_Release(IAMCopyCaptureFileProgress* This) {
   6750     return This->lpVtbl->Release(This);
   6751 }
   6752 /*** IAMCopyCaptureFileProgress methods ***/
   6753 static FORCEINLINE HRESULT IAMCopyCaptureFileProgress_Progress(IAMCopyCaptureFileProgress* This,int iProgress) {
   6754     return This->lpVtbl->Progress(This,iProgress);
   6755 }
   6756 #endif
   6757 #endif
   6758 
   6759 #endif
   6760 
   6761 HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy(
   6762     IAMCopyCaptureFileProgress* This,
   6763     int iProgress);
   6764 void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
   6765     IRpcStubBuffer* This,
   6766     IRpcChannelBuffer* pRpcChannelBuffer,
   6767     PRPC_MESSAGE pRpcMessage,
   6768     DWORD* pdwStubPhase);
   6769 
   6770 #endif  /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
   6771 
   6772 /*****************************************************************************
   6773  * ICaptureGraphBuilder2 interface
   6774  */
   6775 #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
   6776 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
   6777 
   6778 DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d);
   6779 #if defined(__cplusplus) && !defined(CINTERFACE)
   6780 MIDL_INTERFACE("93e5a4e0-2d50-11d2-abfa-00a0c9c6e38d")
   6781 ICaptureGraphBuilder2 : public IUnknown
   6782 {
   6783     virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
   6784         IGraphBuilder *pfg) = 0;
   6785 
   6786     virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
   6787         IGraphBuilder **ppfg) = 0;
   6788 
   6789     virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
   6790         const GUID *pType,
   6791         LPCOLESTR lpstrFile,
   6792         IBaseFilter **ppf,
   6793         IFileSinkFilter **ppSink) = 0;
   6794 
   6795     virtual HRESULT STDMETHODCALLTYPE FindInterface(
   6796         const GUID *pCategory,
   6797         const GUID *pType,
   6798         IBaseFilter *pf,
   6799         REFIID riid,
   6800         void **ppint) = 0;
   6801 
   6802     virtual HRESULT STDMETHODCALLTYPE RenderStream(
   6803         const GUID *pCategory,
   6804         const GUID *pType,
   6805         IUnknown *pSource,
   6806         IBaseFilter *pfCompressor,
   6807         IBaseFilter *pfRenderer) = 0;
   6808 
   6809     virtual HRESULT STDMETHODCALLTYPE ControlStream(
   6810         const GUID *pCategory,
   6811         const GUID *pType,
   6812         IBaseFilter *pFilter,
   6813         REFERENCE_TIME *pstart,
   6814         REFERENCE_TIME *pstop,
   6815         WORD wStartCookie,
   6816         WORD wStopCookie) = 0;
   6817 
   6818     virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
   6819         LPCOLESTR lpstr,
   6820         DWORDLONG dwlSize) = 0;
   6821 
   6822     virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
   6823         LPOLESTR lpwstrOld,
   6824         LPOLESTR lpwstrNew,
   6825         int fAllowEscAbort,
   6826         IAMCopyCaptureFileProgress *pCallback) = 0;
   6827 
   6828     virtual HRESULT STDMETHODCALLTYPE FindPin(
   6829         IUnknown *pSource,
   6830         PIN_DIRECTION pindir,
   6831         const GUID *pCategory,
   6832         const GUID *pType,
   6833         WINBOOL fUnconnected,
   6834         int num,
   6835         IPin **ppPin) = 0;
   6836 
   6837 };
   6838 #ifdef __CRT_UUID_DECL
   6839 __CRT_UUID_DECL(ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,0xfa, 0x00,0xa0,0xc9,0xc6,0xe3,0x8d)
   6840 #endif
   6841 #else
   6842 typedef struct ICaptureGraphBuilder2Vtbl {
   6843     BEGIN_INTERFACE
   6844 
   6845     /*** IUnknown methods ***/
   6846     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6847         ICaptureGraphBuilder2* This,
   6848         REFIID riid,
   6849         void **ppvObject);
   6850 
   6851     ULONG (STDMETHODCALLTYPE *AddRef)(
   6852         ICaptureGraphBuilder2* This);
   6853 
   6854     ULONG (STDMETHODCALLTYPE *Release)(
   6855         ICaptureGraphBuilder2* This);
   6856 
   6857     /*** ICaptureGraphBuilder2 methods ***/
   6858     HRESULT (STDMETHODCALLTYPE *SetFiltergraph)(
   6859         ICaptureGraphBuilder2* This,
   6860         IGraphBuilder *pfg);
   6861 
   6862     HRESULT (STDMETHODCALLTYPE *GetFiltergraph)(
   6863         ICaptureGraphBuilder2* This,
   6864         IGraphBuilder **ppfg);
   6865 
   6866     HRESULT (STDMETHODCALLTYPE *SetOutputFileName)(
   6867         ICaptureGraphBuilder2* This,
   6868         const GUID *pType,
   6869         LPCOLESTR lpstrFile,
   6870         IBaseFilter **ppf,
   6871         IFileSinkFilter **ppSink);
   6872 
   6873     HRESULT (STDMETHODCALLTYPE *FindInterface)(
   6874         ICaptureGraphBuilder2* This,
   6875         const GUID *pCategory,
   6876         const GUID *pType,
   6877         IBaseFilter *pf,
   6878         REFIID riid,
   6879         void **ppint);
   6880 
   6881     HRESULT (STDMETHODCALLTYPE *RenderStream)(
   6882         ICaptureGraphBuilder2* This,
   6883         const GUID *pCategory,
   6884         const GUID *pType,
   6885         IUnknown *pSource,
   6886         IBaseFilter *pfCompressor,
   6887         IBaseFilter *pfRenderer);
   6888 
   6889     HRESULT (STDMETHODCALLTYPE *ControlStream)(
   6890         ICaptureGraphBuilder2* This,
   6891         const GUID *pCategory,
   6892         const GUID *pType,
   6893         IBaseFilter *pFilter,
   6894         REFERENCE_TIME *pstart,
   6895         REFERENCE_TIME *pstop,
   6896         WORD wStartCookie,
   6897         WORD wStopCookie);
   6898 
   6899     HRESULT (STDMETHODCALLTYPE *AllocCapFile)(
   6900         ICaptureGraphBuilder2* This,
   6901         LPCOLESTR lpstr,
   6902         DWORDLONG dwlSize);
   6903 
   6904     HRESULT (STDMETHODCALLTYPE *CopyCaptureFile)(
   6905         ICaptureGraphBuilder2* This,
   6906         LPOLESTR lpwstrOld,
   6907         LPOLESTR lpwstrNew,
   6908         int fAllowEscAbort,
   6909         IAMCopyCaptureFileProgress *pCallback);
   6910 
   6911     HRESULT (STDMETHODCALLTYPE *FindPin)(
   6912         ICaptureGraphBuilder2* This,
   6913         IUnknown *pSource,
   6914         PIN_DIRECTION pindir,
   6915         const GUID *pCategory,
   6916         const GUID *pType,
   6917         WINBOOL fUnconnected,
   6918         int num,
   6919         IPin **ppPin);
   6920 
   6921     END_INTERFACE
   6922 } ICaptureGraphBuilder2Vtbl;
   6923 interface ICaptureGraphBuilder2 {
   6924     CONST_VTBL ICaptureGraphBuilder2Vtbl* lpVtbl;
   6925 };
   6926 
   6927 #ifdef COBJMACROS
   6928 #ifndef WIDL_C_INLINE_WRAPPERS
   6929 /*** IUnknown methods ***/
   6930 #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6931 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This)
   6932 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This)
   6933 /*** ICaptureGraphBuilder2 methods ***/
   6934 #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) (This)->lpVtbl->SetFiltergraph(This,pfg)
   6935 #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) (This)->lpVtbl->GetFiltergraph(This,ppfg)
   6936 #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) (This)->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
   6937 #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) (This)->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint)
   6938 #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) (This)->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
   6939 #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) (This)->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
   6940 #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) (This)->lpVtbl->AllocCapFile(This,lpstr,dwlSize)
   6941 #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) (This)->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
   6942 #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) (This)->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
   6943 #else
   6944 /*** IUnknown methods ***/
   6945 static FORCEINLINE HRESULT ICaptureGraphBuilder2_QueryInterface(ICaptureGraphBuilder2* This,REFIID riid,void **ppvObject) {
   6946     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6947 }
   6948 static FORCEINLINE ULONG ICaptureGraphBuilder2_AddRef(ICaptureGraphBuilder2* This) {
   6949     return This->lpVtbl->AddRef(This);
   6950 }
   6951 static FORCEINLINE ULONG ICaptureGraphBuilder2_Release(ICaptureGraphBuilder2* This) {
   6952     return This->lpVtbl->Release(This);
   6953 }
   6954 /*** ICaptureGraphBuilder2 methods ***/
   6955 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder *pfg) {
   6956     return This->lpVtbl->SetFiltergraph(This,pfg);
   6957 }
   6958 static FORCEINLINE HRESULT ICaptureGraphBuilder2_GetFiltergraph(ICaptureGraphBuilder2* This,IGraphBuilder **ppfg) {
   6959     return This->lpVtbl->GetFiltergraph(This,ppfg);
   6960 }
   6961 static FORCEINLINE HRESULT ICaptureGraphBuilder2_SetOutputFileName(ICaptureGraphBuilder2* This,const GUID *pType,LPCOLESTR lpstrFile,IBaseFilter **ppf,IFileSinkFilter **ppSink) {
   6962     return This->lpVtbl->SetOutputFileName(This,pType,lpstrFile,ppf,ppSink);
   6963 }
   6964 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindInterface(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pf,REFIID riid,void **ppint) {
   6965     return This->lpVtbl->FindInterface(This,pCategory,pType,pf,riid,ppint);
   6966 }
   6967 static FORCEINLINE HRESULT ICaptureGraphBuilder2_RenderStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IUnknown *pSource,IBaseFilter *pfCompressor,IBaseFilter *pfRenderer) {
   6968     return This->lpVtbl->RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer);
   6969 }
   6970 static FORCEINLINE HRESULT ICaptureGraphBuilder2_ControlStream(ICaptureGraphBuilder2* This,const GUID *pCategory,const GUID *pType,IBaseFilter *pFilter,REFERENCE_TIME *pstart,REFERENCE_TIME *pstop,WORD wStartCookie,WORD wStopCookie) {
   6971     return This->lpVtbl->ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie);
   6972 }
   6973 static FORCEINLINE HRESULT ICaptureGraphBuilder2_AllocCapFile(ICaptureGraphBuilder2* This,LPCOLESTR lpstr,DWORDLONG dwlSize) {
   6974     return This->lpVtbl->AllocCapFile(This,lpstr,dwlSize);
   6975 }
   6976 static FORCEINLINE HRESULT ICaptureGraphBuilder2_CopyCaptureFile(ICaptureGraphBuilder2* This,LPOLESTR lpwstrOld,LPOLESTR lpwstrNew,int fAllowEscAbort,IAMCopyCaptureFileProgress *pCallback) {
   6977     return This->lpVtbl->CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback);
   6978 }
   6979 static FORCEINLINE HRESULT ICaptureGraphBuilder2_FindPin(ICaptureGraphBuilder2* This,IUnknown *pSource,PIN_DIRECTION pindir,const GUID *pCategory,const GUID *pType,WINBOOL fUnconnected,int num,IPin **ppPin) {
   6980     return This->lpVtbl->FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin);
   6981 }
   6982 #endif
   6983 #endif
   6984 
   6985 #endif
   6986 
   6987 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy(
   6988     ICaptureGraphBuilder2* This,
   6989     IGraphBuilder *pfg);
   6990 void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
   6991     IRpcStubBuffer* This,
   6992     IRpcChannelBuffer* pRpcChannelBuffer,
   6993     PRPC_MESSAGE pRpcMessage,
   6994     DWORD* pdwStubPhase);
   6995 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy(
   6996     ICaptureGraphBuilder2* This,
   6997     IGraphBuilder **ppfg);
   6998 void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
   6999     IRpcStubBuffer* This,
   7000     IRpcChannelBuffer* pRpcChannelBuffer,
   7001     PRPC_MESSAGE pRpcMessage,
   7002     DWORD* pdwStubPhase);
   7003 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy(
   7004     ICaptureGraphBuilder2* This,
   7005     const GUID *pType,
   7006     LPCOLESTR lpstrFile,
   7007     IBaseFilter **ppf,
   7008     IFileSinkFilter **ppSink);
   7009 void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
   7010     IRpcStubBuffer* This,
   7011     IRpcChannelBuffer* pRpcChannelBuffer,
   7012     PRPC_MESSAGE pRpcMessage,
   7013     DWORD* pdwStubPhase);
   7014 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy(
   7015     ICaptureGraphBuilder2* This,
   7016     const GUID *pCategory,
   7017     const GUID *pType,
   7018     IBaseFilter *pf,
   7019     REFIID riid,
   7020     IUnknown **ppint);
   7021 void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
   7022     IRpcStubBuffer* This,
   7023     IRpcChannelBuffer* pRpcChannelBuffer,
   7024     PRPC_MESSAGE pRpcMessage,
   7025     DWORD* pdwStubPhase);
   7026 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy(
   7027     ICaptureGraphBuilder2* This,
   7028     const GUID *pCategory,
   7029     const GUID *pType,
   7030     IUnknown *pSource,
   7031     IBaseFilter *pfCompressor,
   7032     IBaseFilter *pfRenderer);
   7033 void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
   7034     IRpcStubBuffer* This,
   7035     IRpcChannelBuffer* pRpcChannelBuffer,
   7036     PRPC_MESSAGE pRpcMessage,
   7037     DWORD* pdwStubPhase);
   7038 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy(
   7039     ICaptureGraphBuilder2* This,
   7040     const GUID *pCategory,
   7041     const GUID *pType,
   7042     IBaseFilter *pFilter,
   7043     REFERENCE_TIME *pstart,
   7044     REFERENCE_TIME *pstop,
   7045     WORD wStartCookie,
   7046     WORD wStopCookie);
   7047 void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
   7048     IRpcStubBuffer* This,
   7049     IRpcChannelBuffer* pRpcChannelBuffer,
   7050     PRPC_MESSAGE pRpcMessage,
   7051     DWORD* pdwStubPhase);
   7052 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy(
   7053     ICaptureGraphBuilder2* This,
   7054     LPCOLESTR lpstr,
   7055     DWORDLONG dwlSize);
   7056 void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
   7057     IRpcStubBuffer* This,
   7058     IRpcChannelBuffer* pRpcChannelBuffer,
   7059     PRPC_MESSAGE pRpcMessage,
   7060     DWORD* pdwStubPhase);
   7061 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy(
   7062     ICaptureGraphBuilder2* This,
   7063     LPOLESTR lpwstrOld,
   7064     LPOLESTR lpwstrNew,
   7065     int fAllowEscAbort,
   7066     IAMCopyCaptureFileProgress *pCallback);
   7067 void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
   7068     IRpcStubBuffer* This,
   7069     IRpcChannelBuffer* pRpcChannelBuffer,
   7070     PRPC_MESSAGE pRpcMessage,
   7071     DWORD* pdwStubPhase);
   7072 HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy(
   7073     ICaptureGraphBuilder2* This,
   7074     IUnknown *pSource,
   7075     PIN_DIRECTION pindir,
   7076     const GUID *pCategory,
   7077     const GUID *pType,
   7078     WINBOOL fUnconnected,
   7079     int num,
   7080     IPin **ppPin);
   7081 void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
   7082     IRpcStubBuffer* This,
   7083     IRpcChannelBuffer* pRpcChannelBuffer,
   7084     PRPC_MESSAGE pRpcMessage,
   7085     DWORD* pdwStubPhase);
   7086 HRESULT CALLBACK ICaptureGraphBuilder2_FindInterface_Proxy(
   7087     ICaptureGraphBuilder2* This,
   7088     const GUID *pCategory,
   7089     const GUID *pType,
   7090     IBaseFilter *pf,
   7091     REFIID riid,
   7092     void **ppint);
   7093 HRESULT __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub(
   7094     ICaptureGraphBuilder2* This,
   7095     const GUID *pCategory,
   7096     const GUID *pType,
   7097     IBaseFilter *pf,
   7098     REFIID riid,
   7099     IUnknown **ppint);
   7100 
   7101 #endif  /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
   7102 
   7103 enum _AM_RENSDEREXFLAGS {
   7104     AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
   7105 };
   7106 
   7107 /*****************************************************************************
   7108  * IFilterGraph2 interface
   7109  */
   7110 #ifndef __IFilterGraph2_INTERFACE_DEFINED__
   7111 #define __IFilterGraph2_INTERFACE_DEFINED__
   7112 
   7113 DEFINE_GUID(IID_IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   7114 #if defined(__cplusplus) && !defined(CINTERFACE)
   7115 MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
   7116 IFilterGraph2 : public IGraphBuilder
   7117 {
   7118     virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker(
   7119         IMoniker *pMoniker,
   7120         IBindCtx *pCtx,
   7121         LPCWSTR lpcwstrFilterName,
   7122         IBaseFilter **ppFilter) = 0;
   7123 
   7124     virtual HRESULT STDMETHODCALLTYPE ReconnectEx(
   7125         IPin *ppin,
   7126         const AM_MEDIA_TYPE *pmt) = 0;
   7127 
   7128     virtual HRESULT STDMETHODCALLTYPE RenderEx(
   7129         IPin *pPinOut,
   7130         DWORD dwFlags,
   7131         DWORD *pvContext) = 0;
   7132 
   7133 };
   7134 #ifdef __CRT_UUID_DECL
   7135 __CRT_UUID_DECL(IFilterGraph2, 0x36b73882, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   7136 #endif
   7137 #else
   7138 typedef struct IFilterGraph2Vtbl {
   7139     BEGIN_INTERFACE
   7140 
   7141     /*** IUnknown methods ***/
   7142     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7143         IFilterGraph2* This,
   7144         REFIID riid,
   7145         void **ppvObject);
   7146 
   7147     ULONG (STDMETHODCALLTYPE *AddRef)(
   7148         IFilterGraph2* This);
   7149 
   7150     ULONG (STDMETHODCALLTYPE *Release)(
   7151         IFilterGraph2* This);
   7152 
   7153     /*** IFilterGraph methods ***/
   7154     HRESULT (STDMETHODCALLTYPE *AddFilter)(
   7155         IFilterGraph2* This,
   7156         IBaseFilter *pFilter,
   7157         LPCWSTR pName);
   7158 
   7159     HRESULT (STDMETHODCALLTYPE *RemoveFilter)(
   7160         IFilterGraph2* This,
   7161         IBaseFilter *pFilter);
   7162 
   7163     HRESULT (STDMETHODCALLTYPE *EnumFilters)(
   7164         IFilterGraph2* This,
   7165         IEnumFilters **ppEnum);
   7166 
   7167     HRESULT (STDMETHODCALLTYPE *FindFilterByName)(
   7168         IFilterGraph2* This,
   7169         LPCWSTR pName,
   7170         IBaseFilter **ppFilter);
   7171 
   7172     HRESULT (STDMETHODCALLTYPE *ConnectDirect)(
   7173         IFilterGraph2* This,
   7174         IPin *ppinOut,
   7175         IPin *ppinIn,
   7176         const AM_MEDIA_TYPE *pmt);
   7177 
   7178     HRESULT (STDMETHODCALLTYPE *Reconnect)(
   7179         IFilterGraph2* This,
   7180         IPin *ppin);
   7181 
   7182     HRESULT (STDMETHODCALLTYPE *Disconnect)(
   7183         IFilterGraph2* This,
   7184         IPin *ppin);
   7185 
   7186     HRESULT (STDMETHODCALLTYPE *SetDefaultSyncSource)(
   7187         IFilterGraph2* This);
   7188 
   7189     /*** IGraphBuilder methods ***/
   7190     HRESULT (STDMETHODCALLTYPE *Connect)(
   7191         IFilterGraph2* This,
   7192         IPin *ppinOut,
   7193         IPin *ppinIn);
   7194 
   7195     HRESULT (STDMETHODCALLTYPE *Render)(
   7196         IFilterGraph2* This,
   7197         IPin *ppinOut);
   7198 
   7199     HRESULT (STDMETHODCALLTYPE *RenderFile)(
   7200         IFilterGraph2* This,
   7201         LPCWSTR lpcwstrFile,
   7202         LPCWSTR lpcwstrPlayList);
   7203 
   7204     HRESULT (STDMETHODCALLTYPE *AddSourceFilter)(
   7205         IFilterGraph2* This,
   7206         LPCWSTR lpcwstrFileName,
   7207         LPCWSTR lpcwstrFilterName,
   7208         IBaseFilter **ppFilter);
   7209 
   7210     HRESULT (STDMETHODCALLTYPE *SetLogFile)(
   7211         IFilterGraph2* This,
   7212         DWORD_PTR hFile);
   7213 
   7214     HRESULT (STDMETHODCALLTYPE *Abort)(
   7215         IFilterGraph2* This);
   7216 
   7217     HRESULT (STDMETHODCALLTYPE *ShouldOperationContinue)(
   7218         IFilterGraph2* This);
   7219 
   7220     /*** IFilterGraph2 methods ***/
   7221     HRESULT (STDMETHODCALLTYPE *AddSourceFilterForMoniker)(
   7222         IFilterGraph2* This,
   7223         IMoniker *pMoniker,
   7224         IBindCtx *pCtx,
   7225         LPCWSTR lpcwstrFilterName,
   7226         IBaseFilter **ppFilter);
   7227 
   7228     HRESULT (STDMETHODCALLTYPE *ReconnectEx)(
   7229         IFilterGraph2* This,
   7230         IPin *ppin,
   7231         const AM_MEDIA_TYPE *pmt);
   7232 
   7233     HRESULT (STDMETHODCALLTYPE *RenderEx)(
   7234         IFilterGraph2* This,
   7235         IPin *pPinOut,
   7236         DWORD dwFlags,
   7237         DWORD *pvContext);
   7238 
   7239     END_INTERFACE
   7240 } IFilterGraph2Vtbl;
   7241 interface IFilterGraph2 {
   7242     CONST_VTBL IFilterGraph2Vtbl* lpVtbl;
   7243 };
   7244 
   7245 #ifdef COBJMACROS
   7246 #ifndef WIDL_C_INLINE_WRAPPERS
   7247 /*** IUnknown methods ***/
   7248 #define IFilterGraph2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7249 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This)
   7250 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This)
   7251 /*** IFilterGraph methods ***/
   7252 #define IFilterGraph2_AddFilter(This,pFilter,pName) (This)->lpVtbl->AddFilter(This,pFilter,pName)
   7253 #define IFilterGraph2_RemoveFilter(This,pFilter) (This)->lpVtbl->RemoveFilter(This,pFilter)
   7254 #define IFilterGraph2_EnumFilters(This,ppEnum) (This)->lpVtbl->EnumFilters(This,ppEnum)
   7255 #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) (This)->lpVtbl->FindFilterByName(This,pName,ppFilter)
   7256 #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) (This)->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt)
   7257 #define IFilterGraph2_Reconnect(This,ppin) (This)->lpVtbl->Reconnect(This,ppin)
   7258 #define IFilterGraph2_Disconnect(This,ppin) (This)->lpVtbl->Disconnect(This,ppin)
   7259 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
   7260 /*** IGraphBuilder methods ***/
   7261 #define IFilterGraph2_Connect(This,ppinOut,ppinIn) (This)->lpVtbl->Connect(This,ppinOut,ppinIn)
   7262 #define IFilterGraph2_Render(This,ppinOut) (This)->lpVtbl->Render(This,ppinOut)
   7263 #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) (This)->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList)
   7264 #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
   7265 #define IFilterGraph2_SetLogFile(This,hFile) (This)->lpVtbl->SetLogFile(This,hFile)
   7266 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This)
   7267 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
   7268 /*** IFilterGraph2 methods ***/
   7269 #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
   7270 #define IFilterGraph2_ReconnectEx(This,ppin,pmt) (This)->lpVtbl->ReconnectEx(This,ppin,pmt)
   7271 #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) (This)->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext)
   7272 #else
   7273 /*** IUnknown methods ***/
   7274 static FORCEINLINE HRESULT IFilterGraph2_QueryInterface(IFilterGraph2* This,REFIID riid,void **ppvObject) {
   7275     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7276 }
   7277 static FORCEINLINE ULONG IFilterGraph2_AddRef(IFilterGraph2* This) {
   7278     return This->lpVtbl->AddRef(This);
   7279 }
   7280 static FORCEINLINE ULONG IFilterGraph2_Release(IFilterGraph2* This) {
   7281     return This->lpVtbl->Release(This);
   7282 }
   7283 /*** IFilterGraph methods ***/
   7284 static FORCEINLINE HRESULT IFilterGraph2_AddFilter(IFilterGraph2* This,IBaseFilter *pFilter,LPCWSTR pName) {
   7285     return This->lpVtbl->AddFilter(This,pFilter,pName);
   7286 }
   7287 static FORCEINLINE HRESULT IFilterGraph2_RemoveFilter(IFilterGraph2* This,IBaseFilter *pFilter) {
   7288     return This->lpVtbl->RemoveFilter(This,pFilter);
   7289 }
   7290 static FORCEINLINE HRESULT IFilterGraph2_EnumFilters(IFilterGraph2* This,IEnumFilters **ppEnum) {
   7291     return This->lpVtbl->EnumFilters(This,ppEnum);
   7292 }
   7293 static FORCEINLINE HRESULT IFilterGraph2_FindFilterByName(IFilterGraph2* This,LPCWSTR pName,IBaseFilter **ppFilter) {
   7294     return This->lpVtbl->FindFilterByName(This,pName,ppFilter);
   7295 }
   7296 static FORCEINLINE HRESULT IFilterGraph2_ConnectDirect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn,const AM_MEDIA_TYPE *pmt) {
   7297     return This->lpVtbl->ConnectDirect(This,ppinOut,ppinIn,pmt);
   7298 }
   7299 static FORCEINLINE HRESULT IFilterGraph2_Reconnect(IFilterGraph2* This,IPin *ppin) {
   7300     return This->lpVtbl->Reconnect(This,ppin);
   7301 }
   7302 static FORCEINLINE HRESULT IFilterGraph2_Disconnect(IFilterGraph2* This,IPin *ppin) {
   7303     return This->lpVtbl->Disconnect(This,ppin);
   7304 }
   7305 static FORCEINLINE HRESULT IFilterGraph2_SetDefaultSyncSource(IFilterGraph2* This) {
   7306     return This->lpVtbl->SetDefaultSyncSource(This);
   7307 }
   7308 /*** IGraphBuilder methods ***/
   7309 static FORCEINLINE HRESULT IFilterGraph2_Connect(IFilterGraph2* This,IPin *ppinOut,IPin *ppinIn) {
   7310     return This->lpVtbl->Connect(This,ppinOut,ppinIn);
   7311 }
   7312 static FORCEINLINE HRESULT IFilterGraph2_Render(IFilterGraph2* This,IPin *ppinOut) {
   7313     return This->lpVtbl->Render(This,ppinOut);
   7314 }
   7315 static FORCEINLINE HRESULT IFilterGraph2_RenderFile(IFilterGraph2* This,LPCWSTR lpcwstrFile,LPCWSTR lpcwstrPlayList) {
   7316     return This->lpVtbl->RenderFile(This,lpcwstrFile,lpcwstrPlayList);
   7317 }
   7318 static FORCEINLINE HRESULT IFilterGraph2_AddSourceFilter(IFilterGraph2* This,LPCWSTR lpcwstrFileName,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
   7319     return This->lpVtbl->AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter);
   7320 }
   7321 static FORCEINLINE HRESULT IFilterGraph2_SetLogFile(IFilterGraph2* This,DWORD_PTR hFile) {
   7322     return This->lpVtbl->SetLogFile(This,hFile);
   7323 }
   7324 static FORCEINLINE HRESULT IFilterGraph2_Abort(IFilterGraph2* This) {
   7325     return This->lpVtbl->Abort(This);
   7326 }
   7327 static FORCEINLINE HRESULT IFilterGraph2_ShouldOperationContinue(IFilterGraph2* This) {
   7328     return This->lpVtbl->ShouldOperationContinue(This);
   7329 }
   7330 /*** IFilterGraph2 methods ***/
   7331 static FORCEINLINE HRESULT IFilterGraph2_AddSourceFilterForMoniker(IFilterGraph2* This,IMoniker *pMoniker,IBindCtx *pCtx,LPCWSTR lpcwstrFilterName,IBaseFilter **ppFilter) {
   7332     return This->lpVtbl->AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter);
   7333 }
   7334 static FORCEINLINE HRESULT IFilterGraph2_ReconnectEx(IFilterGraph2* This,IPin *ppin,const AM_MEDIA_TYPE *pmt) {
   7335     return This->lpVtbl->ReconnectEx(This,ppin,pmt);
   7336 }
   7337 static FORCEINLINE HRESULT IFilterGraph2_RenderEx(IFilterGraph2* This,IPin *pPinOut,DWORD dwFlags,DWORD *pvContext) {
   7338     return This->lpVtbl->RenderEx(This,pPinOut,dwFlags,pvContext);
   7339 }
   7340 #endif
   7341 #endif
   7342 
   7343 #endif
   7344 
   7345 HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy(
   7346     IFilterGraph2* This,
   7347     IMoniker *pMoniker,
   7348     IBindCtx *pCtx,
   7349     LPCWSTR lpcwstrFilterName,
   7350     IBaseFilter **ppFilter);
   7351 void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
   7352     IRpcStubBuffer* This,
   7353     IRpcChannelBuffer* pRpcChannelBuffer,
   7354     PRPC_MESSAGE pRpcMessage,
   7355     DWORD* pdwStubPhase);
   7356 HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy(
   7357     IFilterGraph2* This,
   7358     IPin *ppin,
   7359     const AM_MEDIA_TYPE *pmt);
   7360 void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
   7361     IRpcStubBuffer* This,
   7362     IRpcChannelBuffer* pRpcChannelBuffer,
   7363     PRPC_MESSAGE pRpcMessage,
   7364     DWORD* pdwStubPhase);
   7365 HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy(
   7366     IFilterGraph2* This,
   7367     IPin *pPinOut,
   7368     DWORD dwFlags,
   7369     DWORD *pvContext);
   7370 void __RPC_STUB IFilterGraph2_RenderEx_Stub(
   7371     IRpcStubBuffer* This,
   7372     IRpcChannelBuffer* pRpcChannelBuffer,
   7373     PRPC_MESSAGE pRpcMessage,
   7374     DWORD* pdwStubPhase);
   7375 
   7376 #endif  /* __IFilterGraph2_INTERFACE_DEFINED__ */
   7377 
   7378 /*****************************************************************************
   7379  * IStreamBuilder interface
   7380  */
   7381 #ifndef __IStreamBuilder_INTERFACE_DEFINED__
   7382 #define __IStreamBuilder_INTERFACE_DEFINED__
   7383 
   7384 DEFINE_GUID(IID_IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   7385 #if defined(__cplusplus) && !defined(CINTERFACE)
   7386 MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
   7387 IStreamBuilder : public IUnknown
   7388 {
   7389     virtual HRESULT STDMETHODCALLTYPE Render(
   7390         IPin *ppinOut,
   7391         IGraphBuilder *pGraph) = 0;
   7392 
   7393     virtual HRESULT STDMETHODCALLTYPE Backout(
   7394         IPin *ppinOut,
   7395         IGraphBuilder *pGraph) = 0;
   7396 
   7397 };
   7398 #ifdef __CRT_UUID_DECL
   7399 __CRT_UUID_DECL(IStreamBuilder, 0x56a868bf, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   7400 #endif
   7401 #else
   7402 typedef struct IStreamBuilderVtbl {
   7403     BEGIN_INTERFACE
   7404 
   7405     /*** IUnknown methods ***/
   7406     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7407         IStreamBuilder* This,
   7408         REFIID riid,
   7409         void **ppvObject);
   7410 
   7411     ULONG (STDMETHODCALLTYPE *AddRef)(
   7412         IStreamBuilder* This);
   7413 
   7414     ULONG (STDMETHODCALLTYPE *Release)(
   7415         IStreamBuilder* This);
   7416 
   7417     /*** IStreamBuilder methods ***/
   7418     HRESULT (STDMETHODCALLTYPE *Render)(
   7419         IStreamBuilder* This,
   7420         IPin *ppinOut,
   7421         IGraphBuilder *pGraph);
   7422 
   7423     HRESULT (STDMETHODCALLTYPE *Backout)(
   7424         IStreamBuilder* This,
   7425         IPin *ppinOut,
   7426         IGraphBuilder *pGraph);
   7427 
   7428     END_INTERFACE
   7429 } IStreamBuilderVtbl;
   7430 interface IStreamBuilder {
   7431     CONST_VTBL IStreamBuilderVtbl* lpVtbl;
   7432 };
   7433 
   7434 #ifdef COBJMACROS
   7435 #ifndef WIDL_C_INLINE_WRAPPERS
   7436 /*** IUnknown methods ***/
   7437 #define IStreamBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7438 #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   7439 #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This)
   7440 /*** IStreamBuilder methods ***/
   7441 #define IStreamBuilder_Render(This,ppinOut,pGraph) (This)->lpVtbl->Render(This,ppinOut,pGraph)
   7442 #define IStreamBuilder_Backout(This,ppinOut,pGraph) (This)->lpVtbl->Backout(This,ppinOut,pGraph)
   7443 #else
   7444 /*** IUnknown methods ***/
   7445 static FORCEINLINE HRESULT IStreamBuilder_QueryInterface(IStreamBuilder* This,REFIID riid,void **ppvObject) {
   7446     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7447 }
   7448 static FORCEINLINE ULONG IStreamBuilder_AddRef(IStreamBuilder* This) {
   7449     return This->lpVtbl->AddRef(This);
   7450 }
   7451 static FORCEINLINE ULONG IStreamBuilder_Release(IStreamBuilder* This) {
   7452     return This->lpVtbl->Release(This);
   7453 }
   7454 /*** IStreamBuilder methods ***/
   7455 static FORCEINLINE HRESULT IStreamBuilder_Render(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) {
   7456     return This->lpVtbl->Render(This,ppinOut,pGraph);
   7457 }
   7458 static FORCEINLINE HRESULT IStreamBuilder_Backout(IStreamBuilder* This,IPin *ppinOut,IGraphBuilder *pGraph) {
   7459     return This->lpVtbl->Backout(This,ppinOut,pGraph);
   7460 }
   7461 #endif
   7462 #endif
   7463 
   7464 #endif
   7465 
   7466 HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy(
   7467     IStreamBuilder* This,
   7468     IPin *ppinOut,
   7469     IGraphBuilder *pGraph);
   7470 void __RPC_STUB IStreamBuilder_Render_Stub(
   7471     IRpcStubBuffer* This,
   7472     IRpcChannelBuffer* pRpcChannelBuffer,
   7473     PRPC_MESSAGE pRpcMessage,
   7474     DWORD* pdwStubPhase);
   7475 HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy(
   7476     IStreamBuilder* This,
   7477     IPin *ppinOut,
   7478     IGraphBuilder *pGraph);
   7479 void __RPC_STUB IStreamBuilder_Backout_Stub(
   7480     IRpcStubBuffer* This,
   7481     IRpcChannelBuffer* pRpcChannelBuffer,
   7482     PRPC_MESSAGE pRpcMessage,
   7483     DWORD* pdwStubPhase);
   7484 
   7485 #endif  /* __IStreamBuilder_INTERFACE_DEFINED__ */
   7486 
   7487 /*****************************************************************************
   7488  * IAMStreamConfig interface
   7489  */
   7490 #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
   7491 #define __IAMStreamConfig_INTERFACE_DEFINED__
   7492 
   7493 typedef struct _VIDEO_STREAM_CONFIG_CAPS {
   7494     GUID guid;
   7495     ULONG VideoStandard;
   7496     SIZE InputSize;
   7497     SIZE MinCroppingSize;
   7498     SIZE MaxCroppingSize;
   7499     int CropGranularityX;
   7500     int CropGranularityY;
   7501     int CropAlignX;
   7502     int CropAlignY;
   7503     SIZE MinOutputSize;
   7504     SIZE MaxOutputSize;
   7505     int OutputGranularityX;
   7506     int OutputGranularityY;
   7507     int StretchTapsX;
   7508     int StretchTapsY;
   7509     int ShrinkTapsX;
   7510     int ShrinkTapsY;
   7511     LONGLONG MinFrameInterval;
   7512     LONGLONG MaxFrameInterval;
   7513     LONG MinBitsPerSecond;
   7514     LONG MaxBitsPerSecond;
   7515 } VIDEO_STREAM_CONFIG_CAPS;
   7516 typedef struct _AUDIO_STREAM_CONFIG_CAPS {
   7517     GUID guid;
   7518     ULONG MinimumChannels;
   7519     ULONG MaximumChannels;
   7520     ULONG ChannelsGranularity;
   7521     ULONG MinimumBitsPerSample;
   7522     ULONG MaximumBitsPerSample;
   7523     ULONG BitsPerSampleGranularity;
   7524     ULONG MinimumSampleFrequency;
   7525     ULONG MaximumSampleFrequency;
   7526     ULONG SampleFrequencyGranularity;
   7527 } AUDIO_STREAM_CONFIG_CAPS;
   7528 DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
   7529 #if defined(__cplusplus) && !defined(CINTERFACE)
   7530 MIDL_INTERFACE("c6e13340-30ac-11d0-a18c-00a0c9118956")
   7531 IAMStreamConfig : public IUnknown
   7532 {
   7533     virtual HRESULT STDMETHODCALLTYPE SetFormat(
   7534         AM_MEDIA_TYPE *pmt) = 0;
   7535 
   7536     virtual HRESULT STDMETHODCALLTYPE GetFormat(
   7537         AM_MEDIA_TYPE **pmt) = 0;
   7538 
   7539     virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(
   7540         int *piCount,
   7541         int *piSize) = 0;
   7542 
   7543     virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(
   7544         int iIndex,
   7545         AM_MEDIA_TYPE **pmt,
   7546         BYTE *pSCC) = 0;
   7547 
   7548 };
   7549 #ifdef __CRT_UUID_DECL
   7550 __CRT_UUID_DECL(IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
   7551 #endif
   7552 #else
   7553 typedef struct IAMStreamConfigVtbl {
   7554     BEGIN_INTERFACE
   7555 
   7556     /*** IUnknown methods ***/
   7557     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7558         IAMStreamConfig* This,
   7559         REFIID riid,
   7560         void **ppvObject);
   7561 
   7562     ULONG (STDMETHODCALLTYPE *AddRef)(
   7563         IAMStreamConfig* This);
   7564 
   7565     ULONG (STDMETHODCALLTYPE *Release)(
   7566         IAMStreamConfig* This);
   7567 
   7568     /*** IAMStreamConfig methods ***/
   7569     HRESULT (STDMETHODCALLTYPE *SetFormat)(
   7570         IAMStreamConfig* This,
   7571         AM_MEDIA_TYPE *pmt);
   7572 
   7573     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   7574         IAMStreamConfig* This,
   7575         AM_MEDIA_TYPE **pmt);
   7576 
   7577     HRESULT (STDMETHODCALLTYPE *GetNumberOfCapabilities)(
   7578         IAMStreamConfig* This,
   7579         int *piCount,
   7580         int *piSize);
   7581 
   7582     HRESULT (STDMETHODCALLTYPE *GetStreamCaps)(
   7583         IAMStreamConfig* This,
   7584         int iIndex,
   7585         AM_MEDIA_TYPE **pmt,
   7586         BYTE *pSCC);
   7587 
   7588     END_INTERFACE
   7589 } IAMStreamConfigVtbl;
   7590 interface IAMStreamConfig {
   7591     CONST_VTBL IAMStreamConfigVtbl* lpVtbl;
   7592 };
   7593 
   7594 #ifdef COBJMACROS
   7595 #ifndef WIDL_C_INLINE_WRAPPERS
   7596 /*** IUnknown methods ***/
   7597 #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7598 #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   7599 #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This)
   7600 /*** IAMStreamConfig methods ***/
   7601 #define IAMStreamConfig_SetFormat(This,pmt) (This)->lpVtbl->SetFormat(This,pmt)
   7602 #define IAMStreamConfig_GetFormat(This,pmt) (This)->lpVtbl->GetFormat(This,pmt)
   7603 #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) (This)->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize)
   7604 #define IAMStreamConfig_GetStreamCaps(This,iIndex,pmt,pSCC) (This)->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC)
   7605 #else
   7606 /*** IUnknown methods ***/
   7607 static FORCEINLINE HRESULT IAMStreamConfig_QueryInterface(IAMStreamConfig* This,REFIID riid,void **ppvObject) {
   7608     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7609 }
   7610 static FORCEINLINE ULONG IAMStreamConfig_AddRef(IAMStreamConfig* This) {
   7611     return This->lpVtbl->AddRef(This);
   7612 }
   7613 static FORCEINLINE ULONG IAMStreamConfig_Release(IAMStreamConfig* This) {
   7614     return This->lpVtbl->Release(This);
   7615 }
   7616 /*** IAMStreamConfig methods ***/
   7617 static FORCEINLINE HRESULT IAMStreamConfig_SetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE *pmt) {
   7618     return This->lpVtbl->SetFormat(This,pmt);
   7619 }
   7620 static FORCEINLINE HRESULT IAMStreamConfig_GetFormat(IAMStreamConfig* This,AM_MEDIA_TYPE **pmt) {
   7621     return This->lpVtbl->GetFormat(This,pmt);
   7622 }
   7623 static FORCEINLINE HRESULT IAMStreamConfig_GetNumberOfCapabilities(IAMStreamConfig* This,int *piCount,int *piSize) {
   7624     return This->lpVtbl->GetNumberOfCapabilities(This,piCount,piSize);
   7625 }
   7626 static FORCEINLINE HRESULT IAMStreamConfig_GetStreamCaps(IAMStreamConfig* This,int iIndex,AM_MEDIA_TYPE **pmt,BYTE *pSCC) {
   7627     return This->lpVtbl->GetStreamCaps(This,iIndex,pmt,pSCC);
   7628 }
   7629 #endif
   7630 #endif
   7631 
   7632 #endif
   7633 
   7634 HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy(
   7635     IAMStreamConfig* This,
   7636     AM_MEDIA_TYPE *pmt);
   7637 void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
   7638     IRpcStubBuffer* This,
   7639     IRpcChannelBuffer* pRpcChannelBuffer,
   7640     PRPC_MESSAGE pRpcMessage,
   7641     DWORD* pdwStubPhase);
   7642 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy(
   7643     IAMStreamConfig* This,
   7644     AM_MEDIA_TYPE **pmt);
   7645 void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
   7646     IRpcStubBuffer* This,
   7647     IRpcChannelBuffer* pRpcChannelBuffer,
   7648     PRPC_MESSAGE pRpcMessage,
   7649     DWORD* pdwStubPhase);
   7650 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy(
   7651     IAMStreamConfig* This,
   7652     int *piCount,
   7653     int *piSize);
   7654 void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
   7655     IRpcStubBuffer* This,
   7656     IRpcChannelBuffer* pRpcChannelBuffer,
   7657     PRPC_MESSAGE pRpcMessage,
   7658     DWORD* pdwStubPhase);
   7659 HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy(
   7660     IAMStreamConfig* This,
   7661     int iIndex,
   7662     AM_MEDIA_TYPE **pmt,
   7663     BYTE *pSCC);
   7664 void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
   7665     IRpcStubBuffer* This,
   7666     IRpcChannelBuffer* pRpcChannelBuffer,
   7667     PRPC_MESSAGE pRpcMessage,
   7668     DWORD* pdwStubPhase);
   7669 
   7670 #endif  /* __IAMStreamConfig_INTERFACE_DEFINED__ */
   7671 
   7672 typedef enum tagVideoProcAmpProperty {
   7673     VideoProcAmp_Brightness = 0,
   7674     VideoProcAmp_Contrast = 1,
   7675     VideoProcAmp_Hue = 2,
   7676     VideoProcAmp_Saturation = 3,
   7677     VideoProcAmp_Sharpness = 4,
   7678     VideoProcAmp_Gamma = 5,
   7679     VideoProcAmp_ColorEnable = 6,
   7680     VideoProcAmp_WhiteBalance = 7,
   7681     VideoProcAmp_BacklightCompensation = 8,
   7682     VideoProcAmp_Gain = 9
   7683 } VideoProcAmpProperty;
   7684 typedef enum tagVideoProcAmpFlags {
   7685     VideoProcAmp_Flags_Auto = 0x1,
   7686     VideoProcAmp_Flags_Manual = 0x2
   7687 } VideoProcAmpFlags;
   7688 /*****************************************************************************
   7689  * IAMVideoProcAmp interface
   7690  */
   7691 #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
   7692 #define __IAMVideoProcAmp_INTERFACE_DEFINED__
   7693 
   7694 DEFINE_GUID(IID_IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56);
   7695 #if defined(__cplusplus) && !defined(CINTERFACE)
   7696 MIDL_INTERFACE("c6e13360-30ac-11d0-a18c-00a0c9118956")
   7697 IAMVideoProcAmp : public IUnknown
   7698 {
   7699     virtual HRESULT STDMETHODCALLTYPE GetRange(
   7700         LONG Property,
   7701         LONG *pMin,
   7702         LONG *pMax,
   7703         LONG *pSteppingDelta,
   7704         LONG *pDefault,
   7705         LONG *pCapsFlags) = 0;
   7706 
   7707     virtual HRESULT STDMETHODCALLTYPE Set(
   7708         LONG Property,
   7709         LONG lValue,
   7710         LONG Flags) = 0;
   7711 
   7712     virtual HRESULT STDMETHODCALLTYPE Get(
   7713         LONG Property,
   7714         LONG *lValue,
   7715         LONG *Flags) = 0;
   7716 
   7717 };
   7718 #ifdef __CRT_UUID_DECL
   7719 __CRT_UUID_DECL(IAMVideoProcAmp, 0xc6e13360, 0x30ac, 0x11d0, 0xa1,0x8c, 0x00,0xa0,0xc9,0x11,0x89,0x56)
   7720 #endif
   7721 #else
   7722 typedef struct IAMVideoProcAmpVtbl {
   7723     BEGIN_INTERFACE
   7724 
   7725     /*** IUnknown methods ***/
   7726     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7727         IAMVideoProcAmp* This,
   7728         REFIID riid,
   7729         void **ppvObject);
   7730 
   7731     ULONG (STDMETHODCALLTYPE *AddRef)(
   7732         IAMVideoProcAmp* This);
   7733 
   7734     ULONG (STDMETHODCALLTYPE *Release)(
   7735         IAMVideoProcAmp* This);
   7736 
   7737     /*** IAMVideoProcAmp methods ***/
   7738     HRESULT (STDMETHODCALLTYPE *GetRange)(
   7739         IAMVideoProcAmp* This,
   7740         LONG Property,
   7741         LONG *pMin,
   7742         LONG *pMax,
   7743         LONG *pSteppingDelta,
   7744         LONG *pDefault,
   7745         LONG *pCapsFlags);
   7746 
   7747     HRESULT (STDMETHODCALLTYPE *Set)(
   7748         IAMVideoProcAmp* This,
   7749         LONG Property,
   7750         LONG lValue,
   7751         LONG Flags);
   7752 
   7753     HRESULT (STDMETHODCALLTYPE *Get)(
   7754         IAMVideoProcAmp* This,
   7755         LONG Property,
   7756         LONG *lValue,
   7757         LONG *Flags);
   7758 
   7759     END_INTERFACE
   7760 } IAMVideoProcAmpVtbl;
   7761 interface IAMVideoProcAmp {
   7762     CONST_VTBL IAMVideoProcAmpVtbl* lpVtbl;
   7763 };
   7764 
   7765 #ifdef COBJMACROS
   7766 #ifndef WIDL_C_INLINE_WRAPPERS
   7767 /*** IUnknown methods ***/
   7768 #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7769 #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This)
   7770 #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This)
   7771 /*** IAMVideoProcAmp methods ***/
   7772 #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
   7773 #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
   7774 #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
   7775 #else
   7776 /*** IUnknown methods ***/
   7777 static FORCEINLINE HRESULT IAMVideoProcAmp_QueryInterface(IAMVideoProcAmp* This,REFIID riid,void **ppvObject) {
   7778     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7779 }
   7780 static FORCEINLINE ULONG IAMVideoProcAmp_AddRef(IAMVideoProcAmp* This) {
   7781     return This->lpVtbl->AddRef(This);
   7782 }
   7783 static FORCEINLINE ULONG IAMVideoProcAmp_Release(IAMVideoProcAmp* This) {
   7784     return This->lpVtbl->Release(This);
   7785 }
   7786 /*** IAMVideoProcAmp methods ***/
   7787 static FORCEINLINE HRESULT IAMVideoProcAmp_GetRange(IAMVideoProcAmp* This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) {
   7788     return This->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags);
   7789 }
   7790 static FORCEINLINE HRESULT IAMVideoProcAmp_Set(IAMVideoProcAmp* This,LONG Property,LONG lValue,LONG Flags) {
   7791     return This->lpVtbl->Set(This,Property,lValue,Flags);
   7792 }
   7793 static FORCEINLINE HRESULT IAMVideoProcAmp_Get(IAMVideoProcAmp* This,LONG Property,LONG *lValue,LONG *Flags) {
   7794     return This->lpVtbl->Get(This,Property,lValue,Flags);
   7795 }
   7796 #endif
   7797 #endif
   7798 
   7799 #endif
   7800 
   7801 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy(
   7802     IAMVideoProcAmp* This,
   7803     LONG Property,
   7804     LONG *pMin,
   7805     LONG *pMax,
   7806     LONG *pSteppingDelta,
   7807     LONG *pDefault,
   7808     LONG *pCapsFlags);
   7809 void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
   7810     IRpcStubBuffer* This,
   7811     IRpcChannelBuffer* pRpcChannelBuffer,
   7812     PRPC_MESSAGE pRpcMessage,
   7813     DWORD* pdwStubPhase);
   7814 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy(
   7815     IAMVideoProcAmp* This,
   7816     LONG Property,
   7817     LONG lValue,
   7818     LONG Flags);
   7819 void __RPC_STUB IAMVideoProcAmp_Set_Stub(
   7820     IRpcStubBuffer* This,
   7821     IRpcChannelBuffer* pRpcChannelBuffer,
   7822     PRPC_MESSAGE pRpcMessage,
   7823     DWORD* pdwStubPhase);
   7824 HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy(
   7825     IAMVideoProcAmp* This,
   7826     LONG Property,
   7827     LONG *lValue,
   7828     LONG *Flags);
   7829 void __RPC_STUB IAMVideoProcAmp_Get_Stub(
   7830     IRpcStubBuffer* This,
   7831     IRpcChannelBuffer* pRpcChannelBuffer,
   7832     PRPC_MESSAGE pRpcMessage,
   7833     DWORD* pdwStubPhase);
   7834 
   7835 #endif  /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
   7836 
   7837 /*****************************************************************************
   7838  * IAsyncReader interface
   7839  */
   7840 #ifndef __IAsyncReader_INTERFACE_DEFINED__
   7841 #define __IAsyncReader_INTERFACE_DEFINED__
   7842 
   7843 DEFINE_GUID(IID_IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   7844 #if defined(__cplusplus) && !defined(CINTERFACE)
   7845 MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
   7846 IAsyncReader : public IUnknown
   7847 {
   7848     virtual HRESULT STDMETHODCALLTYPE RequestAllocator(
   7849         IMemAllocator *pPreferred,
   7850         ALLOCATOR_PROPERTIES *pProps,
   7851         IMemAllocator **ppActual) = 0;
   7852 
   7853     virtual HRESULT STDMETHODCALLTYPE Request(
   7854         IMediaSample *pSample,
   7855         DWORD_PTR dwUser) = 0;
   7856 
   7857     virtual HRESULT STDMETHODCALLTYPE WaitForNext(
   7858         DWORD dwTimeout,
   7859         IMediaSample **ppSample,
   7860         DWORD_PTR *pdwUser) = 0;
   7861 
   7862     virtual HRESULT STDMETHODCALLTYPE SyncReadAligned(
   7863         IMediaSample *pSample) = 0;
   7864 
   7865     virtual HRESULT STDMETHODCALLTYPE SyncRead(
   7866         LONGLONG llPosition,
   7867         LONG lLength,
   7868         BYTE *pBuffer) = 0;
   7869 
   7870     virtual HRESULT STDMETHODCALLTYPE Length(
   7871         LONGLONG *pTotal,
   7872         LONGLONG *pAvailable) = 0;
   7873 
   7874     virtual HRESULT STDMETHODCALLTYPE BeginFlush(
   7875         ) = 0;
   7876 
   7877     virtual HRESULT STDMETHODCALLTYPE EndFlush(
   7878         ) = 0;
   7879 
   7880 };
   7881 #ifdef __CRT_UUID_DECL
   7882 __CRT_UUID_DECL(IAsyncReader, 0x56a868aa, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   7883 #endif
   7884 #else
   7885 typedef struct IAsyncReaderVtbl {
   7886     BEGIN_INTERFACE
   7887 
   7888     /*** IUnknown methods ***/
   7889     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7890         IAsyncReader* This,
   7891         REFIID riid,
   7892         void **ppvObject);
   7893 
   7894     ULONG (STDMETHODCALLTYPE *AddRef)(
   7895         IAsyncReader* This);
   7896 
   7897     ULONG (STDMETHODCALLTYPE *Release)(
   7898         IAsyncReader* This);
   7899 
   7900     /*** IAsyncReader methods ***/
   7901     HRESULT (STDMETHODCALLTYPE *RequestAllocator)(
   7902         IAsyncReader* This,
   7903         IMemAllocator *pPreferred,
   7904         ALLOCATOR_PROPERTIES *pProps,
   7905         IMemAllocator **ppActual);
   7906 
   7907     HRESULT (STDMETHODCALLTYPE *Request)(
   7908         IAsyncReader* This,
   7909         IMediaSample *pSample,
   7910         DWORD_PTR dwUser);
   7911 
   7912     HRESULT (STDMETHODCALLTYPE *WaitForNext)(
   7913         IAsyncReader* This,
   7914         DWORD dwTimeout,
   7915         IMediaSample **ppSample,
   7916         DWORD_PTR *pdwUser);
   7917 
   7918     HRESULT (STDMETHODCALLTYPE *SyncReadAligned)(
   7919         IAsyncReader* This,
   7920         IMediaSample *pSample);
   7921 
   7922     HRESULT (STDMETHODCALLTYPE *SyncRead)(
   7923         IAsyncReader* This,
   7924         LONGLONG llPosition,
   7925         LONG lLength,
   7926         BYTE *pBuffer);
   7927 
   7928     HRESULT (STDMETHODCALLTYPE *Length)(
   7929         IAsyncReader* This,
   7930         LONGLONG *pTotal,
   7931         LONGLONG *pAvailable);
   7932 
   7933     HRESULT (STDMETHODCALLTYPE *BeginFlush)(
   7934         IAsyncReader* This);
   7935 
   7936     HRESULT (STDMETHODCALLTYPE *EndFlush)(
   7937         IAsyncReader* This);
   7938 
   7939     END_INTERFACE
   7940 } IAsyncReaderVtbl;
   7941 interface IAsyncReader {
   7942     CONST_VTBL IAsyncReaderVtbl* lpVtbl;
   7943 };
   7944 
   7945 #ifdef COBJMACROS
   7946 #ifndef WIDL_C_INLINE_WRAPPERS
   7947 /*** IUnknown methods ***/
   7948 #define IAsyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7949 #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This)
   7950 #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This)
   7951 /*** IAsyncReader methods ***/
   7952 #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) (This)->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual)
   7953 #define IAsyncReader_Request(This,pSample,dwUser) (This)->lpVtbl->Request(This,pSample,dwUser)
   7954 #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) (This)->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser)
   7955 #define IAsyncReader_SyncReadAligned(This,pSample) (This)->lpVtbl->SyncReadAligned(This,pSample)
   7956 #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) (This)->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer)
   7957 #define IAsyncReader_Length(This,pTotal,pAvailable) (This)->lpVtbl->Length(This,pTotal,pAvailable)
   7958 #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
   7959 #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This)
   7960 #else
   7961 /*** IUnknown methods ***/
   7962 static FORCEINLINE HRESULT IAsyncReader_QueryInterface(IAsyncReader* This,REFIID riid,void **ppvObject) {
   7963     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7964 }
   7965 static FORCEINLINE ULONG IAsyncReader_AddRef(IAsyncReader* This) {
   7966     return This->lpVtbl->AddRef(This);
   7967 }
   7968 static FORCEINLINE ULONG IAsyncReader_Release(IAsyncReader* This) {
   7969     return This->lpVtbl->Release(This);
   7970 }
   7971 /*** IAsyncReader methods ***/
   7972 static FORCEINLINE HRESULT IAsyncReader_RequestAllocator(IAsyncReader* This,IMemAllocator *pPreferred,ALLOCATOR_PROPERTIES *pProps,IMemAllocator **ppActual) {
   7973     return This->lpVtbl->RequestAllocator(This,pPreferred,pProps,ppActual);
   7974 }
   7975 static FORCEINLINE HRESULT IAsyncReader_Request(IAsyncReader* This,IMediaSample *pSample,DWORD_PTR dwUser) {
   7976     return This->lpVtbl->Request(This,pSample,dwUser);
   7977 }
   7978 static FORCEINLINE HRESULT IAsyncReader_WaitForNext(IAsyncReader* This,DWORD dwTimeout,IMediaSample **ppSample,DWORD_PTR *pdwUser) {
   7979     return This->lpVtbl->WaitForNext(This,dwTimeout,ppSample,pdwUser);
   7980 }
   7981 static FORCEINLINE HRESULT IAsyncReader_SyncReadAligned(IAsyncReader* This,IMediaSample *pSample) {
   7982     return This->lpVtbl->SyncReadAligned(This,pSample);
   7983 }
   7984 static FORCEINLINE HRESULT IAsyncReader_SyncRead(IAsyncReader* This,LONGLONG llPosition,LONG lLength,BYTE *pBuffer) {
   7985     return This->lpVtbl->SyncRead(This,llPosition,lLength,pBuffer);
   7986 }
   7987 static FORCEINLINE HRESULT IAsyncReader_Length(IAsyncReader* This,LONGLONG *pTotal,LONGLONG *pAvailable) {
   7988     return This->lpVtbl->Length(This,pTotal,pAvailable);
   7989 }
   7990 static FORCEINLINE HRESULT IAsyncReader_BeginFlush(IAsyncReader* This) {
   7991     return This->lpVtbl->BeginFlush(This);
   7992 }
   7993 static FORCEINLINE HRESULT IAsyncReader_EndFlush(IAsyncReader* This) {
   7994     return This->lpVtbl->EndFlush(This);
   7995 }
   7996 #endif
   7997 #endif
   7998 
   7999 #endif
   8000 
   8001 HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy(
   8002     IAsyncReader* This,
   8003     IMemAllocator *pPreferred,
   8004     ALLOCATOR_PROPERTIES *pProps,
   8005     IMemAllocator **ppActual);
   8006 void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
   8007     IRpcStubBuffer* This,
   8008     IRpcChannelBuffer* pRpcChannelBuffer,
   8009     PRPC_MESSAGE pRpcMessage,
   8010     DWORD* pdwStubPhase);
   8011 HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy(
   8012     IAsyncReader* This,
   8013     IMediaSample *pSample,
   8014     DWORD_PTR dwUser);
   8015 void __RPC_STUB IAsyncReader_Request_Stub(
   8016     IRpcStubBuffer* This,
   8017     IRpcChannelBuffer* pRpcChannelBuffer,
   8018     PRPC_MESSAGE pRpcMessage,
   8019     DWORD* pdwStubPhase);
   8020 HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy(
   8021     IAsyncReader* This,
   8022     DWORD dwTimeout,
   8023     IMediaSample **ppSample,
   8024     DWORD_PTR *pdwUser);
   8025 void __RPC_STUB IAsyncReader_WaitForNext_Stub(
   8026     IRpcStubBuffer* This,
   8027     IRpcChannelBuffer* pRpcChannelBuffer,
   8028     PRPC_MESSAGE pRpcMessage,
   8029     DWORD* pdwStubPhase);
   8030 HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy(
   8031     IAsyncReader* This,
   8032     IMediaSample *pSample);
   8033 void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
   8034     IRpcStubBuffer* This,
   8035     IRpcChannelBuffer* pRpcChannelBuffer,
   8036     PRPC_MESSAGE pRpcMessage,
   8037     DWORD* pdwStubPhase);
   8038 HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy(
   8039     IAsyncReader* This,
   8040     LONGLONG llPosition,
   8041     LONG lLength,
   8042     BYTE *pBuffer);
   8043 void __RPC_STUB IAsyncReader_SyncRead_Stub(
   8044     IRpcStubBuffer* This,
   8045     IRpcChannelBuffer* pRpcChannelBuffer,
   8046     PRPC_MESSAGE pRpcMessage,
   8047     DWORD* pdwStubPhase);
   8048 HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy(
   8049     IAsyncReader* This,
   8050     LONGLONG *pTotal,
   8051     LONGLONG *pAvailable);
   8052 void __RPC_STUB IAsyncReader_Length_Stub(
   8053     IRpcStubBuffer* This,
   8054     IRpcChannelBuffer* pRpcChannelBuffer,
   8055     PRPC_MESSAGE pRpcMessage,
   8056     DWORD* pdwStubPhase);
   8057 HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy(
   8058     IAsyncReader* This);
   8059 void __RPC_STUB IAsyncReader_BeginFlush_Stub(
   8060     IRpcStubBuffer* This,
   8061     IRpcChannelBuffer* pRpcChannelBuffer,
   8062     PRPC_MESSAGE pRpcMessage,
   8063     DWORD* pdwStubPhase);
   8064 HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy(
   8065     IAsyncReader* This);
   8066 void __RPC_STUB IAsyncReader_EndFlush_Stub(
   8067     IRpcStubBuffer* This,
   8068     IRpcChannelBuffer* pRpcChannelBuffer,
   8069     PRPC_MESSAGE pRpcMessage,
   8070     DWORD* pdwStubPhase);
   8071 
   8072 #endif  /* __IAsyncReader_INTERFACE_DEFINED__ */
   8073 
   8074 /*****************************************************************************
   8075  * IGraphVersion interface
   8076  */
   8077 #ifndef __IGraphVersion_INTERFACE_DEFINED__
   8078 #define __IGraphVersion_INTERFACE_DEFINED__
   8079 
   8080 DEFINE_GUID(IID_IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   8081 #if defined(__cplusplus) && !defined(CINTERFACE)
   8082 MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
   8083 IGraphVersion : public IUnknown
   8084 {
   8085     virtual HRESULT STDMETHODCALLTYPE QueryVersion(
   8086         LONG *pVersion) = 0;
   8087 
   8088 };
   8089 #ifdef __CRT_UUID_DECL
   8090 __CRT_UUID_DECL(IGraphVersion, 0x56a868ab, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   8091 #endif
   8092 #else
   8093 typedef struct IGraphVersionVtbl {
   8094     BEGIN_INTERFACE
   8095 
   8096     /*** IUnknown methods ***/
   8097     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8098         IGraphVersion* This,
   8099         REFIID riid,
   8100         void **ppvObject);
   8101 
   8102     ULONG (STDMETHODCALLTYPE *AddRef)(
   8103         IGraphVersion* This);
   8104 
   8105     ULONG (STDMETHODCALLTYPE *Release)(
   8106         IGraphVersion* This);
   8107 
   8108     /*** IGraphVersion methods ***/
   8109     HRESULT (STDMETHODCALLTYPE *QueryVersion)(
   8110         IGraphVersion* This,
   8111         LONG *pVersion);
   8112 
   8113     END_INTERFACE
   8114 } IGraphVersionVtbl;
   8115 interface IGraphVersion {
   8116     CONST_VTBL IGraphVersionVtbl* lpVtbl;
   8117 };
   8118 
   8119 #ifdef COBJMACROS
   8120 #ifndef WIDL_C_INLINE_WRAPPERS
   8121 /*** IUnknown methods ***/
   8122 #define IGraphVersion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8123 #define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This)
   8124 #define IGraphVersion_Release(This) (This)->lpVtbl->Release(This)
   8125 /*** IGraphVersion methods ***/
   8126 #define IGraphVersion_QueryVersion(This,pVersion) (This)->lpVtbl->QueryVersion(This,pVersion)
   8127 #else
   8128 /*** IUnknown methods ***/
   8129 static FORCEINLINE HRESULT IGraphVersion_QueryInterface(IGraphVersion* This,REFIID riid,void **ppvObject) {
   8130     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8131 }
   8132 static FORCEINLINE ULONG IGraphVersion_AddRef(IGraphVersion* This) {
   8133     return This->lpVtbl->AddRef(This);
   8134 }
   8135 static FORCEINLINE ULONG IGraphVersion_Release(IGraphVersion* This) {
   8136     return This->lpVtbl->Release(This);
   8137 }
   8138 /*** IGraphVersion methods ***/
   8139 static FORCEINLINE HRESULT IGraphVersion_QueryVersion(IGraphVersion* This,LONG *pVersion) {
   8140     return This->lpVtbl->QueryVersion(This,pVersion);
   8141 }
   8142 #endif
   8143 #endif
   8144 
   8145 #endif
   8146 
   8147 HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy(
   8148     IGraphVersion* This,
   8149     LONG *pVersion);
   8150 void __RPC_STUB IGraphVersion_QueryVersion_Stub(
   8151     IRpcStubBuffer* This,
   8152     IRpcChannelBuffer* pRpcChannelBuffer,
   8153     PRPC_MESSAGE pRpcMessage,
   8154     DWORD* pdwStubPhase);
   8155 
   8156 #endif  /* __IGraphVersion_INTERFACE_DEFINED__ */
   8157 
   8158 /*****************************************************************************
   8159  * IResourceConsumer interface
   8160  */
   8161 #ifndef __IResourceConsumer_INTERFACE_DEFINED__
   8162 #define __IResourceConsumer_INTERFACE_DEFINED__
   8163 
   8164 DEFINE_GUID(IID_IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   8165 #if defined(__cplusplus) && !defined(CINTERFACE)
   8166 MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
   8167 IResourceConsumer : public IUnknown
   8168 {
   8169     virtual HRESULT STDMETHODCALLTYPE AcquireResource(
   8170         LONG idResource) = 0;
   8171 
   8172     virtual HRESULT STDMETHODCALLTYPE ReleaseResource(
   8173         LONG idResource) = 0;
   8174 
   8175 };
   8176 #ifdef __CRT_UUID_DECL
   8177 __CRT_UUID_DECL(IResourceConsumer, 0x56a868ad, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   8178 #endif
   8179 #else
   8180 typedef struct IResourceConsumerVtbl {
   8181     BEGIN_INTERFACE
   8182 
   8183     /*** IUnknown methods ***/
   8184     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8185         IResourceConsumer* This,
   8186         REFIID riid,
   8187         void **ppvObject);
   8188 
   8189     ULONG (STDMETHODCALLTYPE *AddRef)(
   8190         IResourceConsumer* This);
   8191 
   8192     ULONG (STDMETHODCALLTYPE *Release)(
   8193         IResourceConsumer* This);
   8194 
   8195     /*** IResourceConsumer methods ***/
   8196     HRESULT (STDMETHODCALLTYPE *AcquireResource)(
   8197         IResourceConsumer* This,
   8198         LONG idResource);
   8199 
   8200     HRESULT (STDMETHODCALLTYPE *ReleaseResource)(
   8201         IResourceConsumer* This,
   8202         LONG idResource);
   8203 
   8204     END_INTERFACE
   8205 } IResourceConsumerVtbl;
   8206 interface IResourceConsumer {
   8207     CONST_VTBL IResourceConsumerVtbl* lpVtbl;
   8208 };
   8209 
   8210 #ifdef COBJMACROS
   8211 #ifndef WIDL_C_INLINE_WRAPPERS
   8212 /*** IUnknown methods ***/
   8213 #define IResourceConsumer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8214 #define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This)
   8215 #define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This)
   8216 /*** IResourceConsumer methods ***/
   8217 #define IResourceConsumer_AcquireResource(This,idResource) (This)->lpVtbl->AcquireResource(This,idResource)
   8218 #define IResourceConsumer_ReleaseResource(This,idResource) (This)->lpVtbl->ReleaseResource(This,idResource)
   8219 #else
   8220 /*** IUnknown methods ***/
   8221 static FORCEINLINE HRESULT IResourceConsumer_QueryInterface(IResourceConsumer* This,REFIID riid,void **ppvObject) {
   8222     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8223 }
   8224 static FORCEINLINE ULONG IResourceConsumer_AddRef(IResourceConsumer* This) {
   8225     return This->lpVtbl->AddRef(This);
   8226 }
   8227 static FORCEINLINE ULONG IResourceConsumer_Release(IResourceConsumer* This) {
   8228     return This->lpVtbl->Release(This);
   8229 }
   8230 /*** IResourceConsumer methods ***/
   8231 static FORCEINLINE HRESULT IResourceConsumer_AcquireResource(IResourceConsumer* This,LONG idResource) {
   8232     return This->lpVtbl->AcquireResource(This,idResource);
   8233 }
   8234 static FORCEINLINE HRESULT IResourceConsumer_ReleaseResource(IResourceConsumer* This,LONG idResource) {
   8235     return This->lpVtbl->ReleaseResource(This,idResource);
   8236 }
   8237 #endif
   8238 #endif
   8239 
   8240 #endif
   8241 
   8242 HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy(
   8243     IResourceConsumer* This,
   8244     LONG idResource);
   8245 void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
   8246     IRpcStubBuffer* This,
   8247     IRpcChannelBuffer* pRpcChannelBuffer,
   8248     PRPC_MESSAGE pRpcMessage,
   8249     DWORD* pdwStubPhase);
   8250 HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy(
   8251     IResourceConsumer* This,
   8252     LONG idResource);
   8253 void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
   8254     IRpcStubBuffer* This,
   8255     IRpcChannelBuffer* pRpcChannelBuffer,
   8256     PRPC_MESSAGE pRpcMessage,
   8257     DWORD* pdwStubPhase);
   8258 
   8259 #endif  /* __IResourceConsumer_INTERFACE_DEFINED__ */
   8260 
   8261 /*****************************************************************************
   8262  * IResourceManager interface
   8263  */
   8264 #ifndef __IResourceManager_INTERFACE_DEFINED__
   8265 #define __IResourceManager_INTERFACE_DEFINED__
   8266 
   8267 DEFINE_GUID(IID_IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70);
   8268 #if defined(__cplusplus) && !defined(CINTERFACE)
   8269 MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
   8270 IResourceManager : public IUnknown
   8271 {
   8272     virtual HRESULT STDMETHODCALLTYPE Register(
   8273         LPCWSTR pName,
   8274         LONG cResource,
   8275         LONG *plToken) = 0;
   8276 
   8277     virtual HRESULT STDMETHODCALLTYPE RegisterGroup(
   8278         LPCWSTR pName,
   8279         LONG cResource,
   8280         LONG *palTokens,
   8281         LONG *plToken) = 0;
   8282 
   8283     virtual HRESULT STDMETHODCALLTYPE RequestResource(
   8284         LONG idResource,
   8285         IUnknown *pFocusObject,
   8286         IResourceConsumer *pConsumer) = 0;
   8287 
   8288     virtual HRESULT STDMETHODCALLTYPE NotifyAcquire(
   8289         LONG idResource,
   8290         IResourceConsumer *pConsumer,
   8291         HRESULT hr) = 0;
   8292 
   8293     virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
   8294         LONG idResource,
   8295         IResourceConsumer *pConsumer,
   8296         WINBOOL bStillWant) = 0;
   8297 
   8298     virtual HRESULT STDMETHODCALLTYPE CancelRequest(
   8299         LONG idResource,
   8300         IResourceConsumer *pConsumer) = 0;
   8301 
   8302     virtual HRESULT STDMETHODCALLTYPE SetFocus(
   8303         IUnknown *pFocusObject) = 0;
   8304 
   8305     virtual HRESULT STDMETHODCALLTYPE ReleaseFocus(
   8306         IUnknown *pFocusObject) = 0;
   8307 
   8308 };
   8309 #ifdef __CRT_UUID_DECL
   8310 __CRT_UUID_DECL(IResourceManager, 0x56a868ac, 0x0ad4, 0x11ce, 0xb0,0x3a, 0x00,0x20,0xaf,0x0b,0xa7,0x70)
   8311 #endif
   8312 #else
   8313 typedef struct IResourceManagerVtbl {
   8314     BEGIN_INTERFACE
   8315 
   8316     /*** IUnknown methods ***/
   8317     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8318         IResourceManager* This,
   8319         REFIID riid,
   8320         void **ppvObject);
   8321 
   8322     ULONG (STDMETHODCALLTYPE *AddRef)(
   8323         IResourceManager* This);
   8324 
   8325     ULONG (STDMETHODCALLTYPE *Release)(
   8326         IResourceManager* This);
   8327 
   8328     /*** IResourceManager methods ***/
   8329     HRESULT (STDMETHODCALLTYPE *Register)(
   8330         IResourceManager* This,
   8331         LPCWSTR pName,
   8332         LONG cResource,
   8333         LONG *plToken);
   8334 
   8335     HRESULT (STDMETHODCALLTYPE *RegisterGroup)(
   8336         IResourceManager* This,
   8337         LPCWSTR pName,
   8338         LONG cResource,
   8339         LONG *palTokens,
   8340         LONG *plToken);
   8341 
   8342     HRESULT (STDMETHODCALLTYPE *RequestResource)(
   8343         IResourceManager* This,
   8344         LONG idResource,
   8345         IUnknown *pFocusObject,
   8346         IResourceConsumer *pConsumer);
   8347 
   8348     HRESULT (STDMETHODCALLTYPE *NotifyAcquire)(
   8349         IResourceManager* This,
   8350         LONG idResource,
   8351         IResourceConsumer *pConsumer,
   8352         HRESULT hr);
   8353 
   8354     HRESULT (STDMETHODCALLTYPE *NotifyRelease)(
   8355         IResourceManager* This,
   8356         LONG idResource,
   8357         IResourceConsumer *pConsumer,
   8358         WINBOOL bStillWant);
   8359 
   8360     HRESULT (STDMETHODCALLTYPE *CancelRequest)(
   8361         IResourceManager* This,
   8362         LONG idResource,
   8363         IResourceConsumer *pConsumer);
   8364 
   8365     HRESULT (STDMETHODCALLTYPE *SetFocus)(
   8366         IResourceManager* This,
   8367         IUnknown *pFocusObject);
   8368 
   8369     HRESULT (STDMETHODCALLTYPE *ReleaseFocus)(
   8370         IResourceManager* This,
   8371         IUnknown *pFocusObject);
   8372 
   8373     END_INTERFACE
   8374 } IResourceManagerVtbl;
   8375 interface IResourceManager {
   8376     CONST_VTBL IResourceManagerVtbl* lpVtbl;
   8377 };
   8378 
   8379 #ifdef COBJMACROS
   8380 #ifndef WIDL_C_INLINE_WRAPPERS
   8381 /*** IUnknown methods ***/
   8382 #define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8383 #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   8384 #define IResourceManager_Release(This) (This)->lpVtbl->Release(This)
   8385 /*** IResourceManager methods ***/
   8386 #define IResourceManager_Register(This,pName,cResource,plToken) (This)->lpVtbl->Register(This,pName,cResource,plToken)
   8387 #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) (This)->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken)
   8388 #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) (This)->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer)
   8389 #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) (This)->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr)
   8390 #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) (This)->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant)
   8391 #define IResourceManager_CancelRequest(This,idResource,pConsumer) (This)->lpVtbl->CancelRequest(This,idResource,pConsumer)
   8392 #define IResourceManager_SetFocus(This,pFocusObject) (This)->lpVtbl->SetFocus(This,pFocusObject)
   8393 #define IResourceManager_ReleaseFocus(This,pFocusObject) (This)->lpVtbl->ReleaseFocus(This,pFocusObject)
   8394 #else
   8395 /*** IUnknown methods ***/
   8396 static FORCEINLINE HRESULT IResourceManager_QueryInterface(IResourceManager* This,REFIID riid,void **ppvObject) {
   8397     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8398 }
   8399 static FORCEINLINE ULONG IResourceManager_AddRef(IResourceManager* This) {
   8400     return This->lpVtbl->AddRef(This);
   8401 }
   8402 static FORCEINLINE ULONG IResourceManager_Release(IResourceManager* This) {
   8403     return This->lpVtbl->Release(This);
   8404 }
   8405 /*** IResourceManager methods ***/
   8406 static FORCEINLINE HRESULT IResourceManager_Register(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *plToken) {
   8407     return This->lpVtbl->Register(This,pName,cResource,plToken);
   8408 }
   8409 static FORCEINLINE HRESULT IResourceManager_RegisterGroup(IResourceManager* This,LPCWSTR pName,LONG cResource,LONG *palTokens,LONG *plToken) {
   8410     return This->lpVtbl->RegisterGroup(This,pName,cResource,palTokens,plToken);
   8411 }
   8412 static FORCEINLINE HRESULT IResourceManager_RequestResource(IResourceManager* This,LONG idResource,IUnknown *pFocusObject,IResourceConsumer *pConsumer) {
   8413     return This->lpVtbl->RequestResource(This,idResource,pFocusObject,pConsumer);
   8414 }
   8415 static FORCEINLINE HRESULT IResourceManager_NotifyAcquire(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,HRESULT hr) {
   8416     return This->lpVtbl->NotifyAcquire(This,idResource,pConsumer,hr);
   8417 }
   8418 static FORCEINLINE HRESULT IResourceManager_NotifyRelease(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer,WINBOOL bStillWant) {
   8419     return This->lpVtbl->NotifyRelease(This,idResource,pConsumer,bStillWant);
   8420 }
   8421 static FORCEINLINE HRESULT IResourceManager_CancelRequest(IResourceManager* This,LONG idResource,IResourceConsumer *pConsumer) {
   8422     return This->lpVtbl->CancelRequest(This,idResource,pConsumer);
   8423 }
   8424 static FORCEINLINE HRESULT IResourceManager_SetFocus(IResourceManager* This,IUnknown *pFocusObject) {
   8425     return This->lpVtbl->SetFocus(This,pFocusObject);
   8426 }
   8427 static FORCEINLINE HRESULT IResourceManager_ReleaseFocus(IResourceManager* This,IUnknown *pFocusObject) {
   8428     return This->lpVtbl->ReleaseFocus(This,pFocusObject);
   8429 }
   8430 #endif
   8431 #endif
   8432 
   8433 #endif
   8434 
   8435 HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy(
   8436     IResourceManager* This,
   8437     LPCWSTR pName,
   8438     LONG cResource,
   8439     LONG *plToken);
   8440 void __RPC_STUB IResourceManager_Register_Stub(
   8441     IRpcStubBuffer* This,
   8442     IRpcChannelBuffer* pRpcChannelBuffer,
   8443     PRPC_MESSAGE pRpcMessage,
   8444     DWORD* pdwStubPhase);
   8445 HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy(
   8446     IResourceManager* This,
   8447     LPCWSTR pName,
   8448     LONG cResource,
   8449     LONG *palTokens,
   8450     LONG *plToken);
   8451 void __RPC_STUB IResourceManager_RegisterGroup_Stub(
   8452     IRpcStubBuffer* This,
   8453     IRpcChannelBuffer* pRpcChannelBuffer,
   8454     PRPC_MESSAGE pRpcMessage,
   8455     DWORD* pdwStubPhase);
   8456 HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy(
   8457     IResourceManager* This,
   8458     LONG idResource,
   8459     IUnknown *pFocusObject,
   8460     IResourceConsumer *pConsumer);
   8461 void __RPC_STUB IResourceManager_RequestResource_Stub(
   8462     IRpcStubBuffer* This,
   8463     IRpcChannelBuffer* pRpcChannelBuffer,
   8464     PRPC_MESSAGE pRpcMessage,
   8465     DWORD* pdwStubPhase);
   8466 HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy(
   8467     IResourceManager* This,
   8468     LONG idResource,
   8469     IResourceConsumer *pConsumer,
   8470     HRESULT hr);
   8471 void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
   8472     IRpcStubBuffer* This,
   8473     IRpcChannelBuffer* pRpcChannelBuffer,
   8474     PRPC_MESSAGE pRpcMessage,
   8475     DWORD* pdwStubPhase);
   8476 HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy(
   8477     IResourceManager* This,
   8478     LONG idResource,
   8479     IResourceConsumer *pConsumer,
   8480     WINBOOL bStillWant);
   8481 void __RPC_STUB IResourceManager_NotifyRelease_Stub(
   8482     IRpcStubBuffer* This,
   8483     IRpcChannelBuffer* pRpcChannelBuffer,
   8484     PRPC_MESSAGE pRpcMessage,
   8485     DWORD* pdwStubPhase);
   8486 HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy(
   8487     IResourceManager* This,
   8488     LONG idResource,
   8489     IResourceConsumer *pConsumer);
   8490 void __RPC_STUB IResourceManager_CancelRequest_Stub(
   8491     IRpcStubBuffer* This,
   8492     IRpcChannelBuffer* pRpcChannelBuffer,
   8493     PRPC_MESSAGE pRpcMessage,
   8494     DWORD* pdwStubPhase);
   8495 HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy(
   8496     IResourceManager* This,
   8497     IUnknown *pFocusObject);
   8498 void __RPC_STUB IResourceManager_SetFocus_Stub(
   8499     IRpcStubBuffer* This,
   8500     IRpcChannelBuffer* pRpcChannelBuffer,
   8501     PRPC_MESSAGE pRpcMessage,
   8502     DWORD* pdwStubPhase);
   8503 HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy(
   8504     IResourceManager* This,
   8505     IUnknown *pFocusObject);
   8506 void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
   8507     IRpcStubBuffer* This,
   8508     IRpcChannelBuffer* pRpcChannelBuffer,
   8509     PRPC_MESSAGE pRpcMessage,
   8510     DWORD* pdwStubPhase);
   8511 
   8512 #endif  /* __IResourceManager_INTERFACE_DEFINED__ */
   8513 
   8514 #ifndef _IKsPropertySet_
   8515 #define _IKsPropertySet_
   8516 #define KSPROPERTY_SUPPORT_GET  1
   8517 #define KSPROPERTY_SUPPORT_SET  2
   8518 /*****************************************************************************
   8519  * IKsPropertySet interface
   8520  */
   8521 #ifndef __IKsPropertySet_INTERFACE_DEFINED__
   8522 #define __IKsPropertySet_INTERFACE_DEFINED__
   8523 
   8524 DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93);
   8525 #if defined(__cplusplus) && !defined(CINTERFACE)
   8526 MIDL_INTERFACE("31efac30-515c-11d0-a9aa-00aa0061be93")
   8527 IKsPropertySet : public IUnknown
   8528 {
   8529     virtual HRESULT STDMETHODCALLTYPE Set(
   8530         REFGUID guidPropSet,
   8531         DWORD dwPropID,
   8532         LPVOID pInstanceData,
   8533         DWORD cbInstanceData,
   8534         LPVOID pPropData,
   8535         DWORD cbPropData) = 0;
   8536 
   8537     virtual HRESULT STDMETHODCALLTYPE Get(
   8538         REFGUID guidPropSet,
   8539         DWORD dwPropID,
   8540         LPVOID pInstanceData,
   8541         DWORD cbInstanceData,
   8542         LPVOID pPropData,
   8543         DWORD cbPropData,
   8544         DWORD *pcbReturned) = 0;
   8545 
   8546     virtual HRESULT STDMETHODCALLTYPE QuerySupported(
   8547         REFGUID guidPropSet,
   8548         DWORD dwPropID,
   8549         DWORD *pTypeSupport) = 0;
   8550 
   8551 };
   8552 #ifdef __CRT_UUID_DECL
   8553 __CRT_UUID_DECL(IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93)
   8554 #endif
   8555 #else
   8556 typedef struct IKsPropertySetVtbl {
   8557     BEGIN_INTERFACE
   8558 
   8559     /*** IUnknown methods ***/
   8560     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8561         IKsPropertySet* This,
   8562         REFIID riid,
   8563         void **ppvObject);
   8564 
   8565     ULONG (STDMETHODCALLTYPE *AddRef)(
   8566         IKsPropertySet* This);
   8567 
   8568     ULONG (STDMETHODCALLTYPE *Release)(
   8569         IKsPropertySet* This);
   8570 
   8571     /*** IKsPropertySet methods ***/
   8572     HRESULT (STDMETHODCALLTYPE *Set)(
   8573         IKsPropertySet* This,
   8574         REFGUID guidPropSet,
   8575         DWORD dwPropID,
   8576         LPVOID pInstanceData,
   8577         DWORD cbInstanceData,
   8578         LPVOID pPropData,
   8579         DWORD cbPropData);
   8580 
   8581     HRESULT (STDMETHODCALLTYPE *Get)(
   8582         IKsPropertySet* This,
   8583         REFGUID guidPropSet,
   8584         DWORD dwPropID,
   8585         LPVOID pInstanceData,
   8586         DWORD cbInstanceData,
   8587         LPVOID pPropData,
   8588         DWORD cbPropData,
   8589         DWORD *pcbReturned);
   8590 
   8591     HRESULT (STDMETHODCALLTYPE *QuerySupported)(
   8592         IKsPropertySet* This,
   8593         REFGUID guidPropSet,
   8594         DWORD dwPropID,
   8595         DWORD *pTypeSupport);
   8596 
   8597     END_INTERFACE
   8598 } IKsPropertySetVtbl;
   8599 interface IKsPropertySet {
   8600     CONST_VTBL IKsPropertySetVtbl* lpVtbl;
   8601 };
   8602 
   8603 #ifdef COBJMACROS
   8604 #ifndef WIDL_C_INLINE_WRAPPERS
   8605 /*** IUnknown methods ***/
   8606 #define IKsPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8607 #define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
   8608 #define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This)
   8609 /*** IKsPropertySet methods ***/
   8610 #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) (This)->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
   8611 #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) (This)->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
   8612 #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) (This)->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
   8613 #else
   8614 /*** IUnknown methods ***/
   8615 static FORCEINLINE HRESULT IKsPropertySet_QueryInterface(IKsPropertySet* This,REFIID riid,void **ppvObject) {
   8616     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8617 }
   8618 static FORCEINLINE ULONG IKsPropertySet_AddRef(IKsPropertySet* This) {
   8619     return This->lpVtbl->AddRef(This);
   8620 }
   8621 static FORCEINLINE ULONG IKsPropertySet_Release(IKsPropertySet* This) {
   8622     return This->lpVtbl->Release(This);
   8623 }
   8624 /*** IKsPropertySet methods ***/
   8625 static FORCEINLINE HRESULT IKsPropertySet_Set(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData) {
   8626     return This->lpVtbl->Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
   8627 }
   8628 static FORCEINLINE HRESULT IKsPropertySet_Get(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,LPVOID pInstanceData,DWORD cbInstanceData,LPVOID pPropData,DWORD cbPropData,DWORD *pcbReturned) {
   8629     return This->lpVtbl->Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned);
   8630 }
   8631 static FORCEINLINE HRESULT IKsPropertySet_QuerySupported(IKsPropertySet* This,REFGUID guidPropSet,DWORD dwPropID,DWORD *pTypeSupport) {
   8632     return This->lpVtbl->QuerySupported(This,guidPropSet,dwPropID,pTypeSupport);
   8633 }
   8634 #endif
   8635 #endif
   8636 
   8637 #endif
   8638 
   8639 HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy(
   8640     IKsPropertySet* This,
   8641     REFGUID guidPropSet,
   8642     DWORD dwPropID,
   8643     LPVOID pInstanceData,
   8644     DWORD cbInstanceData,
   8645     LPVOID pPropData,
   8646     DWORD cbPropData);
   8647 void __RPC_STUB IKsPropertySet_Set_Stub(
   8648     IRpcStubBuffer* This,
   8649     IRpcChannelBuffer* pRpcChannelBuffer,
   8650     PRPC_MESSAGE pRpcMessage,
   8651     DWORD* pdwStubPhase);
   8652 HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy(
   8653     IKsPropertySet* This,
   8654     REFGUID guidPropSet,
   8655     DWORD dwPropID,
   8656     LPVOID pInstanceData,
   8657     DWORD cbInstanceData,
   8658     LPVOID pPropData,
   8659     DWORD cbPropData,
   8660     DWORD *pcbReturned);
   8661 void __RPC_STUB IKsPropertySet_Get_Stub(
   8662     IRpcStubBuffer* This,
   8663     IRpcChannelBuffer* pRpcChannelBuffer,
   8664     PRPC_MESSAGE pRpcMessage,
   8665     DWORD* pdwStubPhase);
   8666 HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy(
   8667     IKsPropertySet* This,
   8668     REFGUID guidPropSet,
   8669     DWORD dwPropID,
   8670     DWORD *pTypeSupport);
   8671 void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
   8672     IRpcStubBuffer* This,
   8673     IRpcChannelBuffer* pRpcChannelBuffer,
   8674     PRPC_MESSAGE pRpcMessage,
   8675     DWORD* pdwStubPhase);
   8676 
   8677 #endif  /* __IKsPropertySet_INTERFACE_DEFINED__ */
   8678 
   8679 #endif /* _IKsPropertySet_ */
   8680 /*****************************************************************************
   8681  * ISeekingPassThru interface
   8682  */
   8683 #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
   8684 #define __ISeekingPassThru_INTERFACE_DEFINED__
   8685 
   8686 DEFINE_GUID(IID_ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60);
   8687 #if defined(__cplusplus) && !defined(CINTERFACE)
   8688 MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
   8689 ISeekingPassThru : public IUnknown
   8690 {
   8691     virtual HRESULT STDMETHODCALLTYPE Init(
   8692         WINBOOL bSupportRendering,
   8693         IPin *pPin) = 0;
   8694 
   8695 };
   8696 #ifdef __CRT_UUID_DECL
   8697 __CRT_UUID_DECL(ISeekingPassThru, 0x36b73883, 0xc2c8, 0x11cf, 0x8b,0x46, 0x00,0x80,0x5f,0x6c,0xef,0x60)
   8698 #endif
   8699 #else
   8700 typedef struct ISeekingPassThruVtbl {
   8701     BEGIN_INTERFACE
   8702 
   8703     /*** IUnknown methods ***/
   8704     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8705         ISeekingPassThru* This,
   8706         REFIID riid,
   8707         void **ppvObject);
   8708 
   8709     ULONG (STDMETHODCALLTYPE *AddRef)(
   8710         ISeekingPassThru* This);
   8711 
   8712     ULONG (STDMETHODCALLTYPE *Release)(
   8713         ISeekingPassThru* This);
   8714 
   8715     /*** ISeekingPassThru methods ***/
   8716     HRESULT (STDMETHODCALLTYPE *Init)(
   8717         ISeekingPassThru* This,
   8718         WINBOOL bSupportRendering,
   8719         IPin *pPin);
   8720 
   8721     END_INTERFACE
   8722 } ISeekingPassThruVtbl;
   8723 interface ISeekingPassThru {
   8724     CONST_VTBL ISeekingPassThruVtbl* lpVtbl;
   8725 };
   8726 
   8727 #ifdef COBJMACROS
   8728 #ifndef WIDL_C_INLINE_WRAPPERS
   8729 /*** IUnknown methods ***/
   8730 #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8731 #define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This)
   8732 #define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This)
   8733 /*** ISeekingPassThru methods ***/
   8734 #define ISeekingPassThru_Init(This,bSupportRendering,pPin) (This)->lpVtbl->Init(This,bSupportRendering,pPin)
   8735 #else
   8736 /*** IUnknown methods ***/
   8737 static FORCEINLINE HRESULT ISeekingPassThru_QueryInterface(ISeekingPassThru* This,REFIID riid,void **ppvObject) {
   8738     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8739 }
   8740 static FORCEINLINE ULONG ISeekingPassThru_AddRef(ISeekingPassThru* This) {
   8741     return This->lpVtbl->AddRef(This);
   8742 }
   8743 static FORCEINLINE ULONG ISeekingPassThru_Release(ISeekingPassThru* This) {
   8744     return This->lpVtbl->Release(This);
   8745 }
   8746 /*** ISeekingPassThru methods ***/
   8747 static FORCEINLINE HRESULT ISeekingPassThru_Init(ISeekingPassThru* This,WINBOOL bSupportRendering,IPin *pPin) {
   8748     return This->lpVtbl->Init(This,bSupportRendering,pPin);
   8749 }
   8750 #endif
   8751 #endif
   8752 
   8753 #endif
   8754 
   8755 HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy(
   8756     ISeekingPassThru* This,
   8757     WINBOOL bSupportRendering,
   8758     IPin *pPin);
   8759 void __RPC_STUB ISeekingPassThru_Init_Stub(
   8760     IRpcStubBuffer* This,
   8761     IRpcChannelBuffer* pRpcChannelBuffer,
   8762     PRPC_MESSAGE pRpcMessage,
   8763     DWORD* pdwStubPhase);
   8764 
   8765 #endif  /* __ISeekingPassThru_INTERFACE_DEFINED__ */
   8766 
   8767 enum _AM_FILTER_MISC_FLAGS {
   8768     AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
   8769     AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
   8770 };
   8771 
   8772 /*****************************************************************************
   8773  * IAMFilterMiscFlags interface
   8774  */
   8775 #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
   8776 #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
   8777 
   8778 DEFINE_GUID(IID_IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75);
   8779 #if defined(__cplusplus) && !defined(CINTERFACE)
   8780 MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
   8781 IAMFilterMiscFlags : public IUnknown
   8782 {
   8783     virtual ULONG STDMETHODCALLTYPE GetMiscFlags(
   8784         ) = 0;
   8785 
   8786 };
   8787 #ifdef __CRT_UUID_DECL
   8788 __CRT_UUID_DECL(IAMFilterMiscFlags, 0x2dd74950, 0xa890, 0x11d1, 0xab,0xe8, 0x00,0xa0,0xc9,0x05,0xf3,0x75)
   8789 #endif
   8790 #else
   8791 typedef struct IAMFilterMiscFlagsVtbl {
   8792     BEGIN_INTERFACE
   8793 
   8794     /*** IUnknown methods ***/
   8795     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8796         IAMFilterMiscFlags* This,
   8797         REFIID riid,
   8798         void **ppvObject);
   8799 
   8800     ULONG (STDMETHODCALLTYPE *AddRef)(
   8801         IAMFilterMiscFlags* This);
   8802 
   8803     ULONG (STDMETHODCALLTYPE *Release)(
   8804         IAMFilterMiscFlags* This);
   8805 
   8806     /*** IAMFilterMiscFlags methods ***/
   8807     ULONG (STDMETHODCALLTYPE *GetMiscFlags)(
   8808         IAMFilterMiscFlags* This);
   8809 
   8810     END_INTERFACE
   8811 } IAMFilterMiscFlagsVtbl;
   8812 interface IAMFilterMiscFlags {
   8813     CONST_VTBL IAMFilterMiscFlagsVtbl* lpVtbl;
   8814 };
   8815 
   8816 #ifdef COBJMACROS
   8817 #ifndef WIDL_C_INLINE_WRAPPERS
   8818 /*** IUnknown methods ***/
   8819 #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8820 #define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This)
   8821 #define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This)
   8822 /*** IAMFilterMiscFlags methods ***/
   8823 #define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This)
   8824 #else
   8825 /*** IUnknown methods ***/
   8826 static FORCEINLINE HRESULT IAMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags* This,REFIID riid,void **ppvObject) {
   8827     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8828 }
   8829 static FORCEINLINE ULONG IAMFilterMiscFlags_AddRef(IAMFilterMiscFlags* This) {
   8830     return This->lpVtbl->AddRef(This);
   8831 }
   8832 static FORCEINLINE ULONG IAMFilterMiscFlags_Release(IAMFilterMiscFlags* This) {
   8833     return This->lpVtbl->Release(This);
   8834 }
   8835 /*** IAMFilterMiscFlags methods ***/
   8836 static FORCEINLINE ULONG IAMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags* This) {
   8837     return This->lpVtbl->GetMiscFlags(This);
   8838 }
   8839 #endif
   8840 #endif
   8841 
   8842 #endif
   8843 
   8844 ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy(
   8845     IAMFilterMiscFlags* This);
   8846 void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
   8847     IRpcStubBuffer* This,
   8848     IRpcChannelBuffer* pRpcChannelBuffer,
   8849     PRPC_MESSAGE pRpcMessage,
   8850     DWORD* pdwStubPhase);
   8851 
   8852 #endif  /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
   8853 
   8854 /*****************************************************************************
   8855  * IAMGraphBuilderCallback interface
   8856  */
   8857 #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
   8858 #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
   8859 
   8860 DEFINE_GUID(IID_IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79);
   8861 #if defined(__cplusplus) && !defined(CINTERFACE)
   8862 MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79")
   8863 IAMGraphBuilderCallback : public IUnknown
   8864 {
   8865     virtual HRESULT STDMETHODCALLTYPE SelectedFilter(
   8866         IMoniker *pMon) = 0;
   8867 
   8868     virtual HRESULT STDMETHODCALLTYPE CreatedFilter(
   8869         IBaseFilter *pFil) = 0;
   8870 
   8871 };
   8872 #ifdef __CRT_UUID_DECL
   8873 __CRT_UUID_DECL(IAMGraphBuilderCallback, 0x4995f511, 0x9ddb, 0x4f12, 0xbd,0x3b, 0xf0,0x46,0x11,0x80,0x7b,0x79)
   8874 #endif
   8875 #else
   8876 typedef struct IAMGraphBuilderCallbackVtbl {
   8877     BEGIN_INTERFACE
   8878 
   8879     /*** IUnknown methods ***/
   8880     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8881         IAMGraphBuilderCallback* This,
   8882         REFIID riid,
   8883         void **ppvObject);
   8884 
   8885     ULONG (STDMETHODCALLTYPE *AddRef)(
   8886         IAMGraphBuilderCallback* This);
   8887 
   8888     ULONG (STDMETHODCALLTYPE *Release)(
   8889         IAMGraphBuilderCallback* This);
   8890 
   8891     /*** IAMGraphBuilderCallback methods ***/
   8892     HRESULT (STDMETHODCALLTYPE *SelectedFilter)(
   8893         IAMGraphBuilderCallback* This,
   8894         IMoniker *pMon);
   8895 
   8896     HRESULT (STDMETHODCALLTYPE *CreatedFilter)(
   8897         IAMGraphBuilderCallback* This,
   8898         IBaseFilter *pFil);
   8899 
   8900     END_INTERFACE
   8901 } IAMGraphBuilderCallbackVtbl;
   8902 interface IAMGraphBuilderCallback {
   8903     CONST_VTBL IAMGraphBuilderCallbackVtbl* lpVtbl;
   8904 };
   8905 
   8906 #ifdef COBJMACROS
   8907 #ifndef WIDL_C_INLINE_WRAPPERS
   8908 /*** IUnknown methods ***/
   8909 #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8910 #define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   8911 #define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This)
   8912 /*** IAMGraphBuilderCallback methods ***/
   8913 #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) (This)->lpVtbl->SelectedFilter(This,pMon)
   8914 #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) (This)->lpVtbl->CreatedFilter(This,pFil)
   8915 #else
   8916 /*** IUnknown methods ***/
   8917 static FORCEINLINE HRESULT IAMGraphBuilderCallback_QueryInterface(IAMGraphBuilderCallback* This,REFIID riid,void **ppvObject) {
   8918     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8919 }
   8920 static FORCEINLINE ULONG IAMGraphBuilderCallback_AddRef(IAMGraphBuilderCallback* This) {
   8921     return This->lpVtbl->AddRef(This);
   8922 }
   8923 static FORCEINLINE ULONG IAMGraphBuilderCallback_Release(IAMGraphBuilderCallback* This) {
   8924     return This->lpVtbl->Release(This);
   8925 }
   8926 /*** IAMGraphBuilderCallback methods ***/
   8927 static FORCEINLINE HRESULT IAMGraphBuilderCallback_SelectedFilter(IAMGraphBuilderCallback* This,IMoniker *pMon) {
   8928     return This->lpVtbl->SelectedFilter(This,pMon);
   8929 }
   8930 static FORCEINLINE HRESULT IAMGraphBuilderCallback_CreatedFilter(IAMGraphBuilderCallback* This,IBaseFilter *pFil) {
   8931     return This->lpVtbl->CreatedFilter(This,pFil);
   8932 }
   8933 #endif
   8934 #endif
   8935 
   8936 #endif
   8937 
   8938 HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_SelectedFilter_Proxy(
   8939     IAMGraphBuilderCallback* This,
   8940     IMoniker *pMon);
   8941 void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(
   8942     IRpcStubBuffer* This,
   8943     IRpcChannelBuffer* pRpcChannelBuffer,
   8944     PRPC_MESSAGE pRpcMessage,
   8945     DWORD* pdwStubPhase);
   8946 HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_CreatedFilter_Proxy(
   8947     IAMGraphBuilderCallback* This,
   8948     IBaseFilter *pFil);
   8949 void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(
   8950     IRpcStubBuffer* This,
   8951     IRpcChannelBuffer* pRpcChannelBuffer,
   8952     PRPC_MESSAGE pRpcMessage,
   8953     DWORD* pdwStubPhase);
   8954 
   8955 #endif  /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
   8956 
   8957 #ifndef __IReferenceClock2_FWD_DEFINED__
   8958 #define __IReferenceClock2_FWD_DEFINED__
   8959 typedef struct IReferenceClock2 IReferenceClock2;
   8960 #endif
   8961 #ifndef __IDistributorNotify_FWD_DEFINED__
   8962 #define __IDistributorNotify_FWD_DEFINED__
   8963 typedef struct IDistributorNotify IDistributorNotify;
   8964 #endif
   8965 
   8966 #ifndef __IAMStreamControl_FWD_DEFINED__
   8967 #define __IAMStreamControl_FWD_DEFINED__
   8968 typedef struct IAMStreamControl IAMStreamControl;
   8969 #endif
   8970 
   8971 #ifndef __IConfigAviMux_FWD_DEFINED__
   8972 #define __IConfigAviMux_FWD_DEFINED__
   8973 typedef struct IConfigAviMux IConfigAviMux;
   8974 #endif
   8975 
   8976 #ifndef __IAMVideoCompression_FWD_DEFINED__
   8977 #define __IAMVideoCompression_FWD_DEFINED__
   8978 typedef struct IAMVideoCompression IAMVideoCompression;
   8979 #endif
   8980 
   8981 #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
   8982 #define __IAMVfwCaptureDialogs_FWD_DEFINED__
   8983 typedef struct IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
   8984 #endif
   8985 
   8986 #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
   8987 #define __IAMVfwCompressDialogs_FWD_DEFINED__
   8988 typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs;
   8989 #endif
   8990 
   8991 #ifndef __IAMDroppedFrames_FWD_DEFINED__
   8992 #define __IAMDroppedFrames_FWD_DEFINED__
   8993 typedef struct IAMDroppedFrames IAMDroppedFrames;
   8994 #endif
   8995 
   8996 #ifndef __IAMAudioInputMixer_FWD_DEFINED__
   8997 #define __IAMAudioInputMixer_FWD_DEFINED__
   8998 typedef struct IAMAudioInputMixer IAMAudioInputMixer;
   8999 #endif
   9000 
   9001 #ifndef __IAMBufferNegotiation_FWD_DEFINED__
   9002 #define __IAMBufferNegotiation_FWD_DEFINED__
   9003 typedef struct IAMBufferNegotiation IAMBufferNegotiation;
   9004 #endif
   9005 
   9006 #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
   9007 #define __IAMAnalogVideoDecoder_FWD_DEFINED__
   9008 typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
   9009 #endif
   9010 
   9011 #ifndef __IAMCameraControl_FWD_DEFINED__
   9012 #define __IAMCameraControl_FWD_DEFINED__
   9013 typedef struct IAMCameraControl IAMCameraControl;
   9014 #endif
   9015 
   9016 #ifndef __IAMVideoControl_FWD_DEFINED__
   9017 #define __IAMVideoControl_FWD_DEFINED__
   9018 typedef struct IAMVideoControl IAMVideoControl;
   9019 #endif
   9020 
   9021 #ifndef __IAMCrossbar_FWD_DEFINED__
   9022 #define __IAMCrossbar_FWD_DEFINED__
   9023 typedef struct IAMCrossbar IAMCrossbar;
   9024 #endif
   9025 
   9026 #ifndef __IAMTuner_FWD_DEFINED__
   9027 #define __IAMTuner_FWD_DEFINED__
   9028 typedef struct IAMTuner IAMTuner;
   9029 #endif
   9030 
   9031 #ifndef __IAMTunerNotification_FWD_DEFINED__
   9032 #define __IAMTunerNotification_FWD_DEFINED__
   9033 typedef struct IAMTunerNotification IAMTunerNotification;
   9034 #endif
   9035 
   9036 #ifndef __IAMTVTuner_FWD_DEFINED__
   9037 #define __IAMTVTuner_FWD_DEFINED__
   9038 typedef struct IAMTVTuner IAMTVTuner;
   9039 #endif
   9040 
   9041 #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
   9042 #define __IBPCSatelliteTuner_FWD_DEFINED__
   9043 typedef struct IBPCSatelliteTuner IBPCSatelliteTuner;
   9044 #endif
   9045 
   9046 #ifndef __IAMTVAudio_FWD_DEFINED__
   9047 #define __IAMTVAudio_FWD_DEFINED__
   9048 typedef struct IAMTVAudio IAMTVAudio;
   9049 #endif
   9050 
   9051 #ifndef __IAMTVAudioNotification_FWD_DEFINED__
   9052 #define __IAMTVAudioNotification_FWD_DEFINED__
   9053 typedef struct IAMTVAudioNotification IAMTVAudioNotification;
   9054 #endif
   9055 
   9056 #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
   9057 #define __IAMAnalogVideoEncoder_FWD_DEFINED__
   9058 typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
   9059 #endif
   9060 
   9061 #ifndef __IMediaPropertyBag_FWD_DEFINED__
   9062 #define __IMediaPropertyBag_FWD_DEFINED__
   9063 typedef struct IMediaPropertyBag IMediaPropertyBag;
   9064 #endif
   9065 
   9066 #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
   9067 #define __IPersistMediaPropertyBag_FWD_DEFINED__
   9068 typedef struct IPersistMediaPropertyBag IPersistMediaPropertyBag;
   9069 #endif
   9070 
   9071 #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
   9072 #define __IAMPhysicalPinInfo_FWD_DEFINED__
   9073 typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo;
   9074 #endif
   9075 
   9076 #ifndef __IAMExtDevice_FWD_DEFINED__
   9077 #define __IAMExtDevice_FWD_DEFINED__
   9078 typedef struct IAMExtDevice IAMExtDevice;
   9079 #endif
   9080 
   9081 #ifndef __IAMExtTransport_FWD_DEFINED__
   9082 #define __IAMExtTransport_FWD_DEFINED__
   9083 typedef struct IAMExtTransport IAMExtTransport;
   9084 #endif
   9085 
   9086 #ifndef __IAMTimecodeReader_FWD_DEFINED__
   9087 #define __IAMTimecodeReader_FWD_DEFINED__
   9088 typedef struct IAMTimecodeReader IAMTimecodeReader;
   9089 #endif
   9090 
   9091 #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
   9092 #define __IAMTimecodeGenerator_FWD_DEFINED__
   9093 typedef struct IAMTimecodeGenerator IAMTimecodeGenerator;
   9094 #endif
   9095 
   9096 #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
   9097 #define __IAMTimecodeDisplay_FWD_DEFINED__
   9098 typedef struct IAMTimecodeDisplay IAMTimecodeDisplay;
   9099 #endif
   9100 
   9101 #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
   9102 #define __IAMDevMemoryAllocator_FWD_DEFINED__
   9103 typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator;
   9104 #endif
   9105 
   9106 #ifndef __IAMDevMemoryControl_FWD_DEFINED__
   9107 #define __IAMDevMemoryControl_FWD_DEFINED__
   9108 typedef struct IAMDevMemoryControl IAMDevMemoryControl;
   9109 #endif
   9110 
   9111 #ifndef __IAMStreamSelect_FWD_DEFINED__
   9112 #define __IAMStreamSelect_FWD_DEFINED__
   9113 typedef struct IAMStreamSelect IAMStreamSelect;
   9114 #endif
   9115 
   9116 #ifndef __IAMResourceControl_FWD_DEFINED__
   9117 #define __IAMResourceControl_FWD_DEFINED__
   9118 typedef struct IAMResourceControl IAMResourceControl;
   9119 #endif
   9120 
   9121 #ifndef __IAMClockAdjust_FWD_DEFINED__
   9122 #define __IAMClockAdjust_FWD_DEFINED__
   9123 typedef struct IAMClockAdjust IAMClockAdjust;
   9124 #endif
   9125 
   9126 #ifndef __IDrawVideoImage_FWD_DEFINED__
   9127 #define __IDrawVideoImage_FWD_DEFINED__
   9128 typedef struct IDrawVideoImage IDrawVideoImage;
   9129 #endif
   9130 
   9131 #ifndef __IDecimateVideoImage_FWD_DEFINED__
   9132 #define __IDecimateVideoImage_FWD_DEFINED__
   9133 typedef struct IDecimateVideoImage IDecimateVideoImage;
   9134 #endif
   9135 
   9136 #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
   9137 #define __IAMVideoDecimationProperties_FWD_DEFINED__
   9138 typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties;
   9139 #endif
   9140 
   9141 #ifndef __IVideoFrameStep_FWD_DEFINED__
   9142 #define __IVideoFrameStep_FWD_DEFINED__
   9143 typedef struct IVideoFrameStep IVideoFrameStep;
   9144 #endif
   9145 
   9146 #ifndef __IAMLatency_FWD_DEFINED__
   9147 #define __IAMLatency_FWD_DEFINED__
   9148 typedef struct IAMLatency IAMLatency;
   9149 #endif
   9150 
   9151 #ifndef __IAMPushSource_FWD_DEFINED__
   9152 #define __IAMPushSource_FWD_DEFINED__
   9153 typedef struct IAMPushSource IAMPushSource;
   9154 #endif
   9155 
   9156 #ifndef __IAMDeviceRemoval_FWD_DEFINED__
   9157 #define __IAMDeviceRemoval_FWD_DEFINED__
   9158 typedef struct IAMDeviceRemoval IAMDeviceRemoval;
   9159 #endif
   9160 
   9161 #ifndef __IDVEnc_FWD_DEFINED__
   9162 #define __IDVEnc_FWD_DEFINED__
   9163 typedef struct IDVEnc IDVEnc;
   9164 #endif
   9165 
   9166 #ifndef __IIPDVDec_FWD_DEFINED__
   9167 #define __IIPDVDec_FWD_DEFINED__
   9168 typedef struct IIPDVDec IIPDVDec;
   9169 #endif
   9170 
   9171 #ifndef __IDVRGB219_FWD_DEFINED__
   9172 #define __IDVRGB219_FWD_DEFINED__
   9173 typedef struct IDVRGB219 IDVRGB219;
   9174 #endif
   9175 
   9176 #ifndef __IDVSplitter_FWD_DEFINED__
   9177 #define __IDVSplitter_FWD_DEFINED__
   9178 typedef struct IDVSplitter IDVSplitter;
   9179 #endif
   9180 
   9181 #ifndef __IAMAudioRendererStats_FWD_DEFINED__
   9182 #define __IAMAudioRendererStats_FWD_DEFINED__
   9183 typedef struct IAMAudioRendererStats IAMAudioRendererStats;
   9184 #endif
   9185 
   9186 #ifndef __IAMGraphStreams_FWD_DEFINED__
   9187 #define __IAMGraphStreams_FWD_DEFINED__
   9188 typedef struct IAMGraphStreams IAMGraphStreams;
   9189 #endif
   9190 
   9191 #ifndef __IAMOverlayFX_FWD_DEFINED__
   9192 #define __IAMOverlayFX_FWD_DEFINED__
   9193 typedef struct IAMOverlayFX IAMOverlayFX;
   9194 #endif
   9195 
   9196 #ifndef __IAMOpenProgress_FWD_DEFINED__
   9197 #define __IAMOpenProgress_FWD_DEFINED__
   9198 typedef struct IAMOpenProgress IAMOpenProgress;
   9199 #endif
   9200 
   9201 #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
   9202 #define __IMpeg2Demultiplexer_FWD_DEFINED__
   9203 typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer;
   9204 #endif
   9205 
   9206 #ifndef __IEnumStreamIdMap_FWD_DEFINED__
   9207 #define __IEnumStreamIdMap_FWD_DEFINED__
   9208 typedef struct IEnumStreamIdMap IEnumStreamIdMap;
   9209 #endif
   9210 
   9211 #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
   9212 #define __IMPEG2StreamIdMap_FWD_DEFINED__
   9213 typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap;
   9214 #endif
   9215 
   9216 #ifndef __IRegisterServiceProvider_FWD_DEFINED__
   9217 #define __IRegisterServiceProvider_FWD_DEFINED__
   9218 typedef struct IRegisterServiceProvider IRegisterServiceProvider;
   9219 #endif
   9220 
   9221 #ifndef __IAMClockSlave_FWD_DEFINED__
   9222 #define __IAMClockSlave_FWD_DEFINED__
   9223 typedef struct IAMClockSlave IAMClockSlave;
   9224 #endif
   9225 
   9226 #ifndef __ICodecAPI_FWD_DEFINED__
   9227 #define __ICodecAPI_FWD_DEFINED__
   9228 typedef struct ICodecAPI ICodecAPI;
   9229 #endif
   9230 
   9231 #ifndef __IGetCapabilitiesKey_FWD_DEFINED__
   9232 #define __IGetCapabilitiesKey_FWD_DEFINED__
   9233 typedef struct IGetCapabilitiesKey IGetCapabilitiesKey;
   9234 #endif
   9235 
   9236 #ifndef __IEncoderAPI_FWD_DEFINED__
   9237 #define __IEncoderAPI_FWD_DEFINED__
   9238 typedef struct IEncoderAPI IEncoderAPI;
   9239 #endif
   9240 
   9241 #ifndef __IVideoEncoder_FWD_DEFINED__
   9242 #define __IVideoEncoder_FWD_DEFINED__
   9243 typedef struct IVideoEncoder IVideoEncoder;
   9244 #endif
   9245 
   9246 #ifndef __IAMDecoderCaps_FWD_DEFINED__
   9247 #define __IAMDecoderCaps_FWD_DEFINED__
   9248 typedef struct IAMDecoderCaps IAMDecoderCaps;
   9249 #endif
   9250 
   9251 #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__
   9252 #define __IAMCertifiedOutputProtection_FWD_DEFINED__
   9253 typedef struct IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
   9254 #endif
   9255 
   9256 #ifndef __IDvdControl_FWD_DEFINED__
   9257 #define __IDvdControl_FWD_DEFINED__
   9258 typedef struct IDvdControl IDvdControl;
   9259 #endif
   9260 
   9261 #ifndef __IDvdInfo_FWD_DEFINED__
   9262 #define __IDvdInfo_FWD_DEFINED__
   9263 typedef struct IDvdInfo IDvdInfo;
   9264 #endif
   9265 
   9266 #ifndef __IDvdCmd_FWD_DEFINED__
   9267 #define __IDvdCmd_FWD_DEFINED__
   9268 typedef struct IDvdCmd IDvdCmd;
   9269 #endif
   9270 
   9271 #ifndef __IDvdState_FWD_DEFINED__
   9272 #define __IDvdState_FWD_DEFINED__
   9273 typedef struct IDvdState IDvdState;
   9274 #endif
   9275 
   9276 #ifndef __IDvdControl2_FWD_DEFINED__
   9277 #define __IDvdControl2_FWD_DEFINED__
   9278 typedef struct IDvdControl2 IDvdControl2;
   9279 #endif
   9280 
   9281 #ifndef __IDvdInfo2_FWD_DEFINED__
   9282 #define __IDvdInfo2_FWD_DEFINED__
   9283 typedef struct IDvdInfo2 IDvdInfo2;
   9284 #endif
   9285 
   9286 #ifndef __IDvdGraphBuilder_FWD_DEFINED__
   9287 #define __IDvdGraphBuilder_FWD_DEFINED__
   9288 typedef struct IDvdGraphBuilder IDvdGraphBuilder;
   9289 #endif
   9290 
   9291 #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
   9292 #define __IDDrawExclModeVideo_FWD_DEFINED__
   9293 typedef struct IDDrawExclModeVideo IDDrawExclModeVideo;
   9294 #endif
   9295 
   9296 #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
   9297 #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
   9298 typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
   9299 #endif
   9300 
   9301 #ifndef __IPinConnection_FWD_DEFINED__
   9302 #define __IPinConnection_FWD_DEFINED__
   9303 typedef struct IPinConnection IPinConnection;
   9304 #endif
   9305 
   9306 #ifndef __IPinFlowControl_FWD_DEFINED__
   9307 #define __IPinFlowControl_FWD_DEFINED__
   9308 typedef struct IPinFlowControl IPinFlowControl;
   9309 #endif
   9310 
   9311 #ifndef __IGraphConfig_FWD_DEFINED__
   9312 #define __IGraphConfig_FWD_DEFINED__
   9313 typedef struct IGraphConfig IGraphConfig;
   9314 #endif
   9315 
   9316 #ifndef __IGraphConfigCallback_FWD_DEFINED__
   9317 #define __IGraphConfigCallback_FWD_DEFINED__
   9318 typedef struct IGraphConfigCallback IGraphConfigCallback;
   9319 #endif
   9320 
   9321 #ifndef __IFilterChain_FWD_DEFINED__
   9322 #define __IFilterChain_FWD_DEFINED__
   9323 typedef struct IFilterChain IFilterChain;
   9324 #endif
   9325 
   9326 #ifndef __IVMRImagePresenter_FWD_DEFINED__
   9327 #define __IVMRImagePresenter_FWD_DEFINED__
   9328 typedef struct IVMRImagePresenter IVMRImagePresenter;
   9329 #endif
   9330 
   9331 #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
   9332 #define __IVMRSurfaceAllocator_FWD_DEFINED__
   9333 typedef struct IVMRSurfaceAllocator IVMRSurfaceAllocator;
   9334 #endif
   9335 
   9336 #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
   9337 #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
   9338 typedef struct IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
   9339 #endif
   9340 
   9341 #ifndef __IVMRWindowlessControl_FWD_DEFINED__
   9342 #define __IVMRWindowlessControl_FWD_DEFINED__
   9343 typedef struct IVMRWindowlessControl IVMRWindowlessControl;
   9344 #endif
   9345 
   9346 #ifndef __IVMRMixerControl_FWD_DEFINED__
   9347 #define __IVMRMixerControl_FWD_DEFINED__
   9348 typedef struct IVMRMixerControl IVMRMixerControl;
   9349 #endif
   9350 
   9351 #ifndef __IVMRMonitorConfig_FWD_DEFINED__
   9352 #define __IVMRMonitorConfig_FWD_DEFINED__
   9353 typedef struct IVMRMonitorConfig IVMRMonitorConfig;
   9354 #endif
   9355 
   9356 #ifndef __IVMRFilterConfig_FWD_DEFINED__
   9357 #define __IVMRFilterConfig_FWD_DEFINED__
   9358 typedef struct IVMRFilterConfig IVMRFilterConfig;
   9359 #endif
   9360 
   9361 #ifndef __IVMRAspectRatioControl_FWD_DEFINED__
   9362 #define __IVMRAspectRatioControl_FWD_DEFINED__
   9363 typedef struct IVMRAspectRatioControl IVMRAspectRatioControl;
   9364 #endif
   9365 
   9366 #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
   9367 #define __IVMRDeinterlaceControl_FWD_DEFINED__
   9368 typedef struct IVMRDeinterlaceControl IVMRDeinterlaceControl;
   9369 #endif
   9370 
   9371 #ifndef __IVMRMixerBitmap_FWD_DEFINED__
   9372 #define __IVMRMixerBitmap_FWD_DEFINED__
   9373 typedef struct IVMRMixerBitmap IVMRMixerBitmap;
   9374 #endif
   9375 
   9376 #ifndef __IVMRImageCompositor_FWD_DEFINED__
   9377 #define __IVMRImageCompositor_FWD_DEFINED__
   9378 typedef struct IVMRImageCompositor IVMRImageCompositor;
   9379 #endif
   9380 
   9381 #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
   9382 #define __IVMRVideoStreamControl_FWD_DEFINED__
   9383 typedef struct IVMRVideoStreamControl IVMRVideoStreamControl;
   9384 #endif
   9385 
   9386 #ifndef __IVMRSurface_FWD_DEFINED__
   9387 #define __IVMRSurface_FWD_DEFINED__
   9388 typedef struct IVMRSurface IVMRSurface;
   9389 #endif
   9390 
   9391 #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
   9392 #define __IVMRImagePresenterConfig_FWD_DEFINED__
   9393 typedef struct IVMRImagePresenterConfig IVMRImagePresenterConfig;
   9394 #endif
   9395 
   9396 #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
   9397 #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
   9398 typedef struct IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
   9399 #endif
   9400 
   9401 #ifndef __IVPManager_FWD_DEFINED__
   9402 #define __IVPManager_FWD_DEFINED__
   9403 typedef struct IVPManager IVPManager;
   9404 #endif
   9405 
   9406 #ifndef __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
   9407 #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
   9408 typedef struct IAMAsyncReaderTimestampScaling IAMAsyncReaderTimestampScaling;
   9409 #endif
   9410 
   9411 #ifndef __IAMPluginControl_FWD_DEFINED__
   9412 #define __IAMPluginControl_FWD_DEFINED__
   9413 typedef struct IAMPluginControl IAMPluginControl;
   9414 #endif
   9415 
   9416 #include "ocidl.h"
   9417 
   9418   extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
   9419   extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
   9420 #ifndef __IReferenceClock2_INTERFACE_DEFINED__
   9421 #define __IReferenceClock2_INTERFACE_DEFINED__
   9422   EXTERN_C const IID IID_IReferenceClock2;
   9423 #if defined(__cplusplus) && !defined(CINTERFACE)
   9424   struct IReferenceClock2 : public IReferenceClock {
   9425   };
   9426 #else
   9427   typedef struct IReferenceClock2Vtbl {
   9428     BEGIN_INTERFACE
   9429       HRESULT (WINAPI *QueryInterface)(IReferenceClock2 *This,REFIID riid,void **ppvObject);
   9430       ULONG (WINAPI *AddRef)(IReferenceClock2 *This);
   9431       ULONG (WINAPI *Release)(IReferenceClock2 *This);
   9432       HRESULT (WINAPI *GetTime)(IReferenceClock2 *This,REFERENCE_TIME *pTime);
   9433       HRESULT (WINAPI *AdviseTime)(IReferenceClock2 *This,REFERENCE_TIME baseTime,REFERENCE_TIME streamTime,HEVENT hEvent,DWORD_PTR *pdwAdviseCookie);
   9434       HRESULT (WINAPI *AdvisePeriodic)(IReferenceClock2 *This,REFERENCE_TIME startTime,REFERENCE_TIME periodTime,HSEMAPHORE hSemaphore,DWORD_PTR *pdwAdviseCookie);
   9435       HRESULT (WINAPI *Unadvise)(IReferenceClock2 *This,DWORD_PTR dwAdviseCookie);
   9436     END_INTERFACE
   9437   } IReferenceClock2Vtbl;
   9438   struct IReferenceClock2 {
   9439     CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
   9440   };
   9441 #ifdef COBJMACROS
   9442 #define IReferenceClock2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9443 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This)
   9444 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This)
   9445 #define IReferenceClock2_GetTime(This,pTime) (This)->lpVtbl->GetTime(This,pTime)
   9446 #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
   9447 #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
   9448 #define IReferenceClock2_Unadvise(This,dwAdviseCookie) (This)->lpVtbl->Unadvise(This,dwAdviseCookie)
   9449 #endif
   9450 #endif
   9451 #endif
   9452 
   9453   typedef IReferenceClock2 *PREFERENCECLOCK2;
   9454 
   9455 #ifndef __IDistributorNotify_INTERFACE_DEFINED__
   9456 #define __IDistributorNotify_INTERFACE_DEFINED__
   9457   EXTERN_C const IID IID_IDistributorNotify;
   9458 #if defined(__cplusplus) && !defined(CINTERFACE)
   9459   struct IDistributorNotify : public IUnknown {
   9460   public:
   9461     virtual HRESULT WINAPI Stop(void) = 0;
   9462     virtual HRESULT WINAPI Pause(void) = 0;
   9463     virtual HRESULT WINAPI Run(REFERENCE_TIME tStart) = 0;
   9464     virtual HRESULT WINAPI SetSyncSource(IReferenceClock *pClock) = 0;
   9465     virtual HRESULT WINAPI NotifyGraphChange(void) = 0;
   9466   };
   9467 #else
   9468   typedef struct IDistributorNotifyVtbl {
   9469     BEGIN_INTERFACE
   9470       HRESULT (WINAPI *QueryInterface)(IDistributorNotify *This,REFIID riid,void **ppvObject);
   9471       ULONG (WINAPI *AddRef)(IDistributorNotify *This);
   9472       ULONG (WINAPI *Release)(IDistributorNotify *This);
   9473       HRESULT (WINAPI *Stop)(IDistributorNotify *This);
   9474       HRESULT (WINAPI *Pause)(IDistributorNotify *This);
   9475       HRESULT (WINAPI *Run)(IDistributorNotify *This,REFERENCE_TIME tStart);
   9476       HRESULT (WINAPI *SetSyncSource)(IDistributorNotify *This,IReferenceClock *pClock);
   9477       HRESULT (WINAPI *NotifyGraphChange)(IDistributorNotify *This);
   9478     END_INTERFACE
   9479   } IDistributorNotifyVtbl;
   9480   struct IDistributorNotify {
   9481     CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
   9482   };
   9483 #ifdef COBJMACROS
   9484 #define IDistributorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9485 #define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   9486 #define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This)
   9487 #define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This)
   9488 #define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This)
   9489 #define IDistributorNotify_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
   9490 #define IDistributorNotify_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
   9491 #define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This)
   9492 #endif
   9493 #endif
   9494   HRESULT WINAPI IDistributorNotify_Stop_Proxy(IDistributorNotify *This);
   9495   void __RPC_STUB IDistributorNotify_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9496   HRESULT WINAPI IDistributorNotify_Pause_Proxy(IDistributorNotify *This);
   9497   void __RPC_STUB IDistributorNotify_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9498   HRESULT WINAPI IDistributorNotify_Run_Proxy(IDistributorNotify *This,REFERENCE_TIME tStart);
   9499   void __RPC_STUB IDistributorNotify_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9500   HRESULT WINAPI IDistributorNotify_SetSyncSource_Proxy(IDistributorNotify *This,IReferenceClock *pClock);
   9501   void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9502   HRESULT WINAPI IDistributorNotify_NotifyGraphChange_Proxy(IDistributorNotify *This);
   9503   void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9504 #endif
   9505 
   9506   typedef enum __MIDL___MIDL_itf_strmif_0160_0001 {
   9507     AM_STREAM_INFO_START_DEFINED = 0x1,AM_STREAM_INFO_STOP_DEFINED = 0x2,AM_STREAM_INFO_DISCARDING = 0x4,AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
   9508   } AM_STREAM_INFO_FLAGS;
   9509 
   9510   typedef struct __MIDL___MIDL_itf_strmif_0160_0002 {
   9511     REFERENCE_TIME tStart;
   9512     REFERENCE_TIME tStop;
   9513     DWORD dwStartCookie;
   9514     DWORD dwStopCookie;
   9515     DWORD dwFlags;
   9516   } AM_STREAM_INFO;
   9517 
   9518   extern RPC_IF_HANDLE __MIDL_itf_strmif_0160_v0_0_c_ifspec;
   9519   extern RPC_IF_HANDLE __MIDL_itf_strmif_0160_v0_0_s_ifspec;
   9520 #ifndef __IAMStreamControl_INTERFACE_DEFINED__
   9521 #define __IAMStreamControl_INTERFACE_DEFINED__
   9522   EXTERN_C const IID IID_IAMStreamControl;
   9523 #if defined(__cplusplus) && !defined(CINTERFACE)
   9524   struct IAMStreamControl : public IUnknown {
   9525   public:
   9526     virtual HRESULT WINAPI StartAt(const REFERENCE_TIME *ptStart,DWORD dwCookie) = 0;
   9527     virtual HRESULT WINAPI StopAt(const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie) = 0;
   9528     virtual HRESULT WINAPI GetInfo(AM_STREAM_INFO *pInfo) = 0;
   9529   };
   9530 #else
   9531   typedef struct IAMStreamControlVtbl {
   9532     BEGIN_INTERFACE
   9533       HRESULT (WINAPI *QueryInterface)(IAMStreamControl *This,REFIID riid,void **ppvObject);
   9534       ULONG (WINAPI *AddRef)(IAMStreamControl *This);
   9535       ULONG (WINAPI *Release)(IAMStreamControl *This);
   9536       HRESULT (WINAPI *StartAt)(IAMStreamControl *This,const REFERENCE_TIME *ptStart,DWORD dwCookie);
   9537       HRESULT (WINAPI *StopAt)(IAMStreamControl *This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie);
   9538       HRESULT (WINAPI *GetInfo)(IAMStreamControl *This,AM_STREAM_INFO *pInfo);
   9539     END_INTERFACE
   9540   } IAMStreamControlVtbl;
   9541   struct IAMStreamControl {
   9542     CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
   9543   };
   9544 #ifdef COBJMACROS
   9545 #define IAMStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9546 #define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   9547 #define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This)
   9548 #define IAMStreamControl_StartAt(This,ptStart,dwCookie) (This)->lpVtbl->StartAt(This,ptStart,dwCookie)
   9549 #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) (This)->lpVtbl->StopAt(This,ptStop,bSendExtra,dwCookie)
   9550 #define IAMStreamControl_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
   9551 #endif
   9552 #endif
   9553   HRESULT WINAPI IAMStreamControl_StartAt_Proxy(IAMStreamControl *This,const REFERENCE_TIME *ptStart,DWORD dwCookie);
   9554   void __RPC_STUB IAMStreamControl_StartAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9555   HRESULT WINAPI IAMStreamControl_StopAt_Proxy(IAMStreamControl *This,const REFERENCE_TIME *ptStop,WINBOOL bSendExtra,DWORD dwCookie);
   9556   void __RPC_STUB IAMStreamControl_StopAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9557   HRESULT WINAPI IAMStreamControl_GetInfo_Proxy(IAMStreamControl *This,AM_STREAM_INFO *pInfo);
   9558   void __RPC_STUB IAMStreamControl_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9559 #endif
   9560 
   9561 #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
   9562 #define __IConfigInterleaving_INTERFACE_DEFINED__
   9563   typedef enum __MIDL_IConfigInterleaving_0001 {
   9564     INTERLEAVE_NONE = 0,
   9565     INTERLEAVE_CAPTURE,INTERLEAVE_FULL,INTERLEAVE_NONE_BUFFERED
   9566   } InterleavingMode;
   9567 
   9568   EXTERN_C const IID IID_IConfigInterleaving;
   9569 #if defined(__cplusplus) && !defined(CINTERFACE)
   9570   struct IConfigInterleaving : public IUnknown {
   9571   public:
   9572     virtual HRESULT WINAPI put_Mode(InterleavingMode mode) = 0;
   9573     virtual HRESULT WINAPI get_Mode(InterleavingMode *pMode) = 0;
   9574     virtual HRESULT WINAPI put_Interleaving(const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll) = 0;
   9575     virtual HRESULT WINAPI get_Interleaving(REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll) = 0;
   9576   };
   9577 #else
   9578   typedef struct IConfigInterleavingVtbl {
   9579     BEGIN_INTERFACE
   9580       HRESULT (WINAPI *QueryInterface)(IConfigInterleaving *This,REFIID riid,void **ppvObject);
   9581       ULONG (WINAPI *AddRef)(IConfigInterleaving *This);
   9582       ULONG (WINAPI *Release)(IConfigInterleaving *This);
   9583       HRESULT (WINAPI *put_Mode)(IConfigInterleaving *This,InterleavingMode mode);
   9584       HRESULT (WINAPI *get_Mode)(IConfigInterleaving *This,InterleavingMode *pMode);
   9585       HRESULT (WINAPI *put_Interleaving)(IConfigInterleaving *This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll);
   9586       HRESULT (WINAPI *get_Interleaving)(IConfigInterleaving *This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll);
   9587     END_INTERFACE
   9588   } IConfigInterleavingVtbl;
   9589   struct IConfigInterleaving {
   9590     CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
   9591   };
   9592 #ifdef COBJMACROS
   9593 #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9594 #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This)
   9595 #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This)
   9596 #define IConfigInterleaving_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode)
   9597 #define IConfigInterleaving_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
   9598 #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->put_Interleaving(This,prtInterleave,prtPreroll)
   9599 #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) (This)->lpVtbl->get_Interleaving(This,prtInterleave,prtPreroll)
   9600 #endif
   9601 #endif
   9602   HRESULT WINAPI IConfigInterleaving_put_Mode_Proxy(IConfigInterleaving *This,InterleavingMode mode);
   9603   void __RPC_STUB IConfigInterleaving_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9604   HRESULT WINAPI IConfigInterleaving_get_Mode_Proxy(IConfigInterleaving *This,InterleavingMode *pMode);
   9605   void __RPC_STUB IConfigInterleaving_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9606   HRESULT WINAPI IConfigInterleaving_put_Interleaving_Proxy(IConfigInterleaving *This,const REFERENCE_TIME *prtInterleave,const REFERENCE_TIME *prtPreroll);
   9607   void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9608   HRESULT WINAPI IConfigInterleaving_get_Interleaving_Proxy(IConfigInterleaving *This,REFERENCE_TIME *prtInterleave,REFERENCE_TIME *prtPreroll);
   9609   void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9610 #endif
   9611 
   9612 #ifndef __IConfigAviMux_INTERFACE_DEFINED__
   9613 #define __IConfigAviMux_INTERFACE_DEFINED__
   9614   EXTERN_C const IID IID_IConfigAviMux;
   9615 #if defined(__cplusplus) && !defined(CINTERFACE)
   9616   struct IConfigAviMux : public IUnknown {
   9617   public:
   9618     virtual HRESULT WINAPI SetMasterStream(LONG iStream) = 0;
   9619     virtual HRESULT WINAPI GetMasterStream(LONG *pStream) = 0;
   9620     virtual HRESULT WINAPI SetOutputCompatibilityIndex(WINBOOL fOldIndex) = 0;
   9621     virtual HRESULT WINAPI GetOutputCompatibilityIndex(WINBOOL *pfOldIndex) = 0;
   9622   };
   9623 #else
   9624   typedef struct IConfigAviMuxVtbl {
   9625     BEGIN_INTERFACE
   9626       HRESULT (WINAPI *QueryInterface)(IConfigAviMux *This,REFIID riid,void **ppvObject);
   9627       ULONG (WINAPI *AddRef)(IConfigAviMux *This);
   9628       ULONG (WINAPI *Release)(IConfigAviMux *This);
   9629       HRESULT (WINAPI *SetMasterStream)(IConfigAviMux *This,LONG iStream);
   9630       HRESULT (WINAPI *GetMasterStream)(IConfigAviMux *This,LONG *pStream);
   9631       HRESULT (WINAPI *SetOutputCompatibilityIndex)(IConfigAviMux *This,WINBOOL fOldIndex);
   9632       HRESULT (WINAPI *GetOutputCompatibilityIndex)(IConfigAviMux *This,WINBOOL *pfOldIndex);
   9633     END_INTERFACE
   9634   } IConfigAviMuxVtbl;
   9635   struct IConfigAviMux {
   9636     CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
   9637   };
   9638 #ifdef COBJMACROS
   9639 #define IConfigAviMux_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9640 #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This)
   9641 #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This)
   9642 #define IConfigAviMux_SetMasterStream(This,iStream) (This)->lpVtbl->SetMasterStream(This,iStream)
   9643 #define IConfigAviMux_GetMasterStream(This,pStream) (This)->lpVtbl->GetMasterStream(This,pStream)
   9644 #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This,fOldIndex)
   9645 #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This,pfOldIndex)
   9646 #endif
   9647 #endif
   9648   HRESULT WINAPI IConfigAviMux_SetMasterStream_Proxy(IConfigAviMux *This,LONG iStream);
   9649   void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9650   HRESULT WINAPI IConfigAviMux_GetMasterStream_Proxy(IConfigAviMux *This,LONG *pStream);
   9651   void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9652   HRESULT WINAPI IConfigAviMux_SetOutputCompatibilityIndex_Proxy(IConfigAviMux *This,WINBOOL fOldIndex);
   9653   void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9654   HRESULT WINAPI IConfigAviMux_GetOutputCompatibilityIndex_Proxy(IConfigAviMux *This,WINBOOL *pfOldIndex);
   9655   void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9656 #endif
   9657 
   9658   typedef enum __MIDL___MIDL_itf_strmif_0167_0001 {
   9659     CompressionCaps_CanQuality = 0x1,CompressionCaps_CanCrunch = 0x2,CompressionCaps_CanKeyFrame = 0x4,CompressionCaps_CanBFrame = 0x8,
   9660     CompressionCaps_CanWindow = 0x10
   9661   } CompressionCaps;
   9662 
   9663   extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
   9664   extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
   9665 #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
   9666 #define __IAMVideoCompression_INTERFACE_DEFINED__
   9667   EXTERN_C const IID IID_IAMVideoCompression;
   9668 #if defined(__cplusplus) && !defined(CINTERFACE)
   9669   struct IAMVideoCompression : public IUnknown {
   9670   public:
   9671     virtual HRESULT WINAPI put_KeyFrameRate(LONG KeyFrameRate) = 0;
   9672     virtual HRESULT WINAPI get_KeyFrameRate(LONG *pKeyFrameRate) = 0;
   9673     virtual HRESULT WINAPI put_PFramesPerKeyFrame(LONG PFramesPerKeyFrame) = 0;
   9674     virtual HRESULT WINAPI get_PFramesPerKeyFrame(LONG *pPFramesPerKeyFrame) = 0;
   9675     virtual HRESULT WINAPI put_Quality(double Quality) = 0;
   9676     virtual HRESULT WINAPI get_Quality(double *pQuality) = 0;
   9677     virtual HRESULT WINAPI put_WindowSize(DWORDLONG WindowSize) = 0;
   9678     virtual HRESULT WINAPI get_WindowSize(DWORDLONG *pWindowSize) = 0;
   9679     virtual HRESULT WINAPI GetInfo(WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities) = 0;
   9680     virtual HRESULT WINAPI OverrideKeyFrame(LONG FrameNumber) = 0;
   9681     virtual HRESULT WINAPI OverrideFrameSize(LONG FrameNumber,LONG Size) = 0;
   9682   };
   9683 #else
   9684   typedef struct IAMVideoCompressionVtbl {
   9685     BEGIN_INTERFACE
   9686       HRESULT (WINAPI *QueryInterface)(IAMVideoCompression *This,REFIID riid,void **ppvObject);
   9687       ULONG (WINAPI *AddRef)(IAMVideoCompression *This);
   9688       ULONG (WINAPI *Release)(IAMVideoCompression *This);
   9689       HRESULT (WINAPI *put_KeyFrameRate)(IAMVideoCompression *This,LONG KeyFrameRate);
   9690       HRESULT (WINAPI *get_KeyFrameRate)(IAMVideoCompression *This,LONG *pKeyFrameRate);
   9691       HRESULT (WINAPI *put_PFramesPerKeyFrame)(IAMVideoCompression *This,LONG PFramesPerKeyFrame);
   9692       HRESULT (WINAPI *get_PFramesPerKeyFrame)(IAMVideoCompression *This,LONG *pPFramesPerKeyFrame);
   9693       HRESULT (WINAPI *put_Quality)(IAMVideoCompression *This,double Quality);
   9694       HRESULT (WINAPI *get_Quality)(IAMVideoCompression *This,double *pQuality);
   9695       HRESULT (WINAPI *put_WindowSize)(IAMVideoCompression *This,DWORDLONG WindowSize);
   9696       HRESULT (WINAPI *get_WindowSize)(IAMVideoCompression *This,DWORDLONG *pWindowSize);
   9697       HRESULT (WINAPI *GetInfo)(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities);
   9698       HRESULT (WINAPI *OverrideKeyFrame)(IAMVideoCompression *This,LONG FrameNumber);
   9699       HRESULT (WINAPI *OverrideFrameSize)(IAMVideoCompression *This,LONG FrameNumber,LONG Size);
   9700     END_INTERFACE
   9701   } IAMVideoCompressionVtbl;
   9702   struct IAMVideoCompression {
   9703     CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
   9704   };
   9705 #ifdef COBJMACROS
   9706 #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9707 #define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This)
   9708 #define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This)
   9709 #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate) (This)->lpVtbl->put_KeyFrameRate(This,KeyFrameRate)
   9710 #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate) (This)->lpVtbl->get_KeyFrameRate(This,pKeyFrameRate)
   9711 #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) (This)->lpVtbl->put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
   9712 #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) (This)->lpVtbl->get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
   9713 #define IAMVideoCompression_put_Quality(This,Quality) (This)->lpVtbl->put_Quality(This,Quality)
   9714 #define IAMVideoCompression_get_Quality(This,pQuality) (This)->lpVtbl->get_Quality(This,pQuality)
   9715 #define IAMVideoCompression_put_WindowSize(This,WindowSize) (This)->lpVtbl->put_WindowSize(This,WindowSize)
   9716 #define IAMVideoCompression_get_WindowSize(This,pWindowSize) (This)->lpVtbl->get_WindowSize(This,pWindowSize)
   9717 #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) (This)->lpVtbl->GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
   9718 #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber) (This)->lpVtbl->OverrideKeyFrame(This,FrameNumber)
   9719 #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size) (This)->lpVtbl->OverrideFrameSize(This,FrameNumber,Size)
   9720 #endif
   9721 #endif
   9722   HRESULT WINAPI IAMVideoCompression_put_KeyFrameRate_Proxy(IAMVideoCompression *This,LONG KeyFrameRate);
   9723   void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9724   HRESULT WINAPI IAMVideoCompression_get_KeyFrameRate_Proxy(IAMVideoCompression *This,LONG *pKeyFrameRate);
   9725   void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9726   HRESULT WINAPI IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,LONG PFramesPerKeyFrame);
   9727   void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9728   HRESULT WINAPI IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(IAMVideoCompression *This,LONG *pPFramesPerKeyFrame);
   9729   void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9730   HRESULT WINAPI IAMVideoCompression_put_Quality_Proxy(IAMVideoCompression *This,double Quality);
   9731   void __RPC_STUB IAMVideoCompression_put_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9732   HRESULT WINAPI IAMVideoCompression_get_Quality_Proxy(IAMVideoCompression *This,double *pQuality);
   9733   void __RPC_STUB IAMVideoCompression_get_Quality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9734   HRESULT WINAPI IAMVideoCompression_put_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG WindowSize);
   9735   void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9736   HRESULT WINAPI IAMVideoCompression_get_WindowSize_Proxy(IAMVideoCompression *This,DWORDLONG *pWindowSize);
   9737   void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9738   HRESULT WINAPI IAMVideoCompression_GetInfo_Proxy(IAMVideoCompression *This,WCHAR *pszVersion,int *pcbVersion,LPWSTR pszDescription,int *pcbDescription,LONG *pDefaultKeyFrameRate,LONG *pDefaultPFramesPerKey,double *pDefaultQuality,LONG *pCapabilities);
   9739   void __RPC_STUB IAMVideoCompression_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9740   HRESULT WINAPI IAMVideoCompression_OverrideKeyFrame_Proxy(IAMVideoCompression *This,LONG FrameNumber);
   9741   void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9742   HRESULT WINAPI IAMVideoCompression_OverrideFrameSize_Proxy(IAMVideoCompression *This,LONG FrameNumber,LONG Size);
   9743   void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9744 #endif
   9745 
   9746   typedef enum __MIDL___MIDL_itf_strmif_0168_0001 {
   9747     VfwCaptureDialog_Source = 0x1,VfwCaptureDialog_Format = 0x2,VfwCaptureDialog_Display = 0x4
   9748   } VfwCaptureDialogs;
   9749 
   9750   typedef enum __MIDL___MIDL_itf_strmif_0168_0002 {
   9751     VfwCompressDialog_Config = 0x1,VfwCompressDialog_About = 0x2,VfwCompressDialog_QueryConfig = 0x4,VfwCompressDialog_QueryAbout = 0x8
   9752   } VfwCompressDialogs;
   9753 
   9754   extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_c_ifspec;
   9755   extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_s_ifspec;
   9756 #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
   9757 #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
   9758   EXTERN_C const IID IID_IAMVfwCaptureDialogs;
   9759 #if defined(__cplusplus) && !defined(CINTERFACE)
   9760   struct IAMVfwCaptureDialogs : public IUnknown {
   9761   public:
   9762     virtual HRESULT WINAPI HasDialog(int iDialog) = 0;
   9763     virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0;
   9764     virtual HRESULT WINAPI SendDriverMessage(int iDialog,int uMsg,LONG dw1,LONG dw2) = 0;
   9765   };
   9766 #else
   9767   typedef struct IAMVfwCaptureDialogsVtbl {
   9768     BEGIN_INTERFACE
   9769       HRESULT (WINAPI *QueryInterface)(IAMVfwCaptureDialogs *This,REFIID riid,void **ppvObject);
   9770       ULONG (WINAPI *AddRef)(IAMVfwCaptureDialogs *This);
   9771       ULONG (WINAPI *Release)(IAMVfwCaptureDialogs *This);
   9772       HRESULT (WINAPI *HasDialog)(IAMVfwCaptureDialogs *This,int iDialog);
   9773       HRESULT (WINAPI *ShowDialog)(IAMVfwCaptureDialogs *This,int iDialog,HWND hwnd);
   9774       HRESULT (WINAPI *SendDriverMessage)(IAMVfwCaptureDialogs *This,int iDialog,int uMsg,LONG dw1,LONG dw2);
   9775     END_INTERFACE
   9776   } IAMVfwCaptureDialogsVtbl;
   9777   struct IAMVfwCaptureDialogs {
   9778     CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
   9779   };
   9780 #ifdef COBJMACROS
   9781 #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9782 #define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
   9783 #define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This)
   9784 #define IAMVfwCaptureDialogs_HasDialog(This,iDialog) (This)->lpVtbl->HasDialog(This,iDialog)
   9785 #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd)
   9786 #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
   9787 #endif
   9788 #endif
   9789   HRESULT WINAPI IAMVfwCaptureDialogs_HasDialog_Proxy(IAMVfwCaptureDialogs *This,int iDialog);
   9790   void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9791   HRESULT WINAPI IAMVfwCaptureDialogs_ShowDialog_Proxy(IAMVfwCaptureDialogs *This,int iDialog,HWND hwnd);
   9792   void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9793   HRESULT WINAPI IAMVfwCaptureDialogs_SendDriverMessage_Proxy(IAMVfwCaptureDialogs *This,int iDialog,int uMsg,LONG dw1,LONG dw2);
   9794   void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9795 #endif
   9796 
   9797 #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
   9798 #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
   9799   EXTERN_C const IID IID_IAMVfwCompressDialogs;
   9800 #if defined(__cplusplus) && !defined(CINTERFACE)
   9801   struct IAMVfwCompressDialogs : public IUnknown {
   9802   public:
   9803     virtual HRESULT WINAPI ShowDialog(int iDialog,HWND hwnd) = 0;
   9804     virtual HRESULT WINAPI GetState(LPVOID pState,int *pcbState) = 0;
   9805     virtual HRESULT WINAPI SetState(LPVOID pState,int cbState) = 0;
   9806     virtual HRESULT WINAPI SendDriverMessage(int uMsg,LONG dw1,LONG dw2) = 0;
   9807   };
   9808 #else
   9809   typedef struct IAMVfwCompressDialogsVtbl {
   9810     BEGIN_INTERFACE
   9811       HRESULT (WINAPI *QueryInterface)(IAMVfwCompressDialogs *This,REFIID riid,void **ppvObject);
   9812       ULONG (WINAPI *AddRef)(IAMVfwCompressDialogs *This);
   9813       ULONG (WINAPI *Release)(IAMVfwCompressDialogs *This);
   9814       HRESULT (WINAPI *ShowDialog)(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
   9815       HRESULT (WINAPI *GetState)(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
   9816       HRESULT (WINAPI *SetState)(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
   9817       HRESULT (WINAPI *SendDriverMessage)(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2);
   9818     END_INTERFACE
   9819   } IAMVfwCompressDialogsVtbl;
   9820   struct IAMVfwCompressDialogs {
   9821     CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
   9822   };
   9823 #ifdef COBJMACROS
   9824 #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9825 #define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
   9826 #define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This)
   9827 #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) (This)->lpVtbl->ShowDialog(This,iDialog,hwnd)
   9828 #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) (This)->lpVtbl->GetState(This,pState,pcbState)
   9829 #define IAMVfwCompressDialogs_SetState(This,pState,cbState) (This)->lpVtbl->SetState(This,pState,cbState)
   9830 #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) (This)->lpVtbl->SendDriverMessage(This,uMsg,dw1,dw2)
   9831 #endif
   9832 #endif
   9833   HRESULT WINAPI IAMVfwCompressDialogs_ShowDialog_Proxy(IAMVfwCompressDialogs *This,int iDialog,HWND hwnd);
   9834   void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9835   HRESULT WINAPI IAMVfwCompressDialogs_GetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int *pcbState);
   9836   void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9837   HRESULT WINAPI IAMVfwCompressDialogs_SetState_Proxy(IAMVfwCompressDialogs *This,LPVOID pState,int cbState);
   9838   void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9839   HRESULT WINAPI IAMVfwCompressDialogs_SendDriverMessage_Proxy(IAMVfwCompressDialogs *This,int uMsg,LONG dw1,LONG dw2);
   9840   void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9841 #endif
   9842 
   9843 #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
   9844 #define __IAMDroppedFrames_INTERFACE_DEFINED__
   9845   EXTERN_C const IID IID_IAMDroppedFrames;
   9846 #if defined(__cplusplus) && !defined(CINTERFACE)
   9847   struct IAMDroppedFrames : public IUnknown {
   9848   public:
   9849     virtual HRESULT WINAPI GetNumDropped(LONG *plDropped) = 0;
   9850     virtual HRESULT WINAPI GetNumNotDropped(LONG *plNotDropped) = 0;
   9851     virtual HRESULT WINAPI GetDroppedInfo(LONG lSize,LONG *plArray,LONG *plNumCopied) = 0;
   9852     virtual HRESULT WINAPI GetAverageFrameSize(LONG *plAverageSize) = 0;
   9853   };
   9854 #else
   9855   typedef struct IAMDroppedFramesVtbl {
   9856     BEGIN_INTERFACE
   9857       HRESULT (WINAPI *QueryInterface)(IAMDroppedFrames *This,REFIID riid,void **ppvObject);
   9858       ULONG (WINAPI *AddRef)(IAMDroppedFrames *This);
   9859       ULONG (WINAPI *Release)(IAMDroppedFrames *This);
   9860       HRESULT (WINAPI *GetNumDropped)(IAMDroppedFrames *This,LONG *plDropped);
   9861       HRESULT (WINAPI *GetNumNotDropped)(IAMDroppedFrames *This,LONG *plNotDropped);
   9862       HRESULT (WINAPI *GetDroppedInfo)(IAMDroppedFrames *This,LONG lSize,LONG *plArray,LONG *plNumCopied);
   9863       HRESULT (WINAPI *GetAverageFrameSize)(IAMDroppedFrames *This,LONG *plAverageSize);
   9864     END_INTERFACE
   9865   } IAMDroppedFramesVtbl;
   9866   struct IAMDroppedFrames {
   9867     CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
   9868   };
   9869 #ifdef COBJMACROS
   9870 #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9871 #define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This)
   9872 #define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This)
   9873 #define IAMDroppedFrames_GetNumDropped(This,plDropped) (This)->lpVtbl->GetNumDropped(This,plDropped)
   9874 #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped) (This)->lpVtbl->GetNumNotDropped(This,plNotDropped)
   9875 #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied) (This)->lpVtbl->GetDroppedInfo(This,lSize,plArray,plNumCopied)
   9876 #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize) (This)->lpVtbl->GetAverageFrameSize(This,plAverageSize)
   9877 #endif
   9878 #endif
   9879   HRESULT WINAPI IAMDroppedFrames_GetNumDropped_Proxy(IAMDroppedFrames *This,LONG *plDropped);
   9880   void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9881   HRESULT WINAPI IAMDroppedFrames_GetNumNotDropped_Proxy(IAMDroppedFrames *This,LONG *plNotDropped);
   9882   void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9883   HRESULT WINAPI IAMDroppedFrames_GetDroppedInfo_Proxy(IAMDroppedFrames *This,LONG lSize,LONG *plArray,LONG *plNumCopied);
   9884   void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9885   HRESULT WINAPI IAMDroppedFrames_GetAverageFrameSize_Proxy(IAMDroppedFrames *This,LONG *plAverageSize);
   9886   void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9887 #endif
   9888 
   9889 #define AMF_AUTOMATICGAIN -1.0
   9890 
   9891   extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
   9892   extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
   9893 #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
   9894 #define __IAMAudioInputMixer_INTERFACE_DEFINED__
   9895   EXTERN_C const IID IID_IAMAudioInputMixer;
   9896 #if defined(__cplusplus) && !defined(CINTERFACE)
   9897   struct IAMAudioInputMixer : public IUnknown {
   9898   public:
   9899     virtual HRESULT WINAPI put_Enable(WINBOOL fEnable) = 0;
   9900     virtual HRESULT WINAPI get_Enable(WINBOOL *pfEnable) = 0;
   9901     virtual HRESULT WINAPI put_Mono(WINBOOL fMono) = 0;
   9902     virtual HRESULT WINAPI get_Mono(WINBOOL *pfMono) = 0;
   9903     virtual HRESULT WINAPI put_MixLevel(double Level) = 0;
   9904     virtual HRESULT WINAPI get_MixLevel(double *pLevel) = 0;
   9905     virtual HRESULT WINAPI put_Pan(double Pan) = 0;
   9906     virtual HRESULT WINAPI get_Pan(double *pPan) = 0;
   9907     virtual HRESULT WINAPI put_Loudness(WINBOOL fLoudness) = 0;
   9908     virtual HRESULT WINAPI get_Loudness(WINBOOL *pfLoudness) = 0;
   9909     virtual HRESULT WINAPI put_Treble(double Treble) = 0;
   9910     virtual HRESULT WINAPI get_Treble(double *pTreble) = 0;
   9911     virtual HRESULT WINAPI get_TrebleRange(double *pRange) = 0;
   9912     virtual HRESULT WINAPI put_Bass(double Bass) = 0;
   9913     virtual HRESULT WINAPI get_Bass(double *pBass) = 0;
   9914     virtual HRESULT WINAPI get_BassRange(double *pRange) = 0;
   9915   };
   9916 #else
   9917   typedef struct IAMAudioInputMixerVtbl {
   9918     BEGIN_INTERFACE
   9919       HRESULT (WINAPI *QueryInterface)(IAMAudioInputMixer *This,REFIID riid,void **ppvObject);
   9920       ULONG (WINAPI *AddRef)(IAMAudioInputMixer *This);
   9921       ULONG (WINAPI *Release)(IAMAudioInputMixer *This);
   9922       HRESULT (WINAPI *put_Enable)(IAMAudioInputMixer *This,WINBOOL fEnable);
   9923       HRESULT (WINAPI *get_Enable)(IAMAudioInputMixer *This,WINBOOL *pfEnable);
   9924       HRESULT (WINAPI *put_Mono)(IAMAudioInputMixer *This,WINBOOL fMono);
   9925       HRESULT (WINAPI *get_Mono)(IAMAudioInputMixer *This,WINBOOL *pfMono);
   9926       HRESULT (WINAPI *put_MixLevel)(IAMAudioInputMixer *This,double Level);
   9927       HRESULT (WINAPI *get_MixLevel)(IAMAudioInputMixer *This,double *pLevel);
   9928       HRESULT (WINAPI *put_Pan)(IAMAudioInputMixer *This,double Pan);
   9929       HRESULT (WINAPI *get_Pan)(IAMAudioInputMixer *This,double *pPan);
   9930       HRESULT (WINAPI *put_Loudness)(IAMAudioInputMixer *This,WINBOOL fLoudness);
   9931       HRESULT (WINAPI *get_Loudness)(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
   9932       HRESULT (WINAPI *put_Treble)(IAMAudioInputMixer *This,double Treble);
   9933       HRESULT (WINAPI *get_Treble)(IAMAudioInputMixer *This,double *pTreble);
   9934       HRESULT (WINAPI *get_TrebleRange)(IAMAudioInputMixer *This,double *pRange);
   9935       HRESULT (WINAPI *put_Bass)(IAMAudioInputMixer *This,double Bass);
   9936       HRESULT (WINAPI *get_Bass)(IAMAudioInputMixer *This,double *pBass);
   9937       HRESULT (WINAPI *get_BassRange)(IAMAudioInputMixer *This,double *pRange);
   9938     END_INTERFACE
   9939   } IAMAudioInputMixerVtbl;
   9940   struct IAMAudioInputMixer {
   9941     CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
   9942   };
   9943 #ifdef COBJMACROS
   9944 #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9945 #define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
   9946 #define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This)
   9947 #define IAMAudioInputMixer_put_Enable(This,fEnable) (This)->lpVtbl->put_Enable(This,fEnable)
   9948 #define IAMAudioInputMixer_get_Enable(This,pfEnable) (This)->lpVtbl->get_Enable(This,pfEnable)
   9949 #define IAMAudioInputMixer_put_Mono(This,fMono) (This)->lpVtbl->put_Mono(This,fMono)
   9950 #define IAMAudioInputMixer_get_Mono(This,pfMono) (This)->lpVtbl->get_Mono(This,pfMono)
   9951 #define IAMAudioInputMixer_put_MixLevel(This,Level) (This)->lpVtbl->put_MixLevel(This,Level)
   9952 #define IAMAudioInputMixer_get_MixLevel(This,pLevel) (This)->lpVtbl->get_MixLevel(This,pLevel)
   9953 #define IAMAudioInputMixer_put_Pan(This,Pan) (This)->lpVtbl->put_Pan(This,Pan)
   9954 #define IAMAudioInputMixer_get_Pan(This,pPan) (This)->lpVtbl->get_Pan(This,pPan)
   9955 #define IAMAudioInputMixer_put_Loudness(This,fLoudness) (This)->lpVtbl->put_Loudness(This,fLoudness)
   9956 #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) (This)->lpVtbl->get_Loudness(This,pfLoudness)
   9957 #define IAMAudioInputMixer_put_Treble(This,Treble) (This)->lpVtbl->put_Treble(This,Treble)
   9958 #define IAMAudioInputMixer_get_Treble(This,pTreble) (This)->lpVtbl->get_Treble(This,pTreble)
   9959 #define IAMAudioInputMixer_get_TrebleRange(This,pRange) (This)->lpVtbl->get_TrebleRange(This,pRange)
   9960 #define IAMAudioInputMixer_put_Bass(This,Bass) (This)->lpVtbl->put_Bass(This,Bass)
   9961 #define IAMAudioInputMixer_get_Bass(This,pBass) (This)->lpVtbl->get_Bass(This,pBass)
   9962 #define IAMAudioInputMixer_get_BassRange(This,pRange) (This)->lpVtbl->get_BassRange(This,pRange)
   9963 #endif
   9964 #endif
   9965   HRESULT WINAPI IAMAudioInputMixer_put_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL fEnable);
   9966   void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9967   HRESULT WINAPI IAMAudioInputMixer_get_Enable_Proxy(IAMAudioInputMixer *This,WINBOOL *pfEnable);
   9968   void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9969   HRESULT WINAPI IAMAudioInputMixer_put_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL fMono);
   9970   void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9971   HRESULT WINAPI IAMAudioInputMixer_get_Mono_Proxy(IAMAudioInputMixer *This,WINBOOL *pfMono);
   9972   void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9973   HRESULT WINAPI IAMAudioInputMixer_put_MixLevel_Proxy(IAMAudioInputMixer *This,double Level);
   9974   void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9975   HRESULT WINAPI IAMAudioInputMixer_get_MixLevel_Proxy(IAMAudioInputMixer *This,double *pLevel);
   9976   void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9977   HRESULT WINAPI IAMAudioInputMixer_put_Pan_Proxy(IAMAudioInputMixer *This,double Pan);
   9978   void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9979   HRESULT WINAPI IAMAudioInputMixer_get_Pan_Proxy(IAMAudioInputMixer *This,double *pPan);
   9980   void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9981   HRESULT WINAPI IAMAudioInputMixer_put_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL fLoudness);
   9982   void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9983   HRESULT WINAPI IAMAudioInputMixer_get_Loudness_Proxy(IAMAudioInputMixer *This,WINBOOL *pfLoudness);
   9984   void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9985   HRESULT WINAPI IAMAudioInputMixer_put_Treble_Proxy(IAMAudioInputMixer *This,double Treble);
   9986   void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9987   HRESULT WINAPI IAMAudioInputMixer_get_Treble_Proxy(IAMAudioInputMixer *This,double *pTreble);
   9988   void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9989   HRESULT WINAPI IAMAudioInputMixer_get_TrebleRange_Proxy(IAMAudioInputMixer *This,double *pRange);
   9990   void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9991   HRESULT WINAPI IAMAudioInputMixer_put_Bass_Proxy(IAMAudioInputMixer *This,double Bass);
   9992   void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9993   HRESULT WINAPI IAMAudioInputMixer_get_Bass_Proxy(IAMAudioInputMixer *This,double *pBass);
   9994   void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9995   HRESULT WINAPI IAMAudioInputMixer_get_BassRange_Proxy(IAMAudioInputMixer *This,double *pRange);
   9996   void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   9997 #endif
   9998 
   9999 #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
   10000 #define __IAMBufferNegotiation_INTERFACE_DEFINED__
   10001   EXTERN_C const IID IID_IAMBufferNegotiation;
   10002 #if defined(__cplusplus) && !defined(CINTERFACE)
   10003   struct IAMBufferNegotiation : public IUnknown {
   10004   public:
   10005     virtual HRESULT WINAPI SuggestAllocatorProperties(const ALLOCATOR_PROPERTIES *pprop) = 0;
   10006     virtual HRESULT WINAPI GetAllocatorProperties(ALLOCATOR_PROPERTIES *pprop) = 0;
   10007   };
   10008 #else
   10009   typedef struct IAMBufferNegotiationVtbl {
   10010     BEGIN_INTERFACE
   10011       HRESULT (WINAPI *QueryInterface)(IAMBufferNegotiation *This,REFIID riid,void **ppvObject);
   10012       ULONG (WINAPI *AddRef)(IAMBufferNegotiation *This);
   10013       ULONG (WINAPI *Release)(IAMBufferNegotiation *This);
   10014       HRESULT (WINAPI *SuggestAllocatorProperties)(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop);
   10015       HRESULT (WINAPI *GetAllocatorProperties)(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop);
   10016     END_INTERFACE
   10017   } IAMBufferNegotiationVtbl;
   10018   struct IAMBufferNegotiation {
   10019     CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
   10020   };
   10021 #ifdef COBJMACROS
   10022 #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10023 #define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This)
   10024 #define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This)
   10025 #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop) (This)->lpVtbl->SuggestAllocatorProperties(This,pprop)
   10026 #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop) (This)->lpVtbl->GetAllocatorProperties(This,pprop)
   10027 #endif
   10028 #endif
   10029   HRESULT WINAPI IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(IAMBufferNegotiation *This,const ALLOCATOR_PROPERTIES *pprop);
   10030   void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10031   HRESULT WINAPI IAMBufferNegotiation_GetAllocatorProperties_Proxy(IAMBufferNegotiation *This,ALLOCATOR_PROPERTIES *pprop);
   10032   void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10033 #endif
   10034 
   10035   typedef enum tagAnalogVideoStandard {
   10036     AnalogVideo_None = 0,AnalogVideo_NTSC_M = 0x1,AnalogVideo_NTSC_M_J = 0x2,AnalogVideo_NTSC_433 = 0x4,AnalogVideo_PAL_B = 0x10,
   10037     AnalogVideo_PAL_D = 0x20,AnalogVideo_PAL_G = 0x40,AnalogVideo_PAL_H = 0x80,AnalogVideo_PAL_I = 0x100,AnalogVideo_PAL_M = 0x200,
   10038     AnalogVideo_PAL_N = 0x400,AnalogVideo_PAL_60 = 0x800,AnalogVideo_SECAM_B = 0x1000,AnalogVideo_SECAM_D = 0x2000,AnalogVideo_SECAM_G = 0x4000,
   10039     AnalogVideo_SECAM_H = 0x8000,AnalogVideo_SECAM_K = 0x10000,AnalogVideo_SECAM_K1 = 0x20000,AnalogVideo_SECAM_L = 0x40000,AnalogVideo_SECAM_L1 = 0x80000,
   10040     AnalogVideo_PAL_N_COMBO = 0x100000,AnalogVideoMask_MCE_NTSC = AnalogVideo_NTSC_M | AnalogVideo_NTSC_M_J | AnalogVideo_NTSC_433 | AnalogVideo_PAL_M | AnalogVideo_PAL_N | AnalogVideo_PAL_60 | AnalogVideo_PAL_N_COMBO,AnalogVideoMask_MCE_PAL = AnalogVideo_PAL_B | AnalogVideo_PAL_D | AnalogVideo_PAL_G | AnalogVideo_PAL_H | AnalogVideo_PAL_I,AnalogVideoMask_MCE_SECAM = AnalogVideo_SECAM_B | AnalogVideo_SECAM_D | AnalogVideo_SECAM_G | AnalogVideo_SECAM_H | AnalogVideo_SECAM_K | AnalogVideo_SECAM_K1 | AnalogVideo_SECAM_L | AnalogVideo_SECAM_L1
   10041   } AnalogVideoStandard;
   10042 
   10043   typedef enum tagTunerInputType {
   10044     TunerInputCable = 0,TunerInputAntenna = TunerInputCable + 1
   10045   } TunerInputType;
   10046 
   10047 #define AnalogVideo_NTSC_Mask 0x00000007
   10048 #define AnalogVideo_PAL_Mask 0x00100FF0
   10049 #define AnalogVideo_SECAM_Mask 0x000FF000
   10050 
   10051   typedef enum __MIDL___MIDL_itf_strmif_0173_0001 {
   10052     VideoCopyProtectionMacrovisionBasic = 0,VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
   10053   } VideoCopyProtectionType;
   10054 
   10055   typedef enum tagPhysicalConnectorType {
   10056     PhysConn_Video_Tuner = 1,
   10057     PhysConn_Video_Composite,PhysConn_Video_SVideo,PhysConn_Video_RGB,
   10058     PhysConn_Video_YRYBY,PhysConn_Video_SerialDigital,PhysConn_Video_ParallelDigital,
   10059     PhysConn_Video_SCSI,PhysConn_Video_AUX,PhysConn_Video_1394,PhysConn_Video_USB,
   10060     PhysConn_Video_VideoDecoder,PhysConn_Video_VideoEncoder,PhysConn_Video_SCART,PhysConn_Video_Black,
   10061     PhysConn_Audio_Tuner = 0x1000,PhysConn_Audio_Line = 0x1001,PhysConn_Audio_Mic = 0x1002,
   10062     PhysConn_Audio_AESDigital = 0x1003,PhysConn_Audio_SPDIFDigital = 0x1004,
   10063     PhysConn_Audio_SCSI = 0x1005,PhysConn_Audio_AUX = 0x1006,PhysConn_Audio_1394 = 0x1007,
   10064     PhysConn_Audio_USB = 0x1008,PhysConn_Audio_AudioDecoder = 0x1009
   10065   } PhysicalConnectorType;
   10066 
   10067   extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;
   10068   extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;
   10069 #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
   10070 #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
   10071   EXTERN_C const IID IID_IAMAnalogVideoDecoder;
   10072 #if defined(__cplusplus) && !defined(CINTERFACE)
   10073   struct IAMAnalogVideoDecoder : public IUnknown {
   10074   public:
   10075     virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0;
   10076     virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0;
   10077     virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0;
   10078     virtual HRESULT WINAPI get_HorizontalLocked(LONG *plLocked) = 0;
   10079     virtual HRESULT WINAPI put_VCRHorizontalLocking(LONG lVCRHorizontalLocking) = 0;
   10080     virtual HRESULT WINAPI get_VCRHorizontalLocking(LONG *plVCRHorizontalLocking) = 0;
   10081     virtual HRESULT WINAPI get_NumberOfLines(LONG *plNumberOfLines) = 0;
   10082     virtual HRESULT WINAPI put_OutputEnable(LONG lOutputEnable) = 0;
   10083     virtual HRESULT WINAPI get_OutputEnable(LONG *plOutputEnable) = 0;
   10084   };
   10085 #else
   10086   typedef struct IAMAnalogVideoDecoderVtbl {
   10087     BEGIN_INTERFACE
   10088       HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoDecoder *This,REFIID riid,void **ppvObject);
   10089       ULONG (WINAPI *AddRef)(IAMAnalogVideoDecoder *This);
   10090       ULONG (WINAPI *Release)(IAMAnalogVideoDecoder *This);
   10091       HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard);
   10092       HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard);
   10093       HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard);
   10094       HRESULT (WINAPI *get_HorizontalLocked)(IAMAnalogVideoDecoder *This,LONG *plLocked);
   10095       HRESULT (WINAPI *put_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking);
   10096       HRESULT (WINAPI *get_VCRHorizontalLocking)(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking);
   10097       HRESULT (WINAPI *get_NumberOfLines)(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines);
   10098       HRESULT (WINAPI *put_OutputEnable)(IAMAnalogVideoDecoder *This,LONG lOutputEnable);
   10099       HRESULT (WINAPI *get_OutputEnable)(IAMAnalogVideoDecoder *This,LONG *plOutputEnable);
   10100     END_INTERFACE
   10101   } IAMAnalogVideoDecoderVtbl;
   10102   struct IAMAnalogVideoDecoder {
   10103     CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
   10104   };
   10105 #ifdef COBJMACROS
   10106 #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10107 #define IAMAnalogVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   10108 #define IAMAnalogVideoDecoder_Release(This) (This)->lpVtbl->Release(This)
   10109 #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   10110 #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
   10111 #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   10112 #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) (This)->lpVtbl->get_HorizontalLocked(This,plLocked)
   10113 #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) (This)->lpVtbl->put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
   10114 #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) (This)->lpVtbl->get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
   10115 #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) (This)->lpVtbl->get_NumberOfLines(This,plNumberOfLines)
   10116 #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) (This)->lpVtbl->put_OutputEnable(This,lOutputEnable)
   10117 #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) (This)->lpVtbl->get_OutputEnable(This,plOutputEnable)
   10118 #endif
   10119 #endif
   10120   HRESULT WINAPI IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoDecoder *This,LONG *lAnalogVideoStandard);
   10121   void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10122   HRESULT WINAPI IAMAnalogVideoDecoder_put_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG lAnalogVideoStandard);
   10123   void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10124   HRESULT WINAPI IAMAnalogVideoDecoder_get_TVFormat_Proxy(IAMAnalogVideoDecoder *This,LONG *plAnalogVideoStandard);
   10125   void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10126   HRESULT WINAPI IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(IAMAnalogVideoDecoder *This,LONG *plLocked);
   10127   void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10128   HRESULT WINAPI IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG lVCRHorizontalLocking);
   10129   void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10130   HRESULT WINAPI IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(IAMAnalogVideoDecoder *This,LONG *plVCRHorizontalLocking);
   10131   void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10132   HRESULT WINAPI IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(IAMAnalogVideoDecoder *This,LONG *plNumberOfLines);
   10133   void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10134   HRESULT WINAPI IAMAnalogVideoDecoder_put_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG lOutputEnable);
   10135   void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10136   HRESULT WINAPI IAMAnalogVideoDecoder_get_OutputEnable_Proxy(IAMAnalogVideoDecoder *This,LONG *plOutputEnable);
   10137   void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10138 #endif
   10139 
   10140   typedef enum tagCameraControlProperty {
   10141     CameraControl_Pan = 0,
   10142     CameraControl_Tilt,CameraControl_Roll,CameraControl_Zoom,CameraControl_Exposure,
   10143     CameraControl_Iris,CameraControl_Focus
   10144   } CameraControlProperty;
   10145 
   10146   typedef enum tagCameraControlFlags {
   10147     CameraControl_Flags_Auto = 0x1,CameraControl_Flags_Manual = 0x2
   10148   } CameraControlFlags;
   10149 
   10150   extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec;
   10151   extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec;
   10152 #ifndef __IAMCameraControl_INTERFACE_DEFINED__
   10153 #define __IAMCameraControl_INTERFACE_DEFINED__
   10154   EXTERN_C const IID IID_IAMCameraControl;
   10155 #if defined(__cplusplus) && !defined(CINTERFACE)
   10156   struct IAMCameraControl : public IUnknown {
   10157   public:
   10158     virtual HRESULT WINAPI GetRange(LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags) = 0;
   10159     virtual HRESULT WINAPI Set(LONG Property,LONG lValue,LONG Flags) = 0;
   10160     virtual HRESULT WINAPI Get(LONG Property,LONG *lValue,LONG *Flags) = 0;
   10161   };
   10162 #else
   10163   typedef struct IAMCameraControlVtbl {
   10164     BEGIN_INTERFACE
   10165       HRESULT (WINAPI *QueryInterface)(IAMCameraControl *This,REFIID riid,void **ppvObject);
   10166       ULONG (WINAPI *AddRef)(IAMCameraControl *This);
   10167       ULONG (WINAPI *Release)(IAMCameraControl *This);
   10168       HRESULT (WINAPI *GetRange)(IAMCameraControl *This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags);
   10169       HRESULT (WINAPI *Set)(IAMCameraControl *This,LONG Property,LONG lValue,LONG Flags);
   10170       HRESULT (WINAPI *Get)(IAMCameraControl *This,LONG Property,LONG *lValue,LONG *Flags);
   10171     END_INTERFACE
   10172   } IAMCameraControlVtbl;
   10173   struct IAMCameraControl {
   10174     CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
   10175   };
   10176 #ifdef COBJMACROS
   10177 #define IAMCameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10178 #define IAMCameraControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   10179 #define IAMCameraControl_Release(This) (This)->lpVtbl->Release(This)
   10180 #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) (This)->lpVtbl->GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
   10181 #define IAMCameraControl_Set(This,Property,lValue,Flags) (This)->lpVtbl->Set(This,Property,lValue,Flags)
   10182 #define IAMCameraControl_Get(This,Property,lValue,Flags) (This)->lpVtbl->Get(This,Property,lValue,Flags)
   10183 #endif
   10184 #endif
   10185   HRESULT WINAPI IAMCameraControl_GetRange_Proxy(IAMCameraControl *This,LONG Property,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlags);
   10186   void __RPC_STUB IAMCameraControl_GetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10187   HRESULT WINAPI IAMCameraControl_Set_Proxy(IAMCameraControl *This,LONG Property,LONG lValue,LONG Flags);
   10188   void __RPC_STUB IAMCameraControl_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10189   HRESULT WINAPI IAMCameraControl_Get_Proxy(IAMCameraControl *This,LONG Property,LONG *lValue,LONG *Flags);
   10190   void __RPC_STUB IAMCameraControl_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10191 #endif
   10192 
   10193   typedef enum tagVideoControlFlags {
   10194     VideoControlFlag_FlipHorizontal = 0x1,VideoControlFlag_FlipVertical = 0x2,VideoControlFlag_ExternalTriggerEnable = 0x4,VideoControlFlag_Trigger = 0x8
   10195   } VideoControlFlags;
   10196 
   10197   extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec;
   10198   extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec;
   10199 #ifndef __IAMVideoControl_INTERFACE_DEFINED__
   10200 #define __IAMVideoControl_INTERFACE_DEFINED__
   10201   EXTERN_C const IID IID_IAMVideoControl;
   10202 #if defined(__cplusplus) && !defined(CINTERFACE)
   10203   struct IAMVideoControl : public IUnknown {
   10204   public:
   10205     virtual HRESULT WINAPI GetCaps(IPin *pPin,LONG *pCapsFlags) = 0;
   10206     virtual HRESULT WINAPI SetMode(IPin *pPin,LONG Mode) = 0;
   10207     virtual HRESULT WINAPI GetMode(IPin *pPin,LONG *Mode) = 0;
   10208     virtual HRESULT WINAPI GetCurrentActualFrameRate(IPin *pPin,LONGLONG *ActualFrameRate) = 0;
   10209     virtual HRESULT WINAPI GetMaxAvailableFrameRate(IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate) = 0;
   10210     virtual HRESULT WINAPI GetFrameRateList(IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates) = 0;
   10211   };
   10212 #else
   10213   typedef struct IAMVideoControlVtbl {
   10214     BEGIN_INTERFACE
   10215       HRESULT (WINAPI *QueryInterface)(IAMVideoControl *This,REFIID riid,void **ppvObject);
   10216       ULONG (WINAPI *AddRef)(IAMVideoControl *This);
   10217       ULONG (WINAPI *Release)(IAMVideoControl *This);
   10218       HRESULT (WINAPI *GetCaps)(IAMVideoControl *This,IPin *pPin,LONG *pCapsFlags);
   10219       HRESULT (WINAPI *SetMode)(IAMVideoControl *This,IPin *pPin,LONG Mode);
   10220       HRESULT (WINAPI *GetMode)(IAMVideoControl *This,IPin *pPin,LONG *Mode);
   10221       HRESULT (WINAPI *GetCurrentActualFrameRate)(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate);
   10222       HRESULT (WINAPI *GetMaxAvailableFrameRate)(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate);
   10223       HRESULT (WINAPI *GetFrameRateList)(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates);
   10224     END_INTERFACE
   10225   } IAMVideoControlVtbl;
   10226   struct IAMVideoControl {
   10227     CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
   10228   };
   10229 #ifdef COBJMACROS
   10230 #define IAMVideoControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10231 #define IAMVideoControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   10232 #define IAMVideoControl_Release(This) (This)->lpVtbl->Release(This)
   10233 #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags) (This)->lpVtbl->GetCaps(This,pPin,pCapsFlags)
   10234 #define IAMVideoControl_SetMode(This,pPin,Mode) (This)->lpVtbl->SetMode(This,pPin,Mode)
   10235 #define IAMVideoControl_GetMode(This,pPin,Mode) (This)->lpVtbl->GetMode(This,pPin,Mode)
   10236 #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate) (This)->lpVtbl->GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
   10237 #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) (This)->lpVtbl->GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
   10238 #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) (This)->lpVtbl->GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
   10239 #endif
   10240 #endif
   10241   HRESULT WINAPI IAMVideoControl_GetCaps_Proxy(IAMVideoControl *This,IPin *pPin,LONG *pCapsFlags);
   10242   void __RPC_STUB IAMVideoControl_GetCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10243   HRESULT WINAPI IAMVideoControl_SetMode_Proxy(IAMVideoControl *This,IPin *pPin,LONG Mode);
   10244   void __RPC_STUB IAMVideoControl_SetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10245   HRESULT WINAPI IAMVideoControl_GetMode_Proxy(IAMVideoControl *This,IPin *pPin,LONG *Mode);
   10246   void __RPC_STUB IAMVideoControl_GetMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10247   HRESULT WINAPI IAMVideoControl_GetCurrentActualFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,LONGLONG *ActualFrameRate);
   10248   void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10249   HRESULT WINAPI IAMVideoControl_GetMaxAvailableFrameRate_Proxy(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONGLONG *MaxAvailableFrameRate);
   10250   void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10251   HRESULT WINAPI IAMVideoControl_GetFrameRateList_Proxy(IAMVideoControl *This,IPin *pPin,LONG iIndex,SIZE Dimensions,LONG *ListSize,LONGLONG **FrameRates);
   10252   void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10253 #endif
   10254 
   10255 #ifndef __IAMCrossbar_INTERFACE_DEFINED__
   10256 #define __IAMCrossbar_INTERFACE_DEFINED__
   10257   EXTERN_C const IID IID_IAMCrossbar;
   10258 #if defined(__cplusplus) && !defined(CINTERFACE)
   10259   struct IAMCrossbar : public IUnknown {
   10260   public:
   10261     virtual HRESULT WINAPI get_PinCounts(LONG *OutputPinCount,LONG *InputPinCount) = 0;
   10262     virtual HRESULT WINAPI CanRoute(LONG OutputPinIndex,LONG InputPinIndex) = 0;
   10263     virtual HRESULT WINAPI Route(LONG OutputPinIndex,LONG InputPinIndex) = 0;
   10264     virtual HRESULT WINAPI get_IsRoutedTo(LONG OutputPinIndex,LONG *InputPinIndex) = 0;
   10265     virtual HRESULT WINAPI get_CrossbarPinInfo(WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType) = 0;
   10266   };
   10267 #else
   10268   typedef struct IAMCrossbarVtbl {
   10269     BEGIN_INTERFACE
   10270       HRESULT (WINAPI *QueryInterface)(IAMCrossbar *This,REFIID riid,void **ppvObject);
   10271       ULONG (WINAPI *AddRef)(IAMCrossbar *This);
   10272       ULONG (WINAPI *Release)(IAMCrossbar *This);
   10273       HRESULT (WINAPI *get_PinCounts)(IAMCrossbar *This,LONG *OutputPinCount,LONG *InputPinCount);
   10274       HRESULT (WINAPI *CanRoute)(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex);
   10275       HRESULT (WINAPI *Route)(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex);
   10276       HRESULT (WINAPI *get_IsRoutedTo)(IAMCrossbar *This,LONG OutputPinIndex,LONG *InputPinIndex);
   10277       HRESULT (WINAPI *get_CrossbarPinInfo)(IAMCrossbar *This,WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType);
   10278     END_INTERFACE
   10279   } IAMCrossbarVtbl;
   10280   struct IAMCrossbar {
   10281     CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
   10282   };
   10283 #ifdef COBJMACROS
   10284 #define IAMCrossbar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10285 #define IAMCrossbar_AddRef(This) (This)->lpVtbl->AddRef(This)
   10286 #define IAMCrossbar_Release(This) (This)->lpVtbl->Release(This)
   10287 #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount) (This)->lpVtbl->get_PinCounts(This,OutputPinCount,InputPinCount)
   10288 #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->CanRoute(This,OutputPinIndex,InputPinIndex)
   10289 #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->Route(This,OutputPinIndex,InputPinIndex)
   10290 #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) (This)->lpVtbl->get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
   10291 #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) (This)->lpVtbl->get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
   10292 #endif
   10293 #endif
   10294   HRESULT WINAPI IAMCrossbar_get_PinCounts_Proxy(IAMCrossbar *This,LONG *OutputPinCount,LONG *InputPinCount);
   10295   void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10296   HRESULT WINAPI IAMCrossbar_CanRoute_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex);
   10297   void __RPC_STUB IAMCrossbar_CanRoute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10298   HRESULT WINAPI IAMCrossbar_Route_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG InputPinIndex);
   10299   void __RPC_STUB IAMCrossbar_Route_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10300   HRESULT WINAPI IAMCrossbar_get_IsRoutedTo_Proxy(IAMCrossbar *This,LONG OutputPinIndex,LONG *InputPinIndex);
   10301   void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10302   HRESULT WINAPI IAMCrossbar_get_CrossbarPinInfo_Proxy(IAMCrossbar *This,WINBOOL IsInputPin,LONG PinIndex,LONG *PinIndexRelated,LONG *PhysicalType);
   10303   void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10304 #endif
   10305 
   10306   typedef enum tagAMTunerSubChannel {
   10307     AMTUNER_SUBCHAN_NO_TUNE = -2,AMTUNER_SUBCHAN_DEFAULT = -1
   10308   } AMTunerSubChannel;
   10309 
   10310   typedef enum tagAMTunerSignalStrength {
   10311     AMTUNER_HASNOSIGNALSTRENGTH = -1,AMTUNER_NOSIGNAL = 0,AMTUNER_SIGNALPRESENT = 1
   10312   } AMTunerSignalStrength;
   10313 
   10314   typedef enum tagAMTunerModeType {
   10315     AMTUNER_MODE_DEFAULT = 0,AMTUNER_MODE_TV = 0x1,AMTUNER_MODE_FM_RADIO = 0x2,AMTUNER_MODE_AM_RADIO = 0x4,AMTUNER_MODE_DSS = 0x8
   10316   } AMTunerModeType;
   10317 
   10318   typedef enum tagAMTunerEventType {
   10319     AMTUNER_EVENT_CHANGED = 0x1
   10320   } AMTunerEventType;
   10321 
   10322   extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
   10323   extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
   10324 #ifndef __IAMTuner_INTERFACE_DEFINED__
   10325 #define __IAMTuner_INTERFACE_DEFINED__
   10326   EXTERN_C const IID IID_IAMTuner;
   10327 #if defined(__cplusplus) && !defined(CINTERFACE)
   10328   struct IAMTuner : public IUnknown {
   10329   public:
   10330     virtual HRESULT WINAPI put_Channel(LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel) = 0;
   10331     virtual HRESULT WINAPI get_Channel(LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel) = 0;
   10332     virtual HRESULT WINAPI ChannelMinMax(LONG *lChannelMin,LONG *lChannelMax) = 0;
   10333     virtual HRESULT WINAPI put_CountryCode(LONG lCountryCode) = 0;
   10334     virtual HRESULT WINAPI get_CountryCode(LONG *plCountryCode) = 0;
   10335     virtual HRESULT WINAPI put_TuningSpace(LONG lTuningSpace) = 0;
   10336     virtual HRESULT WINAPI get_TuningSpace(LONG *plTuningSpace) = 0;
   10337     virtual HRESULT WINAPI Logon(HANDLE hCurrentUser) = 0;
   10338     virtual HRESULT WINAPI Logout(void) = 0;
   10339     virtual HRESULT WINAPI SignalPresent(LONG *plSignalStrength) = 0;
   10340     virtual HRESULT WINAPI put_Mode(AMTunerModeType lMode) = 0;
   10341     virtual HRESULT WINAPI get_Mode(AMTunerModeType *plMode) = 0;
   10342     virtual HRESULT WINAPI GetAvailableModes(LONG *plModes) = 0;
   10343     virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0;
   10344     virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
   10345   };
   10346 #else
   10347   typedef struct IAMTunerVtbl {
   10348     BEGIN_INTERFACE
   10349       HRESULT (WINAPI *QueryInterface)(IAMTuner *This,REFIID riid,void **ppvObject);
   10350       ULONG (WINAPI *AddRef)(IAMTuner *This);
   10351       ULONG (WINAPI *Release)(IAMTuner *This);
   10352       HRESULT (WINAPI *put_Channel)(IAMTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
   10353       HRESULT (WINAPI *get_Channel)(IAMTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
   10354       HRESULT (WINAPI *ChannelMinMax)(IAMTuner *This,LONG *lChannelMin,LONG *lChannelMax);
   10355       HRESULT (WINAPI *put_CountryCode)(IAMTuner *This,LONG lCountryCode);
   10356       HRESULT (WINAPI *get_CountryCode)(IAMTuner *This,LONG *plCountryCode);
   10357       HRESULT (WINAPI *put_TuningSpace)(IAMTuner *This,LONG lTuningSpace);
   10358       HRESULT (WINAPI *get_TuningSpace)(IAMTuner *This,LONG *plTuningSpace);
   10359       HRESULT (WINAPI *Logon)(IAMTuner *This,HANDLE hCurrentUser);
   10360       HRESULT (WINAPI *Logout)(IAMTuner *This);
   10361       HRESULT (WINAPI *SignalPresent)(IAMTuner *This,LONG *plSignalStrength);
   10362       HRESULT (WINAPI *put_Mode)(IAMTuner *This,AMTunerModeType lMode);
   10363       HRESULT (WINAPI *get_Mode)(IAMTuner *This,AMTunerModeType *plMode);
   10364       HRESULT (WINAPI *GetAvailableModes)(IAMTuner *This,LONG *plModes);
   10365       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
   10366       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTuner *This,IAMTunerNotification *pNotify);
   10367     END_INTERFACE
   10368   } IAMTunerVtbl;
   10369   struct IAMTuner {
   10370     CONST_VTBL struct IAMTunerVtbl *lpVtbl;
   10371   };
   10372 #ifdef COBJMACROS
   10373 #define IAMTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10374 #define IAMTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   10375 #define IAMTuner_Release(This) (This)->lpVtbl->Release(This)
   10376 #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   10377 #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   10378 #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   10379 #define IAMTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   10380 #define IAMTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   10381 #define IAMTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   10382 #define IAMTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   10383 #define IAMTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   10384 #define IAMTuner_Logout(This) (This)->lpVtbl->Logout(This)
   10385 #define IAMTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   10386 #define IAMTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   10387 #define IAMTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   10388 #define IAMTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   10389 #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   10390 #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   10391 #endif
   10392 #endif
   10393   HRESULT WINAPI IAMTuner_put_Channel_Proxy(IAMTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
   10394   void __RPC_STUB IAMTuner_put_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10395   HRESULT WINAPI IAMTuner_get_Channel_Proxy(IAMTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
   10396   void __RPC_STUB IAMTuner_get_Channel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10397   HRESULT WINAPI IAMTuner_ChannelMinMax_Proxy(IAMTuner *This,LONG *lChannelMin,LONG *lChannelMax);
   10398   void __RPC_STUB IAMTuner_ChannelMinMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10399   HRESULT WINAPI IAMTuner_put_CountryCode_Proxy(IAMTuner *This,LONG lCountryCode);
   10400   void __RPC_STUB IAMTuner_put_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10401   HRESULT WINAPI IAMTuner_get_CountryCode_Proxy(IAMTuner *This,LONG *plCountryCode);
   10402   void __RPC_STUB IAMTuner_get_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10403   HRESULT WINAPI IAMTuner_put_TuningSpace_Proxy(IAMTuner *This,LONG lTuningSpace);
   10404   void __RPC_STUB IAMTuner_put_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10405   HRESULT WINAPI IAMTuner_get_TuningSpace_Proxy(IAMTuner *This,LONG *plTuningSpace);
   10406   void __RPC_STUB IAMTuner_get_TuningSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10407   HRESULT WINAPI IAMTuner_Logon_Proxy(IAMTuner *This,HANDLE hCurrentUser);
   10408   void __RPC_STUB IAMTuner_Logon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10409   HRESULT WINAPI IAMTuner_Logout_Proxy(IAMTuner *This);
   10410   void __RPC_STUB IAMTuner_Logout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10411   HRESULT WINAPI IAMTuner_SignalPresent_Proxy(IAMTuner *This,LONG *plSignalStrength);
   10412   void __RPC_STUB IAMTuner_SignalPresent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10413   HRESULT WINAPI IAMTuner_put_Mode_Proxy(IAMTuner *This,AMTunerModeType lMode);
   10414   void __RPC_STUB IAMTuner_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10415   HRESULT WINAPI IAMTuner_get_Mode_Proxy(IAMTuner *This,AMTunerModeType *plMode);
   10416   void __RPC_STUB IAMTuner_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10417   HRESULT WINAPI IAMTuner_GetAvailableModes_Proxy(IAMTuner *This,LONG *plModes);
   10418   void __RPC_STUB IAMTuner_GetAvailableModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10419   HRESULT WINAPI IAMTuner_RegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
   10420   void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10421   HRESULT WINAPI IAMTuner_UnRegisterNotificationCallBack_Proxy(IAMTuner *This,IAMTunerNotification *pNotify);
   10422   void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10423 #endif
   10424 
   10425 #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
   10426 #define __IAMTunerNotification_INTERFACE_DEFINED__
   10427   EXTERN_C const IID IID_IAMTunerNotification;
   10428 #if defined(__cplusplus) && !defined(CINTERFACE)
   10429   struct IAMTunerNotification : public IUnknown {
   10430   public:
   10431     virtual HRESULT WINAPI OnEvent(AMTunerEventType Event) = 0;
   10432   };
   10433 #else
   10434   typedef struct IAMTunerNotificationVtbl {
   10435     BEGIN_INTERFACE
   10436       HRESULT (WINAPI *QueryInterface)(IAMTunerNotification *This,REFIID riid,void **ppvObject);
   10437       ULONG (WINAPI *AddRef)(IAMTunerNotification *This);
   10438       ULONG (WINAPI *Release)(IAMTunerNotification *This);
   10439       HRESULT (WINAPI *OnEvent)(IAMTunerNotification *This,AMTunerEventType Event);
   10440     END_INTERFACE
   10441   } IAMTunerNotificationVtbl;
   10442   struct IAMTunerNotification {
   10443     CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
   10444   };
   10445 #ifdef COBJMACROS
   10446 #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10447 #define IAMTunerNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
   10448 #define IAMTunerNotification_Release(This) (This)->lpVtbl->Release(This)
   10449 #define IAMTunerNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
   10450 #endif
   10451 #endif
   10452   HRESULT WINAPI IAMTunerNotification_OnEvent_Proxy(IAMTunerNotification *This,AMTunerEventType Event);
   10453   void __RPC_STUB IAMTunerNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10454 #endif
   10455 
   10456 #ifndef __IAMTVTuner_INTERFACE_DEFINED__
   10457 #define __IAMTVTuner_INTERFACE_DEFINED__
   10458   EXTERN_C const IID IID_IAMTVTuner;
   10459 #if defined(__cplusplus) && !defined(CINTERFACE)
   10460   struct IAMTVTuner : public IAMTuner {
   10461   public:
   10462     virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0;
   10463     virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0;
   10464     virtual HRESULT WINAPI AutoTune(LONG lChannel,LONG *plFoundSignal) = 0;
   10465     virtual HRESULT WINAPI StoreAutoTune(void) = 0;
   10466     virtual HRESULT WINAPI get_NumInputConnections(LONG *plNumInputConnections) = 0;
   10467     virtual HRESULT WINAPI put_InputType(LONG lIndex,TunerInputType InputType) = 0;
   10468     virtual HRESULT WINAPI get_InputType(LONG lIndex,TunerInputType *pInputType) = 0;
   10469     virtual HRESULT WINAPI put_ConnectInput(LONG lIndex) = 0;
   10470     virtual HRESULT WINAPI get_ConnectInput(LONG *plIndex) = 0;
   10471     virtual HRESULT WINAPI get_VideoFrequency(LONG *lFreq) = 0;
   10472     virtual HRESULT WINAPI get_AudioFrequency(LONG *lFreq) = 0;
   10473   };
   10474 #else
   10475   typedef struct IAMTVTunerVtbl {
   10476     BEGIN_INTERFACE
   10477       HRESULT (WINAPI *QueryInterface)(IAMTVTuner *This,REFIID riid,void **ppvObject);
   10478       ULONG (WINAPI *AddRef)(IAMTVTuner *This);
   10479       ULONG (WINAPI *Release)(IAMTVTuner *This);
   10480       HRESULT (WINAPI *put_Channel)(IAMTVTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
   10481       HRESULT (WINAPI *get_Channel)(IAMTVTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
   10482       HRESULT (WINAPI *ChannelMinMax)(IAMTVTuner *This,LONG *lChannelMin,LONG *lChannelMax);
   10483       HRESULT (WINAPI *put_CountryCode)(IAMTVTuner *This,LONG lCountryCode);
   10484       HRESULT (WINAPI *get_CountryCode)(IAMTVTuner *This,LONG *plCountryCode);
   10485       HRESULT (WINAPI *put_TuningSpace)(IAMTVTuner *This,LONG lTuningSpace);
   10486       HRESULT (WINAPI *get_TuningSpace)(IAMTVTuner *This,LONG *plTuningSpace);
   10487       HRESULT (WINAPI *Logon)(IAMTVTuner *This,HANDLE hCurrentUser);
   10488       HRESULT (WINAPI *Logout)(IAMTVTuner *This);
   10489       HRESULT (WINAPI *SignalPresent)(IAMTVTuner *This,LONG *plSignalStrength);
   10490       HRESULT (WINAPI *put_Mode)(IAMTVTuner *This,AMTunerModeType lMode);
   10491       HRESULT (WINAPI *get_Mode)(IAMTVTuner *This,AMTunerModeType *plMode);
   10492       HRESULT (WINAPI *GetAvailableModes)(IAMTVTuner *This,LONG *plModes);
   10493       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
   10494       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVTuner *This,IAMTunerNotification *pNotify);
   10495       HRESULT (WINAPI *get_AvailableTVFormats)(IAMTVTuner *This,LONG *lAnalogVideoStandard);
   10496       HRESULT (WINAPI *get_TVFormat)(IAMTVTuner *This,LONG *plAnalogVideoStandard);
   10497       HRESULT (WINAPI *AutoTune)(IAMTVTuner *This,LONG lChannel,LONG *plFoundSignal);
   10498       HRESULT (WINAPI *StoreAutoTune)(IAMTVTuner *This);
   10499       HRESULT (WINAPI *get_NumInputConnections)(IAMTVTuner *This,LONG *plNumInputConnections);
   10500       HRESULT (WINAPI *put_InputType)(IAMTVTuner *This,LONG lIndex,TunerInputType InputType);
   10501       HRESULT (WINAPI *get_InputType)(IAMTVTuner *This,LONG lIndex,TunerInputType *pInputType);
   10502       HRESULT (WINAPI *put_ConnectInput)(IAMTVTuner *This,LONG lIndex);
   10503       HRESULT (WINAPI *get_ConnectInput)(IAMTVTuner *This,LONG *plIndex);
   10504       HRESULT (WINAPI *get_VideoFrequency)(IAMTVTuner *This,LONG *lFreq);
   10505       HRESULT (WINAPI *get_AudioFrequency)(IAMTVTuner *This,LONG *lFreq);
   10506     END_INTERFACE
   10507   } IAMTVTunerVtbl;
   10508   struct IAMTVTuner {
   10509     CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
   10510   };
   10511 #ifdef COBJMACROS
   10512 #define IAMTVTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10513 #define IAMTVTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   10514 #define IAMTVTuner_Release(This) (This)->lpVtbl->Release(This)
   10515 #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   10516 #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   10517 #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   10518 #define IAMTVTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   10519 #define IAMTVTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   10520 #define IAMTVTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   10521 #define IAMTVTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   10522 #define IAMTVTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   10523 #define IAMTVTuner_Logout(This) (This)->lpVtbl->Logout(This)
   10524 #define IAMTVTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   10525 #define IAMTVTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   10526 #define IAMTVTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   10527 #define IAMTVTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   10528 #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   10529 #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   10530 #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   10531 #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   10532 #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal) (This)->lpVtbl->AutoTune(This,lChannel,plFoundSignal)
   10533 #define IAMTVTuner_StoreAutoTune(This) (This)->lpVtbl->StoreAutoTune(This)
   10534 #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections) (This)->lpVtbl->get_NumInputConnections(This,plNumInputConnections)
   10535 #define IAMTVTuner_put_InputType(This,lIndex,InputType) (This)->lpVtbl->put_InputType(This,lIndex,InputType)
   10536 #define IAMTVTuner_get_InputType(This,lIndex,pInputType) (This)->lpVtbl->get_InputType(This,lIndex,pInputType)
   10537 #define IAMTVTuner_put_ConnectInput(This,lIndex) (This)->lpVtbl->put_ConnectInput(This,lIndex)
   10538 #define IAMTVTuner_get_ConnectInput(This,plIndex) (This)->lpVtbl->get_ConnectInput(This,plIndex)
   10539 #define IAMTVTuner_get_VideoFrequency(This,lFreq) (This)->lpVtbl->get_VideoFrequency(This,lFreq)
   10540 #define IAMTVTuner_get_AudioFrequency(This,lFreq) (This)->lpVtbl->get_AudioFrequency(This,lFreq)
   10541 #endif
   10542 #endif
   10543   HRESULT WINAPI IAMTVTuner_get_AvailableTVFormats_Proxy(IAMTVTuner *This,LONG *lAnalogVideoStandard);
   10544   void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10545   HRESULT WINAPI IAMTVTuner_get_TVFormat_Proxy(IAMTVTuner *This,LONG *plAnalogVideoStandard);
   10546   void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10547   HRESULT WINAPI IAMTVTuner_AutoTune_Proxy(IAMTVTuner *This,LONG lChannel,LONG *plFoundSignal);
   10548   void __RPC_STUB IAMTVTuner_AutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10549   HRESULT WINAPI IAMTVTuner_StoreAutoTune_Proxy(IAMTVTuner *This);
   10550   void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10551   HRESULT WINAPI IAMTVTuner_get_NumInputConnections_Proxy(IAMTVTuner *This,LONG *plNumInputConnections);
   10552   void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10553   HRESULT WINAPI IAMTVTuner_put_InputType_Proxy(IAMTVTuner *This,LONG lIndex,TunerInputType InputType);
   10554   void __RPC_STUB IAMTVTuner_put_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10555   HRESULT WINAPI IAMTVTuner_get_InputType_Proxy(IAMTVTuner *This,LONG lIndex,TunerInputType *pInputType);
   10556   void __RPC_STUB IAMTVTuner_get_InputType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10557   HRESULT WINAPI IAMTVTuner_put_ConnectInput_Proxy(IAMTVTuner *This,LONG lIndex);
   10558   void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10559   HRESULT WINAPI IAMTVTuner_get_ConnectInput_Proxy(IAMTVTuner *This,LONG *plIndex);
   10560   void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10561   HRESULT WINAPI IAMTVTuner_get_VideoFrequency_Proxy(IAMTVTuner *This,LONG *lFreq);
   10562   void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10563   HRESULT WINAPI IAMTVTuner_get_AudioFrequency_Proxy(IAMTVTuner *This,LONG *lFreq);
   10564   void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10565 #endif
   10566 
   10567 #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
   10568 #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
   10569   EXTERN_C const IID IID_IBPCSatelliteTuner;
   10570 #if defined(__cplusplus) && !defined(CINTERFACE)
   10571   struct IBPCSatelliteTuner : public IAMTuner {
   10572   public:
   10573     virtual HRESULT WINAPI get_DefaultSubChannelTypes(LONG *plDefaultVideoType,LONG *plDefaultAudioType) = 0;
   10574     virtual HRESULT WINAPI put_DefaultSubChannelTypes(LONG lDefaultVideoType,LONG lDefaultAudioType) = 0;
   10575     virtual HRESULT WINAPI IsTapingPermitted(void) = 0;
   10576   };
   10577 #else
   10578   typedef struct IBPCSatelliteTunerVtbl {
   10579     BEGIN_INTERFACE
   10580       HRESULT (WINAPI *QueryInterface)(IBPCSatelliteTuner *This,REFIID riid,void **ppvObject);
   10581       ULONG (WINAPI *AddRef)(IBPCSatelliteTuner *This);
   10582       ULONG (WINAPI *Release)(IBPCSatelliteTuner *This);
   10583       HRESULT (WINAPI *put_Channel)(IBPCSatelliteTuner *This,LONG lChannel,LONG lVideoSubChannel,LONG lAudioSubChannel);
   10584       HRESULT (WINAPI *get_Channel)(IBPCSatelliteTuner *This,LONG *plChannel,LONG *plVideoSubChannel,LONG *plAudioSubChannel);
   10585       HRESULT (WINAPI *ChannelMinMax)(IBPCSatelliteTuner *This,LONG *lChannelMin,LONG *lChannelMax);
   10586       HRESULT (WINAPI *put_CountryCode)(IBPCSatelliteTuner *This,LONG lCountryCode);
   10587       HRESULT (WINAPI *get_CountryCode)(IBPCSatelliteTuner *This,LONG *plCountryCode);
   10588       HRESULT (WINAPI *put_TuningSpace)(IBPCSatelliteTuner *This,LONG lTuningSpace);
   10589       HRESULT (WINAPI *get_TuningSpace)(IBPCSatelliteTuner *This,LONG *plTuningSpace);
   10590       HRESULT (WINAPI *Logon)(IBPCSatelliteTuner *This,HANDLE hCurrentUser);
   10591       HRESULT (WINAPI *Logout)(IBPCSatelliteTuner *This);
   10592       HRESULT (WINAPI *SignalPresent)(IBPCSatelliteTuner *This,LONG *plSignalStrength);
   10593       HRESULT (WINAPI *put_Mode)(IBPCSatelliteTuner *This,AMTunerModeType lMode);
   10594       HRESULT (WINAPI *get_Mode)(IBPCSatelliteTuner *This,AMTunerModeType *plMode);
   10595       HRESULT (WINAPI *GetAvailableModes)(IBPCSatelliteTuner *This,LONG *plModes);
   10596       HRESULT (WINAPI *RegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify,LONG lEvents);
   10597       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IBPCSatelliteTuner *This,IAMTunerNotification *pNotify);
   10598       HRESULT (WINAPI *get_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType);
   10599       HRESULT (WINAPI *put_DefaultSubChannelTypes)(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType);
   10600       HRESULT (WINAPI *IsTapingPermitted)(IBPCSatelliteTuner *This);
   10601     END_INTERFACE
   10602   } IBPCSatelliteTunerVtbl;
   10603   struct IBPCSatelliteTuner {
   10604     CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
   10605   };
   10606 #ifdef COBJMACROS
   10607 #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10608 #define IBPCSatelliteTuner_AddRef(This) (This)->lpVtbl->AddRef(This)
   10609 #define IBPCSatelliteTuner_Release(This) (This)->lpVtbl->Release(This)
   10610 #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) (This)->lpVtbl->put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
   10611 #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) (This)->lpVtbl->get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
   10612 #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) (This)->lpVtbl->ChannelMinMax(This,lChannelMin,lChannelMax)
   10613 #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) (This)->lpVtbl->put_CountryCode(This,lCountryCode)
   10614 #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode)
   10615 #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) (This)->lpVtbl->put_TuningSpace(This,lTuningSpace)
   10616 #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) (This)->lpVtbl->get_TuningSpace(This,plTuningSpace)
   10617 #define IBPCSatelliteTuner_Logon(This,hCurrentUser) (This)->lpVtbl->Logon(This,hCurrentUser)
   10618 #define IBPCSatelliteTuner_Logout(This) (This)->lpVtbl->Logout(This)
   10619 #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) (This)->lpVtbl->SignalPresent(This,plSignalStrength)
   10620 #define IBPCSatelliteTuner_put_Mode(This,lMode) (This)->lpVtbl->put_Mode(This,lMode)
   10621 #define IBPCSatelliteTuner_get_Mode(This,plMode) (This)->lpVtbl->get_Mode(This,plMode)
   10622 #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) (This)->lpVtbl->GetAvailableModes(This,plModes)
   10623 #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   10624 #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   10625 #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) (This)->lpVtbl->get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
   10626 #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) (This)->lpVtbl->put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
   10627 #define IBPCSatelliteTuner_IsTapingPermitted(This) (This)->lpVtbl->IsTapingPermitted(This)
   10628 #endif
   10629 #endif
   10630   HRESULT WINAPI IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG *plDefaultVideoType,LONG *plDefaultAudioType);
   10631   void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10632   HRESULT WINAPI IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(IBPCSatelliteTuner *This,LONG lDefaultVideoType,LONG lDefaultAudioType);
   10633   void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10634   HRESULT WINAPI IBPCSatelliteTuner_IsTapingPermitted_Proxy(IBPCSatelliteTuner *This);
   10635   void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10636 #endif
   10637 
   10638   typedef enum tagTVAudioMode {
   10639     AMTVAUDIO_MODE_MONO = 0x1,AMTVAUDIO_MODE_STEREO = 0x2,AMTVAUDIO_MODE_LANG_A = 0x10,AMTVAUDIO_MODE_LANG_B = 0x20,AMTVAUDIO_MODE_LANG_C = 0x40
   10640   } TVAudioMode;
   10641 
   10642   typedef enum tagAMTVAudioEventType {
   10643     AMTVAUDIO_EVENT_CHANGED = 0x1
   10644   } AMTVAudioEventType;
   10645 
   10646   extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
   10647   extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
   10648 #ifndef __IAMTVAudio_INTERFACE_DEFINED__
   10649 #define __IAMTVAudio_INTERFACE_DEFINED__
   10650   EXTERN_C const IID IID_IAMTVAudio;
   10651 #if defined(__cplusplus) && !defined(CINTERFACE)
   10652   struct IAMTVAudio : public IUnknown {
   10653   public:
   10654     virtual HRESULT WINAPI GetHardwareSupportedTVAudioModes(LONG *plModes) = 0;
   10655     virtual HRESULT WINAPI GetAvailableTVAudioModes(LONG *plModes) = 0;
   10656     virtual HRESULT WINAPI get_TVAudioMode(LONG *plMode) = 0;
   10657     virtual HRESULT WINAPI put_TVAudioMode(LONG lMode) = 0;
   10658     virtual HRESULT WINAPI RegisterNotificationCallBack(IAMTunerNotification *pNotify,LONG lEvents) = 0;
   10659     virtual HRESULT WINAPI UnRegisterNotificationCallBack(IAMTunerNotification *pNotify) = 0;
   10660   };
   10661 #else
   10662   typedef struct IAMTVAudioVtbl {
   10663     BEGIN_INTERFACE
   10664       HRESULT (WINAPI *QueryInterface)(IAMTVAudio *This,REFIID riid,void **ppvObject);
   10665       ULONG (WINAPI *AddRef)(IAMTVAudio *This);
   10666       ULONG (WINAPI *Release)(IAMTVAudio *This);
   10667       HRESULT (WINAPI *GetHardwareSupportedTVAudioModes)(IAMTVAudio *This,LONG *plModes);
   10668       HRESULT (WINAPI *GetAvailableTVAudioModes)(IAMTVAudio *This,LONG *plModes);
   10669       HRESULT (WINAPI *get_TVAudioMode)(IAMTVAudio *This,LONG *plMode);
   10670       HRESULT (WINAPI *put_TVAudioMode)(IAMTVAudio *This,LONG lMode);
   10671       HRESULT (WINAPI *RegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents);
   10672       HRESULT (WINAPI *UnRegisterNotificationCallBack)(IAMTVAudio *This,IAMTunerNotification *pNotify);
   10673     END_INTERFACE
   10674   } IAMTVAudioVtbl;
   10675   struct IAMTVAudio {
   10676     CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
   10677   };
   10678 #ifdef COBJMACROS
   10679 #define IAMTVAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10680 #define IAMTVAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
   10681 #define IAMTVAudio_Release(This) (This)->lpVtbl->Release(This)
   10682 #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) (This)->lpVtbl->GetHardwareSupportedTVAudioModes(This,plModes)
   10683 #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) (This)->lpVtbl->GetAvailableTVAudioModes(This,plModes)
   10684 #define IAMTVAudio_get_TVAudioMode(This,plMode) (This)->lpVtbl->get_TVAudioMode(This,plMode)
   10685 #define IAMTVAudio_put_TVAudioMode(This,lMode) (This)->lpVtbl->put_TVAudioMode(This,lMode)
   10686 #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) (This)->lpVtbl->RegisterNotificationCallBack(This,pNotify,lEvents)
   10687 #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) (This)->lpVtbl->UnRegisterNotificationCallBack(This,pNotify)
   10688 #endif
   10689 #endif
   10690   HRESULT WINAPI IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes);
   10691   void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10692   HRESULT WINAPI IAMTVAudio_GetAvailableTVAudioModes_Proxy(IAMTVAudio *This,LONG *plModes);
   10693   void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10694   HRESULT WINAPI IAMTVAudio_get_TVAudioMode_Proxy(IAMTVAudio *This,LONG *plMode);
   10695   void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10696   HRESULT WINAPI IAMTVAudio_put_TVAudioMode_Proxy(IAMTVAudio *This,LONG lMode);
   10697   void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10698   HRESULT WINAPI IAMTVAudio_RegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify,LONG lEvents);
   10699   void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10700   HRESULT WINAPI IAMTVAudio_UnRegisterNotificationCallBack_Proxy(IAMTVAudio *This,IAMTunerNotification *pNotify);
   10701   void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10702 #endif
   10703 
   10704 #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
   10705 #define __IAMTVAudioNotification_INTERFACE_DEFINED__
   10706   EXTERN_C const IID IID_IAMTVAudioNotification;
   10707 #if defined(__cplusplus) && !defined(CINTERFACE)
   10708   struct IAMTVAudioNotification : public IUnknown {
   10709   public:
   10710     virtual HRESULT WINAPI OnEvent(AMTVAudioEventType Event) = 0;
   10711   };
   10712 #else
   10713   typedef struct IAMTVAudioNotificationVtbl {
   10714     BEGIN_INTERFACE
   10715       HRESULT (WINAPI *QueryInterface)(IAMTVAudioNotification *This,REFIID riid,void **ppvObject);
   10716       ULONG (WINAPI *AddRef)(IAMTVAudioNotification *This);
   10717       ULONG (WINAPI *Release)(IAMTVAudioNotification *This);
   10718       HRESULT (WINAPI *OnEvent)(IAMTVAudioNotification *This,AMTVAudioEventType Event);
   10719     END_INTERFACE
   10720   } IAMTVAudioNotificationVtbl;
   10721   struct IAMTVAudioNotification {
   10722     CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
   10723   };
   10724 #ifdef COBJMACROS
   10725 #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10726 #define IAMTVAudioNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
   10727 #define IAMTVAudioNotification_Release(This) (This)->lpVtbl->Release(This)
   10728 #define IAMTVAudioNotification_OnEvent(This,Event) (This)->lpVtbl->OnEvent(This,Event)
   10729 #endif
   10730 #endif
   10731   HRESULT WINAPI IAMTVAudioNotification_OnEvent_Proxy(IAMTVAudioNotification *This,AMTVAudioEventType Event);
   10732   void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10733 #endif
   10734 
   10735 #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
   10736 #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
   10737   EXTERN_C const IID IID_IAMAnalogVideoEncoder;
   10738 #if defined(__cplusplus) && !defined(CINTERFACE)
   10739   struct IAMAnalogVideoEncoder : public IUnknown {
   10740   public:
   10741     virtual HRESULT WINAPI get_AvailableTVFormats(LONG *lAnalogVideoStandard) = 0;
   10742     virtual HRESULT WINAPI put_TVFormat(LONG lAnalogVideoStandard) = 0;
   10743     virtual HRESULT WINAPI get_TVFormat(LONG *plAnalogVideoStandard) = 0;
   10744     virtual HRESULT WINAPI put_CopyProtection(LONG lVideoCopyProtection) = 0;
   10745     virtual HRESULT WINAPI get_CopyProtection(LONG *lVideoCopyProtection) = 0;
   10746     virtual HRESULT WINAPI put_CCEnable(LONG lCCEnable) = 0;
   10747     virtual HRESULT WINAPI get_CCEnable(LONG *lCCEnable) = 0;
   10748   };
   10749 #else
   10750   typedef struct IAMAnalogVideoEncoderVtbl {
   10751     BEGIN_INTERFACE
   10752       HRESULT (WINAPI *QueryInterface)(IAMAnalogVideoEncoder *This,REFIID riid,void **ppvObject);
   10753       ULONG (WINAPI *AddRef)(IAMAnalogVideoEncoder *This);
   10754       ULONG (WINAPI *Release)(IAMAnalogVideoEncoder *This);
   10755       HRESULT (WINAPI *get_AvailableTVFormats)(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard);
   10756       HRESULT (WINAPI *put_TVFormat)(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard);
   10757       HRESULT (WINAPI *get_TVFormat)(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard);
   10758       HRESULT (WINAPI *put_CopyProtection)(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection);
   10759       HRESULT (WINAPI *get_CopyProtection)(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection);
   10760       HRESULT (WINAPI *put_CCEnable)(IAMAnalogVideoEncoder *This,LONG lCCEnable);
   10761       HRESULT (WINAPI *get_CCEnable)(IAMAnalogVideoEncoder *This,LONG *lCCEnable);
   10762     END_INTERFACE
   10763   } IAMAnalogVideoEncoderVtbl;
   10764   struct IAMAnalogVideoEncoder {
   10765     CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
   10766   };
   10767 #ifdef COBJMACROS
   10768 #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10769 #define IAMAnalogVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   10770 #define IAMAnalogVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
   10771 #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) (This)->lpVtbl->get_AvailableTVFormats(This,lAnalogVideoStandard)
   10772 #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) (This)->lpVtbl->put_TVFormat(This,lAnalogVideoStandard)
   10773 #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) (This)->lpVtbl->get_TVFormat(This,plAnalogVideoStandard)
   10774 #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->put_CopyProtection(This,lVideoCopyProtection)
   10775 #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) (This)->lpVtbl->get_CopyProtection(This,lVideoCopyProtection)
   10776 #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) (This)->lpVtbl->put_CCEnable(This,lCCEnable)
   10777 #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) (This)->lpVtbl->get_CCEnable(This,lCCEnable)
   10778 #endif
   10779 #endif
   10780   HRESULT WINAPI IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(IAMAnalogVideoEncoder *This,LONG *lAnalogVideoStandard);
   10781   void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10782   HRESULT WINAPI IAMAnalogVideoEncoder_put_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG lAnalogVideoStandard);
   10783   void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10784   HRESULT WINAPI IAMAnalogVideoEncoder_get_TVFormat_Proxy(IAMAnalogVideoEncoder *This,LONG *plAnalogVideoStandard);
   10785   void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10786   HRESULT WINAPI IAMAnalogVideoEncoder_put_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG lVideoCopyProtection);
   10787   void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10788   HRESULT WINAPI IAMAnalogVideoEncoder_get_CopyProtection_Proxy(IAMAnalogVideoEncoder *This,LONG *lVideoCopyProtection);
   10789   void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10790   HRESULT WINAPI IAMAnalogVideoEncoder_put_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG lCCEnable);
   10791   void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10792   HRESULT WINAPI IAMAnalogVideoEncoder_get_CCEnable_Proxy(IAMAnalogVideoEncoder *This,LONG *lCCEnable);
   10793   void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10794 #endif
   10795 
   10796   typedef enum __MIDL___MIDL_itf_strmif_0185_0001 {
   10797     AMPROPERTY_PIN_CATEGORY = 0,AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1
   10798   } AMPROPERTY_PIN;
   10799 
   10800   extern RPC_IF_HANDLE __MIDL_itf_strmif_0186_v0_0_c_ifspec;
   10801   extern RPC_IF_HANDLE __MIDL_itf_strmif_0186_v0_0_s_ifspec;
   10802 #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
   10803 #define __IMediaPropertyBag_INTERFACE_DEFINED__
   10804   typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
   10805 
   10806   EXTERN_C const IID IID_IMediaPropertyBag;
   10807 #if defined(__cplusplus) && !defined(CINTERFACE)
   10808   struct IMediaPropertyBag : public IPropertyBag {
   10809   public:
   10810     virtual HRESULT WINAPI EnumProperty(ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue) = 0;
   10811   };
   10812 #else
   10813   typedef struct IMediaPropertyBagVtbl {
   10814     BEGIN_INTERFACE
   10815       HRESULT (WINAPI *QueryInterface)(IMediaPropertyBag *This,REFIID riid,void **ppvObject);
   10816       ULONG (WINAPI *AddRef)(IMediaPropertyBag *This);
   10817       ULONG (WINAPI *Release)(IMediaPropertyBag *This);
   10818       HRESULT (WINAPI *Read)(IMediaPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar,IErrorLog *pErrorLog);
   10819       HRESULT (WINAPI *Write)(IMediaPropertyBag *This,LPCOLESTR pszPropName,VARIANT *pVar);
   10820       HRESULT (WINAPI *EnumProperty)(IMediaPropertyBag *This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue);
   10821     END_INTERFACE
   10822   } IMediaPropertyBagVtbl;
   10823   struct IMediaPropertyBag {
   10824     CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
   10825   };
   10826 #ifdef COBJMACROS
   10827 #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10828 #define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
   10829 #define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
   10830 #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) (This)->lpVtbl->Read(This,pszPropName,pVar,pErrorLog)
   10831 #define IMediaPropertyBag_Write(This,pszPropName,pVar) (This)->lpVtbl->Write(This,pszPropName,pVar)
   10832 #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) (This)->lpVtbl->EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
   10833 #endif
   10834 #endif
   10835   HRESULT WINAPI IMediaPropertyBag_EnumProperty_Proxy(IMediaPropertyBag *This,ULONG iProperty,VARIANT *pvarPropertyName,VARIANT *pvarPropertyValue);
   10836   void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10837 #endif
   10838 
   10839 #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
   10840 #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
   10841   typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
   10842 
   10843   EXTERN_C const IID IID_IPersistMediaPropertyBag;
   10844 #if defined(__cplusplus) && !defined(CINTERFACE)
   10845   struct IPersistMediaPropertyBag : public IPersist {
   10846   public:
   10847     virtual HRESULT WINAPI InitNew(void) = 0;
   10848     virtual HRESULT WINAPI Load(IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog) = 0;
   10849     virtual HRESULT WINAPI Save(IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) = 0;
   10850   };
   10851 #else
   10852   typedef struct IPersistMediaPropertyBagVtbl {
   10853     BEGIN_INTERFACE
   10854       HRESULT (WINAPI *QueryInterface)(IPersistMediaPropertyBag *This,REFIID riid,void **ppvObject);
   10855       ULONG (WINAPI *AddRef)(IPersistMediaPropertyBag *This);
   10856       ULONG (WINAPI *Release)(IPersistMediaPropertyBag *This);
   10857       HRESULT (WINAPI *GetClassID)(IPersistMediaPropertyBag *This,CLSID *pClassID);
   10858       HRESULT (WINAPI *InitNew)(IPersistMediaPropertyBag *This);
   10859       HRESULT (WINAPI *Load)(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog);
   10860       HRESULT (WINAPI *Save)(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties);
   10861     END_INTERFACE
   10862   } IPersistMediaPropertyBagVtbl;
   10863   struct IPersistMediaPropertyBag {
   10864     CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
   10865   };
   10866 #ifdef COBJMACROS
   10867 #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10868 #define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
   10869 #define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
   10870 #define IPersistMediaPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   10871 #define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This)
   10872 #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog)
   10873 #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
   10874 #endif
   10875 #endif
   10876   HRESULT WINAPI IPersistMediaPropertyBag_InitNew_Proxy(IPersistMediaPropertyBag *This);
   10877   void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10878   HRESULT WINAPI IPersistMediaPropertyBag_Load_Proxy(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,IErrorLog *pErrorLog);
   10879   void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10880   HRESULT WINAPI IPersistMediaPropertyBag_Save_Proxy(IPersistMediaPropertyBag *This,IMediaPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties);
   10881   void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10882 #endif
   10883 
   10884 #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
   10885 #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
   10886   EXTERN_C const IID IID_IAMPhysicalPinInfo;
   10887 #if defined(__cplusplus) && !defined(CINTERFACE)
   10888   struct IAMPhysicalPinInfo : public IUnknown {
   10889   public:
   10890     virtual HRESULT WINAPI GetPhysicalType(LONG *pType,LPOLESTR *ppszType) = 0;
   10891   };
   10892 #else
   10893   typedef struct IAMPhysicalPinInfoVtbl {
   10894     BEGIN_INTERFACE
   10895       HRESULT (WINAPI *QueryInterface)(IAMPhysicalPinInfo *This,REFIID riid,void **ppvObject);
   10896       ULONG (WINAPI *AddRef)(IAMPhysicalPinInfo *This);
   10897       ULONG (WINAPI *Release)(IAMPhysicalPinInfo *This);
   10898       HRESULT (WINAPI *GetPhysicalType)(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType);
   10899     END_INTERFACE
   10900   } IAMPhysicalPinInfoVtbl;
   10901   struct IAMPhysicalPinInfo {
   10902     CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
   10903   };
   10904 #ifdef COBJMACROS
   10905 #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10906 #define IAMPhysicalPinInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   10907 #define IAMPhysicalPinInfo_Release(This) (This)->lpVtbl->Release(This)
   10908 #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) (This)->lpVtbl->GetPhysicalType(This,pType,ppszType)
   10909 #endif
   10910 #endif
   10911   HRESULT WINAPI IAMPhysicalPinInfo_GetPhysicalType_Proxy(IAMPhysicalPinInfo *This,LONG *pType,LPOLESTR *ppszType);
   10912   void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10913 #endif
   10914 
   10915   typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
   10916 
   10917   extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
   10918   extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
   10919 #ifndef __IAMExtDevice_INTERFACE_DEFINED__
   10920 #define __IAMExtDevice_INTERFACE_DEFINED__
   10921   EXTERN_C const IID IID_IAMExtDevice;
   10922 #if defined(__cplusplus) && !defined(CINTERFACE)
   10923   struct IAMExtDevice : public IUnknown {
   10924   public:
   10925     virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0;
   10926     virtual HRESULT WINAPI get_ExternalDeviceID(LPOLESTR *ppszData) = 0;
   10927     virtual HRESULT WINAPI get_ExternalDeviceVersion(LPOLESTR *ppszData) = 0;
   10928     virtual HRESULT WINAPI put_DevicePower(LONG PowerMode) = 0;
   10929     virtual HRESULT WINAPI get_DevicePower(LONG *pPowerMode) = 0;
   10930     virtual HRESULT WINAPI Calibrate(HEVENT hEvent,LONG Mode,LONG *pStatus) = 0;
   10931     virtual HRESULT WINAPI put_DevicePort(LONG DevicePort) = 0;
   10932     virtual HRESULT WINAPI get_DevicePort(LONG *pDevicePort) = 0;
   10933   };
   10934 #else
   10935   typedef struct IAMExtDeviceVtbl {
   10936     BEGIN_INTERFACE
   10937       HRESULT (WINAPI *QueryInterface)(IAMExtDevice *This,REFIID riid,void **ppvObject);
   10938       ULONG (WINAPI *AddRef)(IAMExtDevice *This);
   10939       ULONG (WINAPI *Release)(IAMExtDevice *This);
   10940       HRESULT (WINAPI *GetCapability)(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue);
   10941       HRESULT (WINAPI *get_ExternalDeviceID)(IAMExtDevice *This,LPOLESTR *ppszData);
   10942       HRESULT (WINAPI *get_ExternalDeviceVersion)(IAMExtDevice *This,LPOLESTR *ppszData);
   10943       HRESULT (WINAPI *put_DevicePower)(IAMExtDevice *This,LONG PowerMode);
   10944       HRESULT (WINAPI *get_DevicePower)(IAMExtDevice *This,LONG *pPowerMode);
   10945       HRESULT (WINAPI *Calibrate)(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus);
   10946       HRESULT (WINAPI *put_DevicePort)(IAMExtDevice *This,LONG DevicePort);
   10947       HRESULT (WINAPI *get_DevicePort)(IAMExtDevice *This,LONG *pDevicePort);
   10948     END_INTERFACE
   10949   } IAMExtDeviceVtbl;
   10950   struct IAMExtDevice {
   10951     CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
   10952   };
   10953 #ifdef COBJMACROS
   10954 #define IAMExtDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10955 #define IAMExtDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
   10956 #define IAMExtDevice_Release(This) (This)->lpVtbl->Release(This)
   10957 #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
   10958 #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) (This)->lpVtbl->get_ExternalDeviceID(This,ppszData)
   10959 #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) (This)->lpVtbl->get_ExternalDeviceVersion(This,ppszData)
   10960 #define IAMExtDevice_put_DevicePower(This,PowerMode) (This)->lpVtbl->put_DevicePower(This,PowerMode)
   10961 #define IAMExtDevice_get_DevicePower(This,pPowerMode) (This)->lpVtbl->get_DevicePower(This,pPowerMode)
   10962 #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) (This)->lpVtbl->Calibrate(This,hEvent,Mode,pStatus)
   10963 #define IAMExtDevice_put_DevicePort(This,DevicePort) (This)->lpVtbl->put_DevicePort(This,DevicePort)
   10964 #define IAMExtDevice_get_DevicePort(This,pDevicePort) (This)->lpVtbl->get_DevicePort(This,pDevicePort)
   10965 #endif
   10966 #endif
   10967   HRESULT WINAPI IAMExtDevice_GetCapability_Proxy(IAMExtDevice *This,LONG Capability,LONG *pValue,double *pdblValue);
   10968   void __RPC_STUB IAMExtDevice_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10969   HRESULT WINAPI IAMExtDevice_get_ExternalDeviceID_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
   10970   void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10971   HRESULT WINAPI IAMExtDevice_get_ExternalDeviceVersion_Proxy(IAMExtDevice *This,LPOLESTR *ppszData);
   10972   void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10973   HRESULT WINAPI IAMExtDevice_put_DevicePower_Proxy(IAMExtDevice *This,LONG PowerMode);
   10974   void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10975   HRESULT WINAPI IAMExtDevice_get_DevicePower_Proxy(IAMExtDevice *This,LONG *pPowerMode);
   10976   void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10977   HRESULT WINAPI IAMExtDevice_Calibrate_Proxy(IAMExtDevice *This,HEVENT hEvent,LONG Mode,LONG *pStatus);
   10978   void __RPC_STUB IAMExtDevice_Calibrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10979   HRESULT WINAPI IAMExtDevice_put_DevicePort_Proxy(IAMExtDevice *This,LONG DevicePort);
   10980   void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10981   HRESULT WINAPI IAMExtDevice_get_DevicePort_Proxy(IAMExtDevice *This,LONG *pDevicePort);
   10982   void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   10983 #endif
   10984 
   10985   typedef IAMExtDevice *PEXTDEVICE;
   10986 
   10987   extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
   10988   extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
   10989 #ifndef __IAMExtTransport_INTERFACE_DEFINED__
   10990 #define __IAMExtTransport_INTERFACE_DEFINED__
   10991   EXTERN_C const IID IID_IAMExtTransport;
   10992 #if defined(__cplusplus) && !defined(CINTERFACE)
   10993   struct IAMExtTransport : public IUnknown {
   10994   public:
   10995     virtual HRESULT WINAPI GetCapability(LONG Capability,LONG *pValue,double *pdblValue) = 0;
   10996     virtual HRESULT WINAPI put_MediaState(LONG State) = 0;
   10997     virtual HRESULT WINAPI get_MediaState(LONG *pState) = 0;
   10998     virtual HRESULT WINAPI put_LocalControl(LONG State) = 0;
   10999     virtual HRESULT WINAPI get_LocalControl(LONG *pState) = 0;
   11000     virtual HRESULT WINAPI GetStatus(LONG StatusItem,LONG *pValue) = 0;
   11001     virtual HRESULT WINAPI GetTransportBasicParameters(LONG Param,LONG *pValue,LPOLESTR *ppszData) = 0;
   11002     virtual HRESULT WINAPI SetTransportBasicParameters(LONG Param,LONG Value,LPCOLESTR pszData) = 0;
   11003     virtual HRESULT WINAPI GetTransportVideoParameters(LONG Param,LONG *pValue) = 0;
   11004     virtual HRESULT WINAPI SetTransportVideoParameters(LONG Param,LONG Value) = 0;
   11005     virtual HRESULT WINAPI GetTransportAudioParameters(LONG Param,LONG *pValue) = 0;
   11006     virtual HRESULT WINAPI SetTransportAudioParameters(LONG Param,LONG Value) = 0;
   11007     virtual HRESULT WINAPI put_Mode(LONG Mode) = 0;
   11008     virtual HRESULT WINAPI get_Mode(LONG *pMode) = 0;
   11009     virtual HRESULT WINAPI put_Rate(double dblRate) = 0;
   11010     virtual HRESULT WINAPI get_Rate(double *pdblRate) = 0;
   11011     virtual HRESULT WINAPI GetChase(LONG *pEnabled,LONG *pOffset,HEVENT *phEvent) = 0;
   11012     virtual HRESULT WINAPI SetChase(LONG Enable,LONG Offset,HEVENT hEvent) = 0;
   11013     virtual HRESULT WINAPI GetBump(LONG *pSpeed,LONG *pDuration) = 0;
   11014     virtual HRESULT WINAPI SetBump(LONG Speed,LONG Duration) = 0;
   11015     virtual HRESULT WINAPI get_AntiClogControl(LONG *pEnabled) = 0;
   11016     virtual HRESULT WINAPI put_AntiClogControl(LONG Enable) = 0;
   11017     virtual HRESULT WINAPI GetEditPropertySet(LONG EditID,LONG *pState) = 0;
   11018     virtual HRESULT WINAPI SetEditPropertySet(LONG *pEditID,LONG State) = 0;
   11019     virtual HRESULT WINAPI GetEditProperty(LONG EditID,LONG Param,LONG *pValue) = 0;
   11020     virtual HRESULT WINAPI SetEditProperty(LONG EditID,LONG Param,LONG Value) = 0;
   11021     virtual HRESULT WINAPI get_EditStart(LONG *pValue) = 0;
   11022     virtual HRESULT WINAPI put_EditStart(LONG Value) = 0;
   11023   };
   11024 #else
   11025   typedef struct IAMExtTransportVtbl {
   11026     BEGIN_INTERFACE
   11027       HRESULT (WINAPI *QueryInterface)(IAMExtTransport *This,REFIID riid,void **ppvObject);
   11028       ULONG (WINAPI *AddRef)(IAMExtTransport *This);
   11029       ULONG (WINAPI *Release)(IAMExtTransport *This);
   11030       HRESULT (WINAPI *GetCapability)(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue);
   11031       HRESULT (WINAPI *put_MediaState)(IAMExtTransport *This,LONG State);
   11032       HRESULT (WINAPI *get_MediaState)(IAMExtTransport *This,LONG *pState);
   11033       HRESULT (WINAPI *put_LocalControl)(IAMExtTransport *This,LONG State);
   11034       HRESULT (WINAPI *get_LocalControl)(IAMExtTransport *This,LONG *pState);
   11035       HRESULT (WINAPI *GetStatus)(IAMExtTransport *This,LONG StatusItem,LONG *pValue);
   11036       HRESULT (WINAPI *GetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData);
   11037       HRESULT (WINAPI *SetTransportBasicParameters)(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData);
   11038       HRESULT (WINAPI *GetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG *pValue);
   11039       HRESULT (WINAPI *SetTransportVideoParameters)(IAMExtTransport *This,LONG Param,LONG Value);
   11040       HRESULT (WINAPI *GetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG *pValue);
   11041       HRESULT (WINAPI *SetTransportAudioParameters)(IAMExtTransport *This,LONG Param,LONG Value);
   11042       HRESULT (WINAPI *put_Mode)(IAMExtTransport *This,LONG Mode);
   11043       HRESULT (WINAPI *get_Mode)(IAMExtTransport *This,LONG *pMode);
   11044       HRESULT (WINAPI *put_Rate)(IAMExtTransport *This,double dblRate);
   11045       HRESULT (WINAPI *get_Rate)(IAMExtTransport *This,double *pdblRate);
   11046       HRESULT (WINAPI *GetChase)(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent);
   11047       HRESULT (WINAPI *SetChase)(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent);
   11048       HRESULT (WINAPI *GetBump)(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration);
   11049       HRESULT (WINAPI *SetBump)(IAMExtTransport *This,LONG Speed,LONG Duration);
   11050       HRESULT (WINAPI *get_AntiClogControl)(IAMExtTransport *This,LONG *pEnabled);
   11051       HRESULT (WINAPI *put_AntiClogControl)(IAMExtTransport *This,LONG Enable);
   11052       HRESULT (WINAPI *GetEditPropertySet)(IAMExtTransport *This,LONG EditID,LONG *pState);
   11053       HRESULT (WINAPI *SetEditPropertySet)(IAMExtTransport *This,LONG *pEditID,LONG State);
   11054       HRESULT (WINAPI *GetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue);
   11055       HRESULT (WINAPI *SetEditProperty)(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value);
   11056       HRESULT (WINAPI *get_EditStart)(IAMExtTransport *This,LONG *pValue);
   11057       HRESULT (WINAPI *put_EditStart)(IAMExtTransport *This,LONG Value);
   11058     END_INTERFACE
   11059   } IAMExtTransportVtbl;
   11060   struct IAMExtTransport {
   11061     CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
   11062   };
   11063 #ifdef COBJMACROS
   11064 #define IAMExtTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11065 #define IAMExtTransport_AddRef(This) (This)->lpVtbl->AddRef(This)
   11066 #define IAMExtTransport_Release(This) (This)->lpVtbl->Release(This)
   11067 #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) (This)->lpVtbl->GetCapability(This,Capability,pValue,pdblValue)
   11068 #define IAMExtTransport_put_MediaState(This,State) (This)->lpVtbl->put_MediaState(This,State)
   11069 #define IAMExtTransport_get_MediaState(This,pState) (This)->lpVtbl->get_MediaState(This,pState)
   11070 #define IAMExtTransport_put_LocalControl(This,State) (This)->lpVtbl->put_LocalControl(This,State)
   11071 #define IAMExtTransport_get_LocalControl(This,pState) (This)->lpVtbl->get_LocalControl(This,pState)
   11072 #define IAMExtTransport_GetStatus(This,StatusItem,pValue) (This)->lpVtbl->GetStatus(This,StatusItem,pValue)
   11073 #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) (This)->lpVtbl->GetTransportBasicParameters(This,Param,pValue,ppszData)
   11074 #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) (This)->lpVtbl->SetTransportBasicParameters(This,Param,Value,pszData)
   11075 #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) (This)->lpVtbl->GetTransportVideoParameters(This,Param,pValue)
   11076 #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) (This)->lpVtbl->SetTransportVideoParameters(This,Param,Value)
   11077 #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) (This)->lpVtbl->GetTransportAudioParameters(This,Param,pValue)
   11078 #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) (This)->lpVtbl->SetTransportAudioParameters(This,Param,Value)
   11079 #define IAMExtTransport_put_Mode(This,Mode) (This)->lpVtbl->put_Mode(This,Mode)
   11080 #define IAMExtTransport_get_Mode(This,pMode) (This)->lpVtbl->get_Mode(This,pMode)
   11081 #define IAMExtTransport_put_Rate(This,dblRate) (This)->lpVtbl->put_Rate(This,dblRate)
   11082 #define IAMExtTransport_get_Rate(This,pdblRate) (This)->lpVtbl->get_Rate(This,pdblRate)
   11083 #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) (This)->lpVtbl->GetChase(This,pEnabled,pOffset,phEvent)
   11084 #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) (This)->lpVtbl->SetChase(This,Enable,Offset,hEvent)
   11085 #define IAMExtTransport_GetBump(This,pSpeed,pDuration) (This)->lpVtbl->GetBump(This,pSpeed,pDuration)
   11086 #define IAMExtTransport_SetBump(This,Speed,Duration) (This)->lpVtbl->SetBump(This,Speed,Duration)
   11087 #define IAMExtTransport_get_AntiClogControl(This,pEnabled) (This)->lpVtbl->get_AntiClogControl(This,pEnabled)
   11088 #define IAMExtTransport_put_AntiClogControl(This,Enable) (This)->lpVtbl->put_AntiClogControl(This,Enable)
   11089 #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) (This)->lpVtbl->GetEditPropertySet(This,EditID,pState)
   11090 #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) (This)->lpVtbl->SetEditPropertySet(This,pEditID,State)
   11091 #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) (This)->lpVtbl->GetEditProperty(This,EditID,Param,pValue)
   11092 #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) (This)->lpVtbl->SetEditProperty(This,EditID,Param,Value)
   11093 #define IAMExtTransport_get_EditStart(This,pValue) (This)->lpVtbl->get_EditStart(This,pValue)
   11094 #define IAMExtTransport_put_EditStart(This,Value) (This)->lpVtbl->put_EditStart(This,Value)
   11095 #endif
   11096 #endif
   11097   HRESULT WINAPI IAMExtTransport_GetCapability_Proxy(IAMExtTransport *This,LONG Capability,LONG *pValue,double *pdblValue);
   11098   void __RPC_STUB IAMExtTransport_GetCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11099   HRESULT WINAPI IAMExtTransport_put_MediaState_Proxy(IAMExtTransport *This,LONG State);
   11100   void __RPC_STUB IAMExtTransport_put_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11101   HRESULT WINAPI IAMExtTransport_get_MediaState_Proxy(IAMExtTransport *This,LONG *pState);
   11102   void __RPC_STUB IAMExtTransport_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11103   HRESULT WINAPI IAMExtTransport_put_LocalControl_Proxy(IAMExtTransport *This,LONG State);
   11104   void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11105   HRESULT WINAPI IAMExtTransport_get_LocalControl_Proxy(IAMExtTransport *This,LONG *pState);
   11106   void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11107   HRESULT WINAPI IAMExtTransport_GetStatus_Proxy(IAMExtTransport *This,LONG StatusItem,LONG *pValue);
   11108   void __RPC_STUB IAMExtTransport_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11109   HRESULT WINAPI IAMExtTransport_GetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue,LPOLESTR *ppszData);
   11110   void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11111   HRESULT WINAPI IAMExtTransport_SetTransportBasicParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value,LPCOLESTR pszData);
   11112   void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11113   HRESULT WINAPI IAMExtTransport_GetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue);
   11114   void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11115   HRESULT WINAPI IAMExtTransport_SetTransportVideoParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value);
   11116   void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11117   HRESULT WINAPI IAMExtTransport_GetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG *pValue);
   11118   void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11119   HRESULT WINAPI IAMExtTransport_SetTransportAudioParameters_Proxy(IAMExtTransport *This,LONG Param,LONG Value);
   11120   void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11121   HRESULT WINAPI IAMExtTransport_put_Mode_Proxy(IAMExtTransport *This,LONG Mode);
   11122   void __RPC_STUB IAMExtTransport_put_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11123   HRESULT WINAPI IAMExtTransport_get_Mode_Proxy(IAMExtTransport *This,LONG *pMode);
   11124   void __RPC_STUB IAMExtTransport_get_Mode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11125   HRESULT WINAPI IAMExtTransport_put_Rate_Proxy(IAMExtTransport *This,double dblRate);
   11126   void __RPC_STUB IAMExtTransport_put_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11127   HRESULT WINAPI IAMExtTransport_get_Rate_Proxy(IAMExtTransport *This,double *pdblRate);
   11128   void __RPC_STUB IAMExtTransport_get_Rate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11129   HRESULT WINAPI IAMExtTransport_GetChase_Proxy(IAMExtTransport *This,LONG *pEnabled,LONG *pOffset,HEVENT *phEvent);
   11130   void __RPC_STUB IAMExtTransport_GetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11131   HRESULT WINAPI IAMExtTransport_SetChase_Proxy(IAMExtTransport *This,LONG Enable,LONG Offset,HEVENT hEvent);
   11132   void __RPC_STUB IAMExtTransport_SetChase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11133   HRESULT WINAPI IAMExtTransport_GetBump_Proxy(IAMExtTransport *This,LONG *pSpeed,LONG *pDuration);
   11134   void __RPC_STUB IAMExtTransport_GetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11135   HRESULT WINAPI IAMExtTransport_SetBump_Proxy(IAMExtTransport *This,LONG Speed,LONG Duration);
   11136   void __RPC_STUB IAMExtTransport_SetBump_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11137   HRESULT WINAPI IAMExtTransport_get_AntiClogControl_Proxy(IAMExtTransport *This,LONG *pEnabled);
   11138   void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11139   HRESULT WINAPI IAMExtTransport_put_AntiClogControl_Proxy(IAMExtTransport *This,LONG Enable);
   11140   void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11141   HRESULT WINAPI IAMExtTransport_GetEditPropertySet_Proxy(IAMExtTransport *This,LONG EditID,LONG *pState);
   11142   void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11143   HRESULT WINAPI IAMExtTransport_SetEditPropertySet_Proxy(IAMExtTransport *This,LONG *pEditID,LONG State);
   11144   void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11145   HRESULT WINAPI IAMExtTransport_GetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG *pValue);
   11146   void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11147   HRESULT WINAPI IAMExtTransport_SetEditProperty_Proxy(IAMExtTransport *This,LONG EditID,LONG Param,LONG Value);
   11148   void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11149   HRESULT WINAPI IAMExtTransport_get_EditStart_Proxy(IAMExtTransport *This,LONG *pValue);
   11150   void __RPC_STUB IAMExtTransport_get_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11151   HRESULT WINAPI IAMExtTransport_put_EditStart_Proxy(IAMExtTransport *This,LONG Value);
   11152   void __RPC_STUB IAMExtTransport_put_EditStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11153 #endif
   11154 
   11155   typedef IAMExtTransport *PIAMEXTTRANSPORT;
   11156 
   11157 #ifndef TIMECODE_DEFINED
   11158 #define TIMECODE_DEFINED
   11159   typedef union _timecode {
   11160     __C89_NAMELESS struct {
   11161       WORD wFrameRate;
   11162       WORD wFrameFract;
   11163       DWORD dwFrames;
   11164     };
   11165     DWORDLONG qw;
   11166   } TIMECODE;
   11167 #endif
   11168 
   11169   typedef TIMECODE *PTIMECODE;
   11170 
   11171   typedef struct tagTIMECODE_SAMPLE {
   11172     LONGLONG qwTick;
   11173     TIMECODE timecode;
   11174     DWORD dwUser;
   11175     DWORD dwFlags;
   11176   } TIMECODE_SAMPLE;
   11177 
   11178   typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
   11179 
   11180   extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec;
   11181   extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec;
   11182 #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
   11183 #define __IAMTimecodeReader_INTERFACE_DEFINED__
   11184   EXTERN_C const IID IID_IAMTimecodeReader;
   11185 #if defined(__cplusplus) && !defined(CINTERFACE)
   11186   struct IAMTimecodeReader : public IUnknown {
   11187   public:
   11188     virtual HRESULT WINAPI GetTCRMode(LONG Param,LONG *pValue) = 0;
   11189     virtual HRESULT WINAPI SetTCRMode(LONG Param,LONG Value) = 0;
   11190     virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0;
   11191     virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0;
   11192     virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   11193   };
   11194 #else
   11195   typedef struct IAMTimecodeReaderVtbl {
   11196     BEGIN_INTERFACE
   11197       HRESULT (WINAPI *QueryInterface)(IAMTimecodeReader *This,REFIID riid,void **ppvObject);
   11198       ULONG (WINAPI *AddRef)(IAMTimecodeReader *This);
   11199       ULONG (WINAPI *Release)(IAMTimecodeReader *This);
   11200       HRESULT (WINAPI *GetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG *pValue);
   11201       HRESULT (WINAPI *SetTCRMode)(IAMTimecodeReader *This,LONG Param,LONG Value);
   11202       HRESULT (WINAPI *put_VITCLine)(IAMTimecodeReader *This,LONG Line);
   11203       HRESULT (WINAPI *get_VITCLine)(IAMTimecodeReader *This,LONG *pLine);
   11204       HRESULT (WINAPI *GetTimecode)(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
   11205     END_INTERFACE
   11206   } IAMTimecodeReaderVtbl;
   11207   struct IAMTimecodeReader {
   11208     CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
   11209   };
   11210 #ifdef COBJMACROS
   11211 #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11212 #define IAMTimecodeReader_AddRef(This) (This)->lpVtbl->AddRef(This)
   11213 #define IAMTimecodeReader_Release(This) (This)->lpVtbl->Release(This)
   11214 #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) (This)->lpVtbl->GetTCRMode(This,Param,pValue)
   11215 #define IAMTimecodeReader_SetTCRMode(This,Param,Value) (This)->lpVtbl->SetTCRMode(This,Param,Value)
   11216 #define IAMTimecodeReader_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
   11217 #define IAMTimecodeReader_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
   11218 #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
   11219 #endif
   11220 #endif
   11221   HRESULT WINAPI IAMTimecodeReader_GetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG *pValue);
   11222   void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11223   HRESULT WINAPI IAMTimecodeReader_SetTCRMode_Proxy(IAMTimecodeReader *This,LONG Param,LONG Value);
   11224   void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11225   HRESULT WINAPI IAMTimecodeReader_put_VITCLine_Proxy(IAMTimecodeReader *This,LONG Line);
   11226   void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11227   HRESULT WINAPI IAMTimecodeReader_get_VITCLine_Proxy(IAMTimecodeReader *This,LONG *pLine);
   11228   void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11229   HRESULT WINAPI IAMTimecodeReader_GetTimecode_Proxy(IAMTimecodeReader *This,PTIMECODE_SAMPLE pTimecodeSample);
   11230   void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11231 #endif
   11232 
   11233   typedef IAMTimecodeReader *PIAMTIMECODEREADER;
   11234 
   11235   extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
   11236   extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
   11237 #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
   11238 #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
   11239   EXTERN_C const IID IID_IAMTimecodeGenerator;
   11240 #if defined(__cplusplus) && !defined(CINTERFACE)
   11241   struct IAMTimecodeGenerator : public IUnknown {
   11242   public:
   11243     virtual HRESULT WINAPI GetTCGMode(LONG Param,LONG *pValue) = 0;
   11244     virtual HRESULT WINAPI SetTCGMode(LONG Param,LONG Value) = 0;
   11245     virtual HRESULT WINAPI put_VITCLine(LONG Line) = 0;
   11246     virtual HRESULT WINAPI get_VITCLine(LONG *pLine) = 0;
   11247     virtual HRESULT WINAPI SetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   11248     virtual HRESULT WINAPI GetTimecode(PTIMECODE_SAMPLE pTimecodeSample) = 0;
   11249   };
   11250 #else
   11251   typedef struct IAMTimecodeGeneratorVtbl {
   11252     BEGIN_INTERFACE
   11253       HRESULT (WINAPI *QueryInterface)(IAMTimecodeGenerator *This,REFIID riid,void **ppvObject);
   11254       ULONG (WINAPI *AddRef)(IAMTimecodeGenerator *This);
   11255       ULONG (WINAPI *Release)(IAMTimecodeGenerator *This);
   11256       HRESULT (WINAPI *GetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG *pValue);
   11257       HRESULT (WINAPI *SetTCGMode)(IAMTimecodeGenerator *This,LONG Param,LONG Value);
   11258       HRESULT (WINAPI *put_VITCLine)(IAMTimecodeGenerator *This,LONG Line);
   11259       HRESULT (WINAPI *get_VITCLine)(IAMTimecodeGenerator *This,LONG *pLine);
   11260       HRESULT (WINAPI *SetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   11261       HRESULT (WINAPI *GetTimecode)(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   11262     END_INTERFACE
   11263   } IAMTimecodeGeneratorVtbl;
   11264   struct IAMTimecodeGenerator {
   11265     CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
   11266   };
   11267 #ifdef COBJMACROS
   11268 #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11269 #define IAMTimecodeGenerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   11270 #define IAMTimecodeGenerator_Release(This) (This)->lpVtbl->Release(This)
   11271 #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) (This)->lpVtbl->GetTCGMode(This,Param,pValue)
   11272 #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) (This)->lpVtbl->SetTCGMode(This,Param,Value)
   11273 #define IAMTimecodeGenerator_put_VITCLine(This,Line) (This)->lpVtbl->put_VITCLine(This,Line)
   11274 #define IAMTimecodeGenerator_get_VITCLine(This,pLine) (This)->lpVtbl->get_VITCLine(This,pLine)
   11275 #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) (This)->lpVtbl->SetTimecode(This,pTimecodeSample)
   11276 #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) (This)->lpVtbl->GetTimecode(This,pTimecodeSample)
   11277 #endif
   11278 #endif
   11279   HRESULT WINAPI IAMTimecodeGenerator_GetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG *pValue);
   11280   void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11281   HRESULT WINAPI IAMTimecodeGenerator_SetTCGMode_Proxy(IAMTimecodeGenerator *This,LONG Param,LONG Value);
   11282   void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11283   HRESULT WINAPI IAMTimecodeGenerator_put_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG Line);
   11284   void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11285   HRESULT WINAPI IAMTimecodeGenerator_get_VITCLine_Proxy(IAMTimecodeGenerator *This,LONG *pLine);
   11286   void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11287   HRESULT WINAPI IAMTimecodeGenerator_SetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   11288   void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11289   HRESULT WINAPI IAMTimecodeGenerator_GetTimecode_Proxy(IAMTimecodeGenerator *This,PTIMECODE_SAMPLE pTimecodeSample);
   11290   void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11291 #endif
   11292 
   11293   typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
   11294 
   11295   extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
   11296   extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
   11297 #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
   11298 #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
   11299   EXTERN_C const IID IID_IAMTimecodeDisplay;
   11300 #if defined(__cplusplus) && !defined(CINTERFACE)
   11301   struct IAMTimecodeDisplay : public IUnknown {
   11302   public:
   11303     virtual HRESULT WINAPI GetTCDisplayEnable(LONG *pState) = 0;
   11304     virtual HRESULT WINAPI SetTCDisplayEnable(LONG State) = 0;
   11305     virtual HRESULT WINAPI GetTCDisplay(LONG Param,LONG *pValue) = 0;
   11306     virtual HRESULT WINAPI SetTCDisplay(LONG Param,LONG Value) = 0;
   11307   };
   11308 #else
   11309   typedef struct IAMTimecodeDisplayVtbl {
   11310     BEGIN_INTERFACE
   11311       HRESULT (WINAPI *QueryInterface)(IAMTimecodeDisplay *This,REFIID riid,void **ppvObject);
   11312       ULONG (WINAPI *AddRef)(IAMTimecodeDisplay *This);
   11313       ULONG (WINAPI *Release)(IAMTimecodeDisplay *This);
   11314       HRESULT (WINAPI *GetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG *pState);
   11315       HRESULT (WINAPI *SetTCDisplayEnable)(IAMTimecodeDisplay *This,LONG State);
   11316       HRESULT (WINAPI *GetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG *pValue);
   11317       HRESULT (WINAPI *SetTCDisplay)(IAMTimecodeDisplay *This,LONG Param,LONG Value);
   11318     END_INTERFACE
   11319   } IAMTimecodeDisplayVtbl;
   11320   struct IAMTimecodeDisplay {
   11321     CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
   11322   };
   11323 #ifdef COBJMACROS
   11324 #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11325 #define IAMTimecodeDisplay_AddRef(This) (This)->lpVtbl->AddRef(This)
   11326 #define IAMTimecodeDisplay_Release(This) (This)->lpVtbl->Release(This)
   11327 #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) (This)->lpVtbl->GetTCDisplayEnable(This,pState)
   11328 #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) (This)->lpVtbl->SetTCDisplayEnable(This,State)
   11329 #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) (This)->lpVtbl->GetTCDisplay(This,Param,pValue)
   11330 #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) (This)->lpVtbl->SetTCDisplay(This,Param,Value)
   11331 #endif
   11332 #endif
   11333   HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG *pState);
   11334   void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11335   HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(IAMTimecodeDisplay *This,LONG State);
   11336   void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11337   HRESULT WINAPI IAMTimecodeDisplay_GetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG *pValue);
   11338   void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11339   HRESULT WINAPI IAMTimecodeDisplay_SetTCDisplay_Proxy(IAMTimecodeDisplay *This,LONG Param,LONG Value);
   11340   void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11341 #endif
   11342 
   11343   typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
   11344 
   11345   extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec;
   11346   extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec;
   11347 #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
   11348 #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
   11349   EXTERN_C const IID IID_IAMDevMemoryAllocator;
   11350 #if defined(__cplusplus) && !defined(CINTERFACE)
   11351   struct IAMDevMemoryAllocator : public IUnknown {
   11352   public:
   11353     virtual HRESULT WINAPI GetInfo(DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk) = 0;
   11354     virtual HRESULT WINAPI CheckMemory(const BYTE *pBuffer) = 0;
   11355     virtual HRESULT WINAPI Alloc(BYTE **ppBuffer,DWORD *pdwcbBuffer) = 0;
   11356     virtual HRESULT WINAPI Free(BYTE *pBuffer) = 0;
   11357     virtual HRESULT WINAPI GetDevMemoryObject(IUnknown **ppUnkInnner,IUnknown *pUnkOuter) = 0;
   11358   };
   11359 #else
   11360   typedef struct IAMDevMemoryAllocatorVtbl {
   11361     BEGIN_INTERFACE
   11362       HRESULT (WINAPI *QueryInterface)(IAMDevMemoryAllocator *This,REFIID riid,void **ppvObject);
   11363       ULONG (WINAPI *AddRef)(IAMDevMemoryAllocator *This);
   11364       ULONG (WINAPI *Release)(IAMDevMemoryAllocator *This);
   11365       HRESULT (WINAPI *GetInfo)(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
   11366       HRESULT (WINAPI *CheckMemory)(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
   11367       HRESULT (WINAPI *Alloc)(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
   11368       HRESULT (WINAPI *Free)(IAMDevMemoryAllocator *This,BYTE *pBuffer);
   11369       HRESULT (WINAPI *GetDevMemoryObject)(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
   11370     END_INTERFACE
   11371   } IAMDevMemoryAllocatorVtbl;
   11372   struct IAMDevMemoryAllocator {
   11373     CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
   11374   };
   11375 #ifdef COBJMACROS
   11376 #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11377 #define IAMDevMemoryAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   11378 #define IAMDevMemoryAllocator_Release(This) (This)->lpVtbl->Release(This)
   11379 #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) (This)->lpVtbl->GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
   11380 #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) (This)->lpVtbl->CheckMemory(This,pBuffer)
   11381 #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) (This)->lpVtbl->Alloc(This,ppBuffer,pdwcbBuffer)
   11382 #define IAMDevMemoryAllocator_Free(This,pBuffer) (This)->lpVtbl->Free(This,pBuffer)
   11383 #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) (This)->lpVtbl->GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
   11384 #endif
   11385 #endif
   11386   HRESULT WINAPI IAMDevMemoryAllocator_GetInfo_Proxy(IAMDevMemoryAllocator *This,DWORD *pdwcbTotalFree,DWORD *pdwcbLargestFree,DWORD *pdwcbTotalMemory,DWORD *pdwcbMinimumChunk);
   11387   void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11388   HRESULT WINAPI IAMDevMemoryAllocator_CheckMemory_Proxy(IAMDevMemoryAllocator *This,const BYTE *pBuffer);
   11389   void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11390   HRESULT WINAPI IAMDevMemoryAllocator_Alloc_Proxy(IAMDevMemoryAllocator *This,BYTE **ppBuffer,DWORD *pdwcbBuffer);
   11391   void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11392   HRESULT WINAPI IAMDevMemoryAllocator_Free_Proxy(IAMDevMemoryAllocator *This,BYTE *pBuffer);
   11393   void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11394   HRESULT WINAPI IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(IAMDevMemoryAllocator *This,IUnknown **ppUnkInnner,IUnknown *pUnkOuter);
   11395   void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11396 #endif
   11397 
   11398   typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
   11399 
   11400   extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
   11401   extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
   11402 #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
   11403 #define __IAMDevMemoryControl_INTERFACE_DEFINED__
   11404   EXTERN_C const IID IID_IAMDevMemoryControl;
   11405 #if defined(__cplusplus) && !defined(CINTERFACE)
   11406   struct IAMDevMemoryControl : public IUnknown {
   11407   public:
   11408     virtual HRESULT WINAPI QueryWriteSync(void) = 0;
   11409     virtual HRESULT WINAPI WriteSync(void) = 0;
   11410     virtual HRESULT WINAPI GetDevId(DWORD *pdwDevId) = 0;
   11411   };
   11412 #else
   11413   typedef struct IAMDevMemoryControlVtbl {
   11414     BEGIN_INTERFACE
   11415       HRESULT (WINAPI *QueryInterface)(IAMDevMemoryControl *This,REFIID riid,void **ppvObject);
   11416       ULONG (WINAPI *AddRef)(IAMDevMemoryControl *This);
   11417       ULONG (WINAPI *Release)(IAMDevMemoryControl *This);
   11418       HRESULT (WINAPI *QueryWriteSync)(IAMDevMemoryControl *This);
   11419       HRESULT (WINAPI *WriteSync)(IAMDevMemoryControl *This);
   11420       HRESULT (WINAPI *GetDevId)(IAMDevMemoryControl *This,DWORD *pdwDevId);
   11421     END_INTERFACE
   11422   } IAMDevMemoryControlVtbl;
   11423   struct IAMDevMemoryControl {
   11424     CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
   11425   };
   11426 #ifdef COBJMACROS
   11427 #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11428 #define IAMDevMemoryControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   11429 #define IAMDevMemoryControl_Release(This) (This)->lpVtbl->Release(This)
   11430 #define IAMDevMemoryControl_QueryWriteSync(This) (This)->lpVtbl->QueryWriteSync(This)
   11431 #define IAMDevMemoryControl_WriteSync(This) (This)->lpVtbl->WriteSync(This)
   11432 #define IAMDevMemoryControl_GetDevId(This,pdwDevId) (This)->lpVtbl->GetDevId(This,pdwDevId)
   11433 #endif
   11434 #endif
   11435   HRESULT WINAPI IAMDevMemoryControl_QueryWriteSync_Proxy(IAMDevMemoryControl *This);
   11436   void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11437   HRESULT WINAPI IAMDevMemoryControl_WriteSync_Proxy(IAMDevMemoryControl *This);
   11438   void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11439   HRESULT WINAPI IAMDevMemoryControl_GetDevId_Proxy(IAMDevMemoryControl *This,DWORD *pdwDevId);
   11440   void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11441 #endif
   11442 
   11443   typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
   11444 
   11445   enum _AMSTREAMSELECTINFOFLAGS {
   11446     AMSTREAMSELECTINFO_ENABLED = 0x1,AMSTREAMSELECTINFO_EXCLUSIVE = 0x2
   11447   };
   11448 
   11449   enum _AMSTREAMSELECTENABLEFLAGS {
   11450     AMSTREAMSELECTENABLE_ENABLE = 0x1,AMSTREAMSELECTENABLE_ENABLEALL = 0x2
   11451   };
   11452 
   11453   extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;
   11454   extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;
   11455 #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
   11456 #define __IAMStreamSelect_INTERFACE_DEFINED__
   11457   EXTERN_C const IID IID_IAMStreamSelect;
   11458 #if defined(__cplusplus) && !defined(CINTERFACE)
   11459   struct IAMStreamSelect : public IUnknown {
   11460   public:
   11461     virtual HRESULT WINAPI Count(DWORD *pcStreams) = 0;
   11462     virtual HRESULT WINAPI Info(LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk) = 0;
   11463     virtual HRESULT WINAPI Enable(LONG lIndex,DWORD dwFlags) = 0;
   11464   };
   11465 #else
   11466   typedef struct IAMStreamSelectVtbl {
   11467     BEGIN_INTERFACE
   11468       HRESULT (WINAPI *QueryInterface)(IAMStreamSelect *This,REFIID riid,void **ppvObject);
   11469       ULONG (WINAPI *AddRef)(IAMStreamSelect *This);
   11470       ULONG (WINAPI *Release)(IAMStreamSelect *This);
   11471       HRESULT (WINAPI *Count)(IAMStreamSelect *This,DWORD *pcStreams);
   11472       HRESULT (WINAPI *Info)(IAMStreamSelect *This,LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk);
   11473       HRESULT (WINAPI *Enable)(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags);
   11474     END_INTERFACE
   11475   } IAMStreamSelectVtbl;
   11476   struct IAMStreamSelect {
   11477     CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
   11478   };
   11479 #ifdef COBJMACROS
   11480 #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11481 #define IAMStreamSelect_AddRef(This) (This)->lpVtbl->AddRef(This)
   11482 #define IAMStreamSelect_Release(This) (This)->lpVtbl->Release(This)
   11483 #define IAMStreamSelect_Count(This,pcStreams) (This)->lpVtbl->Count(This,pcStreams)
   11484 #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) (This)->lpVtbl->Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
   11485 #define IAMStreamSelect_Enable(This,lIndex,dwFlags) (This)->lpVtbl->Enable(This,lIndex,dwFlags)
   11486 #endif
   11487 #endif
   11488   HRESULT WINAPI IAMStreamSelect_Count_Proxy(IAMStreamSelect *This,DWORD *pcStreams);
   11489   void __RPC_STUB IAMStreamSelect_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11490   HRESULT WINAPI IAMStreamSelect_Info_Proxy(IAMStreamSelect *This,LONG lIndex,AM_MEDIA_TYPE **ppmt,DWORD *pdwFlags,LCID *plcid,DWORD *pdwGroup,WCHAR **ppszName,IUnknown **ppObject,IUnknown **ppUnk);
   11491   void __RPC_STUB IAMStreamSelect_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11492   HRESULT WINAPI IAMStreamSelect_Enable_Proxy(IAMStreamSelect *This,LONG lIndex,DWORD dwFlags);
   11493   void __RPC_STUB IAMStreamSelect_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11494 #endif
   11495 
   11496   typedef IAMStreamSelect *PAMSTREAMSELECT;
   11497 
   11498   enum _AMRESCTL_RESERVEFLAGS {
   11499     AMRESCTL_RESERVEFLAGS_RESERVE = 0,AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
   11500   };
   11501 
   11502   extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
   11503   extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
   11504 #ifndef __IAMResourceControl_INTERFACE_DEFINED__
   11505 #define __IAMResourceControl_INTERFACE_DEFINED__
   11506   EXTERN_C const IID IID_IAMResourceControl;
   11507 #if defined(__cplusplus) && !defined(CINTERFACE)
   11508   struct IAMResourceControl : public IUnknown {
   11509   public:
   11510     virtual HRESULT WINAPI Reserve(DWORD dwFlags,PVOID pvReserved) = 0;
   11511   };
   11512 #else
   11513   typedef struct IAMResourceControlVtbl {
   11514     BEGIN_INTERFACE
   11515       HRESULT (WINAPI *QueryInterface)(IAMResourceControl *This,REFIID riid,void **ppvObject);
   11516       ULONG (WINAPI *AddRef)(IAMResourceControl *This);
   11517       ULONG (WINAPI *Release)(IAMResourceControl *This);
   11518       HRESULT (WINAPI *Reserve)(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
   11519     END_INTERFACE
   11520   } IAMResourceControlVtbl;
   11521   struct IAMResourceControl {
   11522     CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
   11523   };
   11524 #ifdef COBJMACROS
   11525 #define IAMResourceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11526 #define IAMResourceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   11527 #define IAMResourceControl_Release(This) (This)->lpVtbl->Release(This)
   11528 #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) (This)->lpVtbl->Reserve(This,dwFlags,pvReserved)
   11529 #endif
   11530 #endif
   11531   HRESULT WINAPI IAMResourceControl_Reserve_Proxy(IAMResourceControl *This,DWORD dwFlags,PVOID pvReserved);
   11532   void __RPC_STUB IAMResourceControl_Reserve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11533 #endif
   11534 
   11535 #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
   11536 #define __IAMClockAdjust_INTERFACE_DEFINED__
   11537   EXTERN_C const IID IID_IAMClockAdjust;
   11538 #if defined(__cplusplus) && !defined(CINTERFACE)
   11539   struct IAMClockAdjust : public IUnknown {
   11540   public:
   11541     virtual HRESULT WINAPI SetClockDelta(REFERENCE_TIME rtDelta) = 0;
   11542   };
   11543 #else
   11544   typedef struct IAMClockAdjustVtbl {
   11545     BEGIN_INTERFACE
   11546       HRESULT (WINAPI *QueryInterface)(IAMClockAdjust *This,REFIID riid,void **ppvObject);
   11547       ULONG (WINAPI *AddRef)(IAMClockAdjust *This);
   11548       ULONG (WINAPI *Release)(IAMClockAdjust *This);
   11549       HRESULT (WINAPI *SetClockDelta)(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
   11550     END_INTERFACE
   11551   } IAMClockAdjustVtbl;
   11552   struct IAMClockAdjust {
   11553     CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
   11554   };
   11555 #ifdef COBJMACROS
   11556 #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11557 #define IAMClockAdjust_AddRef(This) (This)->lpVtbl->AddRef(This)
   11558 #define IAMClockAdjust_Release(This) (This)->lpVtbl->Release(This)
   11559 #define IAMClockAdjust_SetClockDelta(This,rtDelta) (This)->lpVtbl->SetClockDelta(This,rtDelta)
   11560 #endif
   11561 #endif
   11562   HRESULT WINAPI IAMClockAdjust_SetClockDelta_Proxy(IAMClockAdjust *This,REFERENCE_TIME rtDelta);
   11563   void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11564 #endif
   11565 
   11566 #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
   11567 #define __IDrawVideoImage_INTERFACE_DEFINED__
   11568   EXTERN_C const IID IID_IDrawVideoImage;
   11569 #if defined(__cplusplus) && !defined(CINTERFACE)
   11570   struct IDrawVideoImage : public IUnknown {
   11571   public:
   11572     virtual HRESULT WINAPI DrawVideoImageBegin(void) = 0;
   11573     virtual HRESULT WINAPI DrawVideoImageEnd(void) = 0;
   11574     virtual HRESULT WINAPI DrawVideoImageDraw(HDC hdc,LPRECT lprcSrc,LPRECT lprcDst) = 0;
   11575   };
   11576 #else
   11577   typedef struct IDrawVideoImageVtbl {
   11578     BEGIN_INTERFACE
   11579       HRESULT (WINAPI *QueryInterface)(IDrawVideoImage *This,REFIID riid,void **ppvObject);
   11580       ULONG (WINAPI *AddRef)(IDrawVideoImage *This);
   11581       ULONG (WINAPI *Release)(IDrawVideoImage *This);
   11582       HRESULT (WINAPI *DrawVideoImageBegin)(IDrawVideoImage *This);
   11583       HRESULT (WINAPI *DrawVideoImageEnd)(IDrawVideoImage *This);
   11584       HRESULT (WINAPI *DrawVideoImageDraw)(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
   11585     END_INTERFACE
   11586   } IDrawVideoImageVtbl;
   11587   struct IDrawVideoImage {
   11588     CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
   11589   };
   11590 #ifdef COBJMACROS
   11591 #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11592 #define IDrawVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
   11593 #define IDrawVideoImage_Release(This) (This)->lpVtbl->Release(This)
   11594 #define IDrawVideoImage_DrawVideoImageBegin(This) (This)->lpVtbl->DrawVideoImageBegin(This)
   11595 #define IDrawVideoImage_DrawVideoImageEnd(This) (This)->lpVtbl->DrawVideoImageEnd(This)
   11596 #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) (This)->lpVtbl->DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
   11597 #endif
   11598 #endif
   11599   HRESULT WINAPI IDrawVideoImage_DrawVideoImageBegin_Proxy(IDrawVideoImage *This);
   11600   void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11601   HRESULT WINAPI IDrawVideoImage_DrawVideoImageEnd_Proxy(IDrawVideoImage *This);
   11602   void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11603   HRESULT WINAPI IDrawVideoImage_DrawVideoImageDraw_Proxy(IDrawVideoImage *This,HDC hdc,LPRECT lprcSrc,LPRECT lprcDst);
   11604   void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11605 #endif
   11606 
   11607 #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
   11608 #define __IDecimateVideoImage_INTERFACE_DEFINED__
   11609   EXTERN_C const IID IID_IDecimateVideoImage;
   11610 #if defined(__cplusplus) && !defined(CINTERFACE)
   11611   struct IDecimateVideoImage : public IUnknown {
   11612   public:
   11613     virtual HRESULT WINAPI SetDecimationImageSize(LONG lWidth,LONG lHeight) = 0;
   11614     virtual HRESULT WINAPI ResetDecimationImageSize(void) = 0;
   11615   };
   11616 #else
   11617   typedef struct IDecimateVideoImageVtbl {
   11618     BEGIN_INTERFACE
   11619       HRESULT (WINAPI *QueryInterface)(IDecimateVideoImage *This,REFIID riid,void **ppvObject);
   11620       ULONG (WINAPI *AddRef)(IDecimateVideoImage *This);
   11621       ULONG (WINAPI *Release)(IDecimateVideoImage *This);
   11622       HRESULT (WINAPI *SetDecimationImageSize)(IDecimateVideoImage *This,LONG lWidth,LONG lHeight);
   11623       HRESULT (WINAPI *ResetDecimationImageSize)(IDecimateVideoImage *This);
   11624     END_INTERFACE
   11625   } IDecimateVideoImageVtbl;
   11626   struct IDecimateVideoImage {
   11627     CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
   11628   };
   11629 #ifdef COBJMACROS
   11630 #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11631 #define IDecimateVideoImage_AddRef(This) (This)->lpVtbl->AddRef(This)
   11632 #define IDecimateVideoImage_Release(This) (This)->lpVtbl->Release(This)
   11633 #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) (This)->lpVtbl->SetDecimationImageSize(This,lWidth,lHeight)
   11634 #define IDecimateVideoImage_ResetDecimationImageSize(This) (This)->lpVtbl->ResetDecimationImageSize(This)
   11635 #endif
   11636 #endif
   11637   HRESULT WINAPI IDecimateVideoImage_SetDecimationImageSize_Proxy(IDecimateVideoImage *This,LONG lWidth,LONG lHeight);
   11638   void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11639   HRESULT WINAPI IDecimateVideoImage_ResetDecimationImageSize_Proxy(IDecimateVideoImage *This);
   11640   void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11641 #endif
   11642 
   11643   typedef enum _DECIMATION_USAGE {
   11644     DECIMATION_LEGACY = 0,
   11645     DECIMATION_USE_DECODER_ONLY,DECIMATION_USE_VIDEOPORT_ONLY,DECIMATION_USE_OVERLAY_ONLY,
   11646     DECIMATION_DEFAULT
   11647   } DECIMATION_USAGE;
   11648 
   11649   extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
   11650   extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
   11651 #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
   11652 #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
   11653   EXTERN_C const IID IID_IAMVideoDecimationProperties;
   11654 #if defined(__cplusplus) && !defined(CINTERFACE)
   11655   struct IAMVideoDecimationProperties : public IUnknown {
   11656   public:
   11657     virtual HRESULT WINAPI QueryDecimationUsage(DECIMATION_USAGE *lpUsage) = 0;
   11658     virtual HRESULT WINAPI SetDecimationUsage(DECIMATION_USAGE Usage) = 0;
   11659   };
   11660 #else
   11661   typedef struct IAMVideoDecimationPropertiesVtbl {
   11662     BEGIN_INTERFACE
   11663       HRESULT (WINAPI *QueryInterface)(IAMVideoDecimationProperties *This,REFIID riid,void **ppvObject);
   11664       ULONG (WINAPI *AddRef)(IAMVideoDecimationProperties *This);
   11665       ULONG (WINAPI *Release)(IAMVideoDecimationProperties *This);
   11666       HRESULT (WINAPI *QueryDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
   11667       HRESULT (WINAPI *SetDecimationUsage)(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
   11668     END_INTERFACE
   11669   } IAMVideoDecimationPropertiesVtbl;
   11670   struct IAMVideoDecimationProperties {
   11671     CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
   11672   };
   11673 #ifdef COBJMACROS
   11674 #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11675 #define IAMVideoDecimationProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
   11676 #define IAMVideoDecimationProperties_Release(This) (This)->lpVtbl->Release(This)
   11677 #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) (This)->lpVtbl->QueryDecimationUsage(This,lpUsage)
   11678 #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) (This)->lpVtbl->SetDecimationUsage(This,Usage)
   11679 #endif
   11680 #endif
   11681   HRESULT WINAPI IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE *lpUsage);
   11682   void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11683   HRESULT WINAPI IAMVideoDecimationProperties_SetDecimationUsage_Proxy(IAMVideoDecimationProperties *This,DECIMATION_USAGE Usage);
   11684   void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11685 #endif
   11686 
   11687 #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
   11688 #define __IVideoFrameStep_INTERFACE_DEFINED__
   11689   EXTERN_C const IID IID_IVideoFrameStep;
   11690 #if defined(__cplusplus) && !defined(CINTERFACE)
   11691   struct IVideoFrameStep : public IUnknown {
   11692   public:
   11693     virtual HRESULT WINAPI Step(DWORD dwFrames,IUnknown *pStepObject) = 0;
   11694     virtual HRESULT WINAPI CanStep(LONG bMultiple,IUnknown *pStepObject) = 0;
   11695     virtual HRESULT WINAPI CancelStep(void) = 0;
   11696   };
   11697 #else
   11698   typedef struct IVideoFrameStepVtbl {
   11699     BEGIN_INTERFACE
   11700       HRESULT (WINAPI *QueryInterface)(IVideoFrameStep *This,REFIID riid,void **ppvObject);
   11701       ULONG (WINAPI *AddRef)(IVideoFrameStep *This);
   11702       ULONG (WINAPI *Release)(IVideoFrameStep *This);
   11703       HRESULT (WINAPI *Step)(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject);
   11704       HRESULT (WINAPI *CanStep)(IVideoFrameStep *This,LONG bMultiple,IUnknown *pStepObject);
   11705       HRESULT (WINAPI *CancelStep)(IVideoFrameStep *This);
   11706     END_INTERFACE
   11707   } IVideoFrameStepVtbl;
   11708   struct IVideoFrameStep {
   11709     CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
   11710   };
   11711 #ifdef COBJMACROS
   11712 #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11713 #define IVideoFrameStep_AddRef(This) (This)->lpVtbl->AddRef(This)
   11714 #define IVideoFrameStep_Release(This) (This)->lpVtbl->Release(This)
   11715 #define IVideoFrameStep_Step(This,dwFrames,pStepObject) (This)->lpVtbl->Step(This,dwFrames,pStepObject)
   11716 #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject) (This)->lpVtbl->CanStep(This,bMultiple,pStepObject)
   11717 #define IVideoFrameStep_CancelStep(This) (This)->lpVtbl->CancelStep(This)
   11718 #endif
   11719 #endif
   11720   HRESULT WINAPI IVideoFrameStep_Step_Proxy(IVideoFrameStep *This,DWORD dwFrames,IUnknown *pStepObject);
   11721   void __RPC_STUB IVideoFrameStep_Step_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11722   HRESULT WINAPI IVideoFrameStep_CanStep_Proxy(IVideoFrameStep *This,LONG bMultiple,IUnknown *pStepObject);
   11723   void __RPC_STUB IVideoFrameStep_CanStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11724   HRESULT WINAPI IVideoFrameStep_CancelStep_Proxy(IVideoFrameStep *This);
   11725   void __RPC_STUB IVideoFrameStep_CancelStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11726 #endif
   11727 
   11728   enum _AM_PUSHSOURCE_FLAGS {
   11729     AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4,
   11730     AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000
   11731   };
   11732 
   11733   extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec;
   11734   extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec;
   11735 #ifndef __IAMLatency_INTERFACE_DEFINED__
   11736 #define __IAMLatency_INTERFACE_DEFINED__
   11737   EXTERN_C const IID IID_IAMLatency;
   11738 #if defined(__cplusplus) && !defined(CINTERFACE)
   11739   struct IAMLatency : public IUnknown {
   11740   public:
   11741     virtual HRESULT WINAPI GetLatency(REFERENCE_TIME *prtLatency) = 0;
   11742   };
   11743 #else
   11744   typedef struct IAMLatencyVtbl {
   11745     BEGIN_INTERFACE
   11746       HRESULT (WINAPI *QueryInterface)(IAMLatency *This,REFIID riid,void **ppvObject);
   11747       ULONG (WINAPI *AddRef)(IAMLatency *This);
   11748       ULONG (WINAPI *Release)(IAMLatency *This);
   11749       HRESULT (WINAPI *GetLatency)(IAMLatency *This,REFERENCE_TIME *prtLatency);
   11750     END_INTERFACE
   11751   } IAMLatencyVtbl;
   11752   struct IAMLatency {
   11753     CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
   11754   };
   11755 #ifdef COBJMACROS
   11756 #define IAMLatency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11757 #define IAMLatency_AddRef(This) (This)->lpVtbl->AddRef(This)
   11758 #define IAMLatency_Release(This) (This)->lpVtbl->Release(This)
   11759 #define IAMLatency_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency)
   11760 #endif
   11761 #endif
   11762   HRESULT WINAPI IAMLatency_GetLatency_Proxy(IAMLatency *This,REFERENCE_TIME *prtLatency);
   11763   void __RPC_STUB IAMLatency_GetLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11764 #endif
   11765 
   11766 #ifndef __IAMPushSource_INTERFACE_DEFINED__
   11767 #define __IAMPushSource_INTERFACE_DEFINED__
   11768   EXTERN_C const IID IID_IAMPushSource;
   11769 #if defined(__cplusplus) && !defined(CINTERFACE)
   11770   struct IAMPushSource : public IAMLatency {
   11771   public:
   11772     virtual HRESULT WINAPI GetPushSourceFlags(ULONG *pFlags) = 0;
   11773     virtual HRESULT WINAPI SetPushSourceFlags(ULONG Flags) = 0;
   11774     virtual HRESULT WINAPI SetStreamOffset(REFERENCE_TIME rtOffset) = 0;
   11775     virtual HRESULT WINAPI GetStreamOffset(REFERENCE_TIME *prtOffset) = 0;
   11776     virtual HRESULT WINAPI GetMaxStreamOffset(REFERENCE_TIME *prtMaxOffset) = 0;
   11777     virtual HRESULT WINAPI SetMaxStreamOffset(REFERENCE_TIME rtMaxOffset) = 0;
   11778   };
   11779 #else
   11780   typedef struct IAMPushSourceVtbl {
   11781     BEGIN_INTERFACE
   11782       HRESULT (WINAPI *QueryInterface)(IAMPushSource *This,REFIID riid,void **ppvObject);
   11783       ULONG (WINAPI *AddRef)(IAMPushSource *This);
   11784       ULONG (WINAPI *Release)(IAMPushSource *This);
   11785       HRESULT (WINAPI *GetLatency)(IAMPushSource *This,REFERENCE_TIME *prtLatency);
   11786       HRESULT (WINAPI *GetPushSourceFlags)(IAMPushSource *This,ULONG *pFlags);
   11787       HRESULT (WINAPI *SetPushSourceFlags)(IAMPushSource *This,ULONG Flags);
   11788       HRESULT (WINAPI *SetStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtOffset);
   11789       HRESULT (WINAPI *GetStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtOffset);
   11790       HRESULT (WINAPI *GetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset);
   11791       HRESULT (WINAPI *SetMaxStreamOffset)(IAMPushSource *This,REFERENCE_TIME rtMaxOffset);
   11792     END_INTERFACE
   11793   } IAMPushSourceVtbl;
   11794   struct IAMPushSource {
   11795     CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
   11796   };
   11797 #ifdef COBJMACROS
   11798 #define IAMPushSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11799 #define IAMPushSource_AddRef(This) (This)->lpVtbl->AddRef(This)
   11800 #define IAMPushSource_Release(This) (This)->lpVtbl->Release(This)
   11801 #define IAMPushSource_GetLatency(This,prtLatency) (This)->lpVtbl->GetLatency(This,prtLatency)
   11802 #define IAMPushSource_GetPushSourceFlags(This,pFlags) (This)->lpVtbl->GetPushSourceFlags(This,pFlags)
   11803 #define IAMPushSource_SetPushSourceFlags(This,Flags) (This)->lpVtbl->SetPushSourceFlags(This,Flags)
   11804 #define IAMPushSource_SetStreamOffset(This,rtOffset) (This)->lpVtbl->SetStreamOffset(This,rtOffset)
   11805 #define IAMPushSource_GetStreamOffset(This,prtOffset) (This)->lpVtbl->GetStreamOffset(This,prtOffset)
   11806 #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset) (This)->lpVtbl->GetMaxStreamOffset(This,prtMaxOffset)
   11807 #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset) (This)->lpVtbl->SetMaxStreamOffset(This,rtMaxOffset)
   11808 #endif
   11809 #endif
   11810   HRESULT WINAPI IAMPushSource_GetPushSourceFlags_Proxy(IAMPushSource *This,ULONG *pFlags);
   11811   void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11812   HRESULT WINAPI IAMPushSource_SetPushSourceFlags_Proxy(IAMPushSource *This,ULONG Flags);
   11813   void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11814   HRESULT WINAPI IAMPushSource_SetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtOffset);
   11815   void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11816   HRESULT WINAPI IAMPushSource_GetStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtOffset);
   11817   void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11818   HRESULT WINAPI IAMPushSource_GetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME *prtMaxOffset);
   11819   void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11820   HRESULT WINAPI IAMPushSource_SetMaxStreamOffset_Proxy(IAMPushSource *This,REFERENCE_TIME rtMaxOffset);
   11821   void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11822 #endif
   11823 
   11824 #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
   11825 #define __IAMDeviceRemoval_INTERFACE_DEFINED__
   11826   EXTERN_C const IID IID_IAMDeviceRemoval;
   11827 #if defined(__cplusplus) && !defined(CINTERFACE)
   11828   struct IAMDeviceRemoval : public IUnknown {
   11829   public:
   11830     virtual HRESULT WINAPI DeviceInfo(CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink) = 0;
   11831     virtual HRESULT WINAPI Reassociate(void) = 0;
   11832     virtual HRESULT WINAPI Disassociate(void) = 0;
   11833   };
   11834 #else
   11835   typedef struct IAMDeviceRemovalVtbl {
   11836     BEGIN_INTERFACE
   11837       HRESULT (WINAPI *QueryInterface)(IAMDeviceRemoval *This,REFIID riid,void **ppvObject);
   11838       ULONG (WINAPI *AddRef)(IAMDeviceRemoval *This);
   11839       ULONG (WINAPI *Release)(IAMDeviceRemoval *This);
   11840       HRESULT (WINAPI *DeviceInfo)(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
   11841       HRESULT (WINAPI *Reassociate)(IAMDeviceRemoval *This);
   11842       HRESULT (WINAPI *Disassociate)(IAMDeviceRemoval *This);
   11843     END_INTERFACE
   11844   } IAMDeviceRemovalVtbl;
   11845   struct IAMDeviceRemoval {
   11846     CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
   11847   };
   11848 #ifdef COBJMACROS
   11849 #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11850 #define IAMDeviceRemoval_AddRef(This) (This)->lpVtbl->AddRef(This)
   11851 #define IAMDeviceRemoval_Release(This) (This)->lpVtbl->Release(This)
   11852 #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) (This)->lpVtbl->DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
   11853 #define IAMDeviceRemoval_Reassociate(This) (This)->lpVtbl->Reassociate(This)
   11854 #define IAMDeviceRemoval_Disassociate(This) (This)->lpVtbl->Disassociate(This)
   11855 #endif
   11856 #endif
   11857   HRESULT WINAPI IAMDeviceRemoval_DeviceInfo_Proxy(IAMDeviceRemoval *This,CLSID *pclsidInterfaceClass,WCHAR **pwszSymbolicLink);
   11858   void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11859   HRESULT WINAPI IAMDeviceRemoval_Reassociate_Proxy(IAMDeviceRemoval *This);
   11860   void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11861   HRESULT WINAPI IAMDeviceRemoval_Disassociate_Proxy(IAMDeviceRemoval *This);
   11862   void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11863 #endif
   11864 
   11865   typedef struct __MIDL___MIDL_itf_strmif_0355_0001 {
   11866     DWORD dwDVAAuxSrc;
   11867     DWORD dwDVAAuxCtl;
   11868     DWORD dwDVAAuxSrc1;
   11869     DWORD dwDVAAuxCtl1;
   11870     DWORD dwDVVAuxSrc;
   11871     DWORD dwDVVAuxCtl;
   11872     DWORD dwDVReserved[2];
   11873   } DVINFO;
   11874 
   11875   typedef struct __MIDL___MIDL_itf_strmif_0355_0001 *PDVINFO;
   11876 
   11877   enum _DVENCODERRESOLUTION {
   11878     DVENCODERRESOLUTION_720x480 = 2012,DVENCODERRESOLUTION_360x240 = 2013,DVENCODERRESOLUTION_180x120 = 2014,DVENCODERRESOLUTION_88x60 = 2015
   11879   };
   11880 
   11881   enum _DVENCODERVIDEOFORMAT {
   11882     DVENCODERVIDEOFORMAT_NTSC = 2000,DVENCODERVIDEOFORMAT_PAL = 2001
   11883   };
   11884 
   11885   enum _DVENCODERFORMAT {
   11886     DVENCODERFORMAT_DVSD = 2007,DVENCODERFORMAT_DVHD = 2008,DVENCODERFORMAT_DVSL = 2009
   11887   };
   11888 
   11889   extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
   11890   extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
   11891 #ifndef __IDVEnc_INTERFACE_DEFINED__
   11892 #define __IDVEnc_INTERFACE_DEFINED__
   11893   EXTERN_C const IID IID_IDVEnc;
   11894 #if defined(__cplusplus) && !defined(CINTERFACE)
   11895   struct IDVEnc : public IUnknown {
   11896   public:
   11897     virtual HRESULT WINAPI get_IFormatResolution(int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
   11898     virtual HRESULT WINAPI put_IFormatResolution(int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo) = 0;
   11899   };
   11900 #else
   11901   typedef struct IDVEncVtbl {
   11902     BEGIN_INTERFACE
   11903       HRESULT (WINAPI *QueryInterface)(IDVEnc *This,REFIID riid,void **ppvObject);
   11904       ULONG (WINAPI *AddRef)(IDVEnc *This);
   11905       ULONG (WINAPI *Release)(IDVEnc *This);
   11906       HRESULT (WINAPI *get_IFormatResolution)(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   11907       HRESULT (WINAPI *put_IFormatResolution)(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   11908     END_INTERFACE
   11909   } IDVEncVtbl;
   11910   struct IDVEnc {
   11911     CONST_VTBL struct IDVEncVtbl *lpVtbl;
   11912   };
   11913 #ifdef COBJMACROS
   11914 #define IDVEnc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11915 #define IDVEnc_AddRef(This) (This)->lpVtbl->AddRef(This)
   11916 #define IDVEnc_Release(This) (This)->lpVtbl->Release(This)
   11917 #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
   11918 #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) (This)->lpVtbl->put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
   11919 #endif
   11920 #endif
   11921   HRESULT WINAPI IDVEnc_get_IFormatResolution_Proxy(IDVEnc *This,int *VideoFormat,int *DVFormat,int *Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   11922   void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11923   HRESULT WINAPI IDVEnc_put_IFormatResolution_Proxy(IDVEnc *This,int VideoFormat,int DVFormat,int Resolution,BYTE fDVInfo,DVINFO *sDVInfo);
   11924   void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11925 #endif
   11926 
   11927   enum _DVDECODERRESOLUTION {
   11928     DVDECODERRESOLUTION_720x480 = 1000,DVDECODERRESOLUTION_360x240 = 1001,DVDECODERRESOLUTION_180x120 = 1002,DVDECODERRESOLUTION_88x60 = 1003
   11929   };
   11930 
   11931   enum _DVRESOLUTION {
   11932     DVRESOLUTION_FULL = 1000,DVRESOLUTION_HALF = 1001,DVRESOLUTION_QUARTER = 1002,DVRESOLUTION_DC = 1003
   11933   };
   11934 
   11935   extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec;
   11936   extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec;
   11937 #ifndef __IIPDVDec_INTERFACE_DEFINED__
   11938 #define __IIPDVDec_INTERFACE_DEFINED__
   11939   EXTERN_C const IID IID_IIPDVDec;
   11940 #if defined(__cplusplus) && !defined(CINTERFACE)
   11941   struct IIPDVDec : public IUnknown {
   11942   public:
   11943     virtual HRESULT WINAPI get_IPDisplay(int *displayPix) = 0;
   11944     virtual HRESULT WINAPI put_IPDisplay(int displayPix) = 0;
   11945   };
   11946 #else
   11947   typedef struct IIPDVDecVtbl {
   11948     BEGIN_INTERFACE
   11949       HRESULT (WINAPI *QueryInterface)(IIPDVDec *This,REFIID riid,void **ppvObject);
   11950       ULONG (WINAPI *AddRef)(IIPDVDec *This);
   11951       ULONG (WINAPI *Release)(IIPDVDec *This);
   11952       HRESULT (WINAPI *get_IPDisplay)(IIPDVDec *This,int *displayPix);
   11953       HRESULT (WINAPI *put_IPDisplay)(IIPDVDec *This,int displayPix);
   11954     END_INTERFACE
   11955   } IIPDVDecVtbl;
   11956   struct IIPDVDec {
   11957     CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
   11958   };
   11959 #ifdef COBJMACROS
   11960 #define IIPDVDec_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11961 #define IIPDVDec_AddRef(This) (This)->lpVtbl->AddRef(This)
   11962 #define IIPDVDec_Release(This) (This)->lpVtbl->Release(This)
   11963 #define IIPDVDec_get_IPDisplay(This,displayPix) (This)->lpVtbl->get_IPDisplay(This,displayPix)
   11964 #define IIPDVDec_put_IPDisplay(This,displayPix) (This)->lpVtbl->put_IPDisplay(This,displayPix)
   11965 #endif
   11966 #endif
   11967   HRESULT WINAPI IIPDVDec_get_IPDisplay_Proxy(IIPDVDec *This,int *displayPix);
   11968   void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11969   HRESULT WINAPI IIPDVDec_put_IPDisplay_Proxy(IIPDVDec *This,int displayPix);
   11970   void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   11971 #endif
   11972 
   11973 #ifndef __IDVRGB219_INTERFACE_DEFINED__
   11974 #define __IDVRGB219_INTERFACE_DEFINED__
   11975   EXTERN_C const IID IID_IDVRGB219;
   11976 #if defined(__cplusplus) && !defined(CINTERFACE)
   11977   struct IDVRGB219 : public IUnknown {
   11978   public:
   11979     virtual HRESULT WINAPI SetRGB219(WINBOOL bState) = 0;
   11980   };
   11981 #else
   11982   typedef struct IDVRGB219Vtbl {
   11983     BEGIN_INTERFACE
   11984       HRESULT (WINAPI *QueryInterface)(IDVRGB219 *This,REFIID riid,void **ppvObject);
   11985       ULONG (WINAPI *AddRef)(IDVRGB219 *This);
   11986       ULONG (WINAPI *Release)(IDVRGB219 *This);
   11987       HRESULT (WINAPI *SetRGB219)(IDVRGB219 *This,WINBOOL bState);
   11988     END_INTERFACE
   11989   } IDVRGB219Vtbl;
   11990   struct IDVRGB219 {
   11991     CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
   11992   };
   11993 #ifdef COBJMACROS
   11994 #define IDVRGB219_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11995 #define IDVRGB219_AddRef(This) (This)->lpVtbl->AddRef(This)
   11996 #define IDVRGB219_Release(This) (This)->lpVtbl->Release(This)
   11997 #define IDVRGB219_SetRGB219(This,bState) (This)->lpVtbl->SetRGB219(This,bState)
   11998 #endif
   11999 #endif
   12000   HRESULT WINAPI IDVRGB219_SetRGB219_Proxy(IDVRGB219 *This,WINBOOL bState);
   12001   void __RPC_STUB IDVRGB219_SetRGB219_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12002 #endif
   12003 
   12004 #ifndef __IDVSplitter_INTERFACE_DEFINED__
   12005 #define __IDVSplitter_INTERFACE_DEFINED__
   12006   EXTERN_C const IID IID_IDVSplitter;
   12007 #if defined(__cplusplus) && !defined(CINTERFACE)
   12008   struct IDVSplitter : public IUnknown {
   12009   public:
   12010     virtual HRESULT WINAPI DiscardAlternateVideoFrames(int nDiscard) = 0;
   12011   };
   12012 #else
   12013   typedef struct IDVSplitterVtbl {
   12014     BEGIN_INTERFACE
   12015       HRESULT (WINAPI *QueryInterface)(IDVSplitter *This,REFIID riid,void **ppvObject);
   12016       ULONG (WINAPI *AddRef)(IDVSplitter *This);
   12017       ULONG (WINAPI *Release)(IDVSplitter *This);
   12018       HRESULT (WINAPI *DiscardAlternateVideoFrames)(IDVSplitter *This,int nDiscard);
   12019     END_INTERFACE
   12020   } IDVSplitterVtbl;
   12021   struct IDVSplitter {
   12022     CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
   12023   };
   12024 #ifdef COBJMACROS
   12025 #define IDVSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12026 #define IDVSplitter_AddRef(This) (This)->lpVtbl->AddRef(This)
   12027 #define IDVSplitter_Release(This) (This)->lpVtbl->Release(This)
   12028 #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) (This)->lpVtbl->DiscardAlternateVideoFrames(This,nDiscard)
   12029 #endif
   12030 #endif
   12031   HRESULT WINAPI IDVSplitter_DiscardAlternateVideoFrames_Proxy(IDVSplitter *This,int nDiscard);
   12032   void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12033 #endif
   12034 
   12035   enum _AM_AUDIO_RENDERER_STAT_PARAM {
   12036     AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
   12037     AM_AUDREND_STAT_PARAM_SLAVE_MODE,AM_AUDREND_STAT_PARAM_SILENCE_DUR,
   12038     AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,AM_AUDREND_STAT_PARAM_DISCONTINUITIES,
   12039     AM_AUDREND_STAT_PARAM_SLAVE_RATE,AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR,
   12040     AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR,
   12041     AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,AM_AUDREND_STAT_PARAM_BUFFERFULLNESS,
   12042     AM_AUDREND_STAT_PARAM_JITTER
   12043   };
   12044 
   12045   extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_c_ifspec;
   12046   extern RPC_IF_HANDLE __MIDL_itf_strmif_0359_v0_0_s_ifspec;
   12047 #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
   12048 #define __IAMAudioRendererStats_INTERFACE_DEFINED__
   12049   EXTERN_C const IID IID_IAMAudioRendererStats;
   12050 #if defined(__cplusplus) && !defined(CINTERFACE)
   12051   struct IAMAudioRendererStats : public IUnknown {
   12052   public:
   12053     virtual HRESULT WINAPI GetStatParam(DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2) = 0;
   12054   };
   12055 #else
   12056   typedef struct IAMAudioRendererStatsVtbl {
   12057     BEGIN_INTERFACE
   12058       HRESULT (WINAPI *QueryInterface)(IAMAudioRendererStats *This,REFIID riid,void **ppvObject);
   12059       ULONG (WINAPI *AddRef)(IAMAudioRendererStats *This);
   12060       ULONG (WINAPI *Release)(IAMAudioRendererStats *This);
   12061       HRESULT (WINAPI *GetStatParam)(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
   12062     END_INTERFACE
   12063   } IAMAudioRendererStatsVtbl;
   12064   struct IAMAudioRendererStats {
   12065     CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
   12066   };
   12067 #ifdef COBJMACROS
   12068 #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12069 #define IAMAudioRendererStats_AddRef(This) (This)->lpVtbl->AddRef(This)
   12070 #define IAMAudioRendererStats_Release(This) (This)->lpVtbl->Release(This)
   12071 #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) (This)->lpVtbl->GetStatParam(This,dwParam,pdwParam1,pdwParam2)
   12072 #endif
   12073 #endif
   12074   HRESULT WINAPI IAMAudioRendererStats_GetStatParam_Proxy(IAMAudioRendererStats *This,DWORD dwParam,DWORD *pdwParam1,DWORD *pdwParam2);
   12075   void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12076 #endif
   12077 
   12078   enum _AM_INTF_SEARCH_FLAGS {
   12079     AM_INTF_SEARCH_INPUT_PIN = 0x1,AM_INTF_SEARCH_OUTPUT_PIN = 0x2,AM_INTF_SEARCH_FILTER = 0x4
   12080   };
   12081 
   12082   extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec;
   12083   extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec;
   12084 #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
   12085 #define __IAMGraphStreams_INTERFACE_DEFINED__
   12086   EXTERN_C const IID IID_IAMGraphStreams;
   12087 #if defined(__cplusplus) && !defined(CINTERFACE)
   12088   struct IAMGraphStreams : public IUnknown {
   12089   public:
   12090     virtual HRESULT WINAPI FindUpstreamInterface(IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags) = 0;
   12091     virtual HRESULT WINAPI SyncUsingStreamOffset(WINBOOL bUseStreamOffset) = 0;
   12092     virtual HRESULT WINAPI SetMaxGraphLatency(REFERENCE_TIME rtMaxGraphLatency) = 0;
   12093   };
   12094 #else
   12095   typedef struct IAMGraphStreamsVtbl {
   12096     BEGIN_INTERFACE
   12097       HRESULT (WINAPI *QueryInterface)(IAMGraphStreams *This,REFIID riid,void **ppvObject);
   12098       ULONG (WINAPI *AddRef)(IAMGraphStreams *This);
   12099       ULONG (WINAPI *Release)(IAMGraphStreams *This);
   12100       HRESULT (WINAPI *FindUpstreamInterface)(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
   12101       HRESULT (WINAPI *SyncUsingStreamOffset)(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
   12102       HRESULT (WINAPI *SetMaxGraphLatency)(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
   12103     END_INTERFACE
   12104   } IAMGraphStreamsVtbl;
   12105   struct IAMGraphStreams {
   12106     CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
   12107   };
   12108 #ifdef COBJMACROS
   12109 #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12110 #define IAMGraphStreams_AddRef(This) (This)->lpVtbl->AddRef(This)
   12111 #define IAMGraphStreams_Release(This) (This)->lpVtbl->Release(This)
   12112 #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) (This)->lpVtbl->FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
   12113 #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) (This)->lpVtbl->SyncUsingStreamOffset(This,bUseStreamOffset)
   12114 #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) (This)->lpVtbl->SetMaxGraphLatency(This,rtMaxGraphLatency)
   12115 #endif
   12116 #endif
   12117   HRESULT WINAPI IAMGraphStreams_FindUpstreamInterface_Proxy(IAMGraphStreams *This,IPin *pPin,REFIID riid,void **ppvInterface,DWORD dwFlags);
   12118   void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12119   HRESULT WINAPI IAMGraphStreams_SyncUsingStreamOffset_Proxy(IAMGraphStreams *This,WINBOOL bUseStreamOffset);
   12120   void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12121   HRESULT WINAPI IAMGraphStreams_SetMaxGraphLatency_Proxy(IAMGraphStreams *This,REFERENCE_TIME rtMaxGraphLatency);
   12122   void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12123 #endif
   12124 
   12125   enum AMOVERLAYFX {
   12126     AMOVERFX_NOFX = 0,AMOVERFX_MIRRORLEFTRIGHT = 0x2,AMOVERFX_MIRRORUPDOWN = 0x4,AMOVERFX_DEINTERLACE = 0x8
   12127   };
   12128 
   12129   extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec;
   12130   extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec;
   12131 #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
   12132 #define __IAMOverlayFX_INTERFACE_DEFINED__
   12133   EXTERN_C const IID IID_IAMOverlayFX;
   12134 #if defined(__cplusplus) && !defined(CINTERFACE)
   12135   struct IAMOverlayFX : public IUnknown {
   12136   public:
   12137     virtual HRESULT WINAPI QueryOverlayFXCaps(DWORD *lpdwOverlayFXCaps) = 0;
   12138     virtual HRESULT WINAPI SetOverlayFX(DWORD dwOverlayFX) = 0;
   12139     virtual HRESULT WINAPI GetOverlayFX(DWORD *lpdwOverlayFX) = 0;
   12140   };
   12141 #else
   12142   typedef struct IAMOverlayFXVtbl {
   12143     BEGIN_INTERFACE
   12144       HRESULT (WINAPI *QueryInterface)(IAMOverlayFX *This,REFIID riid,void **ppvObject);
   12145       ULONG (WINAPI *AddRef)(IAMOverlayFX *This);
   12146       ULONG (WINAPI *Release)(IAMOverlayFX *This);
   12147       HRESULT (WINAPI *QueryOverlayFXCaps)(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
   12148       HRESULT (WINAPI *SetOverlayFX)(IAMOverlayFX *This,DWORD dwOverlayFX);
   12149       HRESULT (WINAPI *GetOverlayFX)(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
   12150     END_INTERFACE
   12151   } IAMOverlayFXVtbl;
   12152   struct IAMOverlayFX {
   12153     CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
   12154   };
   12155 #ifdef COBJMACROS
   12156 #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12157 #define IAMOverlayFX_AddRef(This) (This)->lpVtbl->AddRef(This)
   12158 #define IAMOverlayFX_Release(This) (This)->lpVtbl->Release(This)
   12159 #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) (This)->lpVtbl->QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
   12160 #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) (This)->lpVtbl->SetOverlayFX(This,dwOverlayFX)
   12161 #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) (This)->lpVtbl->GetOverlayFX(This,lpdwOverlayFX)
   12162 #endif
   12163 #endif
   12164   HRESULT WINAPI IAMOverlayFX_QueryOverlayFXCaps_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFXCaps);
   12165   void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12166   HRESULT WINAPI IAMOverlayFX_SetOverlayFX_Proxy(IAMOverlayFX *This,DWORD dwOverlayFX);
   12167   void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12168   HRESULT WINAPI IAMOverlayFX_GetOverlayFX_Proxy(IAMOverlayFX *This,DWORD *lpdwOverlayFX);
   12169   void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12170 #endif
   12171 
   12172 #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
   12173 #define __IAMOpenProgress_INTERFACE_DEFINED__
   12174   EXTERN_C const IID IID_IAMOpenProgress;
   12175 #if defined(__cplusplus) && !defined(CINTERFACE)
   12176   struct IAMOpenProgress : public IUnknown {
   12177   public:
   12178     virtual HRESULT WINAPI QueryProgress(LONGLONG *pllTotal,LONGLONG *pllCurrent) = 0;
   12179     virtual HRESULT WINAPI AbortOperation(void) = 0;
   12180   };
   12181 #else
   12182   typedef struct IAMOpenProgressVtbl {
   12183     BEGIN_INTERFACE
   12184       HRESULT (WINAPI *QueryInterface)(IAMOpenProgress *This,REFIID riid,void **ppvObject);
   12185       ULONG (WINAPI *AddRef)(IAMOpenProgress *This);
   12186       ULONG (WINAPI *Release)(IAMOpenProgress *This);
   12187       HRESULT (WINAPI *QueryProgress)(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
   12188       HRESULT (WINAPI *AbortOperation)(IAMOpenProgress *This);
   12189     END_INTERFACE
   12190   } IAMOpenProgressVtbl;
   12191   struct IAMOpenProgress {
   12192     CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
   12193   };
   12194 #ifdef COBJMACROS
   12195 #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12196 #define IAMOpenProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
   12197 #define IAMOpenProgress_Release(This) (This)->lpVtbl->Release(This)
   12198 #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) (This)->lpVtbl->QueryProgress(This,pllTotal,pllCurrent)
   12199 #define IAMOpenProgress_AbortOperation(This) (This)->lpVtbl->AbortOperation(This)
   12200 #endif
   12201 #endif
   12202   HRESULT WINAPI IAMOpenProgress_QueryProgress_Proxy(IAMOpenProgress *This,LONGLONG *pllTotal,LONGLONG *pllCurrent);
   12203   void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12204   HRESULT WINAPI IAMOpenProgress_AbortOperation_Proxy(IAMOpenProgress *This);
   12205   void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12206 #endif
   12207 
   12208 #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
   12209 #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
   12210   EXTERN_C const IID IID_IMpeg2Demultiplexer;
   12211 #if defined(__cplusplus) && !defined(CINTERFACE)
   12212   struct IMpeg2Demultiplexer : public IUnknown {
   12213   public:
   12214     virtual HRESULT WINAPI CreateOutputPin(AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin) = 0;
   12215     virtual HRESULT WINAPI SetOutputPinMediaType(LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType) = 0;
   12216     virtual HRESULT WINAPI DeleteOutputPin(LPWSTR pszPinName) = 0;
   12217   };
   12218 #else
   12219   typedef struct IMpeg2DemultiplexerVtbl {
   12220     BEGIN_INTERFACE
   12221       HRESULT (WINAPI *QueryInterface)(IMpeg2Demultiplexer *This,REFIID riid,void **ppvObject);
   12222       ULONG (WINAPI *AddRef)(IMpeg2Demultiplexer *This);
   12223       ULONG (WINAPI *Release)(IMpeg2Demultiplexer *This);
   12224       HRESULT (WINAPI *CreateOutputPin)(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
   12225       HRESULT (WINAPI *SetOutputPinMediaType)(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
   12226       HRESULT (WINAPI *DeleteOutputPin)(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
   12227     END_INTERFACE
   12228   } IMpeg2DemultiplexerVtbl;
   12229   struct IMpeg2Demultiplexer {
   12230     CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
   12231   };
   12232 #ifdef COBJMACROS
   12233 #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12234 #define IMpeg2Demultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This)
   12235 #define IMpeg2Demultiplexer_Release(This) (This)->lpVtbl->Release(This)
   12236 #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) (This)->lpVtbl->CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
   12237 #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) (This)->lpVtbl->SetOutputPinMediaType(This,pszPinName,pMediaType)
   12238 #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) (This)->lpVtbl->DeleteOutputPin(This,pszPinName)
   12239 #endif
   12240 #endif
   12241   HRESULT WINAPI IMpeg2Demultiplexer_CreateOutputPin_Proxy(IMpeg2Demultiplexer *This,AM_MEDIA_TYPE *pMediaType,LPWSTR pszPinName,IPin **ppIPin);
   12242   void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12243   HRESULT WINAPI IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName,AM_MEDIA_TYPE *pMediaType);
   12244   void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12245   HRESULT WINAPI IMpeg2Demultiplexer_DeleteOutputPin_Proxy(IMpeg2Demultiplexer *This,LPWSTR pszPinName);
   12246   void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12247 #endif
   12248 
   12249 #define MPEG2_PROGRAM_STREAM_MAP 0x00000000
   12250 #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
   12251 #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
   12252 #define MPEG2_PROGRAM_PACK_HEADER 0x00000003
   12253 #define MPEG2_PROGRAM_PES_STREAM 0x00000004
   12254 #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
   12255 #define SUBSTREAM_FILTER_VAL_NONE 0x10000000
   12256 
   12257   typedef struct __MIDL___MIDL_itf_strmif_0365_0001 {
   12258     ULONG stream_id;
   12259     DWORD dwMediaSampleContent;
   12260     ULONG ulSubstreamFilterValue;
   12261     int iDataOffset;
   12262   } STREAM_ID_MAP;
   12263 
   12264   extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec;
   12265   extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec;
   12266 #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
   12267 #define __IEnumStreamIdMap_INTERFACE_DEFINED__
   12268   EXTERN_C const IID IID_IEnumStreamIdMap;
   12269 #if defined(__cplusplus) && !defined(CINTERFACE)
   12270   struct IEnumStreamIdMap : public IUnknown {
   12271   public:
   12272     virtual HRESULT WINAPI Next(ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived) = 0;
   12273     virtual HRESULT WINAPI Skip(ULONG cRecords) = 0;
   12274     virtual HRESULT WINAPI Reset(void) = 0;
   12275     virtual HRESULT WINAPI Clone(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
   12276   };
   12277 #else
   12278   typedef struct IEnumStreamIdMapVtbl {
   12279     BEGIN_INTERFACE
   12280       HRESULT (WINAPI *QueryInterface)(IEnumStreamIdMap *This,REFIID riid,void **ppvObject);
   12281       ULONG (WINAPI *AddRef)(IEnumStreamIdMap *This);
   12282       ULONG (WINAPI *Release)(IEnumStreamIdMap *This);
   12283       HRESULT (WINAPI *Next)(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
   12284       HRESULT (WINAPI *Skip)(IEnumStreamIdMap *This,ULONG cRecords);
   12285       HRESULT (WINAPI *Reset)(IEnumStreamIdMap *This);
   12286       HRESULT (WINAPI *Clone)(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   12287     END_INTERFACE
   12288   } IEnumStreamIdMapVtbl;
   12289   struct IEnumStreamIdMap {
   12290     CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
   12291   };
   12292 #ifdef COBJMACROS
   12293 #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12294 #define IEnumStreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
   12295 #define IEnumStreamIdMap_Release(This) (This)->lpVtbl->Release(This)
   12296 #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) (This)->lpVtbl->Next(This,cRequest,pStreamIdMap,pcReceived)
   12297 #define IEnumStreamIdMap_Skip(This,cRecords) (This)->lpVtbl->Skip(This,cRecords)
   12298 #define IEnumStreamIdMap_Reset(This) (This)->lpVtbl->Reset(This)
   12299 #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) (This)->lpVtbl->Clone(This,ppIEnumStreamIdMap)
   12300 #endif
   12301 #endif
   12302   HRESULT WINAPI IEnumStreamIdMap_Next_Proxy(IEnumStreamIdMap *This,ULONG cRequest,STREAM_ID_MAP *pStreamIdMap,ULONG *pcReceived);
   12303   void __RPC_STUB IEnumStreamIdMap_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12304   HRESULT WINAPI IEnumStreamIdMap_Skip_Proxy(IEnumStreamIdMap *This,ULONG cRecords);
   12305   void __RPC_STUB IEnumStreamIdMap_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12306   HRESULT WINAPI IEnumStreamIdMap_Reset_Proxy(IEnumStreamIdMap *This);
   12307   void __RPC_STUB IEnumStreamIdMap_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12308   HRESULT WINAPI IEnumStreamIdMap_Clone_Proxy(IEnumStreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   12309   void __RPC_STUB IEnumStreamIdMap_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12310 #endif
   12311 
   12312 #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
   12313 #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
   12314   EXTERN_C const IID IID_IMPEG2StreamIdMap;
   12315 #if defined(__cplusplus) && !defined(CINTERFACE)
   12316   struct IMPEG2StreamIdMap : public IUnknown {
   12317   public:
   12318     virtual HRESULT WINAPI MapStreamId(ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset) = 0;
   12319     virtual HRESULT WINAPI UnmapStreamId(ULONG culStreamId,ULONG *pulStreamId) = 0;
   12320     virtual HRESULT WINAPI EnumStreamIdMap(IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
   12321   };
   12322 #else
   12323   typedef struct IMPEG2StreamIdMapVtbl {
   12324     BEGIN_INTERFACE
   12325       HRESULT (WINAPI *QueryInterface)(IMPEG2StreamIdMap *This,REFIID riid,void **ppvObject);
   12326       ULONG (WINAPI *AddRef)(IMPEG2StreamIdMap *This);
   12327       ULONG (WINAPI *Release)(IMPEG2StreamIdMap *This);
   12328       HRESULT (WINAPI *MapStreamId)(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
   12329       HRESULT (WINAPI *UnmapStreamId)(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
   12330       HRESULT (WINAPI *EnumStreamIdMap)(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   12331     END_INTERFACE
   12332   } IMPEG2StreamIdMapVtbl;
   12333   struct IMPEG2StreamIdMap {
   12334     CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
   12335   };
   12336 #ifdef COBJMACROS
   12337 #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12338 #define IMPEG2StreamIdMap_AddRef(This) (This)->lpVtbl->AddRef(This)
   12339 #define IMPEG2StreamIdMap_Release(This) (This)->lpVtbl->Release(This)
   12340 #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) (This)->lpVtbl->MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
   12341 #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) (This)->lpVtbl->UnmapStreamId(This,culStreamId,pulStreamId)
   12342 #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) (This)->lpVtbl->EnumStreamIdMap(This,ppIEnumStreamIdMap)
   12343 #endif
   12344 #endif
   12345   HRESULT WINAPI IMPEG2StreamIdMap_MapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG ulStreamId,DWORD MediaSampleContent,ULONG ulSubstreamFilterValue,int iDataOffset);
   12346   void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12347   HRESULT WINAPI IMPEG2StreamIdMap_UnmapStreamId_Proxy(IMPEG2StreamIdMap *This,ULONG culStreamId,ULONG *pulStreamId);
   12348   void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12349   HRESULT WINAPI IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(IMPEG2StreamIdMap *This,IEnumStreamIdMap **ppIEnumStreamIdMap);
   12350   void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12351 #endif
   12352 
   12353 #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
   12354 #define __IRegisterServiceProvider_INTERFACE_DEFINED__
   12355   EXTERN_C const IID IID_IRegisterServiceProvider;
   12356 #if defined(__cplusplus) && !defined(CINTERFACE)
   12357   struct IRegisterServiceProvider : public IUnknown {
   12358   public:
   12359     virtual HRESULT WINAPI RegisterService(REFGUID guidService,IUnknown *pUnkObject) = 0;
   12360   };
   12361 #else
   12362   typedef struct IRegisterServiceProviderVtbl {
   12363     BEGIN_INTERFACE
   12364       HRESULT (WINAPI *QueryInterface)(IRegisterServiceProvider *This,REFIID riid,void **ppvObject);
   12365       ULONG (WINAPI *AddRef)(IRegisterServiceProvider *This);
   12366       ULONG (WINAPI *Release)(IRegisterServiceProvider *This);
   12367       HRESULT (WINAPI *RegisterService)(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
   12368     END_INTERFACE
   12369   } IRegisterServiceProviderVtbl;
   12370   struct IRegisterServiceProvider {
   12371     CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
   12372   };
   12373 #ifdef COBJMACROS
   12374 #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12375 #define IRegisterServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
   12376 #define IRegisterServiceProvider_Release(This) (This)->lpVtbl->Release(This)
   12377 #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) (This)->lpVtbl->RegisterService(This,guidService,pUnkObject)
   12378 #endif
   12379 #endif
   12380   HRESULT WINAPI IRegisterServiceProvider_RegisterService_Proxy(IRegisterServiceProvider *This,REFGUID guidService,IUnknown *pUnkObject);
   12381   void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12382 #endif
   12383 
   12384 #ifndef __IAMClockSlave_INTERFACE_DEFINED__
   12385 #define __IAMClockSlave_INTERFACE_DEFINED__
   12386   EXTERN_C const IID IID_IAMClockSlave;
   12387 #if defined(__cplusplus) && !defined(CINTERFACE)
   12388   struct IAMClockSlave : public IUnknown {
   12389   public:
   12390     virtual HRESULT WINAPI SetErrorTolerance(DWORD dwTolerance) = 0;
   12391     virtual HRESULT WINAPI GetErrorTolerance(DWORD *pdwTolerance) = 0;
   12392   };
   12393 #else
   12394   typedef struct IAMClockSlaveVtbl {
   12395     BEGIN_INTERFACE
   12396       HRESULT (WINAPI *QueryInterface)(IAMClockSlave *This,REFIID riid,void **ppvObject);
   12397       ULONG (WINAPI *AddRef)(IAMClockSlave *This);
   12398       ULONG (WINAPI *Release)(IAMClockSlave *This);
   12399       HRESULT (WINAPI *SetErrorTolerance)(IAMClockSlave *This,DWORD dwTolerance);
   12400       HRESULT (WINAPI *GetErrorTolerance)(IAMClockSlave *This,DWORD *pdwTolerance);
   12401     END_INTERFACE
   12402   } IAMClockSlaveVtbl;
   12403   struct IAMClockSlave {
   12404     CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
   12405   };
   12406 #ifdef COBJMACROS
   12407 #define IAMClockSlave_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12408 #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This)
   12409 #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This)
   12410 #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) (This)->lpVtbl->SetErrorTolerance(This,dwTolerance)
   12411 #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This,pdwTolerance)
   12412 #endif
   12413 #endif
   12414   HRESULT WINAPI IAMClockSlave_SetErrorTolerance_Proxy(IAMClockSlave *This,DWORD dwTolerance);
   12415   void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12416   HRESULT WINAPI IAMClockSlave_GetErrorTolerance_Proxy(IAMClockSlave *This,DWORD *pdwTolerance);
   12417   void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12418 #endif
   12419 
   12420 #ifdef __cplusplus
   12421 #ifndef _IAMFilterGraphCallback_
   12422 #define _IAMFilterGraphCallback_
   12423   EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
   12424   struct IAMFilterGraphCallback : public IUnknown {
   12425     virtual HRESULT UnableToRender(IPin *pPin) = 0;
   12426   };
   12427 #endif
   12428 #endif
   12429   struct CodecAPIEventData {
   12430     GUID guid;
   12431     DWORD dataLength;
   12432     DWORD reserved[3];
   12433   };
   12434 
   12435   extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_c_ifspec;
   12436   extern RPC_IF_HANDLE __MIDL_itf_strmif_0370_v0_0_s_ifspec;
   12437 #ifndef __ICodecAPI_INTERFACE_DEFINED__
   12438 #define __ICodecAPI_INTERFACE_DEFINED__
   12439   EXTERN_C const IID IID_ICodecAPI;
   12440 #if defined(__cplusplus) && !defined(CINTERFACE)
   12441   struct ICodecAPI : public IUnknown {
   12442   public:
   12443     virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
   12444     virtual HRESULT WINAPI IsModifiable(const GUID *Api) = 0;
   12445     virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
   12446     virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
   12447     virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
   12448     virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
   12449     virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
   12450     virtual HRESULT WINAPI RegisterForEvent(const GUID *Api,LONG_PTR userData) = 0;
   12451     virtual HRESULT WINAPI UnregisterForEvent(const GUID *Api) = 0;
   12452     virtual HRESULT WINAPI SetAllDefaults(void) = 0;
   12453     virtual HRESULT WINAPI SetValueWithNotify(const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   12454     virtual HRESULT WINAPI SetAllDefaultsWithNotify(GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   12455     virtual HRESULT WINAPI GetAllSettings(IStream *__MIDL_0016) = 0;
   12456     virtual HRESULT WINAPI SetAllSettings(IStream *__MIDL_0017) = 0;
   12457     virtual HRESULT WINAPI SetAllSettingsWithNotify(IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount) = 0;
   12458   };
   12459 #else
   12460   typedef struct ICodecAPIVtbl {
   12461     BEGIN_INTERFACE
   12462       HRESULT (WINAPI *QueryInterface)(ICodecAPI *This,REFIID riid,void **ppvObject);
   12463       ULONG (WINAPI *AddRef)(ICodecAPI *This);
   12464       ULONG (WINAPI *Release)(ICodecAPI *This);
   12465       HRESULT (WINAPI *IsSupported)(ICodecAPI *This,const GUID *Api);
   12466       HRESULT (WINAPI *IsModifiable)(ICodecAPI *This,const GUID *Api);
   12467       HRESULT (WINAPI *GetParameterRange)(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   12468       HRESULT (WINAPI *GetParameterValues)(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   12469       HRESULT (WINAPI *GetDefaultValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   12470       HRESULT (WINAPI *GetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   12471       HRESULT (WINAPI *SetValue)(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   12472       HRESULT (WINAPI *RegisterForEvent)(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
   12473       HRESULT (WINAPI *UnregisterForEvent)(ICodecAPI *This,const GUID *Api);
   12474       HRESULT (WINAPI *SetAllDefaults)(ICodecAPI *This);
   12475       HRESULT (WINAPI *SetValueWithNotify)(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
   12476       HRESULT (WINAPI *SetAllDefaultsWithNotify)(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
   12477       HRESULT (WINAPI *GetAllSettings)(ICodecAPI *This,IStream *__MIDL_0016);
   12478       HRESULT (WINAPI *SetAllSettings)(ICodecAPI *This,IStream *__MIDL_0017);
   12479       HRESULT (WINAPI *SetAllSettingsWithNotify)(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
   12480     END_INTERFACE
   12481   } ICodecAPIVtbl;
   12482   struct ICodecAPI {
   12483     CONST_VTBL struct ICodecAPIVtbl *lpVtbl;
   12484   };
   12485 #ifdef COBJMACROS
   12486 #define ICodecAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12487 #define ICodecAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
   12488 #define ICodecAPI_Release(This) (This)->lpVtbl->Release(This)
   12489 #define ICodecAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   12490 #define ICodecAPI_IsModifiable(This,Api) (This)->lpVtbl->IsModifiable(This,Api)
   12491 #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   12492 #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   12493 #define ICodecAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   12494 #define ICodecAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   12495 #define ICodecAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   12496 #define ICodecAPI_RegisterForEvent(This,Api,userData) (This)->lpVtbl->RegisterForEvent(This,Api,userData)
   12497 #define ICodecAPI_UnregisterForEvent(This,Api) (This)->lpVtbl->UnregisterForEvent(This,Api)
   12498 #define ICodecAPI_SetAllDefaults(This) (This)->lpVtbl->SetAllDefaults(This)
   12499 #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
   12500 #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
   12501 #define ICodecAPI_GetAllSettings(This,__MIDL_0016) (This)->lpVtbl->GetAllSettings(This,__MIDL_0016)
   12502 #define ICodecAPI_SetAllSettings(This,__MIDL_0017) (This)->lpVtbl->SetAllSettings(This,__MIDL_0017)
   12503 #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) (This)->lpVtbl->SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)
   12504 #endif
   12505 #endif
   12506   HRESULT WINAPI ICodecAPI_IsSupported_Proxy(ICodecAPI *This,const GUID *Api);
   12507   void __RPC_STUB ICodecAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12508   HRESULT WINAPI ICodecAPI_IsModifiable_Proxy(ICodecAPI *This,const GUID *Api);
   12509   void __RPC_STUB ICodecAPI_IsModifiable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12510   HRESULT WINAPI ICodecAPI_GetParameterRange_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   12511   void __RPC_STUB ICodecAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12512   HRESULT WINAPI ICodecAPI_GetParameterValues_Proxy(ICodecAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   12513   void __RPC_STUB ICodecAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12514   HRESULT WINAPI ICodecAPI_GetDefaultValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   12515   void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12516   HRESULT WINAPI ICodecAPI_GetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   12517   void __RPC_STUB ICodecAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12518   HRESULT WINAPI ICodecAPI_SetValue_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value);
   12519   void __RPC_STUB ICodecAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12520   HRESULT WINAPI ICodecAPI_RegisterForEvent_Proxy(ICodecAPI *This,const GUID *Api,LONG_PTR userData);
   12521   void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12522   HRESULT WINAPI ICodecAPI_UnregisterForEvent_Proxy(ICodecAPI *This,const GUID *Api);
   12523   void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12524   HRESULT WINAPI ICodecAPI_SetAllDefaults_Proxy(ICodecAPI *This);
   12525   void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12526   HRESULT WINAPI ICodecAPI_SetValueWithNotify_Proxy(ICodecAPI *This,const GUID *Api,VARIANT *Value,GUID **ChangedParam,ULONG *ChangedParamCount);
   12527   void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12528   HRESULT WINAPI ICodecAPI_SetAllDefaultsWithNotify_Proxy(ICodecAPI *This,GUID **ChangedParam,ULONG *ChangedParamCount);
   12529   void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12530   HRESULT WINAPI ICodecAPI_GetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0016);
   12531   void __RPC_STUB ICodecAPI_GetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12532   HRESULT WINAPI ICodecAPI_SetAllSettings_Proxy(ICodecAPI *This,IStream *__MIDL_0017);
   12533   void __RPC_STUB ICodecAPI_SetAllSettings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12534   HRESULT WINAPI ICodecAPI_SetAllSettingsWithNotify_Proxy(ICodecAPI *This,IStream *__MIDL_0018,GUID **ChangedParam,ULONG *ChangedParamCount);
   12535   void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12536 #endif
   12537 
   12538 #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
   12539 #define __IGetCapabilitiesKey_INTERFACE_DEFINED__
   12540   EXTERN_C const IID IID_IGetCapabilitiesKey;
   12541 #if defined(__cplusplus) && !defined(CINTERFACE)
   12542   struct IGetCapabilitiesKey : public IUnknown {
   12543   public:
   12544     virtual HRESULT WINAPI GetCapabilitiesKey(HKEY *pHKey) = 0;
   12545   };
   12546 #else
   12547   typedef struct IGetCapabilitiesKeyVtbl {
   12548     BEGIN_INTERFACE
   12549       HRESULT (WINAPI *QueryInterface)(IGetCapabilitiesKey *This,REFIID riid,void **ppvObject);
   12550       ULONG (WINAPI *AddRef)(IGetCapabilitiesKey *This);
   12551       ULONG (WINAPI *Release)(IGetCapabilitiesKey *This);
   12552       HRESULT (WINAPI *GetCapabilitiesKey)(IGetCapabilitiesKey *This,HKEY *pHKey);
   12553     END_INTERFACE
   12554   } IGetCapabilitiesKeyVtbl;
   12555   struct IGetCapabilitiesKey {
   12556     CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl;
   12557   };
   12558 #ifdef COBJMACROS
   12559 #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12560 #define IGetCapabilitiesKey_AddRef(This) (This)->lpVtbl->AddRef(This)
   12561 #define IGetCapabilitiesKey_Release(This) (This)->lpVtbl->Release(This)
   12562 #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) (This)->lpVtbl->GetCapabilitiesKey(This,pHKey)
   12563 #endif
   12564 #endif
   12565   HRESULT WINAPI IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(IGetCapabilitiesKey *This,HKEY *pHKey);
   12566   void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12567 #endif
   12568 
   12569 #ifndef __IEncoderAPI_INTERFACE_DEFINED__
   12570 #define __IEncoderAPI_INTERFACE_DEFINED__
   12571   EXTERN_C const IID IID_IEncoderAPI;
   12572 #if defined(__cplusplus) && !defined(CINTERFACE)
   12573   struct IEncoderAPI : public IUnknown {
   12574   public:
   12575     virtual HRESULT WINAPI IsSupported(const GUID *Api) = 0;
   12576     virtual HRESULT WINAPI IsAvailable(const GUID *Api) = 0;
   12577     virtual HRESULT WINAPI GetParameterRange(const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta) = 0;
   12578     virtual HRESULT WINAPI GetParameterValues(const GUID *Api,VARIANT **Values,ULONG *ValuesCount) = 0;
   12579     virtual HRESULT WINAPI GetDefaultValue(const GUID *Api,VARIANT *Value) = 0;
   12580     virtual HRESULT WINAPI GetValue(const GUID *Api,VARIANT *Value) = 0;
   12581     virtual HRESULT WINAPI SetValue(const GUID *Api,VARIANT *Value) = 0;
   12582   };
   12583 #else
   12584   typedef struct IEncoderAPIVtbl {
   12585     BEGIN_INTERFACE
   12586       HRESULT (WINAPI *QueryInterface)(IEncoderAPI *This,REFIID riid,void **ppvObject);
   12587       ULONG (WINAPI *AddRef)(IEncoderAPI *This);
   12588       ULONG (WINAPI *Release)(IEncoderAPI *This);
   12589       HRESULT (WINAPI *IsSupported)(IEncoderAPI *This,const GUID *Api);
   12590       HRESULT (WINAPI *IsAvailable)(IEncoderAPI *This,const GUID *Api);
   12591       HRESULT (WINAPI *GetParameterRange)(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   12592       HRESULT (WINAPI *GetParameterValues)(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   12593       HRESULT (WINAPI *GetDefaultValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   12594       HRESULT (WINAPI *GetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   12595       HRESULT (WINAPI *SetValue)(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   12596     END_INTERFACE
   12597   } IEncoderAPIVtbl;
   12598   struct IEncoderAPI {
   12599     CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
   12600   };
   12601 #ifdef COBJMACROS
   12602 #define IEncoderAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12603 #define IEncoderAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
   12604 #define IEncoderAPI_Release(This) (This)->lpVtbl->Release(This)
   12605 #define IEncoderAPI_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   12606 #define IEncoderAPI_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
   12607 #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   12608 #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   12609 #define IEncoderAPI_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   12610 #define IEncoderAPI_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   12611 #define IEncoderAPI_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   12612 #endif
   12613 #endif
   12614   HRESULT WINAPI IEncoderAPI_IsSupported_Proxy(IEncoderAPI *This,const GUID *Api);
   12615   void __RPC_STUB IEncoderAPI_IsSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12616   HRESULT WINAPI IEncoderAPI_IsAvailable_Proxy(IEncoderAPI *This,const GUID *Api);
   12617   void __RPC_STUB IEncoderAPI_IsAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12618   HRESULT WINAPI IEncoderAPI_GetParameterRange_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   12619   void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12620   HRESULT WINAPI IEncoderAPI_GetParameterValues_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   12621   void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12622   HRESULT WINAPI IEncoderAPI_GetDefaultValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   12623   void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12624   HRESULT WINAPI IEncoderAPI_GetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   12625   void __RPC_STUB IEncoderAPI_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12626   HRESULT WINAPI IEncoderAPI_SetValue_Proxy(IEncoderAPI *This,const GUID *Api,VARIANT *Value);
   12627   void __RPC_STUB IEncoderAPI_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12628 #endif
   12629 
   12630 #ifndef __IVideoEncoder_INTERFACE_DEFINED__
   12631 #define __IVideoEncoder_INTERFACE_DEFINED__
   12632   EXTERN_C const IID IID_IVideoEncoder;
   12633 #if defined(__cplusplus) && !defined(CINTERFACE)
   12634   struct IVideoEncoder : public IEncoderAPI {
   12635   public:
   12636   };
   12637 #else
   12638   typedef struct IVideoEncoderVtbl {
   12639     BEGIN_INTERFACE
   12640       HRESULT (WINAPI *QueryInterface)(IVideoEncoder *This,REFIID riid,void **ppvObject);
   12641       ULONG (WINAPI *AddRef)(IVideoEncoder *This);
   12642       ULONG (WINAPI *Release)(IVideoEncoder *This);
   12643       HRESULT (WINAPI *IsSupported)(IVideoEncoder *This,const GUID *Api);
   12644       HRESULT (WINAPI *IsAvailable)(IVideoEncoder *This,const GUID *Api);
   12645       HRESULT (WINAPI *GetParameterRange)(IVideoEncoder *This,const GUID *Api,VARIANT *ValueMin,VARIANT *ValueMax,VARIANT *SteppingDelta);
   12646       HRESULT (WINAPI *GetParameterValues)(IVideoEncoder *This,const GUID *Api,VARIANT **Values,ULONG *ValuesCount);
   12647       HRESULT (WINAPI *GetDefaultValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   12648       HRESULT (WINAPI *GetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   12649       HRESULT (WINAPI *SetValue)(IVideoEncoder *This,const GUID *Api,VARIANT *Value);
   12650     END_INTERFACE
   12651   } IVideoEncoderVtbl;
   12652   struct IVideoEncoder {
   12653     CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
   12654   };
   12655 #ifdef COBJMACROS
   12656 #define IVideoEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12657 #define IVideoEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
   12658 #define IVideoEncoder_Release(This) (This)->lpVtbl->Release(This)
   12659 #define IVideoEncoder_IsSupported(This,Api) (This)->lpVtbl->IsSupported(This,Api)
   12660 #define IVideoEncoder_IsAvailable(This,Api) (This)->lpVtbl->IsAvailable(This,Api)
   12661 #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) (This)->lpVtbl->GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
   12662 #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) (This)->lpVtbl->GetParameterValues(This,Api,Values,ValuesCount)
   12663 #define IVideoEncoder_GetDefaultValue(This,Api,Value) (This)->lpVtbl->GetDefaultValue(This,Api,Value)
   12664 #define IVideoEncoder_GetValue(This,Api,Value) (This)->lpVtbl->GetValue(This,Api,Value)
   12665 #define IVideoEncoder_SetValue(This,Api,Value) (This)->lpVtbl->SetValue(This,Api,Value)
   12666 #endif
   12667 #endif
   12668 #endif
   12669 
   12670 #ifndef __ENCODER_API_DEFINES__
   12671 #define __ENCODER_API_DEFINES__
   12672   typedef enum __MIDL___MIDL_itf_strmif_0374_0001 {
   12673     ConstantBitRate = 0,
   12674     VariableBitRateAverage,VariableBitRatePeak
   12675   } VIDEOENCODER_BITRATE_MODE;
   12676 #endif
   12677 #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001
   12678 #define VMR_NOTSUPPORTED 0x00000000
   12679 #define VMR_SUPPORTED 0x00000001
   12680 #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001
   12681 #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002
   12682 #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003
   12683 #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004
   12684 #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005
   12685 #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006
   12686 #define DECODER_CAP_NOTSUPPORTED 0x00000000
   12687 #define DECODER_CAP_SUPPORTED 0x00000001
   12688 
   12689   extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_c_ifspec;
   12690   extern RPC_IF_HANDLE __MIDL_itf_strmif_0374_v0_0_s_ifspec;
   12691 #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
   12692 #define __IAMDecoderCaps_INTERFACE_DEFINED__
   12693   EXTERN_C const IID IID_IAMDecoderCaps;
   12694 #if defined(__cplusplus) && !defined(CINTERFACE)
   12695   struct IAMDecoderCaps : public IUnknown {
   12696   public:
   12697     virtual HRESULT WINAPI GetDecoderCaps(DWORD dwCapIndex,DWORD *lpdwCap) = 0;
   12698   };
   12699 #else
   12700   typedef struct IAMDecoderCapsVtbl {
   12701     BEGIN_INTERFACE
   12702       HRESULT (WINAPI *QueryInterface)(IAMDecoderCaps *This,REFIID riid,void **ppvObject);
   12703       ULONG (WINAPI *AddRef)(IAMDecoderCaps *This);
   12704       ULONG (WINAPI *Release)(IAMDecoderCaps *This);
   12705       HRESULT (WINAPI *GetDecoderCaps)(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
   12706     END_INTERFACE
   12707   } IAMDecoderCapsVtbl;
   12708   struct IAMDecoderCaps {
   12709     CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
   12710   };
   12711 #ifdef COBJMACROS
   12712 #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12713 #define IAMDecoderCaps_AddRef(This) (This)->lpVtbl->AddRef(This)
   12714 #define IAMDecoderCaps_Release(This) (This)->lpVtbl->Release(This)
   12715 #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) (This)->lpVtbl->GetDecoderCaps(This,dwCapIndex,lpdwCap)
   12716 #endif
   12717 #endif
   12718   HRESULT WINAPI IAMDecoderCaps_GetDecoderCaps_Proxy(IAMDecoderCaps *This,DWORD dwCapIndex,DWORD *lpdwCap);
   12719   void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12720 #endif
   12721 
   12722   typedef struct _AMCOPPSignature {
   12723     BYTE Signature[256];
   12724   } AMCOPPSignature;
   12725 
   12726   typedef struct _AMCOPPCommand {
   12727     GUID macKDI;
   12728     GUID guidCommandID;
   12729     DWORD dwSequence;
   12730     DWORD cbSizeData;
   12731     BYTE CommandData[4056];
   12732   } AMCOPPCommand;
   12733 
   12734   typedef struct _AMCOPPCommand *LPAMCOPPCommand;
   12735 
   12736   typedef struct _AMCOPPStatusInput {
   12737     GUID rApp;
   12738     GUID guidStatusRequestID;
   12739     DWORD dwSequence;
   12740     DWORD cbSizeData;
   12741     BYTE StatusData[4056];
   12742   } AMCOPPStatusInput;
   12743 
   12744   typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput;
   12745 
   12746   typedef struct _AMCOPPStatusOutput {
   12747     GUID macKDI;
   12748     DWORD cbSizeData;
   12749     BYTE COPPStatus[4076];
   12750   } AMCOPPStatusOutput;
   12751 
   12752   typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput;
   12753 
   12754   extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_c_ifspec;
   12755   extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_s_ifspec;
   12756 #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
   12757 #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
   12758   EXTERN_C const IID IID_IAMCertifiedOutputProtection;
   12759 #if defined(__cplusplus) && !defined(CINTERFACE)
   12760   struct IAMCertifiedOutputProtection : public IUnknown {
   12761   public:
   12762     virtual HRESULT WINAPI KeyExchange(GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH) = 0;
   12763     virtual HRESULT WINAPI SessionSequenceStart(AMCOPPSignature *pSig) = 0;
   12764     virtual HRESULT WINAPI ProtectionCommand(const AMCOPPCommand *cmd) = 0;
   12765     virtual HRESULT WINAPI ProtectionStatus(const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput) = 0;
   12766   };
   12767 #else
   12768   typedef struct IAMCertifiedOutputProtectionVtbl {
   12769     BEGIN_INTERFACE
   12770       HRESULT (WINAPI *QueryInterface)(IAMCertifiedOutputProtection *This,REFIID riid,void **ppvObject);
   12771       ULONG (WINAPI *AddRef)(IAMCertifiedOutputProtection *This);
   12772       ULONG (WINAPI *Release)(IAMCertifiedOutputProtection *This);
   12773       HRESULT (WINAPI *KeyExchange)(IAMCertifiedOutputProtection *This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH);
   12774       HRESULT (WINAPI *SessionSequenceStart)(IAMCertifiedOutputProtection *This,AMCOPPSignature *pSig);
   12775       HRESULT (WINAPI *ProtectionCommand)(IAMCertifiedOutputProtection *This,const AMCOPPCommand *cmd);
   12776       HRESULT (WINAPI *ProtectionStatus)(IAMCertifiedOutputProtection *This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput);
   12777     END_INTERFACE
   12778   } IAMCertifiedOutputProtectionVtbl;
   12779   struct IAMCertifiedOutputProtection {
   12780     CONST_VTBL struct IAMCertifiedOutputProtectionVtbl *lpVtbl;
   12781   };
   12782 #ifdef COBJMACROS
   12783 #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12784 #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This)
   12785 #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This)
   12786 #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH)
   12787 #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) (This)->lpVtbl->SessionSequenceStart(This,pSig)
   12788 #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) (This)->lpVtbl->ProtectionCommand(This,cmd)
   12789 #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) (This)->lpVtbl->ProtectionStatus(This,pStatusInput,pStatusOutput)
   12790 #endif
   12791 #endif
   12792   HRESULT WINAPI IAMCertifiedOutputProtection_KeyExchange_Proxy(IAMCertifiedOutputProtection *This,GUID *pRandom,BYTE **VarLenCertGH,DWORD *pdwLengthCertGH);
   12793   void __RPC_STUB IAMCertifiedOutputProtection_KeyExchange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12794   HRESULT WINAPI IAMCertifiedOutputProtection_SessionSequenceStart_Proxy(IAMCertifiedOutputProtection *This,AMCOPPSignature *pSig);
   12795   void __RPC_STUB IAMCertifiedOutputProtection_SessionSequenceStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12796   HRESULT WINAPI IAMCertifiedOutputProtection_ProtectionCommand_Proxy(IAMCertifiedOutputProtection *This,const AMCOPPCommand *cmd);
   12797   void __RPC_STUB IAMCertifiedOutputProtection_ProtectionCommand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12798   HRESULT WINAPI IAMCertifiedOutputProtection_ProtectionStatus_Proxy(IAMCertifiedOutputProtection *This,const AMCOPPStatusInput *pStatusInput,AMCOPPStatusOutput *pStatusOutput);
   12799   void __RPC_STUB IAMCertifiedOutputProtection_ProtectionStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   12800 #endif
   12801 
   12802 #ifdef MINGW_HAS_DDRAW_H
   12803 #include <ddraw.h>
   12804 #else
   12805   typedef void *IDirectDraw;
   12806   typedef void *IDirectDrawSurface;
   12807   typedef void *LPDIRECTDRAWSURFACE7;
   12808   typedef void *LPDIRECTDRAW7;
   12809   typedef void *LPDDPIXELFORMAT;
   12810   typedef struct DDCOLORKEY {
   12811     DWORD dw1;
   12812     DWORD dw2;
   12813   } DDCOLORKEY;
   12814   typedef DDCOLORKEY *LPDDCOLORKEY;
   12815 #endif
   12816 
   12817   typedef enum tagDVD_DOMAIN {
   12818     DVD_DOMAIN_FirstPlay = 1,
   12819     DVD_DOMAIN_VideoManagerMenu,DVD_DOMAIN_VideoTitleSetMenu,DVD_DOMAIN_Title,
   12820     DVD_DOMAIN_Stop
   12821   } DVD_DOMAIN;
   12822 
   12823   typedef enum tagDVD_MENU_ID {
   12824     DVD_MENU_Title = 2,DVD_MENU_Root = 3,DVD_MENU_Subpicture = 4,DVD_MENU_Audio = 5,
   12825     DVD_MENU_Angle = 6,DVD_MENU_Chapter = 7
   12826   } DVD_MENU_ID;
   12827 
   12828   typedef enum tagDVD_DISC_SIDE {
   12829     DVD_SIDE_A = 1,DVD_SIDE_B = 2
   12830   } DVD_DISC_SIDE;
   12831 
   12832   typedef enum tagDVD_PREFERRED_DISPLAY_MODE {
   12833     DISPLAY_CONTENT_DEFAULT = 0,DISPLAY_16x9 = 1,DISPLAY_4x3_PANSCAN_PREFERRED = 2,DISPLAY_4x3_LETTERBOX_PREFERRED = 3
   12834   } DVD_PREFERRED_DISPLAY_MODE;
   12835 
   12836   typedef WORD DVD_REGISTER;
   12837   typedef DVD_REGISTER GPRMARRAY[16];
   12838   typedef DVD_REGISTER SPRMARRAY[24];
   12839 
   12840   typedef struct tagDVD_ATR {
   12841     ULONG ulCAT;
   12842     BYTE pbATRI[768];
   12843   } DVD_ATR;
   12844 
   12845   typedef BYTE DVD_VideoATR[2];
   12846   typedef BYTE DVD_AudioATR[8];
   12847   typedef BYTE DVD_SubpictureATR[6];
   12848 
   12849   typedef enum tagDVD_FRAMERATE {
   12850     DVD_FPS_25 = 1,DVD_FPS_30NonDrop = 3
   12851   } DVD_FRAMERATE;
   12852 
   12853   typedef struct tagDVD_TIMECODE {
   12854     ULONG Hours1 :4;
   12855     ULONG Hours10 :4;
   12856     ULONG Minutes1 :4;
   12857     ULONG Minutes10:4;
   12858     ULONG Seconds1 :4;
   12859     ULONG Seconds10:4;
   12860     ULONG Frames1 :4;
   12861     ULONG Frames10 :2;
   12862     ULONG FrameRateCode: 2;
   12863   } DVD_TIMECODE;
   12864 
   12865   typedef enum tagDVD_TIMECODE_FLAGS {
   12866     DVD_TC_FLAG_25fps = 0x1,DVD_TC_FLAG_30fps = 0x2,DVD_TC_FLAG_DropFrame = 0x4,DVD_TC_FLAG_Interpolated = 0x8
   12867   } DVD_TIMECODE_FLAGS;
   12868 
   12869   typedef struct tagDVD_HMSF_TIMECODE {
   12870     BYTE bHours;
   12871     BYTE bMinutes;
   12872     BYTE bSeconds;
   12873     BYTE bFrames;
   12874   } DVD_HMSF_TIMECODE;
   12875 
   12876   typedef struct tagDVD_PLAYBACK_LOCATION2 {
   12877     ULONG TitleNum;
   12878     ULONG ChapterNum;
   12879     DVD_HMSF_TIMECODE TimeCode;
   12880     ULONG TimeCodeFlags;
   12881   } DVD_PLAYBACK_LOCATION2;
   12882 
   12883   typedef struct tagDVD_PLAYBACK_LOCATION {
   12884     ULONG TitleNum;
   12885     ULONG ChapterNum;
   12886     ULONG TimeCode;
   12887   } DVD_PLAYBACK_LOCATION;
   12888 
   12889   typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
   12890 
   12891   typedef enum __MIDL___MIDL_itf_strmif_0376_0001 {
   12892     UOP_FLAG_Play_Title_Or_AtTime = 0x1,UOP_FLAG_Play_Chapter = 0x2,UOP_FLAG_Play_Title = 0x4,UOP_FLAG_Stop = 0x8,UOP_FLAG_ReturnFromSubMenu = 0x10,
   12893     UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,UOP_FLAG_PlayNext_Chapter = 0x80,UOP_FLAG_Play_Forwards = 0x100,
   12894     UOP_FLAG_Play_Backwards = 0x200,UOP_FLAG_ShowMenu_Title = 0x400,UOP_FLAG_ShowMenu_Root = 0x800,UOP_FLAG_ShowMenu_SubPic = 0x1000,
   12895     UOP_FLAG_ShowMenu_Audio = 0x2000,UOP_FLAG_ShowMenu_Angle = 0x4000,UOP_FLAG_ShowMenu_Chapter = 0x8000,UOP_FLAG_Resume = 0x10000,
   12896     UOP_FLAG_Select_Or_Activate_Button = 0x20000,UOP_FLAG_Still_Off = 0x40000,UOP_FLAG_Pause_On = 0x80000,UOP_FLAG_Select_Audio_Stream = 0x100000,
   12897     UOP_FLAG_Select_SubPic_Stream = 0x200000,UOP_FLAG_Select_Angle = 0x400000,UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000,
   12898     UOP_FLAG_Select_Video_Mode_Preference = 0x1000000
   12899   } VALID_UOP_FLAG;
   12900 
   12901   typedef enum __MIDL___MIDL_itf_strmif_0376_0002 {
   12902     DVD_CMD_FLAG_None = 0,DVD_CMD_FLAG_Flush = 0x1,DVD_CMD_FLAG_SendEvents = 0x2,DVD_CMD_FLAG_Block = 0x4,DVD_CMD_FLAG_StartWhenRendered = 0x8,
   12903     DVD_CMD_FLAG_EndAfterRendered = 0x10
   12904   } DVD_CMD_FLAGS;
   12905 
   12906   typedef enum __MIDL___MIDL_itf_strmif_0376_0003 {
   12907     DVD_ResetOnStop = 1,DVD_NotifyParentalLevelChange = 2,DVD_HMSF_TimeCodeEvents = 3,DVD_AudioDuringFFwdRew = 4
   12908   } DVD_OPTION_FLAG;
   12909 
   12910   typedef enum __MIDL___MIDL_itf_strmif_0376_0004 {
   12911     DVD_Relative_Upper = 1,DVD_Relative_Lower = 2,DVD_Relative_Left = 3,DVD_Relative_Right = 4
   12912   } DVD_RELATIVE_BUTTON;
   12913 
   12914   typedef enum tagDVD_PARENTAL_LEVEL {
   12915     DVD_PARENTAL_LEVEL_8 = 0x8000,DVD_PARENTAL_LEVEL_7 = 0x4000,DVD_PARENTAL_LEVEL_6 = 0x2000,DVD_PARENTAL_LEVEL_5 = 0x1000,
   12916     DVD_PARENTAL_LEVEL_4 = 0x800,DVD_PARENTAL_LEVEL_3 = 0x400,DVD_PARENTAL_LEVEL_2 = 0x200,DVD_PARENTAL_LEVEL_1 = 0x100
   12917   } DVD_PARENTAL_LEVEL;
   12918 
   12919   typedef enum tagDVD_AUDIO_LANG_EXT {
   12920     DVD_AUD_EXT_NotSpecified = 0,DVD_AUD_EXT_Captions = 1,DVD_AUD_EXT_VisuallyImpaired = 2,DVD_AUD_EXT_DirectorComments1 = 3,
   12921     DVD_AUD_EXT_DirectorComments2 = 4
   12922   } DVD_AUDIO_LANG_EXT;
   12923 
   12924   typedef enum tagDVD_SUBPICTURE_LANG_EXT {
   12925     DVD_SP_EXT_NotSpecified = 0,DVD_SP_EXT_Caption_Normal = 1,DVD_SP_EXT_Caption_Big = 2,DVD_SP_EXT_Caption_Children = 3,DVD_SP_EXT_CC_Normal = 5,
   12926     DVD_SP_EXT_CC_Big = 6,DVD_SP_EXT_CC_Children = 7,DVD_SP_EXT_Forced = 9,DVD_SP_EXT_DirectorComments_Normal = 13,DVD_SP_EXT_DirectorComments_Big = 14,
   12927     DVD_SP_EXT_DirectorComments_Children = 15
   12928   } DVD_SUBPICTURE_LANG_EXT;
   12929 
   12930   typedef enum tagDVD_AUDIO_APPMODE {
   12931     DVD_AudioMode_None = 0,DVD_AudioMode_Karaoke = 1,DVD_AudioMode_Surround = 2,DVD_AudioMode_Other = 3
   12932   } DVD_AUDIO_APPMODE;
   12933 
   12934   typedef enum tagDVD_AUDIO_FORMAT {
   12935     DVD_AudioFormat_AC3 = 0,DVD_AudioFormat_MPEG1 = 1,DVD_AudioFormat_MPEG1_DRC = 2,DVD_AudioFormat_MPEG2 = 3,DVD_AudioFormat_MPEG2_DRC = 4,
   12936     DVD_AudioFormat_LPCM = 5,DVD_AudioFormat_DTS = 6,DVD_AudioFormat_SDDS = 7,DVD_AudioFormat_Other = 8
   12937   } DVD_AUDIO_FORMAT;
   12938 
   12939   typedef enum tagDVD_KARAOKE_DOWNMIX {
   12940     DVD_Mix_0to0 = 0x1,DVD_Mix_1to0 = 0x2,DVD_Mix_2to0 = 0x4,DVD_Mix_3to0 = 0x8,DVD_Mix_4to0 = 0x10,DVD_Mix_Lto0 = 0x20,DVD_Mix_Rto0 = 0x40,
   12941     DVD_Mix_0to1 = 0x100,DVD_Mix_1to1 = 0x200,DVD_Mix_2to1 = 0x400,DVD_Mix_3to1 = 0x800,DVD_Mix_4to1 = 0x1000,DVD_Mix_Lto1 = 0x2000,
   12942     DVD_Mix_Rto1 = 0x4000
   12943   } DVD_KARAOKE_DOWNMIX;
   12944 
   12945   typedef struct tagDVD_AudioAttributes {
   12946     DVD_AUDIO_APPMODE AppMode;
   12947     BYTE AppModeData;
   12948     DVD_AUDIO_FORMAT AudioFormat;
   12949     LCID Language;
   12950     DVD_AUDIO_LANG_EXT LanguageExtension;
   12951     WINBOOL fHasMultichannelInfo;
   12952     DWORD dwFrequency;
   12953     BYTE bQuantization;
   12954     BYTE bNumberOfChannels;
   12955     DWORD dwReserved[2];
   12956   } DVD_AudioAttributes;
   12957 
   12958   typedef struct tagDVD_MUA_MixingInfo {
   12959     WINBOOL fMixTo0;
   12960     WINBOOL fMixTo1;
   12961     WINBOOL fMix0InPhase;
   12962     WINBOOL fMix1InPhase;
   12963     DWORD dwSpeakerPosition;
   12964   } DVD_MUA_MixingInfo;
   12965 
   12966   typedef struct tagDVD_MUA_Coeff {
   12967     double log2_alpha;
   12968     double log2_beta;
   12969   } DVD_MUA_Coeff;
   12970 
   12971   typedef struct tagDVD_MultichannelAudioAttributes {
   12972     DVD_MUA_MixingInfo Info[8];
   12973     DVD_MUA_Coeff Coeff[8];
   12974   } DVD_MultichannelAudioAttributes;
   12975 
   12976   typedef enum tagDVD_KARAOKE_CONTENTS {
   12977     DVD_Karaoke_GuideVocal1 = 0x1,DVD_Karaoke_GuideVocal2 = 0x2,DVD_Karaoke_GuideMelody1 = 0x4,DVD_Karaoke_GuideMelody2 = 0x8,
   12978     DVD_Karaoke_GuideMelodyA = 0x10,DVD_Karaoke_GuideMelodyB = 0x20,DVD_Karaoke_SoundEffectA = 0x40,DVD_Karaoke_SoundEffectB = 0x80
   12979   } DVD_KARAOKE_CONTENTS;
   12980 
   12981   typedef enum tagDVD_KARAOKE_ASSIGNMENT {
   12982     DVD_Assignment_reserved0 = 0,DVD_Assignment_reserved1 = 1,DVD_Assignment_LR = 2,DVD_Assignment_LRM = 3,DVD_Assignment_LR1 = 4,
   12983     DVD_Assignment_LRM1 = 5,DVD_Assignment_LR12 = 6,DVD_Assignment_LRM12 = 7
   12984   } DVD_KARAOKE_ASSIGNMENT;
   12985 
   12986   typedef struct tagDVD_KaraokeAttributes {
   12987     BYTE bVersion;
   12988     WINBOOL fMasterOfCeremoniesInGuideVocal1;
   12989     WINBOOL fDuet;
   12990     DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
   12991     WORD wChannelContents[8];
   12992   } DVD_KaraokeAttributes;
   12993 
   12994   typedef enum tagDVD_VIDEO_COMPRESSION {
   12995     DVD_VideoCompression_Other = 0,DVD_VideoCompression_MPEG1 = 1,DVD_VideoCompression_MPEG2 = 2
   12996   } DVD_VIDEO_COMPRESSION;
   12997 
   12998   typedef struct tagDVD_VideoAttributes {
   12999     WINBOOL fPanscanPermitted;
   13000     WINBOOL fLetterboxPermitted;
   13001     ULONG ulAspectX;
   13002     ULONG ulAspectY;
   13003     ULONG ulFrameRate;
   13004     ULONG ulFrameHeight;
   13005     DVD_VIDEO_COMPRESSION Compression;
   13006     WINBOOL fLine21Field1InGOP;
   13007     WINBOOL fLine21Field2InGOP;
   13008     ULONG ulSourceResolutionX;
   13009     ULONG ulSourceResolutionY;
   13010     WINBOOL fIsSourceLetterboxed;
   13011     WINBOOL fIsFilmMode;
   13012   } DVD_VideoAttributes;
   13013 
   13014   typedef enum tagDVD_SUBPICTURE_TYPE {
   13015     DVD_SPType_NotSpecified = 0,DVD_SPType_Language = 1,DVD_SPType_Other = 2
   13016   } DVD_SUBPICTURE_TYPE;
   13017 
   13018   typedef enum tagDVD_SUBPICTURE_CODING {
   13019     DVD_SPCoding_RunLength = 0,DVD_SPCoding_Extended = 1,DVD_SPCoding_Other = 2
   13020   } DVD_SUBPICTURE_CODING;
   13021 
   13022   typedef struct tagDVD_SubpictureAttributes {
   13023     DVD_SUBPICTURE_TYPE Type;
   13024     DVD_SUBPICTURE_CODING CodingMode;
   13025     LCID Language;
   13026     DVD_SUBPICTURE_LANG_EXT LanguageExtension;
   13027   } DVD_SubpictureAttributes;
   13028 
   13029   typedef enum tagDVD_TITLE_APPMODE {
   13030     DVD_AppMode_Not_Specified = 0,DVD_AppMode_Karaoke = 1,DVD_AppMode_Other = 3
   13031   } DVD_TITLE_APPMODE;
   13032 
   13033   typedef struct tagDVD_TitleMainAttributes {
   13034     DVD_TITLE_APPMODE AppMode;
   13035     DVD_VideoAttributes VideoAttributes;
   13036     ULONG ulNumberOfAudioStreams;
   13037     DVD_AudioAttributes AudioAttributes[8];
   13038     DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8];
   13039     ULONG ulNumberOfSubpictureStreams;
   13040     DVD_SubpictureAttributes SubpictureAttributes[32];
   13041   } DVD_TitleAttributes;
   13042 
   13043   typedef struct tagDVD_MenuAttributes {
   13044     WINBOOL fCompatibleRegion[8];
   13045     DVD_VideoAttributes VideoAttributes;
   13046     WINBOOL fAudioPresent;
   13047     DVD_AudioAttributes AudioAttributes;
   13048     WINBOOL fSubpicturePresent;
   13049     DVD_SubpictureAttributes SubpictureAttributes;
   13050   } DVD_MenuAttributes;
   13051 
   13052   extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec;
   13053   extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec;
   13054 #ifndef __IDvdControl_INTERFACE_DEFINED__
   13055 #define __IDvdControl_INTERFACE_DEFINED__
   13056   EXTERN_C const IID IID_IDvdControl;
   13057 #if defined(__cplusplus) && !defined(CINTERFACE)
   13058   struct IDvdControl : public IUnknown {
   13059   public:
   13060     virtual HRESULT WINAPI TitlePlay(ULONG ulTitle) = 0;
   13061     virtual HRESULT WINAPI ChapterPlay(ULONG ulTitle,ULONG ulChapter) = 0;
   13062     virtual HRESULT WINAPI TimePlay(ULONG ulTitle,ULONG bcdTime) = 0;
   13063     virtual HRESULT WINAPI StopForResume(void) = 0;
   13064     virtual HRESULT WINAPI GoUp(void) = 0;
   13065     virtual HRESULT WINAPI TimeSearch(ULONG bcdTime) = 0;
   13066     virtual HRESULT WINAPI ChapterSearch(ULONG ulChapter) = 0;
   13067     virtual HRESULT WINAPI PrevPGSearch(void) = 0;
   13068     virtual HRESULT WINAPI TopPGSearch(void) = 0;
   13069     virtual HRESULT WINAPI NextPGSearch(void) = 0;
   13070     virtual HRESULT WINAPI ForwardScan(double dwSpeed) = 0;
   13071     virtual HRESULT WINAPI BackwardScan(double dwSpeed) = 0;
   13072     virtual HRESULT WINAPI MenuCall(DVD_MENU_ID MenuID) = 0;
   13073     virtual HRESULT WINAPI Resume(void) = 0;
   13074     virtual HRESULT WINAPI UpperButtonSelect(void) = 0;
   13075     virtual HRESULT WINAPI LowerButtonSelect(void) = 0;
   13076     virtual HRESULT WINAPI LeftButtonSelect(void) = 0;
   13077     virtual HRESULT WINAPI RightButtonSelect(void) = 0;
   13078     virtual HRESULT WINAPI ButtonActivate(void) = 0;
   13079     virtual HRESULT WINAPI ButtonSelectAndActivate(ULONG ulButton) = 0;
   13080     virtual HRESULT WINAPI StillOff(void) = 0;
   13081     virtual HRESULT WINAPI PauseOn(void) = 0;
   13082     virtual HRESULT WINAPI PauseOff(void) = 0;
   13083     virtual HRESULT WINAPI MenuLanguageSelect(LCID Language) = 0;
   13084     virtual HRESULT WINAPI AudioStreamChange(ULONG ulAudio) = 0;
   13085     virtual HRESULT WINAPI SubpictureStreamChange(ULONG ulSubPicture,WINBOOL bDisplay) = 0;
   13086     virtual HRESULT WINAPI AngleChange(ULONG ulAngle) = 0;
   13087     virtual HRESULT WINAPI ParentalLevelSelect(ULONG ulParentalLevel) = 0;
   13088     virtual HRESULT WINAPI ParentalCountrySelect(WORD wCountry) = 0;
   13089     virtual HRESULT WINAPI KaraokeAudioPresentationModeChange(ULONG ulMode) = 0;
   13090     virtual HRESULT WINAPI VideoModePreferrence(ULONG ulPreferredDisplayMode) = 0;
   13091     virtual HRESULT WINAPI SetRoot(LPCWSTR pszPath) = 0;
   13092     virtual HRESULT WINAPI MouseActivate(POINT point) = 0;
   13093     virtual HRESULT WINAPI MouseSelect(POINT point) = 0;
   13094     virtual HRESULT WINAPI ChapterPlayAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay) = 0;
   13095   };
   13096 #else
   13097   typedef struct IDvdControlVtbl {
   13098     BEGIN_INTERFACE
   13099       HRESULT (WINAPI *QueryInterface)(IDvdControl *This,REFIID riid,void **ppvObject);
   13100       ULONG (WINAPI *AddRef)(IDvdControl *This);
   13101       ULONG (WINAPI *Release)(IDvdControl *This);
   13102       HRESULT (WINAPI *TitlePlay)(IDvdControl *This,ULONG ulTitle);
   13103       HRESULT (WINAPI *ChapterPlay)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
   13104       HRESULT (WINAPI *TimePlay)(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
   13105       HRESULT (WINAPI *StopForResume)(IDvdControl *This);
   13106       HRESULT (WINAPI *GoUp)(IDvdControl *This);
   13107       HRESULT (WINAPI *TimeSearch)(IDvdControl *This,ULONG bcdTime);
   13108       HRESULT (WINAPI *ChapterSearch)(IDvdControl *This,ULONG ulChapter);
   13109       HRESULT (WINAPI *PrevPGSearch)(IDvdControl *This);
   13110       HRESULT (WINAPI *TopPGSearch)(IDvdControl *This);
   13111       HRESULT (WINAPI *NextPGSearch)(IDvdControl *This);
   13112       HRESULT (WINAPI *ForwardScan)(IDvdControl *This,double dwSpeed);
   13113       HRESULT (WINAPI *BackwardScan)(IDvdControl *This,double dwSpeed);
   13114       HRESULT (WINAPI *MenuCall)(IDvdControl *This,DVD_MENU_ID MenuID);
   13115       HRESULT (WINAPI *Resume)(IDvdControl *This);
   13116       HRESULT (WINAPI *UpperButtonSelect)(IDvdControl *This);
   13117       HRESULT (WINAPI *LowerButtonSelect)(IDvdControl *This);
   13118       HRESULT (WINAPI *LeftButtonSelect)(IDvdControl *This);
   13119       HRESULT (WINAPI *RightButtonSelect)(IDvdControl *This);
   13120       HRESULT (WINAPI *ButtonActivate)(IDvdControl *This);
   13121       HRESULT (WINAPI *ButtonSelectAndActivate)(IDvdControl *This,ULONG ulButton);
   13122       HRESULT (WINAPI *StillOff)(IDvdControl *This);
   13123       HRESULT (WINAPI *PauseOn)(IDvdControl *This);
   13124       HRESULT (WINAPI *PauseOff)(IDvdControl *This);
   13125       HRESULT (WINAPI *MenuLanguageSelect)(IDvdControl *This,LCID Language);
   13126       HRESULT (WINAPI *AudioStreamChange)(IDvdControl *This,ULONG ulAudio);
   13127       HRESULT (WINAPI *SubpictureStreamChange)(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
   13128       HRESULT (WINAPI *AngleChange)(IDvdControl *This,ULONG ulAngle);
   13129       HRESULT (WINAPI *ParentalLevelSelect)(IDvdControl *This,ULONG ulParentalLevel);
   13130       HRESULT (WINAPI *ParentalCountrySelect)(IDvdControl *This,WORD wCountry);
   13131       HRESULT (WINAPI *KaraokeAudioPresentationModeChange)(IDvdControl *This,ULONG ulMode);
   13132       HRESULT (WINAPI *VideoModePreferrence)(IDvdControl *This,ULONG ulPreferredDisplayMode);
   13133       HRESULT (WINAPI *SetRoot)(IDvdControl *This,LPCWSTR pszPath);
   13134       HRESULT (WINAPI *MouseActivate)(IDvdControl *This,POINT point);
   13135       HRESULT (WINAPI *MouseSelect)(IDvdControl *This,POINT point);
   13136       HRESULT (WINAPI *ChapterPlayAutoStop)(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
   13137     END_INTERFACE
   13138   } IDvdControlVtbl;
   13139   struct IDvdControl {
   13140     CONST_VTBL struct IDvdControlVtbl *lpVtbl;
   13141   };
   13142 #ifdef COBJMACROS
   13143 #define IDvdControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13144 #define IDvdControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   13145 #define IDvdControl_Release(This) (This)->lpVtbl->Release(This)
   13146 #define IDvdControl_TitlePlay(This,ulTitle) (This)->lpVtbl->TitlePlay(This,ulTitle)
   13147 #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) (This)->lpVtbl->ChapterPlay(This,ulTitle,ulChapter)
   13148 #define IDvdControl_TimePlay(This,ulTitle,bcdTime) (This)->lpVtbl->TimePlay(This,ulTitle,bcdTime)
   13149 #define IDvdControl_StopForResume(This) (This)->lpVtbl->StopForResume(This)
   13150 #define IDvdControl_GoUp(This) (This)->lpVtbl->GoUp(This)
   13151 #define IDvdControl_TimeSearch(This,bcdTime) (This)->lpVtbl->TimeSearch(This,bcdTime)
   13152 #define IDvdControl_ChapterSearch(This,ulChapter) (This)->lpVtbl->ChapterSearch(This,ulChapter)
   13153 #define IDvdControl_PrevPGSearch(This) (This)->lpVtbl->PrevPGSearch(This)
   13154 #define IDvdControl_TopPGSearch(This) (This)->lpVtbl->TopPGSearch(This)
   13155 #define IDvdControl_NextPGSearch(This) (This)->lpVtbl->NextPGSearch(This)
   13156 #define IDvdControl_ForwardScan(This,dwSpeed) (This)->lpVtbl->ForwardScan(This,dwSpeed)
   13157 #define IDvdControl_BackwardScan(This,dwSpeed) (This)->lpVtbl->BackwardScan(This,dwSpeed)
   13158 #define IDvdControl_MenuCall(This,MenuID) (This)->lpVtbl->MenuCall(This,MenuID)
   13159 #define IDvdControl_Resume(This) (This)->lpVtbl->Resume(This)
   13160 #define IDvdControl_UpperButtonSelect(This) (This)->lpVtbl->UpperButtonSelect(This)
   13161 #define IDvdControl_LowerButtonSelect(This) (This)->lpVtbl->LowerButtonSelect(This)
   13162 #define IDvdControl_LeftButtonSelect(This) (This)->lpVtbl->LeftButtonSelect(This)
   13163 #define IDvdControl_RightButtonSelect(This) (This)->lpVtbl->RightButtonSelect(This)
   13164 #define IDvdControl_ButtonActivate(This) (This)->lpVtbl->ButtonActivate(This)
   13165 #define IDvdControl_ButtonSelectAndActivate(This,ulButton) (This)->lpVtbl->ButtonSelectAndActivate(This,ulButton)
   13166 #define IDvdControl_StillOff(This) (This)->lpVtbl->StillOff(This)
   13167 #define IDvdControl_PauseOn(This) (This)->lpVtbl->PauseOn(This)
   13168 #define IDvdControl_PauseOff(This) (This)->lpVtbl->PauseOff(This)
   13169 #define IDvdControl_MenuLanguageSelect(This,Language) (This)->lpVtbl->MenuLanguageSelect(This,Language)
   13170 #define IDvdControl_AudioStreamChange(This,ulAudio) (This)->lpVtbl->AudioStreamChange(This,ulAudio)
   13171 #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) (This)->lpVtbl->SubpictureStreamChange(This,ulSubPicture,bDisplay)
   13172 #define IDvdControl_AngleChange(This,ulAngle) (This)->lpVtbl->AngleChange(This,ulAngle)
   13173 #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) (This)->lpVtbl->ParentalLevelSelect(This,ulParentalLevel)
   13174 #define IDvdControl_ParentalCountrySelect(This,wCountry) (This)->lpVtbl->ParentalCountrySelect(This,wCountry)
   13175 #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) (This)->lpVtbl->KaraokeAudioPresentationModeChange(This,ulMode)
   13176 #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) (This)->lpVtbl->VideoModePreferrence(This,ulPreferredDisplayMode)
   13177 #define IDvdControl_SetRoot(This,pszPath) (This)->lpVtbl->SetRoot(This,pszPath)
   13178 #define IDvdControl_MouseActivate(This,point) (This)->lpVtbl->MouseActivate(This,point)
   13179 #define IDvdControl_MouseSelect(This,point) (This)->lpVtbl->MouseSelect(This,point)
   13180 #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) (This)->lpVtbl->ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
   13181 #endif
   13182 #endif
   13183   HRESULT WINAPI IDvdControl_TitlePlay_Proxy(IDvdControl *This,ULONG ulTitle);
   13184   void __RPC_STUB IDvdControl_TitlePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13185   HRESULT WINAPI IDvdControl_ChapterPlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter);
   13186   void __RPC_STUB IDvdControl_ChapterPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13187   HRESULT WINAPI IDvdControl_TimePlay_Proxy(IDvdControl *This,ULONG ulTitle,ULONG bcdTime);
   13188   void __RPC_STUB IDvdControl_TimePlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13189   HRESULT WINAPI IDvdControl_StopForResume_Proxy(IDvdControl *This);
   13190   void __RPC_STUB IDvdControl_StopForResume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13191   HRESULT WINAPI IDvdControl_GoUp_Proxy(IDvdControl *This);
   13192   void __RPC_STUB IDvdControl_GoUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13193   HRESULT WINAPI IDvdControl_TimeSearch_Proxy(IDvdControl *This,ULONG bcdTime);
   13194   void __RPC_STUB IDvdControl_TimeSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13195   HRESULT WINAPI IDvdControl_ChapterSearch_Proxy(IDvdControl *This,ULONG ulChapter);
   13196   void __RPC_STUB IDvdControl_ChapterSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13197   HRESULT WINAPI IDvdControl_PrevPGSearch_Proxy(IDvdControl *This);
   13198   void __RPC_STUB IDvdControl_PrevPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13199   HRESULT WINAPI IDvdControl_TopPGSearch_Proxy(IDvdControl *This);
   13200   void __RPC_STUB IDvdControl_TopPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13201   HRESULT WINAPI IDvdControl_NextPGSearch_Proxy(IDvdControl *This);
   13202   void __RPC_STUB IDvdControl_NextPGSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13203   HRESULT WINAPI IDvdControl_ForwardScan_Proxy(IDvdControl *This,double dwSpeed);
   13204   void __RPC_STUB IDvdControl_ForwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13205   HRESULT WINAPI IDvdControl_BackwardScan_Proxy(IDvdControl *This,double dwSpeed);
   13206   void __RPC_STUB IDvdControl_BackwardScan_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13207   HRESULT WINAPI IDvdControl_MenuCall_Proxy(IDvdControl *This,DVD_MENU_ID MenuID);
   13208   void __RPC_STUB IDvdControl_MenuCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13209   HRESULT WINAPI IDvdControl_Resume_Proxy(IDvdControl *This);
   13210   void __RPC_STUB IDvdControl_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13211   HRESULT WINAPI IDvdControl_UpperButtonSelect_Proxy(IDvdControl *This);
   13212   void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13213   HRESULT WINAPI IDvdControl_LowerButtonSelect_Proxy(IDvdControl *This);
   13214   void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13215   HRESULT WINAPI IDvdControl_LeftButtonSelect_Proxy(IDvdControl *This);
   13216   void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13217   HRESULT WINAPI IDvdControl_RightButtonSelect_Proxy(IDvdControl *This);
   13218   void __RPC_STUB IDvdControl_RightButtonSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13219   HRESULT WINAPI IDvdControl_ButtonActivate_Proxy(IDvdControl *This);
   13220   void __RPC_STUB IDvdControl_ButtonActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13221   HRESULT WINAPI IDvdControl_ButtonSelectAndActivate_Proxy(IDvdControl *This,ULONG ulButton);
   13222   void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13223   HRESULT WINAPI IDvdControl_StillOff_Proxy(IDvdControl *This);
   13224   void __RPC_STUB IDvdControl_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13225   HRESULT WINAPI IDvdControl_PauseOn_Proxy(IDvdControl *This);
   13226   void __RPC_STUB IDvdControl_PauseOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13227   HRESULT WINAPI IDvdControl_PauseOff_Proxy(IDvdControl *This);
   13228   void __RPC_STUB IDvdControl_PauseOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13229   HRESULT WINAPI IDvdControl_MenuLanguageSelect_Proxy(IDvdControl *This,LCID Language);
   13230   void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13231   HRESULT WINAPI IDvdControl_AudioStreamChange_Proxy(IDvdControl *This,ULONG ulAudio);
   13232   void __RPC_STUB IDvdControl_AudioStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13233   HRESULT WINAPI IDvdControl_SubpictureStreamChange_Proxy(IDvdControl *This,ULONG ulSubPicture,WINBOOL bDisplay);
   13234   void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13235   HRESULT WINAPI IDvdControl_AngleChange_Proxy(IDvdControl *This,ULONG ulAngle);
   13236   void __RPC_STUB IDvdControl_AngleChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13237   HRESULT WINAPI IDvdControl_ParentalLevelSelect_Proxy(IDvdControl *This,ULONG ulParentalLevel);
   13238   void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13239   HRESULT WINAPI IDvdControl_ParentalCountrySelect_Proxy(IDvdControl *This,WORD wCountry);
   13240   void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13241   HRESULT WINAPI IDvdControl_KaraokeAudioPresentationModeChange_Proxy(IDvdControl *This,ULONG ulMode);
   13242   void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13243   HRESULT WINAPI IDvdControl_VideoModePreferrence_Proxy(IDvdControl *This,ULONG ulPreferredDisplayMode);
   13244   void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13245   HRESULT WINAPI IDvdControl_SetRoot_Proxy(IDvdControl *This,LPCWSTR pszPath);
   13246   void __RPC_STUB IDvdControl_SetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13247   HRESULT WINAPI IDvdControl_MouseActivate_Proxy(IDvdControl *This,POINT point);
   13248   void __RPC_STUB IDvdControl_MouseActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13249   HRESULT WINAPI IDvdControl_MouseSelect_Proxy(IDvdControl *This,POINT point);
   13250   void __RPC_STUB IDvdControl_MouseSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13251   HRESULT WINAPI IDvdControl_ChapterPlayAutoStop_Proxy(IDvdControl *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay);
   13252   void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13253 #endif
   13254 
   13255 #ifndef __IDvdInfo_INTERFACE_DEFINED__
   13256 #define __IDvdInfo_INTERFACE_DEFINED__
   13257   EXTERN_C const IID IID_IDvdInfo;
   13258 #if defined(__cplusplus) && !defined(CINTERFACE)
   13259   struct IDvdInfo : public IUnknown {
   13260   public:
   13261     virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
   13262     virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION *pLocation) = 0;
   13263     virtual HRESULT WINAPI GetTotalTitleTime(ULONG *pulTotalTime) = 0;
   13264     virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
   13265     virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
   13266     virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
   13267     virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled) = 0;
   13268     virtual HRESULT WINAPI GetCurrentUOPS(VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
   13269     virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
   13270     virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
   13271     virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   13272     virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   13273     virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_ATR *pATR) = 0;
   13274     virtual HRESULT WINAPI GetVMGAttributes(DVD_ATR *pATR) = 0;
   13275     virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoATR *pATR) = 0;
   13276     virtual HRESULT WINAPI GetCurrentAudioAttributes(DVD_AudioATR *pATR) = 0;
   13277     virtual HRESULT WINAPI GetCurrentSubpictureAttributes(DVD_SubpictureATR *pATR) = 0;
   13278     virtual HRESULT WINAPI GetCurrentVolumeInfo(ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
   13279     virtual HRESULT WINAPI GetDVDTextInfo(BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize) = 0;
   13280     virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,ULONG *pulCountryCode) = 0;
   13281     virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumberOfChapters) = 0;
   13282     virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
   13283     virtual HRESULT WINAPI GetRoot(LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize) = 0;
   13284   };
   13285 #else
   13286   typedef struct IDvdInfoVtbl {
   13287     BEGIN_INTERFACE
   13288       HRESULT (WINAPI *QueryInterface)(IDvdInfo *This,REFIID riid,void **ppvObject);
   13289       ULONG (WINAPI *AddRef)(IDvdInfo *This);
   13290       ULONG (WINAPI *Release)(IDvdInfo *This);
   13291       HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo *This,DVD_DOMAIN *pDomain);
   13292       HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
   13293       HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo *This,ULONG *pulTotalTime);
   13294       HRESULT (WINAPI *GetCurrentButton)(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   13295       HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   13296       HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   13297       HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
   13298       HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
   13299       HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo *This,SPRMARRAY *pRegisterArray);
   13300       HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo *This,GPRMARRAY *pRegisterArray);
   13301       HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   13302       HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   13303       HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
   13304       HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo *This,DVD_ATR *pATR);
   13305       HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo *This,DVD_VideoATR *pATR);
   13306       HRESULT (WINAPI *GetCurrentAudioAttributes)(IDvdInfo *This,DVD_AudioATR *pATR);
   13307       HRESULT (WINAPI *GetCurrentSubpictureAttributes)(IDvdInfo *This,DVD_SubpictureATR *pATR);
   13308       HRESULT (WINAPI *GetCurrentVolumeInfo)(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   13309       HRESULT (WINAPI *GetDVDTextInfo)(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
   13310       HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
   13311       HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
   13312       HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
   13313       HRESULT (WINAPI *GetRoot)(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
   13314     END_INTERFACE
   13315   } IDvdInfoVtbl;
   13316   struct IDvdInfo {
   13317     CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
   13318   };
   13319 #ifdef COBJMACROS
   13320 #define IDvdInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13321 #define IDvdInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   13322 #define IDvdInfo_Release(This) (This)->lpVtbl->Release(This)
   13323 #define IDvdInfo_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
   13324 #define IDvdInfo_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
   13325 #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) (This)->lpVtbl->GetTotalTitleTime(This,pulTotalTime)
   13326 #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
   13327 #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
   13328 #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
   13329 #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
   13330 #define IDvdInfo_GetCurrentUOPS(This,pUOP) (This)->lpVtbl->GetCurrentUOPS(This,pUOP)
   13331 #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
   13332 #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
   13333 #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
   13334 #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
   13335 #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pATR)
   13336 #define IDvdInfo_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
   13337 #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
   13338 #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) (This)->lpVtbl->GetCurrentAudioAttributes(This,pATR)
   13339 #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) (This)->lpVtbl->GetCurrentSubpictureAttributes(This,pATR)
   13340 #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) (This)->lpVtbl->GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
   13341 #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) (This)->lpVtbl->GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
   13342 #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
   13343 #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
   13344 #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
   13345 #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) (This)->lpVtbl->GetRoot(This,pRoot,ulBufSize,pulActualSize)
   13346 #endif
   13347 #endif
   13348   HRESULT WINAPI IDvdInfo_GetCurrentDomain_Proxy(IDvdInfo *This,DVD_DOMAIN *pDomain);
   13349   void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13350   HRESULT WINAPI IDvdInfo_GetCurrentLocation_Proxy(IDvdInfo *This,DVD_PLAYBACK_LOCATION *pLocation);
   13351   void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13352   HRESULT WINAPI IDvdInfo_GetTotalTitleTime_Proxy(IDvdInfo *This,ULONG *pulTotalTime);
   13353   void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13354   HRESULT WINAPI IDvdInfo_GetCurrentButton_Proxy(IDvdInfo *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   13355   void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13356   HRESULT WINAPI IDvdInfo_GetCurrentAngle_Proxy(IDvdInfo *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   13357   void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13358   HRESULT WINAPI IDvdInfo_GetCurrentAudio_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   13359   void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13360   HRESULT WINAPI IDvdInfo_GetCurrentSubpicture_Proxy(IDvdInfo *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pIsDisabled);
   13361   void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13362   HRESULT WINAPI IDvdInfo_GetCurrentUOPS_Proxy(IDvdInfo *This,VALID_UOP_SOMTHING_OR_OTHER *pUOP);
   13363   void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13364   HRESULT WINAPI IDvdInfo_GetAllSPRMs_Proxy(IDvdInfo *This,SPRMARRAY *pRegisterArray);
   13365   void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13366   HRESULT WINAPI IDvdInfo_GetAllGPRMs_Proxy(IDvdInfo *This,GPRMARRAY *pRegisterArray);
   13367   void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13368   HRESULT WINAPI IDvdInfo_GetAudioLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   13369   void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13370   HRESULT WINAPI IDvdInfo_GetSubpictureLanguage_Proxy(IDvdInfo *This,ULONG ulStream,LCID *pLanguage);
   13371   void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13372   HRESULT WINAPI IDvdInfo_GetTitleAttributes_Proxy(IDvdInfo *This,ULONG ulTitle,DVD_ATR *pATR);
   13373   void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13374   HRESULT WINAPI IDvdInfo_GetVMGAttributes_Proxy(IDvdInfo *This,DVD_ATR *pATR);
   13375   void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13376   HRESULT WINAPI IDvdInfo_GetCurrentVideoAttributes_Proxy(IDvdInfo *This,DVD_VideoATR *pATR);
   13377   void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13378   HRESULT WINAPI IDvdInfo_GetCurrentAudioAttributes_Proxy(IDvdInfo *This,DVD_AudioATR *pATR);
   13379   void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13380   HRESULT WINAPI IDvdInfo_GetCurrentSubpictureAttributes_Proxy(IDvdInfo *This,DVD_SubpictureATR *pATR);
   13381   void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13382   HRESULT WINAPI IDvdInfo_GetCurrentVolumeInfo_Proxy(IDvdInfo *This,ULONG *pulNumOfVol,ULONG *pulThisVolNum,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   13383   void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13384   HRESULT WINAPI IDvdInfo_GetDVDTextInfo_Proxy(IDvdInfo *This,BYTE *pTextManager,ULONG ulBufSize,ULONG *pulActualSize);
   13385   void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13386   HRESULT WINAPI IDvdInfo_GetPlayerParentalLevel_Proxy(IDvdInfo *This,ULONG *pulParentalLevel,ULONG *pulCountryCode);
   13387   void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13388   HRESULT WINAPI IDvdInfo_GetNumberOfChapters_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulNumberOfChapters);
   13389   void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13390   HRESULT WINAPI IDvdInfo_GetTitleParentalLevels_Proxy(IDvdInfo *This,ULONG ulTitle,ULONG *pulParentalLevels);
   13391   void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13392   HRESULT WINAPI IDvdInfo_GetRoot_Proxy(IDvdInfo *This,LPSTR pRoot,ULONG ulBufSize,ULONG *pulActualSize);
   13393   void __RPC_STUB IDvdInfo_GetRoot_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13394 #endif
   13395 
   13396 #ifndef __IDvdCmd_INTERFACE_DEFINED__
   13397 #define __IDvdCmd_INTERFACE_DEFINED__
   13398   EXTERN_C const IID IID_IDvdCmd;
   13399 #if defined(__cplusplus) && !defined(CINTERFACE)
   13400   struct IDvdCmd : public IUnknown {
   13401   public:
   13402     virtual HRESULT WINAPI WaitForStart(void) = 0;
   13403     virtual HRESULT WINAPI WaitForEnd(void) = 0;
   13404   };
   13405 #else
   13406   typedef struct IDvdCmdVtbl {
   13407     BEGIN_INTERFACE
   13408       HRESULT (WINAPI *QueryInterface)(IDvdCmd *This,REFIID riid,void **ppvObject);
   13409       ULONG (WINAPI *AddRef)(IDvdCmd *This);
   13410       ULONG (WINAPI *Release)(IDvdCmd *This);
   13411       HRESULT (WINAPI *WaitForStart)(IDvdCmd *This);
   13412       HRESULT (WINAPI *WaitForEnd)(IDvdCmd *This);
   13413     END_INTERFACE
   13414   } IDvdCmdVtbl;
   13415   struct IDvdCmd {
   13416     CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
   13417   };
   13418 #ifdef COBJMACROS
   13419 #define IDvdCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13420 #define IDvdCmd_AddRef(This) (This)->lpVtbl->AddRef(This)
   13421 #define IDvdCmd_Release(This) (This)->lpVtbl->Release(This)
   13422 #define IDvdCmd_WaitForStart(This) (This)->lpVtbl->WaitForStart(This)
   13423 #define IDvdCmd_WaitForEnd(This) (This)->lpVtbl->WaitForEnd(This)
   13424 #endif
   13425 #endif
   13426   HRESULT WINAPI IDvdCmd_WaitForStart_Proxy(IDvdCmd *This);
   13427   void __RPC_STUB IDvdCmd_WaitForStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13428   HRESULT WINAPI IDvdCmd_WaitForEnd_Proxy(IDvdCmd *This);
   13429   void __RPC_STUB IDvdCmd_WaitForEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13430 #endif
   13431 
   13432 #ifndef __IDvdState_INTERFACE_DEFINED__
   13433 #define __IDvdState_INTERFACE_DEFINED__
   13434   EXTERN_C const IID IID_IDvdState;
   13435 #if defined(__cplusplus) && !defined(CINTERFACE)
   13436   struct IDvdState : public IUnknown {
   13437   public:
   13438     virtual HRESULT WINAPI GetDiscID(ULONGLONG *pullUniqueID) = 0;
   13439     virtual HRESULT WINAPI GetParentalLevel(ULONG *pulParentalLevel) = 0;
   13440   };
   13441 #else
   13442   typedef struct IDvdStateVtbl {
   13443     BEGIN_INTERFACE
   13444       HRESULT (WINAPI *QueryInterface)(IDvdState *This,REFIID riid,void **ppvObject);
   13445       ULONG (WINAPI *AddRef)(IDvdState *This);
   13446       ULONG (WINAPI *Release)(IDvdState *This);
   13447       HRESULT (WINAPI *GetDiscID)(IDvdState *This,ULONGLONG *pullUniqueID);
   13448       HRESULT (WINAPI *GetParentalLevel)(IDvdState *This,ULONG *pulParentalLevel);
   13449     END_INTERFACE
   13450   } IDvdStateVtbl;
   13451   struct IDvdState {
   13452     CONST_VTBL struct IDvdStateVtbl *lpVtbl;
   13453   };
   13454 #ifdef COBJMACROS
   13455 #define IDvdState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13456 #define IDvdState_AddRef(This) (This)->lpVtbl->AddRef(This)
   13457 #define IDvdState_Release(This) (This)->lpVtbl->Release(This)
   13458 #define IDvdState_GetDiscID(This,pullUniqueID) (This)->lpVtbl->GetDiscID(This,pullUniqueID)
   13459 #define IDvdState_GetParentalLevel(This,pulParentalLevel) (This)->lpVtbl->GetParentalLevel(This,pulParentalLevel)
   13460 #endif
   13461 #endif
   13462   HRESULT WINAPI IDvdState_GetDiscID_Proxy(IDvdState *This,ULONGLONG *pullUniqueID);
   13463   void __RPC_STUB IDvdState_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13464   HRESULT WINAPI IDvdState_GetParentalLevel_Proxy(IDvdState *This,ULONG *pulParentalLevel);
   13465   void __RPC_STUB IDvdState_GetParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13466 #endif
   13467 
   13468 #ifndef __IDvdControl2_INTERFACE_DEFINED__
   13469 #define __IDvdControl2_INTERFACE_DEFINED__
   13470   EXTERN_C const IID IID_IDvdControl2;
   13471 #if defined(__cplusplus) && !defined(CINTERFACE)
   13472   struct IDvdControl2 : public IUnknown {
   13473   public:
   13474     virtual HRESULT WINAPI PlayTitle(ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13475     virtual HRESULT WINAPI PlayChapterInTitle(ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13476     virtual HRESULT WINAPI PlayAtTimeInTitle(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13477     virtual HRESULT WINAPI Stop(void) = 0;
   13478     virtual HRESULT WINAPI ReturnFromSubmenu(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13479     virtual HRESULT WINAPI PlayAtTime(DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13480     virtual HRESULT WINAPI PlayChapter(ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13481     virtual HRESULT WINAPI PlayPrevChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13482     virtual HRESULT WINAPI ReplayChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13483     virtual HRESULT WINAPI PlayNextChapter(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13484     virtual HRESULT WINAPI PlayForwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13485     virtual HRESULT WINAPI PlayBackwards(double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13486     virtual HRESULT WINAPI ShowMenu(DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13487     virtual HRESULT WINAPI Resume(DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13488     virtual HRESULT WINAPI SelectRelativeButton(DVD_RELATIVE_BUTTON buttonDir) = 0;
   13489     virtual HRESULT WINAPI ActivateButton(void) = 0;
   13490     virtual HRESULT WINAPI SelectButton(ULONG ulButton) = 0;
   13491     virtual HRESULT WINAPI SelectAndActivateButton(ULONG ulButton) = 0;
   13492     virtual HRESULT WINAPI StillOff(void) = 0;
   13493     virtual HRESULT WINAPI Pause(WINBOOL bState) = 0;
   13494     virtual HRESULT WINAPI SelectAudioStream(ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13495     virtual HRESULT WINAPI SelectSubpictureStream(ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13496     virtual HRESULT WINAPI SetSubpictureState(WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13497     virtual HRESULT WINAPI SelectAngle(ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13498     virtual HRESULT WINAPI SelectParentalLevel(ULONG ulParentalLevel) = 0;
   13499     virtual HRESULT WINAPI SelectParentalCountry(BYTE bCountry[2]) = 0;
   13500     virtual HRESULT WINAPI SelectKaraokeAudioPresentationMode(ULONG ulMode) = 0;
   13501     virtual HRESULT WINAPI SelectVideoModePreference(ULONG ulPreferredDisplayMode) = 0;
   13502     virtual HRESULT WINAPI SetDVDDirectory(LPCWSTR pszwPath) = 0;
   13503     virtual HRESULT WINAPI ActivateAtPosition(POINT point) = 0;
   13504     virtual HRESULT WINAPI SelectAtPosition(POINT point) = 0;
   13505     virtual HRESULT WINAPI PlayChaptersAutoStop(ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13506     virtual HRESULT WINAPI AcceptParentalLevelChange(WINBOOL bAccept) = 0;
   13507     virtual HRESULT WINAPI SetOption(DVD_OPTION_FLAG flag,WINBOOL fState) = 0;
   13508     virtual HRESULT WINAPI SetState(IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13509     virtual HRESULT WINAPI PlayPeriodInTitleAutoStop(ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13510     virtual HRESULT WINAPI SetGPRM(ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd) = 0;
   13511     virtual HRESULT WINAPI SelectDefaultMenuLanguage(LCID Language) = 0;
   13512     virtual HRESULT WINAPI SelectDefaultAudioLanguage(LCID Language,DVD_AUDIO_LANG_EXT audioExtension) = 0;
   13513     virtual HRESULT WINAPI SelectDefaultSubpictureLanguage(LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
   13514   };
   13515 #else
   13516   typedef struct IDvdControl2Vtbl {
   13517     BEGIN_INTERFACE
   13518       HRESULT (WINAPI *QueryInterface)(IDvdControl2 *This,REFIID riid,void **ppvObject);
   13519       ULONG (WINAPI *AddRef)(IDvdControl2 *This);
   13520       ULONG (WINAPI *Release)(IDvdControl2 *This);
   13521       HRESULT (WINAPI *PlayTitle)(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
   13522       HRESULT (WINAPI *PlayChapterInTitle)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   13523       HRESULT (WINAPI *PlayAtTimeInTitle)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
   13524       HRESULT (WINAPI *Stop)(IDvdControl2 *This);
   13525       HRESULT (WINAPI *ReturnFromSubmenu)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13526       HRESULT (WINAPI *PlayAtTime)(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
   13527       HRESULT (WINAPI *PlayChapter)(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   13528       HRESULT (WINAPI *PlayPrevChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13529       HRESULT (WINAPI *ReplayChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13530       HRESULT (WINAPI *PlayNextChapter)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13531       HRESULT (WINAPI *PlayForwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   13532       HRESULT (WINAPI *PlayBackwards)(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   13533       HRESULT (WINAPI *ShowMenu)(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
   13534       HRESULT (WINAPI *Resume)(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13535       HRESULT (WINAPI *SelectRelativeButton)(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
   13536       HRESULT (WINAPI *ActivateButton)(IDvdControl2 *This);
   13537       HRESULT (WINAPI *SelectButton)(IDvdControl2 *This,ULONG ulButton);
   13538       HRESULT (WINAPI *SelectAndActivateButton)(IDvdControl2 *This,ULONG ulButton);
   13539       HRESULT (WINAPI *StillOff)(IDvdControl2 *This);
   13540       HRESULT (WINAPI *Pause)(IDvdControl2 *This,WINBOOL bState);
   13541       HRESULT (WINAPI *SelectAudioStream)(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
   13542       HRESULT (WINAPI *SelectSubpictureStream)(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
   13543       HRESULT (WINAPI *SetSubpictureState)(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
   13544       HRESULT (WINAPI *SelectAngle)(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
   13545       HRESULT (WINAPI *SelectParentalLevel)(IDvdControl2 *This,ULONG ulParentalLevel);
   13546       HRESULT (WINAPI *SelectParentalCountry)(IDvdControl2 *This,BYTE bCountry[2]);
   13547       HRESULT (WINAPI *SelectKaraokeAudioPresentationMode)(IDvdControl2 *This,ULONG ulMode);
   13548       HRESULT (WINAPI *SelectVideoModePreference)(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
   13549       HRESULT (WINAPI *SetDVDDirectory)(IDvdControl2 *This,LPCWSTR pszwPath);
   13550       HRESULT (WINAPI *ActivateAtPosition)(IDvdControl2 *This,POINT point);
   13551       HRESULT (WINAPI *SelectAtPosition)(IDvdControl2 *This,POINT point);
   13552       HRESULT (WINAPI *PlayChaptersAutoStop)(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
   13553       HRESULT (WINAPI *AcceptParentalLevelChange)(IDvdControl2 *This,WINBOOL bAccept);
   13554       HRESULT (WINAPI *SetOption)(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
   13555       HRESULT (WINAPI *SetState)(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
   13556       HRESULT (WINAPI *PlayPeriodInTitleAutoStop)(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
   13557       HRESULT (WINAPI *SetGPRM)(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
   13558       HRESULT (WINAPI *SelectDefaultMenuLanguage)(IDvdControl2 *This,LCID Language);
   13559       HRESULT (WINAPI *SelectDefaultAudioLanguage)(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
   13560       HRESULT (WINAPI *SelectDefaultSubpictureLanguage)(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
   13561     END_INTERFACE
   13562   } IDvdControl2Vtbl;
   13563   struct IDvdControl2 {
   13564     CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
   13565   };
   13566 #ifdef COBJMACROS
   13567 #define IDvdControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13568 #define IDvdControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
   13569 #define IDvdControl2_Release(This) (This)->lpVtbl->Release(This)
   13570 #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) (This)->lpVtbl->PlayTitle(This,ulTitle,dwFlags,ppCmd)
   13571 #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
   13572 #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
   13573 #define IDvdControl2_Stop(This) (This)->lpVtbl->Stop(This)
   13574 #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) (This)->lpVtbl->ReturnFromSubmenu(This,dwFlags,ppCmd)
   13575 #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) (This)->lpVtbl->PlayAtTime(This,pTime,dwFlags,ppCmd)
   13576 #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) (This)->lpVtbl->PlayChapter(This,ulChapter,dwFlags,ppCmd)
   13577 #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayPrevChapter(This,dwFlags,ppCmd)
   13578 #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) (This)->lpVtbl->ReplayChapter(This,dwFlags,ppCmd)
   13579 #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) (This)->lpVtbl->PlayNextChapter(This,dwFlags,ppCmd)
   13580 #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayForwards(This,dSpeed,dwFlags,ppCmd)
   13581 #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) (This)->lpVtbl->PlayBackwards(This,dSpeed,dwFlags,ppCmd)
   13582 #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) (This)->lpVtbl->ShowMenu(This,MenuID,dwFlags,ppCmd)
   13583 #define IDvdControl2_Resume(This,dwFlags,ppCmd) (This)->lpVtbl->Resume(This,dwFlags,ppCmd)
   13584 #define IDvdControl2_SelectRelativeButton(This,buttonDir) (This)->lpVtbl->SelectRelativeButton(This,buttonDir)
   13585 #define IDvdControl2_ActivateButton(This) (This)->lpVtbl->ActivateButton(This)
   13586 #define IDvdControl2_SelectButton(This,ulButton) (This)->lpVtbl->SelectButton(This,ulButton)
   13587 #define IDvdControl2_SelectAndActivateButton(This,ulButton) (This)->lpVtbl->SelectAndActivateButton(This,ulButton)
   13588 #define IDvdControl2_StillOff(This) (This)->lpVtbl->StillOff(This)
   13589 #define IDvdControl2_Pause(This,bState) (This)->lpVtbl->Pause(This,bState)
   13590 #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) (This)->lpVtbl->SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
   13591 #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) (This)->lpVtbl->SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
   13592 #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) (This)->lpVtbl->SetSubpictureState(This,bState,dwFlags,ppCmd)
   13593 #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) (This)->lpVtbl->SelectAngle(This,ulAngle,dwFlags,ppCmd)
   13594 #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) (This)->lpVtbl->SelectParentalLevel(This,ulParentalLevel)
   13595 #define IDvdControl2_SelectParentalCountry(This,bCountry) (This)->lpVtbl->SelectParentalCountry(This,bCountry)
   13596 #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) (This)->lpVtbl->SelectKaraokeAudioPresentationMode(This,ulMode)
   13597 #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) (This)->lpVtbl->SelectVideoModePreference(This,ulPreferredDisplayMode)
   13598 #define IDvdControl2_SetDVDDirectory(This,pszwPath) (This)->lpVtbl->SetDVDDirectory(This,pszwPath)
   13599 #define IDvdControl2_ActivateAtPosition(This,point) (This)->lpVtbl->ActivateAtPosition(This,point)
   13600 #define IDvdControl2_SelectAtPosition(This,point) (This)->lpVtbl->SelectAtPosition(This,point)
   13601 #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) (This)->lpVtbl->PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
   13602 #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) (This)->lpVtbl->AcceptParentalLevelChange(This,bAccept)
   13603 #define IDvdControl2_SetOption(This,flag,fState) (This)->lpVtbl->SetOption(This,flag,fState)
   13604 #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) (This)->lpVtbl->SetState(This,pState,dwFlags,ppCmd)
   13605 #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) (This)->lpVtbl->PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
   13606 #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) (This)->lpVtbl->SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
   13607 #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) (This)->lpVtbl->SelectDefaultMenuLanguage(This,Language)
   13608 #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) (This)->lpVtbl->SelectDefaultAudioLanguage(This,Language,audioExtension)
   13609 #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) (This)->lpVtbl->SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
   13610 #endif
   13611 #endif
   13612   HRESULT WINAPI IDvdControl2_PlayTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DWORD dwFlags,IDvdCmd **ppCmd);
   13613   void __RPC_STUB IDvdControl2_PlayTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13614   HRESULT WINAPI IDvdControl2_PlayChapterInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   13615   void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13616   HRESULT WINAPI IDvdControl2_PlayAtTimeInTitle_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DWORD dwFlags,IDvdCmd **ppCmd);
   13617   void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13618   HRESULT WINAPI IDvdControl2_Stop_Proxy(IDvdControl2 *This);
   13619   void __RPC_STUB IDvdControl2_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13620   HRESULT WINAPI IDvdControl2_ReturnFromSubmenu_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13621   void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13622   HRESULT WINAPI IDvdControl2_PlayAtTime_Proxy(IDvdControl2 *This,DVD_HMSF_TIMECODE *pTime,DWORD dwFlags,IDvdCmd **ppCmd);
   13623   void __RPC_STUB IDvdControl2_PlayAtTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13624   HRESULT WINAPI IDvdControl2_PlayChapter_Proxy(IDvdControl2 *This,ULONG ulChapter,DWORD dwFlags,IDvdCmd **ppCmd);
   13625   void __RPC_STUB IDvdControl2_PlayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13626   HRESULT WINAPI IDvdControl2_PlayPrevChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13627   void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13628   HRESULT WINAPI IDvdControl2_ReplayChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13629   void __RPC_STUB IDvdControl2_ReplayChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13630   HRESULT WINAPI IDvdControl2_PlayNextChapter_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13631   void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13632   HRESULT WINAPI IDvdControl2_PlayForwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   13633   void __RPC_STUB IDvdControl2_PlayForwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13634   HRESULT WINAPI IDvdControl2_PlayBackwards_Proxy(IDvdControl2 *This,double dSpeed,DWORD dwFlags,IDvdCmd **ppCmd);
   13635   void __RPC_STUB IDvdControl2_PlayBackwards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13636   HRESULT WINAPI IDvdControl2_ShowMenu_Proxy(IDvdControl2 *This,DVD_MENU_ID MenuID,DWORD dwFlags,IDvdCmd **ppCmd);
   13637   void __RPC_STUB IDvdControl2_ShowMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13638   HRESULT WINAPI IDvdControl2_Resume_Proxy(IDvdControl2 *This,DWORD dwFlags,IDvdCmd **ppCmd);
   13639   void __RPC_STUB IDvdControl2_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13640   HRESULT WINAPI IDvdControl2_SelectRelativeButton_Proxy(IDvdControl2 *This,DVD_RELATIVE_BUTTON buttonDir);
   13641   void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13642   HRESULT WINAPI IDvdControl2_ActivateButton_Proxy(IDvdControl2 *This);
   13643   void __RPC_STUB IDvdControl2_ActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13644   HRESULT WINAPI IDvdControl2_SelectButton_Proxy(IDvdControl2 *This,ULONG ulButton);
   13645   void __RPC_STUB IDvdControl2_SelectButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13646   HRESULT WINAPI IDvdControl2_SelectAndActivateButton_Proxy(IDvdControl2 *This,ULONG ulButton);
   13647   void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13648   HRESULT WINAPI IDvdControl2_StillOff_Proxy(IDvdControl2 *This);
   13649   void __RPC_STUB IDvdControl2_StillOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13650   HRESULT WINAPI IDvdControl2_Pause_Proxy(IDvdControl2 *This,WINBOOL bState);
   13651   void __RPC_STUB IDvdControl2_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13652   HRESULT WINAPI IDvdControl2_SelectAudioStream_Proxy(IDvdControl2 *This,ULONG ulAudio,DWORD dwFlags,IDvdCmd **ppCmd);
   13653   void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13654   HRESULT WINAPI IDvdControl2_SelectSubpictureStream_Proxy(IDvdControl2 *This,ULONG ulSubPicture,DWORD dwFlags,IDvdCmd **ppCmd);
   13655   void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13656   HRESULT WINAPI IDvdControl2_SetSubpictureState_Proxy(IDvdControl2 *This,WINBOOL bState,DWORD dwFlags,IDvdCmd **ppCmd);
   13657   void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13658   HRESULT WINAPI IDvdControl2_SelectAngle_Proxy(IDvdControl2 *This,ULONG ulAngle,DWORD dwFlags,IDvdCmd **ppCmd);
   13659   void __RPC_STUB IDvdControl2_SelectAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13660   HRESULT WINAPI IDvdControl2_SelectParentalLevel_Proxy(IDvdControl2 *This,ULONG ulParentalLevel);
   13661   void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13662   HRESULT WINAPI IDvdControl2_SelectParentalCountry_Proxy(IDvdControl2 *This,BYTE bCountry[2]);
   13663   void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13664   HRESULT WINAPI IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(IDvdControl2 *This,ULONG ulMode);
   13665   void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13666   HRESULT WINAPI IDvdControl2_SelectVideoModePreference_Proxy(IDvdControl2 *This,ULONG ulPreferredDisplayMode);
   13667   void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13668   HRESULT WINAPI IDvdControl2_SetDVDDirectory_Proxy(IDvdControl2 *This,LPCWSTR pszwPath);
   13669   void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13670   HRESULT WINAPI IDvdControl2_ActivateAtPosition_Proxy(IDvdControl2 *This,POINT point);
   13671   void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13672   HRESULT WINAPI IDvdControl2_SelectAtPosition_Proxy(IDvdControl2 *This,POINT point);
   13673   void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13674   HRESULT WINAPI IDvdControl2_PlayChaptersAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,ULONG ulChapter,ULONG ulChaptersToPlay,DWORD dwFlags,IDvdCmd **ppCmd);
   13675   void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13676   HRESULT WINAPI IDvdControl2_AcceptParentalLevelChange_Proxy(IDvdControl2 *This,WINBOOL bAccept);
   13677   void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13678   HRESULT WINAPI IDvdControl2_SetOption_Proxy(IDvdControl2 *This,DVD_OPTION_FLAG flag,WINBOOL fState);
   13679   void __RPC_STUB IDvdControl2_SetOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13680   HRESULT WINAPI IDvdControl2_SetState_Proxy(IDvdControl2 *This,IDvdState *pState,DWORD dwFlags,IDvdCmd **ppCmd);
   13681   void __RPC_STUB IDvdControl2_SetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13682   HRESULT WINAPI IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(IDvdControl2 *This,ULONG ulTitle,DVD_HMSF_TIMECODE *pStartTime,DVD_HMSF_TIMECODE *pEndTime,DWORD dwFlags,IDvdCmd **ppCmd);
   13683   void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13684   HRESULT WINAPI IDvdControl2_SetGPRM_Proxy(IDvdControl2 *This,ULONG ulIndex,WORD wValue,DWORD dwFlags,IDvdCmd **ppCmd);
   13685   void __RPC_STUB IDvdControl2_SetGPRM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13686   HRESULT WINAPI IDvdControl2_SelectDefaultMenuLanguage_Proxy(IDvdControl2 *This,LCID Language);
   13687   void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13688   HRESULT WINAPI IDvdControl2_SelectDefaultAudioLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_AUDIO_LANG_EXT audioExtension);
   13689   void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13690   HRESULT WINAPI IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(IDvdControl2 *This,LCID Language,DVD_SUBPICTURE_LANG_EXT subpictureExtension);
   13691   void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13692 #endif
   13693 
   13694   enum DVD_TextStringType {
   13695     DVD_Struct_Volume = 0x1,DVD_Struct_Title = 0x2,DVD_Struct_ParentalID = 0x3,DVD_Struct_PartOfTitle = 0x4,DVD_Struct_Cell = 0x5,
   13696     DVD_Stream_Audio = 0x10,DVD_Stream_Subpicture = 0x11,DVD_Stream_Angle = 0x12,DVD_Channel_Audio = 0x20,DVD_General_Name = 0x30,
   13697     DVD_General_Comments = 0x31,DVD_Title_Series = 0x38,DVD_Title_Movie = 0x39,DVD_Title_Video = 0x3a,DVD_Title_Album = 0x3b,DVD_Title_Song = 0x3c,
   13698     DVD_Title_Other = 0x3f,DVD_Title_Sub_Series = 0x40,DVD_Title_Sub_Movie = 0x41,DVD_Title_Sub_Video = 0x42,DVD_Title_Sub_Album = 0x43,
   13699     DVD_Title_Sub_Song = 0x44,DVD_Title_Sub_Other = 0x47,DVD_Title_Orig_Series = 0x48,DVD_Title_Orig_Movie = 0x49,DVD_Title_Orig_Video = 0x4a,
   13700     DVD_Title_Orig_Album = 0x4b,DVD_Title_Orig_Song = 0x4c,DVD_Title_Orig_Other = 0x4f,DVD_Other_Scene = 0x50,DVD_Other_Cut = 0x51,DVD_Other_Take = 0x52
   13701   };
   13702 
   13703   enum DVD_TextCharSet {
   13704     DVD_CharSet_Unicode = 0,DVD_CharSet_ISO646 = 1,DVD_CharSet_JIS_Roman_Kanji = 2,DVD_CharSet_ISO8859_1 = 3,
   13705     DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
   13706   };
   13707 #define DVD_TITLE_MENU 0x000
   13708 #define DVD_STREAM_DATA_CURRENT 0x800
   13709 #define DVD_STREAM_DATA_VMGM 0x400
   13710 #define DVD_STREAM_DATA_VTSM 0x401
   13711 #define DVD_DEFAULT_AUDIO_STREAM 0x0f
   13712 
   13713   typedef struct tagDVD_DECODER_CAPS {
   13714     DWORD dwSize;
   13715     DWORD dwAudioCaps;
   13716     double dFwdMaxRateVideo;
   13717     double dFwdMaxRateAudio;
   13718     double dFwdMaxRateSP;
   13719     double dBwdMaxRateVideo;
   13720     double dBwdMaxRateAudio;
   13721     double dBwdMaxRateSP;
   13722     DWORD dwRes1;
   13723     DWORD dwRes2;
   13724     DWORD dwRes3;
   13725     DWORD dwRes4;
   13726   } DVD_DECODER_CAPS;
   13727 
   13728 #define DVD_AUDIO_CAPS_AC3 0x00000001
   13729 #define DVD_AUDIO_CAPS_MPEG2 0x00000002
   13730 #define DVD_AUDIO_CAPS_LPCM 0x00000004
   13731 #define DVD_AUDIO_CAPS_DTS 0x00000008
   13732 #define DVD_AUDIO_CAPS_SDDS 0x00000010
   13733 
   13734   extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
   13735   extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
   13736 #ifndef __IDvdInfo2_INTERFACE_DEFINED__
   13737 #define __IDvdInfo2_INTERFACE_DEFINED__
   13738   EXTERN_C const IID IID_IDvdInfo2;
   13739 #if defined(__cplusplus) && !defined(CINTERFACE)
   13740   struct IDvdInfo2 : public IUnknown {
   13741   public:
   13742     virtual HRESULT WINAPI GetCurrentDomain(DVD_DOMAIN *pDomain) = 0;
   13743     virtual HRESULT WINAPI GetCurrentLocation(DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
   13744     virtual HRESULT WINAPI GetTotalTitleTime(DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags) = 0;
   13745     virtual HRESULT WINAPI GetCurrentButton(ULONG *pulButtonsAvailable,ULONG *pulCurrentButton) = 0;
   13746     virtual HRESULT WINAPI GetCurrentAngle(ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle) = 0;
   13747     virtual HRESULT WINAPI GetCurrentAudio(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream) = 0;
   13748     virtual HRESULT WINAPI GetCurrentSubpicture(ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled) = 0;
   13749     virtual HRESULT WINAPI GetCurrentUOPS(ULONG *pulUOPs) = 0;
   13750     virtual HRESULT WINAPI GetAllSPRMs(SPRMARRAY *pRegisterArray) = 0;
   13751     virtual HRESULT WINAPI GetAllGPRMs(GPRMARRAY *pRegisterArray) = 0;
   13752     virtual HRESULT WINAPI GetAudioLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   13753     virtual HRESULT WINAPI GetSubpictureLanguage(ULONG ulStream,LCID *pLanguage) = 0;
   13754     virtual HRESULT WINAPI GetTitleAttributes(ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle) = 0;
   13755     virtual HRESULT WINAPI GetVMGAttributes(DVD_MenuAttributes *pATR) = 0;
   13756     virtual HRESULT WINAPI GetCurrentVideoAttributes(DVD_VideoAttributes *pATR) = 0;
   13757     virtual HRESULT WINAPI GetAudioAttributes(ULONG ulStream,DVD_AudioAttributes *pATR) = 0;
   13758     virtual HRESULT WINAPI GetKaraokeAttributes(ULONG ulStream,DVD_KaraokeAttributes *pAttributes) = 0;
   13759     virtual HRESULT WINAPI GetSubpictureAttributes(ULONG ulStream,DVD_SubpictureAttributes *pATR) = 0;
   13760     virtual HRESULT WINAPI GetDVDVolumeInfo(ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles) = 0;
   13761     virtual HRESULT WINAPI GetDVDTextNumberOfLanguages(ULONG *pulNumOfLangs) = 0;
   13762     virtual HRESULT WINAPI GetDVDTextLanguageInfo(ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet) = 0;
   13763     virtual HRESULT WINAPI GetDVDTextStringAsNative(ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
   13764     virtual HRESULT WINAPI GetDVDTextStringAsUnicode(ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType) = 0;
   13765     virtual HRESULT WINAPI GetPlayerParentalLevel(ULONG *pulParentalLevel,BYTE pbCountryCode[2]) = 0;
   13766     virtual HRESULT WINAPI GetNumberOfChapters(ULONG ulTitle,ULONG *pulNumOfChapters) = 0;
   13767     virtual HRESULT WINAPI GetTitleParentalLevels(ULONG ulTitle,ULONG *pulParentalLevels) = 0;
   13768     virtual HRESULT WINAPI GetDVDDirectory(LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize) = 0;
   13769     virtual HRESULT WINAPI IsAudioStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
   13770     virtual HRESULT WINAPI GetDiscID(LPCWSTR pszwPath,ULONGLONG *pullDiscID) = 0;
   13771     virtual HRESULT WINAPI GetState(IDvdState **pStateData) = 0;
   13772     virtual HRESULT WINAPI GetMenuLanguages(LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages) = 0;
   13773     virtual HRESULT WINAPI GetButtonAtPosition(POINT point,ULONG *pulButtonIndex) = 0;
   13774     virtual HRESULT WINAPI GetCmdFromEvent(LONG_PTR lParam1,IDvdCmd **pCmdObj) = 0;
   13775     virtual HRESULT WINAPI GetDefaultMenuLanguage(LCID *pLanguage) = 0;
   13776     virtual HRESULT WINAPI GetDefaultAudioLanguage(LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
   13777     virtual HRESULT WINAPI GetDefaultSubpictureLanguage(LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
   13778     virtual HRESULT WINAPI GetDecoderCaps(DVD_DECODER_CAPS *pCaps) = 0;
   13779     virtual HRESULT WINAPI GetButtonRect(ULONG ulButton,RECT *pRect) = 0;
   13780     virtual HRESULT WINAPI IsSubpictureStreamEnabled(ULONG ulStreamNum,WINBOOL *pbEnabled) = 0;
   13781   };
   13782 #else
   13783   typedef struct IDvdInfo2Vtbl {
   13784     BEGIN_INTERFACE
   13785       HRESULT (WINAPI *QueryInterface)(IDvdInfo2 *This,REFIID riid,void **ppvObject);
   13786       ULONG (WINAPI *AddRef)(IDvdInfo2 *This);
   13787       ULONG (WINAPI *Release)(IDvdInfo2 *This);
   13788       HRESULT (WINAPI *GetCurrentDomain)(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
   13789       HRESULT (WINAPI *GetCurrentLocation)(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
   13790       HRESULT (WINAPI *GetTotalTitleTime)(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
   13791       HRESULT (WINAPI *GetCurrentButton)(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   13792       HRESULT (WINAPI *GetCurrentAngle)(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   13793       HRESULT (WINAPI *GetCurrentAudio)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   13794       HRESULT (WINAPI *GetCurrentSubpicture)(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
   13795       HRESULT (WINAPI *GetCurrentUOPS)(IDvdInfo2 *This,ULONG *pulUOPs);
   13796       HRESULT (WINAPI *GetAllSPRMs)(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
   13797       HRESULT (WINAPI *GetAllGPRMs)(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
   13798       HRESULT (WINAPI *GetAudioLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   13799       HRESULT (WINAPI *GetSubpictureLanguage)(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   13800       HRESULT (WINAPI *GetTitleAttributes)(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
   13801       HRESULT (WINAPI *GetVMGAttributes)(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
   13802       HRESULT (WINAPI *GetCurrentVideoAttributes)(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
   13803       HRESULT (WINAPI *GetAudioAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
   13804       HRESULT (WINAPI *GetKaraokeAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
   13805       HRESULT (WINAPI *GetSubpictureAttributes)(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
   13806       HRESULT (WINAPI *GetDVDVolumeInfo)(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   13807       HRESULT (WINAPI *GetDVDTextNumberOfLanguages)(IDvdInfo2 *This,ULONG *pulNumOfLangs);
   13808       HRESULT (WINAPI *GetDVDTextLanguageInfo)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
   13809       HRESULT (WINAPI *GetDVDTextStringAsNative)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   13810       HRESULT (WINAPI *GetDVDTextStringAsUnicode)(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   13811       HRESULT (WINAPI *GetPlayerParentalLevel)(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
   13812       HRESULT (WINAPI *GetNumberOfChapters)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
   13813       HRESULT (WINAPI *GetTitleParentalLevels)(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
   13814       HRESULT (WINAPI *GetDVDDirectory)(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
   13815       HRESULT (WINAPI *IsAudioStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   13816       HRESULT (WINAPI *GetDiscID)(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
   13817       HRESULT (WINAPI *GetState)(IDvdInfo2 *This,IDvdState **pStateData);
   13818       HRESULT (WINAPI *GetMenuLanguages)(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
   13819       HRESULT (WINAPI *GetButtonAtPosition)(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
   13820       HRESULT (WINAPI *GetCmdFromEvent)(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
   13821       HRESULT (WINAPI *GetDefaultMenuLanguage)(IDvdInfo2 *This,LCID *pLanguage);
   13822       HRESULT (WINAPI *GetDefaultAudioLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
   13823       HRESULT (WINAPI *GetDefaultSubpictureLanguage)(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
   13824       HRESULT (WINAPI *GetDecoderCaps)(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
   13825       HRESULT (WINAPI *GetButtonRect)(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
   13826       HRESULT (WINAPI *IsSubpictureStreamEnabled)(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   13827     END_INTERFACE
   13828   } IDvdInfo2Vtbl;
   13829   struct IDvdInfo2 {
   13830     CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
   13831   };
   13832 #ifdef COBJMACROS
   13833 #define IDvdInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13834 #define IDvdInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
   13835 #define IDvdInfo2_Release(This) (This)->lpVtbl->Release(This)
   13836 #define IDvdInfo2_GetCurrentDomain(This,pDomain) (This)->lpVtbl->GetCurrentDomain(This,pDomain)
   13837 #define IDvdInfo2_GetCurrentLocation(This,pLocation) (This)->lpVtbl->GetCurrentLocation(This,pLocation)
   13838 #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) (This)->lpVtbl->GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
   13839 #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) (This)->lpVtbl->GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
   13840 #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) (This)->lpVtbl->GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
   13841 #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) (This)->lpVtbl->GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
   13842 #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) (This)->lpVtbl->GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
   13843 #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) (This)->lpVtbl->GetCurrentUOPS(This,pulUOPs)
   13844 #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllSPRMs(This,pRegisterArray)
   13845 #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) (This)->lpVtbl->GetAllGPRMs(This,pRegisterArray)
   13846 #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetAudioLanguage(This,ulStream,pLanguage)
   13847 #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) (This)->lpVtbl->GetSubpictureLanguage(This,ulStream,pLanguage)
   13848 #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) (This)->lpVtbl->GetTitleAttributes(This,ulTitle,pMenu,pTitle)
   13849 #define IDvdInfo2_GetVMGAttributes(This,pATR) (This)->lpVtbl->GetVMGAttributes(This,pATR)
   13850 #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) (This)->lpVtbl->GetCurrentVideoAttributes(This,pATR)
   13851 #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) (This)->lpVtbl->GetAudioAttributes(This,ulStream,pATR)
   13852 #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) (This)->lpVtbl->GetKaraokeAttributes(This,ulStream,pAttributes)
   13853 #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) (This)->lpVtbl->GetSubpictureAttributes(This,ulStream,pATR)
   13854 #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) (This)->lpVtbl->GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
   13855 #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) (This)->lpVtbl->GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
   13856 #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) (This)->lpVtbl->GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
   13857 #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
   13858 #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) (This)->lpVtbl->GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
   13859 #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) (This)->lpVtbl->GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
   13860 #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) (This)->lpVtbl->GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
   13861 #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) (This)->lpVtbl->GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
   13862 #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) (This)->lpVtbl->GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
   13863 #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
   13864 #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) (This)->lpVtbl->GetDiscID(This,pszwPath,pullDiscID)
   13865 #define IDvdInfo2_GetState(This,pStateData) (This)->lpVtbl->GetState(This,pStateData)
   13866 #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) (This)->lpVtbl->GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
   13867 #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) (This)->lpVtbl->GetButtonAtPosition(This,point,pulButtonIndex)
   13868 #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) (This)->lpVtbl->GetCmdFromEvent(This,lParam1,pCmdObj)
   13869 #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) (This)->lpVtbl->GetDefaultMenuLanguage(This,pLanguage)
   13870 #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) (This)->lpVtbl->GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
   13871 #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) (This)->lpVtbl->GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
   13872 #define IDvdInfo2_GetDecoderCaps(This,pCaps) (This)->lpVtbl->GetDecoderCaps(This,pCaps)
   13873 #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) (This)->lpVtbl->GetButtonRect(This,ulButton,pRect)
   13874 #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) (This)->lpVtbl->IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
   13875 #endif
   13876 #endif
   13877   HRESULT WINAPI IDvdInfo2_GetCurrentDomain_Proxy(IDvdInfo2 *This,DVD_DOMAIN *pDomain);
   13878   void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13879   HRESULT WINAPI IDvdInfo2_GetCurrentLocation_Proxy(IDvdInfo2 *This,DVD_PLAYBACK_LOCATION2 *pLocation);
   13880   void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13881   HRESULT WINAPI IDvdInfo2_GetTotalTitleTime_Proxy(IDvdInfo2 *This,DVD_HMSF_TIMECODE *pTotalTime,ULONG *ulTimeCodeFlags);
   13882   void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13883   HRESULT WINAPI IDvdInfo2_GetCurrentButton_Proxy(IDvdInfo2 *This,ULONG *pulButtonsAvailable,ULONG *pulCurrentButton);
   13884   void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13885   HRESULT WINAPI IDvdInfo2_GetCurrentAngle_Proxy(IDvdInfo2 *This,ULONG *pulAnglesAvailable,ULONG *pulCurrentAngle);
   13886   void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13887   HRESULT WINAPI IDvdInfo2_GetCurrentAudio_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream);
   13888   void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13889   HRESULT WINAPI IDvdInfo2_GetCurrentSubpicture_Proxy(IDvdInfo2 *This,ULONG *pulStreamsAvailable,ULONG *pulCurrentStream,WINBOOL *pbIsDisabled);
   13890   void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13891   HRESULT WINAPI IDvdInfo2_GetCurrentUOPS_Proxy(IDvdInfo2 *This,ULONG *pulUOPs);
   13892   void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13893   HRESULT WINAPI IDvdInfo2_GetAllSPRMs_Proxy(IDvdInfo2 *This,SPRMARRAY *pRegisterArray);
   13894   void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13895   HRESULT WINAPI IDvdInfo2_GetAllGPRMs_Proxy(IDvdInfo2 *This,GPRMARRAY *pRegisterArray);
   13896   void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13897   HRESULT WINAPI IDvdInfo2_GetAudioLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   13898   void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13899   HRESULT WINAPI IDvdInfo2_GetSubpictureLanguage_Proxy(IDvdInfo2 *This,ULONG ulStream,LCID *pLanguage);
   13900   void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13901   HRESULT WINAPI IDvdInfo2_GetTitleAttributes_Proxy(IDvdInfo2 *This,ULONG ulTitle,DVD_MenuAttributes *pMenu,DVD_TitleAttributes *pTitle);
   13902   void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13903   HRESULT WINAPI IDvdInfo2_GetVMGAttributes_Proxy(IDvdInfo2 *This,DVD_MenuAttributes *pATR);
   13904   void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13905   HRESULT WINAPI IDvdInfo2_GetCurrentVideoAttributes_Proxy(IDvdInfo2 *This,DVD_VideoAttributes *pATR);
   13906   void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13907   HRESULT WINAPI IDvdInfo2_GetAudioAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_AudioAttributes *pATR);
   13908   void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13909   HRESULT WINAPI IDvdInfo2_GetKaraokeAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_KaraokeAttributes *pAttributes);
   13910   void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13911   HRESULT WINAPI IDvdInfo2_GetSubpictureAttributes_Proxy(IDvdInfo2 *This,ULONG ulStream,DVD_SubpictureAttributes *pATR);
   13912   void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13913   HRESULT WINAPI IDvdInfo2_GetDVDVolumeInfo_Proxy(IDvdInfo2 *This,ULONG *pulNumOfVolumes,ULONG *pulVolume,DVD_DISC_SIDE *pSide,ULONG *pulNumOfTitles);
   13914   void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13915   HRESULT WINAPI IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(IDvdInfo2 *This,ULONG *pulNumOfLangs);
   13916   void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13917   HRESULT WINAPI IDvdInfo2_GetDVDTextLanguageInfo_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG *pulNumOfStrings,LCID *pLangCode,enum DVD_TextCharSet *pbCharacterSet);
   13918   void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13919   HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsNative_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,BYTE *pbBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   13920   void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13921   HRESULT WINAPI IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(IDvdInfo2 *This,ULONG ulLangIndex,ULONG ulStringIndex,WCHAR *pchwBuffer,ULONG ulMaxBufferSize,ULONG *pulActualSize,enum DVD_TextStringType *pType);
   13922   void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13923   HRESULT WINAPI IDvdInfo2_GetPlayerParentalLevel_Proxy(IDvdInfo2 *This,ULONG *pulParentalLevel,BYTE pbCountryCode[2]);
   13924   void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13925   HRESULT WINAPI IDvdInfo2_GetNumberOfChapters_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulNumOfChapters);
   13926   void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13927   HRESULT WINAPI IDvdInfo2_GetTitleParentalLevels_Proxy(IDvdInfo2 *This,ULONG ulTitle,ULONG *pulParentalLevels);
   13928   void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13929   HRESULT WINAPI IDvdInfo2_GetDVDDirectory_Proxy(IDvdInfo2 *This,LPWSTR pszwPath,ULONG ulMaxSize,ULONG *pulActualSize);
   13930   void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13931   HRESULT WINAPI IDvdInfo2_IsAudioStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   13932   void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13933   HRESULT WINAPI IDvdInfo2_GetDiscID_Proxy(IDvdInfo2 *This,LPCWSTR pszwPath,ULONGLONG *pullDiscID);
   13934   void __RPC_STUB IDvdInfo2_GetDiscID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13935   HRESULT WINAPI IDvdInfo2_GetState_Proxy(IDvdInfo2 *This,IDvdState **pStateData);
   13936   void __RPC_STUB IDvdInfo2_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13937   HRESULT WINAPI IDvdInfo2_GetMenuLanguages_Proxy(IDvdInfo2 *This,LCID *pLanguages,ULONG ulMaxLanguages,ULONG *pulActualLanguages);
   13938   void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13939   HRESULT WINAPI IDvdInfo2_GetButtonAtPosition_Proxy(IDvdInfo2 *This,POINT point,ULONG *pulButtonIndex);
   13940   void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13941   HRESULT WINAPI IDvdInfo2_GetCmdFromEvent_Proxy(IDvdInfo2 *This,LONG_PTR lParam1,IDvdCmd **pCmdObj);
   13942   void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13943   HRESULT WINAPI IDvdInfo2_GetDefaultMenuLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage);
   13944   void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13945   HRESULT WINAPI IDvdInfo2_GetDefaultAudioLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_AUDIO_LANG_EXT *pAudioExtension);
   13946   void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13947   HRESULT WINAPI IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(IDvdInfo2 *This,LCID *pLanguage,DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
   13948   void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13949   HRESULT WINAPI IDvdInfo2_GetDecoderCaps_Proxy(IDvdInfo2 *This,DVD_DECODER_CAPS *pCaps);
   13950   void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13951   HRESULT WINAPI IDvdInfo2_GetButtonRect_Proxy(IDvdInfo2 *This,ULONG ulButton,RECT *pRect);
   13952   void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13953   HRESULT WINAPI IDvdInfo2_IsSubpictureStreamEnabled_Proxy(IDvdInfo2 *This,ULONG ulStreamNum,WINBOOL *pbEnabled);
   13954   void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   13955 #endif
   13956 
   13957   typedef enum _AM_DVD_GRAPH_FLAGS {
   13958     AM_DVD_HWDEC_PREFER = 0x1,AM_DVD_HWDEC_ONLY = 0x2,AM_DVD_SWDEC_PREFER = 0x4,AM_DVD_SWDEC_ONLY = 0x8,AM_DVD_NOVPE = 0x100,
   13959     AM_DVD_VMR9_ONLY = 0x800
   13960   } AM_DVD_GRAPH_FLAGS;
   13961 
   13962   typedef enum _AM_DVD_STREAM_FLAGS {
   13963     AM_DVD_STREAM_VIDEO = 0x1,AM_DVD_STREAM_AUDIO = 0x2,AM_DVD_STREAM_SUBPIC = 0x4
   13964   } AM_DVD_STREAM_FLAGS;
   13965 
   13966   typedef struct __MIDL___MIDL_itf_strmif_0389_0001 {
   13967     HRESULT hrVPEStatus;
   13968     WINBOOL bDvdVolInvalid;
   13969     WINBOOL bDvdVolUnknown;
   13970     WINBOOL bNoLine21In;
   13971     WINBOOL bNoLine21Out;
   13972     int iNumStreams;
   13973     int iNumStreamsFailed;
   13974     DWORD dwFailedStreamsFlag;
   13975   } AM_DVD_RENDERSTATUS;
   13976 
   13977   extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec;
   13978   extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec;
   13979 #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
   13980 #define __IDvdGraphBuilder_INTERFACE_DEFINED__
   13981   EXTERN_C const IID IID_IDvdGraphBuilder;
   13982 #if defined(__cplusplus) && !defined(CINTERFACE)
   13983   struct IDvdGraphBuilder : public IUnknown {
   13984   public:
   13985     virtual HRESULT WINAPI GetFiltergraph(IGraphBuilder **ppGB) = 0;
   13986     virtual HRESULT WINAPI GetDvdInterface(REFIID riid,void **ppvIF) = 0;
   13987     virtual HRESULT WINAPI RenderDvdVideoVolume(LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus) = 0;
   13988   };
   13989 #else
   13990   typedef struct IDvdGraphBuilderVtbl {
   13991     BEGIN_INTERFACE
   13992       HRESULT (WINAPI *QueryInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvObject);
   13993       ULONG (WINAPI *AddRef)(IDvdGraphBuilder *This);
   13994       ULONG (WINAPI *Release)(IDvdGraphBuilder *This);
   13995       HRESULT (WINAPI *GetFiltergraph)(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
   13996       HRESULT (WINAPI *GetDvdInterface)(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
   13997       HRESULT (WINAPI *RenderDvdVideoVolume)(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
   13998     END_INTERFACE
   13999   } IDvdGraphBuilderVtbl;
   14000   struct IDvdGraphBuilder {
   14001     CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
   14002   };
   14003 #ifdef COBJMACROS
   14004 #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14005 #define IDvdGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   14006 #define IDvdGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
   14007 #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) (This)->lpVtbl->GetFiltergraph(This,ppGB)
   14008 #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) (This)->lpVtbl->GetDvdInterface(This,riid,ppvIF)
   14009 #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) (This)->lpVtbl->RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
   14010 #endif
   14011 #endif
   14012   HRESULT WINAPI IDvdGraphBuilder_GetFiltergraph_Proxy(IDvdGraphBuilder *This,IGraphBuilder **ppGB);
   14013   void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14014   HRESULT WINAPI IDvdGraphBuilder_GetDvdInterface_Proxy(IDvdGraphBuilder *This,REFIID riid,void **ppvIF);
   14015   void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14016   HRESULT WINAPI IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(IDvdGraphBuilder *This,LPCWSTR lpcwszPathName,DWORD dwFlags,AM_DVD_RENDERSTATUS *pStatus);
   14017   void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14018 #endif
   14019 
   14020 #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
   14021 #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
   14022   EXTERN_C const IID IID_IDDrawExclModeVideo;
   14023 #if defined(__cplusplus) && !defined(CINTERFACE)
   14024   struct IDDrawExclModeVideo : public IUnknown {
   14025   public:
   14026     virtual HRESULT WINAPI SetDDrawObject(IDirectDraw *pDDrawObject) = 0;
   14027     virtual HRESULT WINAPI GetDDrawObject(IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal) = 0;
   14028     virtual HRESULT WINAPI SetDDrawSurface(IDirectDrawSurface *pDDrawSurface) = 0;
   14029     virtual HRESULT WINAPI GetDDrawSurface(IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal) = 0;
   14030     virtual HRESULT WINAPI SetDrawParameters(const RECT *prcSource,const RECT *prcTarget) = 0;
   14031     virtual HRESULT WINAPI GetNativeVideoProps(DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY) = 0;
   14032     virtual HRESULT WINAPI SetCallbackInterface(IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags) = 0;
   14033   };
   14034 #else
   14035   typedef struct IDDrawExclModeVideoVtbl {
   14036     BEGIN_INTERFACE
   14037       HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideo *This,REFIID riid,void **ppvObject);
   14038       ULONG (WINAPI *AddRef)(IDDrawExclModeVideo *This);
   14039       ULONG (WINAPI *Release)(IDDrawExclModeVideo *This);
   14040       HRESULT (WINAPI *SetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
   14041       HRESULT (WINAPI *GetDDrawObject)(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
   14042       HRESULT (WINAPI *SetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
   14043       HRESULT (WINAPI *GetDDrawSurface)(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
   14044       HRESULT (WINAPI *SetDrawParameters)(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
   14045       HRESULT (WINAPI *GetNativeVideoProps)(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
   14046       HRESULT (WINAPI *SetCallbackInterface)(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
   14047     END_INTERFACE
   14048   } IDDrawExclModeVideoVtbl;
   14049   struct IDDrawExclModeVideo {
   14050     CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
   14051   };
   14052 #ifdef COBJMACROS
   14053 #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14054 #define IDDrawExclModeVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
   14055 #define IDDrawExclModeVideo_Release(This) (This)->lpVtbl->Release(This)
   14056 #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) (This)->lpVtbl->SetDDrawObject(This,pDDrawObject)
   14057 #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) (This)->lpVtbl->GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
   14058 #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) (This)->lpVtbl->SetDDrawSurface(This,pDDrawSurface)
   14059 #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) (This)->lpVtbl->GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
   14060 #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) (This)->lpVtbl->SetDrawParameters(This,prcSource,prcTarget)
   14061 #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) (This)->lpVtbl->GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
   14062 #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) (This)->lpVtbl->SetCallbackInterface(This,pCallback,dwFlags)
   14063 #endif
   14064 #endif
   14065   HRESULT WINAPI IDDrawExclModeVideo_SetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw *pDDrawObject);
   14066   void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14067   HRESULT WINAPI IDDrawExclModeVideo_GetDDrawObject_Proxy(IDDrawExclModeVideo *This,IDirectDraw **ppDDrawObject,WINBOOL *pbUsingExternal);
   14068   void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14069   HRESULT WINAPI IDDrawExclModeVideo_SetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface *pDDrawSurface);
   14070   void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14071   HRESULT WINAPI IDDrawExclModeVideo_GetDDrawSurface_Proxy(IDDrawExclModeVideo *This,IDirectDrawSurface **ppDDrawSurface,WINBOOL *pbUsingExternal);
   14072   void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14073   HRESULT WINAPI IDDrawExclModeVideo_SetDrawParameters_Proxy(IDDrawExclModeVideo *This,const RECT *prcSource,const RECT *prcTarget);
   14074   void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14075   HRESULT WINAPI IDDrawExclModeVideo_GetNativeVideoProps_Proxy(IDDrawExclModeVideo *This,DWORD *pdwVideoWidth,DWORD *pdwVideoHeight,DWORD *pdwPictAspectRatioX,DWORD *pdwPictAspectRatioY);
   14076   void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14077   HRESULT WINAPI IDDrawExclModeVideo_SetCallbackInterface_Proxy(IDDrawExclModeVideo *This,IDDrawExclModeVideoCallback *pCallback,DWORD dwFlags);
   14078   void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14079 #endif
   14080 
   14081   enum _AM_OVERLAY_NOTIFY_FLAGS {
   14082     AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4
   14083   };
   14084 
   14085   extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
   14086   extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
   14087 #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
   14088 #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
   14089   EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
   14090 #if defined(__cplusplus) && !defined(CINTERFACE)
   14091   struct IDDrawExclModeVideoCallback : public IUnknown {
   14092   public:
   14093     virtual HRESULT WINAPI OnUpdateOverlay(WINBOOL bBefore,DWORD dwFlags,WINBOOL bOldVisible,const RECT *prcOldSrc,const RECT *prcOldDest,WINBOOL bNewVisible,const RECT *prcNewSrc,const RECT *prcNewDest) = 0;
   14094     virtual HRESULT WINAPI OnUpdateColorKey(const COLORKEY *pKey,DWORD dwColor) = 0;
   14095     virtual HRESULT WINAPI OnUpdateSize(DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight) = 0;
   14096   };
   14097 #else
   14098   typedef struct IDDrawExclModeVideoCallbackVtbl {
   14099     BEGIN_INTERFACE
   14100       HRESULT (WINAPI *QueryInterface)(IDDrawExclModeVideoCallback *This,REFIID riid,void **ppvObject);
   14101       ULONG (WINAPI *AddRef)(IDDrawExclModeVideoCallback *This);
   14102       ULONG (WINAPI *Release)(IDDrawExclModeVideoCallback *This);
   14103       HRESULT (WINAPI *OnUpdateOverlay)(IDDrawExclModeVideoCallback *This,WINBOOL bBefore,DWORD dwFlags,WINBOOL bOldVisible,const RECT *prcOldSrc,const RECT *prcOldDest,WINBOOL bNewVisible,const RECT *prcNewSrc,const RECT *prcNewDest);
   14104       HRESULT (WINAPI *OnUpdateColorKey)(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
   14105       HRESULT (WINAPI *OnUpdateSize)(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
   14106     END_INTERFACE
   14107   } IDDrawExclModeVideoCallbackVtbl;
   14108   struct IDDrawExclModeVideoCallback {
   14109     CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
   14110   };
   14111 #ifdef COBJMACROS
   14112 #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14113 #define IDDrawExclModeVideoCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   14114 #define IDDrawExclModeVideoCallback_Release(This) (This)->lpVtbl->Release(This)
   14115 #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) (This)->lpVtbl->OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
   14116 #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) (This)->lpVtbl->OnUpdateColorKey(This,pKey,dwColor)
   14117 #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) (This)->lpVtbl->OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
   14118 #endif
   14119 #endif
   14120   HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy(IDDrawExclModeVideoCallback *This,WINBOOL bBefore,DWORD dwFlags,WINBOOL bOldVisible,const RECT *prcOldSrc,const RECT *prcOldDest,WINBOOL bNewVisible,const RECT *prcNewSrc,const RECT *prcNewDest);
   14121   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14122   HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(IDDrawExclModeVideoCallback *This,const COLORKEY *pKey,DWORD dwColor);
   14123   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14124   HRESULT WINAPI IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(IDDrawExclModeVideoCallback *This,DWORD dwWidth,DWORD dwHeight,DWORD dwARWidth,DWORD dwARHeight);
   14125   void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14126 #endif
   14127 
   14128   extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_c_ifspec;
   14129   extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_s_ifspec;
   14130 #ifndef __IPinConnection_INTERFACE_DEFINED__
   14131 #define __IPinConnection_INTERFACE_DEFINED__
   14132   EXTERN_C const IID IID_IPinConnection;
   14133 #if defined(__cplusplus) && !defined(CINTERFACE)
   14134   struct IPinConnection : public IUnknown {
   14135   public:
   14136     virtual HRESULT WINAPI DynamicQueryAccept(const AM_MEDIA_TYPE *pmt) = 0;
   14137     virtual HRESULT WINAPI NotifyEndOfStream(HANDLE hNotifyEvent) = 0;
   14138     virtual HRESULT WINAPI IsEndPin(void) = 0;
   14139     virtual HRESULT WINAPI DynamicDisconnect(void) = 0;
   14140   };
   14141 #else
   14142   typedef struct IPinConnectionVtbl {
   14143     BEGIN_INTERFACE
   14144       HRESULT (WINAPI *QueryInterface)(IPinConnection *This,REFIID riid,void **ppvObject);
   14145       ULONG (WINAPI *AddRef)(IPinConnection *This);
   14146       ULONG (WINAPI *Release)(IPinConnection *This);
   14147       HRESULT (WINAPI *DynamicQueryAccept)(IPinConnection *This,const AM_MEDIA_TYPE *pmt);
   14148       HRESULT (WINAPI *NotifyEndOfStream)(IPinConnection *This,HANDLE hNotifyEvent);
   14149       HRESULT (WINAPI *IsEndPin)(IPinConnection *This);
   14150       HRESULT (WINAPI *DynamicDisconnect)(IPinConnection *This);
   14151     END_INTERFACE
   14152   } IPinConnectionVtbl;
   14153   struct IPinConnection {
   14154     CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
   14155   };
   14156 #ifdef COBJMACROS
   14157 #define IPinConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14158 #define IPinConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
   14159 #define IPinConnection_Release(This) (This)->lpVtbl->Release(This)
   14160 #define IPinConnection_DynamicQueryAccept(This,pmt) (This)->lpVtbl->DynamicQueryAccept(This,pmt)
   14161 #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) (This)->lpVtbl->NotifyEndOfStream(This,hNotifyEvent)
   14162 #define IPinConnection_IsEndPin(This) (This)->lpVtbl->IsEndPin(This)
   14163 #define IPinConnection_DynamicDisconnect(This) (This)->lpVtbl->DynamicDisconnect(This)
   14164 #endif
   14165 #endif
   14166   HRESULT WINAPI IPinConnection_DynamicQueryAccept_Proxy(IPinConnection *This,const AM_MEDIA_TYPE *pmt);
   14167   void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14168   HRESULT WINAPI IPinConnection_NotifyEndOfStream_Proxy(IPinConnection *This,HANDLE hNotifyEvent);
   14169   void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14170   HRESULT WINAPI IPinConnection_IsEndPin_Proxy(IPinConnection *This);
   14171   void __RPC_STUB IPinConnection_IsEndPin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14172   HRESULT WINAPI IPinConnection_DynamicDisconnect_Proxy(IPinConnection *This);
   14173   void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14174 #endif
   14175 
   14176 #ifndef __IPinFlowControl_INTERFACE_DEFINED__
   14177 #define __IPinFlowControl_INTERFACE_DEFINED__
   14178   EXTERN_C const IID IID_IPinFlowControl;
   14179 #if defined(__cplusplus) && !defined(CINTERFACE)
   14180   struct IPinFlowControl : public IUnknown {
   14181   public:
   14182     virtual HRESULT WINAPI Block(DWORD dwBlockFlags,HANDLE hEvent) = 0;
   14183   };
   14184 #else
   14185   typedef struct IPinFlowControlVtbl {
   14186     BEGIN_INTERFACE
   14187       HRESULT (WINAPI *QueryInterface)(IPinFlowControl *This,REFIID riid,void **ppvObject);
   14188       ULONG (WINAPI *AddRef)(IPinFlowControl *This);
   14189       ULONG (WINAPI *Release)(IPinFlowControl *This);
   14190       HRESULT (WINAPI *Block)(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent);
   14191     END_INTERFACE
   14192   } IPinFlowControlVtbl;
   14193   struct IPinFlowControl {
   14194     CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
   14195   };
   14196 #ifdef COBJMACROS
   14197 #define IPinFlowControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14198 #define IPinFlowControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   14199 #define IPinFlowControl_Release(This) (This)->lpVtbl->Release(This)
   14200 #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) (This)->lpVtbl->Block(This,dwBlockFlags,hEvent)
   14201 #endif
   14202 #endif
   14203   HRESULT WINAPI IPinFlowControl_Block_Proxy(IPinFlowControl *This,DWORD dwBlockFlags,HANDLE hEvent);
   14204   void __RPC_STUB IPinFlowControl_Block_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14205 #endif
   14206 
   14207   enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS {
   14208     AM_PIN_FLOW_CONTROL_BLOCK = 0x1
   14209   };
   14210   typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
   14211     AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2,
   14212     AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4
   14213   } AM_GRAPH_CONFIG_RECONNECT_FLAGS;
   14214 
   14215   enum _REM_FILTER_FLAGS {
   14216     REMFILTERF_LEAVECONNECTED = 0x1
   14217   };
   14218 
   14219   typedef enum _AM_FILTER_FLAGS {
   14220     AM_FILTER_FLAGS_REMOVABLE = 0x1
   14221   } AM_FILTER_FLAGS;
   14222 
   14223   extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec;
   14224   extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec;
   14225 #ifndef __IGraphConfig_INTERFACE_DEFINED__
   14226 #define __IGraphConfig_INTERFACE_DEFINED__
   14227   EXTERN_C const IID IID_IGraphConfig;
   14228 #if defined(__cplusplus) && !defined(CINTERFACE)
   14229   struct IGraphConfig : public IUnknown {
   14230   public:
   14231     virtual HRESULT WINAPI Reconnect(IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags) = 0;
   14232     virtual HRESULT WINAPI Reconfigure(IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent) = 0;
   14233     virtual HRESULT WINAPI AddFilterToCache(IBaseFilter *pFilter) = 0;
   14234     virtual HRESULT WINAPI EnumCacheFilter(IEnumFilters **pEnum) = 0;
   14235     virtual HRESULT WINAPI RemoveFilterFromCache(IBaseFilter *pFilter) = 0;
   14236     virtual HRESULT WINAPI GetStartTime(REFERENCE_TIME *prtStart) = 0;
   14237     virtual HRESULT WINAPI PushThroughData(IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort) = 0;
   14238     virtual HRESULT WINAPI SetFilterFlags(IBaseFilter *pFilter,DWORD dwFlags) = 0;
   14239     virtual HRESULT WINAPI GetFilterFlags(IBaseFilter *pFilter,DWORD *pdwFlags) = 0;
   14240     virtual HRESULT WINAPI RemoveFilterEx(IBaseFilter *pFilter,DWORD Flags) = 0;
   14241   };
   14242 #else
   14243   typedef struct IGraphConfigVtbl {
   14244     BEGIN_INTERFACE
   14245       HRESULT (WINAPI *QueryInterface)(IGraphConfig *This,REFIID riid,void **ppvObject);
   14246       ULONG (WINAPI *AddRef)(IGraphConfig *This);
   14247       ULONG (WINAPI *Release)(IGraphConfig *This);
   14248       HRESULT (WINAPI *Reconnect)(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags);
   14249       HRESULT (WINAPI *Reconfigure)(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent);
   14250       HRESULT (WINAPI *AddFilterToCache)(IGraphConfig *This,IBaseFilter *pFilter);
   14251       HRESULT (WINAPI *EnumCacheFilter)(IGraphConfig *This,IEnumFilters **pEnum);
   14252       HRESULT (WINAPI *RemoveFilterFromCache)(IGraphConfig *This,IBaseFilter *pFilter);
   14253       HRESULT (WINAPI *GetStartTime)(IGraphConfig *This,REFERENCE_TIME *prtStart);
   14254       HRESULT (WINAPI *PushThroughData)(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort);
   14255       HRESULT (WINAPI *SetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags);
   14256       HRESULT (WINAPI *GetFilterFlags)(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags);
   14257       HRESULT (WINAPI *RemoveFilterEx)(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags);
   14258     END_INTERFACE
   14259   } IGraphConfigVtbl;
   14260   struct IGraphConfig {
   14261     CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
   14262   };
   14263 #ifdef COBJMACROS
   14264 #define IGraphConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14265 #define IGraphConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   14266 #define IGraphConfig_Release(This) (This)->lpVtbl->Release(This)
   14267 #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) (This)->lpVtbl->Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
   14268 #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) (This)->lpVtbl->Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
   14269 #define IGraphConfig_AddFilterToCache(This,pFilter) (This)->lpVtbl->AddFilterToCache(This,pFilter)
   14270 #define IGraphConfig_EnumCacheFilter(This,pEnum) (This)->lpVtbl->EnumCacheFilter(This,pEnum)
   14271 #define IGraphConfig_RemoveFilterFromCache(This,pFilter) (This)->lpVtbl->RemoveFilterFromCache(This,pFilter)
   14272 #define IGraphConfig_GetStartTime(This,prtStart) (This)->lpVtbl->GetStartTime(This,prtStart)
   14273 #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) (This)->lpVtbl->PushThroughData(This,pOutputPin,pConnection,hEventAbort)
   14274 #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) (This)->lpVtbl->SetFilterFlags(This,pFilter,dwFlags)
   14275 #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) (This)->lpVtbl->GetFilterFlags(This,pFilter,pdwFlags)
   14276 #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) (This)->lpVtbl->RemoveFilterEx(This,pFilter,Flags)
   14277 #endif
   14278 #endif
   14279   HRESULT WINAPI IGraphConfig_Reconnect_Proxy(IGraphConfig *This,IPin *pOutputPin,IPin *pInputPin,const AM_MEDIA_TYPE *pmtFirstConnection,IBaseFilter *pUsingFilter,HANDLE hAbortEvent,DWORD dwFlags);
   14280   void __RPC_STUB IGraphConfig_Reconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14281   HRESULT WINAPI IGraphConfig_Reconfigure_Proxy(IGraphConfig *This,IGraphConfigCallback *pCallback,PVOID pvContext,DWORD dwFlags,HANDLE hAbortEvent);
   14282   void __RPC_STUB IGraphConfig_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14283   HRESULT WINAPI IGraphConfig_AddFilterToCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter);
   14284   void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14285   HRESULT WINAPI IGraphConfig_EnumCacheFilter_Proxy(IGraphConfig *This,IEnumFilters **pEnum);
   14286   void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14287   HRESULT WINAPI IGraphConfig_RemoveFilterFromCache_Proxy(IGraphConfig *This,IBaseFilter *pFilter);
   14288   void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14289   HRESULT WINAPI IGraphConfig_GetStartTime_Proxy(IGraphConfig *This,REFERENCE_TIME *prtStart);
   14290   void __RPC_STUB IGraphConfig_GetStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14291   HRESULT WINAPI IGraphConfig_PushThroughData_Proxy(IGraphConfig *This,IPin *pOutputPin,IPinConnection *pConnection,HANDLE hEventAbort);
   14292   void __RPC_STUB IGraphConfig_PushThroughData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14293   HRESULT WINAPI IGraphConfig_SetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD dwFlags);
   14294   void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14295   HRESULT WINAPI IGraphConfig_GetFilterFlags_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD *pdwFlags);
   14296   void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14297   HRESULT WINAPI IGraphConfig_RemoveFilterEx_Proxy(IGraphConfig *This,IBaseFilter *pFilter,DWORD Flags);
   14298   void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14299 #endif
   14300 
   14301 #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
   14302 #define __IGraphConfigCallback_INTERFACE_DEFINED__
   14303   EXTERN_C const IID IID_IGraphConfigCallback;
   14304 #if defined(__cplusplus) && !defined(CINTERFACE)
   14305   struct IGraphConfigCallback : public IUnknown {
   14306   public:
   14307     virtual HRESULT WINAPI Reconfigure(PVOID pvContext,DWORD dwFlags) = 0;
   14308   };
   14309 #else
   14310   typedef struct IGraphConfigCallbackVtbl {
   14311     BEGIN_INTERFACE
   14312       HRESULT (WINAPI *QueryInterface)(IGraphConfigCallback *This,REFIID riid,void **ppvObject);
   14313       ULONG (WINAPI *AddRef)(IGraphConfigCallback *This);
   14314       ULONG (WINAPI *Release)(IGraphConfigCallback *This);
   14315       HRESULT (WINAPI *Reconfigure)(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags);
   14316     END_INTERFACE
   14317   } IGraphConfigCallbackVtbl;
   14318   struct IGraphConfigCallback {
   14319     CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
   14320   };
   14321 #ifdef COBJMACROS
   14322 #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14323 #define IGraphConfigCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
   14324 #define IGraphConfigCallback_Release(This) (This)->lpVtbl->Release(This)
   14325 #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) (This)->lpVtbl->Reconfigure(This,pvContext,dwFlags)
   14326 #endif
   14327 #endif
   14328   HRESULT WINAPI IGraphConfigCallback_Reconfigure_Proxy(IGraphConfigCallback *This,PVOID pvContext,DWORD dwFlags);
   14329   void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14330 #endif
   14331 
   14332 #ifndef __IFilterChain_INTERFACE_DEFINED__
   14333 #define __IFilterChain_INTERFACE_DEFINED__
   14334   EXTERN_C const IID IID_IFilterChain;
   14335 #if defined(__cplusplus) && !defined(CINTERFACE)
   14336   struct IFilterChain : public IUnknown {
   14337   public:
   14338     virtual HRESULT WINAPI StartChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   14339     virtual HRESULT WINAPI PauseChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   14340     virtual HRESULT WINAPI StopChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   14341     virtual HRESULT WINAPI RemoveChain(IBaseFilter *pStartFilter,IBaseFilter *pEndFilter) = 0;
   14342   };
   14343 #else
   14344   typedef struct IFilterChainVtbl {
   14345     BEGIN_INTERFACE
   14346       HRESULT (WINAPI *QueryInterface)(IFilterChain *This,REFIID riid,void **ppvObject);
   14347       ULONG (WINAPI *AddRef)(IFilterChain *This);
   14348       ULONG (WINAPI *Release)(IFilterChain *This);
   14349       HRESULT (WINAPI *StartChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   14350       HRESULT (WINAPI *PauseChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   14351       HRESULT (WINAPI *StopChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   14352       HRESULT (WINAPI *RemoveChain)(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   14353     END_INTERFACE
   14354   } IFilterChainVtbl;
   14355   struct IFilterChain {
   14356     CONST_VTBL struct IFilterChainVtbl *lpVtbl;
   14357   };
   14358 #ifdef COBJMACROS
   14359 #define IFilterChain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14360 #define IFilterChain_AddRef(This) (This)->lpVtbl->AddRef(This)
   14361 #define IFilterChain_Release(This) (This)->lpVtbl->Release(This)
   14362 #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StartChain(This,pStartFilter,pEndFilter)
   14363 #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->PauseChain(This,pStartFilter,pEndFilter)
   14364 #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->StopChain(This,pStartFilter,pEndFilter)
   14365 #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) (This)->lpVtbl->RemoveChain(This,pStartFilter,pEndFilter)
   14366 #endif
   14367 #endif
   14368   HRESULT WINAPI IFilterChain_StartChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   14369   void __RPC_STUB IFilterChain_StartChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14370   HRESULT WINAPI IFilterChain_PauseChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   14371   void __RPC_STUB IFilterChain_PauseChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14372   HRESULT WINAPI IFilterChain_StopChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   14373   void __RPC_STUB IFilterChain_StopChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14374   HRESULT WINAPI IFilterChain_RemoveChain_Proxy(IFilterChain *This,IBaseFilter *pStartFilter,IBaseFilter *pEndFilter);
   14375   void __RPC_STUB IFilterChain_RemoveChain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14376 #endif
   14377 
   14378 #ifdef MINGW_HAS_DDRAW_H
   14379 #include <ddraw.h>
   14380 #endif
   14381 
   14382   typedef enum __MIDL___MIDL_itf_strmif_0397_0002 {
   14383     VMRSample_SyncPoint = 0x1,VMRSample_Preroll = 0x2,VMRSample_Discontinuity = 0x4,VMRSample_TimeValid = 0x8,VMRSample_SrcDstRectsValid = 0x10
   14384   } VMRPresentationFlags;
   14385 
   14386   typedef struct tagVMRPRESENTATIONINFO {
   14387     DWORD dwFlags;
   14388     LPDIRECTDRAWSURFACE7 lpSurf;
   14389     REFERENCE_TIME rtStart;
   14390     REFERENCE_TIME rtEnd;
   14391     SIZE szAspectRatio;
   14392     RECT rcSrc;
   14393     RECT rcDst;
   14394     DWORD dwTypeSpecificFlags;
   14395     DWORD dwInterlaceFlags;
   14396   } VMRPRESENTATIONINFO;
   14397 
   14398   extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec;
   14399   extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec;
   14400 #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
   14401 #define __IVMRImagePresenter_INTERFACE_DEFINED__
   14402   EXTERN_C const IID IID_IVMRImagePresenter;
   14403 #if defined(__cplusplus) && !defined(CINTERFACE)
   14404   struct IVMRImagePresenter : public IUnknown {
   14405   public:
   14406     virtual HRESULT WINAPI StartPresenting(DWORD_PTR dwUserID) = 0;
   14407     virtual HRESULT WINAPI StopPresenting(DWORD_PTR dwUserID) = 0;
   14408     virtual HRESULT WINAPI PresentImage(DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo) = 0;
   14409   };
   14410 #else
   14411   typedef struct IVMRImagePresenterVtbl {
   14412     BEGIN_INTERFACE
   14413       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenter *This,REFIID riid,void **ppvObject);
   14414       ULONG (WINAPI *AddRef)(IVMRImagePresenter *This);
   14415       ULONG (WINAPI *Release)(IVMRImagePresenter *This);
   14416       HRESULT (WINAPI *StartPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   14417       HRESULT (WINAPI *StopPresenting)(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   14418       HRESULT (WINAPI *PresentImage)(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
   14419     END_INTERFACE
   14420   } IVMRImagePresenterVtbl;
   14421   struct IVMRImagePresenter {
   14422     CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
   14423   };
   14424 #ifdef COBJMACROS
   14425 #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14426 #define IVMRImagePresenter_AddRef(This) (This)->lpVtbl->AddRef(This)
   14427 #define IVMRImagePresenter_Release(This) (This)->lpVtbl->Release(This)
   14428 #define IVMRImagePresenter_StartPresenting(This,dwUserID) (This)->lpVtbl->StartPresenting(This,dwUserID)
   14429 #define IVMRImagePresenter_StopPresenting(This,dwUserID) (This)->lpVtbl->StopPresenting(This,dwUserID)
   14430 #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) (This)->lpVtbl->PresentImage(This,dwUserID,lpPresInfo)
   14431 #endif
   14432 #endif
   14433   HRESULT WINAPI IVMRImagePresenter_StartPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   14434   void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14435   HRESULT WINAPI IVMRImagePresenter_StopPresenting_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID);
   14436   void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14437   HRESULT WINAPI IVMRImagePresenter_PresentImage_Proxy(IVMRImagePresenter *This,DWORD_PTR dwUserID,VMRPRESENTATIONINFO *lpPresInfo);
   14438   void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14439 #endif
   14440 
   14441   typedef enum __MIDL___MIDL_itf_strmif_0398_0001 {
   14442     AMAP_PIXELFORMAT_VALID = 0x1,AMAP_3D_TARGET = 0x2,AMAP_ALLOW_SYSMEM = 0x4,AMAP_FORCE_SYSMEM = 0x8,AMAP_DIRECTED_FLIP = 0x10,AMAP_DXVA_TARGET = 0x20
   14443   } VMRSurfaceAllocationFlags;
   14444 
   14445   typedef struct tagVMRALLOCATIONINFO {
   14446     DWORD dwFlags;
   14447     LPBITMAPINFOHEADER lpHdr;
   14448     LPDDPIXELFORMAT lpPixFmt;
   14449     SIZE szAspectRatio;
   14450     DWORD dwMinBuffers;
   14451     DWORD dwMaxBuffers;
   14452     DWORD dwInterlaceFlags;
   14453     SIZE szNativeSize;
   14454   } VMRALLOCATIONINFO;
   14455 
   14456   extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec;
   14457   extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec;
   14458 #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
   14459 #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
   14460   EXTERN_C const IID IID_IVMRSurfaceAllocator;
   14461 #if defined(__cplusplus) && !defined(CINTERFACE)
   14462   struct IVMRSurfaceAllocator : public IUnknown {
   14463   public:
   14464     virtual HRESULT WINAPI AllocateSurface(DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
   14465     virtual HRESULT WINAPI FreeSurface(DWORD_PTR dwID) = 0;
   14466     virtual HRESULT WINAPI PrepareSurface(DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags) = 0;
   14467     virtual HRESULT WINAPI AdviseNotify(IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
   14468   };
   14469 #else
   14470   typedef struct IVMRSurfaceAllocatorVtbl {
   14471     BEGIN_INTERFACE
   14472       HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocator *This,REFIID riid,void **ppvObject);
   14473       ULONG (WINAPI *AddRef)(IVMRSurfaceAllocator *This);
   14474       ULONG (WINAPI *Release)(IVMRSurfaceAllocator *This);
   14475       HRESULT (WINAPI *AllocateSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
   14476       HRESULT (WINAPI *FreeSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
   14477       HRESULT (WINAPI *PrepareSurface)(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
   14478       HRESULT (WINAPI *AdviseNotify)(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
   14479     END_INTERFACE
   14480   } IVMRSurfaceAllocatorVtbl;
   14481   struct IVMRSurfaceAllocator {
   14482     CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
   14483   };
   14484 #ifdef COBJMACROS
   14485 #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14486 #define IVMRSurfaceAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
   14487 #define IVMRSurfaceAllocator_Release(This) (This)->lpVtbl->Release(This)
   14488 #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) (This)->lpVtbl->AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
   14489 #define IVMRSurfaceAllocator_FreeSurface(This,dwID) (This)->lpVtbl->FreeSurface(This,dwID)
   14490 #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) (This)->lpVtbl->PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
   14491 #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) (This)->lpVtbl->AdviseNotify(This,lpIVMRSurfAllocNotify)
   14492 #endif
   14493 #endif
   14494   HRESULT WINAPI IVMRSurfaceAllocator_AllocateSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,VMRALLOCATIONINFO *lpAllocInfo,DWORD *lpdwActualBuffers,LPDIRECTDRAWSURFACE7 *lplpSurface);
   14495   void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14496   HRESULT WINAPI IVMRSurfaceAllocator_FreeSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwID);
   14497   void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14498   HRESULT WINAPI IVMRSurfaceAllocator_PrepareSurface_Proxy(IVMRSurfaceAllocator *This,DWORD_PTR dwUserID,LPDIRECTDRAWSURFACE7 lpSurface,DWORD dwSurfaceFlags);
   14499   void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14500   HRESULT WINAPI IVMRSurfaceAllocator_AdviseNotify_Proxy(IVMRSurfaceAllocator *This,IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
   14501   void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14502 #endif
   14503 
   14504 #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
   14505 #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
   14506   EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
   14507 #if defined(__cplusplus) && !defined(CINTERFACE)
   14508   struct IVMRSurfaceAllocatorNotify : public IUnknown {
   14509   public:
   14510     virtual HRESULT WINAPI AdviseSurfaceAllocator(DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
   14511     virtual HRESULT WINAPI SetDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
   14512     virtual HRESULT WINAPI ChangeDDrawDevice(LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor) = 0;
   14513     virtual HRESULT WINAPI RestoreDDrawSurfaces(void) = 0;
   14514     virtual HRESULT WINAPI NotifyEvent(LONG EventCode,LONG_PTR Param1,LONG_PTR Param2) = 0;
   14515     virtual HRESULT WINAPI SetBorderColor(COLORREF clrBorder) = 0;
   14516   };
   14517 #else
   14518   typedef struct IVMRSurfaceAllocatorNotifyVtbl {
   14519     BEGIN_INTERFACE
   14520       HRESULT (WINAPI *QueryInterface)(IVMRSurfaceAllocatorNotify *This,REFIID riid,void **ppvObject);
   14521       ULONG (WINAPI *AddRef)(IVMRSurfaceAllocatorNotify *This);
   14522       ULONG (WINAPI *Release)(IVMRSurfaceAllocatorNotify *This);
   14523       HRESULT (WINAPI *AdviseSurfaceAllocator)(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
   14524       HRESULT (WINAPI *SetDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   14525       HRESULT (WINAPI *ChangeDDrawDevice)(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   14526       HRESULT (WINAPI *RestoreDDrawSurfaces)(IVMRSurfaceAllocatorNotify *This);
   14527       HRESULT (WINAPI *NotifyEvent)(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
   14528       HRESULT (WINAPI *SetBorderColor)(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
   14529     END_INTERFACE
   14530   } IVMRSurfaceAllocatorNotifyVtbl;
   14531   struct IVMRSurfaceAllocatorNotify {
   14532     CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
   14533   };
   14534 #ifdef COBJMACROS
   14535 #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14536 #define IVMRSurfaceAllocatorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   14537 #define IVMRSurfaceAllocatorNotify_Release(This) (This)->lpVtbl->Release(This)
   14538 #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) (This)->lpVtbl->AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
   14539 #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->SetDDrawDevice(This,lpDDrawDevice,hMonitor)
   14540 #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) (This)->lpVtbl->ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
   14541 #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) (This)->lpVtbl->RestoreDDrawSurfaces(This)
   14542 #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) (This)->lpVtbl->NotifyEvent(This,EventCode,Param1,Param2)
   14543 #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) (This)->lpVtbl->SetBorderColor(This,clrBorder)
   14544 #endif
   14545 #endif
   14546   HRESULT WINAPI IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(IVMRSurfaceAllocatorNotify *This,DWORD_PTR dwUserID,IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
   14547   void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14548   HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   14549   void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14550   HRESULT WINAPI IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(IVMRSurfaceAllocatorNotify *This,LPDIRECTDRAW7 lpDDrawDevice,HMONITOR hMonitor);
   14551   void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14552   HRESULT WINAPI IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(IVMRSurfaceAllocatorNotify *This);
   14553   void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14554   HRESULT WINAPI IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(IVMRSurfaceAllocatorNotify *This,LONG EventCode,LONG_PTR Param1,LONG_PTR Param2);
   14555   void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14556   HRESULT WINAPI IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(IVMRSurfaceAllocatorNotify *This,COLORREF clrBorder);
   14557   void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14558 #endif
   14559 
   14560   typedef enum __MIDL___MIDL_itf_strmif_0400_0001 {
   14561     VMR_ARMODE_NONE = 0,VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1
   14562   } VMR_ASPECT_RATIO_MODE;
   14563 
   14564   extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec;
   14565   extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec;
   14566 #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
   14567 #define __IVMRWindowlessControl_INTERFACE_DEFINED__
   14568   EXTERN_C const IID IID_IVMRWindowlessControl;
   14569 #if defined(__cplusplus) && !defined(CINTERFACE)
   14570   struct IVMRWindowlessControl : public IUnknown {
   14571   public:
   14572     virtual HRESULT WINAPI GetNativeVideoSize(LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight) = 0;
   14573     virtual HRESULT WINAPI GetMinIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
   14574     virtual HRESULT WINAPI GetMaxIdealVideoSize(LONG *lpWidth,LONG *lpHeight) = 0;
   14575     virtual HRESULT WINAPI SetVideoPosition(const LPRECT lpSRCRect,const LPRECT lpDSTRect) = 0;
   14576     virtual HRESULT WINAPI GetVideoPosition(LPRECT lpSRCRect,LPRECT lpDSTRect) = 0;
   14577     virtual HRESULT WINAPI GetAspectRatioMode(DWORD *lpAspectRatioMode) = 0;
   14578     virtual HRESULT WINAPI SetAspectRatioMode(DWORD AspectRatioMode) = 0;
   14579     virtual HRESULT WINAPI SetVideoClippingWindow(HWND hwnd) = 0;
   14580     virtual HRESULT WINAPI RepaintVideo(HWND hwnd,HDC hdc) = 0;
   14581     virtual HRESULT WINAPI DisplayModeChanged(void) = 0;
   14582     virtual HRESULT WINAPI GetCurrentImage(BYTE **lpDib) = 0;
   14583     virtual HRESULT WINAPI SetBorderColor(COLORREF Clr) = 0;
   14584     virtual HRESULT WINAPI GetBorderColor(COLORREF *lpClr) = 0;
   14585     virtual HRESULT WINAPI SetColorKey(COLORREF Clr) = 0;
   14586     virtual HRESULT WINAPI GetColorKey(COLORREF *lpClr) = 0;
   14587   };
   14588 #else
   14589   typedef struct IVMRWindowlessControlVtbl {
   14590     BEGIN_INTERFACE
   14591       HRESULT (WINAPI *QueryInterface)(IVMRWindowlessControl *This,REFIID riid,void **ppvObject);
   14592       ULONG (WINAPI *AddRef)(IVMRWindowlessControl *This);
   14593       ULONG (WINAPI *Release)(IVMRWindowlessControl *This);
   14594       HRESULT (WINAPI *GetNativeVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
   14595       HRESULT (WINAPI *GetMinIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   14596       HRESULT (WINAPI *GetMaxIdealVideoSize)(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   14597       HRESULT (WINAPI *SetVideoPosition)(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
   14598       HRESULT (WINAPI *GetVideoPosition)(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
   14599       HRESULT (WINAPI *GetAspectRatioMode)(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
   14600       HRESULT (WINAPI *SetAspectRatioMode)(IVMRWindowlessControl *This,DWORD AspectRatioMode);
   14601       HRESULT (WINAPI *SetVideoClippingWindow)(IVMRWindowlessControl *This,HWND hwnd);
   14602       HRESULT (WINAPI *RepaintVideo)(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
   14603       HRESULT (WINAPI *DisplayModeChanged)(IVMRWindowlessControl *This);
   14604       HRESULT (WINAPI *GetCurrentImage)(IVMRWindowlessControl *This,BYTE **lpDib);
   14605       HRESULT (WINAPI *SetBorderColor)(IVMRWindowlessControl *This,COLORREF Clr);
   14606       HRESULT (WINAPI *GetBorderColor)(IVMRWindowlessControl *This,COLORREF *lpClr);
   14607       HRESULT (WINAPI *SetColorKey)(IVMRWindowlessControl *This,COLORREF Clr);
   14608       HRESULT (WINAPI *GetColorKey)(IVMRWindowlessControl *This,COLORREF *lpClr);
   14609     END_INTERFACE
   14610   } IVMRWindowlessControlVtbl;
   14611   struct IVMRWindowlessControl {
   14612     CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
   14613   };
   14614 #ifdef COBJMACROS
   14615 #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14616 #define IVMRWindowlessControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   14617 #define IVMRWindowlessControl_Release(This) (This)->lpVtbl->Release(This)
   14618 #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) (This)->lpVtbl->GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
   14619 #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMinIdealVideoSize(This,lpWidth,lpHeight)
   14620 #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) (This)->lpVtbl->GetMaxIdealVideoSize(This,lpWidth,lpHeight)
   14621 #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->SetVideoPosition(This,lpSRCRect,lpDSTRect)
   14622 #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) (This)->lpVtbl->GetVideoPosition(This,lpSRCRect,lpDSTRect)
   14623 #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,lpAspectRatioMode)
   14624 #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,AspectRatioMode)
   14625 #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd)
   14626 #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc)
   14627 #define IVMRWindowlessControl_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This)
   14628 #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) (This)->lpVtbl->GetCurrentImage(This,lpDib)
   14629 #define IVMRWindowlessControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr)
   14630 #define IVMRWindowlessControl_GetBorderColor(This,lpClr) (This)->lpVtbl->GetBorderColor(This,lpClr)
   14631 #define IVMRWindowlessControl_SetColorKey(This,Clr) (This)->lpVtbl->SetColorKey(This,Clr)
   14632 #define IVMRWindowlessControl_GetColorKey(This,lpClr) (This)->lpVtbl->GetColorKey(This,lpClr)
   14633 #endif
   14634 #endif
   14635   HRESULT WINAPI IVMRWindowlessControl_GetNativeVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight,LONG *lpARWidth,LONG *lpARHeight);
   14636   void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14637   HRESULT WINAPI IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   14638   void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14639   HRESULT WINAPI IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(IVMRWindowlessControl *This,LONG *lpWidth,LONG *lpHeight);
   14640   void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14641   HRESULT WINAPI IVMRWindowlessControl_SetVideoPosition_Proxy(IVMRWindowlessControl *This,const LPRECT lpSRCRect,const LPRECT lpDSTRect);
   14642   void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14643   HRESULT WINAPI IVMRWindowlessControl_GetVideoPosition_Proxy(IVMRWindowlessControl *This,LPRECT lpSRCRect,LPRECT lpDSTRect);
   14644   void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14645   HRESULT WINAPI IVMRWindowlessControl_GetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD *lpAspectRatioMode);
   14646   void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14647   HRESULT WINAPI IVMRWindowlessControl_SetAspectRatioMode_Proxy(IVMRWindowlessControl *This,DWORD AspectRatioMode);
   14648   void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14649   HRESULT WINAPI IVMRWindowlessControl_SetVideoClippingWindow_Proxy(IVMRWindowlessControl *This,HWND hwnd);
   14650   void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14651   HRESULT WINAPI IVMRWindowlessControl_RepaintVideo_Proxy(IVMRWindowlessControl *This,HWND hwnd,HDC hdc);
   14652   void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14653   HRESULT WINAPI IVMRWindowlessControl_DisplayModeChanged_Proxy(IVMRWindowlessControl *This);
   14654   void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14655   HRESULT WINAPI IVMRWindowlessControl_GetCurrentImage_Proxy(IVMRWindowlessControl *This,BYTE **lpDib);
   14656   void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14657   HRESULT WINAPI IVMRWindowlessControl_SetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
   14658   void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14659   HRESULT WINAPI IVMRWindowlessControl_GetBorderColor_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
   14660   void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14661   HRESULT WINAPI IVMRWindowlessControl_SetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF Clr);
   14662   void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14663   HRESULT WINAPI IVMRWindowlessControl_GetColorKey_Proxy(IVMRWindowlessControl *This,COLORREF *lpClr);
   14664   void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14665 #endif
   14666 
   14667   typedef enum __MIDL___MIDL_itf_strmif_0401_0001 {
   14668     MixerPref_NoDecimation = 0x1,MixerPref_DecimateOutput = 0x2,MixerPref_ARAdjustXorY = 0x4,MixerPref_DecimationReserved = 0x8,
   14669     MixerPref_DecimateMask = 0xf,MixerPref_BiLinearFiltering = 0x10,MixerPref_PointFiltering = 0x20,MixerPref_FilteringMask = 0xf0,
   14670     MixerPref_RenderTargetRGB = 0x100,MixerPref_RenderTargetYUV = 0x1000,MixerPref_RenderTargetYUV420 = 0x200,MixerPref_RenderTargetYUV422 = 0x400,
   14671     MixerPref_RenderTargetYUV444 = 0x800,MixerPref_RenderTargetReserved = 0xe000,MixerPref_RenderTargetMask = 0xff00,
   14672     MixerPref_DynamicSwitchToBOB = 0x10000,MixerPref_DynamicDecimateBy2 = 0x20000,MixerPref_DynamicReserved = 0xc0000,
   14673     MixerPref_DynamicMask = 0xf0000
   14674   } VMRMixerPrefs;
   14675 
   14676   typedef struct _NORMALIZEDRECT {
   14677     float left;
   14678     float top;
   14679     float right;
   14680     float bottom;
   14681   } NORMALIZEDRECT;
   14682 
   14683   typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
   14684 
   14685   extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_c_ifspec;
   14686   extern RPC_IF_HANDLE __MIDL_itf_strmif_0401_v0_0_s_ifspec;
   14687 #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
   14688 #define __IVMRMixerControl_INTERFACE_DEFINED__
   14689   EXTERN_C const IID IID_IVMRMixerControl;
   14690 #if defined(__cplusplus) && !defined(CINTERFACE)
   14691   struct IVMRMixerControl : public IUnknown {
   14692   public:
   14693     virtual HRESULT WINAPI SetAlpha(DWORD dwStreamID,float Alpha) = 0;
   14694     virtual HRESULT WINAPI GetAlpha(DWORD dwStreamID,float *pAlpha) = 0;
   14695     virtual HRESULT WINAPI SetZOrder(DWORD dwStreamID,DWORD dwZ) = 0;
   14696     virtual HRESULT WINAPI GetZOrder(DWORD dwStreamID,DWORD *pZ) = 0;
   14697     virtual HRESULT WINAPI SetOutputRect(DWORD dwStreamID,const NORMALIZEDRECT *pRect) = 0;
   14698     virtual HRESULT WINAPI GetOutputRect(DWORD dwStreamID,NORMALIZEDRECT *pRect) = 0;
   14699     virtual HRESULT WINAPI SetBackgroundClr(COLORREF ClrBkg) = 0;
   14700     virtual HRESULT WINAPI GetBackgroundClr(COLORREF *lpClrBkg) = 0;
   14701     virtual HRESULT WINAPI SetMixingPrefs(DWORD dwMixerPrefs) = 0;
   14702     virtual HRESULT WINAPI GetMixingPrefs(DWORD *pdwMixerPrefs) = 0;
   14703   };
   14704 #else
   14705   typedef struct IVMRMixerControlVtbl {
   14706     BEGIN_INTERFACE
   14707       HRESULT (WINAPI *QueryInterface)(IVMRMixerControl *This,REFIID riid,void **ppvObject);
   14708       ULONG (WINAPI *AddRef)(IVMRMixerControl *This);
   14709       ULONG (WINAPI *Release)(IVMRMixerControl *This);
   14710       HRESULT (WINAPI *SetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
   14711       HRESULT (WINAPI *GetAlpha)(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
   14712       HRESULT (WINAPI *SetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
   14713       HRESULT (WINAPI *GetZOrder)(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
   14714       HRESULT (WINAPI *SetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
   14715       HRESULT (WINAPI *GetOutputRect)(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
   14716       HRESULT (WINAPI *SetBackgroundClr)(IVMRMixerControl *This,COLORREF ClrBkg);
   14717       HRESULT (WINAPI *GetBackgroundClr)(IVMRMixerControl *This,COLORREF *lpClrBkg);
   14718       HRESULT (WINAPI *SetMixingPrefs)(IVMRMixerControl *This,DWORD dwMixerPrefs);
   14719       HRESULT (WINAPI *GetMixingPrefs)(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
   14720     END_INTERFACE
   14721   } IVMRMixerControlVtbl;
   14722   struct IVMRMixerControl {
   14723     CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
   14724   };
   14725 #ifdef COBJMACROS
   14726 #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14727 #define IVMRMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   14728 #define IVMRMixerControl_Release(This) (This)->lpVtbl->Release(This)
   14729 #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) (This)->lpVtbl->SetAlpha(This,dwStreamID,Alpha)
   14730 #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) (This)->lpVtbl->GetAlpha(This,dwStreamID,pAlpha)
   14731 #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetZOrder(This,dwStreamID,dwZ)
   14732 #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) (This)->lpVtbl->GetZOrder(This,dwStreamID,pZ)
   14733 #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->SetOutputRect(This,dwStreamID,pRect)
   14734 #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) (This)->lpVtbl->GetOutputRect(This,dwStreamID,pRect)
   14735 #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) (This)->lpVtbl->SetBackgroundClr(This,ClrBkg)
   14736 #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) (This)->lpVtbl->GetBackgroundClr(This,lpClrBkg)
   14737 #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) (This)->lpVtbl->SetMixingPrefs(This,dwMixerPrefs)
   14738 #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) (This)->lpVtbl->GetMixingPrefs(This,pdwMixerPrefs)
   14739 #endif
   14740 #endif
   14741   HRESULT WINAPI IVMRMixerControl_SetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float Alpha);
   14742   void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14743   HRESULT WINAPI IVMRMixerControl_GetAlpha_Proxy(IVMRMixerControl *This,DWORD dwStreamID,float *pAlpha);
   14744   void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14745   HRESULT WINAPI IVMRMixerControl_SetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD dwZ);
   14746   void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14747   HRESULT WINAPI IVMRMixerControl_GetZOrder_Proxy(IVMRMixerControl *This,DWORD dwStreamID,DWORD *pZ);
   14748   void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14749   HRESULT WINAPI IVMRMixerControl_SetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,const NORMALIZEDRECT *pRect);
   14750   void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14751   HRESULT WINAPI IVMRMixerControl_GetOutputRect_Proxy(IVMRMixerControl *This,DWORD dwStreamID,NORMALIZEDRECT *pRect);
   14752   void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14753   HRESULT WINAPI IVMRMixerControl_SetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF ClrBkg);
   14754   void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14755   HRESULT WINAPI IVMRMixerControl_GetBackgroundClr_Proxy(IVMRMixerControl *This,COLORREF *lpClrBkg);
   14756   void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14757   HRESULT WINAPI IVMRMixerControl_SetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD dwMixerPrefs);
   14758   void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14759   HRESULT WINAPI IVMRMixerControl_GetMixingPrefs_Proxy(IVMRMixerControl *This,DWORD *pdwMixerPrefs);
   14760 
   14761   void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14762 #endif
   14763 
   14764 #ifdef __cplusplus
   14765   typedef struct tagVMRGUID {
   14766     ::GUID *pGUID;
   14767     ::GUID GUID;
   14768   } VMRGUID;
   14769 #else
   14770   typedef struct tagVMRGUID {
   14771     GUID *pGUID;
   14772     GUID GUID;
   14773   } VMRGUID;
   14774 #endif
   14775 
   14776   typedef struct tagVMRMONITORINFO {
   14777     VMRGUID guid;
   14778     RECT rcMonitor;
   14779     HMONITOR hMon;
   14780     DWORD dwFlags;
   14781     wchar_t szDevice[32];
   14782     wchar_t szDescription[256];
   14783     LARGE_INTEGER liDriverVersion;
   14784     DWORD dwVendorId;
   14785     DWORD dwDeviceId;
   14786     DWORD dwSubSysId;
   14787     DWORD dwRevision;
   14788   } VMRMONITORINFO;
   14789 
   14790   extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_c_ifspec;
   14791   extern RPC_IF_HANDLE __MIDL_itf_strmif_0402_v0_0_s_ifspec;
   14792 #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
   14793 #define __IVMRMonitorConfig_INTERFACE_DEFINED__
   14794   EXTERN_C const IID IID_IVMRMonitorConfig;
   14795 #if defined(__cplusplus) && !defined(CINTERFACE)
   14796   struct IVMRMonitorConfig : public IUnknown {
   14797   public:
   14798     virtual HRESULT WINAPI SetMonitor(const VMRGUID *pGUID) = 0;
   14799     virtual HRESULT WINAPI GetMonitor(VMRGUID *pGUID) = 0;
   14800     virtual HRESULT WINAPI SetDefaultMonitor(const VMRGUID *pGUID) = 0;
   14801     virtual HRESULT WINAPI GetDefaultMonitor(VMRGUID *pGUID) = 0;
   14802     virtual HRESULT WINAPI GetAvailableMonitors(VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices) = 0;
   14803   };
   14804 #else
   14805   typedef struct IVMRMonitorConfigVtbl {
   14806     BEGIN_INTERFACE
   14807       HRESULT (WINAPI *QueryInterface)(IVMRMonitorConfig *This,REFIID riid,void **ppvObject);
   14808       ULONG (WINAPI *AddRef)(IVMRMonitorConfig *This);
   14809       ULONG (WINAPI *Release)(IVMRMonitorConfig *This);
   14810       HRESULT (WINAPI *SetMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   14811       HRESULT (WINAPI *GetMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
   14812       HRESULT (WINAPI *SetDefaultMonitor)(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   14813       HRESULT (WINAPI *GetDefaultMonitor)(IVMRMonitorConfig *This,VMRGUID *pGUID);
   14814       HRESULT (WINAPI *GetAvailableMonitors)(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
   14815     END_INTERFACE
   14816   } IVMRMonitorConfigVtbl;
   14817   struct IVMRMonitorConfig {
   14818     CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
   14819   };
   14820 #ifdef COBJMACROS
   14821 #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14822 #define IVMRMonitorConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   14823 #define IVMRMonitorConfig_Release(This) (This)->lpVtbl->Release(This)
   14824 #define IVMRMonitorConfig_SetMonitor(This,pGUID) (This)->lpVtbl->SetMonitor(This,pGUID)
   14825 #define IVMRMonitorConfig_GetMonitor(This,pGUID) (This)->lpVtbl->GetMonitor(This,pGUID)
   14826 #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) (This)->lpVtbl->SetDefaultMonitor(This,pGUID)
   14827 #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) (This)->lpVtbl->GetDefaultMonitor(This,pGUID)
   14828 #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) (This)->lpVtbl->GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
   14829 #endif
   14830 #endif
   14831   HRESULT WINAPI IVMRMonitorConfig_SetMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   14832   void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14833   HRESULT WINAPI IVMRMonitorConfig_GetMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
   14834   void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14835   HRESULT WINAPI IVMRMonitorConfig_SetDefaultMonitor_Proxy(IVMRMonitorConfig *This,const VMRGUID *pGUID);
   14836   void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14837   HRESULT WINAPI IVMRMonitorConfig_GetDefaultMonitor_Proxy(IVMRMonitorConfig *This,VMRGUID *pGUID);
   14838   void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14839   HRESULT WINAPI IVMRMonitorConfig_GetAvailableMonitors_Proxy(IVMRMonitorConfig *This,VMRMONITORINFO *pInfo,DWORD dwMaxInfoArraySize,DWORD *pdwNumDevices);
   14840   void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14841 #endif
   14842 
   14843   typedef enum __MIDL___MIDL_itf_strmif_0403_0001 {
   14844     RenderPrefs_RestrictToInitialMonitor = 0,RenderPrefs_ForceOffscreen = 0x1,RenderPrefs_ForceOverlays = 0x2,RenderPrefs_AllowOverlays = 0,
   14845     RenderPrefs_AllowOffscreen = 0,RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,RenderPrefs_Reserved = 0x10,RenderPrefs_PreferAGPMemWhenMixing = 0x20,
   14846     RenderPrefs_Mask = 0x3f
   14847   } VMRRenderPrefs;
   14848 
   14849   typedef enum __MIDL___MIDL_itf_strmif_0403_0002 {
   14850     VMRMode_Windowed = 0x1,VMRMode_Windowless = 0x2,VMRMode_Renderless = 0x4,VMRMode_Mask = 0x7
   14851   } VMRMode;
   14852 
   14853   enum __MIDL___MIDL_itf_strmif_0403_0003 {
   14854     MAX_NUMBER_OF_STREAMS = 16
   14855   };
   14856 
   14857   extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec;
   14858   extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec;
   14859 #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
   14860 #define __IVMRFilterConfig_INTERFACE_DEFINED__
   14861   EXTERN_C const IID IID_IVMRFilterConfig;
   14862 #if defined(__cplusplus) && !defined(CINTERFACE)
   14863   struct IVMRFilterConfig : public IUnknown {
   14864   public:
   14865     virtual HRESULT WINAPI SetImageCompositor(IVMRImageCompositor *lpVMRImgCompositor) = 0;
   14866     virtual HRESULT WINAPI SetNumberOfStreams(DWORD dwMaxStreams) = 0;
   14867     virtual HRESULT WINAPI GetNumberOfStreams(DWORD *pdwMaxStreams) = 0;
   14868     virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
   14869     virtual HRESULT WINAPI GetRenderingPrefs(DWORD *pdwRenderFlags) = 0;
   14870     virtual HRESULT WINAPI SetRenderingMode(DWORD Mode) = 0;
   14871     virtual HRESULT WINAPI GetRenderingMode(DWORD *pMode) = 0;
   14872   };
   14873 #else
   14874   typedef struct IVMRFilterConfigVtbl {
   14875     BEGIN_INTERFACE
   14876       HRESULT (WINAPI *QueryInterface)(IVMRFilterConfig *This,REFIID riid,void **ppvObject);
   14877       ULONG (WINAPI *AddRef)(IVMRFilterConfig *This);
   14878       ULONG (WINAPI *Release)(IVMRFilterConfig *This);
   14879       HRESULT (WINAPI *SetImageCompositor)(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
   14880       HRESULT (WINAPI *SetNumberOfStreams)(IVMRFilterConfig *This,DWORD dwMaxStreams);
   14881       HRESULT (WINAPI *GetNumberOfStreams)(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
   14882       HRESULT (WINAPI *SetRenderingPrefs)(IVMRFilterConfig *This,DWORD dwRenderFlags);
   14883       HRESULT (WINAPI *GetRenderingPrefs)(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
   14884       HRESULT (WINAPI *SetRenderingMode)(IVMRFilterConfig *This,DWORD Mode);
   14885       HRESULT (WINAPI *GetRenderingMode)(IVMRFilterConfig *This,DWORD *pMode);
   14886     END_INTERFACE
   14887   } IVMRFilterConfigVtbl;
   14888   struct IVMRFilterConfig {
   14889     CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
   14890   };
   14891 #ifdef COBJMACROS
   14892 #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14893 #define IVMRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   14894 #define IVMRFilterConfig_Release(This) (This)->lpVtbl->Release(This)
   14895 #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) (This)->lpVtbl->SetImageCompositor(This,lpVMRImgCompositor)
   14896 #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams)
   14897 #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams)
   14898 #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   14899 #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags)
   14900 #define IVMRFilterConfig_SetRenderingMode(This,Mode) (This)->lpVtbl->SetRenderingMode(This,Mode)
   14901 #define IVMRFilterConfig_GetRenderingMode(This,pMode) (This)->lpVtbl->GetRenderingMode(This,pMode)
   14902 #endif
   14903 #endif
   14904   HRESULT WINAPI IVMRFilterConfig_SetImageCompositor_Proxy(IVMRFilterConfig *This,IVMRImageCompositor *lpVMRImgCompositor);
   14905   void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14906   HRESULT WINAPI IVMRFilterConfig_SetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD dwMaxStreams);
   14907   void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14908   HRESULT WINAPI IVMRFilterConfig_GetNumberOfStreams_Proxy(IVMRFilterConfig *This,DWORD *pdwMaxStreams);
   14909   void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14910   HRESULT WINAPI IVMRFilterConfig_SetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD dwRenderFlags);
   14911   void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14912   HRESULT WINAPI IVMRFilterConfig_GetRenderingPrefs_Proxy(IVMRFilterConfig *This,DWORD *pdwRenderFlags);
   14913   void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14914   HRESULT WINAPI IVMRFilterConfig_SetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD Mode);
   14915   void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14916   HRESULT WINAPI IVMRFilterConfig_GetRenderingMode_Proxy(IVMRFilterConfig *This,DWORD *pMode);
   14917   void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14918 #endif
   14919 
   14920 #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
   14921 #define __IVMRAspectRatioControl_INTERFACE_DEFINED__
   14922   EXTERN_C const IID IID_IVMRAspectRatioControl;
   14923 #if defined(__cplusplus) && !defined(CINTERFACE)
   14924   struct IVMRAspectRatioControl : public IUnknown {
   14925   public:
   14926     virtual HRESULT WINAPI GetAspectRatioMode(LPDWORD lpdwARMode) = 0;
   14927     virtual HRESULT WINAPI SetAspectRatioMode(DWORD dwARMode) = 0;
   14928   };
   14929 #else
   14930   typedef struct IVMRAspectRatioControlVtbl {
   14931     BEGIN_INTERFACE
   14932       HRESULT (WINAPI *QueryInterface)(IVMRAspectRatioControl *This,REFIID riid,void **ppvObject);
   14933       ULONG (WINAPI *AddRef)(IVMRAspectRatioControl *This);
   14934       ULONG (WINAPI *Release)(IVMRAspectRatioControl *This);
   14935       HRESULT (WINAPI *GetAspectRatioMode)(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
   14936       HRESULT (WINAPI *SetAspectRatioMode)(IVMRAspectRatioControl *This,DWORD dwARMode);
   14937     END_INTERFACE
   14938   } IVMRAspectRatioControlVtbl;
   14939   struct IVMRAspectRatioControl {
   14940     CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
   14941   };
   14942 #ifdef COBJMACROS
   14943 #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14944 #define IVMRAspectRatioControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   14945 #define IVMRAspectRatioControl_Release(This) (This)->lpVtbl->Release(This)
   14946 #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) (This)->lpVtbl->GetAspectRatioMode(This,lpdwARMode)
   14947 #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) (This)->lpVtbl->SetAspectRatioMode(This,dwARMode)
   14948 #endif
   14949 #endif
   14950   HRESULT WINAPI IVMRAspectRatioControl_GetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,LPDWORD lpdwARMode);
   14951   void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14952   HRESULT WINAPI IVMRAspectRatioControl_SetAspectRatioMode_Proxy(IVMRAspectRatioControl *This,DWORD dwARMode);
   14953   void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   14954 #endif
   14955 
   14956   typedef enum __MIDL___MIDL_itf_strmif_0405_0001 {
   14957     DeinterlacePref_NextBest = 0x1,DeinterlacePref_BOB = 0x2,DeinterlacePref_Weave = 0x4,DeinterlacePref_Mask = 0x7
   14958   } VMRDeinterlacePrefs;
   14959 
   14960   typedef enum __MIDL___MIDL_itf_strmif_0405_0002 {
   14961     DeinterlaceTech_Unknown = 0,DeinterlaceTech_BOBLineReplicate = 0x1,DeinterlaceTech_BOBVerticalStretch = 0x2,DeinterlaceTech_MedianFiltering = 0x4,
   14962     DeinterlaceTech_EdgeFiltering = 0x10,DeinterlaceTech_FieldAdaptive = 0x20,DeinterlaceTech_PixelAdaptive = 0x40,
   14963     DeinterlaceTech_MotionVectorSteered = 0x80
   14964   } VMRDeinterlaceTech;
   14965 
   14966   typedef struct _VMRFrequency {
   14967     DWORD dwNumerator;
   14968     DWORD dwDenominator;
   14969   } VMRFrequency;
   14970 
   14971   typedef struct _VMRVideoDesc {
   14972     DWORD dwSize;
   14973     DWORD dwSampleWidth;
   14974     DWORD dwSampleHeight;
   14975     WINBOOL SingleFieldPerSample;
   14976     DWORD dwFourCC;
   14977     VMRFrequency InputSampleFreq;
   14978     VMRFrequency OutputFrameFreq;
   14979   } VMRVideoDesc;
   14980 
   14981   typedef struct _VMRDeinterlaceCaps {
   14982     DWORD dwSize;
   14983     DWORD dwNumPreviousOutputFrames;
   14984     DWORD dwNumForwardRefSamples;
   14985     DWORD dwNumBackwardRefSamples;
   14986     VMRDeinterlaceTech DeinterlaceTechnology;
   14987   } VMRDeinterlaceCaps;
   14988 
   14989   extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_c_ifspec;
   14990   extern RPC_IF_HANDLE __MIDL_itf_strmif_0405_v0_0_s_ifspec;
   14991 #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
   14992 #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
   14993   EXTERN_C const IID IID_IVMRDeinterlaceControl;
   14994 #if defined(__cplusplus) && !defined(CINTERFACE)
   14995   struct IVMRDeinterlaceControl : public IUnknown {
   14996   public:
   14997     virtual HRESULT WINAPI GetNumberOfDeinterlaceModes(VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes) = 0;
   14998     virtual HRESULT WINAPI GetDeinterlaceModeCaps(LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
   14999     virtual HRESULT WINAPI GetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   15000     virtual HRESULT WINAPI SetDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   15001     virtual HRESULT WINAPI GetDeinterlacePrefs(LPDWORD lpdwDeinterlacePrefs) = 0;
   15002     virtual HRESULT WINAPI SetDeinterlacePrefs(DWORD dwDeinterlacePrefs) = 0;
   15003     virtual HRESULT WINAPI GetActualDeinterlaceMode(DWORD dwStreamID,LPGUID lpDeinterlaceMode) = 0;
   15004   };
   15005 #else
   15006   typedef struct IVMRDeinterlaceControlVtbl {
   15007     BEGIN_INTERFACE
   15008       HRESULT (WINAPI *QueryInterface)(IVMRDeinterlaceControl *This,REFIID riid,void **ppvObject);
   15009       ULONG (WINAPI *AddRef)(IVMRDeinterlaceControl *This);
   15010       ULONG (WINAPI *Release)(IVMRDeinterlaceControl *This);
   15011       HRESULT (WINAPI *GetNumberOfDeinterlaceModes)(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
   15012       HRESULT (WINAPI *GetDeinterlaceModeCaps)(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
   15013       HRESULT (WINAPI *GetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   15014       HRESULT (WINAPI *SetDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   15015       HRESULT (WINAPI *GetDeinterlacePrefs)(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
   15016       HRESULT (WINAPI *SetDeinterlacePrefs)(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
   15017       HRESULT (WINAPI *GetActualDeinterlaceMode)(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   15018     END_INTERFACE
   15019   } IVMRDeinterlaceControlVtbl;
   15020   struct IVMRDeinterlaceControl {
   15021     CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
   15022   };
   15023 #ifdef COBJMACROS
   15024 #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15025 #define IVMRDeinterlaceControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   15026 #define IVMRDeinterlaceControl_Release(This) (This)->lpVtbl->Release(This)
   15027 #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
   15028 #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
   15029 #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   15030 #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   15031 #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) (This)->lpVtbl->GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
   15032 #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) (This)->lpVtbl->SetDeinterlacePrefs(This,dwDeinterlacePrefs)
   15033 #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) (This)->lpVtbl->GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
   15034 #endif
   15035 #endif
   15036   HRESULT WINAPI IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(IVMRDeinterlaceControl *This,VMRVideoDesc *lpVideoDescription,LPDWORD lpdwNumDeinterlaceModes,LPGUID lpDeinterlaceModes);
   15037   void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15038   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(IVMRDeinterlaceControl *This,LPGUID lpDeinterlaceMode,VMRVideoDesc *lpVideoDescription,VMRDeinterlaceCaps *lpDeinterlaceCaps);
   15039   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15040   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   15041   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15042   HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   15043   void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15044   HRESULT WINAPI IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,LPDWORD lpdwDeinterlacePrefs);
   15045   void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15046   HRESULT WINAPI IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(IVMRDeinterlaceControl *This,DWORD dwDeinterlacePrefs);
   15047   void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15048   HRESULT WINAPI IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(IVMRDeinterlaceControl *This,DWORD dwStreamID,LPGUID lpDeinterlaceMode);
   15049   void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15050 #endif
   15051 
   15052   typedef struct _VMRALPHABITMAP {
   15053     DWORD dwFlags;
   15054     HDC hdc;
   15055     LPDIRECTDRAWSURFACE7 pDDS;
   15056     RECT rSrc;
   15057     NORMALIZEDRECT rDest;
   15058     FLOAT fAlpha;
   15059     COLORREF clrSrcKey;
   15060   } VMRALPHABITMAP;
   15061 
   15062   typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
   15063 
   15064 #define VMRBITMAP_DISABLE 0x00000001
   15065 #define VMRBITMAP_HDC 0x00000002
   15066 #define VMRBITMAP_ENTIREDDS 0x00000004
   15067 #define VMRBITMAP_SRCCOLORKEY 0x00000008
   15068 #define VMRBITMAP_SRCRECT 0x00000010
   15069 
   15070   extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec;
   15071   extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec;
   15072 #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
   15073 #define __IVMRMixerBitmap_INTERFACE_DEFINED__
   15074   EXTERN_C const IID IID_IVMRMixerBitmap;
   15075 #if defined(__cplusplus) && !defined(CINTERFACE)
   15076   struct IVMRMixerBitmap : public IUnknown {
   15077   public:
   15078     virtual HRESULT WINAPI SetAlphaBitmap(const VMRALPHABITMAP *pBmpParms) = 0;
   15079     virtual HRESULT WINAPI UpdateAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
   15080     virtual HRESULT WINAPI GetAlphaBitmapParameters(PVMRALPHABITMAP pBmpParms) = 0;
   15081   };
   15082 #else
   15083   typedef struct IVMRMixerBitmapVtbl {
   15084     BEGIN_INTERFACE
   15085       HRESULT (WINAPI *QueryInterface)(IVMRMixerBitmap *This,REFIID riid,void **ppvObject);
   15086       ULONG (WINAPI *AddRef)(IVMRMixerBitmap *This);
   15087       ULONG (WINAPI *Release)(IVMRMixerBitmap *This);
   15088       HRESULT (WINAPI *SetAlphaBitmap)(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
   15089       HRESULT (WINAPI *UpdateAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   15090       HRESULT (WINAPI *GetAlphaBitmapParameters)(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   15091     END_INTERFACE
   15092   } IVMRMixerBitmapVtbl;
   15093   struct IVMRMixerBitmap {
   15094     CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
   15095   };
   15096 #ifdef COBJMACROS
   15097 #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15098 #define IVMRMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
   15099 #define IVMRMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
   15100 #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) (This)->lpVtbl->SetAlphaBitmap(This,pBmpParms)
   15101 #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,pBmpParms)
   15102 #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) (This)->lpVtbl->GetAlphaBitmapParameters(This,pBmpParms)
   15103 #endif
   15104 #endif
   15105   HRESULT WINAPI IVMRMixerBitmap_SetAlphaBitmap_Proxy(IVMRMixerBitmap *This,const VMRALPHABITMAP *pBmpParms);
   15106   void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15107   HRESULT WINAPI IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   15108   void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15109   HRESULT WINAPI IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(IVMRMixerBitmap *This,PVMRALPHABITMAP pBmpParms);
   15110   void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15111 #endif
   15112 
   15113   typedef struct _VMRVIDEOSTREAMINFO {
   15114     LPDIRECTDRAWSURFACE7 pddsVideoSurface;
   15115     DWORD dwWidth;
   15116     DWORD dwHeight;
   15117     DWORD dwStrmID;
   15118     FLOAT fAlpha;
   15119     DDCOLORKEY ddClrKey;
   15120     NORMALIZEDRECT rNormal;
   15121   } VMRVIDEOSTREAMINFO;
   15122 
   15123   extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_c_ifspec;
   15124   extern RPC_IF_HANDLE __MIDL_itf_strmif_0407_v0_0_s_ifspec;
   15125 #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
   15126 #define __IVMRImageCompositor_INTERFACE_DEFINED__
   15127   EXTERN_C const IID IID_IVMRImageCompositor;
   15128 #if defined(__cplusplus) && !defined(CINTERFACE)
   15129   struct IVMRImageCompositor : public IUnknown {
   15130   public:
   15131     virtual HRESULT WINAPI InitCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
   15132     virtual HRESULT WINAPI TermCompositionTarget(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
   15133     virtual HRESULT WINAPI SetStreamMediaType(DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture) = 0;
   15134     virtual HRESULT WINAPI CompositeImage(IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget,AM_MEDIA_TYPE *pmtRenderTarget,REFERENCE_TIME rtStart,REFERENCE_TIME rtEnd,DWORD dwClrBkGnd,VMRVIDEOSTREAMINFO *pVideoStreamInfo,UINT cStreams) = 0;
   15135   };
   15136 #else
   15137   typedef struct IVMRImageCompositorVtbl {
   15138     BEGIN_INTERFACE
   15139       HRESULT (WINAPI *QueryInterface)(IVMRImageCompositor *This,REFIID riid,void **ppvObject);
   15140       ULONG (WINAPI *AddRef)(IVMRImageCompositor *This);
   15141       ULONG (WINAPI *Release)(IVMRImageCompositor *This);
   15142       HRESULT (WINAPI *InitCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   15143       HRESULT (WINAPI *TermCompositionTarget)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   15144       HRESULT (WINAPI *SetStreamMediaType)(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
   15145       HRESULT (WINAPI *CompositeImage)(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget,AM_MEDIA_TYPE *pmtRenderTarget,REFERENCE_TIME rtStart,REFERENCE_TIME rtEnd,DWORD dwClrBkGnd,VMRVIDEOSTREAMINFO *pVideoStreamInfo,UINT cStreams);
   15146     END_INTERFACE
   15147   } IVMRImageCompositorVtbl;
   15148   struct IVMRImageCompositor {
   15149     CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
   15150   };
   15151 #ifdef COBJMACROS
   15152 #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15153 #define IVMRImageCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
   15154 #define IVMRImageCompositor_Release(This) (This)->lpVtbl->Release(This)
   15155 #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
   15156 #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) (This)->lpVtbl->TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
   15157 #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) (This)->lpVtbl->SetStreamMediaType(This,dwStrmID,pmt,fTexture)
   15158 #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) (This)->lpVtbl->CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
   15159 #endif
   15160 #endif
   15161   HRESULT WINAPI IVMRImageCompositor_InitCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   15162   void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15163   HRESULT WINAPI IVMRImageCompositor_TermCompositionTarget_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget);
   15164   void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15165   HRESULT WINAPI IVMRImageCompositor_SetStreamMediaType_Proxy(IVMRImageCompositor *This,DWORD dwStrmID,AM_MEDIA_TYPE *pmt,WINBOOL fTexture);
   15166   void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15167   HRESULT WINAPI IVMRImageCompositor_CompositeImage_Proxy(IVMRImageCompositor *This,IUnknown *pD3DDevice,LPDIRECTDRAWSURFACE7 pddsRenderTarget,AM_MEDIA_TYPE *pmtRenderTarget,REFERENCE_TIME rtStart,REFERENCE_TIME rtEnd,DWORD dwClrBkGnd,VMRVIDEOSTREAMINFO *pVideoStreamInfo,UINT cStreams);
   15168   void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15169 #endif
   15170 
   15171 #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
   15172 #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
   15173   EXTERN_C const IID IID_IVMRVideoStreamControl;
   15174 #if defined(__cplusplus) && !defined(CINTERFACE)
   15175   struct IVMRVideoStreamControl : public IUnknown {
   15176   public:
   15177     virtual HRESULT WINAPI SetColorKey(LPDDCOLORKEY lpClrKey) = 0;
   15178     virtual HRESULT WINAPI GetColorKey(LPDDCOLORKEY lpClrKey) = 0;
   15179     virtual HRESULT WINAPI SetStreamActiveState(WINBOOL fActive) = 0;
   15180     virtual HRESULT WINAPI GetStreamActiveState(WINBOOL *lpfActive) = 0;
   15181   };
   15182 #else
   15183   typedef struct IVMRVideoStreamControlVtbl {
   15184     BEGIN_INTERFACE
   15185       HRESULT (WINAPI *QueryInterface)(IVMRVideoStreamControl *This,REFIID riid,void **ppvObject);
   15186       ULONG (WINAPI *AddRef)(IVMRVideoStreamControl *This);
   15187       ULONG (WINAPI *Release)(IVMRVideoStreamControl *This);
   15188       HRESULT (WINAPI *SetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   15189       HRESULT (WINAPI *GetColorKey)(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   15190       HRESULT (WINAPI *SetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL fActive);
   15191       HRESULT (WINAPI *GetStreamActiveState)(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
   15192     END_INTERFACE
   15193   } IVMRVideoStreamControlVtbl;
   15194   struct IVMRVideoStreamControl {
   15195     CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
   15196   };
   15197 #ifdef COBJMACROS
   15198 #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15199 #define IVMRVideoStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   15200 #define IVMRVideoStreamControl_Release(This) (This)->lpVtbl->Release(This)
   15201 #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) (This)->lpVtbl->SetColorKey(This,lpClrKey)
   15202 #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) (This)->lpVtbl->GetColorKey(This,lpClrKey)
   15203 #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) (This)->lpVtbl->SetStreamActiveState(This,fActive)
   15204 #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) (This)->lpVtbl->GetStreamActiveState(This,lpfActive)
   15205 #endif
   15206 #endif
   15207   HRESULT WINAPI IVMRVideoStreamControl_SetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   15208   void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15209   HRESULT WINAPI IVMRVideoStreamControl_GetColorKey_Proxy(IVMRVideoStreamControl *This,LPDDCOLORKEY lpClrKey);
   15210   void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15211   HRESULT WINAPI IVMRVideoStreamControl_SetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL fActive);
   15212   void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15213   HRESULT WINAPI IVMRVideoStreamControl_GetStreamActiveState_Proxy(IVMRVideoStreamControl *This,WINBOOL *lpfActive);
   15214   void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15215 #endif
   15216 
   15217 #ifndef __IVMRSurface_INTERFACE_DEFINED__
   15218 #define __IVMRSurface_INTERFACE_DEFINED__
   15219   EXTERN_C const IID IID_IVMRSurface;
   15220 #if defined(__cplusplus) && !defined(CINTERFACE)
   15221   struct IVMRSurface : public IUnknown {
   15222   public:
   15223     virtual HRESULT WINAPI IsSurfaceLocked(void) = 0;
   15224     virtual HRESULT WINAPI LockSurface(BYTE **lpSurface) = 0;
   15225     virtual HRESULT WINAPI UnlockSurface(void) = 0;
   15226     virtual HRESULT WINAPI GetSurface(LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
   15227   };
   15228 #else
   15229   typedef struct IVMRSurfaceVtbl {
   15230     BEGIN_INTERFACE
   15231       HRESULT (WINAPI *QueryInterface)(IVMRSurface *This,REFIID riid,void **ppvObject);
   15232       ULONG (WINAPI *AddRef)(IVMRSurface *This);
   15233       ULONG (WINAPI *Release)(IVMRSurface *This);
   15234       HRESULT (WINAPI *IsSurfaceLocked)(IVMRSurface *This);
   15235       HRESULT (WINAPI *LockSurface)(IVMRSurface *This,BYTE **lpSurface);
   15236       HRESULT (WINAPI *UnlockSurface)(IVMRSurface *This);
   15237       HRESULT (WINAPI *GetSurface)(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
   15238     END_INTERFACE
   15239   } IVMRSurfaceVtbl;
   15240   struct IVMRSurface {
   15241     CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
   15242   };
   15243 #ifdef COBJMACROS
   15244 #define IVMRSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15245 #define IVMRSurface_AddRef(This) (This)->lpVtbl->AddRef(This)
   15246 #define IVMRSurface_Release(This) (This)->lpVtbl->Release(This)
   15247 #define IVMRSurface_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This)
   15248 #define IVMRSurface_LockSurface(This,lpSurface) (This)->lpVtbl->LockSurface(This,lpSurface)
   15249 #define IVMRSurface_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This)
   15250 #define IVMRSurface_GetSurface(This,lplpSurface) (This)->lpVtbl->GetSurface(This,lplpSurface)
   15251 #endif
   15252 #endif
   15253   HRESULT WINAPI IVMRSurface_IsSurfaceLocked_Proxy(IVMRSurface *This);
   15254   void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15255   HRESULT WINAPI IVMRSurface_LockSurface_Proxy(IVMRSurface *This,BYTE **lpSurface);
   15256   void __RPC_STUB IVMRSurface_LockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15257   HRESULT WINAPI IVMRSurface_UnlockSurface_Proxy(IVMRSurface *This);
   15258   void __RPC_STUB IVMRSurface_UnlockSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15259   HRESULT WINAPI IVMRSurface_GetSurface_Proxy(IVMRSurface *This,LPDIRECTDRAWSURFACE7 *lplpSurface);
   15260   void __RPC_STUB IVMRSurface_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15261 #endif
   15262 
   15263 #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
   15264 #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
   15265   EXTERN_C const IID IID_IVMRImagePresenterConfig;
   15266 
   15267 #if defined(__cplusplus) && !defined(CINTERFACE)
   15268   struct IVMRImagePresenterConfig : public IUnknown {
   15269   public:
   15270     virtual HRESULT WINAPI SetRenderingPrefs(DWORD dwRenderFlags) = 0;
   15271     virtual HRESULT WINAPI GetRenderingPrefs(DWORD *dwRenderFlags) = 0;
   15272   };
   15273 #else
   15274   typedef struct IVMRImagePresenterConfigVtbl {
   15275     BEGIN_INTERFACE
   15276       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterConfig *This,REFIID riid,void **ppvObject);
   15277       ULONG (WINAPI *AddRef)(IVMRImagePresenterConfig *This);
   15278       ULONG (WINAPI *Release)(IVMRImagePresenterConfig *This);
   15279       HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
   15280       HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
   15281     END_INTERFACE
   15282   } IVMRImagePresenterConfigVtbl;
   15283   struct IVMRImagePresenterConfig {
   15284     CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
   15285   };
   15286 #ifdef COBJMACROS
   15287 #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15288 #define IVMRImagePresenterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   15289 #define IVMRImagePresenterConfig_Release(This) (This)->lpVtbl->Release(This)
   15290 #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   15291 #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
   15292 #endif
   15293 #endif
   15294   HRESULT WINAPI IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD dwRenderFlags);
   15295   void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15296   HRESULT WINAPI IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(IVMRImagePresenterConfig *This,DWORD *dwRenderFlags);
   15297   void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15298 #endif
   15299 
   15300 #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
   15301 #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
   15302   EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
   15303 #if defined(__cplusplus) && !defined(CINTERFACE)
   15304   struct IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig {
   15305   public:
   15306     virtual HRESULT WINAPI SetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
   15307     virtual HRESULT WINAPI GetXlcModeDDObjAndPrimarySurface(LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
   15308   };
   15309 #else
   15310   typedef struct IVMRImagePresenterExclModeConfigVtbl {
   15311     BEGIN_INTERFACE
   15312       HRESULT (WINAPI *QueryInterface)(IVMRImagePresenterExclModeConfig *This,REFIID riid,void **ppvObject);
   15313       ULONG (WINAPI *AddRef)(IVMRImagePresenterExclModeConfig *This);
   15314       ULONG (WINAPI *Release)(IVMRImagePresenterExclModeConfig *This);
   15315       HRESULT (WINAPI *SetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD dwRenderFlags);
   15316       HRESULT (WINAPI *GetRenderingPrefs)(IVMRImagePresenterExclModeConfig *This,DWORD *dwRenderFlags);
   15317       HRESULT (WINAPI *SetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
   15318       HRESULT (WINAPI *GetXlcModeDDObjAndPrimarySurface)(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
   15319     END_INTERFACE
   15320   } IVMRImagePresenterExclModeConfigVtbl;
   15321   struct IVMRImagePresenterExclModeConfig {
   15322     CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
   15323   };
   15324 #ifdef COBJMACROS
   15325 #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15326 #define IVMRImagePresenterExclModeConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
   15327 #define IVMRImagePresenterExclModeConfig_Release(This) (This)->lpVtbl->Release(This)
   15328 #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
   15329 #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,dwRenderFlags)
   15330 #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
   15331 #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) (This)->lpVtbl->GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
   15332 #endif
   15333 #endif
   15334   HRESULT WINAPI IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 lpDDObj,LPDIRECTDRAWSURFACE7 lpPrimarySurf);
   15335   void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15336   HRESULT WINAPI IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(IVMRImagePresenterExclModeConfig *This,LPDIRECTDRAW7 *lpDDObj,LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
   15337   void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15338 #endif
   15339 
   15340 #ifndef __IVPManager_INTERFACE_DEFINED__
   15341 #define __IVPManager_INTERFACE_DEFINED__
   15342   EXTERN_C const IID IID_IVPManager;
   15343 #if defined(__cplusplus) && !defined(CINTERFACE)
   15344   struct IVPManager : public IUnknown {
   15345   public:
   15346     virtual HRESULT WINAPI SetVideoPortIndex(DWORD dwVideoPortIndex) = 0;
   15347     virtual HRESULT WINAPI GetVideoPortIndex(DWORD *pdwVideoPortIndex) = 0;
   15348   };
   15349 #else
   15350   typedef struct IVPManagerVtbl {
   15351     BEGIN_INTERFACE
   15352       HRESULT (WINAPI *QueryInterface)(IVPManager *This,REFIID riid,void **ppvObject);
   15353       ULONG (WINAPI *AddRef)(IVPManager *This);
   15354       ULONG (WINAPI *Release)(IVPManager *This);
   15355       HRESULT (WINAPI *SetVideoPortIndex)(IVPManager *This,DWORD dwVideoPortIndex);
   15356       HRESULT (WINAPI *GetVideoPortIndex)(IVPManager *This,DWORD *pdwVideoPortIndex);
   15357     END_INTERFACE
   15358   } IVPManagerVtbl;
   15359   struct IVPManager {
   15360     CONST_VTBL struct IVPManagerVtbl *lpVtbl;
   15361   };
   15362 #ifdef COBJMACROS
   15363 #define IVPManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15364 #define IVPManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   15365 #define IVPManager_Release(This) (This)->lpVtbl->Release(This)
   15366 #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) (This)->lpVtbl->SetVideoPortIndex(This,dwVideoPortIndex)
   15367 #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) (This)->lpVtbl->GetVideoPortIndex(This,pdwVideoPortIndex)
   15368 #endif
   15369 #endif
   15370   HRESULT WINAPI IVPManager_SetVideoPortIndex_Proxy(IVPManager *This,DWORD dwVideoPortIndex);
   15371   void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15372   HRESULT WINAPI IVPManager_GetVideoPortIndex_Proxy(IVPManager *This,DWORD *pdwVideoPortIndex);
   15373   void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   15374 #endif
   15375 
   15376 #if (_WIN32_WINNT >= 0x0601)
   15377 #undef  INTERFACE
   15378 #define INTERFACE IAMAsyncReaderTimestampScaling
   15379 #ifdef __GNUC__
   15380 #warning COM interfaces layout in this header has not been verified.
   15381 #warning COM interfaces with incorrect layout may not work at all.
   15382 __MINGW_BROKEN_INTERFACE(INTERFACE)
   15383 #endif
   15384 DECLARE_INTERFACE_(IAMAsyncReaderTimestampScaling,IUnknown)
   15385 {
   15386     BEGIN_INTERFACE
   15387 
   15388     /* IUnknown methods */
   15389     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
   15390     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
   15391     STDMETHOD_(ULONG, Release)(THIS) PURE;
   15392 
   15393     /* IAMAsyncReaderTimestampScaling methods */
   15394     STDMETHOD_(HRESULT,GetTimestampMode)(THIS_ WINBOOL *pfRaw) PURE;
   15395     STDMETHOD_(HRESULT,SetTimestampMode)(THIS_ WINBOOL fRaw) PURE;
   15396 
   15397     END_INTERFACE
   15398 };
   15399 #ifdef COBJMACROS
   15400 #define IAMAsyncReaderTimestampScaling_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15401 #define IAMAsyncReaderTimestampScaling_AddRef(This) (This)->lpVtbl->AddRef(This)
   15402 #define IAMAsyncReaderTimestampScaling_Release(This) (This)->lpVtbl->Release(This)
   15403 #define IAMAsyncReaderTimestampScaling_GetTimestampMode(This,pfRaw) (This)->lpVtbl->GetTimestampMode(This,pfRaw)
   15404 #define IAMAsyncReaderTimestampScaling_SetTimestampMode(This,fRaw) (This)->lpVtbl->SetTimestampMode(This,fRaw)
   15405 #endif /*COBJMACROS*/
   15406 
   15407 #undef  INTERFACE
   15408 #define INTERFACE IAMPluginControl
   15409 #ifdef __GNUC__
   15410 #warning COM interfaces layout in this header has not been verified.
   15411 #warning COM interfaces with incorrect layout may not work at all.
   15412 __MINGW_BROKEN_INTERFACE(INTERFACE)
   15413 #endif
   15414 DECLARE_INTERFACE_(IAMPluginControl,IUnknown)
   15415 {
   15416     BEGIN_INTERFACE
   15417 
   15418     /* IUnknown methods */
   15419     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
   15420     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
   15421     STDMETHOD_(ULONG, Release)(THIS) PURE;
   15422 
   15423     /* IAMPluginControl methods */
   15424     STDMETHOD_(HRESULT,GetDisabledByIndex)(THIS_ DWORD index,CLSID *clsid) PURE;
   15425     STDMETHOD_(HRESULT,GetPreferredClsid)(THIS_ REFGUID subType,CLSID *clsid) PURE;
   15426     STDMETHOD_(HRESULT,GetPreferredClsidByIndex)(THIS_ DWORD index,GUID *subType,CLSID *clsid) PURE;
   15427     STDMETHOD_(HRESULT,IsDisabled)(THIS_ REFCLSID clsid) PURE;
   15428     STDMETHOD_(HRESULT,IsLegacyDisabled)(THIS_ LPCWSTR dllName) PURE;
   15429     STDMETHOD_(HRESULT,SetDisabled)(THIS_ REFCLSID clsid,BOOL disabled) PURE;
   15430     STDMETHOD_(HRESULT,SetPreferredClsid)(THIS_ REFGUID subType,const CLSID *clsid) PURE;
   15431 
   15432     END_INTERFACE
   15433 };
   15434 #ifdef COBJMACROS
   15435 #define IAMPluginControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15436 #define IAMPluginControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   15437 #define IAMPluginControl_Release(This) (This)->lpVtbl->Release(This)
   15438 #define IAMPluginControl_GetDisabledByIndex(This,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,index,clsid)
   15439 #define IAMPluginControl_GetPreferredClsid(This,subType,clsid) (This)->lpVtbl->GetPreferredClsid(This,subType,clsid)
   15440 #define IAMPluginControl_GetPreferredClsidByIndex(This,index,subType,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,index,subType,clsid)
   15441 #define IAMPluginControl_IsDisabled(This,clsid) (This)->lpVtbl->IsDisabled(This,clsid)
   15442 #define IAMPluginControl_IsLegacyDisabled(This,dllName) (This)->lpVtbl->IsLegacyDisabled(This,dllName)
   15443 #define IAMPluginControl_SetDisabled(This,clsid,disabled) (This)->lpVtbl->SetDisabled(This,clsid,disabled)
   15444 #define IAMPluginControl_SetPreferredClsid(This,subType,clsid) (This)->lpVtbl->SetPreferredClsid(This,subType,clsid)
   15445 #endif /*COBJMACROS*/
   15446 
   15447 #endif /*(_WIN32_WINNT >= 0x0601)*/
   15448 
   15449   extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec;
   15450   extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec;
   15451 /* Begin additional prototypes for all interfaces */
   15452 
   15453 
   15454 /* End additional prototypes */
   15455 
   15456 #ifdef __cplusplus
   15457 }
   15458 #endif
   15459 
   15460 #endif /* __strmif_h__ */
   15461